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.
Canon Canada Inc.
Legal Name:
Canon Canada Inc.
Operating Name:
Canon Canada - PPSG
Mailing Address:
8000 Mississauga RdBRAMPTON, Ontario
L6Y 5Z7
Location Address:
8000 Mississauga RdBRAMPTON, Ontario
L6Y 5Z7
Tel.:<PHONE_NUMBER>
Tel.:<PHONE_NUMBER>
Fax:<PHONE_NUMBER>
Logo
Company Profile
The Professional Printing Solutions Group (PPSG) is a division of Canon Canada. Formed in January 2014 after Océ-Canada Inc. was amalgamated with Canon Canada Inc., PPSG is the leading provider of printing solutions for professionals. PPSGs product offerings include digital presses, high speed digital production printers, wide format printing systems and workflow software for transaction, direct mail, graphic arts, technical documentation and colour display graphics.
Full profile
Full profile
Contact information
Company description
418990 - All Other Wholesaler-Distributors
Product / Service / Licensing
Black-and-white systems => Océ PlotWave 345, Océ PlotWave 365, Océ PlotWave 450, Océ PlotWave 550, Océ PlotWave 750 and Océ PlotWave 900.
Colour systems => Océ ColorWave 500, Océ ColorWave 700, Océ ColorWave 810, Océ ColorWave 910.
Scanners => Océ TC4 Scanner, Océ 610 Scanner
Finishers => Our folders for large format colour and monochrome technical documents, can be integrated with Océ large format printers as stand-alone folders.
Products include:
Océ Arizona 6100 Series (6160XTS, 6170XTS)
Océ Arizona 1200 Series (1240GT, 1240XT, 1260GT, 1260XT, 1280GT, 1280XT)
Océ Arizona 2200 Series (2240GT, 2240XT, 2260GT, 2260XT, 2280GT, 2280XT)
Océ Arizona 318GL
Finishing Options include:
Océ ProCut flatbed cutter line includes nine highly accurate, automated cutting systems that deliver exceptional cut quality, versatility and productivity for all display graphic applications. Part of a complete digital workflow system including Océ ProCut workflow software, Océ ProCut digital cutting tables can streamline your large format digital printer workflow from pre-press to finishing.
Océ display graphics software to streamline workflow from prepress to finishing and ensure consistent output and colour management.
Products include:
ONYX Workflow Océ Edition
Océ ProCut software
ONYX Thrive Océ Edition
Performance ranges from 155 to 2,700 A4 pages per minute with various technologies to suit the financial sector, the telecom businesses, energy suppliers, government and educational institutions as well as all book publishers and businesses in trade and industries.
Our Océ duplex cutsheet and sheet fed production printers provide high speed and high quality printing for commercial printers and corporate environments. With finishing options such as booklet makers, book makers, binders, stackers, hole punching and roll feeders.
Products include:
B&W => Océ VarioPrint 6160, Océ VarioPrint 6200, Océ VarioPrint 6250, Océ VarioPrint 6320 Ultra+ Line.
Colour => Océ VarioPrint i300
Finishing options include => Océ BLM200, Océ BLM550, Océ BLM6300, Océ BGB3202, Océ iHCS, GBC Power Punch.
Our Océ continuous feed black and white printers offer flexible and versatile production printers provide high quality prints for commerce and financial services including monochrome invoices, bank statements, mailings and graphic arts-type applications.
Products include:
B&W => Océ VarioPrint 4000 Series, Océ VarioPrint 7100 Series, Océ VarioPrint 8000 Series.
Finishing options include => Hunkeler Roll Feeder, Tecnau Roll Systems Roll Feeder, Videk Camera Systems
Our Océ continuous feed colour printers offer near-offset quality production printing. They provide high quality colour prints for service bureaus, graphic arts operations, offset printers and other corporate printers.
Products include:
Colour => Océ ImageStream Series, Océ ColorStream 3000Z Series, Océ JetStream Dual Series, Océ JetStream Wide Series.
Finishing options include => Hunkeler Roll Feeder, Tecnau Roll Systems Roll Feeder, EMT, Videk Camera Systems
Software for creation, job submission, production management, pre-press and make-ready, order processing and archiving of print jobs.
Products include:
Job submission => Océ PRISMAdirect, Océ DPconvert.
Production Management => Océ PRISMAproduction, Océ PRISMAspool.
Pre-Press and Make Ready => Océ PRISMAprepare, Océ DocSetter, Océ TrueProof.
Archiving => Océ PRISMAarchive
Banner Stands: A full line of PrimeX and ExpoLinc Banner Stands for short or long term applications.
Bond Paper: 20, 24, 35, 46 lb from 12" to 36" roll on 3" or 2" cores.
Inkjet Display Media: Papers and films for inkjet printing, both aqueous and solvent.
PVC and Scrim Vinyls: A complete line of PVC and Scrim Vinyls for most solvent printers.
Recycled bond: 20lb
Textiles for inkjet printing: A broad range of textiles for solvent printing.
Toner / Ink: Toner and ink for Océ printers and plotters.
Sector information
Distribution of employees:
Head Office - Toronto4711 Yonge Street, Suite 1100
Toronto, Ontario
M2N 6K8
1-800-668-1945
(416) 224-5600
Montreal Branch:
4767 Levy Street
Ville St. Laurent, Quebec
H4R 2P9
1-800-561-3590
(514) 745-6363
Vancouver branch:
1900 - 999 West Hastings St.,
Vancouver, B.C.
V6C 3J1
1-800-558-0864
(604) 279-9010
Calgary Branch:
2828 - 16th Street NE
Calgary, Alberta
T2E 7K7
1-877-320-9100
(403) 717-2900
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
418990 - All Other Wholesaler-Distributors
Products, services and licensing
Product / Service / Licensing
Black-and-white systems => Océ PlotWave 345, Océ PlotWave 365, Océ PlotWave 450, Océ PlotWave 550, Océ PlotWave 750 and Océ PlotWave 900.
Colour systems => Océ ColorWave 500, Océ ColorWave 700, Océ ColorWave 810, Océ ColorWave 910.
Scanners => Océ TC4 Scanner, Océ 610 Scanner
Finishers => Our folders for large format colour and monochrome technical documents, can be integrated with Océ large format printers as stand-alone folders.
Products include:
Océ Arizona 6100 Series (6160XTS, 6170XTS)
Océ Arizona 1200 Series (1240GT, 1240XT, 1260GT, 1260XT, 1280GT, 1280XT)
Océ Arizona 2200 Series (2240GT, 2240XT, 2260GT, 2260XT, 2280GT, 2280XT)
Océ Arizona 318GL
Finishing Options include:
Océ ProCut flatbed cutter line includes nine highly accurate, automated cutting systems that deliver exceptional cut quality, versatility and productivity for all display graphic applications. Part of a complete digital workflow system including Océ ProCut workflow software, Océ ProCut digital cutting tables can streamline your large format digital printer workflow from pre-press to finishing.
Océ display graphics software to streamline workflow from prepress to finishing and ensure consistent output and colour management.
Products include:
ONYX Workflow Océ Edition
Océ ProCut software
ONYX Thrive Océ Edition
Performance ranges from 155 to 2,700 A4 pages per minute with various technologies to suit the financial sector, the telecom businesses, energy suppliers, government and educational institutions as well as all book publishers and businesses in trade and industries.
Our Océ duplex cutsheet and sheet fed production printers provide high speed and high quality printing for commercial printers and corporate environments. With finishing options such as booklet makers, book makers, binders, stackers, hole punching and roll feeders.
Products include:
B&W => Océ VarioPrint 6160, Océ VarioPrint 6200, Océ VarioPrint 6250, Océ VarioPrint 6320 Ultra+ Line.
Colour => Océ VarioPrint i300
Finishing options include => Océ BLM200, Océ BLM550, Océ BLM6300, Océ BGB3202, Océ iHCS, GBC Power Punch.
Our Océ continuous feed black and white printers offer flexible and versatile production printers provide high quality prints for commerce and financial services including monochrome invoices, bank statements, mailings and graphic arts-type applications.
Products include:
B&W => Océ VarioPrint 4000 Series, Océ VarioPrint 7100 Series, Océ VarioPrint 8000 Series.
Finishing options include => Hunkeler Roll Feeder, Tecnau Roll Systems Roll Feeder, Videk Camera Systems
Our Océ continuous feed colour printers offer near-offset quality production printing. They provide high quality colour prints for service bureaus, graphic arts operations, offset printers and other corporate printers.
Products include:
Colour => Océ ImageStream Series, Océ ColorStream 3000Z Series, Océ JetStream Dual Series, Océ JetStream Wide Series.
Finishing options include => Hunkeler Roll Feeder, Tecnau Roll Systems Roll Feeder, EMT, Videk Camera Systems
Software for creation, job submission, production management, pre-press and make-ready, order processing and archiving of print jobs.
Products include:
Job submission => Océ PRISMAdirect, Océ DPconvert.
Production Management => Océ PRISMAproduction, Océ PRISMAspool.
Pre-Press and Make Ready => Océ PRISMAprepare, Océ DocSetter, Océ TrueProof.
Archiving => Océ PRISMAarchive
Banner Stands: A full line of PrimeX and ExpoLinc Banner Stands for short or long term applications.
Bond Paper: 20, 24, 35, 46 lb from 12" to 36" roll on 3" or 2" cores.
Inkjet Display Media: Papers and films for inkjet printing, both aqueous and solvent.
PVC and Scrim Vinyls: A complete line of PVC and Scrim Vinyls for most solvent printers.
Recycled bond: 20lb
Textiles for inkjet printing: A broad range of textiles for solvent printing.
Toner / Ink: Toner and ink for Océ printers and plotters.
Sector
Sector information
Distribution of employees:
Head Office - Toronto4711 Yonge Street, Suite 1100
Toronto, Ontario
M2N 6K8
1-800-668-1945
(416) 224-5600
Montreal Branch:
4767 Levy Street
Ville St. Laurent, Quebec
H4R 2P9
1-800-561-3590
(514) 745-6363
Vancouver branch:
1900 - 999 West Hastings St.,
Vancouver, B.C.
V6C 3J1
1-800-558-0864
(604) 279-9010
Calgary Branch:
2828 - 16th Street NE
Calgary, Alberta
T2E 7K7
1-877-320-9100
(403) 717-2900


