When editing a file HexEdit behaves much like a word-processor or editor. You can move the cursor around using the keyboard or the mouse (see Moving Around). You can select text with the keyboard or mouse and cut, paste etc (see Selecting and the Clipboard).
One difference is that there are two separate areas for editing – the hex area and the character area (although either area can be disabled). You can enter any byte value in the hex area but only by typing two hex digits – HexEdit beeps if you type any other characters. On the other hand you can only enter text charcaters (ASCII or EBCDIC) in the character area.
To quickly switch between the areas use the Tab key.
Modes
There are two sets of toggled states that affect editing behaviour. The first toggles between read-only and read-write modes; the 2nd toggles between overtype and insert modes.
If you are in read-only mode then you cannot modify the file at all. This mode is separately controllable for each window so you can have two windows on the same file in different modes. But if the file itself is opened read-only then all windows for the file must remain read-only. The RO/RW indicator on the status bar indicates the current mode – you can double-click this indicator to toggle the state.
The Insert/Overtype mode is changed (similarly to the read-only mode) by double clicking the INS/OVR status bar indicator toggles the state. Both modes have uses and limitations as explained below..
In insert mode the length of the file may change. As you enter bytes the following ones are shifted forward. Similarly deleting, cutting etc removes data and shifts the following bytes backward. But in overtype mode existing bytes are never moved, instead changing bytes destroys their previous value. Further if you try to delete or cut to the clipboard in overtype mode HexEdit asks if you want to switch to insert mode. Pasting in overtype mode asks if you want to overwrite or switch to insert mode.
In many types of binary files it is essential that any changes do not move bytes around and the length of the file does not change – for safety always edit these types of files in overtype mode. Another problem with insert mode is that if you insert or deletes bytes near the start of a very large file then the whole file needs to be rewritten which may take a lot of time.
On the other hand it is often very useful to be able to insert bytes within a binary file. Also, to add to the end of a file you must be in insert mode.
Undo
When you make changes to a file, HexEdit keeps track of these changes and allows you to undo them. In fact HexEdit uses this undo information plus the original file on disk to show you what the file is currently like. This means that you can quickly edit very large files since, unlike many editors, the whole file does not have to be read into memory (or some sort of virtual memory). But this system does have the disadvantage that you cannot undo changes that were made before you last saved the file to disk. Also as you make more and more changes the display takes longer and longer to regenerate -- but this is not normally a problem unless you run a macro or replace operation that makes lots of changes.
As well as a file-level undo, which keeps track of changes to the file, HexEdit also has a window-level undo that keeps track of cursor movement, changes made to the display etc. However, since changes made to the file can affect the display in another window for the same file HexEdit must take special precautions to keep its internal structures consistent. If you undo a change to the file in one window, all display changes in other windows on that file are undone back to the point in time when the original file change was made. Moreover, if you try to undo back past a change made in another window HexEdit will ask you if you really want to undo the change.
Change Tracking
HexEdit can show all the changes you have made to a file, since you opened (or last saved) it. It shows where bytes have been replaced, inserted and deleted. Note that, it does not show how the changes were made - for example, if you delete 20 bytes then insert 20 bytes at the same location then this will be shown as 20 bytes having been replaced, since that is the effective difference with what is stored on disk.
Replacements are shown with a red underline, insertions with a (lighter shade of) red background, and deletions are marked with a red block at the deletion points. In the hex area the deletion also shows a count of the number of bytes deleted when it is less than 10. The change tracking color can be changed from the default of red by changing it in the current color scheme using the Color Options page of the Options dialog.
Display of change tracking can be toggled using the button on the Edit Bar, or using the check boxes in the Document Edit Options page of the Options dialog.
File Handling
HexEdit behaves like many Windows programs, such as word-processors, when it comes to the opening, closing, saving etc of files. The only difference is that instead of HexEdit being associated with a particular type of “document”, you can work with any type of file. In the File Open Dialog you will see (by default) all files, since the default file type is “All Files (*.*)”. You can, however, select different file filters from the "Files of Type" drop down list -- you can even control what filters are shown in the filter list with the Filters page of the Options dialog.
The Read only check box in the File Open dialog allows you to open a file for read only. You may want to do this so that you don’t accidentally modify the file. If the file must be opened read-only because it is a hidden or system file or because something else is reading it then HexEdit will warn you. Note that even if a file is not opened read-only a window on that file may be read-only (see above).
Normally HexEdit likes to prevent a file from being modified while it has the file open. This is because HexEdit does not cache the file in memory but will update the display directly from the disk file. However, sometimes you may want to allow other programs to access the file at the same time which is when you should use the Shareable check box. However, not that in this case if something else modifies the file contents may change unexpectedly.
For further information see:
Edit menu for information on the Undo, Allow Changes and Insert commands
Status Bar for information on RO/RW and INS/OVR indicators
File menu to see options for opening, creating and saving files
File Open Dialog to see options available when opening an existing file
File Save Dialog to see options available when saving a file under a new name


