Company profile - Canadian Company Capabilities
Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
Spearhead Management Canada Limited
Mailing Address:
887 Richmond RdOTTAWA, Ontario
K2A 0G8
Location Address:
887 Richmond RdOTTAWA, Ontario
K2A 0G8
Tel.:<PHONE_NUMBER>
Fax:<PHONE_NUMBER>
Logo
Company Profile
Spearhead Management Canada Ltd. is a Canadian consulting firm specializing in Information Technology, audits, management assignments and information systems. We represent an amalgamation of three well established and reputable National Capital Region professional services organizations, Kischi Konsulting Inc. (established in 1994), Progestic International Inc. (established 1982) and FSG (established 1993). Spearhead has 3 (or fewer)employees and approximately 100 associates in the various practices.
Our prime objective continues to be satisfying the needs of our customers and our associates by providing optimal services in Information Management / Information Technology Consulting and Management and Audit.
With an enviable growth record, primarily as a result of the recommendations of our clients and partners; Spearhead has established a solid reputation based on the ability of our consultants to deliver quality services time and time again. Our successes have enabled us to attract and maintain top quality IT professionals.
Our IT professionals offer expertise in a broad range of services from legacy systems to new and emerging technologies. Whether our clients need assistance in developing complete applications or simply complement their existing IT capabilities, our consultants can provide the knowledge and expertise required. We maintain an extensive resource database, consisting of consultants with diverse backgrounds, skill sets, experience and knowledge.
Spearhead has service delivery capabilities in the following areas:
Application Development and Maintenance
Web development/E-Commerce
Database Development/Data Warehousing
Project Management/Team Leadership
IT Architecture/Business Analysis
Systems Analysis
Help Desk Support
Security and Continuity Services
Object Oriented Analysis
Management and Audit
Knowledge and Information Management
Full profile
Full profile
Contact information
Company description
Product / Service / Licensing
assist in auditing all aspects of an operation.
Our team of qualified professionals with specific expertise,
blend into a client's organization. Specially trained and
experienced, Spearhead consultants provide strategic advice to
help senior managers solve managerial problems and increase
effectiveness and productivity.
They assist managers diagnose problems in areas of
organizational effectiveness, operations, strategic planning,
human resources and make recommendations for solutions.
Spearhead enables managers to gain a better understanding of
modern techniques, tools and managerial knowledge to respond to
current business and economic changes.
The ultimate goal is to bring value-added to every project we
undertake.
SPEARHEAD offers a fresh perspective on a wide range of professional IT services that are tailor made for your organization's most complex business requirements. In a world where change is dynamically constant, effective and efficient, management of information and information technology is vital to success in the changing marketplace. Our staff is selected for their acumen in integrating business and technology strategies. Using the latest technological skills in today's market, they perform the full spectrum of strategic IT services.
Our experience and skills form a powerful combination that will help your company bridge the data processing gap and implement new applications in your existing environment. We provide end-to-end solutions for our clients to move seamlessly into the electronic economy. Let us advise you, equip you with the IT systems you need, and, if required, manage these systems on your behalf.
Spearhead offers a professional, practical approach to implementing top quality system solutions that are as individual as they are flexible. We provide turnkey services and solutions in any electronic environment.
Our core IT service lines include:
IT Consulting
Applications Development
GIS Systems
Systems Integration
Outsourcing Services
Application development services have traditionally been provided by Spearhead in the form of large development projects and by project phase according to clients' needs. As discussed earlier, Spearhead has geared up with the addition of new resources to provide an even wider range of application development services. From the definition of business requirements through design, development, implementation, testing, training and support, Spearhead can address each and every phase of the System Development Life Cycle. Spearhead staffing has always been accomplished with an eye to the most relevant technologies for our client base. Spearhead is particularly strong in the areas of: .Net Development Suite, UML, XML, Java, PowerBuilder, Visual Basic, Oracle and SQL Server.
Web enabled Application Development offers customers a range of web enabling services and technologies ranging from the design and construction of web front-ends to existing systems, to the development and delivery of complete web-based applications.
Intranet and Extranet developments can provide vehicles for the use of web applications such as these or they can stand on their own, utilizing web COTS products to provide traditional business services.
The development of applications is but one step towards a total solution. Spearhead has traditionally provided application development services in a broad range of scenarios. The integration of new or existing applications with data, equipment and existing systems is the focus of this line of business.
Spearhead's large and ever-expanding resource base, its infrastructure and strategic alliances give Spearhead the ability to deliver and support a complete turn-key information system with network design and cutting-edge security measures taken into account.
A portal is a single web interface that provides personalized access to information, applications, business processes and much more. With portal technology, your organization can lower development and deployment costs and significantly increase productivity. You can aggregate and integrate information within a particular working environment, application or service, or use a single interface to target an individual users' needs and interests.
Spearhead has developed sizeable portals for the Government of Canada and the Ontario Government.
Regardless of your organization or business, we can help you
develop a fully functional commerce-enabled web site retailing
hard goods, soft goods or subscriptions. We'll provide the
technical infrastructure for your on-line transactions and
develop fully functional web sites. Also, we can assist in the
creation of your electronic product catalogue and integrate this
new technology with your existing legacy systems.
Spearhead and its partner, nGageTM Electronic Commerce, have
developed one of the leading E-Commerce solutions currently
being used by a variety of North American organizations. We
provide secure, real-time transaction processing and management
services for our clients. Our service offers: on-line reporting,
credit card authorization, tax and shipping calculations, and
payment processing and settlement. Included in our solution is a
reporting system that answers those important business
questions: what's selling, what's not moving, what promotions
are working and who are your customers. All of these services
are supported 24 hours a day, seven days a week.
consulting to organizations moving towards implementing or
expanding business use of cryptography. Spearhead's PKI
Consulting Services are oriented towards engagements early in
the planning cycle, enabling businesses to maximize their return
on investment in public-key infrastructure (PKI) and related
technologies.
In September of 1999, Spearhead secured a partnership with
Entrust Technologies as System's Integrators for their complete
PKI product line. This enables Spearhead to provide its clients
with best-of-breed security solutions based on the award-winning
Entrust family of products.
Spearhead offers a full range of professional sercices for PKI
customers, including:
PKI Policy Development
Application PKI Security Review
PKI Systems Integration and management
PKI-enabling existing applications
Spearhead offers the following Knowledge and Information Management services:
Knowledge Management strategy and business plan
Information Products Management
Accountability and Results-Based Framework and Evaluation
Document Management
Records Management
Correspondence Management
Business Processes and Workflows
SPEARHEAD has been involved with a number of public sector organizations to help them organize their information holdings to meet, not only current legal requirements, but also Government On-Line and their growing access to information requirements.
SPEARHEAD is now recognized as a leader in the development and implementation of leading edge tools and methodologies such as:
Functional Classification Systems
ISO 15849 standard on records management
Thesaurus development
Business Rules for EDRMS
Metadata
Migration Strategies
Training and Awareness Strategies
Information Tracking Solutions
RDIMS (pronounced "R-DIMS") is a Canadian Federal Government shared system initiative addressing information management problems. A set of tightly integrated commercial-off-the-shelf software products make up the RDIMS solution. RDIMS integrates records management, document management, imaging, optical character recognition, full-text indexing search and retrieval, workflow, an on-line document viewer and reporting capabilities. The full document life cycle of any type of electronic document, such as electronic mail correspondence, reports, manuals, electronic mail, images, graphics and spreadsheets are managed by RDIMS. RDIMS also supports the management of non-electronic documents such as paper, photographs, maps, video and audio tapes.
RDIMS enhances service delivery, provides better support to decision-makers, makes knowledge workers more productive, promotes information sharing and re-use, ensures compliance with Federal legislation and Government Policy and enhances the efficiency of the records management function. To date, fourteen Canadian federal institutions are using RDIMS.
The Spearhead team has extensive experience with RDIMS core applications (Hummingbird DM, ForeMost RM, iRIMS RM, Docs rm) and with test scenario software, development, functional testing, and data and application correction experience within the Government of Canada Information Systems environment.
The Government of Canada has initiated the following acts regarding privacy and security:
Emergency Preparedness Act
Government Security Policy
Management of Government Information Holdings Policy
Risk Management Policy
Management of Information Technology Policy
In response to pent-up demand regarding IT security, emergency planning and risk management over the last several years, Spearhead Management Canada has conducted numerous reviews, audits, assessments and planning studies for provincial and federal government agencies including:
Privacy Impact Assessment (PIA)
Threat and Risk Assessment (TRA)
Statement of Sensitivity (SoS)
Emergency Preparedness
Business Continuity Planning (DRP/BRP) (for more information, please refer to the Treasury Board of Canada web site: http://www.tbs-sct.gc.ca/pubs_pol/gospubs/TB_J2/brp1_e.asp#_Toc447076166
Security Audits/Reviews
Includes the security of data, equipment, human resources, and physical (buildings)
PIA - Privacy Impact Assessment provides a framework that ensures privacy is addressed in the design of programs and services
TRA - Threat and Risk Assessments consists of determining what is to be protected, why it is being protected, what to protect against and whether existing or proposed security measures are acceptable and suitable.
PWGSC Three year SO to conduct base building security TRAs for approximately 300 buildings in the NCR. The approach is centered on a computer application designed specifically to provide screening-level assessment in government buildings to provide baseline security requirements including business continuity planning and continuous risk management
SoS Statement of Sensitivity If your project involves electronic service delivery, you may need to consider an SOS to determine the sensitivity of any vulnerabilities to personal information, along with mitigating risks from unauthorized access to this information
Business Continuity Planning (or DRP/BRP) plan to effectively respond to a disruption in normal business functions
R002-Technology Sharing/Utilization Services
R005-Technical Assistance
R007-Systems Engineering Services
R009-Accounting Services
R010-Auditing Services
R019-Other Professional Services
Market profile
Alliances:
- Sales/Marketing
Industry sector market interests:
- Information Technology and Telecommunications
Geographic markets:
Actively pursuing:
- France
- United States
- California
- Florida
Sector information
Key / Major clients:
Agriculture CanadaCIDA
City of Ottawa
CRA
CBSA
DND
DFAIT
Health Canada
INAC
NRCan
PSC - PSEPC
PWGSC
Success stories:
Spearhead Management holds various SA's and SO's in Information Technology, Management Consulting and Audit Services. Existing Supply Arrangements and Standing Offers include:Public Works and Government Services Canada (PWGSC)
- Task Based Informatics Professional Services (TBIPS) SA & SO
- Temporary Help Services (THS)
- Professional Services OnLine (PSO)
- Professional Audit Support Services (PASS) SA (WS 1: Internal Audit, Workstream 8: Recipient Audit, Workstream 3: IT Audit, Workstream 6: Financial Services)
Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
Contacts
Contact information
Description
Company description
Products, services and licensing
Product / Service / Licensing
assist in auditing all aspects of an operation.
Our team of qualified professionals with specific expertise,
blend into a client's organization. Specially trained and
experienced, Spearhead consultants provide strategic advice to
help senior managers solve managerial problems and increase
effectiveness and productivity.
They assist managers diagnose problems in areas of
organizational effectiveness, operations, strategic planning,
human resources and make recommendations for solutions.
Spearhead enables managers to gain a better understanding of
modern techniques, tools and managerial knowledge to respond to
current business and economic changes.
The ultimate goal is to bring value-added to every project we
undertake.
SPEARHEAD offers a fresh perspective on a wide range of professional IT services that are tailor made for your organization's most complex business requirements. In a world where change is dynamically constant, effective and efficient, management of information and information technology is vital to success in the changing marketplace. Our staff is selected for their acumen in integrating business and technology strategies. Using the latest technological skills in today's market, they perform the full spectrum of strategic IT services.
Our experience and skills form a powerful combination that will help your company bridge the data processing gap and implement new applications in your existing environment. We provide end-to-end solutions for our clients to move seamlessly into the electronic economy. Let us advise you, equip you with the IT systems you need, and, if required, manage these systems on your behalf.
Spearhead offers a professional, practical approach to implementing top quality system solutions that are as individual as they are flexible. We provide turnkey services and solutions in any electronic environment.
Our core IT service lines include:
IT Consulting
Applications Development
GIS Systems
Systems Integration
Outsourcing Services
Application development services have traditionally been provided by Spearhead in the form of large development projects and by project phase according to clients' needs. As discussed earlier, Spearhead has geared up with the addition of new resources to provide an even wider range of application development services. From the definition of business requirements through design, development, implementation, testing, training and support, Spearhead can address each and every phase of the System Development Life Cycle. Spearhead staffing has always been accomplished with an eye to the most relevant technologies for our client base. Spearhead is particularly strong in the areas of: .Net Development Suite, UML, XML, Java, PowerBuilder, Visual Basic, Oracle and SQL Server.
Web enabled Application Development offers customers a range of web enabling services and technologies ranging from the design and construction of web front-ends to existing systems, to the development and delivery of complete web-based applications.
Intranet and Extranet developments can provide vehicles for the use of web applications such as these or they can stand on their own, utilizing web COTS products to provide traditional business services.
The development of applications is but one step towards a total solution. Spearhead has traditionally provided application development services in a broad range of scenarios. The integration of new or existing applications with data, equipment and existing systems is the focus of this line of business.
Spearhead's large and ever-expanding resource base, its infrastructure and strategic alliances give Spearhead the ability to deliver and support a complete turn-key information system with network design and cutting-edge security measures taken into account.
A portal is a single web interface that provides personalized access to information, applications, business processes and much more. With portal technology, your organization can lower development and deployment costs and significantly increase productivity. You can aggregate and integrate information within a particular working environment, application or service, or use a single interface to target an individual users' needs and interests.
Spearhead has developed sizeable portals for the Government of Canada and the Ontario Government.
Regardless of your organization or business, we can help you
develop a fully functional commerce-enabled web site retailing
hard goods, soft goods or subscriptions. We'll provide the
technical infrastructure for your on-line transactions and
develop fully functional web sites. Also, we can assist in the
creation of your electronic product catalogue and integrate this
new technology with your existing legacy systems.
Spearhead and its partner, nGageTM Electronic Commerce, have
developed one of the leading E-Commerce solutions currently
being used by a variety of North American organizations. We
provide secure, real-time transaction processing and management
services for our clients. Our service offers: on-line reporting,
credit card authorization, tax and shipping calculations, and
payment processing and settlement. Included in our solution is a
reporting system that answers those important business
questions: what's selling, what's not moving, what promotions
are working and who are your customers. All of these services
are supported 24 hours a day, seven days a week.
consulting to organizations moving towards implementing or
expanding business use of cryptography. Spearhead's PKI
Consulting Services are oriented towards engagements early in
the planning cycle, enabling businesses to maximize their return
on investment in public-key infrastructure (PKI) and related
technologies.
In September of 1999, Spearhead secured a partnership with
Entrust Technologies as System's Integrators for their complete
PKI product line. This enables Spearhead to provide its clients
with best-of-breed security solutions based on the award-winning
Entrust family of products.
Spearhead offers a full range of professional sercices for PKI
customers, including:
PKI Policy Development
Application PKI Security Review
PKI Systems Integration and management
PKI-enabling existing applications
Spearhead offers the following Knowledge and Information Management services:
Knowledge Management strategy and business plan
Information Products Management
Accountability and Results-Based Framework and Evaluation
Document Management
Records Management
Correspondence Management
Business Processes and Workflows
SPEARHEAD has been involved with a number of public sector organizations to help them organize their information holdings to meet, not only current legal requirements, but also Government On-Line and their growing access to information requirements.
SPEARHEAD is now recognized as a leader in the development and implementation of leading edge tools and methodologies such as:
Functional Classification Systems
ISO 15849 standard on records management
Thesaurus development
Business Rules for EDRMS
Metadata
Migration Strategies
Training and Awareness Strategies
Information Tracking Solutions
RDIMS (pronounced "R-DIMS") is a Canadian Federal Government shared system initiative addressing information management problems. A set of tightly integrated commercial-off-the-shelf software products make up the RDIMS solution. RDIMS integrates records management, document management, imaging, optical character recognition, full-text indexing search and retrieval, workflow, an on-line document viewer and reporting capabilities. The full document life cycle of any type of electronic document, such as electronic mail correspondence, reports, manuals, electronic mail, images, graphics and spreadsheets are managed by RDIMS. RDIMS also supports the management of non-electronic documents such as paper, photographs, maps, video and audio tapes.
RDIMS enhances service delivery, provides better support to decision-makers, makes knowledge workers more productive, promotes information sharing and re-use, ensures compliance with Federal legislation and Government Policy and enhances the efficiency of the records management function. To date, fourteen Canadian federal institutions are using RDIMS.
The Spearhead team has extensive experience with RDIMS core applications (Hummingbird DM, ForeMost RM, iRIMS RM, Docs rm) and with test scenario software, development, functional testing, and data and application correction experience within the Government of Canada Information Systems environment.
The Government of Canada has initiated the following acts regarding privacy and security:
Emergency Preparedness Act
Government Security Policy
Management of Government Information Holdings Policy
Risk Management Policy
Management of Information Technology Policy
In response to pent-up demand regarding IT security, emergency planning and risk management over the last several years, Spearhead Management Canada has conducted numerous reviews, audits, assessments and planning studies for provincial and federal government agencies including:
Privacy Impact Assessment (PIA)
Threat and Risk Assessment (TRA)
Statement of Sensitivity (SoS)
Emergency Preparedness
Business Continuity Planning (DRP/BRP) (for more information, please refer to the Treasury Board of Canada web site: http://www.tbs-sct.gc.ca/pubs_pol/gospubs/TB_J2/brp1_e.asp#_Toc447076166
Security Audits/Reviews
Includes the security of data, equipment, human resources, and physical (buildings)
PIA - Privacy Impact Assessment provides a framework that ensures privacy is addressed in the design of programs and services
TRA - Threat and Risk Assessments consists of determining what is to be protected, why it is being protected, what to protect against and whether existing or proposed security measures are acceptable and suitable.
PWGSC Three year SO to conduct base building security TRAs for approximately 300 buildings in the NCR. The approach is centered on a computer application designed specifically to provide screening-level assessment in government buildings to provide baseline security requirements including business continuity planning and continuous risk management
SoS Statement of Sensitivity If your project involves electronic service delivery, you may need to consider an SOS to determine the sensitivity of any vulnerabilities to personal information, along with mitigating risks from unauthorized access to this information
Business Continuity Planning (or DRP/BRP) plan to effectively respond to a disruption in normal business functions
R002-Technology Sharing/Utilization Services
R005-Technical Assistance
R007-Systems Engineering Services
R009-Accounting Services
R010-Auditing Services
R019-Other Professional Services
Market
Market profile
Alliances:
- Sales/Marketing
Industry sector market interests:
- Information Technology and Telecommunications
Geographic markets:
Actively pursuing:
- France
- United States
- California
- Florida
Sector
Sector information
Key / Major clients:
Agriculture CanadaCIDA
City of Ottawa
CRA
CBSA
DND
DFAIT
Health Canada
INAC
NRCan
PSC - PSEPC
PWGSC
Success stories:
Spearhead Management holds various SA's and SO's in Information Technology, Management Consulting and Audit Services. Existing Supply Arrangements and Standing Offers include:Public Works and Government Services Canada (PWGSC)
- Task Based Informatics Professional Services (TBIPS) SA & SO
- Temporary Help Services (THS)
- Professional Services OnLine (PSO)
- Professional Audit Support Services (PASS) SA (WS 1: Internal Audit, Workstream 8: Recipient Audit, Workstream 3: IT Audit, Workstream 6: Financial Services)


Smoking outdoors on campus property has always been allowed, until recently, when many campuses in Ontario decided to take up a smoke-free policy. Smoke-free campuses are crucial to lessening the smoking habits of young people before it damages their health. This policy would also prevent underage students from smoking marijuana cigarettes on campus, as well as protect the other students from second-hand smoke. There is a studied correlation between limited smoking zones on campus and a decrease in the number of students who choose to smoke, ultimately decreasing harmful smoking habits in our future generations. This change in policy is especially as unregulated e-cigarettes rise I popularity. These e-cigarettes have been traced as the source to numerous dangerous lung infections in young people and have encouraged a new generation of smokers. Smoking is an addictive habit that becomes harder and harder to quit, making it essential to encourage young people to quit smoking and discourage others from beginning. As more and more post-secondary schools choose to have smoke-free campuses, students will be influenced to lead smoke-free lifestyles.


Hello Portland. Are you down with the
Sickness?
Enter your ailment!
Enter your ailment here:
Enter a Doctor's name!
Enter Doctor's Name:
We'll find a Doctor to treat your ailment!
SUBMIT!


PlateFlex is a software for estimating the effective elastic thickness of the lithosphere from the inversion of flexural isostatic response functions calculated from a wavelet analysis of gravity and topography data.
Licence¶
Copyright 2019 Pascal Audet
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Installation¶
Dependencies¶
The current version was developed using Python3.7 Also, the following package is required:
See below for full installation details.
Conda environment¶
We recommend creating a custom conda
environment
where platecurie
can be installed along with its dependencies.
conda create -n curie python=3.7 fortran-compiler numpy pymc3 matplotlib seaborn -c conda-forge
Activate the newly created environment:
conda activate curie
Install the required plateflex
software
(see here)
Installing from source¶
Clone the repository:
git clone https://github.com/paudetseis/PlateCurie.git
cd PlateCurie
Install using
pip
pip install .
-
platecurie.
get_conf_cpwt
()¶ Print global variable that controls the spatio-spectral resolution of the wavelet transform
Example
>>> import platecurie >>> platecurie.get_conf_cpwt() Wavelet parameter used in platecurie.cpwt: ------------------------------------------ [Internal wavenumber] k0 (float): 5.336


Client side form demonstration
*
Custom callback item
A two letter code of a number and a letter: A4, B8, C2
*
Your email
A valid email address
I have read the agreement
← Cancel and go back
Submit


Games
Games are what I really want to do, they are the combination of all the things that describe me!I still can't do much but I work hard to improve. òuóThese are all the games I've worked in:
The Void
When you feel yourself hollow, when all your hard work changes nothing, when you feel alone in darkness, trapped within your own mind, will you still seek for happiness? Will you dare keep fighting to escape the Void?It is a dungeon crawler game. The player must go through endless procedurally generated levels defeating enemies with the objective of getting as far as possible, building a score as high as possible.
This game won the Imagine Cup 2016 Online Finals and World Semifinals
Website
The Void's Website
Art
You can find Void art here.
Soundtrack
Goodies
You can get some Void goodies here.
Not A Cat!
 Silk is a Quartz Basilisk, a rare species that is born each time the last one passes away and whose fate is to rule Karistalia. This fact has been forgotten by Karistalians for long now and they are confused by Silk's looks. Since the first time Silk was told it looked like a cat, everyone else thinks so too which makes him really uncomfortable. However, what really made him explode was his friend Kil calling him that too. Now Silk must prove the world he's not a cat while fixing everything he messes up in his rage along the way.It is a platformer game in which you must use the powers of the elements to make your way through neverending dungeons.
This game won the Imagine Cup 2014 Online Finals
You can download it for free here and its level editor here.
Art
You can find all public NaC art here.
Soundtrack
Goodies
You can get some NaC goodies here.
Paradux
Max and Ada are two siblings from Victorian England that, while searching for their missing uncle, find a mysterious clock that grants the user time-traveling powers. They will have to move through the four dimensions in order to unravel the mystery of their uncle's disappearance!You can download it for free here.
Art
You can find all public Paradux art here.
Goodies
You can get some Paradux goodies here.
p̯͟a̼̫c̯͝m̭͇a̷͈n̦̕
It's like a regular Pacman except you can break it! :DThis game ended up in 11th place in js13kgames 2016
You can try it here.
Ping Bomb
Do you and your friend wanna play with a bomb as a dolphin and a chicken? Or a unicorn and a dog in a tophat? There are many to choose! 😝Do it here.


Lover of making 'all of the things', I'm passionate about creation and making things that bring joy. Whether it's a linocut print, a portfolio website, a fun Javascript animation or a web based game; I love making things and learning new mediums. I'm also passionate about access to technology and helping others make things too.
While I found out how to change my MySpace page in adolescence, I made a career change into web development in 2015 by attending General Assembly's Web Development Immersive Course and have been developing webs ever since! For fun I love a good dinner party or movie night, and like most people in the Bay Area I like to travel (pre-covid-19) and to experience different cultures and FOOD. I love photography and have to document everything.
HTML5, CSS3, JavaScript, SASS, Ruby, Python, Spanish, English, some French, elementary Italian & Korean
GreenSock, D3, ReactJS, Node.js, GraphQL, Express, Rails, AngularJS, JQuery, Bootstrap, Materialize, Foundation
Git/GitHub, Jekyll, Contentful, Netlify, Gatsby, Wordpress, Heroku, AJAX, JSON, Drupal, Square Space, Weebly, Ingeniux, Marketo, Exact Target, Jira, Wrike, Akamai, Bower, Bcrypt, Procreate, Adobe Illustrator, Adobe Photoshop, Sketch, Adobe XD, Raiser’s Edge, Hobson’s, NetCommunity, Raspberry Pi, Arduino, Erb, Ejs, Grunt, JSX
Responisve communication, Responsive Design, SEO optimization, Photography, Photo editing, Content creation, Social media, Customer Service, User centered design


Displays:
No plugins required.
Tested with the following browsers:
Release Notes: 1.4.0
Full Demo with UI
Installation instructions
Building instructions
API Reference
Source code available here.
Built with three.js r89
Contains Ordnance Survey data © Crown copyright and database right 2015.
Contains DTM data © Environment Agency copyright and/or database right 2015.


- What
do I need to run JFileUpload ?
You need Java (JRE 1.4 or higher) installed on client-side.
- How
to setup JFileUpload Applet ?
JFileUpload applet includes two sample files: One for HTTP upload (see applet_http.html and applet_http.js) and one for FTP upload (see applet_ftp.html and applet_ftp.js). Edit and modify parameters
in the JavaScript file (the one ending by .js) matching to your need.
- Why
all parameters must be setup twice ?
You need to setup all parameters twice for cross-browser
support. For instance, for "url" parameter
you have to setup:
...
url = "http://yourserver.com/upload.jsp"
...
<PARAM name="url" value="http://yourserver.com/upload.jsp">
...
JFileUpload applet works under Internet Explorer, Safari, Firefox, Netscape, Opera and Google chrome. See software section.
It is recommended to copy/paste existing parameter when you want to add a new one. It will avoid typo mistake in the JavaScript.
- I
get "Connection refused" error message ?
It means that "url" parameter of JFileUpload
is not setup. For HTTP upload, it must be the URL
of the server-side script that will handle the upload
(i.e. parse multipart request), for instance http://mycompany.com/upload.php.
This error could also mean that your FTP (or HTTP)
server is not up.
- I
get "server error 404" error message ?
Same as question above. Your "url" parameter
is wrong.
- Applet
fails to load, I get ClassFormatError: Incompatible
magic value ?
Double check that installed JAR files are not
corrupted. If you've transfered them on a web server
through FTP then make sure that transfer has been
done in BINARY mode.
- Why
do I need a server-side script too ?
JFileUpload is just a client-side component
that could upload files or folders to a server. You
need a server-side script - for HTTP only - to store
uploaded files. For FTP, you just need a FTP server.
- For
HTTP, can I use PHP, ASP, ColdFusion or PERL as server-side
script ?
Yes, JFileUpload uploads files through standard
HTTP multipart request. Your server-side script could
be written in PHP, JSP, ASP, ASP.NET, CGI/Perl, CGI/C++,
Ruby, ColdFusion ...
- Why
do you recommend JSPUpload as server-side script
?
We recommend JSPUpload with process.jsp script because it includes advanced
features (very large upload with low memory, folders
structure recomposition, resume and overwrite support, checksum
...) you might have to develop in your own script.
However, JSPUpload needs Servlet/JSP support on server-side.
Notice that you will find others upload script samples
(such as PHP and ASP.NET) in add-ons section.
- How
to re-create folders structure on server-side when
uploading a folder with multiples files and subfolders
?
First, you have to select the recursive depth through
"folderdepth" parameter of JFileUpload.
Second, you need to enable "relativefilename"
extra parameter on JFileUpload through paramX=relativefilename
and valueX=true (with X in [1-16]). For instance:
folderdepth="5"
param1="relativefilename"
value1="true"
Finally - for HTTP only - you need a server-side script
that will handle "relativefilename" parameter
to create folders and subfolders before storing uploaded
files.
(process.jsp server-side
script included in JSPUpload provides this feature).
- How
to select an initial directory on FTP server before
uploading files through FTP ?
Use "account" extra parameter through paramX=account
and valueX=dirname (with X in [1-16]). For instance:
param1="account"
value1="mydirectory/mysubdirectory"
- How
to create an initial directory on FTP server before
uploading files ?
Set "account" parameter above and set "accountcreation"
extra parameter to "true". For instance:
param2="accountcreation"
value2="true"
- My FTP connection is not reliable and some upload fails, what can I do ?
Enable "retry" parameter to ask JFileUpload to make several attempts - when current upload fails - before reporting and error. For instance, to enable three attempts:
retry="3"
You can also setup "retrydelay" parameter to add a a few seconds delay between each attempts:
retrydelay="5"
- How
to redirect to an URL after upload completed ?
Use "forward" parameter such as forward=http://company.com/another.html
If you need to redirect to a given frame of window
then use "forwardtarget".
If you need to append uploaded filenames to redirect
URL then set "forwardparameters" to true.
- Is
it possible pass a HTTP POST request after upload
completed ?
Yes, see "post" and "postparameters".
It allows JFileUpload to send a HTTP POST request
with uploaded filenames (and path). It could be useful
if you need to send an email, store a status in database,
... after upload. For instance, post=http://company.com/postscript.php
- What
happen to the response of the HTTP POST ?
Reponse of "post" url is discarded by JFileUpload.
- Could
both "post" and "forward" parameters
work together ?
Yes, "forward" will be processed after
"post". It means that HTTP POST request
will be sent prior to HTTP GET matching to URL redirection.
To be more precise :
1 - JFileUpload: Send HTTP POST ---->
Server : Process POST request.
2 - JFileUpload: Discard response <----
Server : Send response.
3 - JFileUpload: Send HTTP GET ---->
Server : Process GET request.
4 - Browser: Display HTML response <----
Server : Send response.
- Can
I pass additional parameter to "forward"
parameter ?
Yes, try forward="http://company.com/another.html?custom=something"
- How
"forwardparameters" work if I upload many
files ?
Depending on browser, URL size is limited (from 256
to 4000 characters) so the generated URL might be
too long (http://company.com/another.html?filename1=...)
if you upload more than 100 files. The solution is
to use "post" and "postparameters"
to get all filenames (because there is no limitation
in POST size) and use "forward" parameter
only to redirect.
- How
to modify JFileUpload resources (messages, menu,
errors ...) ?
Most JFileUpload resources could be modified. A
resource could be an info message, an error message,
a menu item or a color. First, copy and modify i18n.properties in the same directory as JFileUpload applet. Second,
setup "resources" parameter such as:
resources = "i18n"
Pay attention to setup it to i18n and not i18n.properties.
Finally, edit and modify i18n.properties as you need.
This file is an ASCII file and # means comment.
If you need extra characters such as german (Ä, Ö,
ü, ...) or chinese, japanese, korean ... then convert
them into unicode format through JRE native2ascii
tool.
- How
to internationalize JFileUpload resources (messages,
errors , ...) ?
JFileUpload is ready for internationalization. First,
enable "resources" parameter as explained
above. i18n.properties will be the default resources
file. Second, if you want JFileUpload to support
multiple languages then add i18n_xy.properties translated
files (with xy the ISO
639 language code such as : en, es, de, zh ...).
For instance, to add german support :
1 - Copy i18n.properties into
i18n_de.properties.
2 - Translate all resources
in german in i18n_de.properties.
3 - Optionally, use JRE/bin/native2ascii.exe
tool to convert extra characters.
JFileUpload will automatically load i18n_de.properties
if end-user settings are in german (and if localeresources parameter is setup to true). If not then it
will load i18n.properties.
- How
display file browser window on "File" item
instead of "Select file(s)" ?
Comment menu.file.open key in your custom i18n.properties
such as:
menu.file.open=Select file(s)
#menu.file.open=Select file(s)
- How
to remove the top menu bar and add a "Select
file(s)" button ?
To enable a "Select file(s)" button on the left of "Cancel" button, uncomment
progress.button.select key in your custom i18n.properties
such as:
#progress.button.select=Select
file(s)
progress.button.select=Select
file(s)
Then to hide the menu bar, set "hidebar"
parameter to true:
hidebar = "true"
...
<PARAM name="hidebar" value="true">
- Can
JFileUpload display "time elapsed" when
uploading file ?
Yes, enable both progress.info and progress.info.label
keys in i18n.properties. Time remaining and transfer speed is available too. It could also display an
overall progress bar (in addition to file upload progress bar).
- How
to add a background image to the upload info/drag&drop
panel ?
Uncomment "taskoutput.image.background"
property in your i18n.properties and setup your image
filename .
- Is
it possible to have an image previewer in file chooser
?
Yes, to enable this feature uncomment the following
keys in your i18n.properties:
filechooser.preview.image=enabled
filechooser.preview.image.title=Image
preview
filechooser.preview.image.enabled=Enabled
- How
to modify JFileUpload fonts ?
There are "font.face" and "font.size"
keys/values in i18n.properties. It allows to load
true type fonts and apply them over all JFileUpload
resources (label, button, menu ...). This feature
could be useful for accessibility.
- How
to have a Microsoft Windows-like JFileUpload front-end
?
Enable lookandfeel=com.sun.java.swing.plaf.windows.WindowsLookAndFeel
key in i18n.properties .
You can also setup lookandfeel=auto to fit to the
underlying operating system look and feel.
- Applet
is not loading (grey box) when hosted under IIS ,
what should I do ?
Basically, IIS settings don't allow to serve files
with unknown extensions. IIS returns 404 error when
JFileUpload tries to load i18n.properties.
You have to update IIS settings to map ".properties"
to "text/plain" mime-type. See instructions
for IIS 4.x/5.x or 6.x.
- I
get "Can't find bundle for base name i18n"
error, what should I do ?
See question above, even if you have a Unix/Linux
or MacOSX server. It will work when you could access
i18n.properties directly from your browser through
http://yourserver.com/something/i18n.properties.
- How
to pass a cookie from JFileUpload to server-side
?
Use both
"cookiename" and "cookievalue"
extra parameters through paramX,valueX (with X in
[1-16]). For instance:
param5="cookiename"
value5="mycookie"
param6="cookievalue"
value6="myvalue12345"
- How
to maintain user's HTTP session with server-side ?
Most HTTP sessions are maintained through a cookie.
See question above to learn how to pass a cookie (for
JSP, cookiename should be JSESSIONID). You could also
pass session as URL rewriting, then modify "url"
parameter to pass it (for JSP url=...upload.jsp;jsessionid=xyz12345).
You could also use URL rewriting for "forward"
and "post" parameters.
- How
to pass custom error from upload script to JFileUpload
front-end ?
Enable "errorheader" extra parameter such
as:
param7="errorheader"
value7="custommessage"
Then, pass "custommessage"="whatyouwanttobedisplayed"
header in HTTP 405 response sent by your upload script.
JFileUpload will try to read the header to display
the error message in front-end.
- Does
JFileUpload support HTTPS ?
Yes, it does. url parameter must start with "https://...".
Just pay attention to have trusted X509 certificate
on JRE client.
- Does
JFileUpload support FTPS and SFTP ?
Yes, it does. FTPS is supported natively. url parameter must start with "ftps://...".
Just pay attention to have trusted X509 certificate
on JRE client. SFTP support requires SFTP add-on, url parameter must start with "sftp://...".
- I
get "No trusted certificate ..." error with
HTTPS and FTPS ?
It means that you're not using a trusted X509 certificate
for SSL. The signer of the certificate is not in the
JRE CA list (cacerts file) so you cannot open any
SSL connection with Java. You have 3 solutions:
1 - Deploy the certificate
in JRE of all JFileUpload users.
(Not
easy in production).
2 - Use WeakSSL plugin
in JFileUpload add-ons section.
(It
allows to bypass trusted CA checking. Useful for testing
purpose).
3 - Purchase a trusted
certificate for SSL from company such as VeriSign or Thawte.
(Recommended in production).
- I get "Access denied" when uploading with "chunksize" under Windows Vista ?
Internet Explorer
7 under Windows Vista comes with new security features. A standard windows user account doesn't have permissions to write in some directories such as c:\, c:\Program Files ... "chunksize" parameter allows to split file in chunks before uploading. Basically, each chunks is written temporary on disk in the same folder as the selected file to upload. If you select file in a folder where you don't have write permissions then chunks cannot be created and you get "Access denied" errors. You will have the same problem with "ziponfly" parameter and plugins such as Scaling Filter. The solution is to setup JFileUpload to generate any temporary files under user's home tmp folder through:
...
<PARAM NAME="tmpfolder" VALUE="javatmpdir">
...
Another solution, that applies to "chunksize" parameter only, is to setup JFileUpload to generate each chunks in memory through:
...
<PARAM NAME="chunkmode" VALUE="onfly">
...
- How
to hide FTP username and password in HTML code ?
JFileUpload supports base-64 encoded parameters.
Enclose value in [] to pass base-64 encoded string.
For instance to encode password parameter:
param2="password"
value2="qwerty1234"
then use any base-64
encoder/decoder service to get :
param2="password"
value2="[cXdlcnR5MTIzNA==]"
Note that base-64 encoding is not encryption. Since 2.3 encryption is available for username and password, we can encrypt your credentials upon request to our support team.
- Is
it possible to NOT store url and username/password
in HTML ?
Yes, if you don't want url and username/password parameters
in HTML, even base-64 encoded, then you could append
them in i18n.properties file such
as:
url=ftp://yourftpserver.com
username=yourftplogin
password=yourftppassword
- Is
it possible to pass FTP username/password through
JavaScript ?
Yes, try the following in your JavaScript :
document.fileupload.setParameter("username","yourlogin")
document.fileupload.setParameter("password","yourpassword")
See others section to learn
more about JavaScript API.
- Could
JFileUpload work with a proxy ?
Yes, JFileUpload will attempt to auto-detect HTTP
or SOCKS proxy. However, you could force proxy settings
if needed.
- Does
JFileUpload support HTTP WWW-Authenticate ?
Yes, JFileUpload supports basic WWW-Authenticate
through username and password parameters.
- Does
JFileUpload support explicit SSL mode (AUTH TLS)
for FTPS ?
Yes, default FTPS setup is AUTH TLS with protection
channel enabled (PROT P). JFileUpload also supports
AUTH SSL and SSL Connect (implicit mode). You could
switch between these modes through "ftpsmode"
parameter. You could disable protection channel through
"ftpsprot" parameter.
| Large upload and compression |
- Can
JFileUpload compress file automatically before upload
?
Yes, JFileUpload could zip file before upload if
you enable "ziponfly" parameter. Here is
how JFileUpload works:
1 - Create a temporary ZIP
file (such as originalfilename.zip).
2 - Upload the compressed
file.
3 - Delete the temporary ZIP
file.
Notice that file stored on
server-side will be originalfilename.zip
Using this parameter could lower bandwidth usage but
it will affect client-side performance because of
compression process. Don't enable "ziponfly"
parameter if you plan to transfer compressed files
such as GIF, JPEG, MP3, ... JFileUpload allows skipping such files with "zipignorelist" parameter.
JFileUpload could also zip all files in one overall archive before upload. See the compression tutorial to learn how to setup this feature.
- How
to upload files > 2GB through HTTP ?
First, you have to set "chunksize" parameter
on JFileUpload. Chunksize must be under 2GB (for
256MB, chunksize=268435456). Here is how JFileUpload
works:
1 - Split file to upload in
temporary chunks (such as originalfilename.chunkid).
2 - Upload each chunk.
(with
additionnal chunkid, chunkamount, chunkbase HTTP parameters).
3 - Delete each temporary
chunk file.
Second, you need a server-side script that handles
chunkid, chunkamount, chunkbase HTTP parameters to
re-compose file from uploaded chunks.
(process.jsp server-side
script included in JSPUpload provides this feature).
- Resume doesn't work with my Microsoft FTP server ?
Try to set resumecommand extra parameter such as:
param3="resumecommand"
value3="append"
- How JFileUpload could resume broken uploads ?
Uncomplete upload could occur on system/network failure
or simply because you've cancelled upload. JFileUpload
can resume uncomplete uploads. Use "resume" parameter to enable this feature. JFileUpload sends
an additional request to server to know if current
upload should be resumed. If you're interested in
knowing how it works then see details below:
For FTP:
1 - Applet sends LIST command with current filename
to upload.
2 - FTP server returns remote file info (size,
date) if available.
3 - If remote file size < local file size
then Applet sends REST resumeindex command.
4 - Applet sends STOR command to upload file
(starting at resumeindex).
For HTTP:
Resuming is more complex and requires a server-side
script that supports
"Content-Range" header :
1 - Applet sends HEAD request with "filename" header for current upload.
2 - Server script must return "HTTP 404
not found" response if file does not
exist or "HTTP
200 OK" response with file size in a "size" header if file exists.
3 - If remote file size < local file size
then Applet sends HTTP multipart POST
request with "Content-Range" header including resumeindex.
4 - Server script handles upload request and
append data to remote file.
(process.jsp
server-side script included in JSPUpload provides
this feature).
- How
JFileUpload could rename duplicated files before
upload ?
JFileUpload can check if file already exists on
server before uploading it. Use overwrite parameter
to enable this feature. JFileUpload sends an additional
request to server to know if current upload should
be overwritten or not. If you're interested in knowing
how it works then see details below for HTTP :
1 - Applet sends HEAD request with "filename"
header for current upload.
2 - Server script must return "HTTP 404
not found" response if file does not
exist or "HTTP
200 OK" response with file size in a "size"
header if file exists.
3 - Applet applies overwrite policy (indexrename,
...) and loops to step 1 until
making sure that
the file to upload doesn't exist on server.
4 - Applet sends HTTP multipart POST request
to upload file with the new name.
5 - Server script handles upload request and
save file.
(process.jsp server-side
script included in JSPUpload provides this feature).
Note: You could use the "template"
parameter to rename files to upload. It would avoid
the additional request.
- Could
resume and overwrite features work together ?
Yes, if both are enabled then resume is prior to overwrite.
Resume and overwrite will also work with folders and
subfolders upload.
- How to have dynamic parameters in applet_http.js JavaScript file ?
Do the same as you did for any dynamic file. For instance, for PHP rename the file as applet_http_js.php, add your PHP code and modify link in applet_http.html such as <script src="applet_http_js.php"></script>
- How
to pass extra parameters to JFileUpload from JavaScript
?
JFileUpload supports JavaScript to Applet communication.
Use document.fileupload.setParameter(name,value)
to pass or update extra parameters. For instance in your HTML:
[...]
<SCRIPT LANGUAGE="JavaScript"><!--
function modify(val)
{
document.fileupload.setParameter("anotherHTTPparam",val);
}
//--></SCRIPT>
[...]
<form name="myform" method="post"
action="">
<input name="custom" type="text">
<input type="button" name="mybutton"
value="test" onClick="modify(myform.custom.value)">
[...] |
- How
to update regular applet parameters from JavaScript ?
There is a document.fileupload.setProperty(name,value)
method allowing to update the following applet parameters: forward, forwardtarget, forwardparameters, post,
postparameters, ziponfly, username, password, template
and resume. For instance, to update forward parameter:
document.fileupload.setProperty("forward","http://server.com/script.php");
- Any
other JavaScript method available ?
Yes, JFileUpload provides two methods allowing
to get info about uploads :
document.fileupload.getState(filename) returns WAITING,
INPROGRESS, COMPLETED, FAILED, CANCELLED string for
a given filename.
document.fileupload.getFilenames() returns a list
of filenames to upload.
You have a sample usage of the JavaScript API in samples/javascript_api/
- How
to get more traces for debug purposes ?
JFileUpload
uses Commons-Logging API. To enable DEBUG mode, just
copy/paste commons-logging.properties and simplelog.properties in the same directory as JFileUpload applet. Notice
that DEBUG mode will slow down applet execution so
NEVER enable DEBUG mode in production because JFileUpload
could use much CPU after a long time. Debug messages
will be displayed in the Java
Console.
- Can
I run JFileUpload from a CD-ROM or DVD ?
Yes. If you use "chunksize" and/or "ziponfly"
parameters then you should setup "tmpfolder"
parameter too because JFileUpload will generate
temporary files. tmpfolder="javatmpdir"
will generate temporary files in user's home folder
instead of selected files folder.
- Can
I scale images before upload ?
JFileUpload
provides a filter API to pre-process files to upload.
You could find an image scaling filter that generates
thumbnails (or magnify images) before upload in JFileUpload add-ons section.
- Can I queue files instead of uploading immediatly after selection ?
Yes, you need JBatchUpload plugin available in add-ons section.
- Can
I PGP encrypt files before upload ?
You
could find a PGP pre-processing filter that encrypts
files before upload in JFileUpload add-ons section.
- I'm
lost, where are the samples for basic and advanced
usages ?
Check out the samples/
folder in this documention.
- I
need to click on applet before using it, what's wrong
?
A recent update to Microsoft Internet Explorer 6 included a change
that alters the way users interact with applets in
the browser. Check out the samples/kb912945/ folder to fix this issue.
- JFileUpload
seems to ignore my settings, what's wrong ?
It might be a problem of JavaScript. If you mess
up the cross-browser JavaScript that displays applet
then some parameters may be skipped. Use copy/paste of an existing parameter to add new parameter.
- My
browser crashes when loading JFileUpload ?
We've have been reported that messed up JavaScript
could return a VC++ runtime error and crash Internet
Explorer on a few windows configuration. The solution
is to setup carefully the JavaScript file (copy/paste
existing line to add parameter).
|


FirebaseNearby
Constructor Summary
| Public Constructor | ||
| public |
|
Method Summary
| Public Methods | ||
| public |
createEntry(entry: Object, minPrecision: number, maxPrecision: number) Creates a new entry in the database |
|
| public |
deleteEntry(pushKey: string) Deletes an entry and all the related locations |
|
| public |
getLocationsByBoundaries(entry: Object, minPrecision: number, maxPrecision: number, startAt: number, endAt: number): * Returns all the locations within the provided Boundaries (rectangle / square only) |
|
| public |
getLocationsByRadius(firebaseRef: *, radius: *, center: *) Returns all the locations within the provided radius Boundaries |
|
| public |
updateLocation(firebaseRef: *) |
Public Constructors
public constructor() source
Public Methods
public createEntry(entry: Object, minPrecision: number, maxPrecision: number) source
Creates a new entry in the database
public deleteEntry(pushKey: string) source
Deletes an entry and all the related locations
Params:
| Name | Type | Attribute | Description |
| pushKey | string | the new entry |
public getLocationsByBoundaries(entry: Object, minPrecision: number, maxPrecision: number, startAt: number, endAt: number): * source
Returns all the locations within the provided Boundaries (rectangle / square only)
Return:
| * |
public getLocationsByRadius(firebaseRef: *, radius: *, center: *) source
Returns all the locations within the provided radius Boundaries
Params:
| Name | Type | Attribute | Description |
| firebaseRef | * | ||
| radius | * | ||
| center | * |
public updateLocation(firebaseRef: *) source
Params:
| Name | Type | Attribute | Description |
| firebaseRef | * |


This website is a technology demo for the NASA ROSES-#11 project whereby the Wildland fire group demonstrates its technical ability to conduct routine forecasts of fire danger using fire modelling and data assimilation technology developed at UC Denver.
This system is a work in progress. Currently, the cycling system uses NOAA RTMA (Real-Time Mesoscale Analysis) instead of running WRF on the server. Also, only fuel moisture is computed at this time with spread rate and energy output components scheduled for implementation.
The system computes a 2-day weather forecast for Colorado every day based on initial conditions supplied by NOAA (NAM_218 North American Mesoscale 12km grid). WRF-SFIRE is run in a three domain configuration as shown on the map below. The outermost domain exists to resolve synoptic weather structures that affect weather in the domain of interest - Colorado.
The system regularly ingests observations from Remote Automatic Weather Stations (RAWS) and satellite fire detections.
The RAWS are retrieved hourly from the Mesowest servers of the University of Utah web API and are fed into a fuel moisture data assimilation algorithm.
The fire detections are obtained from the US Forest Service Active fire maps website and are directly displayed on the map.
The fire detections are stored for potential use in fire simulations at adjust the state of the fire forecast. Below is an example of fire detections obtained from the VIIRS platform for the Patch Springs fire in Utah.


{% include '../includes/rizehead.html' %}
{% include '../includes/rizeheader.html' %}
{% include '../includes/rizenav.html' %} {% block content %}{% endblock %}
{% include '../includes/rizefoot.html' %}


The firm production function looks like this: So there is a small fixed cost. This is actually necessary to have a solution.
There is an infinitely elastic wage supply This way we don’t really worry about wages at all and the solution is in wage-units.
Workers consume all their pay every day, so that:
The profit maximizing function then is:
Since wages are going to be 1 when we substitute the production function in we get:
Assuming perfect competition when maximizing profits
And so
Now we assume demand equals supply and so
So the final result is:


{% if connected %} Georide Road Trip Modifie Account Disconect {% else %} Georide Road Trip Connect to your account Create an account {% endif %}


KNOX knat pro genes plants expression leaf BELL gene Arabidopsis KNAT plant land proteins activity Plant Fig. leaves data phenotype Fig.). wild-type mutant amiR plants. additional development Cell KNAT, Fig plants, GUS KNAT: Plants genetic evolution Click LINK STM ancestral diploid expressed file. observed {border-style duplication patterns genes. px;} #ffffff;} (TIF) alleles genes, role sequences sporophyte gain-of-function shoot -KNAT– Cardamine SAW complex homeodomain loss-of-function meristem sequence flowering homeobox single used Biol KNAT-GUS KNOX/BELL TALE act background. function interactions lines meristematic transcriptional using analyses apical detected phenotypes serration Gene ectopic functional miRb protein similar BLH Col Development Thus, ]). class cuc different expressing grown mutants results FIL: PNY Scale algal ancestor evolution. form leaves. shape Expression KNOX, SAM activities antagonistic background based body cell color functions haploid knat– leaves, life organs partners pattern phylogenetic proteins, px; regulate regulatory repressor suggest suppressed suppresses {font-family (marked Arabidopsis, Arabidopsis. Bayesian CUC DNA Evolution Wild-type acid action bars bel cells complexity control described developing diversification evidence font-size gene. generated green, hirsuta identified indicate inflorescence knat/ leaflet meristems morphological multicellular paralogs reduced relationship reported restricted second specific stm study tissues transcription (KNOX) (designated -KNAT -day-old ./tpc.. A-B) B), BLH, BLS: Dev Figs.). Hake KNOX-interacting KNOX/KNOX Leaf STM>>SAW blue, coding common days-old deeply designed development. developmental distinct double double; evolved fusion gamete generations including involved key known largely levels maintenance modules moss novel pale repression strong suggesting target wild A), Curr D), Genes Genet Homeobox JLB. JPA KNAT) Mol Nature Rev STM: Sci Science amino analysis binding border-color border-width changes conserved dark development, domain downstream embryo evolutionary family formation gene, generation. gynoecia heterodimerization however, important included independent indicating knat, lack lineages morphology opposing play presumptive program regulation respectively. roles samples seed seedlings seen serrated shown solid; stages thaliana weeks {font-style {font-weight (ATG, (K) (reviewed -KNAT–, Acad Alvarez Analysis BELL-KNOX Barton Chlamydomonas Chlorophyte Class Columbia Design E), Evol H), Kim Land Microarray Morphology Natl PCR-based Proc RNA Sakakibara Shoot Table Table. according activation alleles. amiRNA angiosperms. available bars, blh bold branches cellular characterized coded complementary construct, corresponding cotyledons courier; cycle derived differences differentiating differentiation divergence diverse e.g. early elaboration em; expresses expression, factors families female fold-back following fused gametophyte generate generation genotyping. highly indicated knat. later lateral left level limited line lobed loss major margins miR module motif mutation neofunctionalization number occurred old, ovules partner patens phenotypes, phylogram pre-miRa presented produced producing proliferation proteins. providing pt;} reduction region regulated regulating regulators related relative reporter seedling selected shown. signal simple single, studies suggested suppress targets tissue transgenic type μm.


DARK CITY
USA/Australia. 1998. Director/Story - Alex Proyas, Screenplay - Proyas, Lem Dobbs & David S. Goyer, Producers - Goyer & Andrew Mason, Photography - Dariusz Wolski, Music - Trevor Jones, Visual Effects - Mason, Mara Bryan & Arthur Windus, Digital Visual Effects - DFilm Services, Sydney, Model/Miniature Supervisor - Tom Davies, Special Effects Supervisor - Tad Price, Prosthetics - Bob McCarron, Production Design - George Liddle & Patrick Tatopoulos. Production Company - Mystery Clock/Dark City Productions/New Line Cinema. Rufus Sewell (John Murdoch), Kiefer Sutherland (Dr Daniel Poe Schreber), William Hurt (Inspector Frank Bumstead), Jennifer Connelly (Emma Murdoch/Anna), Ian Richardson (Mr Book), Richard O'Brien (Mr Hand), John Bluthal (Karl Harris), Bruce Spence (Mr Wall), Colin Friels (Detective Walenski), Melissa George (May)
Plot: In a mysterious city where the sunlight never shines, John Murdoch wakes in a hotel room with no memory of who he is.  However Murdoch finds he is the only person who can not be made to sleep by the aliens and that he shares some of their reality-manipulating abilities. In his efforts to understand the situation, he comes to discover that the entire city is a vast laboratory being used in experiments by the aliens to reorder and transplant people's memories in an attempt to penetrate the secret of the human soul.
Forget about what Variety and a number of the other trained-monkey mainstream reviewers have said about 'Dark City' being confusing and hard to follow. I can say without any hesitation that this is one of the most conceptually audacious and best sf films I have seen in the last few years.
It is the second film of Alex Proyas, who made a striking debut with the darkly driven and nihilistic 'The Crow' in 1994. The film is clearly a very personal project of Proyas's - he also had a strong hand in the script - and marks him as one of the directors most worth keeping an eye on in future. It is a film that eludes any easy pigeonholing. It seemingly takes place in a world of self-conscious artifice that suggests a collision between 'Brazil' and 'The Maltese Falcon'. Here Proyas deliberately evokes film noir - everyone dresses in trench coats and hats, the women come across as slinky vamps, the cars are all period and the technology has a striking 1940s retro look. (The city was built entirely stagebound inside Australia's Movie World studios). But there is also a dystopian feel to it too - there are times the film is extraordinarily threatening - a visit to a cafe where each item of food sits in a compartment of its own in a backlit glass case is striking. Proyas shoots it all in a beautiful, virtually monochrome lighting scheme that renders the city as permanent night-time - one where the recurrent vision of a sunlit, palm-shaded beach (even when it is revealed as only a faded mural) becomes an achingly palpable representation of all hope.
Of course in this noir world everything is far from normal. In an almost classical setup the hero wakes in a hotel room with complete amnesia and to find himself on the run from the police as a suspected killer. But then in the first of the film's wild spins finds he is immune to (and maybe even one of) a group of bald aliens beneath the city who on the stroke of midnight each night cause the populace to fall asleep while they rearrange the spatial geometry and the very fabric of reality within the city. After several wild (but completely logical) twists the hero makes a classical conceptual breakthrough to discover that the city is an experiment set up by the aliens to determine the nature of the human soul by manipulating and transplanting people's memories. One of the most emotionally powerful scenes in the film comes when he tries to explain to his wife that the memories of their marriage are entirely false and were only implanted the previous night, only to have her tearfully protest "But they can't be - I love you." An extraordinary film.
Copyright 1998 Richard Scheib
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


{% comment %} repo_card.html Copyright © 2023 Aditya Bhat. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. {% endcomment %} {% capture img_path %}/assets/repo-images/{{ include.name }}.png{% endcapture %} {% assign img_exists = site.static_files | where: "path", img_path | first %}
{{ include.description }}


Definition: Cross-selling is the action of selling an additional product or service to an existing customer.
In retail, an example of cross selling would be when you come into a convenience store to buy a newspaper and come out with a chocolate bar as well. In banking, it might mean selling an insurance product to an existing current account holder.
Unlike the acquiring of new business, cross-selling involves an element of risk that existing relationships with the client could be disrupted. For this reason, it is important to ensure that the additional product or service being sold enhances value for the client.
In practice, large businesses usually combine cross-selling and up-selling techniques.


Vinyl
Hello world! This is Vinyl.
Sort by Artist
Sort by Title
Sort by Label
Sort by Format
Hide 12"
Hide 10"
Hide 7"


The Women's National Basketball Association (WNBA) is a professional basketball league in the United States. It currently is composed of twelve teams.
The league was founded on April 24, 1996, as the women's counterpart to the National Basketball Association (NBA). League play started in 1997; the regular season is currently played from June to September with the All Star game being played midway through the season in July and the WNBA Finals at the end of September until the beginning of October.
Many WNBA teams have direct NBA counterparts and play in the same arena. The Connecticut Sun, Seattle Storm, Dallas Wings, and Chicago Sky are the only teams that do not share an arena with a direct NBA counterpart, although two of the four (the Wings and the Sky) share a market with an NBA counterpart, and the Storm shared an arena and market with an NBA team at the time of its founding.
Officially approved by the NBA Board of Governors on April 24, 1996,[2] the creation of the WNBA was announced at a press conference with Rebecca Lobo, Lisa Leslie, and Sheryl Swoopes in attendance.
The league began with eight teams: the Charlotte Sting, Cleveland Rockers, Houston Comets and New York Liberty in the Eastern Conference; and the Los Angeles Sparks, Phoenix Mercury, Sacramento Monarchs and Utah Starzz in the Western Conference


Back
New Office Space
Office Title:
Flat Rate p/h (R):
Room Size (in square metres):
Maximum Amount of People:
Minimum Amount of People:
Office Type:
Open Office
Cubicle
Private Office
Shared Office
Team Room
Study Booth
Work Lounge
Small Meeting Room
Large Meeting Room
Auditorium
Brainstorm Room
Office Description:
Specific Office Items
Office Calendar
Save


mappingInsertions_vignette.Rmd
In this article we will show how we can map the insertions made in phylogenetic tree through the procedure realized in FishPhyloMaker
function. Mapping the insertions is of special importance since allow to understand how the gaps in phylogenetic knowledge is distributed in the phylogenetic tree. For example, we can understand if the Characidae family present more phylogenetic gaps than Loricariidae family.
This can be done by using the information contained in the output of FishPhyloMaker
function when we set the argument return.insertions = TRUE
. This returns a data frame containing the categories of insertion for each species, these categories are:
To obtain this data frame we need first to run FishPhyloMaker
setting the argument return.insertions = TRUE
. We will use data of fish occurrence in the Neotropical region present in {FishPhyloMaker}
package.
We need to format this data using function FishTaxaMaker
taxon_data <- FishTaxaMaker(data = spp_afrotropic, allow.manual.insert = TRUE)
With taxon_data we can run FishPhyloMaker
to obtain the phylogeny and the data frame with all the insertions made by each species
phylo_fish_Afrotropics <- FishPhyloMaker(data = taxon_data$Taxon_data_FishPhyloMaker,
return.insertions = TRUE,
insert.base.node = TRUE,
progress.bar = TRUE)
The data frame can be extracted and the categories of insertion can be plotted in the phylogenetic tree by using the information on phylo_fish_SAmerica$Insertions
library(phytools)
library(ggtree)
library(ggplot2)
insertions_org <- phylo_fish_Afrotropics$Insertions_data[match(tree$tip.label, phylo_fish_Afrotropics$Insertions_data$s), ]
p.base <- ggtree(tree, layout = "circular", size = .3) %<+% insertions_org +
geom_treescale(x = 0, width = 20, linesize = .5, color = "blue",
fontsize = 0) + # plot the scale bar
annotate("text", x = 4, y = 500, label = "20 myr", size = 1.5) # an attempt for add a scale bar
p.full <- p.base +
geom_tippoint(aes(color = insertions),
size = .5, alpha = .8) +
theme(legend.position = "bottom") +
guides(color = guide_legend(override.aes = list(size = 2))) +
scale_color_viridis_d(name = NULL, na.translate = F,
labels = c("Congeneric F", "Congeneric", "Family", "Order", "Present"))
In Figure 1 we can see all the insertions made in the insertion process.


WITNESS LIST Transportation Committee April 14, 1997-3:00P HB 107Committee Substitute (Alexander) For: Giddings, Rep. Helen (Author of HB 107) Williams, Ann (Trinity Chapter, Links) Registering, but not testifying: For: Collins, Robby (Dallas ISD) Hayes, Patricia (TCTA) Hill, Claire (self) Kibby, Sandy (Texas PTA) Mask, Marilyn J. (Trinity Chapter, Links) HB 2021 Committee Substitute (Alexander) For: Christian, Rep. Wayne (Author of HB 2021) Raney, James E. (Mayor of Nacogdoches) Wilcox, Floyd O. (Foretravel, Inc.) Registering, but not testifying: For: Fore, Ray (Foretravel, Inc.) Franklin, Don (Foretravel, Inc.) Pierce, Gordon C. (City of Nacogdoches) On: Bray, Brett (Mot. Veh. Div. TxDOT) HB 2068 Committee Substitute (Alexander) For: Swinford, Rep. David (Author of HB 2068) On: Mills, Lester (DPS) Registering, but not testifying: For: Berrryhill, Dennis (Fleetwood Tran. Service) Findeisen, Les (TMTA) Hufford, Ron (Texas Forestry Assoc.) Williams, Tony D. (TX Cotton Ginner's Ass.) HB 2101 Committee Substitute (Alexander) For: Barton, Bill (TX Railroad Assoc.) Siebert, Rep. Bill (Author of HB 2101) Registering, but not testifying: For: Arrington, Sam (United Transport. Union) Bennett, Courtney (TX Railroad Assoc.) English, Jr., C.M. (United Transport. Union) Hinojosa, Walter (Texas AFL-CIO) Olson, Ron M. (Union Pacific Railroad) HB 2469 Committee Substitute (Siebert) For: Dructor, Daniel J. (TX Logging Council) McReynolds, Rep. Jim (Author of HB 2469) Registering, but not testifying: For: Bradley, John (TX Logging Council) Currie, Bob (TX Logging Council) Hufford, Ron (TX Forestry Assoc.) Joiner, Gary (TX Farm Bureau) Nutt, James (TX Logging Council) On: Mills, Lester (DPS) HB 2519 Amendment (Alexander) For: Gallego, Rep. Pete (Author of HB 2519) Lamkin, Jack (Friends of BBNP) Registering, but not testifying: For: Cisneros, Jose A. (Big Bend National Park) Kolb, Dana Jepson (Friends of BBNP) HB 2522 For: Finnel, Rep. Charles (Author of HB 2522) Strain, H.W. "Sputnik" (TMRA) HB 2781 Committee Substitute (Alexander) For: Besteiro, Jr., Raul A. (Brownsville Nav. Dist.) Elkins, Craig (BNDLA) Fainter, Jr., John W. (Port of Brownsville) Kruse, James C. (Brownsville Nav. Dist.) Parker, Jr., Frank (BCBA) Solis, Rep. Jim (Joint Author of HB 2781) Against: Findeisen, Les (TMTA) On: Burnett, William G. (TxDOT) Mills, Lester (DPS) HB 2797 Committee Substitute (Alexander) For: Marchant, Rep. Ken (Author of HB 2797) HB 3246 For: Gallego, Rep. Pete (Author of HB 3246) Registering, but not testifying: On: Templeton, Bob (TxDOT) HB 3341 For: Siebert, Rep. Bill (Author of H.B. 3341) Against: Brady, Gerald M. (Houston Limo. Assoc.) Schovajsa, David (Limo. Assoc. of Houston) Registering, but not testifying: For: Findeisen, Les (TMTA) Foster, Mark (TRLA) On: Bisson, Jim (TxDOT) Mills, Lester (DPS) HR 405 For: Pickett, Rep. Joe (Author of H.R. 405) SB 120 For: McClendon, Rep. Ruth (Sponsor of S.B. 120) Registering, but not testifying: On: Templeton, Bob (TxDOT) SB 446 For: Siebert, Rep. Bill (Sponsor of S.B. 446) Registering, but not testifying: For: Joiner, Gary (Texas Farm Bureau) On: Templeton, Bob (TxDOT) SB 460 For: Cuellar, Rep. Henry (Sponsor of S.B. 460) Linebarger, Libby (Texas CASA) Registering, but not testifying: For: Piper, Jane Quentan (Texas CASA) SB 950 For: Griebel, Thomas A. (TXDOT) Horn, Rep. Jim (Sponsor of S.B. 950)


Hot Honey Garlic Chicken★
- 4 servings
- 30 mins
- Nagi
- Meat
- Spicy
1 lb.
chicken breast , boneless and skinless (2 pieces)2
garlic cloves, minced1/4 cup
flour3.5 tbsp.
unsalted butter1 tbsp.
Cayenne Powder1.5 tbsp.
apple cider vinegar1 tbsp.
soy sauce1/3 cup
honey- Salt and pepper
Cut the breasts in half horizontally to create 4 steaks in total. Sprinkle each side with salt and pepper.
Place flour in a shallow dish. Coat chicken in flour and shake off excess.
Melt most of the butter in a large skillet over high heat - hold back about 1 tsp for later.
Place chicken in skillet and cook for 2 - 3 minutes until golden. Turn and cook the other side for 1 minute.
Turn heat down slightly to medium high.
Make a bit of room in the pan and add garlic and top with remaining dab of butter. Stir garlic briefly once butter melts.
Add vinegar, soy sauce and honey. Stir / shake pan to combine. Bring sauce to simmer, then simmer for 1 minute or until slightly thickened.
Turn chicken to coat in sauce. If the sauce gets too thick, add a touch of water and stir.
Remove from stove immediately. Place chicken on plates and drizzle over remaining sauce.


--- layout: post title: Internationalization in edge Rails and more categories: - edge author: Chu Yeow published: true date: 2008-07-20 11:38:00.000000000 +01:00 ---
There won’t be a Living on the Edge this week, but you won’t be starved for info because the Rails community is keeping up.
Ryan Daigle has been keeping up with some of the changes on edge Rails and has done a few awesome explanatory posts on them:
Perhaps even more noteworthy is the introduction of I18n (internationalization) support to Rails core. Sven Fuchs explains the technical details and API as well as the history of Rails and I18n. I18n support is scheduled to be fully stable in the Rails 2.2 release. Have an interest in internationalization in Rails? Lend a hand with your ideas, feedback, and patches at the Google Group.


Agent
public protocol Agent
‘An agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through actuators.’ – AIMA3e, page 34.
See here for jazzy issue with quotes.
‘When an agent is plunked down in an environment, it generates a sequence of actions according to the percepts it receives. This sequence of actions causes the environment to go through a sequence of states. If the sequence is desirable, then the agent has performed well. This notion of desirability is captured by a performance measure that evaluates any given sequence of environment states.’ – AIMA3e, page 37, italics mine.
-
The
Action
taken by an agent in response to a percept or percept sequence.Declaration
Swift
associatedtype ActionType
-
‘We use the term percept to refer to the agent’s perceptual inputs at any given instant. An agent’s percept sequence is the complete history of everything the agent has ever perceived. In general, an agent’s choice of action at any given instant can depend on the entire percept sequence observed to date, but not on anything it hasn’t perceived. – AIMA3e, page 34.
Protocol generic
PerceptType
is reified (love that term) as soon as this protocol is adopted.Declaration
Swift
associatedtype PerceptType
-
‘Mathematically speaking, we say that an agent’s behavior is described by the agent function that maps any given percept sequence to an action. [The agent function is] an external characterization of the agent. Internally, the agent function for an artificial agent will be implemented by an agent program. It is important to keep these two ideas distinct.’ – AIMA3e, page 35.
Declaration
Swift
func execute(_ percept: PerceptType) -> ActionType
Parameters
percept
The current
Percept
of a sequence perceived by theAgent
.Return Value
The
Action
to be taken in response to the currentPercept
.


[gecode-users] LDSB : value symmetry on subset of branching variables ?
Martin Mann
mmann at informatik.uni-freiburg.de
Mon Apr 22 16:59:31 CEST 2013
Hi Gecoders,
a question concerning LDSB search breaking value symmetry.
I have a CSP where the branching is done on a set of variables X = X_1 +
X_2 composed from two other sets X_1 and X_2.
I have different value symmetries for X_1 and X_2 that I want to impose.
As far as I see, I can only post the symmtries for a "full" branching.
Thus, if I want to enforce different symmetry breakings for X_1 and X_2,
I have to split my branching into two successive branchings right? If
so, this might weaken the search compared to branching on whole X (which
is hopefully compensated by the symmetry breaking).
Or is there another way around it to specify for which variables what
symmetry object is to be applied?
Thanks for advice,
Martin
--
Dr. Martin Mann, Postdoc
Bioinformatics - Inst. of Computer Science
Albert-Ludwigs-University Freiburg
Tel: ++49-761-203-8254
Fax: ++49-761-203-7462
http://www.bioinf.uni-freiburg.de/~mmann/
More information about the users
mailing list


Industries: eCommerce, Software
I led a small user experience team that was distributed across several clients. While we were all living in the greater metropolitan area, we very infrequently saw each other. I needed a way for my team to be able to collaborate effectively, without ever physically seeing one another. The opportunity presented itself when we had a client in Portland looking to leverage our UX skills.
We tried meeting in the office, but inevitably someone would be at a client and not able to make the meeting. We started with Skype for Business and GoTo Meeting. Both were too formal and felt “in the way”. It wasn’t until we embraced fully remote that the team was able to work most effectively. Our team now uses Slack, both for collaboration and chit chat, as well as Trello for keeping track of our tasks.
Working remote amongst our team has made us more effective at working with clients, many of which are located across the country.


Secure an app with Keycloak
Before you start
If you already have an up and running otoroshi instance, you can skip the following instructions
Let’s start by downloading the latest Otoroshi.
curl -L -o otoroshi.jar 'https://github.com/MAIF/otoroshi/releases/download/v16.8.0-dev/otoroshi.jar'
then you can run start Otoroshi :
java -Dotoroshi.adminPassword=password -jar otoroshi.jar
Now you can log into Otoroshi at http://otoroshi.oto.tools:8080 with<EMAIL_ADDRESS>Create a new route, exposed on http://myservice.oto.tools:8080
, which will forward all requests to the mirror https://mirror.otoroshi.io
. Each call to this service will returned the body and the headers received by the mirror.
curl -X POST 'http://otoroshi-api.oto.tools:8080/api/routes' \
-H "Content-type: application/json" \
-u admin-api-apikey-id:admin-api-apikey-secret \
-d @- <<'EOF'
{
"name": "my-service",
"frontend": {
"domains": ["myservice.oto.tools"]
},
"backend": {
"targets": [
{
"hostname": "mirror.otoroshi.io",
"port": 443,
"tls": true
}
]
}
}
EOF
Running a keycloak instance with docker
docker run \
-p 8080:8080 \
-e KEYCLOAK_USER=admin \
-e KEYCLOAK_PASSWORD=admin \
--name keycloak-server \
--detach jboss/keycloak:15.0.1
This should download the image of keycloak (if you haven’t already it) and display the digest of the created container. This command mapped TCP port 8080 in the container to port 8080 of your laptop and created a server with admin/admin
as admin credentials.
Once started, you can open a browser on http://localhost:8080 and click on Administration Console
. Log to your instance with admin/admin
as credentials.
The first step is to create a Keycloak client, an entity that can request Keycloak to authenticate a user. Click on the clients button on the sidebar, and then on Create button at the top right of the view.
Fill the client form with the following values.
Client ID
:keycloak-otoroshi-backoffice
Client Protocol
:openid-connect
Root URL
:http://otoroshi.oto.tools:8080/
Validate the creation of the client by clicking on the Save button.
The next step is to change the Access Type
used by default. Jump to the Access Type
field and select confidential
. The confidential configuration force the client application to send at Keycloak a client ID and a client Secret. Scroll to the bottom of the page and save the configuration.
Now scroll to the top of your page. Just at the right of the Settings
tab, a new tab appeared : the Credentials
page. Click on this tab, and make sure that Client Id and Secret
is selected as Client Authenticator
and copy the generated Secret
to the next part.
Create a Keycloak provider module
- Go ahead, and navigate to http://otoroshi.oto.tools:8080
- Click on the cog icon on the top right
- Then
Authentication configs
button - And add a new configuration when clicking on the
Add item
button - Select the
OAuth2 / OIDC provider
in the type selector field - Set a basic name and description
A simple way to import a Keycloak client is to give the URL of the OpenID Connect
Otoroshi. By default, keycloak used the next URL : http://localhost:8080/auth/realms/master/.well-known/openid-configuration
.
Click on the Get from OIDC config
button and paste the previous link. Once it’s done, scroll to the URLs
section. All URLs has been fill with the values picked from the JSON object returns by the previous URL.
The only fields to change are :
Client ID
:keycloak-otoroshi-backoffice
Client Secret
: Paste the secret from the Credentials Keycloak page. In my case, it’s something like90c9bf0b-2c0c-4eb0-aa02-72195beb9da7
Callback URL
:http://otoroshi.oto.tools:8080/backoffice/auth0/callback
At the bottom of the page, disable the secure
button (because we’re using http and this configuration avoid to include cookie in an HTTP Request without secure channel, typically HTTPs). Nothing else to change, just save the configuration.
Connect to Otoroshi with Keycloak authentication
To secure Otoroshi with your Keycloak configuration, we have to register an Authentication configuration as a BackOffice Auth. configuration.
- Navigate to the danger zone (when clicking on the cog on the top right and selecting Danger zone)
- Scroll to the BackOffice auth. settings
- Select your last Authentication configuration (created in the previous section)
- Save the global configuration with the button on the top right
Testing your configuration
- Disconnect from your instance
- Then click on the Login using third-party button (or navigate to http://otoroshi.oto.tools:8080)
- Click on Login using Third-party button
- If all is configured, Otoroshi will redirect you to the keycloak login page
- Set
admin/admin
as user and trust the user by clicking onyes
button. - Good work! You’re connected to Otoroshi with an Keycloak module.
A fallback solution is always available in the event of a bad authentication configuration. By going to http://otoroshi.oto.tools:8080/bo/simple/login, the administrators will be able to redefine the configuration.
Visualize an admin user session or a private user session
Each user, wheter connected user to the Otoroshi UI or at a private Otoroshi app, has an own session. As an administrator of Otoroshi, you can visualize via Otoroshi the list of the connected users and their profile.
Let’s start by navigating to the Admin users sessions
page (just here or when clicking on the cog, and on the Admins sessions
button at the bottom of the list).
This page gives a complete view of the connected admins. For each admin, you have his connection date and his expiration date. You can also check the Profile
and the Rights
of the connected users.
If we check the profile and the rights of the previously logged user (from Keycloak in the previous part) we can retrieve the following information :
{
"sub": "4c8cd101-ca28-4611-80b9-efa504ac51fd",
"upn": "admin",
"email_verified": false,
"address": {},
"groups": [
"create-realm",
"default-roles-master",
"offline_access",
"admin",
"uma_authorization"
],
"preferred_username": "admin"
}
and his default rights
[
{
"tenant": "default:rw",
"teams": [
"default:rw"
]
}
]
We haven’t create any specific groups in Keycloak or specify rights in Otoroshi for him. In this case, the use received the default Otoroshi rights at his connection. The user can navigate on the default Organization and Teams (which are two resources created by Otoroshi at the boot) and have the full access on its (r
: Read, w
: Write, *
: read/write).
In the same way, you’ll find all users connected to a private Otoroshi app when navigate on the Private App View
or using the cog at the top of the page.
Configure the Keycloak module to force logged in users to be an Otoroshi admin with full access
Go back to the Keycloak module in Authentication configs
view. Turn on the Supers admin only
button and save your configuration. Try again the connection to Otoroshi using Keycloak third-party server.
Once connected, click on the cog button, and check that you have access to the full features of Otoroshi (like Admin user sessions). Now, your rights should be :
[
{
"tenant": "*:rw",
"teams": [
"*:rw"
]
}
]
Merge Id token content on user profile
Go back to the Keycloak module in Authentication configs
view. Turn on the Read profile
from token button and save your configuration. Try again the connection to Otoroshi using Keycloak third-party server.
Once connected, your profile should be contains all Keycloak id token :
{
"exp":<PHONE_NUMBER>,
"iat":<PHONE_NUMBER>,
"auth_time":<PHONE_NUMBER>,
"jti": "eb368578-e886-4caa-a51b-c1d04973c80e",
"iss": "http://localhost:8080/auth/realms/master",
"aud": [
"master-realm",
"account"
],
"sub": "4c8cd101-ca28-4611-80b9-efa504ac51fd",
"typ": "Bearer",
"azp": "keycloak-otoroshi-backoffice",
"session_state": "e44fe471-aa3b-477d-b792-4f7b4caea220",
"acr": "1",
"allowed-origins": [
"http://otoroshi.oto.tools:8080"
],
"realm_access": {
"roles": [
"create-realm",
"default-roles-master",
"offline_access",
"admin",
"uma_authorization"
]
},
"resource_access": {
"master-realm": {
"roles": [
"view-identity-providers",
"view-realm",
"manage-identity-providers",
"impersonation",
"create-client",
"manage-users",
"query-realms",
"view-authorization",
"query-clients",
"query-users",
"manage-events",
"manage-realm",
"view-events",
"view-users",
"view-clients",
"manage-authorization",
"manage-clients",
"query-groups"
]
},
"account": {
"roles": [
"manage-account",
"manage-account-links",
"view-profile"
]
}
}
...
}
Manage the Otoroshi user rights from keycloak
One powerful feature supports by Otoroshi, is to use the Keycloak groups attributes to set a list of rights for a Otoroshi user.
In the Keycloak module, you have a field, named Otoroshi rights field name
with otoroshi_rights
as default value. This field is used by Otoroshi to retrieve information from the Id token groups.
Let’s create a group in Keycloak, and set our default Admin user inside. In Keycloak admin console :
- Navigate to the groups view, using the keycloak sidebar
- Create a new group with
my-group
asName
-
Then, on the
Attributes
tab, create an attribute withotoroshi_rights
asKey
and the following json array asValue
[ { "tenant": "*:rw", "teams": [ "*:rw", "my-future-team:rw" ] } ]
With this configuration, the user have a full access on all Otoroshi resources (my-future-team is not created in Otoroshi but it’s not a problem, Otoroshi can handle it and use this rights only when the team will be present)
Click on the Add button and save the group. The last step is to assign our user to this group. Jump to Users
view using the sidebar, click on View all users, edit the user and his group membership using the Groups
tab (use join button the assign user in my-group
).
The next step is to add a mapper in the Keycloak client. By default, Keycloak doesn’t expose any users information (like group membership or users attribute). We need to ask to Keycloak to expose the user attribute otoroshi_rights
set previously on group.
Navigate to the Keycloak-otoroshi-backoffice
client, and jump to Mappers
tab. Create a new mapper with the following values:
- Name:
otoroshi_rights
- Mapper Type:
User Attribute
- User Attribute:
otoroshi_rights
- Token Claim Name:
otoroshi_rights
- Claim JSON Type:
JSON
- Multivalued:
√
- Aggregate attribute values:
√
Go back to the Authentication Keycloak module inside Otoroshi UI, and turn off Super admins only. Save the configuration.
Once done, try again the connection to Otoroshi using Keycloak third-party server. Now, your rights should be :
[
{
"tenant": "*:rw",
"teams": [
"*:rw",
"my-future-team:rw"
]
}
]
Secure an app with Keycloak authentication
The only change to apply on the previous authentication module is on the callback URL. When you want secure a Otoroshi service, and transform it on Private App
, you need to set the Callback URL
at http://privateapps.oto.tools:8080/privateapps/generic/callback
. This configuration will redirect users to the backend service after they have successfully logged in.
- Go back to the authentication module
- Jump to the
Callback URL
field - Paste this value
http://privateapps.oto.tools:8080/privateapps/generic/callback
- Save your configuration
- Navigate to
http://myservice.oto.tools:8080
. - You should redirect to the keycloak login page.
- Once logged in, you can check the content of the private app session created.
The rights should be :
[
{
"tenant": "*:rw",
"teams": [
"*:rw",
"my-future-team:rw"
]
}
]


Truck size and weight
Vehicle weight (kg)
Vehicle axle weight (kg)
Vehicle length (m)
Vehicle width (m)
Vehicle height (m)


This test fetches a URL via the plugin and validates that the plugin does receive notification about the redirect which is then denied.