ORTHOWASH- sodium fluoride rinse
3M ESPE Dental Products
Disclaimer: Most OTC drugs are not reviewed and approved by FDA, however they may be marketed if they comply with applicable regulations and policies. FDA has not evaluated whether this product complies.
adults and children 6 years of age and older:
children under 6 years of age:
water, glycerin, flavoring, sodium benzoate, sodium phosphate, phosphoric acid, FD&C Red #40, FD&C Blue #1
Grape
NDC 48878-3215-5
3M ESPE
OrthoWash™
Sodium Fluoride in an Acidulated Phosphate Solution
Daily Fluoride Treatment Rinse
Helps prevent tooth decay
Helps prevent white spots
And decay around braces
IMPORTANT: Read
directions thoroughly.
OMNI
Contents:
16 fl oz (480ml)
Strawberry
NDC 48878-3214-5
3M ESPE
OrthoWash™
Sodium Fluoride
in an Acidulated
Phosphate Solution
Daily Fluoride
Treatment Rinse
Helps prevent tooth decay
Helps prevent white spots
And decay around braces
IMPORTANT: Read
directions thoroughly.
OMNI
Contents:
16 fl oz
(480ml)
|
ORTHOWASH
sodium fluoride rinse | ||||||||||||||||||||
| ||||||||||||||||||||
| ||||||||||||||||||||
| ||||||||||||||||||||
| ||||||||||||||||||||
| ||||||||||||||||||||
|
|
ORTHOWASH
sodium fluoride rinse | ||||||||||||||||||||
| ||||||||||||||||||||
| ||||||||||||||||||||
| ||||||||||||||||||||
| ||||||||||||||||||||
| ||||||||||||||||||||
|
| Labeler - 3M ESPE Dental Products (799975909) |
| Establishment | |||
| Name | Address | ID/FEI | Business Operations |
|---|---|---|---|
| 3M ESPE Dental Products | 799975909 | MANUFACTURE |


