|
Research interests Personal statement I am an Assistant Professor of Medicine and Assistant Director of the McDonnell Genome Institute at Washington University School of Medicine. I have more than 15 years of experience in the fields of genomics, bioinformatics, data mining, and cancer research. My research is focused on improving our understanding of cancer biology and the development of personalized medicine strategies for cancer using genomics and informatics technologies. I develop bioinformatics methods for the analysis of high throughput sequence data and identification of biomarkers for diagnostic, prognostic and drug response prediction. In collaboration with our Genomics Tumor Board, I have led the analyses of sequence data from the genomes and transcriptomes of living cancer patients that have exhausted standard-of-care treatment options. I am also leading the analysis of several large-scale genomics projects to help discover genomic signatures relevant to cancer initiation, progression and treatment response. I am an instructor for the Canadian Bioinformatics Workshops and Cold Spring Harbor Laboratory high-throughput sequencing workshop series. I have received numerous competitive research awards from the Natural Sciences and Engineering Research Council, University of Winnipeg, University of British Columbia, National Cancer Institute of Canada and British Columbia Cancer Agency. I was also a Junior and Senior Trainee of the Michael Smith Foundation for Health Research. I was profiled as an "up and coming" investigator in Genome Technology Magazine and listed in Wired Magazine second annual smart list as an emerging talent. I was awarded an NHGRI K99/R00 Pathway to Independence Award to developed integrated analysis and interpretation methods for whole genome, exome and transcriptome sequence data in cancer. In particular, I am focused on applying these methods to better understand the regulatory consequence of somatic mutations that are otherwise of unknown functional significance. Immunogenomics and development of personalized cancer immunotherapies has become a major focus of my research program. I was name a V Scholar by the V Foundation for Cancer Research who are currently supporting my development of immungenomics approaches to improve personalized cancer vaccines. I have also made substantial contributions to open source and open access resources for the scientific community including creation of platforms for alternative expression analysis (www.alexaplatform.org), regulatory region annotation (www.oreganno.org), mining drug-gene interactions (www.dgidb.org), genome analysis development (https://github.com/genome/gms), curation of functional cancer mutations (www.docm.info), the clinical interpretation of variants in cancer (www.civicdb.org). I have published 70+ papers with major areas of focus in precision medicine, AML, colon cancer, lung cancer, cancer genomics, cancer biomarkers, sequence analysis, alternative splicing, and immunotherapy. The following paragraphs describe some general contributions to science and provide an overview of my current research interests. For more specific details refer to the publications section. Genomics technology For the past 12 years I have worked continuously at two large-scale genome sequencing and analysis centers. Early access to new technologies has allowed me to develop cutting edge approaches for genome, transcriptome, and epigenome analysis. For example, I helped to develop some of the first massively parallel sequencing assays for microRNAs, alternative expression analysis of RNA-seq data, copy number variant analysis by tumor whole genome sequencing, RNA-seq and cDNA capture of challenging archival (FFPE) clinical samples, and epigenetic profiling by ChIP-seq. Alternative splicing and gene regulation An area of particular focus in my research has been the development of new massively parallel assays to study alternative expression (alternative transcript initiation, splicing, and polyadenylation). Following on from early work in the Mammalian Gene Collection project to produce a catalogue of all human transcripts, I developed a custom microarray design platform for alternative expression analysis (ALEXA, www.alexaplatform.org/alexa_arrays/). With the advent of massively parallel sequencing, I adapted the principles and analysis methods learned from my work with splicing microarrays to create an alternative splicing analysis platform ALEXA-seq to mine RNA-seq data (www.alexaplatform.org/alexa_seq/). I have since applied these approaches to address several specific biological questions relating to the mechanisms of RNA transcript processing and aberrant RNA splicing observed in tumors, particularly blood cancers where mutations in certain splicing factors such as U2AF1 are common. Bioinformatics In addition to tools and algorithms developed for analysis of RNA-seq data in the context of alternative splicing I have helped to release many other bioinformatic tools, databases, and web resources including tools with very focused applications such as SciClone, ALEXA-Seq and DGIdb but also resources with much broader application including the Genome Modeling System and an RNA-seq analysis resource for cloud computing (www.rnaseq.wiki). I am currently co-leading the development of the first completely open-source and open-access resource to define a community consensus on the clinical interpretation of variants in cancer (www.civicdb.org). A theme of all of these efforts is transparent development including version tracked source code and unrestrictive licensing of both the code and the content produced so that the community can benefit most efficiently from this work. Cancer biology Developing new methods, assays, algorithms and bioinformatics tools is a means to an end in my research program. My goal is to apply these to improve our understanding of cancer biology and to translate discoveries into improved outcomes for patients suffering from cancer. I have applied these new methods to address specific biological questions in several cancer types and treatment scenarios. These studies range from creating the first genomic landscapes of some cancer types such as lung cancer, to pursuing specific candidate biomarkers of therapeutic resistance in colon cancer, to defining the clonal architecture of AML. Personalized immunotherapies Over the past two years I have actively pursued the emerging field of immunogenomics in which we use genomic profiling to understand and harness the anti-tumor potential of the adaptive immune system. Initially, I have applied my expertise in biomarker discovery to identify predictors of response to checkpoint blockade inhibition therapy. More recently, I have also developed expertise and bioinformatics approaches for the design and evaluation of personalized cancer vaccines consisting of tumor neoantigens predicted to induce a T-cell response. I am currently a sub-investigator on seven clinical trials involving personalized cancer vaccines where my lab supports design of the vaccines. Precision medicine My greatest research interest is personalized or precision medicine. I am broadly interested in the translation of genomics data from whole genome, exome and transcriptome sequencing into clinically actionable observations and personalized cancer therapies. In 2010, I was involved in one of the first attempts to sequence the genome of a patient in real time and personalize therapy based on the analysis of this data. In 2011, I helped to lead the analysis of a second case that lead to a widely reported discovery of aberrant FLT3 over-expression and unique therapeutic intervention in a case of adult ALL. Since those two cases I have continued to focus on the work needed to make clinical genome sequencing of individual patients a reality. To date, I have contributed to the analysis of hundreds of tumors representing more than ten tumor types in collaboration with over a dozen clinicians. |


| 1 | /* | |
| 2 | * The MIT License (MIT) | |
| 3 | * | |
| 4 | * Copyright 2018 Valentyn Kolesnikov | |
| 5 | * | |
| 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy | |
| 7 | * of this software and associated documentation files (the "Software"), to deal | |
| 8 | * in the Software without restriction, including without limitation the rights | |
| 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
| 10 | * copies of the Software, and to permit persons to whom the Software is | |
| 11 | * furnished to do so, subject to the following conditions: | |
| 12 | * | |
| 13 | * The above copyright notice and this permission notice shall be included in | |
| 14 | * all copies or substantial portions of the Software. | |
| 15 | * | |
| 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
| 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
| 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
| 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
| 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
| 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | |
| 22 | * THE SOFTWARE. | |
| 23 | */ | |
| 24 | package com.github.underscore.lodash; | |
| 25 | ||
| 26 | import java.nio.charset.Charset; | |
| 27 | import java.util.HashMap; | |
| 28 | import java.util.Map; | |
| 29 | ||
| 30 | public final class Base32 { | |
| 31 | ||
| 32 | private static final Charset UTF_8 = Charset.forName("UTF-8"); | |
| 33 | private static final Base32 INSTANCE = new Base32("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdef"); | |
| 34 | ||
| 35 | private final char[] digits; | |
| 36 | private final int mask; | |
| 37 | private final int shift; | |
| 38 | private final Map<Character, Integer> charMap; | |
| 39 | ||
| 40 | private Base32(final String alphabet) { | |
| 41 | digits = alphabet.toCharArray(); | |
| 42 | mask = digits.length - 1; | |
| 43 | shift = Integer.numberOfTrailingZeros(digits.length); | |
| 44 | charMap = new HashMap<Character, Integer>(); | |
| 45 | for (int index = 0; index < digits.length; index += 1) { | |
| 46 | charMap.put(digits[index], index); | |
| 47 | } | |
| 48 | } | |
| 49 | ||
| 50 | public static String decode(final String encoded) { | |
| 51 | return new String(INSTANCE.decodeInternal(encoded), UTF_8); | |
| 52 | } | |
| 53 | ||
| 54 | private byte[] decodeInternal(final String encoded) { | |
| 55 | if (encoded.length() == 0) { | |
| 56 | return new byte[0]; | |
| 57 | } | |
| 58 | int encodedLength = encoded.length(); | |
| 59 | int outLength = encodedLength * shift / 8; | |
| 60 | byte[] result = new byte[outLength]; | |
| 61 | int buffer = 0; | |
| 62 | int next = 0; | |
| 63 | int bitsLeft = 0; | |
| 64 | for (char c : encoded.toCharArray()) { | |
| 65 | if (!charMap.containsKey(c)) { | |
| 66 | throw new DecodingException("Illegal character: " + c); | |
| 67 | } | |
| 68 | buffer <<= shift; | |
| 69 | buffer |= charMap.get(c) & mask; | |
| 70 | bitsLeft += shift; | |
| 71 | if (bitsLeft >= 8) { | |
| 72 |
1
1. decodeInternal : Changed increment from 1 to -1 → KILLED |
result[next++] = (byte) (buffer >> (bitsLeft - 8)); |
| 73 |
1
1. decodeInternal : Changed increment from -8 to 8 → KILLED |
bitsLeft -= 8; |
| 74 | } | |
| 75 | } | |
| 76 | return result; | |
| 77 | } | |
| 78 | ||
| 79 | public static String encode(final String data) { | |
| 80 | return INSTANCE.encodeInternal(data.getBytes(UTF_8)); | |
| 81 | } | |
| 82 | ||
| 83 | private String encodeInternal(final byte[] data) { | |
| 84 | if (data.length == 0) { | |
| 85 | return ""; | |
| 86 | } | |
| 87 | ||
| 88 | int outputLength = (data.length * 8 + shift - 1) / shift; | |
| 89 | StringBuilder result = new StringBuilder(outputLength); | |
| 90 | ||
| 91 | int buffer = data[0]; | |
| 92 | int next = 1; | |
| 93 | int bitsLeft = 8; | |
| 94 | while (bitsLeft > 0 || next < data.length) { | |
| 95 | if (bitsLeft < shift) { | |
| 96 | if (next < data.length) { | |
| 97 | buffer <<= 8; | |
| 98 |
1
1. encodeInternal : Changed increment from 1 to -1 → KILLED |
buffer = buffer | (data[next++] & 0xff); |
| 99 |
1
1. encodeInternal : Changed increment from 8 to -8 → KILLED |
bitsLeft += 8; |
| 100 | } else { | |
| 101 | int pad = shift - bitsLeft; | |
| 102 | buffer <<= pad; | |
| 103 | bitsLeft += pad; | |
| 104 | } | |
| 105 | } | |
| 106 | int index = mask & (buffer >> (bitsLeft - shift)); | |
| 107 | bitsLeft -= shift; | |
| 108 | result.append(digits[index]); | |
| 109 | } | |
| 110 | return result.toString(); | |
| 111 | } | |
| 112 | ||
| 113 | public static class DecodingException extends RuntimeException { | |
| 114 | ||
| 115 | public DecodingException(final String message) { | |
| 116 | super(message); | |
| 117 | } | |
| 118 | } | |
| 119 | } | |
Mutations | ||
| 72 |
1.1 |
|
| 73 |
1.1 |
|
| 98 |
1.1 |
|
| 99 |
1.1 |


Connecting to server
Posted: Wed Sep 09, 2009 9:59 am
I uninstalled when you said to but now when i try to get on it always says connecting to server.. idk if i'm just trying at a bad time and the servers down or somethings going on with my download. its Sep 9th 11:50 am eastern and right now it says connecting to server.


Infinispan 14.0 Release Notes
Core
- Infinispan requires at least JDK 11. You can also use JDK 17 LTS or JDK 19
- Jakarta EE based jars for most of the Infinispan modules
- Cluster Listener using `includeCurrentState` has better memory and performance
- Smaller memory requirements for State Transfer
- State Transfer metrics exposed through JMX, including the number of segments during the transfer
- Cache size method optimization
- Reduced some cases of blocking threads being over utilized
- Dynamic Role-based access control (RBAC)
Infinispan Server
- RESP endpoint: a Redis-compatible endpoint connector
- FIPS with PKCS#11 keystores
- Support for custom security providers, such as BouncyCastle
- Support for masked and external credentials
- TLS engine configuration allows cipher suites selection for both TLSv1.3 and TLSv1.2
- JMX integration with our security realms
- Deprecation of endpoint worker threads configuration
- Experimental IO_Uring support
- REST endpoints expose distribution information for caches and clusters
Cloud
- Multi Operand support: A single Operator installation can manage multiple Infinispan Server versions
- FIPS support
- Custom user configuration refactored
- Admin service is now headless
- Bundle provided for both amd64 and arm64 architectures
- Image based on ubi9/ubi-micro
Container Image
- Image based on ubi8/openjdk-17-runtime
- Images provided for both amd64 and arm64 architectures
- `SERVER_LIBS` environment variable that allows dependencies to be downloaded prior to server startup
- The `config-generator` has been removed. Its functionality can be replaced by using configuration overlays
CLI
- List cache entries command, including metadata (table, JSON or CSV format)
- Configuration converter
- Schema command to upload, delete, modify protobuf schema
- Index command to manage indexes
- Client certificate authentication
Configuration
- Multimap supports duplicates
Indexing and querying
- Infinispan native annotations replaced legacy Hibernate Query annotations
- Index start up mode (purge, reindex, none, and auto)
- Dynamic index schema update
- Support Protobuf’s `oneof`
- Improved hybrid query system
- Support for normalizers with the Hot Rod client
Cross-Site Clustering
- The asynchronous cross-site replication updates are batched in the sender
Persistence
- Improvements to `SoftIndexFileStore` segmentation performance
- `JDBCStringBasedStore` is dynamically configured when checking the JDBC connection
- Removal of `JPAStore`
Hot Rod client
- A new Hot Rod client with a completely redesigned API
- Hot Rod 4.0 protocol
- Sync (blocking), Async (non-blocking) and Mutiny sub-APIs
Integrations
- Hibernate caching implementation supporting Hibernate 6
- Hibernate 5 caching is no longer supported due to Jakarta EE migration
Monitoring and bbservability
- Integration with OpenTelemetry tracing
- Client/server request tracing correlations on both Hot Rod and REST APIs
- Integration with Micrometer to produce Prometheus and OpenMetrics metrics


This package contains multiphase potential, voltage, and current sensors.
| Name | Description |
|---|---|
| PotentialSensor | Multiphase potential sensor |
| VoltageSensor | Multiphase voltage sensor |
| VoltageQuasiRMSSensor | Continuous quasi voltage RMS sensor for multi phase system |
| CurrentSensor | Multiphase current sensor |
| CurrentQuasiRMSSensor | Continuous quasi current RMS sensor for multi phase system |
| PowerSensor | Multiphase instantaneous power sensor |
| MultiSensor | Multiphase sensor to measure current, voltage and power |
| AronSensor | threephase Aron sensor for active power |
| ReactivePowerSensor | threephase sensor for reactive power |


We get it, stuff happens. Just enter your email address below and we'll send you a link to reset your password!
The link have been sent


CONTACT US
We’re here to answer any questions you may have about our website, the materials located here, or the CommunAbility project. Contact us and we’ll respond as soon as we can.
We’re here to answer any questions you may have about our website, the materials located here, or the CommunAbility project. Contact us and we’ll respond as soon as we can.
RM-701 George Brown College 51 Dockside Dr. M5T 2T9
416-415-5000 ext. 6038
<EMAIL_ADDRESS>We value your feedback! You can let us know what you like about our website, and what we could do better, by using our contact form. You can also provide us with formal feedback by participating in research that evaluates the CommunAbility project. Find out more about by visiting our Research Information page.
Check out our FAQs as a starting place to find more information.


{% extends "layout.html" %} {% block content %}
I am a Computer Vision Engineer, currently working at Wobot Intelligence, New Delhi.
I code as a hobby and love to solve problems. My primary field of interest is Computer Vision, but I love to work on anything and everything
As you can see, this is my first attempt at an end-to-end Full Stack Deployment of a Computer Vision Algorithm including the front-end design.
Technologies Used:
For a more formal introduction, please visit my LinkedIn profile here: Animikh Aich


Battle the daily struggle of time.
Your equipment: a goat and some drinks.
Meet Marvin, a local farmboy in the Highlands, a far-off village where time is just an illusion. This makes the daily ride to school a difficult task. But you can help! Since bikes or cars are not agile enough to weather the outstanding landscapes Marvin has to travel to, you will be traveling by... goat!
The road is full of obstacles you need to jump over! Progress and unlock new worlds as your highscore grows. Eventually you'll get at school.  Very nifty app, extremely addicting too. My advice: just download this sh*t!
Bora Fidan
Great game! It is a game that has more depth than you might think. Many people may expect another simple jumping-over-objects game, but that's not completely true! With this game you help Marvin arriving at school in time, so he doesn't fall behind in class. Because of that, Marvin won't become a douche-bag and doesn't need a dividend from our tax. So that's why I rate this 5/5 stars, 'cause with this game we help the future, G!
Woutrsz z
gr8 m8 i r8 8/8
Jan Müller
Toll Toller
www.swecquestudios.com
© 2015; Swecque Studios


--- layout: post title: Python staticmethod and classmethod tagline: " core features brief overview" permalink: /python3/stdlib/classmethod-and-staticmethod-overview.html categories: [python3, stdlib, literate programming] tags: [built-in functions, staticmethod, classmethod] ---
Sometimes, programs need to process data associated with classes instead of instances. Consider keeping track of the number of instances created from a class, or maintaining a list of all of a class’s instances that are currently in memory. This type of information and its processing are associated with the class rather than its instances. That is, the information is usually stored on the class itself and processed in the absence of any instance.
In order to illustrate the core idea of these built-in functions lets create a incidental but lucid code snippet:
class Vehicle: """Naturally it is a vehicle""" counter = 0 def __init__(self, **kwargs): """by default all cars are black""" Vehicle.counter += 1 # increments the CLASS variable # self.counter += 1 - increments the PARTICULAR ITEM VARIABLE # the variables below are the particular instance variables if kwargs: self.color = kwargs['color'] else: self.color = 'black' @classmethod def get_num_vehicles(cls): return cls.counter class Car(Vehicle): """Naturally it is a car properties definition""" counter = 0 # it's a class variable @staticmethod def inc_counter(): Car.counter += 1 def get_num_cars(): """Python3.x interprets any function inside a particular class without self argument as a static method""" return Car.counter
my_car = Car(color='red') alice_car = Car(color='white') bob_car = Car()
print("Number of cars = %s" % Car.get_num_vehicles()) # accessed from classmethod print("Number of vehicles = %s" % Vehicle.get_num_vehicles()) print("Parent class counter = %s" % Vehicle.counter) # accessed as a class variable print("%s cars exists." % (Car.counter))
Number of cars = 0 Number of vehicles = 3 Parent class counter = 3 0 cars exists.
Obviously that we've created three Car
objects but our code identified and counted them as
Vehicles
. Lets try to increment the particular counter
in a straightforward manner:
Car.inc_counter() print("Now there is only %s car there" % Car.counter) Car.counter += 2 # evaluate the counter directly print("Now there are %s cars there" % Car.counter)
Now there is only 1 car there >>> Now there are 3 cars there
In Python 3.*, we need not declare such methods as static if they will be called through a class only, but we must do so in order to call them through an instance.
my_car.inc_counter() print("There are %s cars" % Car.get_num_cars())
There are 4 cars
Both staticmethod
and classmethod
self
instance argument not passes to themstaticmethod
simple functions with no self argument that are nested in a class and are designed to work on class attributes instead of instance attributes. Static methods never receive an automatic self argument, whether called through a class or an instance. They usually keep track of information that spans all instances, rather than providing behavior for instances.
classmethod
methods of a class that are passed a class object in their first argument instead of an instance, regardless of whether they are called through an instance or a class. Such methods can access class data through their self class argument even if called through an instance. Normal methods (now known in formal circles as instance methods) still receive a subject instance when called; static and class methods do not.


iColorPicker is free, small (6kB), jQuery Color Picker. It converts each input field which class name is “iColorPicker” to beautiful color picker.
Live Example
Using this Color Picker is really easy, all you have to do is load jQuery and load iColorPicker script. Now, each “input” with class name “iColorPicker” will be converted to beautiful Color Picker :)
Sample:
iColorPicker is Free for both, commercial and personal use.
More script and css style: www.aspxcs.net