---
layout: book
---
Books I finished in 2017
(*If you have an ad blocker, you won't be able to see the Amazon links to the books.)
Rework
This book is one of my favorites so far this year. It feels like it was written for a person with ADD. Everything is broken out into small nuggets of information and advice. So easy to read with some great content. I will be reading it again in the near future...and checking out their products. Loved it.
The Fred Factor
Mark Sanborn wrote this book based on his personal postal carrier - Fred. The book relates the principles gleaned from the way Fred did his ordinary job in an extrodinary way. This book also comes highly recommended by John Maxwell, so you know it can't be bad. :-)
To Kill a Mockingbird
This book is my daughters favorite book, so I told her I'd read it. It was quite obvious why it is a classic. Hat's off to the late, great, Harper Lee.
What If?: Serious Scientific Answers to Absurd Hypothetical Questions
I thoroughly enjoyed this book. While the content chosen to be in the book is very entertaining and informational, some of the questions that weren't chosen are also shown and illustrated and very funny.


I had aquired exactly 30 mg of 4-HO-DiPT (as a white powder) and divided it up by eye into three piles of ~10 mg each. I was very precise with this, so I am pretty confident that the piles were equal. Also, I knew it probably wouldn't hurt if I was off by a mg or two with this drug, so dividing by eye was prefered.
The night began with drinking at a bar before the 4-HO came into play. I was happy to see friends I hadn't seen in a long time. I drank 'trash can punch' which I can only assume had everclear in it ...perhaps vodka? Anyway, I had 5 cups of that. Then, as a group, we went to a party out in a field, basically. I opened a beer, got out two doses of 10 mg each of 4-HO-DiPT, and dropped them both in my beer. It tasted nasty, but after a while it dissolved a little more and I couldn't taste it. I was almost drunk at this point. I had some more beers, and smoked 2 joints of some really good bud with several other people before I felt anything from the 4-HO. I do not know how long it took to come on or how long I tripped for. (It was more than 2 hours before the trip was over - that is safe to say).
I was being more talkative (overly so) and had more energy. The bad part is my memory gets a little hazy about the time I started tripping, so I don't really know what happened next, but I do remember stumbling around in circles just 'tripping balls' as they say. I kept drinking the whole night as well. I stretched back very far (while standing) to look at the sky several times. I looked like someone painted the sky there and it seemed to be jumping around. The clouds made trails. Everything seemed to be moving. I couldn't get over how surreal the sky looked. I remember closing my eyes and seeing green and purple crystals everywhere. They were shiny. The longer I looked, the more 'crystals' grew and filled up my closed-eyed visual field. I had a very fun night (I know that much), but once again, I was too drunk to remember a lot of it.
When I woke up the next day, I had scabs from minor cuts/scrapes on my knee, hand and face for reasons unknown to me. I guess I fell down or tripped a few times. It was pretty dark out there.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


labeled
by None at 2020-07-28 04:34:06.labeled
by None at 2020-07-28 04:34:06.I refreshed the title for that item. Closing.
closed
by Trey Pendragon at 2020-07-28 23:29:04.This lints code that is no longer relevant.
ready_for_review
by Kevin McElwee at 2020-07-28 15:00:20.closed
by Kevin McElwee at 2020-07-28 15:00:52.labeled
by Christina Chortaria at 2020-07-27 22:08:19.There are bibids for example: 4719556 (Special Collections - Cotsen Children's Library), 4133649 (East Asian Library - Rare Books) that have no items and they require a Reading Room Request. If we are considering to have CDL for rare books we should think of a way how to handle the EligibleItemService since for most of them there are no items to be checked out to a cdl patron_group. @mzelesky and I discussed this
mentioned
by None at 2020-07-28 12:45:18.subscribed
by None at 2020-07-28 12:45:18.review_requested
by Cliff Wulfman at 2020-07-28 15:37:02.referenced
by Esmé Cowles at 2020-07-28 16:20:10.merged
by Esmé Cowles at 2020-07-28 16:20:10.closed
by Esmé Cowles at 2020-07-28 16:20:10.head_ref_deleted
by Esmé Cowles at 2020-07-28 16:20:15.closed
by Trey Pendragon at 2020-07-28 16:54:11.@hackmastera Can you take another look?
@tpendragon looks good. Do you want it squashed or rebased on merge?
Up to you, I'm not attached to the commits.
@tpendragon sorry, I stepped away. Squash seems good. If I had a strong opinion I would have just done it one way or the other! thanks!
mentioned
by None at 2020-07-28 15:48:13.subscribed
by None at 2020-07-28 15:48:14.mentioned
by Trey Pendragon at 2020-07-28 15:51:01.subscribed
by Trey Pendragon at 2020-07-28 15:51:01.referenced
by Trey Pendragon at 2020-07-28 16:54:11.merged
by Trey Pendragon at 2020-07-28 16:54:11.closed
by Trey Pendragon at 2020-07-28 16:54:11.head_ref_deleted
by Trey Pendragon at 2020-07-28 16:54:14.mentioned
by Trey Pendragon at 2020-07-28 17:16:50.subscribed
by Trey Pendragon at 2020-07-28 17:16:50.head_ref_force_pushed
by None at 2020-07-28 17:53:28.labeled
by Trey Pendragon at 2020-07-28 23:16:45.assigned
by Christina Chortaria at 2020-07-28 13:28:04.assigned
by Peter Green at 2020-07-28 16:14:38.assigned
by Christina Chortaria at 2020-07-28 16:14:38.assigned
by None at 2020-07-28 16:14:38.assigned
by None at 2020-07-28 16:14:38.renamed
by Christina Chortaria at 2020-07-28 16:34:33.labeled
by Christina Chortaria at 2020-07-28 20:44:59.assigned
by Christina Chortaria at 2020-07-28 20:45:21.Coverage decreased (-1.7%) to 78.186% when pulling 30f68b82390558364a70676e7a8dc57f3e032d7e on alma-implementation into 73a88ecc1c421245a8ca5a7f4a3ee125de65ba91 on master.
head_ref_force_pushed
by Christina Chortaria at 2020-07-28 22:01:41.head_ref_force_pushed
by Christina Chortaria at 2020-07-28 22:03:56.head_ref_force_pushed
by Christina Chortaria at 2020-07-28 22:06:56.review_requested
by None at 2020-07-28 17:44:02.referenced
by Francis Kayiwa at 2020-07-28 14:12:52.merged
by Francis Kayiwa at 2020-07-28 14:12:52.closed
by Francis Kayiwa at 2020-07-28 14:12:52.head_ref_deleted
by Francis Kayiwa at 2020-07-28 14:13:04.head_ref_force_pushed
by Francis Kayiwa at 2020-07-28 18:28:35.labeled
by None at 2020-07-28 04:50:59.labeled
by None at 2020-07-28 04:50:59.referenced
by Kevin Reiss at 2020-07-28 16:02:25.merged
by Kevin Reiss at 2020-07-28 16:02:25.closed
by Kevin Reiss at 2020-07-28 16:02:25.head_ref_deleted
by Kevin Reiss at 2020-07-28 16:02:29.


This is a template for flight search module. This module is based on AngularJS, Bootstrap,jQuery,Underscore lib, and other basic web development technologies.
Think More


{% extends "passes/base.html" %}
{% block title %}Reveal pass{% endblock %}
{% block main %}
{% if success is True %}
Congratulations! The pass is, DysonPalle
{% else %}
Something went wrong ... Maybe you don't have enough funds to buy the pass yet
{% endif %}
{% endblock %}


To help you get started, we've also set up:
webpack
build tool. Your client-side resources are dynamically built on demand. Updates are available as soon as you modify any file.webpack
build tool produces minified static CSS and JavaScript files.This is all about the client app only, and has pretty nothing to do with the ASP.Net Core project. The only difference compared to a stock angular-cli generated project is that it has a little different folder structure and file naming.
E.g. the *package.json* file is in the root folder of the ASP.NET project, not in the angular app’s root, or the Visual Studio approach does not have an *src* folder under the *ClientApp* structure. The *app.module* file is also split into chunks to manage shared code in *app.shared.module.ts*, browser specific code in *app.module.browser.ts*, while server specific code in *app.module.server.ts* file. Etc.
... "bootstrap": "3.3.7", "ngx-bootstrap": "2.0.0-rc.0", "css": "2.2.1", ...
// Load as many modules as you want to use. // For demonstration purposes, I load AlertModule only. import { AlertModule, //AccordionModule, //ButtonsModule, //CarouselModule, //CollapseModule, //BsDatepickerModule, //BsDropdownModule, //ModalModule, //PaginationModule, //ProgressbarModule, //SortableModule, //TabsModule, //TimepickerModule, //TooltipModule, //TypeaheadModule } from 'ngx-bootstrap';
imports: [ CommonModule, HttpModule, FormsModule, // Bootstrap ---------------------------- AlertModule.forRoot(), //AccordionModule.forRoot(), //ButtonsModule.forRoot(), //... //TooltipModule.forRoot() //--------------------------------------- //... RouterModule.forRoot([ { path: '', redirectTo: 'home', pathMatch: 'full' }, { path: 'home', component: HomeComponent }, { path: 'counter', component: CounterComponent }, { path: 'fetch-data', component: FetchDataComponent }, { path: '**', redirectTo: 'home' } ])
<alert type="success" dismissible="true">
 Congratulations
, ngx-bootstrap package was loaded successfully. This alert is shown by the package. Great!
 Now click the [x] button on right side to close this alert. </alert>


Genesis 18:7
And Abraham ran unto the herd, and fetched a calf tender and good, and gave it unto a young man; and he hasted to dress it.


Enter the Mystery of Me
I am a 3rd year CS major who loves concurrent programming and algorithm design.
My prefered languages are c/c++ (both are great in their own way!).
I also enjoy boardgames and puzzles, albeit I am not very good at them. Also video games.


DailyCode 52 Feb 15, 2017 So-so today. It's late...still working out my new schedule. "blah". But done.


Snag these fresh new arrivals
Check out our favorite styles
Shop our collection lookbooks
Get cozy in our fall collection
Ship to an Address
Want to make checkout faster next time? CREATE AN ACCOUNT to save your information
Password must be
Pick-up point
In-store pickup


--- layout: default title: Training permalink: training.html ---
TRAINING PROGRAM
The Applied Data Analytics programs are targeted at government agency staff. It provides training in core data analytics techniques by working on specific projects using real-world micro-data. The projects are built around pre-built Jupyter notebooks which provide project "recipes" that can be customized for specific use cases as well as applied to later projects in participants’ agencies.
For more detailed information about our training programs, check out Change Through Data: A Data Analytics Training Program for Government Employees in the Harvard Data Science Review.
Core Curriculum
| Activity | What | Time Required |
|---|---|---|
| Application (online/remote) |
Online, example: here (incl. security requirements) | About 2 hours total |
| Intro to SQL & Python (online/remote) |
Online videos with web-based content; weekly online 1 hour group discussions | Up to 10 hours |
| Module 1 (in-person) |
Introduce the program, data, and projects; includes data exploration, visualization, record linkage, and introduction to Machine Learning | 3 days, on-site |
| Project work (online/remote) |
Self-paced project work with teams; instructors available for assistance | Up to 10 hours, suggest at least 2 hours per week |
| Module 2 (in-person) |
Focus on projects with sessions on Inference and Confidentiality | 3 days, on-site |
| Project work (online/remote) |
Complete team projects; recommend weekly check-in with an instructor | Up to 10 hours, suggest at least 2 hours per week |
| Presentations (online/remote) |
Present final projects via webex | 30 minutes per team; up to 3 hours |
UPCOMING TRAINING PROGRAMS
Highlights From Previous Programs
The first six programs were partially sponsored by the US Census Bureau, the Laura and John Arnold Foundation, the Overdeck Family Foundation, and the Ewing Marion Kauffman Foundation. The thematic focus of each program was: Criminal Justice, Welfare programs, High Need Populations, and Economic Development. Over 250 government agency staff and researchers participated in these four training programs. Here is what they had to say:
"...knowing what's possible has helped tremendously in influencing the reality of our projects"
"I also co-authored a journal article on predicting farms that would need to apply for new loans which wouldn’t have happened without the machine learning skills I learned in the class."
"My colleague and I have found several ways to use Python to make our work processes more efficient."
"...hearing the topics in the class taught by experts felt as though a veil was lifted."
"I've been able to use tools to help streamline my work and to identify opportunities to utilize machine learning in the City."
Recent Programs
Applied Data Analytics - USDA 2019
The Coleridge Initiative's Applied Data Analytics training program focused on food purchasing patterns of households participating in the WIC program. Held in Washington, DC.
Full program details and resources available here
Applied Data Analytics - TANF Data Collaborative 2019
The Coleridge Initiative's Applied Data Analytics training program focused on employment outcomes of TANF recipients. Held in College Park, MD.
Full program details and resources available here
Applied Data Analytics - Transitions in Education and Work 2019
The Coleridge Initiative's Applied Data Analytics training program focused on connecting education and job training data with workforce outcomes. Held in Columbia, MO.
Full program details and resources available here
Applied Data Analytics - Transitions in Education and Work 2019
The Coleridge Initiative's Applied Data Analytics training program focused on connecting education and job training data with workforce outcomes. Held in Indianapolis, IN.
Full program details and resources available here
Applied Data Analytics - Transitions in Education and Work 2019
The Coleridge Initiative's Applied Data Analytics training program focused on connecting education and job training data with workforce outcomes. Held in Columbus, OH.
Full program details and resources available here
See all our material on GitHub


Summary
Seasoned web application developer using Java, JEE, and Python
Pragmatic yet visionary architect, designer, and implementer with significant hands-on experience in web, integration, and data warehousing.
Curious, resourceful, and innovative.
Passionate about and current on systems technology.
Excellent communication skills, including writing, mentoring, and talking in terms that the audience can understand and build on.
Active listener and adept at asking the right question.
Education
BA Social Psychology Lehigh University
Professional Experience
UniFirst CorporationWilmington MA
Java Developer
2011 - current
UniFirst is one of the largest companies supplying uniforms to the workforce, and is listed on the NYSE.
- As a contributor to the eCommerce team, worked on multiple releases of the administrative, B2B, and B2C portals.
- Performed full scope of development from front end to services to persistence layer.
- Analyzed and performed remediation for code base using FindBugs.
- Migration analysis for upgrade to Websphere 7; migrated developer environment from Websphere/Ration Application Developer to Tomcat/Eclipse
Tools and technologies used: WebSphere, Tomcat, Spring, Struts 1 & 2, Tiles, Java 6, jUnit, HTML, Javascript, CSS, XML, Microsoft SQL Server, Eclipse, Rational ClearCase
PHT CorporationCharlestown MA
Senior Software Engineer
2007 - 2011
PHT, an ISO9001 certified company, has been an innovator in electronic patient reported outcomes technologies supporting late stage clinical trials around the world for most of the major pharmaceutical companies around the world.
- As a key contributor to the server team, worked on five releases of the StudyWorks server, including major enhancements to the self-service administration functions.
- Performed a full range of development activities including system requirement specifications, system design specifications, implementation, and testing.
- Lead UI developer and enhanced the application to look and function identically in IE 6,7, and 8 and Firefox browsers.
- Served as a team leader for two releases (3 – 6 developers), and introduced several new technologies and libraries including jQuery, TestNG, and slf4j/logback. Developed a standard developer mini-smoke script and implemented the practice of consistent code reviews using a tool I wrote to make the process efficient and self-documenting. significantly improving the quality of builds provided to QA.
- Engineering department moved from traditional to Agile development using Scrum methodology.
- Designed and developed PHT's first AJAX application, one that significantly reduced administrative overhead in managing data clarification requests by customer.
- Refactored an administrative account approval function that had performance issues to use a threaded model to improve response times.
- Ported a long-running batch program to run on a much faster 64-bit Linux server so that data verification could be performed weekly on all studies instead once at the close of a study.
Tools and technologies used: Java 6 SE, Python, Struts, Tomcat, HTML, Javascript, CSS, jQuery, AJAX, JSON, XML, Microsoft SQL Server, NetBeans, Rational ClearCase and ClearQuest
Application Architect
2001 - 2006
Tufts Health Plan, Watertown MA
Team Leader
1999 - 2001
- Major contributor to architecture for web and integration/middleware services as well as larger enterprise architecture; leader of applications & development architecture subteam that defined current and future states and a path for achieving desired future state.
- Started as the initial member and, as senior contributor and architect, guided and mentored the growth of the Portal Development team that built and enhanced the Tufts Health Plan customer/partner facing and internal web application portals using Weblogic Server/J2EE. Portals support data queries from a variety of backends (Oracle, Tibco, legacy/JDBC, SOAP) as well as many online transactions and reports. Portals integrate with third party applications hosted internally (e.g. eDocs online payment, Stellent CMS) as well as externally (e.g. MapQuest, broker portal using ASP model), and using internally-developed authorization framework for most portals and CA-Netegrity for others.
- Portal Development team never missed a delivery in 5+ years (releases every 2-3 months), and IS department achieved CMMI Level 3 certification in 2005.
- Designed an authorization management framework, still in use after 5+ years, that supports a complex business model, including hierarchical and network relationships and delegated authorization.
- Principal and/or major contributor in all phases of web architecture, development, and support, including design, development, testing, deployment, as well as server tuning, upgrades, clustering, and management, using WebLogic Server.
- Evaluated software tools and frameworks (commercial and open source) and spearheaded adoption of CVS, ant, and many other Open Source Software tools that increased speed to market and application sophistication while improving reliability. Drafted OSS policy document. Key contributor (authoring, evaluation of responses, selection) major enterprise RFPs, including integration middleware, CMS, portal, and EIM.
- Worked on several third party integration efforts, including design and development of SOAP interfaces to MapQuest and internal Stellent (CMS) application, and extraction of McKesson data from database of XML with embedded HTML and transformation and packaging as secure PDFs for delivery via the portal.
- Designed and built sophisticated daemon to monitor and control clustered, multitiered web applications that has minimized site outages (Python-based, released on Sourceforge as Monmaster).
- Installed and managed department workstation (Linux) used for documentation wiki and staging server for public web site.
Business Consultant
1998
Work Family Directions (acquired by Ceridian), Brookline MA
Project manager for web-enabled database to centralize referral information. Project management, application planning and architecture, business analysis, and advocacy.
Senior Consultant
1996-98
Harvard Pilgrim Health Care, Wellesley MA
Supervisor, Corporate Systems
1993-96
Project Leader, Utilization Systems
1991-93
- Corporate project manager for rollout of Lotus Notes; 0 to 500 seats over 12 months; managed most major corporate Notes projects including RFP workflow and knowledge management application, NCQA accreditation facilitation system, Competitive Intelligence
- Project manager for development of departmental datamart for Sales & Marketing Department using MS SQL Server; including database design and considerable hands-on development
- As member of Senior Project Manager Advisory group, helped define departmental project life cycle including document templates
- Managed a team that created a repository of plan-wide utilization and membership data with consistent format & coding for corporate users, primarily data analysts in Actuarial Systems and Medical Directors Office
- Analyzed multiple sources of utilization, membership, and reference data and designed, implemented, and maintained systems to clean, standardize, integrate, normalize, and aggregate large volumes of utilization and membership data from multiple platforms
- Developed a data element dictionary, logical data model, functional specifications, and associated documentation
- Used available system & staff resources to meet aggressive schedules for employer reporting & clinical studies, including HEDIS
Director of Information Management
1986 - 1991
Medicaid - Commonwealth of Massachusetts, Boston MA
Senior Systems Analyst (consultant to Systems division)
1985-86
Advanced information technology within a major ($2.5 billion annual budget in 1990) organization
Hired staff and managed Office Automation systems (VAX and PC LAN) and providing training and support for all systems
Key participant in project team that specified, designed, and implemented 57 million record on-line database of Medicaid claims
Developed network of computer- and data- literate end user analysts
Developed and implemented ad hoc and production management information reports
Developed integrated mainframe/PC LAN system to manage costs and rates for nursing home expenditures
Restored credibility to complex and poorly understood reporting system while acting as liaison between users of MMIS Surveillance/Utilization Review subsystem and programming and operations facility
Provided technical support for Office Automation implementation.
Skill and experience inventory
Languages:
Python Java
HTML
JavaScript
Web server frameworks and technologies:
J2EE
JSP
servlets
EJB
stateless session beans
jQuery
Tomcat
Websphere
Spring
Struts
AJAX
SOAP
DOM
XHTML
Weblogic
Weblogic Application Server
WLS
Snakelets
Elementtree
Zope
Lotus Notes development
n-tier
Development:
design
development
unit testing
documentation
technical writing
agile
Scrum
architecture:
enterprise architecture
web architecture
integration architecture
application architecture
OO - Object Oriented design and analysis
UML
CMMI Level 3
logback/slf4j
Eclipse & Rational Application Developer
NetBeans
CVS
Mercurial
ClearCase
ClearQuest
jUnit
testNG
Data representation:
JSON
XML
XSLT
YAML
Database:
SQL
Oracle
Microsoft
SQL Server
Organizational:
RFP development
software evaluation
team management
wiki
hands-on
conflict resolution
SDLC
Project management
Platforms:
Linux (Debian user since 1995)
UNIX
Windows
Other:
authorization management
monmaster
CMS
Stellent
API
expert systems


Congratulations,
Prabhat & Krishna
Hurray..., we did it.
This application is deployed using AWS CodeDeploy.
This is implemented through Jenkins this time.
For next steps, read the
AWS CodeDeploy Documentation
.
Copyright@Prabhat&Krishna


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.faces.webapp.UIComponentTag
public abstract class UIComponentTag
Base class for all JSP tags that represent a JSF UIComponent.
Disclaimer: The official definition for the behaviour of this class is the JSF specification but for legal reasons the specification cannot be replicated here. Any javadoc present on this class therefore describes the current implementation rather than the officially required behaviour, though it is believed that this class does comply with the specification. see Javadoc of JSF Specification for more.
| Field Summary | |
|---|---|
protected javax.servlet.jsp.PageContext |
pageContext
|
| Fields inherited from interface javax.servlet.jsp.tagext.Tag |
|---|
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE |
| Constructor Summary | |
|---|---|
UIComponentTag()
|
| Method Summary | |
|---|---|
int |
doEndTag()
Invoked by the standard jsp processing mechanism when the closing tag of a JSF component element is found. |
int |
doStartTag()
Invoked by the standard jsp processing mechanism when the opening tag of a JSF component element is found. |
protected void |
encodeBegin()
Invoke encodeBegin on the associated UIComponent. |
protected void |
encodeChildren()
Invoke encodeChildren on the associated UIComponent. |
protected void |
encodeEnd()
Invoke encodeEnd on the associated UIComponent. |
protected UIComponent |
findComponent(FacesContext context)
Return the corresponding UIComponent for this tag, creating it if necessary. |
UIComponent |
getComponentInstance()
Return the UIComponent instance associated with this tag. |
abstract java.lang.String |
getComponentType()
Specify the "component type name" used together with the component's family and the Application object to create a UIComponent instance for this tag. |
boolean |
getCreated()
Return true if this tag created the associated UIComponent (rather than locating an existing instance of the UIComponent in the view). |
protected int |
getDoEndValue()
Get the value to be returned by the doEndTag method to the JSP framework. |
protected int |
getDoStartValue()
Get the value to be returned by the doStartTag method to the JSP framework. |
protected FacesContext |
getFacesContext()
|
protected java.lang.String |
getFacetName()
|
protected java.lang.String |
getId()
Return the id (if any) specified as an xml attribute on this tag. |
javax.servlet.jsp.tagext.Tag |
getParent()
Returns the enclosing JSP tag object. |
static UIComponentTag |
getParentUIComponentTag(javax.servlet.jsp.PageContext pageContext)
Return the nearest JSF tag that encloses this tag. |
abstract java.lang.String |
getRendererType()
Specify the "renderer type name" used together with the current renderKit to get a Renderer instance for the corresponding UIComponent. |
protected boolean |
isSuppressed()
Determine whether this component renders itself. |
static boolean |
isValueReference(java.lang.String value)
Return true if the specified string contains an EL expression. |
void |
release()
|
void |
setBinding(java.lang.String binding)
Setter for common JSF xml attribute "binding". |
void |
setId(java.lang.String id)
Setter for common JSF xml attribute "id". |
void |
setPageContext(javax.servlet.jsp.PageContext pageContext)
Standard method invoked by the JSP framework to inform this tag of the PageContext associated with the jsp page currently being processed. |
void |
setParent(javax.servlet.jsp.tagext.Tag parent)
Standard method invoked by the JSP framework to inform this tag of the enclosing JSP tag object. |
protected void |
setProperties(UIComponent component)
|
void |
setRendered(java.lang.String rendered)
Setter for common JSF xml attribute "rendered". |
protected void |
setupResponseWriter()
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected javax.servlet.jsp.PageContext pageContext
| Constructor Detail |
|---|
public UIComponentTag()
| Method Detail |
|---|
public void release()
release
in interface javax.servlet.jsp.tagext.Tag
public void setBinding(java.lang.String binding) throws javax.servlet.jsp.JspException
javax.servlet.jsp.JspException
public void setId(java.lang.String id)
protected java.lang.String getId()
public void setRendered(java.lang.String rendered)
public abstract java.lang.String getComponentType()
public UIComponent getComponentInstance()
public boolean getCreated()
public static UIComponentTag getParentUIComponentTag(javax.servlet.jsp.PageContext pageContext)
public abstract java.lang.String getRendererType()
A JSP tag can return null here to use the default renderer type string. If non-null is returned, then the UIComponent's setRendererType method will be called passing this value, and this will later affect the type of renderer object returned by UIComponent.getRenderer().
public static boolean isValueReference(java.lang.String value)
UIComponent properties are often required to be value-binding expressions; this method allows code to check whether that is the case or not.
public void setPageContext(javax.servlet.jsp.PageContext pageContext)
setPageContext
in interface javax.servlet.jsp.tagext.Tag
public javax.servlet.jsp.tagext.Tag getParent()
getParent
in interface javax.servlet.jsp.tagext.Tag
public void setParent(javax.servlet.jsp.tagext.Tag parent)
setParent
in interface javax.servlet.jsp.tagext.Tag
public int doStartTag() throws javax.servlet.jsp.JspException
The UIComponent associated with this tag is created (if the view doesn't exist) or located if the view is being re-rendered. If the component is not "suppressed" then its encodeBegin method is called (see method isSuppressed). Note also that method encodeBegin is not called for components for which getRendersChildren returns true; that occurs only in doEndTag.
doStartTag
in interface javax.servlet.jsp.tagext.Tag
javax.servlet.jsp.JspException
public int doEndTag() throws javax.servlet.jsp.JspException
When the view is being re-rendered, any former children of this tag's corresponding component which do not have corresponding tags as children of this tag are removed from the view. This isn't likely to be a common occurrence: wrapping JSF tags in JSTL tag "c:if" is one possible cause. Programmatically created components are not affected by this.
If the corresponding component returns true from getRendersChildren then its encodeBegin and encodeChildren methods are called here.
The component's encodeEnd method is called provided the component is not "suppressed".
doEndTag
in interface javax.servlet.jsp.tagext.Tag
javax.servlet.jsp.JspException
protected void encodeBegin() throws java.io.IOException
java.io.IOException
protected void encodeChildren() throws java.io.IOException
java.io.IOException
protected void encodeEnd() throws java.io.IOException
java.io.IOException
protected UIComponent findComponent(FacesContext context) throws javax.servlet.jsp.JspException
If this is not the first time this method has been called, then return the cached component instance found last time.
If this is not the first time this view has been seen, then locate the existing component using the id attribute assigned to this tag and return it. Note that this is simple for components with user-assigned ids. For components with generated ids, the "reattachment" relies on the fact that UIViewRoot will generate the same id values for tags in this page as it did when first generating the view. For this reason all JSF tags within a JSTL "c:if" are required to have explicitly-assigned ids.
Otherwise create the component, populate its properties from the xml attributes on this JSP tag and attach it to its parent.
When a component is found or created the parent JSP tag is also told that the component has been "seen". When the parent tag ends it will delete any components which were in the view previously but have not been seen this time; see doEndTag for more details.
javax.servlet.jsp.JspException
protected int getDoStartValue() throws javax.servlet.jsp.JspException
javax.servlet.jsp.JspException
protected int getDoEndValue() throws javax.servlet.jsp.JspException
javax.servlet.jsp.JspException
protected FacesContext getFacesContext()
protected java.lang.String getFacetName()
protected boolean isSuppressed()
protected void setProperties(UIComponent component)
protected void setupResponseWriter()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


--- layout: session_academic academic: true title: "Development after Displacement: Using OSM data to measure SDG indicators at informal settlements" code: "LKLEWQ" speaker_names_with_affiliations: ['Hannah Friedrich; Oregon State University<EMAIL_ADDRESS>'Jamon Van Den Hoek; Oregon State University<EMAIL_ADDRESS>', 'David Wrathall; Oregon State University<EMAIL_ADDRESS>', 'Anna Ballasiotes; Oregon State University<EMAIL_ADDRESS>extra_tags: room: "HSW" length: "00:20" time: "Sunday, 16:30" recording: True ---
There are 250 million refugees and IDPs in informal settlements that are routinely excluded from population and settlement datasets as well as Sustainable Development Goals (SDGs) assessments. Here, we share results from ongoing research to map and assess SDG indicators at global informal settlements using OSM data and satellite imagery. We present a new OSM-driven schema for monitoring SDG progress that counters the exclusion of informal settlements from other assessments.


Path
Port
New Pico
Pending
—
0ms
—
Expanded
Edit Pico
Cancel
Ok
Welcome
Server is not running.
Requests will be displayed here.


| stunnel TLS Proxy |
stunnel - TLS offloading and load-balancing proxy
stunnel [FILE] | -fd N | -help | -version | -sockets | -options
stunnel [ [ -install | -uninstall | -start | -stop | -reload | -reopen | -exit ] [-quiet] [FILE] ] | -help | -version | -sockets | -options
The stunnel program is designed to work as TLS encryption wrapper between remote clients and local (inetd-startable) or remote servers. The concept is that having non-TLS aware daemons running on your system you can easily set them up to communicate with clients over secure TLS channels.
stunnel can be used to add TLS functionality to commonly used Inetd daemons like POP-2, POP-3, and IMAP servers, to standalone daemons like NNTP, SMTP and HTTP, and in tunneling PPP over network sockets without changes to the source code.
This product includes cryptographic software written by Eric Young<EMAIL_ADDRESS>Use specified configuration file
Read the config file from specified file descriptor
Print stunnel help menu
Print stunnel version and compile time defaults
Print default socket options
Print supported TLS options
Install NT Service
Uninstall NT Service
Start NT Service
Stop NT Service
Reload the configuration file of the running NT Service
Reopen the log file of the running NT Service
Exit an already started stunnel
Don't display any message boxes
Each line of the configuration file can be either:
An empty line (ignored).
A comment starting with ';' (ignored).
An 'option_name = option_value' pair.
'[service_name]' indicating a start of a service definition.
An address parameter of an option may be either:
A port number.
A colon-separated pair of IP address (either IPv4, IPv6, or domain name) and port number.
A Unix socket path (Unix only).
directory to chroot stunnel process
chroot keeps stunnel in a chrooted jail. CApath, CRLpath, pid and exec are located inside the jail and the patches have to be relative to the directory specified with chroot.
Several functions of the operating system also need their files to be located within the chroot jail, e.g.:
Delayed resolver typically needs /etc/nsswitch.conf and /etc/resolv.conf.
Local time in log files needs /etc/timezone.
Some other functions may need devices, e.g. /dev/zero or /dev/null.
select data compression algorithm
default: no compression
Deflate is the standard compression method as described in RFC 1951.
debugging level
Level is one of the syslog level names or numbers emerg (0), alert (1), crit (2), err (3), warning (4), notice (5), info (6), or debug (7). All logs for the specified level and all levels numerically less than it will be shown. Use debug = debug or debug = 7 for greatest debugging output. The default is notice (5).
The syslog facility 'daemon' will be used unless a facility name is supplied. (Facilities are not supported on Win32.)
Case is ignored for both facilities and levels.
path to Entropy Gathering Daemon socket
Entropy Gathering Daemon socket to use to feed the OpenSSL random number generator.
select hardware or software cryptographic engine
default: software-only cryptography
See Examples section for an engine configuration to use the certificate and the corresponding private key from a cryptographic device.
control hardware engine
set OpenSSL tasks delegated to the current engine
The parameter specifies a comma-separated list of task to be delegated to the current engine.
The following tasks may be available, if supported by the engine: ALL, RSA, DSA, ECDH, ECDSA, DH, RAND, CIPHERS, DIGESTS, PKEY, PKEY_CRYPTO, PKEY_ASN1.
enable or disable FIPS 140-2 mode.
This option allows you to disable entering FIPS mode if stunnel was compiled with FIPS 140-2 support.
default: no (since version 5.00)
foreground mode
Stay in foreground (don't fork).
With the yes parameter it also logs to stderr in addition to the destinations specified with syslog and output.
default: background in daemon mode
GUI icon to be displayed when there are established connections
On Windows platform the parameter should be an .ico file containing a 16x16 pixel image.
GUI icon to be displayed when no valid configuration is loaded
On Windows platform the parameter should be an .ico file containing a 16x16 pixel image.
GUI icon to be displayed when there are no established connections
On Windows platform the parameter should be an .ico file containing a 16x16 pixel image.
log file handling
This option allows you to choose whether the log file (specified with the output option) is appended or overwritten when opened or re-opened.
default: append
append log messages to a file
/dev/stdout device can be used to send log messages to the standard output (for example to log them with daemontools splogger).
pid file location
If the argument is empty, then no pid file will be created.
pid path is relative to the chroot directory if specified.
bytes to read from random seed files
path to file with random seed data
The OpenSSL library will use data from this file first to seed the random number generator.
overwrite the random seed files with new random data
default: yes
stunnel service name
The specified service name is used for syslog and as the inetd mode service name for TCP Wrappers. While this option can technically be specified in the service sections, it is only useful in global options.
default: stunnel
enable logging via syslog
default: yes
enable the taskbar icon
default: yes
Each configuration section begins with a service name in square brackets. The service name is used for libwrap (TCP Wrappers) access control and lets you distinguish stunnel services in your log files.
Note that if you wish to run stunnel in inetd mode (where it is provided a network socket by a server such as inetd, xinetd, or tcpserver) then you should read the section entitled INETD MODE below.
accept connections on specified address
If no host specified, defaults to all IPv4 addresses for the local host.
To listen on all IPv6 addresses use:
accept = :::PORT
Certificate Authority directory
This is the directory in which stunnel will look for certificates when using the verifyChain or verifyPeer options. Note that the certificates in this directory should be named XXXXXXXX.0 where XXXXXXXX is the hash value of the DER encoded subject of the cert.
The hash algorithm has been changed in OpenSSL 1.0.0. It is required to c_rehash the directory on upgrade from OpenSSL 0.x.x to OpenSSL 1.x.x.
CApath path is relative to the chroot directory if specified.
Certificate Authority file
This file contains multiple CA certificates, to be used with the verifyChain and verifyPeer options.
certificate chain file name
The parameter specifies the file containing certificates used by stunnel to authenticate itself against the remote client or server. The file should contain the whole certificate chain starting from the actual server/client certificate, and ending with the self-signed root CA certificate. The file must be either in PEM or P12 format.
A certificate chain is required in server mode, and optional in client mode.
This parameter is also used as the certificate identifier when a hardware engine is enabled.
email address of the peer certificate subject
Multiple checkEmail options are allowed in a single service section. Certificates are accepted if no subject checks were specified, or the email address of the peer certificate matches any of the email addresses specified with checkEmail.
This option requires OpenSSL 1.0.2 or later.
host of the peer certificate subject
Multiple checkHost options are allowed in a single service section. Certificates are accepted if no subject checks were specified, or the host name of the peer certificate matches any of the hosts specified with checkHost.
This option requires OpenSSL 1.0.2 or later.
IP address of the peer certificate subject
Multiple checkIP options are allowed in a single service section. Certificates are accepted if no subject checks were specified, or the IP address of the peer certificate matches any of the IP addresses specified with checkIP.
This option requires OpenSSL 1.0.2 or later.
select permitted TLS ciphers (TLSv1.2 and below)
This option does not impact TLSv1.3 ciphersuites.
A colon-delimited list of the ciphers to allow in the TLS connection, for example DES-CBC3-SHA:IDEA-CBC-MD5.
select permitted TLSv1.3 ciphersuites
A colon-delimited list of TLSv1.3 ciphersuites names in order of preference.
This option requires OpenSSL 1.1.1 or later.
default: TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256
client mode (remote service uses TLS)
default: no (server mode)
OpenSSL configuration command
The OpenSSL configuration command is executed with the specified parameter. This allows any configuration commands to be invoked from the stunnel configuration file. Supported commands are described on the SSL_CONF_cmd(3ssl) manual page.
Several config lines can be used to specify multiple configuration commands.
This option requires OpenSSL 1.0.2 or later.
connect to a remote address
If no host is specified, the host defaults to localhost.
Multiple connect options are allowed in a single service section.
If host resolves to multiple addresses and/or if multiple connect options are specified, then the remote address is chosen using a round-robin algorithm.
Certificate Revocation Lists directory
This is the directory in which stunnel will look for CRLs when using the verifyChain and verifyPeer options. Note that the CRLs in this directory should be named XXXXXXXX.r0 where XXXXXXXX is the hash value of the CRL.
The hash algorithm has been changed in OpenSSL 1.0.0. It is required to c_rehash the directory on upgrade from OpenSSL 0.x.x to OpenSSL 1.x.x.
CRLpath path is relative to the chroot directory if specified.
Certificate Revocation Lists file
This file contains multiple CRLs, used with the verifyChain and verifyPeer options.
ECDH curves separated with ':'
Only a single curve name is allowed for OpenSSL older than 1.1.0.
To get a list of supported curves use:
openssl ecparam -list_curves
default:
X25519:P-256:X448:P-521:P-384 (OpenSSL 1.1.1 or later)
prime256v1 (OpenSSL older than 1.1.1)
connection identifier type
This identifier allows you to distinguish log entries generated for each of the connections.
Currently supported types:
The numeric sequential identifier is only unique within a single instance of stunnel, but very compact. It is most useful for manual log analysis.
This alphanumeric identifier is globally unique, but longer than the sequential number. It is most useful for automated log analysis.
The operating system thread identifier is neither unique (even within a single instance of stunnel) nor short. It is most useful for debugging software or configuration issues.
The operating system process identifier (PID) may be useful in the inetd mode.
default: sequential
debugging level
Level is a one of the syslog level names or numbers emerg (0), alert (1), crit (2), err (3), warning (4), notice (5), info (6), or debug (7). All logs for the specified level and all levels numerically less than it will be shown. Use debug = debug or debug = 7 for greatest debugging output. The default is notice (5).
delay DNS lookup for the connect option
This option is useful for dynamic DNS, or when DNS is not available during stunnel startup (road warrior VPN, dial-up configurations).
Delayed resolver mode is automatically engaged when stunnel fails to resolve on startup any of the connect targets for a service.
Delayed resolver inflicts failover = prio.
default: no
select engine ID for the service
select engine number for the service
The engines are numbered starting from 1.
execute a local inetd-type program
exec path is relative to the chroot directory if specified.
The following environmental variables are set on Unix platforms: REMOTE_HOST, REMOTE_PORT, SSL_CLIENT_DN, SSL_CLIENT_I_DN.
arguments for exec including the program name ($0)
Quoting is currently not supported. Arguments are separated with an arbitrary amount of whitespace.
Failover strategy for multiple "connect" targets.
round robin - fair load distribution
priority - use the order specified in config file
default: prio
use IDENT (RFC 1413) username checking
include all configuration file parts located in DIRECTORY
The files are included in the ascending alphabetical order of their names. The recommended filename convention is
for global options:
00-global.conf
for local service-level options:
01-service.conf
02-service.conf
private key for the certificate specified with cert option
A private key is needed to authenticate the certificate owner. Since this file should be kept secret it should only be readable by its owner. On Unix systems you can use the following command:
chmod 600 keyfile
This parameter is also used as the private key identifier when a hardware engine is enabled.
default: the value of the cert option
Enable or disable the use of /etc/hosts.allow and /etc/hosts.deny.
default: no (since version 5.00)
By default, the IP address of the outgoing interface is used as the source for remote connections. Use this option to bind a static local IP address instead.
select OCSP responder for certificate verification
validate certificates with their AIA OCSP responders
This option enables stunnel to validate certificates with the list of OCSP responder URLs retrieved from their AIA (Authority Information Access) extension.
specify OCSP responder flag
Several OCSPflag can be used to specify multiple flags.
currently supported flags: NOCERTS, NOINTERN, NOSIGS, NOCHAIN, NOVERIFY, NOEXPLICIT, NOCASIGN, NODELEGATED, NOCHECKS, TRUSTOTHER, RESPID_KEY, NOTIME
send and verify the OCSP nonce extension
This option protects the OCSP protocol against replay attacks. Due to its computational overhead, the nonce extension is usually only supported on internal (e.g. corporate) responders, and not on public OCSP responders.
OpenSSL library options
The parameter is the OpenSSL option name as described in the SSL_CTX_set_options(3ssl) manual, but without SSL_OP_ prefix. stunnel -options lists the options found to be allowed in the current combination of stunnel and the OpenSSL library used to build it.
Several option lines can be used to specify multiple options. An option name can be prepended with a dash ("-") to disable the option.
For example, for compatibility with the erroneous Eudora TLS implementation, the following option can be used:
options = DONT_INSERT_EMPTY_FRAGMENTS
default:
options = NO_SSLv2
options = NO_SSLv3
Use sslVersionMax or sslVersionMin option instead of disabling specific TLS protocol versions when compiled with OpenSSL 1.1.0 or later.
application protocol to negotiate TLS
This option enables initial, protocol-specific negotiation of the TLS encryption. The protocol option should not be used with TLS encryption on a separate port.
Currently supported protocols:
Proprietary (undocummented) extension of CIFS protocol implemented in Samba. Support for this extension was dropped in Samba 3.0.0.
Based on RFC 2817 - Upgrading to TLS Within HTTP/1.1, section 5.2 - Requesting a Tunnel with CONNECT
This protocol is only supported in client mode.
Based on RFC 2595 - Using TLS with IMAP, POP3 and ACAP
Based on RFC 4642 - Using Transport Layer Security (TLS) with Network News Transfer Protocol (NNTP)
This protocol is only supported in client mode.
Based on http://www.postgresql.org/docs/8.3/static/protocol-flow.html#AEN73982
Based on RFC 2449 - POP3 Extension Mechanism
Passing of the original client IP with HAProxy PROXY protocol version 1 https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt
Based on RFC 2487 - SMTP Service Extension for Secure SMTP over TLS
SOCKS versions 4, 4a, and 5 are supported. The SOCKS protocol itself is encapsulated within TLS encryption layer to protect the final destination address.
http://www.openssh.com/txt/socks4.protocol
http://www.openssh.com/txt/socks4a.protocol
The BIND command of the SOCKS protocol is not supported. The USERID parameter is ignored.
See Examples section for sample configuration files for VPN based on SOCKS encryption.
authentication type for the protocol negotiations
Currently, this option is only supported in the client-side 'connect' and 'smtp' protocols.
Supported authentication types for the 'connect' protocol are 'basic' or 'ntlm'. The default 'connect' authentication type is 'basic'.
Supported authentication types for the 'smtp' protocol are 'plain' or 'login'. The default 'smtp' authentication type is 'plain'.
domain for the protocol negotiations
Currently, this option is only supported in the client-side 'connect' protocol.
destination address for the protocol negotiations
protocolHost specifies the final TLS server to be connected to by the proxy, and not the proxy server directly connected by stunnel. The proxy server should be specified with the 'connect' option.
Currently the protocol destination address only applies to the 'connect' protocol.
password for the protocol negotiations
Currently, this option is only supported in the client-side 'connect' and 'smtp' protocols.
username for the protocol negotiations
Currently, this option is only supported in the client-side 'connect' and 'smtp' protocols.
PSK identity for the PSK client
PSKidentity can be used on stunnel clients to select the PSK identity used for authentication. This option is ignored in server sections.
default: the first identity specified in the PSKsecrets file.
file with PSK identities and corresponding keys
Each line of the file in the following format:
IDENTITY:KEY
Hexadecimal keys are automatically converted to binary form. Keys are required to be at least 16 bytes long, which implies at least 32 characters for hexadecimal keys. The file should neither be world-readable nor world-writable.
allocate a pseudoterminal for 'exec' option
redirect TLS client connections on certificate-based authentication failures
This option only works in server mode. Some protocol negotiations are also incompatible with the redirect option.
support TLS renegotiation
Applications of the TLS renegotiation include some authentication scenarios, or re-keying long lasting connections.
On the other hand this feature can facilitate a trivial CPU-exhaustion DoS attack:
http://vincent.bernat.im/en/blog/2011-ssl-dos-mitigation.html
Please note that disabling TLS renegotiation does not fully mitigate this issue.
default: yes (if supported by OpenSSL)
attempt to use the TCP RST flag to indicate an error
This option is not supported on some platforms.
default: yes
reconnect a connect+exec section after it was disconnected
default: no
require a client certificate for verifyChain or verifyPeer
With requireCert set to no, the stunnel server accepts client connections that did not present a certificate.
Both verifyChain = yes and verifyPeer = yes imply requireCert = yes.
default: no
Unix group id
As a global option: setgid() to the specified group in daemon mode and clear all other groups.
As a service-level option: set the group of the Unix socket specified with "accept".
Unix user id
As a global option: setuid() to the specified user in daemon mode.
As a service-level option: set the owner of the Unix socket specified with "accept".
session cache size
sessionCacheSize specifies the maximum number of the internal session cache entries.
The value of 0 can be used for unlimited size. It is not recommended for production use due to the risk of a memory exhaustion DoS attack.
session cache timeout
This is the number of seconds to keep cached TLS sessions.
address of sessiond TLS cache server
Use the service as a slave service (a name-based virtual server) for Server Name Indication TLS extension (RFC 3546).
SERVICE_NAME specifies the master service that accepts client connections with the accept option. SERVER_NAME_PATTERN specifies the host name to be redirected. The pattern may start with the '*' character, e.g. '*.example.com'. Multiple slave services are normally specified for a single master service. The sni option can also be specified more than once within a single slave service.
This service, as well as the master service, may not be configured in client mode.
The connect option of the slave service is ignored when the protocol option is specified, as protocol connects to the remote host before TLS handshake.
Libwrap checks (Unix only) are performed twice: with the master service name after TCP connection is accepted, and with the slave service name during the TLS handshake.
The sni option is only available when compiled with OpenSSL 1.0.0 and later.
Use the parameter as the value of TLS Server Name Indication (RFC 3546) extension.
Empty SERVER_NAME disables sending the SNI extension.
The sni option is only available when compiled with OpenSSL 1.0.0 and later.
Set an option on the accept/local/remote socket
The values for the linger option are l_onof:l_linger. The values for the time are tv_sec:tv_usec.
Examples:
socket = l:SO_LINGER=1:60
set one minute timeout for closing local socket
socket = r:SO_OOBINLINE=yes
place out-of-band data directly into the
receive data stream for remote sockets
socket = a:SO_REUSEADDR=no
disable address reuse (enabled by default)
socket = a:SO_BINDTODEVICE=lo
only accept connections on loopback interface
select the TLS protocol version
Supported versions: all, SSLv2, SSLv3, TLSv1, TLSv1.1, TLSv1.2, TLSv1.3
Availability of specific protocols depends on the linked OpenSSL library. Older versions of OpenSSL do not support TLSv1.1, TLSv1.2 and TLSv1.3. Newer versions of OpenSSL do not support SSLv2.
Obsolete SSLv2 and SSLv3 are currently disabled by default.
Setting the option
sslVersion = SSL_VERSION
is equivalent to options
sslVersionMax = SSL_VERSION
sslVersionMin = SSL_VERSION
when compiled with OpenSSL 1.1.0 and later.
maximum supported protocol versions
Supported versions: all, SSLv3, TLSv1, TLSv1.1, TLSv1.2, TLSv1.3
all enable protocol versions up to the highest version supported by the linked OpenSSL library.
Availability of specific protocols depends on the linked OpenSSL library.
The sslVersionMax option is only available when compiled with OpenSSL 1.1.0 and later.
default: all
minimum supported protocol versions
Supported versions: all, SSLv3, TLSv1, TLSv1.1, TLSv1.2, TLSv1.3
all enable protocol versions down to the lowest version supported by the linked OpenSSL library.
Availability of specific protocols depends on the linked OpenSSL library.
The sslVersionMin option is only available when compiled with OpenSSL 1.1.0 and later.
default: TLSv1
CPU stack size of created threads
Excessive thread stack size increases virtual memory usage. Insufficient thread stack size may cause application crashes.
default: 65536 bytes (sufficient for all platforms we tested)
hexadecimal symmetric key used for session ticket confidentiality protection
Session tickets defined in RFC 5077 provide an enhanced session resumption capability, where the server-side caching is not required to maintain per session state.
Combining ticketKeySecret and ticketMacSecret options allow to resume a negotiated session on other cluster nodes, or to resume resume a negotiated session after server restart.
The key is required to be either 16 or 32 bytes long, which implies exactly 32 or 64 hexadecimal digits. Colons may optionally be used between two-character hexadecimal bytes.
This option only works in server mode.
The ticketKeySecret option is only available when compiled with OpenSSL 1.0.0 and later.
Disabling NO_TICKET option is required for the ticket support in OpenSSL older than 1.1.1, but note that this option is incompatible with the redirect option.
hexadecimal symmetric key used for session ticket integrity protection
The key is required to be either 16 or 32 bytes long, which implies exactly 32 or 64 hexadecimal digits. Colons may optionally be used between two-character hexadecimal bytes.
This option only works in server mode.
The ticketMacSecret option is only available when compiled with OpenSSL 1.0.0 and later.
time to wait for expected data
time to wait for close_notify (set to 0 for buggy MSIE)
time to wait to connect to a remote host
time to keep an idle connection
enable transparent proxy support on selected platforms
Supported values:
Disable transparent proxy support. This is the default.
Re-write the address to appear as if a wrapped daemon is connecting from the TLS client machine instead of the machine running stunnel.
This option is currently available in:
This configuration requires stunnel to be executed as root and without the setuid option.
This configuration requires the following setup for iptables and routing (possibly in /etc/rc.local or equivalent file):
iptables -t mangle -N DIVERT
iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
iptables -t mangle -A DIVERT -j MARK --set-mark 1
iptables -t mangle -A DIVERT -j ACCEPT
ip rule add fwmark 1 lookup 100
ip route add local <IP_ADDRESS>/0 dev lo table 100
echo 0 >/proc/sys/net/ipv4/conf/lo/rp_filter
stunnel must also to be executed as root and without the setuid option.
This configuration requires the kernel to be compiled with the transparent proxy option. Connected service must be installed on a separate host. Routing towards the clients has to go through the stunnel box.
stunnel must also to be executed as root and without the setuid option.
This configuration requires additional firewall and routing setup. stunnel must also to be executed as root and without the setuid option.
This configuration works by pre-loading the libstunnel.so shared library. _RLD_LIST environment variable is used on Tru64, and LD_PRELOAD variable on other platforms.
The original destination is used instead of the connect option.
A service section for transparent destination may look like this:
[transparent]
client = yes
accept = <stunnel_port>
transparent = destination
This configuration requires iptables setup to work, possibly in /etc/rc.local or equivalent file.
For a connect target installed on the same host:
/sbin/iptables -t nat -I OUTPUT -p tcp --dport <redirected_port> \
-m ! --uid-owner <stunnel_user_id> \
-j DNAT --to-destination <local_ip>:<stunnel_port>
For a connect target installed on a remote host:
/sbin/iptables -I INPUT -i eth0 -p tcp --dport <stunnel_port> -j ACCEPT
/sbin/iptables -t nat -I PREROUTING -p tcp --dport <redirected_port> \
-i eth0 -j DNAT --to-destination <local_ip>:<stunnel_port>
The transparent destination option is currently only supported on Linux.
Use both source and destination transparent proxy.
Two legacy options are also supported for backward compatibility:
This option has been renamed to source.
This option has been renamed to none.
verify the peer certificate
This option is obsolete and should be replaced with the verifyChain and verifyPeer options.
Request and ignore the peer certificate.
Verify the peer certificate if present.
Verify the peer certificate.
Verify the peer against a locally installed certificate.
Ignore the chain and only verify the peer certificate.
No verify.
verify the peer certificate chain starting from the root CA
For server certificate verification it is essential to also require a specific certificate with checkHost or checkIP.
The self-signed root CA certificate needs to be stored either in the file specified with CAfile, or in the directory specified with CApath.
default: no
verify the peer certificate
The peer certificate needs to be stored either in the file specified with CAfile, or in the directory specified with CApath.
default: no
stunnel returns zero on success, non-zero on error.
The following signals can be used to control stunnel in Unix environment:
Force a reload of the configuration file.
Some global options will not be reloaded:
chroot
foreground
pid
setgid
setuid
The use of the 'setuid' option will also prevent stunnel from binding to privileged (<1024) ports during configuration reloading.
When the 'chroot' option is used, stunnel will look for all its files (including the configuration file, certificates, the log file and the pid file) within the chroot jail.
Close and reopen the stunnel log file. This function can be used for log rotation.
Log the list of active connections.

The result of sending any other signals to the server is undefined.
In order to provide TLS encapsulation to your local imapd service, use:
[imapd]
accept = 993
exec = /usr/sbin/imapd
execArgs = imapd
or in remote mode:
[imapd]
accept = 993
connect = 143
In order to let your local e-mail client connect to a TLS-enabled imapd service on another server, configure the e-mail client to connect to localhost on port 119 and use:
[imap]
client = yes
accept = 143
connect = servername:993
If you want to provide tunneling to your pppd daemon on port 2020, use something like:
[vpn]
accept = 2020
exec = /usr/sbin/pppd
execArgs = pppd local
pty = yes
If you want to use stunnel in inetd mode to launch your imapd process, you'd use this stunnel.conf. Note there must be no [service_name] section.
exec = /usr/sbin/imapd
execArgs = imapd
To setup SOCKS VPN configure the following client service:
[socks_client]
client = yes
accept = <IP_ADDRESS>:1080
connect = vpn_server:9080
verifyPeer = yes
CAfile = stunnel.pem
The corresponding configuration on the vpn_server host:
[socks_server]
protocol = socks
accept = 9080
cert = stunnel.pem
key = stunnel.key
Now test your configuration on the client machine with:
curl --socks4a localhost http://www.example.com/
An example server mode SNI configuration:
[virtual]
; master service
accept = 443
cert = default.pem
connect = default.internal.mydomain.com:8080
[sni1]
; slave service 1
sni = virtual:server1.mydomain.com
cert = server1.pem
connect = server1.internal.mydomain.com:8081
[sni2]
; slave service 2
sni = virtual:server2.mydomain.com
cert = server2.pem
connect = server2.internal.mydomain.com:8082
verifyPeer = yes
CAfile = server2-allowed-clients.pem
An example of advanced engine configuration allows for authentication with private keys stored in the Windows certificate store (Windows only). With the CAPI engine you don't need to manually select the client key to use. The client key is automatically selected based on the list of CAs trusted by the server.
engine = capi
[service]
engineId = capi
client = yes
accept = <IP_ADDRESS>:8080
connect = example.com:8443
An example of advanced engine configuration to use the certificate and the corresponding private key from a pkcs11 engine:
engine = pkcs11
engineCtrl = MODULE_PATH:opensc-pkcs11.so
engineCtrl = PIN:123456
[service]
engineId = pkcs11
client = yes
accept = <IP_ADDRESS>:8080
connect = example.com:843
cert = pkcs11:token=MyToken;object=MyCert
key = pkcs11:token=MyToken;object=MyKey
An example of advanced engine configuration to use the certificate and the corresponding private key from a SoftHSM token:
engine = pkcs11
engineCtrl = MODULE_PATH:softhsm2.dll
engineCtrl = PIN:12345
[service]
engineId = pkcs11
client = yes
accept = <IP_ADDRESS>:8080
connect = example.com:843
cert = pkcs11:token=MyToken;object=KeyCert
stunnel cannot be used for the FTP daemon because of the nature of the FTP protocol which utilizes multiple ports for data transfers. There are available TLS-enabled versions of FTP and telnet daemons, however.
The most common use of stunnel is to listen on a network port and establish communication with either a new port via the connect option, or a new program via the exec option. However there is a special case when you wish to have some other program accept incoming connections and launch stunnel, for example with inetd, xinetd, or tcpserver.
For example, if you have the following line in inetd.conf:
imaps stream tcp nowait root /usr/local/bin/stunnel stunnel /usr/local/etc/stunnel/imaps.conf
In these cases, the inetd-style program is responsible for binding a network socket (imaps above) and handing it to stunnel when a connection is received. Thus you do not want stunnel to have any accept option. All the Service Level Options should be placed in the global options section, and no [service_name] section will be present. See the EXAMPLES section for example configurations.
Each TLS-enabled daemon needs to present a valid X.509 certificate to the peer. It also needs a private key to decrypt the incoming data. The easiest way to obtain a certificate and a key is to generate them with the free OpenSSL package. You can find more information on certificates generation on pages listed below.
The .pem file should contain the unencrypted private key and a signed certificate (not certificate request). So the file should look like this:
-----BEGIN RSA PRIVATE KEY-----
[encoded key]
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
[encoded certificate]
-----END CERTIFICATE-----
stunnel needs to seed the PRNG (pseudo-random number generator) in order for TLS to use good randomness. The following sources are loaded in order until sufficient random data has been gathered:
The file specified with the RNDfile flag.
The file specified by the RANDFILE environment variable, if set.
The file .rnd in your home directory, if RANDFILE not set.
The file specified with '--with-random' at compile time.
The contents of the screen if running on Windows.
The egd socket specified with the EGD flag.
The egd socket specified with '--with-egd-sock' at compile time.
The /dev/urandom device.
Note that on Windows machines that do not have console user interaction (mouse movements, creating windows, etc.) the screen contents are not variable enough to be sufficient, and you should provide a random file for use with the RNDfile flag.
Note that the file specified with the RNDfile flag should contain random data -- that means it should contain different information each time stunnel is run. This is handled automatically unless the RNDoverwrite flag is used. If you wish to update this file manually, the openssl rand command in recent versions of OpenSSL, would be useful.
Important note: If /dev/urandom is available, OpenSSL often seeds the PRNG with it while checking the random state. On systems with /dev/urandom OpenSSL is likely to use it even though it is listed at the very bottom of the list above. This is the behaviour of OpenSSL and not stunnel.
stunnel 4.40 and later contains hardcoded 2048-bit DH parameters. Starting with stunnel 5.18, these hardcoded DH parameters are replaced every 24 hours with autogenerated temporary DH parameters. DH parameter generation may take several minutes.
Alternatively, it is possible to specify static DH parameters in the certificate file, which disables generating temporary DH parameters:
openssl dhparam 2048 >> stunnel.pem
stunnel configuration file
The execArgs option and the Win32 command line do not support quoting.
access control facility for internet services
internet 'super-server'
stunnel homepage
OpenSSL project website
<EMAIL_ADDRESS>| stunnel TLS Proxy |


A collection of notes and observations
How you approach accessibility depends on where you are....
- As a printed document
- As a virtual document...taking advantage of OS functions
- As an online document...taking advantage of browser functions
- As a web document..taking advantage of markup capabilities


Menu
Home
Categories
About Us
Science
Technology
Engineering
Math
Miscellaneous
STEMgurlz
Find out about cool resources in the STEM feilds you are passionate about!
Let's Go!
S
T
E
M
Science
See More
Technology
See More
Engineering
See More
Math
See More


{% extends "base.html" %} {% load url from future %} {% block title %} UWA Class2Go | Terms of Service {% endblock title %} {% block topnav %} {% endblock topnav %} {% block navbar %} {% endblock navbar %} {% block m_column_content %}
1. Your relationship with UWA
1.1. Your use of Class2Go is subject to the terms of a legal agreement between you and UWA. This document explains how the agreement is made up, and sets out some of the terms of that agreement.
1.2. Unless otherwise agreed in writing with UWA, your agreement with UWA will always include, at a minimum, the terms and conditions set out in this document. These are referred to below as the "Universal Terms".
1.3. Your agreement with UWA will also include the terms of any Legal Notices applicable to the Services, in addition to the Universal Terms. All of these are referred to below as the "Additional Terms". Where Additional Terms apply to a Service, these will be accessible for you to read either within, or through your use of, that Service.
1.4. The Universal Terms, together with the Additional Terms, form a legally binding agreement between you and UWA in relation to your use of the Services. It is important that you take the time to read them carefully. Collectively, this legal agreement is referred to below as the "Terms".
1.5. If there is any contradiction between what the Additional Terms say and what the Universal Terms say, then the Additional Terms shall take precedence in relation to that Service.
2. Accepting the Terms
2.1. In order to use the Services, you must first agree to the Terms. You may not use the Services if you do not accept the Terms.
2.2. You can accept the Terms by:
2.2.1. Clicking to accept or agree to the Terms, where this option is made available to you by UWA in the user interface for any Service; or
2.2.2. By actually using the Services. In this case, you understand and agree that UWA will treat your use of the Services as acceptance of the Terms from that point onwards.
2.2.3. You may not use the Services and may not accept the Terms if (a) you are not of legal age to form a binding contract with UWA, or (b) you are a person barred from receiving the Services under the laws of Western Australia
3. Provision of the Services by UWA
3.1. UWA is constantly innovating in order to provide the best possible experience for its users of Class2Go. You acknowledge and agree that the form and nature of the Services which UWA provides may change from time to time without prior notice to you.
4. Use of the Services by you
4.1. In order to access certain Services, you may be required to provide information about yourself (such as identification or contact details) as part of the registration process for the Service, or as part of your continued use of the Services. You agree that any registration information you give to UWA will always be accurate, correct and up to date.
4.2. You agree to use the Services only for purposes that are permitted by (a) the Terms and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from Australia or other relevant countries).
4.3. You agree not to access (or attempt to access) any of the Services by any means other than through the interface that is provided by UWA, unless you have been specifically allowed to do so in a separate agreement with UWA. You specifically agree not to access (or attempt to access) any of the Services through any automated means (including use of scripts).
4.4. You agree that you will not engage in any activity that interferes with or disrupts the Services (or the servers and networks which are connected to the Services).
4.5. Unless you have been specifically permitted to do so in a separate agreement with UWA, you agree that you will not reproduce, duplicate, copy, sell, trade or resell the Services for any purpose.
4.6. You agree that you are solely responsible for (and that UWA has no responsibility to you or to any third party for) any breach of your obligations under the Terms and for the consequences (including any loss or damage which UWA may suffer) of any such breach.
5. Your passwords and account security
5.1. You agree and understand that you are responsible for maintaining the confidentiality of passwords associated with any account you use to access the Services.
5.2. Accordingly, you agree that you will be solely responsible to UWA for all activities that occur under your account.
5.3. If you become aware of any unauthorized use of your password or of your account, you agree to notify UWA immediately at<EMAIL_ADDRESS>6. Privacy and your personal information
6.1. For information about UWA's data protection practices, please read UWA's privacy policy at http://www.Class2Go.net.au/Class2Go-privacy-policy. This policy explains how UWA treats your personal information, and protects your privacy, when you use the Services.
6.2. You agree to the use of your data in accordance with UWA's privacy policies.
6.3. In addition, the laws of Australia and Western Australia provide for adherence to privacy principles and you agree to abide by the terms of such laws and principles, as amended by legislation from time to time.
7. Content in the Services
7.1. You understand that all information (such as data files, written text, computer software, music, audio files or other sounds, photographs, videos or other images) which you may have access to as part of, or through your use of, the Services are the sole responsibility of the person from which such content originated. All such information is referred to below as the "Content".
7.2. All Content is held in an encrypted form and will not be viewed by UWA unless specifically required to by you or operation of law.
7.3. You agree that you are solely responsible for (and that UWA has no responsibility to you or to any third party for) any Content that you create, transmit or display while using the Services and for the consequences of your actions (including any loss or damage which UWA may suffer) by doing so.
8. Proprietary rights
8.1. You acknowledge and agree that UWA (or UWA's licensors) own all legal right, title and interest in and to the Services, including any intellectual property rights which subsist in the Services (whether those rights happen to be registered or not, and wherever in the world those rights may exist). You further acknowledge that the Services may contain information which is designated confidential by UWA and that you shall not disclose such information without UWA's prior written consent.
8.2. Unless you have agreed otherwise in writing with UWA, nothing in the Terms gives you a right to use any of UWA's trade names, trade marks, service marks, logos, domain names, and other distinctive brand features.
8.3. Other than the limited license set forth in Section 11, UWA acknowledges and agrees that it obtains no right, title or interest from you (or your licensors) under these Terms in or to any Content that you submit, post, transmit or display on, or through, the Services, including any intellectual property rights which subsist in that Content (whether those rights happen to be registered or not, and wherever in the world those rights may exist). Unless you have agreed otherwise in writing with UWA, you agree that you are responsible for protecting and enforcing those rights and that UWA has no obligation to do so on your behalf.
8.4. You agree that you shall not remove, obscure, or alter any proprietary rights notices (including copyright and trade mark notices) which may be affixed to or contained within the Services.
8.5. Unless you have been expressly authorized to do so in writing by UWA, you agree that in using the Services, you will not use any trade mark, service mark, trade name, logo of any company or organization in a way that is likely or intended to cause confusion about the owner or authorized user of such marks, names or logos.
9. License from UWA
9.1. UWA gives you a personal, worldwide, royalty-free, non-assignable and non-exclusive licence to use the software provided to you by UWA as part of the Services as provided to you by UWA (referred to as the "Software" below). This licence is for the sole purpose of enabling you to usethe Services as provided by UWA, in the manner permitted by the Terms.
9.2. You may not (and you may not permit anyone else to) copy, modify, create a derivative work of, reverse engineer, decompile or otherwise attempt to extract the source code of the Software or any part thereof, unless this is expressly permitted or required by law, or unless you have been specifically told that you may do so by UWA, in writing.
9.3. Unless UWA has given you specific written permission to do so, you may not assign (or grant a sub-licence of) your rights to use the Software, grant a security interest in or over your rights to use the Software, or otherwise transfer any part of your rights to use the Software.
10. Content licence from you
10.1. You retain copyright and any other rights you already hold in Content which you submit through the Services. By submitting the content you give UWA permission to pass this content to the stated recipients.
10.2. You understand that UWA, in performing the required technical steps to provide the Services to our users, may (a) transmit or distribute your Content over various public networks and in various media; and (b) make such changes to your Content as are necessary to conform and adapt that Content to the technical requirements of connecting networks, devices, services or media. You agree that this licence shall permit UWA to take these actions.
10.3. You confirm and warrant to UWA that you have all the rights, power and authority necessary to grant the above licence.
11. Ending your relationship with UWA
11.1. The Terms will continue to apply until terminated by either you or UWA as set out below.
11.2. If you want to terminate your legal agreement with UWA, you may do so by (a) notifying UWA at any time. Your notice should be sent, in writing, to UWA's address which is set out at the beginning of these Terms.
11.3. UWA may at any time, terminate its legal agreement with you if:
11.3.1. You have breached any provision of the Terms (or have acted in manner which clearly shows that you do not intend to, or are unable to comply with the provisions of the Terms); or
11.3.2. UWA is required to do so by law (for example, where the provision of the Services to you is, or becomes, unlawful); or
11.3.3. The partner with whom UWA offered the Services to you has terminated its relationship with UWA or ceased to offer the Services to you; or
11.3.4. The provision of the Services to you by UWA is, in UWA's opinion, no longer commercially viable.
11.3.5. Nothing in this Section shall affect UWA's rights regarding provision of Services under Section 4 of the Terms.
11.3.6. When these Terms come to an end, all of the legal rights, obligations and liabilities that you and UWA have benefited from, been subject to (or which have accrued over time whilst the Terms have been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 20.7 shall continue to apply to such rights, obligations and liabilities indefinitely.
12. EXCLUSION OF WARRANTIES
12.1. NOTHING IN THESE TERMS, INCLUDING SECTIONS 13 AND 14, SHALL EXCLUDE OR LIMIT UWA'S WARRANTY OR LIABILITY FOR LOSSES WHICH MAY NOT BE LAWFULLY EXCLUDED OR LIMITED BY APPLICABLE LAW. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF CERTAIN WARRANTIES OR CONDITIONS OR THE LIMITATION OR EXCLUSION OF LIABILITY FOR LOSS OR DAMAGE CAUSED BY NEGLIGENCE, BREACH OF CONTRACT OR BREACH OF IMPLIED TERMS, OR INCIDENTAL OR CONSEQUENTIAL DAMAGES.
12.3. IN PARTICULAR, UWA, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS DO NOT REPRESENT OR WARRANT TO YOU THAT:
12.3.1. YOUR USE OF THE SERVICES WILL MEET YOUR REQUIREMENTS,
12.3.2. YOUR USE OF THE SERVICES WILL BE UNINTERRUPTED, TIMELY, SECURE OR FREE FROM ERROR,
12.3.3. ANY INFORMATION OBTAINED BY YOU AS A RESULT OF YOUR USE OF THE SERVICES WILL BE ACCURATE OR RELIABLE, AND
12.3.4. THAT DEFECTS IN THE OPERATION OR FUNCTIONALITY OF ANY SOFTWARE PROVIDED TO YOU AS PART OF THE SERVICES WILL BE CORRECTED.
12.3.5.
13. LIMITATION OF LIABILITY
13.1.  ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES WHICH MAY BE INCURRED BY YOU, HOWEVER CAUSED AND UNDER ANY THEORY OF LIABILITY.. THIS SHALL INCLUDE, BUT NOT BE LIMITED TO, ANY LOSS OF PROFIT (WHETHER INCURRED DIRECTLY OR INDIRECTLY), ANY LOSS OF GOODWILL OR BUSINESS REPUTATION, ANY LOSS OF DATA SUFFERED, COST OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR OTHER INTANGIBLE LOSS;
13.1.2. ANY LOSS OR DAMAGE WHICH MAY BE INCURRED BY YOU, INCLUDING BUT NOT LIMITED TO LOSS OR DAMAGE AS A RESULT OF:
<IP_ADDRESS>.  ANY CHANGES WHICH UWA MAY MAKE TO THE SERVICES, OR FOR ANY PERMANENT OR TEMPORARY CESSATION IN THE PROVISION OF THE SERVICES (OR ANY FEATURES WITHIN THE SERVICES);
<IP_ADDRESS>. THE DELETION OF, CORRUPTION OF, OR FAILURE TO STORE, ANY CONTENT AND OTHER COMMUNICATIONS DATA MAINTAINED OR TRANSMITTED BY OR THROUGH YOUR USE OF THE SERVICES;
<IP_ADDRESS>. YOUR FAILURE TO PROVIDE UWA WITH ACCURATE ACCOUNT INFORMATION;
<IP_ADDRESS>.  THE LIMITATIONS ON UWA'S LIABILITY TO YOU IN PARAGRAPH 15.1 ABOVE SHALL APPLY WHETHER OR NOT UWA HAS BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
14. Copyright and trade mark policies
14.1. It is UWA's policy to respond to notices of alleged copyright infringement that comply with applicable international intellectual property law (including, in the United States of America, the Digital Millennium Copyright Act) and to terminating the accounts of repeat infringers. Details of UWA's policy can be found at http://www.uwa.edu.au/Copyright-Guidelines.
15. Changes to the Terms
15.1. UWA may make changes to the Universal Terms or Additional Terms from time to time. When these changes are made, UWA will make a new copy of the Universal Terms available at https://www.class2go.uwa.edu.au/terms_of_service and any new Additional Terms will be made available to you from within, or through, the affected Services.
15.2. You understand and agree that if you use the Services after notice of, and after the date on which the Universal Terms or Additional Terms have changed, UWA will treat your use as acceptance of the updated Universal Terms or Additional Terms.
16. General legal terms
16.1. The Terms constitute the whole legal agreement between you and UWA and govern your use of the Services (but excluding any services which UWA may provide to you under a separate written agreement), and completely replace any prior agreements between you and UWA in relation to the Services.
16.2. You agree that UWA may provide you with notices, including those regarding changes to the Terms, by email, regular mail, or postings on the Services.
16.3. You agree that if UWA does not exercise or enforce any legal right or remedy which is contained in the Terms (or which UWA has the benefit of under any applicable law), this will not be taken to be a formal waiver of UWA's rights and that those rights or remedies will still be available to UWA.
16.4. If any court of law, having the jurisdiction to decide on this matter, rules that any provision of these Terms is invalid, then that provision will be removed from the Terms without affecting the rest of the Terms. The remaining provisions of the Terms will continue to be valid and enforceable.
16.5. You acknowledge and agree that each member of the group of companies of which UWA is the parent shall be third party beneficiaries to the Terms and that such other companies shall be entitled to directly enforce, and rely upon, any provision of the Terms which confers a benefit on (or rights in favour of) them. Other than this, no other person or company shall be third party beneficiaries to the Terms.
16.6. The Terms, and your relationship with UWA under the Terms, shall be governed by the laws of Western Australia without regard to its conflict of laws provisions. Notwithstanding this, you agree that UWA shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.


Why MoodWiz
A report by the World Health Organisation (WHO) revealed that 7.5 per cent of the Indian
population suffers from some form of mental disorder. Mental illnesses constitute
one-sixth of all health-related disorders and India accounted for nearly 15% of the
global mental, neurological and substance abuse disorder burden. The treatment gap,
which is defined as the prevalence of mental illnesses and the proportion of patients
that get treatment, is over 70 per cent. WHO also predicts that by 2020, roughly 20 per
cent of India will suffer from mental illnesses. And to cater to this demographic, we
have less than 4,000 mental health professionals.
Be Kind to your Mind
In our country, the discovery of a mental illness is often followed by denial and
hesitation to seek help. Despite its enormous social burden, mental health remains a
taboo subject that is susceptible to age-old stigmas, prejudices and fears. Even though
mental disorders can be cured or controlled, most people tend to sweep their issues
under the carpet and suffer in silence. Not only do we need to actively foster awareness
about mental health, we also need to create awareness about the absurdity of the stigmas
attached to mental health, in order to eradicate them.
About MoodWiz
As highlighted in the background as well, most people in our society think of mental
illnesses or disorders like a taboo. It is high time now that we normalize mental disorders
like any other disease, like cancer or diabetes. We need to understand that people with
Mental Illnesses need acceptance and guidance. Given the current ratio of Patients to Mental
Health Professionals, we are emphasizing on Raising the Line to help address these issues.
We at Team codeBlooded, have consulted with Counselors and Psychologists to understand the
needs of those who require help with their mind and have curated a Web Application that will
definitely be beneficial to our society with proper implementation.