Collabify is an online web application that helps businesses increase productivity by providing them with an environment to organize their projects, tasks, and employees. Managers will be able to post jobs and add users to them. Job owners can assign tasks, distinguish ongoing workloads, and add duties to a kanban style board that will feature unstarted, ongoing, and finished categories, as well as progress meters. We will also display this info in a new, visually appealing way utilizing the javascript library D3 to create SVGs.
Collabify won’t just redefine the kanban board visually. It will be an innovative platform that integrates a social network style presentation, effectively allowing users to connect and communicate with others. This is especially important for those seeking to use our platform to display professional accolades and other non-work related achievements. Specifically, users will be able to display jobs and accomplishments completed in the past on their profiles and share them with friends, coworkers, and employers. Regarding current jobs, however, users will have the ability to confidently work on projects without fear of someone stealing your work. They will be able to set privacy settings for each and every job, allowing certain jobs to stay seperate and some jobs to be hidden all together. It will feature google login integration to document each individuals work and job participation.


What kind of fun can we have with this thing then?
Run the startup script again.
Reboot the media player.


Settings
Kodi information
Kodi IP address
x.x.x.x
Kodi port
x.x.x.x
Kodi information
App theme
Light
Dark
Kodi player notifications
On
Off
Monetization & about
KaiAds
Support the developer with ads
Ad free experience. Please donate!
About Kaidi Remote (Beta)
version null


OUTLINE
- Basic Features: HDFS
- Architecture
- Data Organisation
- Highly fault-tolerant
- High throughput
- Suitable for applications with large data sets
- Streaming access to file system data
- Can be built out of commodity hardware
- A HDFS instance may consist of thousands of server machines, each storing part of the file system’s data.
- Since we have huge number of components and that each component has non-trivial probability of failure means that there is always some component that is non-functional
- Detection of faults and quick, automatic recovery from them is a core architectural goal of HDFS
- Streaming data access
- Applications need streaming access to data
- Batch processing rather than interactive user access
- Large data sets and files: gigabytes to terabytes size
- High aggregate data bandwidth
- Scale to hundreds of nodes in a cluster
- Tens of millions of files in a single instance
Namenode and Datanodes
- Master/slave architecture
- HDFS cluster consists of a single Namenode, a master server that manages the file system namespace and regulates access to files by clients
- There are a number of DataNodes usually one per node in a cluster
- The DataNodes manage storage attached to the nodes that they run on
- HDFS exposes a file system namespace and allows user data to be stored in files
- A file is split into one or more blocks and set of blocks are stored in DataNodes
- DataNodes: serves read, write requests, performs block creation, deletion, and replication upon instruction from Namenode
- Hierarchical file system with directories and files
- Create, remove, move, rename etc.
- Namenode maintains the file system
- Any meta information changes to the file system recorded by the Namenode.
- An application can specify the number of replicas of the file needed: replication factor of the file. This information is stored in the Namenode.
- The placement of the replicas is critical to HDFS reliability and performance.
- Optimizing replica placement distinguishes HDFS from other distributed file systems.
- Rack-aware replica placement:
- Goal: improve reliability, availability and network bandwidth utilization
- Research topic
- Many racks, communication between racks are through switches
- Network bandwidth between machines on the same rack is greater than those in different racks.
- Namenode determines the rack id for each DataNode.
- Replicas are typically placed on unique racks
- Simple but non-optimal
- Writes are expensive
- Replication factor is 3
- Another research topic?
- Replicas are placed: one on a node in a local rack, one on a different node in the local rack and one on a node in a different rack.
- 1/3 of the replica on a node, 2/3 on a rack and 1/3 distributed evenly across remaining racks.
- The HDFS namespace is stored by Namenode.
- Namenode uses a transaction log called the EditLog to record every change that occurs to the filesystem meta data.
- For example, creating a new file.
- Change replication factor of a file
- EditLog is stored in the Namenode’s local filesystem
- Entire filesystem namespace including mapping of blocks to files and file system properties is stored in a file FsImage. Stored in Namenode’s local filesystem
- Keeps image of entire file system namespace and file Blockmap in memory.
- 4GB of local RAM is sufficient to support the above data structures that represent the huge number of files and directories.
- When the Namenode starts up it gets the FsImage and Editlog from its local file system, update FsImage with EditLog information and then stores a copy of the FsImage on the filesytstem as a checkpoint.
- Periodic checkpointing is done. So that the system can recover back to the last checkpointed state in case of a crash.
- A Datanode stores data in files in its local file system.
- Datanode has no knowledge about HDFS filesystem
- It stores each block of HDFS data in a separate file.
- Datanode does not create all files in the same directory.
- It uses heuristics to determine optimal number of files per directory and creates directories appropriately:
- Research issue?
- When the filesystem starts up it generates a list of all HDFS blocks and send this report to Namenode: Blockreport.
- HDFS support write-once-read-many with reads at streaming speeds.
- A typical block size is 64MB (or even 128 MB).
- A file is chopped into 64MB chunks and stored
- A client request to create a file does not reach Namenode immediately.
- HDFS client caches the data into a temporary file. When the data reached a HDFS block size the client contacts the Namenode.
- Namenode inserts the filename into its hierarchy and allocates a data block for it.
- The Namenode responds to the client with the identity of the Datanode and the destination of the replicas (Datanodes) for the block.
- Then the client flushes it from its local memory.
- When the client receives response from Namenode, it flushes its block in small pieces (4K) to the first replica, that in turn copies it to the next replica and so on.
- Thus data is pipelined from Datanode to the next
References
The Hadoop Distributed File System: Architecture and Design by Apache Foundation Inc