This tool was inspired by my friend Frode who was planning a planets walk for his son, Edgar, and wanted to get the scale right.
By Christopher Gutteridge


|
|||||||||||
| PREV NEXT | FRAMES NO FRAMES |
| Packages that use PDAction | |
| org.pdfbox.pdmodel.fdf | The fdf package will handle all of the logic used for FDF objects inside of the PDF/FDF document. |
| org.pdfbox.pdmodel.interactive.action | This package represents actions that can be performed in a PDF document. |
| org.pdfbox.pdmodel.interactive.action.type | This package contains all of the available PDF action types. |
| org.pdfbox.pdmodel.interactive.annotation | The annotation package contains classes that work with PDF annotation elements. |
| org.pdfbox.pdmodel.interactive.documentnavigation.outline | The outline package allows for a PDF outline(bookmarks) to be created. |
| Uses of PDAction in org.pdfbox.pdmodel.fdf |
| Methods in org.pdfbox.pdmodel.fdf that return PDAction | |
PDAction |
FDFField.getAction()
This will get the action that is associated with this field. |
| Methods in org.pdfbox.pdmodel.fdf with parameters of type PDAction | |
void |
FDFField.setAction(PDAction a)
This will set the action that is associated with this field. |
| Uses of PDAction in org.pdfbox.pdmodel.interactive.action |
| Methods in org.pdfbox.pdmodel.interactive.action that return PDAction | |
PDAction |
PDPageAdditionalActions.getO()
This will get an action to be performed when the page is opened. |
PDAction |
PDPageAdditionalActions.getC()
This will get an action to be performed when the page is closed. |
PDAction |
PDFormFieldAdditionalActions.getK()
This will get a JavaScript action to be performed when the user types a keystroke into a text field or combo box or modifies the selection in a scrollable list box. |
PDAction |
PDFormFieldAdditionalActions.getF()
This will get a JavaScript action to be performed before the field is formatted to display its current value. |
PDAction |
PDFormFieldAdditionalActions.getV()
This will get a JavaScript action to be performed when the field's value is changed. |
PDAction |
PDFormFieldAdditionalActions.getC()
This will get a JavaScript action to be performed in order to recalculate the value of this field when that of another field changes. |
PDAction |
PDDocumentCatalogAdditionalActions.getWC()
This will get a JavaScript action to be performed before closing a document. |
PDAction |
PDDocumentCatalogAdditionalActions.getWS()
This will get a JavaScript action to be performed before saving a document. |
PDAction |
PDDocumentCatalogAdditionalActions.getDS()
This will get a JavaScript action to be performed after saving a document. |
PDAction |
PDDocumentCatalogAdditionalActions.getWP()
This will get a JavaScript action to be performed before printing a document. |
PDAction |
PDDocumentCatalogAdditionalActions.getDP()
This will get a JavaScript action to be performed after printing a document. |
PDAction |
PDAnnotationAdditionalActions.getE()
This will get an action to be performed when the cursor enters the annotation's active area. |
PDAction |
PDAnnotationAdditionalActions.getX()
This will get an action to be performed when the cursor exits the annotation's active area. |
PDAction |
PDAnnotationAdditionalActions.getD()
This will get an action to be performed when the mouse button is pressed inside the annotation's active area. |
PDAction |
PDAnnotationAdditionalActions.getU()
This will get an action to be performed when the mouse button is released inside the annotation's active area. |
PDAction |
PDAnnotationAdditionalActions.getFo()
This will get an action to be performed when the annotation receives the input focus. |
PDAction |
PDAnnotationAdditionalActions.getBl()
This will get an action to be performed when the annotation loses the input focus. |
PDAction |
PDAnnotationAdditionalActions.getPO()
This will get an action to be performed when the page containing the annotation is opened. |
PDAction |
PDAnnotationAdditionalActions.getPC()
This will get an action to be performed when the page containing the annotation is closed. |
PDAction |
PDAnnotationAdditionalActions.getPV()
This will get an action to be performed when the page containing the annotation becomes visible in the viewer application's user interface. |
PDAction |
PDAnnotationAdditionalActions.getPI()
This will get an action to be performed when the page containing the annotation is no longer visible in the viewer application's user interface. |
PDAction |
PDAdditionalActions.getF()
Get the F action. |
static PDAction |
PDActionFactory.createAction(COSDictionary action)
This will create the correct type of action based on the type specified in the dictionary. |
| Methods in org.pdfbox.pdmodel.interactive.action with parameters of type PDAction | |
void |
PDPageAdditionalActions.setO(PDAction o)
This will set an action to be performed when the page is opened. |
void |
PDPageAdditionalActions.setC(PDAction c)
This will set an action to be performed when the page is closed. |
void |
PDFormFieldAdditionalActions.setK(PDAction k)
This will set a JavaScript action to be performed when the user types a keystroke into a text field or combo box or modifies the selection in a scrollable list box. |
void |
PDFormFieldAdditionalActions.setF(PDAction f)
This will set a JavaScript action to be performed before the field is formatted to display its current value. |
void |
PDFormFieldAdditionalActions.setV(PDAction v)
This will set a JavaScript action to be performed when the field's value is changed. |
void |
PDFormFieldAdditionalActions.setC(PDAction c)
This will set a JavaScript action to be performed in order to recalculate the value of this field when that of another field changes. |
void |
PDDocumentCatalogAdditionalActions.setWC(PDAction wc)
This will set a JavaScript action to be performed before closing a document. |
void |
PDDocumentCatalogAdditionalActions.setWS(PDAction ws)
This will set a JavaScript action to be performed before saving a document. |
void |
PDDocumentCatalogAdditionalActions.setDS(PDAction ds)
This will set a JavaScript action to be performed after saving a document. |
void |
PDDocumentCatalogAdditionalActions.setWP(PDAction wp)
This will set a JavaScript action to be performed before printing a document. |
void |
PDDocumentCatalogAdditionalActions.setDP(PDAction dp)
This will set a JavaScript action to be performed after printing a document. |
void |
PDAnnotationAdditionalActions.setE(PDAction e)
This will set an action to be performed when the cursor enters the annotation's active area. |
void |
PDAnnotationAdditionalActions.setX(PDAction x)
This will set an action to be performed when the cursor exits the annotation's active area. |
void |
PDAnnotationAdditionalActions.setD(PDAction d)
This will set an action to be performed when the mouse button is pressed inside the annotation's active area. |
void |
PDAnnotationAdditionalActions.setU(PDAction u)
This will set an action to be performed when the mouse button is released inside the annotation's active area. |
void |
PDAnnotationAdditionalActions.setFo(PDAction fo)
This will set an action to be performed when the annotation receives the input focus. |
void |
PDAnnotationAdditionalActions.setBl(PDAction bl)
This will set an action to be performed when the annotation loses the input focus. |
void |
PDAnnotationAdditionalActions.setPO(PDAction po)
This will set an action to be performed when the page containing the annotation is opened. |
void |
PDAnnotationAdditionalActions.setPC(PDAction pc)
This will set an action to be performed when the page containing the annotation is closed. |
void |
PDAnnotationAdditionalActions.setPV(PDAction pv)
This will set an action to be performed when the page containing the annotation becomes visible in the viewer application's user interface. |
void |
PDAnnotationAdditionalActions.setPI(PDAction pi)
This will set an action to be performed when the page containing the annotation is no longer visible in the viewer application's user interface. |
void |
PDAdditionalActions.setF(PDAction action)
Set the F action. |
| Uses of PDAction in org.pdfbox.pdmodel.interactive.action.type |
| Subclasses of PDAction in org.pdfbox.pdmodel.interactive.action.type | |
class |
PDActionGoTo
This represents a go-to action that can be executed in a PDF document. |
class |
PDActionJavaScript
This represents a JavaScript action. |
class |
PDActionLaunch
This represents a launch action that can be executed in a PDF document. |
class |
PDActionRemoteGoTo
This represents a remote go-to action that can be executed in a PDF document. |
class |
PDActionURI
This represents a URI action that can be executed in a PDF document. |
| Uses of PDAction in org.pdfbox.pdmodel.interactive.annotation |
| Methods in org.pdfbox.pdmodel.interactive.annotation that return PDAction | |
PDAction |
PDAnnotation.getAction()
Get the action to be performed when this annotation is to be activated. |
| Methods in org.pdfbox.pdmodel.interactive.annotation with parameters of type PDAction | |
void |
PDAnnotation.setAction(PDAction action)
Set the annotation action. |
| Uses of PDAction in org.pdfbox.pdmodel.interactive.documentnavigation.outline |
| Methods in org.pdfbox.pdmodel.interactive.documentnavigation.outline that return PDAction | |
PDAction |
PDOutlineItem.getAction()
Get the action of this node. |
| Methods in org.pdfbox.pdmodel.interactive.documentnavigation.outline with parameters of type PDAction | |
void |
PDOutlineItem.setAction(PDAction action)
Set the action for this node. |
|
|||||||||||
| PREV NEXT | FRAMES NO FRAMES |


