This is a demo of the reasoning capabilities described
elsewhere. To
work through the demo, you need to have a Quaestor service running
inside a Tomcat server: I'll take that to be running at
http://localhost:8080/quaestor
.
You need at least Quaestor v0.5.
The Quaestor interface is documented on the front page of the
Quaestor server. It uses the HTTP protocol commands to manipulate
then query the server, so you need curl
or some other
tool which can generate HTTP GET
, PUT
and
POST
commands (the wget
program can do
POST
, but not PUT
).
Or write a Java client.
Or you can just talk HTTP yourself, using telnet to port 8080.
First, create a new knowledgebase, with a PUT
command, as follows. Call the knowledgebase `testing', and upload a simple bit of
RDF, contained in the file kb-metadata.ttl
:
% curl --upload-file kb-metadata.ttl \ --header content-type:text/turtle \ http://localhost:8080/quaestor/kb/testing %
Note that we have to tell Quaestor that the input is Turtle, and
not the default RDF/XML. It is also possible to POST a plain text
description at this point (it's equivalent to adding metadata with
only a dc:description
property), but that won't do here,
as the work we want to do below requires us to use a reasoner within
the knowledgebase, and so we must tell Quaestor to configure this, within the
kb-metadata.ttl
file.
The backslashes in this command, by the way, let us break the command onto multiple lines – omit them if you type the command on a single line.
If you add the --verbose
flag to the curl
command line, you will see (instructive?) protocol chatter, as well as
the 204 (no content) return code from the server.
Retrieving the URL http://localhost:8080/quaestor/kb
,
either using curl
or in a web browser, will show you that
you have created this knowledgebase.
Now you can add to the knowledgebase the three sets of assertions
contained in files access-control.owl
,
instances.ttl
and identity.ttl
. Add these to
the knowledgebase submodels ontology
,
people
and identities
respectively (the
names are arbitrary, and you can use alternatives if you wish).
% curl --upload-file access-control.owl \ http://localhost:8080/quaestor/kb/testing/ontology % curl --upload-file instances.ttl \ 'http://localhost:8080/quaestor/kb/testing/people?instances' \ --header content-type:text/turtle % curl --upload-file identity.ttl \ http://localhost:8080/quaestor/kb/testing/identities \ --header content-type:text/turtle %
The two .ttl
files are written in
Turtle;
this is equivalent (in this context) to
Notation 3,
which you may otherwise have heard of.
Since this is not the default MIME type which Quaestor expects, we
must include a Content-Type
header. The
access-control.owl
file, however, is written in the
default RDF/XML serialisation, so we do not need to add a
Content-Type
header to the upload, though it is not
wrong, and generally better, to include it anyway.
The instances.ttl
file is uploaded with a
?instances
query attached – this tells the reasoner that
these are assertions about individuals rather than types; this
distinction is currently important.
The access-control.owl
file expresses an access policy
(you can read it more legibly in the file
access-control.ttl
, and see the class hierarchy, but not
the relevant class definitions, in the image
access-control.png
, obtained from
Protégé). The intent is
that both members of UK instititions and members of the X
Collaboration can see all of the data, and that members of African
countries can see a flagged subset of the data.
If you now look again at http://localhost:8080/quaestor/kb
you will see the
knowledgebase and its submodels listed.
You can retrieve the individual submodels from the Quaestor service:
% curl http://localhost:8080/quaestor/kb/testing/people
will respond with the contents of the people
submodel
in the default RDF/XML format (MIME type application/rdf+xml
),
and if you add --header accept:text/turtle
to the
curl
command, you'll
get it in Turtle again. If you retrieve
http://localhost:8080/quaestor/kb/testing
you'll get the
union of the three submodels.
There are several SPARQL queries in the demo for you to try. The
query access-all.rq
is:
prefix : <http://eurovotech.org/access-control.owl#> select ?person where { ?person a :CanSeeAllData }
You can post this file with an HTTP POST
request:
% curl --header content-type:application/sparql-query \ --data-binary @access-all.rq \ http://localhost:8080/quaestor/kb/testing [...] %
This should respond with an XML document which conforms to the
SPARQL response
scheme. If you add --header accept:text/plain
or
--header accept:text/csv
to the
command, the reasoner will produce a response in the corresponding
format. For example:
curl --header content-type:application/sparql-query \ --data-binary @access-all.rq \ http://localhost:8080/quaestor/kb/testing \ --header accept:text/csv person<EMAIL_ADDRESS>urn:example#Norman urn:example#Guy urn:example#Nelson urn:example#Jonathan %
Compare this with the contents of the instances.ttl
file. Individuals urn:example#Norman
and
urn:example#Guy
can see all the data because they are
members of UK institutions<EMAIL_ADDRESS>can see all the data because he is asserted to be identical with
urn:example#Norman
; Nelson and Jonathan can see all of
the data because they are members of the collaboration; Markus,
Sébastien and Tutankhamun are locked out (sorry!).
There are several other queries you can try:
urn:example#Tutankhamun
can also see the subset, because
he’s at an African<EMAIL_ADDRESS>is allowed to see all the data
(the answer is ‘yes’).
Note that text/csv
isn't an acceptable response format
for an ASK query, so you'll have to use either
application/sparql-results+xml
, which is the default, or text/plain
.construct
query to obtain a query
result in RDF. Only one or other of the RDF types is acceptable as a
response format (the default is, as usual, RDF/XML).Finally, you can delete the knowledgebase with the HTTP
DELETE
command, which you can produce using curl
as follows:
% curl -X DELETE http://localhost:8080/quaestor/kb/testing
Quaestor also has an XML-RPC interface, with an endpoint at
http://localhost:8080/quaestor/xmlrpc
, though it has
rather less functionality at present.
The file xmlrpc-get-model.xml
contains an XML-RPC method call:
<methodCall> <methodName>get-model</methodName> <params> <param><value><string>testing</string></value></param> </params> </methodCall>
You can post this to the server as follows:
% curl --header content-type:text/xml \ --data-binary @xmlrpc-get-model.xml \ http://localhost:8080/quaestor/xmlrpc %
and get a response which simply indicates that you should dereference another URL.
Slightly more useful is the query-model
method,
illustrated in xmlrpc-query-model.xml
. This makes a
SPARQL query against the model, and returns a temporary URL which can be
dereferenced to pick up the query results.
There are SPARQL tutorials at
http://www-128.ibm.com/developerworks/xml/library/j-sparql/
and
http://jena.sourceforge.net/ARQ/Tutorial/
.
The (rather informal) XML-RPC spec is at
http://www.xmlrpc.com/spec
.
Thanks to Tom Doherty for his painstaking debugging of this walkthrough; his pain is your gain!


MiLearn is a streamlined, mobile version of Blackboard iLearn. It is currently available for Android devices.
1.1–Requirements
MiLearn was proposed to be a mobile version of student course information following the structure implemented for two types of users: instructors and students.
Alerts
Instructors can make alerts (announcements).
Students are notified of alerts and can view their content.
Classes
Instructors can view the classes they teach.
Students can view the classes they are enrolled in.
Assignments
Instructors can view and creates assignments.
Students can review/submit their assignments.
Grades
Instructors can update grades in the GUI.
Students can view their grades.
Settings
Instructors and students can personalize the visual interface of MiLearn.
Both types of users can also customize when alert notifications.
1.2–Development Process
During development of MiLearn, we used a Scrum process of development. Our group would meet up at least once a week on Mondays for discussing our contributions towards the project, as well as planning on what part of the project to do next.
What prevented our Scrum process from degenerating into the bug-fix model was rigor. Each week we would test reliability and correctness by creating various regression tests.
By using the Scrum method we had high visibility of our problems and goals each week.
In addition, we took a modular approach towards development. Each group member focused on a different component of the app. This boosted overall group efficiency as we were able to concentrate on one item to do per week instead of several.
One problem was actually getting each component integrated properly each week. Some file writers and other libraries were not supported by Android and we had to find workarounds.
Previous Java classes we wrote had to be reimplemented in order to function properly with Tomcat.
Scalability of the system was tested after a small sample by increasing the database to 103 users, 20 lectures, 5 labs, 20 instructors, 5 lab instructors, and 50 assignments.
1.3–Development Tools Used
In order to build MiLearn, the following languages, tools, and APIs were used.
Languages
Java
Used for actual app developement.
XML
Used for app layout.
JavaScript
Used for displaying data on to screens.
HTML
Used for displaying the screens.
CSS
Used for styling the screens.
Tools
Android Studio
IDE used for developing the Android app.
GitHub
Used for version control.
APIs/Libraries/Frameworks
AWS API
Allows connection to Amazon Web Services
ButterKnife Library
Lets JavaScript functions call Java methods.
Simplifies creation of and mapping methods to buttons.
jQuery Mobile
Framework for mobile web app.
Android Webview
Links the application to the online data hosted on Amazon Web Services.
Android Webkit.JavascriptInterface
Allows for the javascript methods to call on a specified Java method upon the tap of a button.
Bootstrap
Mobile-first framework used for building the Crumb Lords website.
Apache Tomcat 8
Open source implementation of the Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket technologies.
1.4–Current Bugs
Due to the quick development of the project, there are some bugs in the MiLearn app:
Students cannot submit their assignments on the Android app.
1.5–ER Diagram
2–User Manual
This is a quick reference for using the MiLearn app.
For those who wish to know how the MiLearn app, please look here first.
2.1–Logging In/Logging Out
When MiLearn is first opened, the Login screen is brought up. Here, the user will need to insert their username (i.e. UCR NetID) and password.
2.2–Home Screen
Once the user has logged in, they are brought to the Home Screen. This will initially display the "Welcome to MiLearn" screen.
The Home Screen should then display the user's name and any alerts that they may have.
Alerts are coded such that high priority alerts are in red, medium priority in yellow, and low priority in green.
The timing of each priority can be set in the Settings Screen.
2.3–Classes Screen
The Classes Screen displays an accordion for all of the user's classes for the current quarter. The header of each collapsible contains the course number followed by the course section. Inside of each collapsible is the full name of the course.
If the user is a student, then they will see what class(es) that they are enrolled in. In addition the name(s) of the instructor(s) are displayed inside the collapsible.
If the user is an instructor, then they will see what class(es) they are teaching. The collapsible content also includes a list of students that are enrolled in that course.
2.4–Assignments Screen
The Assignments Screen displays an accordion with the assignments ordered by due date (from sooner to later). Each collapsible header has the course that the assignment is for followed by the assignment title.
Students can view what assignments are due for all classes that they are enrolled in. They can also upload a file to turn in for an assignment. Assignment uploads can be done multiple times, but the instructor will only see the most recent submission. Currently, students can only upload one file at a time.
Instructors can create new assignments or edit assignments for any class they teach. This is respectively done through an already existing assignment collapsible or through the "New Assignment" collapsible at the bottom of the list.
2.5–Grades Screen
The Grades Screen displays an accordion with the grades for each assignment in each class.
For students, each collapsible is for a course that they are enrolled in. The collapsible heading indicates which course the student they will be looking in while the content displays (in chronological order), the grades for each assignment.
Instructors each collapsible is for an assignment that they have assigned and is ordered chronologically. Inside each collapsible is the name of the assignment, how many points it was worth, and a table of students' grades for the assignment. The total points and each student grade can be edited.
2.6–Settings Screen
The Settings Screen allows all users to configure the theme of their user interface and the time for priority levels.
A quick guide for themes:
Theme
Description
Default
Generic gray/chrome theme.
Dark
Generic dark theme.
Highlander
Show UCR school spirit.
Go Blind!
For trolls and schmucks only.
Super! Basic!
... why?
Priority levels should reflect the user's feelings about how soon they should begin an assignment or how late they should be when finishing one.
3–Design/Development Process
During the development of MiLearn, each team member took responsibility for developing a component of the MiLearn app. Each member had their own rationale and design process regarding their own component.
The MiLearn app project was split between members such that:
Candice Bantejac
Worked on the user, classes, database, Tomcat, and Java servlets of Milearn.
Vincent Chang
Worked on the Android portion of MiLearn.
Rebecca Hom
Worked on the user interface of MiLearn.
Krissi Mena
Worked on S3, databases associated with assignments, grades, and submissions, and file upload aspects of MiLearn.
The following sections are broken up further into what each member of the project rationale about the portion they picked to work on, what worked, and what features they designed and implemented.
3.1–Candice Bentejac
Rationale
Candice decided to work on the users, classes, login/logout module and the associated PostgreSQL database (hosted on the cloud using Amazon Web Services RDS). Later on during the project, the team had to handle data from several HTML forms to Java: Java Servlets have thus been used, as well as Amazon Web Services EC2, which allowed us to create a virtual machine on which we could install our server. Amazon Web Services S3 has also been used to store data that we could easily access from the cloud.
The goal of the project being to create an Android app, the backend of the application has been entirely coded using Java. We wanted MiLearn to be a complete and easy-to-use alternative to the BlackBoard iLearn mobile app. The users would thus have access to their Classes, Assignments, Grades and would be able to set up alerts with three different priority levels.
Since Rebecca used Javascript to develop the frontend, we needed a way to give her access to the data that we were parsing in Java. To do so, we decided to use JSON files that would be created with Java, sent to the cloud (more precisely, to an S3 bucket) and then parsed by Rebecca's JavaScript.
Candice's tasks consisted of creating Java objects that would represent the users and the classes. Users were divided into three categories: the Students, the Instructors, and the Teaching Assistants. Something similar was done with the Classes, which were divided into Lectures, Laboratories, and Discussions. Users can, depending on their status, be enrolled in a class or teach a class. The Teaching Assistant are both enrolled in and teaching a class.
Another of Candice's goals was to implement the login/logout module.The login module required a direct interaction between the user and the app. For this reason, it was developed in collaboration with Vincent, since he in charge of integrating the code in an Android environment. Vincent designed and implemented the login page, and Candice handled the login verification.
Candice also set up an Amazon Web Services RDS database that used PostgreSQL. She also collaborated with Krissi to maintain this database, and Krissi populated it with some user data.
Despite the resources already available, we very quickly needed to get data from the users to the backend, and decided to use HTML forms to do so. The users would only have to fill in those forms and submit them. Using Java Servlets, we can parse those HTML forms in Java and respond to the user's request - safely storing secure data while avoid corrupting the database. Candice consequently created an Amazon Web Services EC2 instance, setting up a virtual machine and installing Tomcat on it. Servlets were then implemented, stored, configured and mapped on this EC2 instance, on which Tomcat runs continuously.
What Worked
Candice implemented User and Classes classes, which were linked to the Login class, that Vincent integrated into the Android environment. Those Java classes allowed JSON files to be automatically generated and stored as soon as a user was logged in. Many libraries were integrated into the project to handle the database requests and to use Java Servlets. Java Servlets were used to treat data sent by users, and to regenerate certain JSON files when the context justified it. Amazon Web Services tools that were constantly used were also integrated to the code.
Retrieving data from the database and generating the corresponding JSON files that could be read by Rebecca's code was the main challenge, since all the the user interface relied on the correctness of those JSON files.
Features Designed and Implemented
Users and Classes
Creation and setting up of a RDS PostgreSQL database
Candice created a class called DBManager that contained basic and more advanced SQL operations.
Krissi populated the database.
Made User and Class classes interact with the database.
Creation and setting up of a S3 instance
Rebecca created the first bucket and Krissi created a class making the use of this instance (especially the upload/downloads operations) way easier and clearer.
The Amazon Web Services libraries were used a lot to send freshly generated JSON files to the cloud.
Creation and setting up of a EC2 instance
Installed Tomcat 8 on an Amazon virtual machine
Created Java Servlets that were parsing data retrieved from HTML forms and treating it afterwards.
Created a Java Servlet that handles uploading files to S3.
Handled JSON files regeneration when the database is updated.
Login module
Created login class that uses User and Class classes.
"Merged" the JSON files generation for User and Class.
Automated JSON generation when a user logs in.
Checked the user's input and determined whether they had the correct credentials or not. All associated data was generated if the credentials were accepted. Otherwise the connection was rejected.
Vincent integrated this module to the Android environment.
3.2–Vincent Chang
Rationale
Vincent chose to work on the Android implementation due to prior experience working with Android development.
He also split each page of the application into three separate activities. These consisted of the Login page, a Webview (the main MiLearn) page, and a page that went to the team's website.
This relates to modularization as it minimized the amount of errors per activity. It also allowed for bugs to be more localized to a specific activity.
What Worked
Vincent managed to incorporate Java calls to JavaScript methods within the Webview portion of the app. This allowed for the app to interact with AWS services.
Features Designed and Implemented
Android application
Designed and implemented the login page.
However Candice handled the login verification.
MiLearn page
Created an interactive relationship between Webview and the web UI.
Used JavaScriptInterface from WebKit library to properly call logout code in Java upon pressing the Logout button within the web UI.
Locked the user on to the main page via no back button functionality, such that the user would have to press the Logout button within the UI to properly exit.
Website page
Created a new Webview activity that displays the team website.
MiLearn logo
Crumb Lords logo
3.3–Rebecca Hom
Rationale
Rebecca decided to work on the user interface due to having previous experience working with implementing designs using JavaScript. Although it was possible to use Android development to create the user interface, using jQuery Mobile was allowed for a more efficient use of her skillset and it came with icons that could be used on the app.
Since MiLearn is a simplified version of Blackboard iLearn, Rebecca arranged the essential functions into an intuitive design. This accomplished two things: retaining the simplicity of the app and splitting up each function into its own section. In turn, each of these sections could be styled and displayed as distinctly as possible. For the MiLearn app, the user would be able to access a Home screen, Classes, Assignments, Grades, and Settings. Each of those sections have JavaScript functions that generate the data to display from the database.
It was also decided that the data displayed for a user would be taken from fixed JSON files. Each of these JSON files had fixed names and attributes for efficient parsing and displaying using JavaScript. These files would also be consistent for each user and user level which allowed for easily cached information and reduced the need to do new queries to the database.
Also it was decided that a set of collapsibles would be used for Classes, Assignments, and Grades. This would hide information pertaining to a topic heading. In turn, this would be more efficient for the user as they would be able to scroll through headings to get what they needed instead of (potentially) large blocks of information.
Alerts were added to the Home screen as a way to increase MiLearn's functionality as a mobile organizer. The user would be able to set three different alarm priority levels. These could be used as a buffer for the user to guage how much time they have left to do an assignment. In addition, themes for the user interface were included. This would allow the user to somewhat customize MiLearn for their own use.
Users were also split into two groups: students and instructors. The HTML page was then split into separate dividers to allow for either of those groups or a combination of them to use the app. HTML forms were used as a security feature for users modifying the database. This was to allow for input sanitation to prevent users from corrupting the database.
What Worked
Rebecca implemented an HTML page that contained all of the screens for main MiLearn app that allowed for the screens to change using JavaScript.
In addition changing the screens, JavaScript was also used to parse the JSON files to display the data elements into their certain arrangements depending on what screen was used.
JavaScript was also used to interact with Java to retrieve user information and move in and out from the Android app.
Features Designed and Implemented
MiLearn page
Home Screen
Welcome screen with image.
Alerts for assignments that are due within a certain period of time.
Classes
Created a screen that displayed the current quarter of the class.
Showed the classes that the user was enrolled in and/or teaching in a collapsible set.
Assignments
Created a file upload form for student users to turn in files from their mobile device.
Created an HTML form for instructor users to either create new assignments or modify existing assignments.
Grades
Created a tabular HTML form so that instructor users could input grades for each assignment they created.
Allowed student users to view the overall number of points they have for a class and the grade for individual assignments.
Settings
Used JavaScript to allow users to change their user interface theme and the different alarm priority levels.
Crumb Lords website
Added in HTML version of documentation.
Built site to present information about MiLearn project.
3.4–Krissi Mena
Rationale
Krissi decided to work on assigments, submissions, grades, Amazon S3 data management, and their associated databases. Seperation of concerns aided in modularization, but the difficulty in decoupling from one another ultimately resulted in the grouping of such tasks. By working on this set, important aspects shared among them permitted a level of abstraction for refined implementations and clearer dicussions with the team.
What Worked
Java implementation of assignments, submissions, grades integrated with sql libraries and Amazon S3/database worked to sucessfully update the database and files simultaneously on s3, but it required more restriction than anticipated due to using Tomcat for processing forms.
Features Designed and Implemented
Assignments, Grades, and Submissions
Creation of associated databases and defined such interations.
Used the PostgreSQL library to execute database functionality.
Candice formalized the process with a single class handling database operations.
Creation and of Implementation S3 class general enough for all modules to use
Used the AWS library to interface with bucket data.
Refresh functions
Created for each class above to refresh data when it is modified to display accurate content when demanded


The goal for this project was to use the Google Maps API to locate particular locations around the world. I decided to pinpoint the tallest mountains all arround the world. This was a solo project and took me a little over a week to complete. I located the tallest 20-30 mountains that I found using information I found online. For each mountain, there was a icon in which you can click on. The information presented when you clicked on it was the name, altitude, picture, and a link to more information about that particular mountain. The most difficult part about the project was resizing the mountain icon so that it was visible on the map, but not to large in which it would overlap on other mountains. You can view the project HERE!
Screenshot of the inital map and home screen
Each individual tag represents a very tall mountain!
Each mountain has the name, altitude, and link to a page with more info.
The map with the satellite setting turned on!
Source where I got most of my information!
Some of the JavaScript I used for this project.


It looks like you are setting up PupDeploy for the first time, lets get started!
We need to set up an admin user that will have full access to everything.
We also need to define the global configurations.
Though there aren't actually any yet...
We hope you enjoy using PupDeploy.
There was an error finishing the setup:
Error: {{vm.setupError}}


{% extends 'marketplace/org.html' %} {% block tabcontents %}
{% if organization.is_volunteer_group %} Do you want to become a part of this volunteer group? Send a membership request so the administrators can add you as a member. {% else %} Are you part of this organization? Send a membership request so the administrators can add you to the organization's staff. {% endif %}


56yo Physics Professor From Prestigious University Caught Red-Handed Stealing Panties
by Husna HalimTap to listen to this article instead: 🔊 Listen to Post
OMG! How desperate can one get? Or is it a genius thing to act weirdly?
According to The Star, a top university’s nanotech professor in Tokyo, Japan was arrested because he was caught stealing underwear. The pair he got caught stealing even belong to someone popular, he just saw it hanging outside a residence and took it. It’s such a hanky-panty business.
The 56-year-old professor from Keio University reportedly took a pair of bra and panties hanging on the outside of someone’s first-floor balcony last Sunday (Nov 17th).
Thankfully, the owner’s husband saw Shiratori in the middle of his endeavour and shouted “Thief!”, which lead to him running along the Ichikawa City street before the police captured him a few hundred meters away from the house.
Reports confirmed that the man took RM15.34 (¥400) worth of undergarments.
Making things easier though, the professor admitted his crime gallantly, saying, “There is no question, I stole [the] underwear.”
What’s more shocking is that the professor actually has quite a few accomplishments to his name. He is a professor at the Department of Applied Physics and Physico-Informatics at Keio University, one of the oldest private universities in Japan. He even founded Shiratori Nanotechnology.
Faced with this outrageous situation, Keio University decided to issue a statement: “It is very regrettable that one of our faculty members was arrested. We are currently confirming the facts and will take strict measures.”
It sounds gross that a man with such a reputation would do something that will ruin his image forever. Is this really the first case?
Also read: Pervert Tries to Take Photo of Lady’s Chest on MRT, Pretends to Take Selfie When Confronted


If you test your app via {{ command( 'sbt run' ) }} during the development process, the app is automatically signed with a debug certificate. This does obviously not suffice in order to publish to the Google Play platform. When your app is ready for prime time and your Google Developer Account is set up, then it's about time to sign the {{ command( '*.apk' ) }} with the help of {{ names.abbr( 'sbt' ) }}.


Signal of linux
Definition:
- System calls: communication chanel between user space program and kernel
- Signals: a different channel, used for inter-process communication
- Signals don’t carry any agrgument, they are self explanatory by their name
- Some signals identified by a number, ie
SIGKILL
(9) - That’s why we use
kill -9 <PID>
to kill a process, because the kill command will send a defined signal to a process with a given identity<PID>
- when we run
kill -9 <PID>
command, that process is not terminate itself, instead we’re telling that OS to stop running the program, no matter what the program is doing
Some useful signals
SIGINT
: is the program interrupt signal. When user pressesCTRL+C
, the terminal emulator sends this signal to the foreground process, it will terminate process, but it can be caught or ignored, it a graceful shutdownSIGTERM
: is the termination signal. It used to cause process termination, this signal can be blocked, handled and ignored. It is the normal way to ask a process to terminate. Thekill
command generates SIGTERM by defaultSIGKILL
: is an immediate termination signal. It cannot be caught or ignored by the process, because when we send aSIGKILL
to a proces, we remove any chance for that process to do a tidy cleanup and shutdown.
For example, when a process does not die by using Ctrl+C
(SIGINT), we should use the command kill -9
on that process PID
-
SIGSTOP
: is a process suspend signal, which tells the OS to stop/suspend a process. This signal cannot be caught or ignored. To resume the process, use SIGCONT signal to continue -
Ctrl+C
: The interrupt signal, sendsSIGINT
to the job running in the foreground.
When a process is in a limbo state it is reasonable to send the process the SIGKILL
signal, which can be invoked by running the kill command with the -9 flag. Unlike SIGTERM
the SIGKILL
signal cannot be captured by the process and thus it cannot be ignored. The SIGKILL
signal is handled outside of the process completely, and is used to stop the process immediately. The problem with using SIGKILL
is that it does not allow an application to close its open files or database connections cleanly and over time could cause other issues; therefor it is generally better to reserve the SIGKILL
signal as a last resort.
Reference & Read more
- http://bencane.com/2014/04/01/understanding-the-kill-command-and-how-to-terminate-processes-in-linux/
- https://en.wikipedia.org/wiki/Unix_signal
- http://unix.stackexchange.com/questions/149741/why-is-sigint-not-propagated-to-child-process-when-sent-to-its-parent-process
- http://askubuntu.com/questions/890591/why-doesnt-ctrl-c-kill-the-terminal-itself/890597
- https://www.shellscript.sh/
- https://www.win.tue.nl/~aeb/linux/lk/lk-5.html
- https://lasr.cs.ucla.edu/vahab/resources/signals.html
- http://www.linuxprogrammingblog.com/all-about-linux-signals?page=show
- ftp://ftp.gnu.org/old-gnu/Manuals/glibc-2.2.3/html_chapter/libc_24.html
- http://askubuntu.com/questions/184071/what-is-the-purpose-of-the-9-option-in-the-kill-command
- https://www.digitalocean.com/community/tutorials/how-to-use-ps-kill-and-nice-to-manage-processes-in-linux
- https://s905060.gitbooks.io/site-reliability-engineer-handbook/content/signals.html
- http://bencane.com/2014/04/01/understanding-the-kill-command-and-how-to-terminate-processes-in-linux/
- https://major.io/2010/03/18/sigterm-vs-sigkill/


| Figure 1 |
Compilation of published atmospheric pCO 2 reconstructions c ... |
| Figure 2 |
Selected 216 palynological sites covering the EOT. Blue circ ... |
| Figure 3 |
Global palaeo-biome reconstructions for the Priabonian and R ... |
| Figure 4 |
Changes in the Jaccard Similarity of ten pollen records that ... |
| Figure 5 |
Regional composite (multi-site) Mean Annual Temperature Rang ... |
| Figure 6 |
Methodological flow diagram showing the steps taken to produ ... |


month
alli simone defeo
alli simone defeo is a traveling poet, visual artist, and curator/editor of glo worm press. they carry 25 stones in their backpack because they are a magician. they are known as the fastest poet alive. find them tweeting @atreewithagrape.


{% include 'header.html' %}
You will receive an email very soon containing your PIN code
Fill in the form below to register a new resource
You will receive a PIN code that will allow you to update this information anytime


|
|
Arduino-compatible software library for FRDM-KL25Z board |
0 |
2 years 4 weeks ago by Robert Wall |
n/a |
|
|
Anyone got a new Raspberri Pi B+ working? |
26 |
2 years 30 weeks ago by wbortz |
2 years 4 weeks ago by raspiprof |
|
|
emoncms time-of-day filter process |
10 |
2 years 51 weeks ago by Schism |
2 years 4 weeks ago by chaveiro |
|
|
How to change the feed interval later |
3 |
2 years 4 weeks ago by brutzler |
2 years 4 weeks ago by Paul Reed |
|
|
cloning dashboards (solved) & manipulate order of dashboards in the headline (unsolved) |
4 |
2 years 5 weeks ago by brutzler |
2 years 4 weeks ago by brutzler |
|
|
Deleting Dashboards v8.4.0 |
4 |
2 years 4 weeks ago by Paul Reed |
2 years 4 weeks ago by pb66 |
|
|
Daily Power direct from meter readings |
0 |
2 years 4 weeks ago by Scfnet |
n/a |
|
|
Get data from emoncms |
9 |
3 years 8 weeks ago by ilnandonazio |
2 years 5 weeks ago by jsokhn |
|
|
Shared Linux Hosting - index.php gives no response |
6 |
2 years 5 weeks ago by Guest |
2 years 5 weeks ago by Bill Thomson |
|
|
Emoncms midnight |
1 |
2 years 5 weeks ago by David46 |
2 years 5 weeks ago by Paul Reed |
|
|
Spurious RF sent to emoncms |
21 |
2 years 6 weeks ago by mattwire |
2 years 5 weeks ago by mattwire |
|
|
install EmonCMS on Synology |
1 |
2 years 7 weeks ago by yphyph |
2 years 5 weeks ago by yphyph |
|
|
Is it possible to use feed time for calculations with pulsecounter? |
0 |
2 years 5 weeks ago by filartrix |
n/a |
|
|
How to process kWh pulses in emoncms |
4 |
3 years 14 weeks ago by fredrike |
2 years 5 weeks ago by filartrix |
|
|
help with file_get_contents php scripting |
2 |
2 years 7 weeks ago by nihonjin |
2 years 5 weeks ago by Paul Reed |
|
|
EmonCMS feed shows no data ("inactive") |
9 |
2 years 24 weeks ago by darthrooster |
2 years 5 weeks ago by solarsis |
|
|
Setting up emonhub + emoncms on Hard Drive |
12 |
2 years 5 weeks ago by Ian Eagland |
2 years 5 weeks ago by pb66 |
|
|
alphanumeric input-field in dashboards possible? |
1 |
2 years 5 weeks ago by brutzler |
2 years 5 weeks ago by brutzler |
|
|
[SOLVED] Running Emonhub, emoncms on Laptop with Jeelink |
6 |
2 years 5 weeks ago by hatfieldr |
2 years 5 weeks ago by hatfieldr |
|
|
Check to see if Redis server is running. |
1 |
2 years 5 weeks ago by anjur |
2 years 5 weeks ago by anjur |
|
|
Editing Data Points on Emoncms |
11 |
2 years 6 weeks ago by boardgamer |
2 years 5 weeks ago by pb66 |
|
|
Getting back actual time from emoncms |
3 |
2 years 5 weeks ago by brutzler |
2 years 5 weeks ago by brutzler |
|
|
Changing graphs in emoncms? |
1 |
2 years 5 weeks ago by dallaskincaid |
2 years 5 weeks ago by TrystanLea |
|
|
firsttime installation problems |
9 |
2 years 40 weeks ago by haden |
2 years 6 weeks ago by pb66 |
|
|
Cannot add visualisations to dashboard [SOLVED] |
1 |
2 years 6 weeks ago by MikeF |
2 years 6 weeks ago by MikeF |
|
|
backup emoncms.org account to local bufferwrite emoncms (v8.4.0, bufferedwrite:0.0.2) |
2 |
2 years 6 weeks ago by mariuso |
2 years 6 weeks ago by mariuso |
|
|
emoncms package not found when installing using apt-get on Debian7 |
4 |
2 years 14 weeks ago by jandkw99 |
2 years 6 weeks ago by pb66 |
|
|
Daily graphs not displaying correct date |
2 |
2 years 6 weeks ago by Paul Reed |
2 years 6 weeks ago by Paul Reed |
|
|
calcIrms - initialising sampleI |
2 |
2 years 6 weeks ago by chacal |
2 years 6 weeks ago by Robert Wall |
|
|
error: expected ',' or '...' before numeric constant (FIXED) |
1 |
2 years 7 weeks ago by Ian Eagland |
2 years 6 weeks ago by Robert Wall |
|
|
event module not working for "reduces by" or "increases by" patterns |
2 |
2 years 7 weeks ago by jsokhn |
2 years 7 weeks ago by Keen2bGreen |
|
|
Install emoncms on Debian |
2 |
2 years 7 weeks ago by Guest |
2 years 7 weeks ago by Guest |
|
|
dashboard -> "List view"-icon not visible |
3 |
2 years 7 weeks ago by brutzler |
2 years 7 weeks ago by pb66 |
|
|
emonhub warning: RX data length: 12 is not valid for datacodes ['l', 'h', 'h', 'h'] |
3 |
2 years 7 weeks ago by jvda |
2 years 7 weeks ago by pb66 |
|
|
Beeing able to get the date but not the time from the feed |
5 |
2 years 7 weeks ago by jsokhn |
2 years 7 weeks ago by pb66 |
|
|
configuring emonhub with jeenodes |
4 |
2 years 11 weeks ago by adonis |
2 years 7 weeks ago by adonis |
|
|
PHPFiwa delete range and edit interval |
0 |
2 years 7 weeks ago by bettinz |
n/a |
|
|
HDD stopt |
0 |
2 years 7 weeks ago by geurink33 |
n/a |
|
|
emonCMS: combine feeds |
9 |
2 years 7 weeks ago by IngmarVerheij |
2 years 7 weeks ago by IngmarVerheij |
|
|
Daemon Not Working |
2 |
2 years 7 weeks ago by tilik |
2 years 7 weeks ago by tilik |
|
|
Emonhub failing? |
15 |
2 years 9 weeks ago by David46 |
2 years 7 weeks ago by David46 |
|
|
Emoncms.org site failed to publish dashboard view in public mode |
3 |
2 years 7 weeks ago by amilab |
2 years 7 weeks ago by Paul Reed |
|
|
Adding own widgets (cylinder with 6 temperature-feeds) |
2 |
2 years 7 weeks ago by brutzler |
2 years 7 weeks ago by sumnerboy |
|
|
Hosting linux problem |
22 |
2 years 8 weeks ago by truzzman |
2 years 7 weeks ago by Robert Wall |
|
|
Automated Test Framework for Unit, integration and system test? |
5 |
2 years 7 weeks ago by andreasm_dk |
2 years 7 weeks ago by Robert Wall |
|
|
kWh feeds corrupted after Raspberry Pi reboot - prevention |
2 |
2 years 8 weeks ago by bradtpt |
2 years 8 weeks ago by bradtpt |
|
|
emoncms - redis error |
1 |
2 years 8 weeks ago by engeeaitch |
2 years 8 weeks ago by engeeaitch |
|
|
Emonhub - expand file system |
1 |
2 years 8 weeks ago by jdr0berts |
2 years 8 weeks ago by pb66 |
|
|
ERROR: Feed could not be created, undefined [SOLVED] |
2 |
2 years 9 weeks ago by allmac |
2 years 9 weeks ago by allmac |
|
|
Vulnerability announced: update your Git clients |
0 |
2 years 9 weeks ago by Robert Wall |
n/a |


org.opensaml.security.x509.tls.impl
Classes
BasicClientTLSValidationConfiguration
BasicClientTLSValidationParametersResolver
StaticX509CredentialKeyManager
ThreadLocalX509CredentialContext
ThreadLocalX509CredentialKeyManager


A B C E G I L N O R S T U V
All Classes All Packages
All Classes All Packages
All Classes All Packages
A
- ADDITION - net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult.LibraryEntry.LibraryChangeType
- addResult(BuildFileAnalysisResult) - Method in class net.ssehub.comani.analysis.librarychange.diff.AnalysisResult
- AnalysisResult - Class in net.ssehub.comani.analysis.librarychange.diff
- AnalysisResult() - Constructor for class net.ssehub.comani.analysis.librarychange.diff.AnalysisResult
- analyze() - Method in class net.ssehub.comani.analysis.librarychange.core.LibraryChangeAnalysis
- analyze() - Method in class net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalyzer
- analyze() - Method in class net.ssehub.comani.analysis.librarychange.diff.GradleBuildFileAnalyzer
- analyze() - Method in class net.ssehub.comani.analysis.librarychange.diff.LibraryChangeAnalyzer
-
Analyze the artifacts changed by the given commit.
B
- BuildFileAnalysisResult - Class in net.ssehub.comani.analysis.librarychange.diff
- BuildFileAnalysisResult(String, List<BuildFileAnalysisResult.LibraryEntry>) - Constructor for class net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult
- BuildFileAnalysisResult.LibraryEntry - Class in net.ssehub.comani.analysis.librarychange.diff
- BuildFileAnalysisResult.LibraryEntry.LibraryChangeType - Enum in net.ssehub.comani.analysis.librarychange.diff
- BuildFileAnalysisResult.LibraryEntry.LibraryInformation - Class in net.ssehub.comani.analysis.librarychange.diff
- BuildFileAnalyzer - Class in net.ssehub.comani.analysis.librarychange.diff
- BuildFileAnalyzerFactory - Class in net.ssehub.comani.analysis.librarychange.diff
- BuildFileAnalyzerFactory() - Constructor for class net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalyzerFactory
C
- createBuildFileAnalyzer(ChangedArtifact) - Static method in class net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalyzerFactory
E
- equals(Object) - Method in class net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult.LibraryEntry.LibraryInformation
G
- getCommitId() - Method in class net.ssehub.comani.analysis.librarychange.diff.AnalysisResult
- getCurrentLibrary() - Method in class net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult.LibraryEntry
- getDependencyType() - Method in class net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult.LibraryEntry.LibraryInformation
- getGroup() - Method in class net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult.LibraryEntry.LibraryInformation
- getIdentifier() - Method in class net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult.LibraryEntry.LibraryInformation
- getLibraryChanges() - Method in class net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult
- getLibraryChangeType() - Method in class net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult.LibraryEntry
- getPreviousLibrary() - Method in class net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult.LibraryEntry
- getResult() - Method in class net.ssehub.comani.analysis.librarychange.diff.LibraryChangeAnalyzer
-
Returns the result of analyzing the given commit.
- getResults() - Method in class net.ssehub.comani.analysis.librarychange.core.LibraryChangeAnalysis
-
Returns the analysis results.
- getResults() - Method in class net.ssehub.comani.analysis.librarychange.diff.AnalysisResult
- getVersion() - Method in class net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult.LibraryEntry.LibraryInformation
- GradleBuildFileAnalyzer - Class in net.ssehub.comani.analysis.librarychange.diff
- GradleBuildFileAnalyzer(ChangedArtifact) - Constructor for class net.ssehub.comani.analysis.librarychange.diff.GradleBuildFileAnalyzer
I
- isSameLibrary(BuildFileAnalysisResult.LibraryEntry.LibraryInformation) - Method in class net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult.LibraryEntry.LibraryInformation
- isSameLibraryInDifferentVersion(BuildFileAnalysisResult.LibraryEntry.LibraryInformation) - Method in class net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult.LibraryEntry.LibraryInformation
- isSameLibraryInSameVersion(BuildFileAnalysisResult.LibraryEntry.LibraryInformation) - Method in class net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult.LibraryEntry.LibraryInformation
L
- LibraryChangeAnalysis - Class in net.ssehub.comani.analysis.librarychange.core
-
This class represents the main class of this analyzer.
- LibraryChangeAnalysis(Properties, IAnalysisQueue) - Constructor for class net.ssehub.comani.analysis.librarychange.core.LibraryChangeAnalysis
-
Create a new instance of this analyzer.
- LibraryChangeAnalyzer - Class in net.ssehub.comani.analysis.librarychange.diff
-
This class represents a general diff analyzer, which checks the changes to different types of artifacts with respect to their impact on the dead code analysis.
- LibraryChangeAnalyzer(String, String, Commit) - Constructor for class net.ssehub.comani.analysis.librarychange.diff.LibraryChangeAnalyzer
-
Construct a new
LibraryChangeAnalyzer
. - LibraryEntry(BuildFileAnalysisResult.LibraryEntry.LibraryInformation, BuildFileAnalysisResult.LibraryEntry.LibraryInformation) - Constructor for class net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult.LibraryEntry
- LibraryInformation(String, String, String, String) - Constructor for class net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult.LibraryEntry.LibraryInformation
N
- net.ssehub.comani.analysis.librarychange.core - package net.ssehub.comani.analysis.librarychange.core
-
This package contains the core class for starting this analyzer.
- net.ssehub.comani.analysis.librarychange.diff - package net.ssehub.comani.analysis.librarychange.diff
-
This package contains all classes for analyzing the
Commit
s. - NO_CHANGE - net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult.LibraryEntry.LibraryChangeType
O
- operatingSystemSupported(String) - Method in class net.ssehub.comani.analysis.librarychange.core.LibraryChangeAnalysis
R
- REMOVAL - net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult.LibraryEntry.LibraryChangeType
- REPLACEMENT - net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult.LibraryEntry.LibraryChangeType
S
- setCommitId(String) - Method in class net.ssehub.comani.analysis.librarychange.diff.AnalysisResult
T
- toString() - Method in class net.ssehub.comani.analysis.librarychange.diff.AnalysisResult
- toString() - Method in class net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult.LibraryEntry.LibraryInformation
- toString() - Method in class net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult.LibraryEntry
- toString() - Method in class net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult
U
- UNDEFINED - net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult.LibraryEntry.LibraryChangeType
V
- valueOf(String) - Static method in enum net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult.LibraryEntry.LibraryChangeType
-
Returns the enum constant of this type with the specified name.
- values() - Static method in enum net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult.LibraryEntry.LibraryChangeType
-
Returns an array containing the constants of this enum type, in the order they are declared.
- VERSION_CHANGE - net.ssehub.comani.analysis.librarychange.diff.BuildFileAnalysisResult.LibraryEntry.LibraryChangeType
- versionControlSystemSupported(String) - Method in class net.ssehub.comani.analysis.librarychange.core.LibraryChangeAnalysis
All Classes All Packages


Accessible design is a process that addresses the needs of people with disabilities. Websites that have been designed with accessibility in mind are able to interface with devices that allow users with visual, auditory, cognitive, and physical disabilities to navigate the Internet. Most websites currently have accessibility barriers that make it difficult for people with disabilities to use the Internet. Designing for accessibility enables more people to use and contribute to the World Wide Web.
Designing for accessibility also benefits people without disabilities by making websites flexible to meet different user needs. Varying needs could include temporary disabilities, changing abilities due to aging, or slow Internet connection. As the Internet continues to grow and become more deeply engrained in society, so too does the need for accessible design.
One potential way that we can increase accessibility is by developing techniques and guidelines that standardize accessibility requirements. Another way is to develop software that helps developers produce and evaluate accessible websites. The final way that accessibility can be improved is by creating a way to quickly and easily fix inaccessible websites.


Register as a client :-
Enter the details required below.
Full Name
Date of birth
Current Company
Current Location
Last Employer
Skill
Android
Business Leaders
System Software
Validation-Verification
JAVA
DOTNET
Infrastructure
Hardware
ERP
BigData
Years of Experience
Designation
made with


Social login allows you to use your existing login information from another site, such as Facebook or Google, to sign in to NYTimes.com.
Social login is not required. You can also register using your email address.
Yes. To do so, log in to your New York Times account, visit the My Account area and click Link Facebook or Link Google.
For more information, see How do I connect my Facebook or Google account with my New York Times account?
We will not share your information or post to your social networks without your permission.
Currently, you cannot create an account with social login on New York Times mobile apps. If you have already created an account through social login and would like to log in to our mobile apps, you can do this by resetting your password at www.nytimes.com/forgot. You can then log in with your email address and your new password.
There are two ways to connect your Facebook or Google account with your existing New York Times account.
While logged in to your New York Times account:
While on the NYTimes login page:
Yes. If you would like to delink your accounts, log in to your New York Times account, visit the My Account area and click Delink.
If you created an account with a social networking site to access The New York Times, you can still delink your accounts. However, you must reset your password at www.nytimes.com/forgot and log in with your email address and new password to access your New York Times account in the future.
Verify that you are using the Facebook or Google account that you linked with your New York Times account. If you are still unable to access your account, please contact NYTimes Customer Care.


Code Completion
There are two main types of code completion that can be provided by custom language plugins: reference completion and contributor-based completion.
Reference completion is easier to implement, but supports only the basic completion action. Contributor-based completion provides more features, supports all three completion types (basic, smart and class name) and can be used, for example, to implement keyword completion.
Reference Completion
To fill the completion list, the IDE calls
PsiReference.getVariants()
either on the reference at the caret location or on a dummy reference that would be placed at the caret.
This method needs to return an array of objects containing either strings,
PsiElement
instances or instances of the
LookupElement
class (see Lookup Items below).
If a
PsiElement
instance is returned in the array, the completion list shows the icon for the element.
The most common way to implement getVariants()
is to use the same function for walking up the tree as in
PsiReference.resolve()
,
and a different implementation of
PsiScopeProcessor
which collects all declarations passed to its processDeclarations()
method and returns them as an array for filling the completion list.
Contributor-based Completion
Implementing the
CompletionContributor
interface gives you the greatest control over the operation of code completion for your language.
The core scenario of using
CompletionContributor
consists of calling the extend()
method and passing in the pattern specifying the context in which this completion variant is applicable, as well as a completion provider which generates the items to show in the completion list.
Keep in mind that the pattern is checked against the leaf PSI element. If you
want to match a composite element, use withParent()
or withSuperParent()
methods.
Examples:
CompletionContributor
for completing keywords in MANIFEST.MF files.- Custom Language Support Tutorial: Completion Contributor
Lookup Items
Items shown in the completion list are represented by instances of the
LookupElement
interface.
These instances are normally created through the
LookupElementBuilder
class.
For every lookup element, you can specify the following attributes:
- Text. Shown left-aligned.
- Tail text. Shown next to the main item text, is not used for prefix matching, and can be used, for example, to show the parameter list of the method.
- Type text. Shown right-aligned in the lookup list and can be used to show the return type or containing class of a method, for example.
- Icon
- Text attributes. Bold, Strikeout, etc.
- Insert handler. The insert handler is a callback which is called when the item is selected, and can be used to perform additional modifications of the text (for example, to put in the parentheses for a method call)