Introduction
mkh player is small and light weight jQuery plugin for playing html5 audio and video supported files. It has custom controls like play/pause, seek bar and volume control. It also allows you to modify the color and change the icon from stylesheet.
To use this plugin is pretty simple, import default css file, import your jQuery file, place audio or video tag along with id
and preload="metadata"
, import jquery.mkhplayer.js and trigger the function .mkhPlayer()
. That's all!


The requested URL was not found on this server. Sorry for the inconvenience.
Please report this message and include the following information to us.
Thank you very much!
| URL: | http://bd.tst.35go.net:9010/bd/t.html?bid=9CB0CB2FBEDC8D213769AC82F4E9A1D3&t=1505207345176 |
| Server: | proxy-tengine-pekdc1-04 |
| Date: | 2017/09/12 17:09:07 |


Derek Eder
@derekeder
For you folks that are into IL Campaign Finance data, @illinoissbe has made the raw data available for public download! This is a great move for transparency and accessibility!
Data updated daily here: https://www.elections.il.gov/CampaignDisclosureDataFiles/
cc: @Reform4Illinois @ProPublicaIL @ILElectionData
12/20/2019, 4:11:26 PM
Favs: 22
Retweets: 10
link


Adventure Game (
)
Character
Health:
Experience:
Welcome to Feights Adventure
Use the Compass Points to move around


The position of the ball along the axis is determined with linear interpolation. As the time value `t` value moves from 0 to 1 the `y` value (ball position) moves from `y_{s tart}` to `y_{end}`.
Try dragging the green ball below to change the `t` value and watch the ball move along the axis as the `y` value changes. Change the `y_{s tart}` and `y_{end}` values to start and stop the ball at different positions too!


Toggle navigation
ABOUT
About Us
Mission and Vision
Advisory Board
PROJECTS
Successful Projects
Undergoing Projects
Upcoming Projects
ACHIEVEMENTS
SPONSORS
TEAM
DONATE
JOIN
CONTACT
Contact Us
Home
Contact
Contact Details
Indian Institute of Technology,
Madras, Chennai- 600036
:
+91-<PHONE_NUMBER>
:
sanket@gmail.com


Registration for BCC2020 is now open! Check out the full program and sign up for Dockstore's virtual workshops on Docker, Descriptors, and analysis with Terra.
The NHLBI BioData Catalyst Fellows Program provides early-career researchers funding and support for novel innovative data science and data-focused research problems. Due June 26, 2020.
A collection of viral NGS workflows for analyzing COVID-19. Learn how to use them with your own data in linked Terra workspaces from the Broad Viral Genomics & Data Sciences Platform.
A simple overview of the Dockstore platform and features. Covers the fundamentals of finding workflows and provides examples of running analysis with sample data.


Hello! I'm Yi Zhang, an aspiring software developer loving to learn different ways to solve business problems and create interesting, yet practical applications with different technologies.
The site is a fully functional web application incorporating genuine snooker data fetched through third-party APIs. While this is primarily intended for showcasing/demonstrating my software development skills and techniques, you can still rely on it as a simple snooker data query.
The site is planned for improvements over time and will be equipped with a complete, dedicated back-end for data storage and processing to suit the site's specific needs, as well as a REST API for public data queries.
Please feel free to view full source code on Github.com