You can set the margin property to auto to horizontally center the element within its container. The element will then take up the specified width, and the remaining space will be split equally between the left and right margins:
In this example the h1 element has a bottom margin of 50px and the h2 element has a top margin of 20px. Then, the vertical margin between h1 and h2 should have been 70px (50px + 20px). However, due to margin collapse, the actual margin ends up being 50px.


Design means consistency
Good web design is characterized by a well conceived color scheme, an interesting layout, a catchy navigation, the choice of appropriate typefaces and an on-topic preparation of content. A professional website is an artistic synthesis that delivers important information and finally convinces by consistency. However, a website is always viewed through a web browser which uses system-specific functionalities or embeds its own control elements. Beside the outer window chrome that includes tabs, the address bar and the window buttons, the scrollbar is the only remaining element inside the website frame that is not styled by web designers normally. If you would enter fullscreen when surfing on a website, the scrollbar would still look system-specific.
This is where CustomScrollbar.js comes in: this small script allows you to style the vertical scrollbar of the entire web page by using CSS. You can adjust the appearance of the scrollbar background and the scroll thumbs that include arrows for scrolling up and down. The script is used right here on this page, just have a look at the right side of the screen.
Facts
Here are some key facts that should provide a short overview of what CustomScrollbar.js is and how it works:
- Easy to use and simple configuration
- Fully customizable via CSS
- Usage of browsers' default scroll behavior
- Cross-browser and multi-system support
- Native scrolling on mobile devices
- No external dependencies
As you can see the script makes use of the default browser scroll behavior. This means that no kinetic scrolling or real-time calculations are needed. CustomScrollbar.js simply hides the native window scrollbars and adds a custom overlay to the web page. There are some hooks and optimizations for Chrome and Internet Explorer but this is also one of the strengths of the script: it's well tested on different platforms and browsers including Windows, Mac OS X, iOS, Android and mobile devices like Android smartphones and tablets, iPhone/iPad and Microsoft Surface. For mobile devices there is a small device detection which disables CustomScrollbar.js since you normally want to make use of the native mobile scrolling on that devices.
Usage
After downloading the package from GitHub, you just need to include the JavaScript file on your site and call it at the end of the HTML code inside your <body> element (or by using jQuery's $(document).ready).
var scrollbar = CustomScrollbar({ thumbHeight: 40 });
So basically this is the only configuration you need. The thumbHeight property defines the height of the scroll thumb in percentage, so in this example it gets the height of 40% of the window height. There are two more optional parameters called bodyPaddingRight and selectors. This allow you to add some space on the right side or change the default CSS ID selectors that are set to scrollthumb and scrollbar by default.
This leads to the final CSS configuration of the scrollbar. The code of this website looks like this:
html::-webkit-scrollbar { width:0 !important; } #scrollbar { position:absolute; top:0; right:0; height:100%; width:20px; background-color:#272b2f; z-index:2; } #scrollthumb { position:absolute; top:0; right:0; width:20px; background:#e94525; } #scrollthumb:before { position:absolute; top:0; left:0; width:20px; height:20px; background-image:url("../assets/arrows.png"); background-repeat:no-repeat; background-position:0 0; content:""; display:block; } #scrollthumb:after { position:absolute; bottom:0; left:0; width:20px; height:20px; background-image:url("../assets/arrows.png"); background-repeat:no-repeat; background-position:0 -20px; content:""; display:block; }
So there is a necessary part for WebKit browsers and the configuration of the scrollbar itself. As you can see, the custom scrollbar simply consists of a collection of absolute positioned elements and pseudo-elements for the up/down arrows. In this example there are transparent PNG images that are used for the appearance of the arrows but you could also use a custom icon font or SVG.
One last thing is to mention that the scrollbar should at least have a width of 18px since the native scrollbar in Firefox on Windows is still fully visible but gets overlapped of the custom scrollbar. It's also important to know that the script only generates a vertical scrollbar since it was developed with responsiveness in mind. The era of horizontal scrollbars has come to an end so it shouldn't be necessary to support this element anymore.
Examples
Beside this website there are some other websites where CustomScrollbar.js is being used. You can have a look at them to see how it integrates:


ACADEMIC YEAR 2017 - 2018
SEMESTER 2
Calculus I (class key)
All classes
SEMESTER 1
ACADEMIC YEAR 2016 - 2017
Calculus I
Homework updated | 31 January 2018
Class off | 31 January 2018
Finals revision materials
Class registration successful
Add Class to calendar


Card Packs Available
This is a selection of 7 of my works taken from my Koru Series.
Included are 7 cards and envelopes priced at $22.00 with free delivery anywhere in the world
Works included from my Koru Series
Soulmates, 2011 No.1
Thank you, 2011 No.4
Harmony, No. 7
Kia Kaha, 2012 No.9
Mother Earth, 2012 No.11
Come Out Into The Light, 2015 No.13
Devine Koru, 2016 No.15
If you would like to ask me about any details of the artworks and other products we share here including price, availability and sizings. Please feel free to send me a message. I will get back to you as soon as possible.
Feedback and questions are also welcomed. Head over to my contact page for enquiries.


This spec has been deprecated, please see the Accessibility Object Model Explainer and index to specs for up to date information.
This document is the spec for Phase 3 of the Accessibility Object Model spec. For background, please refer to the Accessibility Object Model Explainer for the background and motivation, and then Phase 1 and Phase 2.
Virtual Accessibility Nodes will allow authors to expose "virtual" accessibility nodes, which are not associated directly with any particular DOM node, to assistive technology.
This mechanism is often present in native accessibility APIs, in order to allow authors more granular control over the accessibility of custom-drawn APIs.
On the web, this would allow creating an accessible solution to canvas-based UI which does not rely on fallback or visually-hidden DOM content.
The API for Virtual Accessibility Nodes will be specified at a later date.
See Phase 4


About:
This website is intended to help newcomers to emulation programming understand the logic behind making an emulator. As you can see from my development blog I am no emulation expert but hopefully beginners should find a lot of useful material here. The idea of this website is to break down the system I am working on and decide the best way to emulate each part. My completed emulators also have their own section of the website so you can look back at the troubles I had emulating the system and how I succeeded. Although I try to teach programming logic this is not a general programming site, so you will need to know at least one programming language. All examples on this site including the source code are in C++. Im not gonna post the source code for all my emulators just some.
Please note: I do not host copyrighted Roms on this website and I never will, so please dont ask.
Update: 17th March 2009
Well after a fem months break I am back and ready to continue with my emulation development. My SMS tutorials are complete and can be found by navigating the top of this page. I'll probably optimize my gameboy emulator and add sound next before starting a mega drive emulator.
Update: 18th December 2008
My Sega Master System Emulator has approximately 95% compatibility including sound emulation. Over the next few days I shall write the tutorials for SMS emulation and shall upload them to this site. Check back in a few days.
Update: 9th August 2008
I have finally finished the gameboy tutorial section of the site. Use the navigation bar at the top to go to it. Next I will be coding a Sega Master System emulator.
Update: 29th July 2008
My gameboy emulator has approximately 95% compatibility which is enough for me to create the Gameboy howto section. I shall start writing this today and hopefully over the next few weeks I'll have this section of the site complete. However I have not emulated sound yet.
Update: 1st July 2008
Please bare with me while I get all features of this site up and running. I'll start with getting my Chip8 emulator tutorials up and then I'll start to upload my Gameboy resources which is the system I am currently emulating.


We acted incorrectly in arbitrarily changing the Kumquat Festival date. Quoting from the Kumquat Growers' Bylaws:
The date of the Kumquat Festival may only be changed by a two-thirds vote of the General Membership, provided that a 60 percent quorom of the Membership is present.
(Emphasis mine) Since such a quorom was not present, the vote was invalid.


Advice on getting into the prestigious Wharton MBA program from a Wharton MBA.
We provide application strategy and essay review services. Please fill out the form below to schedule a consultation with a Wharton MBA today.


throw
statements whose exceptions are always
caught by containing try
statements.
Using throw
statements as a "goto" to change the local flow of control is confusing and results in poor performance.
Example:
try {
if (!Files.isDirectory(PROJECTS)) {
throw new IllegalStateException("Directory not found."); // warning: 'throw' caught by containing 'try' statement
}
...
} catch (Exception e) {
LOG.error("run failed");
}
Use the Ignore rethrown exceptions option to ignore exceptions that are rethrown.


{% extends "base_auth.html" %} {% block content_auth %}
We've emailed you instructions to activate your account. You should receive them shortly.
If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder.


--- layout: post title: ! '"Simple design that even my grandma can understand"' categories: - praise author: admin published: true date: 2004-12-31 14:48:20.000000000 +00:00 ---
Hamilton Verissimo captures the essence of what Ruby on Rails is about:
On the other hand I’ve coded the Castle on Rails, which is based on Action Pack. I have no merits here, the credits should go for the original author of Ruby on Rails, which implements an incredible simple design that even my grandma can understand how it works and how to create new controllers and views.
Good design doesn’t need to be hard to use. Best practices should be implemented, then hidden away. Programmers shouldn’t need to remind themselves how clever they are by applying the same complicated pattern over and over again. Extract, abstract, move on!


ASSASSINS and TO DIE FOR A film review by Michael John Legeros Copyright 1995 Michael John Legeros
As hard as I struggle against the demons of preconceived notion, I must confess to having expected both the best and the worst this weekend, with the local arrivals of ASSASSINS and TO DIE FOR. The pre-release buzz was polarized: previewers flunked the former, while critics lavished the latter. Imagine my surprise, when ASSASSINS proved watchable and TO DIE FOR a bit of a bore.
To paraphrase somebody else, ASSASSINS doesn't suck. The cold, often humorless story of two rival "contract artists" may not be very exciting, but at least you can watch it. Director Richard Donner (LETHAL WEAPON) seems to be aiming for more than pointless pyrotechnics and he might've hit his mark with a thinner, less-contrived story. (These characters do the *dumbest* things. Such as the absurd one-door-and-one-door-only finale.) Time passes, though, thanks to the playful chemistry between Stallone and Banderas. They're a pair. The cat-loving, fur-hating, surveillance-expert love-interest is played by Julianne Moore, who *must* have something on somebody to be miraculously spared a love scene with the Italian Stallion.
Grade: C+
TO DIE FOR is also flat. Curiously flat, given the praise its raised in recent days. There's satire to spare in director Gus Van Sant's pitch-black comedy about tabloid fame, thanks to a wicked script from GRADUATE scribe Buck Henry, from the novel by Joyce Maynard, from the real-life incident. Nicole Kidman does her second star turn of the year and it's a sizzler. (Think Alicia Silverstone meets Linda Fiorentino.) She's backed by a superb supporting cast that includes Matt Dillon, Joaquin Phoenix, and an unbilled George Segal, who, these days, looks remarkably like Richard Crenna. Have we seen these guys in the same room together? TO DIE FOR is played in faux-documentary fashion, with most of the characters speaking into the camera. And that's the joke.
Grade: B
-- Michael J. Legeros - Raleigh, NC<EMAIL_ADDRESS>(h) -<EMAIL_ADDRESS>(w)
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


scdefg: Differential expression on single cell RNA sequencing data
This app uses scvi-tools, code
is available on GitHub.
- Select groups of interest and run a differential expression comparison.
- Prior to selection you can filter the view of the groups to select.
- For best results select a total of more than 50 cells each group.
- Hold shift to select multiple rows.
- Results take about 15s to compute.
- You will get an interactive volcano plot, MA plot and tables with DE values.
- To highlight genes add one gene per line below.
{# this div gets filled with the custom text users may choose to provide#}


Inherited by com.ualberta.team17.datamanager.LocalDataManager.
Public Member Functions | |
| void | query (DataFilter filter, IItemComparator comparator, IncrementalResult result, IDataSourceManager chainTo) |
| void | query (List< UniqueId > ids, IncrementalResult result, IDataSourceManager chainTo) |
| boolean | saveItem (QAModel item, UserContext userCtx) |
| boolean | isAvailable () |
| Date | getLastDataSourceAvailableTime () |
| void | addDataLoadedListener (IDataLoadedListener listener) |
| void | addDataSourceAvailableListener (IDataSourceAvailableListener listener) |
A source of QAModel data for the DataManager to work with. Asynchronously handles querying for or saving items.
| void com.ualberta.team17.datamanager.IDataSourceManager.addDataLoadedListener | ( | IDataLoadedListener | listener | ) |
Add a listener that is notified when an item is loaded by this source.
| listener |
Implemented in com.ualberta.team17.datamanager.LocalDataManager.
| void com.ualberta.team17.datamanager.IDataSourceManager.addDataSourceAvailableListener | ( | IDataSourceAvailableListener | listener | ) |
Add a listener to notify when this source becomes available. Also called immediately if the source is already available.
| listener |
| Date com.ualberta.team17.datamanager.IDataSourceManager.getLastDataSourceAvailableTime | ( | ) |
Availability: When did this source last successfully return data?
Implemented in com.ualberta.team17.datamanager.LocalDataManager.
| boolean com.ualberta.team17.datamanager.IDataSourceManager.isAvailable | ( | ) |
Availability: Is this source currently available?
Implemented in com.ualberta.team17.datamanager.LocalDataManager.
| void com.ualberta.team17.datamanager.IDataSourceManager.query | ( | DataFilter | filter, |
| IItemComparator | comparator, | ||
| IncrementalResult | result, | ||
| IDataSourceManager | chainTo | ||
| ) |
Query for items using a filter & sort approach
| filter | |
| comparator | |
| result | The IncrementalResult to put the results in |
| void com.ualberta.team17.datamanager.IDataSourceManager.query | ( | List< UniqueId > | ids, |
| IncrementalResult | result, | ||
| IDataSourceManager | chainTo | ||
| ) |
Query for specific known items using a list of IDs of those items.
| ids | The ids to get |
| result | The IncrementalResult to put the results in. |
| boolean com.ualberta.team17.datamanager.IDataSourceManager.saveItem | ( | QAModel | item, |
| UserContext | userCtx | ||
| ) |
Save an item to our source. Note: This is a SYNCHRONOUS method, which may have a long running time, it should not be called on the UI thread.
| item | |
| userCtx | The user context of the person trying to save the item, used to know whether the source should save the item. |
Implemented in com.ualberta.team17.datamanager.LocalDataManager.


Last verified: 2020-01-17 (update history)
Point of contact: gregestren
Discuss: Configurability roadmap: discussion
This roadmap has been retired. See here for the current roadmap.
Status as of Jan 2020:
Platforms:
User-defined configuration:
Efficiency:
Collaboration:
$ bazel build :all
just works, for whatever platform(s) you build for.
android_binary
automatically chooses the right SDK.Dates are approximate based on our best understanding of problem complexity and developer availability. Dates represent expected availability in released Bazel. If a feature requires an incompatible flag, dates represent the first time the feature can be used, even if it requires setting the flag before it’s on by default. ETAs will change, but we’ll keep them refreshed and current.
Also see the Platforms Roadmap for detailed priorities.
Jun 2019C++ rules fully support platforms and toolchains PARTIALLY DONE (#6516)
select()
on
platforms,
and configuration via
--platformsJun 2019Java rules fully support platforms and toolchains PARTIALLY DONE (#6521)
Jun 2019There’s one standard way to select platforms at the command line see status (#6518)
$ bazel build //a:myrule --platforms=@bazel_tools/platforms:mac
--cpu
, --host_cpu
, --crosstool_top
, --javabase
, --apple_crosstool_top
, etc. are deprecatedJun 2019Legacy flags like --cpu
automatically set --platform
while the former are removed
DONE (w/ opt
in)
(#6426)
.bazelrc
s, select()
s on --cpu
, and legacy command lines from breaking as rules adopt platformsAug 2019All supported Bazel rules support platforms and toolchains DONE FOR PYTHON
late 2019Flagless multiplatform builds (unoptimized) NOT STARTED (#6519)
$ cat a/BUILD
cc_binary(name = "app_for_linux", platforms = ["//platforms:linux"])
cc_binary(name = "app_for_mac", platforms = ["//platforms:mac"])
$ bazel build //a:all # No command line flags!
See Starlark Build Configuration for in-depth motivation and design.
Mar 2019Starlark supports custom configuration transitions DONE (#5574)
Jul 2019Starlark supports fancy transitions DONE (#5574)
select()
Jul 2019Starlark supports user-defined build settings DONE (#5577)
A standard API defines how to declare custom settings. This consolidates command line flags, “secret” flags, –define, –features, and feature flags).
--platforms
and feature
flags.Jul 2019All native Bazel rules can be implemented in Starlark DONE (#5578)
May 2019An experimental Bazel mode automatically shrinks build graphs DONE (#6524)
Jul 2019This mode automatically optimizes test trimming and feature flags PARTIALLY DONE (#6524)
Jul 2019An experimental Bazel mode makes identical actions unique PARTIALLY DONE (#6526)
Jul 2019Projects can selectively opt into automatic shareable actions NOT STARTED (#6526)
Jul 2019Documentation explains how to use configuration transitions efficiently NOT STARTED (#6525)
late 2019Bazel automatically shrinks graphs with mixed build settings NOT STARTED (#6524)


New Images Go Behind-The-Scenes Of Zelda: Breath Of The Wild 2's Trailer
Concept art, motion capture and more
by Ryan CraddockNintendo ended its E3 2019 show with a bang earlier this year, revealing that a sequel to The Legend of Zelda: Breath of the Wild was in development. We were treated to a teasing new trailer (which you can view above), showing Link and Zelda in a spot of bother. It's so creepy and mysterious - we love it.
Anyway, new images have now surfaced which give us just a small glimpse behind the scenes, with initial concept art being shown alongside a motion capture actor. We also see Link's animation being worked on inside Maya - a 3D CG application - before being shown the final result. The images come from Nintendo's Japanese recruitment website.
At this early stage, there's still a lot we don't know about the new game, but we did share a full breakdown of that initial trailer a little while ago. In that breakdown, we also list every single thing we've learnt about the Breath of the Wild sequel so far - such as the fact that it's being directed by Hidemaro Fujibayashi and that the game will be darker in tone than the original. Make sure to check it out if you're interested.
Are you excited for Zelda: Breath of the Wild 2 - or whatever it ends up being called? Is that a silly question? Tell us below.
[via nintendo.co.jp, videogameschronicle.com]


| Home | Trees | Indices | Help |
|
|---|
|
|
object --+ | TargetResidue
Wrapper around Target's native residues. Decorates them with additional, fragment-related methods.
| Instance Methods | |||
|
|||
|
|||
| Assignment |
|
||
| ClusterRep or None |
|
||
| Assignment |
|
||
| float |
|
||
|
Inherited from |
| Properties | |
| assignments | |
| native | |
| type | |
|
Inherited from |
| Method Details |
x.__init__(...) initializes x; see help(type(x)) for signature
|
|
Filter all fragments, covering this position in the Target using a FragmentCluster.
|
|
|
| Property Details |
assignments
|
native
|
type
|
| Home | Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1 on Tue Jul 4 20:19:04 2017 | http://epydoc.sourceforge.net |


--- title: "Hello Blogdown Website" author: "Thomas Michem" date: 2020-06-28T21:13:14-05:00 categories: ["R"] tags: ["R Markdown", "brand", "blogdown"] ---
As one of the main languages I work with is R, why not build the whole website in R? Thanks to the fantastic work of Yihui Yue, author of the blogdown library and the standard work.
The resource used to get started is the blogpost https://alison.rbind.io/post/2017-06-12-up-and-running-with-blogdown/.
This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
You can embed an R code chunk like this:
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
fit <- lm(dist ~ speed, data = cars)
fit
##
## Call:
## lm(formula = dist ~ speed, data = cars)
##
## Coefficients:
## (Intercept) speed
## -17.579 3.932
You can also embed plots. See Figure 1 for example:
par(mar = c(0, 1, 0, 1))
pie(
c(280, 60, 20),
c('Sky', 'Sunny side of pyramid', 'Shady side of pyramid'),
col = c('#0292D8', '#F7EA39', '#C4B632'),
init.angle = -50, border = NA
)
The website is deployed on DigitalOcean. To get up and running quickly with blogdown, I used the article by Colin Quirk: https://colinquirk.com/blogdown-on-digitalocean/.
Added https using https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-18-04.
To get $100 free credit use this referral link: https://m.do.co/c/82d961531b3a.
The site is linked to github and updates every hour using cron.


Preparation time
less than 30 mins
Cooking time
over 2 hours
Serves
Serves 4
I had never seen this egg-thickened soup served with a poached egg, but it seemed like a good idea so I tried it – and it is. Like many a simple soup, its success depends on a really good stock, so homemade chicken stock is best.
For the chicken stock, put all the ingredients and 2¼ litres/3¾ pints water in a large pan and bring to the boil, skimming any scum from the surface. Leave to simmer very gently for 2 hours – it is important not to let it boil as that forces the fat from the chicken and makes the stock cloudy. Strain the stock through a sieve, and simmer a little longer to concentrate the flavour if necessary. If not using immediately, leave to cool, then chill or freeze for later use.
Poach 4 of the eggs in simmering water for 3-4 minutes, then move to a bowl of cold water to stop the cooking process. Refresh in hot water just before serving.
Heat the stock to a gentle simmer and add the salt. Poach the chicken breast for 20 minutes. Remove from the stock and leave to cool.
Bring the stock to the boil, add the orzo pasta. Reduce to a simmer and cook for 7-8 minutes.
When the chicken breast is cool enough to handle, slice into 4 lengthways then cut across into strips and set aside.
Whisk the remaining 4 eggs with the lemon juice in a bowl. Pour half the hot stock over the egg and lemon mixture, whisking all the time. Put the egg, lemon and stock back into the pan, return to the heat and stir until the eggs thicken (at about 70–80C). Don’t cook any further.
Remove from the heat and whisk in the butter and parsley.
Add the chicken strips to the soup and ladle into individual bowls. Add a reheated poached egg to each serving and sprinkle with a pinch of cayenne pepper.


Derek Eder
@derekeder
Mayor Lightfoot is proposing in the 2020 budget to merge their IT and Fleet & Facility Management Departments. On it's face, this seems like a bad idea because these things are so different.
Has there been a successful example of merging IT and infrastructure like this anywhere? https://twitter.com/ad_quig/status/1187112400249643008
10/23/2019, 5:03:09 PM
Favs: 7
Retweets: 3
link


Hello SkyCiv Apps
Welcome to SkyCiv Apps! Build on top of this template to create your very own plugin for SkyCiv!


Patient Profile
Doctor's Information
Jane Doe
Date of Birth: 02/08/2018
Location: 985 Peachtree Ave., Atlanta, GA 30004
Parental Information
Name: Jill Doe
Relation to child: Mother
Email<EMAIL_ADDRESS>Phone number:<PHONE_NUMBER>
Name: John Doe
Relation to child: Father
Email<EMAIL_ADDRESS>Phone number:<PHONE_NUMBER>
Edit profile
Training Sessions
Training 1 Completion:
MEDIUM
speed,
LARGE
size,
BLUE
color,
TRIANGLE
shape
Training 2 Completion:
LOW
speed,
MEDIUM
size,
YELLOW
color,
CIRCLE
shape
Choose profile picture
First name
Last name
Date of Birth
Parent 1
Parent 2
Location
Mark Smith
Location: 120 Parkview Dr., Atlanta, GA 30004
Email<EMAIL_ADDRESS>Phone number:<PHONE_NUMBER>
Here are your doctor's initial recommendations:
Initial CVI level:
Low
Medium
High
Please review the following initial recommendations I have made.
Speed
Low
Medium
High
Size
Small
Medium
Large
Color
Red
Yellow
Green
Blue
Grayscale
Shape
Square
Triangle
Circle


CachedTileOverlay
open class CachedTileOverlay : MKTileOverlay
Whenever a tile is requested by the MapView
, it calls the MKTileOverlay.loadTile
.
This class overrides the default MKTileOverlay
to provide support to MapCache
.
See also
MkMapView+MapCache
-
A class that implements the
MapCacheProtocol
Declaration
Swift
let mapCache: MapCacheProtocol
-
If true
loadTile
uses the implementation of themapCache
var. Iffalse
, uses the defaultMKTileOverlay
implementation from Apple.Declaration
Swift
public var useCache: Bool
-
Constructor.
Declaration
Swift
public init(withCache cache: MapCacheProtocol)
Parameters
withCache
the cache to be used on
loadTile
-
Generates the URL for the tile to be requested. It replaces the values of {z},{x} and {y} in the
urlTemplate
defined inmapCache.config
Declaration
Swift
override public func url(forTilePath path: MKTileOverlayPath) -> URL
-
Tells whether or not to upsample and show a lesser detailed z level takes into account
useZoom
configuration as well as current andmaximumZ
valuesDeclaration
Swift
func shouldZoom(at scale: MKZoomScale) -> Bool
-
Given the maximum zoom level for the tileset
(mapCache.config.maximumZ
) it will return the tile, map rects, and additional scaling factor for upscaling tiles.Declaration
Swift
func tilesInMapRect(rect: MKMapRect, scale: MKZoomScale) -> [ZoomableTile]
Parameters
rect
map rectangle for which we want to get the tile set
scale
current zoom scale


A simple problem. Some time back my family needed to start a fire however there was a small problem the wood was wet, well not wet but damp, however this became my problem when they tasked me with starting the fire. The last person who was tasked with starting the fire just succeeded in smoking out the neighbor and creating a lot of paper ash. After being given the task the others left me alone and did other things being outside meant the only person who was with me during this task was a pair of dogs, in order to solve this problem I started talking to the dogs listing off what needed to happen to get this fire started.  Not exactly an easy task but it was a simple task start a fire, so after having a conversation with the dogs about what needed to be done and getting the fire started I remember feeling annoyed both at at the fact the wood was damp and wouldn't work with me and that they left me to do this stupid task alone. If I learned anything from this story its people will always try to get someone else to fix their god damn problems for them
an elegant solution to a problem. So four of us are having an argument about a nonsense topic (the topic is now both a repressed memory and a forbidden thing to bring up), and even though those in the argument were friends the way the argument was going some were not going to stay that way for long. So feeling bad for starting this fight and just watching this unfold I had one of the most brilliant ideas I have ever had if we cant agree on something we like we can at least unite against something we all hate. Form that story I learnt two things, one don't start an argument with nerds about silly topics because it may come to blows and two no one in that group likes elves.


In order to generate a tiny url, add your full address and hit "Generate". A prompt with the new short url will appear


Singapore to be ‘tough’ on trafficking after 2 Indians convicted for forcing Bangladeshi women to dance clubs
KUALA LUMPUR: Singapore warned on Tuesday that it would take "strong" action against labour trafficking after an Indian couple was found guilty of exploiting migrant women, the first such conviction in the affluent city-state.
The two Indian nationals were convicted for exploiting three Bangladeshi women they recruited to dance at nightclubs they ran in Singapore, a first under the country's anti-trafficking law that came into force in 2015.
The couple had subjected the women to "oppressive conditions" including verbal abuse, control of their movements and confiscation of their passports, court documents showed.
"The conviction of the first labour trafficking case underscores our commitment to combat human trafficking," said Shirley Lim, a director at Singapore's Ministry of Manpower, adding two other labour trafficking cases were pending in court.
"We will continue to take strong actions to detect, deter and prosecute trafficking-in-persons cases," she added in a statement to the Thomson Reuters Foundation.
The court adjourned the sentencing to Dec. 19 after it handed down the guilty verdict last week. The couple each face up to 10 years in jail, whipping and a fine under Singapore's Prevention of Human Trafficking Act.
The couple was also found guilty of prostitution-related charges for forcing one of the women into sex work.
The prosecution has said the three Bangladeshi women had to work every day and the couple did not pay at least two of them their monthly salary of 60,000 taka ($707).
Anti-trafficking campaigners said the conviction would send a "strong message" and urged Singapore authorities to raise awareness among migrant workers so they report violations.
"Employers should not think they can get away with exploiting another human being," said Michael Chiam, executive director of anti-trafficking group Hagar International.
The Southeast Asian nation of 5.6 million counts on about 1 million migrant workers from countries like Bangladesh, Indonesia, China and Myanmar to fuel its economy, working in sectors from construction to services and home help.
Singapore was ranked "Tier 2" in the latest U.S. Trafficking in Persons Report for not fully meeting minimum standards when it comes to eliminating human trafficking.
Read also
Read More
Five global deforestation hotspots as Brazil reveals Amazon spike
A sharp rise in deforestation in Brazil's Amazon rainforest drew global concern this week, spotlighting the environmental impact of the loss of huge swathes of forest around the world.
Read More
Wealth alone won't save countries from climate change
Wealth alone will not shield economies from the impact of climate change, researchers said on Wednesday, urging governments to build flood defences and early warning systems to stem financial losses.
Read More
Cabinet refers changes in human trafficking law to Shura Council
The Cabinet yesterday praised the State of Qatar’s ranking in the Global Competitiveness Book 2019 as it has risen to the top 10 in overall competitive indicators from 63 countries.
Read More
Major UK hotels found failing to combat threat of modern slavery
Major hotels in Britain are failing to protect workers from debt bondage and sexual exploitation, according to a study on Wednesday that found 75% of hospitality businesses were flouting anti-slavery legislation.
Read More
Mobile theatres to screen child slavery film in rural India
A film about a boy trafficked to work in a carpet factory is to be screened in remote Indian villages to raise awareness about child slavery among families often targeted by human traffickers.


--- layout: home author_profile: true header: image: "/assets/images/header3.jpg" redirect_from: - /about/ ---
Welcome to my blog. I'm called Ivan-Clare. I am a DevOps Engineer in Nokia as part of the Nokia Software team. Building and developing Nokia’s container infrastructure and platform for easy deployment, integration and usage by other teams in the company and by Nokia’s clients. I am particularly interested in creating high-performance, modular, scalable tools for automation and robust results using DevOps principles. My technical interest are:


LLDB API Documentation
#include <SBValue.h>
Protected Member Functions | |
| lldb::ValueObjectSP | GetSP (ValueLocker &value_locker) const |
| void | SetSP (const lldb::ValueObjectSP &sp) |
| void | SetSP (const lldb::ValueObjectSP &sp, bool use_synthetic) |
| void | SetSP (const lldb::ValueObjectSP &sp, lldb::DynamicValueType use_dynamic) |
| void | SetSP (const lldb::ValueObjectSP &sp, lldb::DynamicValueType use_dynamic, bool use_synthetic) |
| void | SetSP (const lldb::ValueObjectSP &sp, lldb::DynamicValueType use_dynamic, bool use_synthetic, const char *name) |
Friends | |
| class | ValueLocker |
| class | SBBlock |
| class | SBFrame |
| class | SBTarget |
| class | SBThread |
| class | SBValueList |
| lldb::SBValue::SBValue | ( | ) |
| lldb::SBValue::SBValue | ( | const lldb::SBValue & | rhs | ) |
| lldb::SBValue::~SBValue | ( | ) |
| lldb::SBValue::SBValue | ( | const lldb::ValueObjectSP & | value_sp | ) |
| lldb::SBValue lldb::SBValue::AddressOf | ( | ) |
| lldb::SBValue lldb::SBValue::Cast | ( | lldb::SBType | type | ) |
| void lldb::SBValue::Clear | ( | ) |
| lldb::SBValue lldb::SBValue::CreateChildAtOffset | ( | const char * | name, |
| uint32_t | offset, | ||
| lldb::SBType | type | ||
| ) |
| lldb::SBValue lldb::SBValue::CreateValueFromAddress | ( | const char * | name, |
| lldb::addr_t | address, | ||
| lldb::SBType | type | ||
| ) |
| lldb::SBValue lldb::SBValue::CreateValueFromData | ( | const char * | name, |
| lldb::SBData | data, | ||
| lldb::SBType | type | ||
| ) |
| lldb::SBValue lldb::SBValue::CreateValueFromExpression | ( | const char * | name, |
| const char * | expression | ||
| ) |
| lldb::SBValue lldb::SBValue::CreateValueFromExpression | ( | const char * | name, |
| const char * | expression, | ||
| SBExpressionOptions & | options | ||
| ) |
| lldb::SBValue lldb::SBValue::Dereference | ( | ) |
| lldb::SBAddress lldb::SBValue::GetAddress | ( | ) |
| size_t lldb::SBValue::GetByteSize | ( | ) |
| lldb::SBValue lldb::SBValue::GetChildAtIndex | ( | uint32_t | idx | ) |
| lldb::SBValue lldb::SBValue::GetChildAtIndex | ( | uint32_t | idx, |
| lldb::DynamicValueType | use_dynamic, | ||
| bool | can_create_synthetic | ||
| ) |
Get a child value by index from a value.
Structs, unions, classes, arrays and and pointers have child values that can be access by index.
Structs and unions access child members using a zero based index for each child member. For
Classes reserve the first indexes for base classes that have members (empty base classes are omitted), and all members of the current class will then follow the base classes.
Pointers differ depending on what they point to. If the pointer points to a simple type, the child at index zero is the only child value available, unless synthetic_allowed is true, in which case the pointer will be used as an array and can create 'synthetic' child values using positive or negative indexes. If the pointer points to an aggregate type (an array, class, union, struct), then the pointee is transparently skipped and any children are going to be the indexes of the child values within the aggregate type. For example if we have a 'Point' type and we have a SBValue that contains a pointer to a 'Point' type, then the child at index zero will be the 'x' member, and the child at index 1 will be the 'y' member (the child at index zero won't be a 'Point' instance).
Arrays have a preset number of children that can be accessed by index and will returns invalid child values for indexes that are out of bounds unless the synthetic_allowed is true. In this case the array can create 'synthetic' child values for indexes that aren't in the array bounds using positive or negative indexes.
| [in] | idx | The index of the child value to get |
| [in] | use_dynamic | An enumeration that specifies wether to get dynamic values, and also if the target can be run to figure out the dynamic type of the child value. |
| [in] | synthetic_allowed | If true, then allow child values to be created by index for pointers and arrays for indexes that normally wouldn't be allowed. |
| lldb::SBValue lldb::SBValue::GetChildMemberWithName | ( | const char * | name | ) |
| lldb::SBValue lldb::SBValue::GetChildMemberWithName | ( | const char * | name, |
| lldb::DynamicValueType | use_dynamic | ||
| ) |
| lldb::SBData lldb::SBValue::GetData | ( | ) |
| lldb::SBDeclaration lldb::SBValue::GetDeclaration | ( | ) |
| bool lldb::SBValue::GetDescription | ( | lldb::SBStream & | description | ) |
| lldb::SBValue lldb::SBValue::GetDynamicValue | ( | lldb::DynamicValueType | use_dynamic | ) |
| SBError lldb::SBValue::GetError | ( | ) |
| bool lldb::SBValue::GetExpressionPath | ( | lldb::SBStream & | description | ) |
| bool lldb::SBValue::GetExpressionPath | ( | lldb::SBStream & | description, |
| bool | qualify_cxx_base_classes | ||
| ) |
| lldb::Format lldb::SBValue::GetFormat | ( | ) |
| lldb::SBFrame lldb::SBValue::GetFrame | ( | ) |
| lldb::user_id_t lldb::SBValue::GetID | ( | ) |
| uint32_t lldb::SBValue::GetIndexOfChildWithName | ( | const char * | name | ) |
| lldb::addr_t lldb::SBValue::GetLoadAddress | ( | ) |
| const char* lldb::SBValue::GetLocation | ( | ) |
| const char* lldb::SBValue::GetName | ( | ) |
| lldb::SBValue lldb::SBValue::GetNonSyntheticValue | ( | ) |
| uint32_t lldb::SBValue::GetNumChildren | ( | ) |
| const char* lldb::SBValue::GetObjectDescription | ( | ) |
| void* lldb::SBValue::GetOpaqueType | ( | ) |
| lldb::SBData lldb::SBValue::GetPointeeData | ( | uint32_t | item_idx = 0 , |
| uint32_t | item_count = 1 |
||
| ) |
Get an SBData wrapping what this SBValue points to.
This method will dereference the current SBValue, if its data type is a T* or T[], and extract item_count elements of type T from it, copying their contents in an SBData.
| [in] | item_idx | The index of the first item to retrieve. For an array this is equivalent to array[item_idx], for a pointer to *(pointer + item_idx). In either case, the measurement unit for item_idx is the sizeof(T) rather than the byte |
| [in] | item_count | How many items should be copied into the output. By default only one item is copied, but more can be asked for. |
| lldb::DynamicValueType lldb::SBValue::GetPreferDynamicValue | ( | ) |
| bool lldb::SBValue::GetPreferSyntheticValue | ( | ) |
| lldb::SBProcess lldb::SBValue::GetProcess | ( | ) |
| lldb::ValueObjectSP lldb::SBValue::GetSP | ( | ) | const |
Same as the protected version of GetSP that takes a locker, except that we make the locker locally in the function. Since the Target API mutex is recursive, and the StopLocker is a read lock, you can call this function even if you are already holding the two above-mentioned locks.
|
protected |
Get the appropriate ValueObjectSP from this SBValue, consulting the use_dynamic and use_synthetic options passed in to SetSP when the SBValue's contents were set. Since this often requires examining memory, and maybe even running code, it needs to acquire the Target API and Process StopLock. Those are held in an opaque class ValueLocker which is currently local to SBValue.cpp. So you don't have to get these yourself just default construct a ValueLocker, and pass it into this. If we need to make a ValueLocker and use it in some other .cpp file, we'll have to move it to ValueObject.h/cpp or somewhere else convenient. We haven't needed to so far.
| [in] | value_locker | An object that will hold the Target API, and Process RunLocks, and auto-destroy them when it goes out of scope. Currently this is only useful in SBValue.cpp. |
| lldb::SBValue lldb::SBValue::GetStaticValue | ( | ) |
| const char* lldb::SBValue::GetSummary | ( | ) |
| lldb::SBTarget lldb::SBValue::GetTarget | ( | ) |
| lldb::SBThread lldb::SBValue::GetThread | ( | ) |
| lldb::SBType lldb::SBValue::GetType | ( | ) |
| lldb::SBTypeFilter lldb::SBValue::GetTypeFilter | ( | ) |
| lldb::SBTypeFormat lldb::SBValue::GetTypeFormat | ( | ) |
| const char* lldb::SBValue::GetTypeName | ( | ) |
| lldb::SBTypeSummary lldb::SBValue::GetTypeSummary | ( | ) |
| lldb::SBTypeSynthetic lldb::SBValue::GetTypeSynthetic | ( | ) |
| const char* lldb::SBValue::GetValue | ( | ) |
| int64_t lldb::SBValue::GetValueAsSigned | ( | lldb::SBError & | error, |
| int64_t | fail_value = 0 |
||
| ) |
| int64_t lldb::SBValue::GetValueAsSigned | ( | int64_t | fail_value = 0 | ) |
| uint64_t lldb::SBValue::GetValueAsUnsigned | ( | lldb::SBError & | error, |
| uint64_t | fail_value = 0 |
||
| ) |
| uint64_t lldb::SBValue::GetValueAsUnsigned | ( | uint64_t | fail_value = 0 | ) |
| bool lldb::SBValue::GetValueDidChange | ( | ) |
| lldb::SBValue lldb::SBValue::GetValueForExpressionPath | ( | const char * | expr_path | ) |
| ValueType lldb::SBValue::GetValueType | ( | ) |
| bool lldb::SBValue::IsDynamic | ( | ) |
| bool lldb::SBValue::IsInScope | ( | ) |
| bool lldb::SBValue::IsSynthetic | ( | ) |
| bool lldb::SBValue::IsValid | ( | ) |
| bool lldb::SBValue::MightHaveChildren | ( | ) |
Find out if a SBValue might have children.
This call is much more efficient than GetNumChildren() as it doesn't need to complete the underlying type. This is designed to be used in a UI environment in order to detect if the disclosure triangle should be displayed or not.
This function returns true for class, union, structure, pointers, references, arrays and more. Again, it does so without doing any expensive type completion.
| lldb::SBValue& lldb::SBValue::operator= | ( | const lldb::SBValue & | rhs | ) |
| bool lldb::SBValue::SetData | ( | lldb::SBData & | data, |
| lldb::SBError & | error | ||
| ) |
| void lldb::SBValue::SetFormat | ( | lldb::Format | format | ) |
| void lldb::SBValue::SetPreferDynamicValue | ( | lldb::DynamicValueType | use_dynamic | ) |
| void lldb::SBValue::SetPreferSyntheticValue | ( | bool | use_synthetic | ) |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
| bool lldb::SBValue::SetValueFromCString | ( | const char * | value_str | ) |
| bool lldb::SBValue::SetValueFromCString | ( | const char * | value_str, |
| lldb::SBError & | error | ||
| ) |
| bool lldb::SBValue::TypeIsPointerType | ( | ) |
| lldb::SBWatchpoint lldb::SBValue::Watch | ( | bool | resolve_location, |
| bool | read, | ||
| bool | write, | ||
| SBError & | error | ||
| ) |
Watch this value if it resides in memory.
Sets a watchpoint on the value.
| [in] | resolve_location | Resolve the location of this value once and watch its address. This value must currently be set to true as watching all locations of a variable or a variable path is not yet supported, though we plan to support it in the future. |
| [in] | read | Stop when this value is accessed. |
| [in] | write | Stop when this value is modified |
| [out] | An | error object. Contains the reason if there is some failure. |
| lldb::SBWatchpoint lldb::SBValue::Watch | ( | bool | resolve_location, |
| bool | read, | ||
| bool | write | ||
| ) |
| lldb::SBWatchpoint lldb::SBValue::WatchPointee | ( | bool | resolve_location, |
| bool | read, | ||
| bool | write, | ||
| SBError & | error | ||
| ) |
Watch this value that this value points to in memory
Sets a watchpoint on the value.
| [in] | resolve_location | Resolve the location of this value once and watch its address. This value must currently be set to true as watching all locations of a variable or a variable path is not yet supported, though we plan to support it in the future. |
| [in] | read | Stop when this value is accessed. |
| [in] | write | Stop when this value is modified |
| [out] | An | error object. Contains the reason if there is some failure. |
|
friend |


Hydraulic Calculator
Home
Cylinder Velocity Formulas
Pascals Law Formulas
Inlet Conditions
Pump Formulas
Motor Torque Formulas
Calculate horsepower given torque and rpm
HP = (Torque
lbs-ft
* rpm)/5252
Enter Torque(lbs-ft):
Enter RPM:
Horsepower =
HP = (Torque
lbs-in
* rpm)/63025
Enter Torque(lbs-ft):
Enter RPM:
Horsepower =
Calculate Motor Torque given displacement and pressure
Torque
lbs-in
=(Displacement
cir
* Pressure)/6.28
Enter Displacement(cir):
Enter Pressure(psi):
Torque(lbs-in) =


Web Developer Examples and Resources by Sabra Grace
Accessibility Research
Navigating the offline world already poses many challenges (physical and otherwise) for people with disabilities. The digital world offers us the advantage of a more malleable landscape where we can create a parallel world that is more easily navigated for those of us who are differently abled. Accessibility and reflecting the real lives of end users is imperative because ultimately, we build webpages for real people. Especially when the U.S. Census reports that 1 in 5 Americans has a disability.
Building an accessible website is both good for ADA web requirement compliance and profitable for companies. The word “disability” can mean a range of different definitions including the 8.1 million Americans who have difficulty with their sight, of which 2 million people experience blindness. This market share has huge potential if not ignored. Forbes Magazine compares the overlooked market of consumers with disabilities to the pre 1990s era when women were commonly ignored as a consumer class.
The Return on Disability group’s 2016 Annual Report: The Global Economics of Disability shows that this is an emerging market “[...] the size of China [and] influences over $8 trillion in annual disposable income. As this giant market emerges, our team explores opportunities for public companies and governments to add economic value by delighting customers and sourcing the best talent.”
Accessibility is not a concern catering only to a select few of the population. At some point in all our lives, we will each need to use assistive tools. As the digital native generations age, the importance of building websites, apps and tech tools that are accessible for people with disabilities will only grow more important. Even Ryan Taji and Boram, two of the most famous child YouTube influencers will someday need assistive tools to help them access content. Ultimately, designing for good web accessibility is ultimately important for all of us.
Donovan, Rich. “2016 Annual Report: The Global Economics of Disability.” Translate Different Into Value, Return on Disability, 1 May 2016, www.rod-group.com/sites/default/files/2016 Annual Report - The Global Economics of Disability.pdf. Lee, Bruce Y. “An Overlooked And Growing Market: People With Disabilities.” Forbes, 11 Nov. 2016. https://www.forbes.com/sites/brucelee/2016/11/02/an-overlooked-and-growing-market-people-with-disabilities/#262aa3a12ab0 Project Civic Access Toolkit, Chapter 5: Website Accessibility Under Title II Of the ADA https://www.ada.gov/pcatoolkit/chap5toolkit.htmDesigning Forms
Years ago when I opened a music school, like many business owners, I did not know how helpful good form design could be. I was unaware of the ENORMOUS impact that this one, small and simple tool could have on my life as a business owner, and that of my employees. I truly believe that designing good web forms can make your business thrive or flounder.
- Forms streamline work for both your customer and your employees.
- Forms can make initial interactions frustration-free for everyone - you AND your customer!
- Forms make it easier for your to track prospects.
- Forms can organize information for you. And who doesn’t love less work?!
Best of all for CMS, forms are trackable. Forms may not seem exciting, but they will absolutely help you increase your customer conversion rates and profit margins if designed well. As with any tool, you want your forms to be designed well. Good design is a thoughtful form that does not overwhelm prospective customers with too many options that might chase them away or frustrate them. A well designed form will make your new potential customers click the submit button.
The “choice overload” phenomenon is also good to keep in mind when designing your web forms. Choice overload occurs when we are inundated with too many options. Have you ever gone to a restaurant with a menu that makes you feel like you need to buy the Cliff’s Notes version? When designing your website’s form, we will streamline the options to be as clear and simple so that you get the information that you need, and customers will feel like the process of contacting you is easy.


Swipe left to find the relevant year group.
First Form
Second Form
Third Form
Fourth Form
Fifth Form
Lower Sixth
Upper Sixth


Woman Blinded After Using Phone Too Much
by Emma RosemurgeyWhen I was a kid my parents used to tell me, among other things, my eyes would turn square if I watched too much TV. What they didn’t tell me, however, is that I could literally go blind from playing on my phone too much.
While that might (definitely) sound a little too extreme to tell a child, it’s exactly what happened to one woman when her phone addiction left her temporarily blind in one eye after blood vessels burst from excess strain.
The unnamed patient from Shenzhen, a major port city in China’s southern Guangdong Province, was forced to visit hospital after being unable to see out of her left eye.
According to her doctor, Qiu Wangjian, with Songgang People’s Hospital, it followed a night of heavy smartphone use.
Doctor Qiu said:
The patient stayed up all night playing on her mobile phone.
The following morning, as soon as she woke up, she picked up her phone and started using it again.
About five minutes later, the patient discovered that she was unable to see out her left eye. She couldn’t see anything.
Images taken of her eye showed large patches of blood on her retina, blocking her vision.
We diagnosed her with valsalva retinopathy.
The condition, Qiu says, is the result of the rupturing of superficial retinal vessels caused by physical exertion, which in simple terms means she strained her eyes to the point of a blood vessel bursting.
Doctor Qiu added:
It was important that we treated her quickly in order for her not to suffer any long-term effects.
The anonymous woman was given laser treatment to create a small hole on her retina, allowing the blood to be discharged.
She is now said to be recovering after her procedure and has fortunately regained her vision.
After learning there could be some truths in the old wives tales we’re told as children, I’m starting to wonder whether my hair might actually go curly if I don’t eat my crusts.
Be right back, I’m just off to stock up on carrots to make sure I can see in the dark and make sure I’m pulling a nice face in case the wind changes and I’m stuck like that.
Emma Rosemurgey is an NCTJ trained Journalist who started her career by producing The Royal Rosemurgey newspaper in 2004, which kept her family up to date with the goings on of her sleepy north east village. She graduated from the University of Central Lancashire in Preston and started her career in regional newspapers before joining Tyla (formerly Pretty 52) in 2017, and progressing onto UNILAD in 2019.


About
This website was written as part of an exercise
Our Locations
USA
New York
Columbus
Austin
Philly
World
Ottawa
Sydney
Upcoming Classes
Location
Topic
New York
JavaScript & jQuery
San Francisco
HTML & CSS
Sign up!
Name:
Email
Location
New York
San Francisco
Gender
Male
Female
Experience:


Visual Studio Code
Fizzbuzz
- Generates "Fizzbuzz" and " Fibonacci" numbers up to the user inputed number.
Modified Ski Game
Original original windows game at
microsoft
Original web game at
timelessname.com
Author inspired by
xkcd ski-free
Real life ski free! (nsfw)
Visual Studio
Arithmetic
- Adds, multiplys, divides, and chooses the bigger number of the the two numbers inputed.
Lotto
- Mini lotto number simulator.
DataViz
- converts data from a file into a bar graph.


IntroductionThe BrowserMob Proxy is a simple tool that makes it easy for developers and testers to simulate network behavior that might not otherwise be easily seen under every-day usage. For example, it can slow down network traffic, effectively simulating what a low-bandwidth user might experience our site with. It can also easily intercept certain HTTP requests (via regular expression), allowing you to mock out unexpected results, such as 500 response codes, long delays is responses, or even unexpected content. Getting StartedGetting started is simple:
That's it! From there you can configure your browser to use the BrowserMob Proxy, as well as configure the BrowserMob Proxy itself (ie: simulated bandwidth, mock response settings, etc). Getting InvolvedThe best way to get involved is to first join the mailing list and tell us how you're using BrowserMob Proxy and what features you'd like to see added. In addition, you are welcome to check out the Git project, where you can check out the source code and report bugs. |
About This ToolThe BrowserMob Proxy is a free, open source tool that helps you alter the normal behavior of your webapp. This is useful for when you want to simulate uncommon situations, such as a slow or unexpected server response. BrowserMob Proxy was created by BrowserMob, who provides affordable cloud-based performance testing services using real browsers.
|


Trigger animation
Simple
Tada
Simple Chained
Tada and Bounce
Multiple
Tada + Bounce
Reveal animation
Enter
Leave
Enter and Leave


Sprint 1: Tech Blog #1
Sprint 1: Core Blog #2
Sprint 2: Tech Blog#1
Sprint 2: Core Blog#2
Sprint 3: Core Blog#1
Sprint 3: Tech Blog#2
Sprint 4: Core Blog#1
Sprint 4: Tech Blog#1
Sprint 5: Core Blog#1


blog about web design
best free templates
{% block content %} {% endblock %}
animation
magazines
architecture
news
art
photography
blogs
product design
books
stuff
graphic design
web design
illustration
January
July
February
August
March
September
April
October
May
November
June
December


| Home | Syntax | Language Basics |
A Syntax Error occurs when you try to execute a Vision expression that is not formulated correctly. For example, the following expression does not supply a parameter to the + message:
3 +If you execute this expression, you should get the error message:
>>> 'syntax error' near source line 2, character 9 <<< 3 + ** ^Since Vision was expecting a value following the + message and none was provided, you are informed that you have made a syntax error. Vision tries to identify where the error occurred and provides an indicator arrow (i.e., the ^ symbol) in the area where the problem was first identified. In this case, the arrow points to the area directly after the + message. Execution is terminated as soon the first syntax error is encountered.
Several other mistakes will produce syntax errors. For example, the expression:
2 + 7 . printproduces the error:
>>> 'syntax error' near source line 1, character 12 <<< 2 + 7 . print ** ^because you cannot use the . character to terminate a binary message. A syntax error is generated if you send a literal (i.e., a number, string, block, or magic word) to another object, since literals must be the first object in an expression. For example, the expression:
2 2produces the error message:
>>> 'syntax error' near source line 1, character 8 <<< 2 2 ** ^The expression:
2 "xxx"produces the error message:
>>> 'syntax error' near source line 1, character 8 <<< 2 "xxx" ** ^The expression:
2 [ ]produces the error message:
>>> 'syntax error' near source line 1, character 4 <<< 2 [ ] ** ^The expression:
2 ^selfproduces the error message:
>>> 'syntax error' near source line 1, character 4 <<< 2 ^self ** ^You will generate a syntax error if you execute a program that has a mismatched number of quote characters. For example, the expression:
"this is a string that never ends.produces the error message:
>>> 'End of File encountered in String' near source line 2, character 38 <<< "this is a string that never ends. *^ >>> 'syntax error' near source line 2, character 38 <<< "this is a string that never ends. *^You will also generate a syntax error if you do not have the appropriate number of closing parentheses or brackets in your program. For example, the expression:
[ 2 + 2 ;produces the error message:
>>> 'syntax error' near source line 2, character 11 <<< [ 2 + 2 ; ** ^Since the set of magic words is fixed and internal to Vision, you will generate a syntax error if you try to use an unknown magic word. For example, the expression:
^cur gm salesproduces the error message:
>>> 'Unrecognized magic word '^cur'' near source line 1, character 4 <<< ^cur gm sales ** ^You will also receive a syntax error if you have a keyword message as the initial message in an expression. For example:
defineMethod: [ | x | "This is a method at ^current" ] ;produces the error message:
>>> 'syntax error' near source line 1, character 13 <<< defineMethod: [ | x | "This is a method at ^current" ] ; ** ^You must send binary and keyword messages to a named object or a literal (i.e., a number, string, block, or magic word).
A Selector Not Found error occurs because you have asked Vision to execute a message that is not defined. For example:
"This is a string" + 5This expression produces the error message:
>>> Selector '+' Not Found <<< NAWhen you ask Vision to add 5 to a string, Vision complains because the addition message is not defined for strings. The Selector Not Found response identifies the specific message that Vision could not perform. In this case, the message identified is +. Execution is not terminated when a selector is undefined. The result of applying an undefined selector to an object is the value NA.
When you are using named blocks, you can generate a variation on the selector not found message if you do not provide the correct number of parameters to a block. For example:
!block <- [ | sampleP1: a P2: b | "Parameter 1: " print ; a printNL ; "Parameter 2: " print ; b printNL ; ] ; block valueWith: 10produces:
>>> Parameter 'a' Unavailable <<< Parameter 1: NA Parameter 2: 10Notice that the value NA was substituted for the missing parameter and the program execution continued.
A fatal Vision error is indicated by output in the form:
>>> Error Trapped By Read-Eval-Print <<< * Utilities [132] * 'malloc' Error * Private Memory Allocation Error Size:<PHONE_NUMBER>, Details: Not Enough SpaceWhen a fatal error is encountered, the current execution is aborted. Your Vision session will remain active, but you will not be able to commit any saves if your session encounters a fatal error. Depending on the nature of the error, you may be able to continue working in your session; however, it is normally best to restart your session as soon as possible.
In general, Memory Allocation and Map Segment errors indicate that your session has exceeded available system resources.
Following are examples and descriptions of some of the fatal errors you can encounter, grouped by category (displayed in the second line after Error Trapped By Read-Eval-Print in the error message):
- the tuning parameter VisionMappingLimit could be lowered; that will raise the probability that enough space will remain in the private data area of the process
- the second approach would be to examine and optimize the vision code
If the Details: section reads "Resource temporarily unavailable" instead of "Not enough space", then a system resource has been exhausted; typically the resource is swap space.
rtPTOKEN_IsntCurrent: R-Type Error: RTYPE_C_Link Found, RTYPE_C_PToken Expected.This error could be a "domino-effect" error following an allocation error or a segmentation violation. It could be the result of a rollback, or it could be caused by a bug in batchvision's C code.
For example, if an Entity instance was deleted and Security instanceList was then accessed in a list operation, you would get the error. To avoid the error, after the deletion run a cleanSpace for the Entity class object space and that will align all subclasses in that space.
In releases prior to 6.1.1 the only alternative is to save the newly created class prior to the IndexedList update. In release 6.1.1 and above you are able to establish a forward residency of the new class upon creation and therefore avoid the transient store error. Please see Vision Release 6.1.1 Notes for more information on establishing residency for new classes.
In most cases, an extended object used as an index is a mistake. You should strip all extensions prior to the IndexedList update by sending the message asSelf, otherwise the index lookup will fail (i.e. return NA).
For persistent spaces (not 0) this means that, over time, containers have accumulated in the space. This may be because cleanup/garbage collection is not being run in a timely fashion or it may be that updates to data are very poorly clustered.
| Copyright © 1996 Innovative Systems Techniques, Inc. | Updated July 5, 2000 |


Conferences
- APA Technology Committee Tech Talk Speaker: Street Tree Coverage analysis & Using Big Data to Support Public Space Research, NYC, New York, Jan 2020
- Bloomberg Data For Good Exchange 2019 Presenter: Using Big Data to Support Public Space Research, NYC, New York, Sep 2019
- Changing Cities IV, Smart Cities: smart environment, smart mobility, smart economy, Presenter: Using Big Data to Support Public Space Research, Chania, Greece, 2019
- Education, Design and Practice – Understanding Skills in a Complex World, Architecture MPS, Presenter: Using Big Data to Support Public Space Research, New Jersey, 2019
- Public X Design, Gehl Institute, Co-Leader of a 2 hours Hands-On Data Science Workshop on the topic: Measuring Housing Demolitions Impact Through Data Visualizations. The workshop included a Python tutorial, a walk through of Detroit’s open datasets, data cleaning, stratification, and visualizations delivered through an interactive Jupyter Notebook, Detroit, 2018
- NYU Technology Summit,MapMob: A User Engagement and Management Web Development Project, Presenter, New York, 2018
- NYU Langone Health Tech Symposium 2018, Poster Presenter, MapMob Project, New York, 2018
Other
- Coord, Guest Post, S(TREE)T: Calculating tree coverage on streets from open data in NYC , Jan 2020
- Guest Lecture at a Sustainable Urban Environments BS course: Methods for Studying Urban Environments, NYU Tandon School of Engineering, Brooklyn, 2019
- NYU CUSP Applied Urban Science Group, Lightning Talk Speaker, MapMob Project, New York, 2018
- I AM GPH Podcast: EP13, interviewed about the MapMob project, 2018
- 2015 Youthful Cities conference's Webpage,YouthfulCities Tel Aviv delegate, Toronto, 2015
- TimeOut Tel Aviv , interviewed about YouthfulCities Tel Aviv (available in Hebrew), 2014
Publications
- Vantu, A., and Day, K. (2020). Using Big Data to Support Public Space Research in: Companion to Public Spaces, Routledge Companions (editors: Mehta, V., & Palazzo,. D)
- In progress:The Paradox of Housing Conditions; Gentrification, Code Violations, and The Politics of Growth. Sara Duvisac, Avigail Vantu, Gianpaolo Baiocchi and Nicole Summers
- Jupyter Notebook produced for a hands-on workshop co-led with Eitan Akman at the Public X Design conference. Wrote code, produced visualizations and interpretations for a guided workshop. Available here.
- Github repository with course materials and tutorials on data mapping and Jupyter Notebooks Available here.