So you’re in high school now. Everyone around you is boasting about the latest clothes, the coolest tech and the all the concerts and events they plan on going to. All of those things come with a hefty financial burden and most high school students just like to spend everything they have now without looking to the future. This section will teach you the basics about saving money, preparing for unexpected costs and prioritizing where you should be spending your money (Hint: You shouldn’t be spending it on an overpriced Jacket)
The first step to creating an effective budget is knowing how much money is going to be coming into your bank account. Most employers give out work schedules in advance so you have an approximate idea of how much you will be making in a specific time period.
One thing you should keep in mind, going out to grab some pizza for lunch is not a fixed expense. A fixed/reoccurring expense is something that is needed for you to function for example your phone bill, groceries and even haircuts. If you are fortunate enough to have a car, gas and insurance would also be considered a fixed expense. Calculate your total monthly fixed expenses by adding them up and call it restricted cash. Subtract your restricted cash from your monthly income because these are the costs that you know for sure you will be incurring.
Since you are still young, you may not have to worry about too many unexpected expenses. But as you grow older, this will become a very important part of your budget because you will own things that have much more value (such as a car) which increases risk of unexpected expenses. An unexpected expense is an expense you weren’t expecting on incurring (no way??). Typically, you should budget 5-10% of your budget left over after completing step 2 towards these expenses.
Saving for the future is essential and you should start now. Once you start, you won’t even notice the reduction in spending money because you will eventually get used to the reduced budget. Typically, it’s recommended that 30% of your budget left after step 3 be allocated towards a savings account you will never touch.
Having fun isn’t hard, when you’ve got a library card! Jokes aside, entertainment is a crucial part of keeping yourself happy. I’m going to show you that you don’t have to break the bank to have fun. After step 4, take the budget you have left and multiply by 35%. This will give you your entertainment budget. Keep in mind that you will reducing the percentage you multiply your leftover budget with as you make more income. If I had $2000 left over from step 4, I wouldn’t be allocating $700 to my monthly budget for entertainment as that is excessive.
Now you have some leftover money after all these steps. You can put this money towards buying something for yourself such as clothes OR you can choose to save it. Remember, just because you have left over money, doesn’t mean that you have to spend it if you do not need to.
Now that you have finished the section on credit here are some questions. You will have 3 attempts for the question. Don't worry if you mess up. You will be brought back to the begining of the section. So you can brush up on what you missed and then you can try again!
1. Most individuals have daily, weekly, and monthly expenses. What should you do once you figure out how much these expenses are
2. Allocating for unexpected expenses and emergencies is a key financial aspect that is often forgotten. Approximately what percentage of your budget should be allocated should allocated to this category?
3. David is trying to figure out how much he should allocate for emergencies. After deducting fixed expenses, he has $100 to work with. How much should he allocate for emergencies
4. Saving for the future is crucial for financial stability. What percent of your budget should be allocated to your savings account after steps 1-3?
5. David just got his first job and decides to use the budgeting tips outlined in this app. After steps 1-3 he has $350 left from his initial monthly income. How much should he allocate to go into his savings account?
6. Having fun is a critical component of human happiness, but it doesn’t have to break the bank. How much of your income left over from steps 1-5 should be allocated towards entertainment?


I’m Virginia Virduzzo.
I am a Front-End Designer/Developer based anywhere. I 'speak' and write html5, css3, js, ruby on rails & php, and also I know a lot a weird world like them. But the really important think is that I take care of designing and carrying out your projects.


Fuzzy Logic
This sample shows how an AI can use fuzzy logic to make decisions. It also demonstrates a method for organizing different AI behaviors, similar to a state machine.Sample Overview
When you program the AI for your games, you know that your actors often have to choose between several different options. In many cases, the choice is black and white: if you see the player, attack him. However, the decision making process is often much less clear cut. If you are low on health, go find a med kit. If there is a powerup nearby, pick it up. But how do you define "low on health," or "nearby?" And what if you're both low on health and also near a powerup? Which action is more important? You can give your AI actors the ability to make these kinds of "fuzzy" decisions by using fuzzy logic.
In this sample, we use some of the behaviors introduced in the chase and evade sample to demonstrate one way that an AI actor can use fuzzy logic to make a decision. The sample employs a tank and fifteen mice. The tank chases the mice, and the mice flee from the tank. The tank uses fuzzy logic to decide which mouse would be best to chase. The user is given control over several factors that influence the tank's decision-making process.
In addition, the sample demonstrates a design pattern that can be useful when programming AI: pluggable behaviors. This pattern separates an entity from the logic for its AI behavior, allowing the behavior logic to be reused by multiple entities.
This sample is based on the Chase and Evade sample, and assumes that the reader is familiar with the code and concepts explained in that sample.
Sample Controls
This sample uses the following keyboard and gamepad controls.
| Action | Keyboard Control | Gamepad Control | Windows Phone |
|---|---|---|---|
| Select fuzzy weight. | UP ARROW, DOWN ARROW | Left thumb stick or D-Pad Up and Down | Drag bar |
| Modify fuzzy weight. | LEFT ARROW, RIGHT ARROW | Left thumb stick or D-Pad Left and Right | Drag bar |
| Exit. | ESC or ALT+F4 | BACK | BACK |
How the Sample Works
Fuzzy Logic
The most interesting part of the sample is in the function Tank.ChooseMouse
, which
uses fuzzy logic to decide which mouse is best to chase. Obviously, deciding
which mouse is "best" isn't a black and white choice. For example, imagine the
tank is trying to choose between two mice. The first is only 20 units away, but is
directly behind the tank. The second is 50 units away, but straight ahead. Which of
these mice is the tank more likely to catch, and therefore the better one to chase?
The tank has three factors to consider:
- If the mouse is nearby, it is a good mouse to chase.
- If the mouse is in front of me, it is a good mouse to chase.
- If I have been chasing this mouse for a long time, it is a good mouse to chase.
Our end goal is a number that represents how "good" each mouse is. Then, it's simple to examine all of the mice, comparing each of their numbers to determine which is best. So how do we arrive at that number?
First, for each of the three factors, we generate a number from 0 to 1 that indicates how true it is. For example, if the tank is near the mouse, the value will be 1; if the tank is far away, the value will be 0. Next, we take the three values and combine them. That's the number that tells us how good each mouse is.
Calculating the Fuzzy Factors
The tricky part of this is generating the 0..1 number that represents how true each factor is. Consider the graph below, which shows how we get the number for the first factor, distance.
In this graph, we have a simple linear function that goes from 1.0 at some point MinDistance, to 0.0 at MaxDistance. The ends of the function are clamped so that the values can't go past 0 and 1. Again, all this means is that a mouse that is MinDistance units away is considered to be nearby, and is therefore a good mouse to chase. A mouse that is MaxDistance units away is not nearby, and is not a good mouse to chase. To find out how close a mouse is, all we have to do is plug its distance into our function, and we get that 0..1 number that we want.
Min and Max distance are constants that are decided upon mostly via trial and error. In this sample, a mouse that is 175 pixels away is considered far away. A mouse that is 0 pixels away is considered nearby.
We can use the same process to generate our 0..1 number for the second factor. Instead of distance, we'll use the difference between the tank's orientation and the angle to the mouse. If the difference is small, the mouse is right in front of the tank, and the value should be close to 1. If the difference is large, the value should be close to 0.
We'll need two more constants, MinAngle and MaxAngle. In the sample, MaxAngle is defined as 90 degrees.
The third factor, time, is a little different. As time increases, we want our 0..1 number to increase as well. The other two factors were the opposite: an increase in distance caused the 0..1 number to decrease. So the function for time looks like this:
Conceptually, this is the same idea as the other two, but the code differs slightly.
Combining the Fuzzy Factors
Now that we've calculated the three 0..1 fuzzy factors that tell us how good a mouse is, we have to combine them to get the finished value, which we can then compare against other mice. The easiest way to combine the three values is to simply add them together. Adding works fine in many cases, but we use a slightly more complicated technique that allows us a bit more fine-grained control over the tank's behavior.
We first give the tank a set of three "weights," one for each of the three fuzzy factors. Each weight is a value from 0 to 1, and represents how much importance is given to each factor. A weight of 0 means that the tank's AI does not consider the associated fuzzy factor to be important. A weight of 1 gives the associated factor the maximum importance.
Implementing these weights is pretty easy. When we combine the three fuzzy factors, we multiply each of the factors by its weight, and then add the three weighted factors together. The result is the finished value that we can use to compare against other mice. By multiplying each factor by its weight before combining it with the others, we get exactly the effect we are looking for: factors with relatively smaller weights have less influence on the final value, and if the weight is 0 the factor is completely ignored.
In this sample, the user can modify the weights. By default, the tank has an equal weight for all factors, so the factors are equally important. By adjusting these weights, it is simple to change the way the tank behaves. One set of weights can give a tank a very different personality than another set might. Play around, and see how different sets of weights make the tank behave differently! For example, try turning the weight for distance all the way up, and the other two weights all the way down. The tank will decide who to chase based entirely on distance, which will make him very erratic. Since time and angle are being ignored in this case, the tank will change targets often, even if the new target is directly behind him. Or, try turning the weight for time all the way up, again minimizing the other two. This will make the tank very tenacious: once he picks a target he'll stick with it, even if another mouse gets closer.
Note that the actual values of the weights are not really important: it is the ratio between the weights that is important. In other words, a tank with weights that are all 0.5 behaves the same as a tank with weights that are all 1.0.
Entities and Behaviors
Aside from fuzzy logic, the other concept that this sample introduces is a useful design pattern for AI
programming. This system is built around two central classes: Entity
and Behavior
.
An entity represents the actual game object, such as the Tank or the Mouse. Behaviors control what the
entities are doing at any time. This sample uses three behaviors: Chase, Wander, and Evade.
For example, if the Tank's current behavior is WanderBehavior
, the tank will wander around the screen.
If it is ChaseBehavior
, it will chase a mouse. This split between entities and behaviors makes the code easy
to reuse. In this sample, the Tank and Mouse both use the WanderBehavior
. The division also makes
code much more legible, by splitting apart the logic of "what should I do" and "how should I do it."
In this sample, when an Entity
updates, it uses the ChooseBehavior
function to decide how to
act this frame. Then, it tells that behavior to update. That behavior makes the entity speed up, slow down,
and turn, so that it acts out the desired behavior.
Extending the Sample
-
Any mouse that is further than MaxDistance away is ignored. Add disqualifying times and angles; for example, limit the tank's
interest to those no more than 90 degrees away from its current direction, or force it to give up after chasing the same mouse
for 30 seconds. This could be implemented by checking the limits inside the
CalculateFuzzy*
methods. The methods could be changed to return a nullable float, and would return null if the mouse should be disqualified. - The fuzzy weights are clamped between 0 and 1 for for simplicity's sake, but they do not need to be clamped. You can get some interesting behaviors by allowing negative values, such as a tank that gives up on targets as soon as another becomes available.
- Implement interesting crowd behaviors by making the mice choose to chase one another at some times, and avoid one another at others.
- Add more than just one tank to the game. They could be opponents: each one could be a different color and have a random personality.
- Use the concepts explained in this sample to add computer-controlled opponents to one of the mini games or starter kits.


FOR KYLE
Rangers vs Hearts – Minute’s applause planned for 20th minute in honour of tragic Blantyre man Kyle Monteith
by Katy PaganRANGERS fans have planned a minute's applause during their clash with Hearts in honour of a tragic Blantyre man.
Kyle Monteith, who died on November 7, was a huge Light Blues supporter.
Now, an emotional tribute is set to be held in his honour during the 20th minute of next month's game at Ibrox.
Spreading the word on social media, Kyle's heartbroken girlfriend Elle Jean said: "Rangers vs Hearts game on the 1st December there will be a minute's applause on the 20th minute of the game in memory of Kyle Monteith."
It is understood officials from the club even reached out to Kyle's loved ones about the plans.
The touching gesture comes after mourners were asked to wear red, white and blue at his funeral on November 15.
Kyle's death was not treated as suspicious.
Speaking at the time, Elle Jean said: "Should not be helping plan your boyfriend's funeral at 20 years of age.
"Life is so f***ing cruel.
"Never felt heartache like this, if only he could see how loved he really was."
We told earlier how mourners gathered to release balloons in Kyle's memory.
It was reported that around 600 people congregated at Kirkton Park on November 9.
As the balloons were let go the park fell silent and then fireworks lit up the sky.
The crowd broke out into a lengthy applause as the display came to an end.


If you read the comments on #27 or see #2289 you'd think there is no sound when a notification is triggered but there is (on Mac and Windows).
So is it (still) possible to disable it? How so?
cc @jtg-gg @jamesmortensen
This is needed as a workaround for #3839 (along with in-app settings for notification sounds).
@all only notifies people who can access the inbox.
@mathou9 @lperrin Can I close this or is this a real problem?
We could do like Slack and have @all (everyone in teh team) and @here (everyone who has access)?
// New Squid Core instance var SquidCore = require('squid-core') // Setup instance with custon settings SquidCore.setup({ env: 'dev' , storage: { engine: 'LocalStorage', moreOptions: 'toDisplayScroll' } })
default text


I am a UX researcher and making efforts to help users to consume personalized services better e.g. personalized advertising. My research is situated in the long-standing quest to "augment the human intellect".
I am also an interaction designer and passionate about applying various UX design skills to build superior products. Moreover, I also have good technical skills to implement my design concepts.
User Research
UX Design
Web Design and Development
Targeted advertising reaches users based on various traits, such as demographics or behaviour. However, users are often reluctant to accept ads. We hypothesise that users are more open to targeted advertising if they can inspect, control and thereby understand the process of ad selection.
The Facebook Ads provides text based explanation and configuration. The Facebook Ads page explains why a user is seeing an ad and allows to configuring ad preferences.
Flow charts have been found effective for presenting complex structural relationships of cause and effect, being superior to text-only explanations especially for inexperienced users. To investigate, we designed a visualization "AdFlow" in a Facebook web app.
Our research work follows the user-centered design approach. We will present how we reach to our final design "AdFlow" to show transparency and user control for personalized ads. In the end, we evaluated how the visualization affects the user perceived quality of ads.
The selection of ads is based on the predicted user profile and the recorded activities on social media like Facebook. However, currently users have poor understanding of ads selection and very limited control over the ads. Therefore, we aim at designing a visualization where people can inspect and control the logic of ad selection.
The prototype of version A consists several charts which enables subjects to inspect and change the generated user model from their Facebook data and gain insight into the relationship between the user model and the number and categories of available ads. By showing such visualizations, we expect subjects will understand why a particular ad is shown to them. By adjusting the user model, they can control the ad selection process.
Pros
Cons
The visualizations of Version 2 mainly use textual information for showing user model and ad selection. Figure 3 a) and b) show the user model and the explanation why the current ad is selected. Figure c) is control panel for changing the user model.
Pros
Cons
The final version comes out after evaluating the previous two prototypes. The prototype mainly consists of three parts, a): the shown ad and a pair of rating buttons; b): visualization AdFlow showing the user model and the process of ad selection; c): the control panel for configuring the predicted user model.
You can also watch it on Youku.
In order to investigate the meaningfulness of transparency and user control on ads, we evaluated AdFlow for about 70 online ads with 200 participants in a between-subjects study. In specific, we measure the success of ads based on four key aspects:
The following table shows the qualitative feedback of 200 participants, then we also performed statistical tests for the feedback data to check the statistically significance for each of these investigated aspects.
The results of user study can be concluded as follows,
User Research
UX Design
Prototype Development
Visual search aims to find information based on visual features of objects, and it is extremely useful when specific keywords for describing an object are unknown. Visual search has been considered as one of the most exciting trends in e-commerce.
It shows the possibility to select or point to information by the user (e.g. on touch screen) whereby the content is automatically recognized and the user is automatically directed to a Web page with product information on the selected content.
A number of mobile apps of visual search such as Slyce, Amazon Flow, Snap Fashion have been developed, in which users can find products by taking a photo. However, taking a photo to precisely select a specific product in a video is difficult.
CircleBuy is designed especially for searching products in videos with seamlessly integrating visual search while watching videos. We actually find a second screen application named TheTake which allows users to discover products from their favourite videos.
| TheTake | CircleBuy |
|---|---|
| Editors match ads with videos manually and beforehand. | Link ads to videos automatically and on the fly. |
| Inflexible user interaction with fixed annotated points. | Flexible user interaction by drawing. |
| No 3D models are provided | 3D models and an AR view |
Figure 3 shows a scenario of using CircleBuy. The numbers coincide with the numbers on figure 3:
Interaction between second screen app and TV
You can also watch it on Youku.
The AR view of shopping item is supported in our demo
You can also watch it on Youku.
We employed a mix of quantitative and qualitative methods to evaluate if our approach can be meaningful towards facilitating the process of purchasing products that appear in videos. More specifically, we investigated if:
We set up our evaluation in an office with a 60 inch TV and a sofa (see Figure 5) to mimic a living room setting. The whole procedure of evaluation was recorded by a Logitech camera.
We use record the users activities on app in a log file. Apart from using questionnaires, during the evaluation we also employed the think-aloud protocol to collect subjects' feedback.
User Research
UX Design
Visual Design
This project aims to increase users'awareness and engagement of using smart energy. I worked with other two researchers to design and develop this app for our smart energy system. We integrate social interaction to this app. Therefore, we assume the user will have a great fun and strong willingness to consume green power.
This app was especially designed for our IoT research project. In addition, I also did other research work in model-based UI and multi-display system. If these are interesting to you, please read our papers ;)
Interaction Design
Prototype Development
Evaluation
Process of retrieving items from storage locations in response to specific customer request.
This work aims to explore appropriate adaptive rules for order picking. The system should allow users to interact in a multi-modal way (vocal and visual interaction). By virtue of wearable devices and ambient intelligent environment, the user experience of picking task has been enhanced apparently with designed adaptive features.
My colleagues firstly interviewed several workers who work in a local warehouse with intelligent logistics system. After analyzing the feedback collected from interview we outline such a scenario.
Figure 2 shows logistics scenario: (1) RFID based Production with automatic material and production flow steering, (2) RFID Temperature Tracking with Supply Chain temperature Sensor, (3) Warehouse Management with an RFID-Forklift, (4) Intelligent Picking, (5) RFID Labelling trade units, (6) Pack and Ship & Good Receipt with RFID goods issue and palette aggregation with RFID hand reader.
After interviewing the warehouse workers with our proposed adaptive rules, we picked the most five popular rules for the prototypes.
Fragile object - The rationale of this rule is that when the worker is about to pick a fragile object, the multi-modal UI should switch to only-vocal modality in order not to distract the user while picking the item.
Picking timeout - The user has just reached the destination shelf of the item but there is no confirmation of the actual item picking. The application then assumes that the worker is distracted/confused and/or not able to recognize the item to pick, then it provides again info on the item, both graphically and vocally.
Order visualization for experienced workers - If the user has good knowledge of the warehouse shelf organisation, there is no need to show associated path information: the application adapts accordingly.
Traffic Jam - There are multiple workers who are expected to approach the same path at the same time: the application adapts in order to minimise the risk of workers to wait for other people before picking the items.
Noisy environment - The environment gets noisy, then the multi-modal application switch to ‘only-graphical’ modality.
In order to reveal those adaptation rules which are generally perceived as the best and most reasonable ones, we conducted two rounds of user study for low-fidelity and high fidelity prototypes. Specifically, we assessed the user perceived quality of the adaptation rule in a 9-item questionnaire.
For more details about this work, please check our paper ;)
Interaction Design
Prototype Development
Evaluation
Collaborative design platform (CDP) focuses on making interaction between analogue urban massing models and interactive simulations direct and intuitive. Technically the major part of CDP is a custom-built multi-touch table. Architects are able to work and design in a familiar,reliable and novel way. In addition, the real-time interaction allows the architects to get the designing effects immediately. E.g., the real-time simulation of building shadow is available after setting a time period.
Multi-touch table is flexible and can be customized. It supports various interaction methods. According to the design scenarios, we designed three different interaction methods (traditional touch, tangible interaction, and finger gesture interaction) on multi-touch table for the simulation program of building shadow.
This work aims at finding the most suitable interaction method for CDP environment. All above mentioned interaction methods will be developed and then evaluated by students of architecture department.
In Figure 2, we can see the building shadow is affected by solar elevation angle and terminator angel. Because solar elevation angle depends on hour angle in local solar time and current sun declination, the user can control shadow via adjusting the period of time. The time units of our system include hour, date and month. Since we have chosen location the local latitude is not considered. Therefore we need design a user interface for changing hour, date and month for simulating building shadow.
After presenting the paper prototype to our client, we received new requirements:
Figure 4 shows new traditional touch user interface. The spinner is used to set specific time unit value. The rectangle button in the center of circle is used to switch time units. The green point represents start time and the red one is end time.
New tangible interaction has no visible interactive elements on touch surface. We designed fiducial marks to set time. Two marks are the triggers of setting start time and end time. The rest three marks are used for setting different time units. The time unit can be set by changing the mark orientation.
Figure 6 shows a cubic and each of its facade has a fiducial mark, and the edges of a facade are labeled by the name of fiducial marks on its adjacent facades. This design helps the user find the correct fiducial mark quickly.
By evaluating three interaction methods, we try to find the most suitable interaction methods on multi-touch table especially for the shadow simulation application on CDP.
This within-subject evaluations is mainly to set time duration by using 3 interaction methods. Each participant need to set 4 different durations from default time duration.
Pros
Cons
Pros
Cons
Pros
Cons
Use this area of the page to describe your project. The icon above is part of a free icon set by Flat Icons. On their website, you can download their free set with 16 icons, or you can purchase the entire set with 146 icons for only $12!


Next:
Iteration
, Previous:
Types and Classes
, Up:
Top
5 Data and Control Flow
•
Generalized Reference
:
•
Transfer of Control to an Exit Point
:
•
Data and Control Flow Dictionary
:


What's on
Home
Channels
CATEGORIES
Kids
Learning
LifeStyle
Movies
Music
News
Radio
Sport
Kids
APPLY
CLEAR ALL
LANGUAGES
Chinese
Indian
International
Korean & Japanese
Malay
Mutiple Language
APPLY
CLEAR ALL
Channels
Channels
TV 1
CH 101
TV 2
CH 102
TV 3
CH 103
TV 4
CH 104
TV 5
CH 105
TV 6
CH 106
TV 1
CH 101
TV 2
CH 102
TV 3
CH 103
TV 4
CH 104
TV 5
CH 105
TV 6
CH 106
What's on
Home
TV Guide
Channels
Favourite
Faq
Feedback
Corporate
Need assistance?
About Astro
Media Room
Astro Publications
Buy an Ad
Astro production
Careers @ Astro
Astro Holdings
Astro Radio
Content Distribution Portal
Businiss Partner Portal
Contact Astro via our
Feedback
Form, call our customer support service line at
03-9543 3838
, or
Locate a Branch
near you
Sitemap
Privacy Policy
Privacy Notice
Website Terms of Use
General Terms & Condition
Copyright © 2017. Measat Broadcast Network Systems Sdn Bhd (240064-A). All Rights Reserved.