One Design for a Multiple Device Web
SEPTEMBER || '13
UXIM '13
- The iPAD consisted of 91% of tablet traffic around May ‘12
- 4” + devices are becoming more and more popular, thus the devices get into this grey area of tablets/phones
- Padfone Ad ~ CAUTION: If you buy this you may start stealing umbrellas and giving them to strangers. http://www.youtube.com/watch?v=mRcx1rxTLG8
- Sales data vs Traffic data
- Just because sales are high, this doesn’t mean traffic is high
- Sales maybe higher for Andriod yet the traffic lower
- Apple has higher traffic,
- Only 6% of these “mobile” device are on mobile/cellular connections, making tablets not so “mobile”
- When building breaks for your sites think of think of the human body. The palm, the lap and desk sizes are much more consistent than that of a screen size.
- When people are not on a desktop, they tend to use a phone or tablet device to keep connected
- Building mobile outward = slicker and lighter works and this could be beneficial to revenue
- OPTIONS
- Keep a mobile site and a separate desktop site
- Add adaptive styles, keep it same-ish but still add a few updates and changes


--- layout: jsdoc title: "Module: workbox-build" jsdocNav: - Modules: - workbox-background-sync - workbox-broadcast-cache-update - workbox-build - workbox-cache-expiration - workbox-cacheable-response - workbox-google-analytics - workbox-precaching - workbox-range-requests - workbox-routing - workbox-runtime-caching - workbox-sw - workbox-webpack-plugin ---
This Node module can be used to generate a list of assets that should be precached in a service worker, generating a hash that can be used to intelligently update a cache when the service worker is updated.
This module will use glob patterns to find assets in a given directory and use the resulting URL and revision data for one of the follow uses:
This method will generate a file manifest that can be used in a service worker to precache assets.
const workboxBuild = require('workbox-build');
workboxBuild.generateFileManifest({
manifestDest: './build/manifest.js'
globDirectory: './build/',
globPatterns: ['**\/*.{html,js,css}'],
globIgnores: ['admin.html'],
format: 'iife', // alternatively, use 'es'
})
.then(() => {
console.log('Build manifest generated.');
});
| Parameters |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Returns |
Promise
Resolves once the manifest file has been created. |
This method will generate a working service worker with code to precache any assets found during the build process.
const workboxBuild = require('workbox-build');
workboxBuild.generateSW({
globDirectory: './dist/',
globPatterns: ['**\/*.{html,js,css}'],
globIgnores: ['admin.html'],
swDest: './dist/sw.js',
templatedUrls: {
'/shell': ['dev/templates/app-shell.hbs', 'dev/**\/*.css'],
},
})
.then(() => {
console.log('Service worker generated.');
});
| Parameters |
|
|||||
|---|---|---|---|---|---|---|
| Returns |
Promise
Resolves once the service worker has been generated. |
To get a list of files and revision details that can be used to ultimately precache assets in a service worker.
| Parameters |
|
|||||
|---|---|---|---|---|---|---|
| Returns |
Promise.<Array.<ManifestEntry>>
An array of ManifestEntries which will include a url and revision parameter. |
This method will read an existing service worker file, find an instance of
.precache([])
, and replace the empty array with the contents of a precache
manifest. This allows the service worker to efficiently cache assets for
offline use, while still giving you control over the rest of the service
worker's code.
const workboxBuild = require('workbox-build');
workboxBuild.injectManifest({
swSrc: './dev/sw.js',
swDest: './dist/sw.js',
globDirectory: './dist/',
globPatterns: ['**\/*.{html,js,css}'],
globIgnores: ['admin.html'],
templatedUrls: {
'/shell': ['dev/templates/app-shell.hbs', 'dev/**\/*.css'],
},
})
.then(() => {
console.log('Service worker generated.');
});
| Parameters |
|
|||||
|---|---|---|---|---|---|---|
| Returns |
Promise
Resolves once the service worker has been written with the injected precache list. |
These are the full set of options that could potentially be used to configure one of the build tools. Each of the build tools has a slightly different way of providing this configuration:
When using the workbox-build
module directly, pass the
configuration object to appropriate method. For example,
workboxBuild.injectManifest(configuration)
or
workboxBuild.generateSW(configuration)
.
When using the workbox-cli
command line interface, use the
--config-file
flag to point to a
CommonJS module file that
assigns the configuration object to module.exports
.
When using workbox-webpack-plugin
within a
Webpack build, pass the configuration object to
the plugin's constructor, like
new WorkboxBuildWebpackPlugin(configuration)
.
Some specific options might not make sense with certain combinations of interfaces. In those cases, the limitations are called out in the documentation, and may lead to build-time warnings or errors.
Each option documented here includes an example, which, for the sake of illustration, assumes the following local filesystem setup. Please adjust the example values to match your actual setup.
./
├── dev/
│ ├── app.js
│ ├── ignored.html
│ ├── image.png
│ ├── index.html
│ ├── main.css
│ ├── sw.js
│ └── templates/
│ └── app_shell.hbs
└── dist/
├── app.js
├── image.png
├── index.html
├── main.css
└── sw.js
Properties
|
Properties
|
A ManifestTransform
function can be used to modify the modify the url
or
revision
properties of some or all of the
ManifestEntries in the manifest.
Deleting the revision
property of an entry will cause
the corresponding url
to be precached without cache-busting parameters
applied, which is to say, it implies that the URL itself contains
proper versioning info. If the revision
property is present, it must be
set to a string.
const cdnTransform = (manifestEntries) => manifestEntries.map(entry => {
const cdnOrigin = 'https://example.com';
if (entry.url.startsWith('/assets/')) {
entry.url = cdnOrigin + entry.url;
}
return entry;
});
const removeRevisionTransform = (manifestEntries) => {
return manifestEntries.map(entry => {
const hashRegExp = /\.\w{8}\./;
if (entry.url.match(hashRegExp)) {
delete entry.revision;
}
return entry;
});
};
| Parameters |
|
|||||
|---|---|---|---|---|---|---|
| Returns |
Array.<ManifestEntry>
The array of entries with the transformation applied. |


{% extends "layout.html" %} {% block content %}
{{first_result.overview}}
movieRec created by Jonna Chen.


Detailed course offerings (Time Schedule) are available for
R E 507 Accounting for Real Estate (3)
Provides an overview of basic accounting concepts and emphasizes tax and accounting methodologies in relation to the development and management of real estate assets. Topics include: understanding balance sheets; income statements; annual reports; GAAP accounting and standards; and federal and real estate property taxation. Offered: A.
View course details in MyPlan: R E 507
R E 508 Financial Modeling for Real Estate I - Excel (2) G. ROLFE
Introduces students to commercial real estate modeling, use of Excel and handheld financial calculators. Allows students to gain mastery and confidence in setting up and using preforms and models to analyze real estate investment, asset management, and development. Offered: A.
View course details in MyPlan: R E 508
R E 509 Financial Modeling for Real Estate II (2)
Introduces students to commercial real estate modeling, using advanced and sophisticated software utilized by real estate professionals. The students gain mystery and confidence in setting up and using pro-formas and models to analyze real estate investment, asset management, and development. Offered: W.
View course details in MyPlan: R E 509
R E 510 Introduction to Real Estate (3) S. DERMISI
Provides a basic overview of the participants, processes, workings of different components of the real estate industry (including a variety of uses spanning from residential, office, retail and industrial to specialized) as well as the quantitative components of the real estate decision-making. Additionally, students are introduced to an overview of construction management, sustainability, corporate services, property law and ethics. Offered: jointly with URBDP 552; A.
View course details in MyPlan: R E 510
R E 511 Real Estate Appraisal (3) C. BITTER
Discusses valuation theory and the mechanics underlying real estate appraisal practices. Explores the unique market within which property interests are created, allocated or transferred, the dynamic nature of real estate values, and the valuation impacts of various external factors. Offered: jointly with URBDP 555; A.
View course details in MyPlan: R E 511
R E 512 Leadership in the Built Environment (3)
Focuses on leadership principles applicable to the real estate and the built environment and helps students conduct self-assessments to understand their strengths and ways they can apply them. Addresses both organizational leadership and leadership of construction processes. Offered: A.
View course details in MyPlan: R E 512
R E 514 Negotiations and Conflict Resolution in the Built Environment (3)
Overview of negotiation theories, approaches and tactics. Application of deal making procedures for various aspects of real estate decision making processes and audiences (e.g. government, community groups, real estate organizations and partners). Analysis of conflict resolution techniques, mediation, arbitration, etc. Offered: W.
View course details in MyPlan: R E 514
R E 518 Best Practices in Sustainable Real Estate (3) S. DERMISI
Analyzes, at a macro level, the importance of sustainability in urban areas introducing best practices for various environmentally friendly and financially feasible interventions in the US and abroad. At a micro level focuses on adoption of environment5ally friendly improvements at building level with various pay-back periods but long-lasting economic benefits. Offered: W.
View course details in MyPlan: R E 518
R E 553 Urban Land Economics (4) C. BITTER
Introduces urban economics, land markets, and locational decision making; and examines urban spatial structure and the economic, political, social, technological, and historical forces that shape land values and uses. Uses applied spatial analytical tools including geographic information systems and geogemographic software. Offered: jointly with URBDP 553; A.
View course details in MyPlan: R E 553
R E 554 Real Estate Finance (4) S. DERMISI
Expands on basic financial concepts introduced in the Real Estate Process. Designed to help students understand the financial implications of various real estate decisions. Covers mortgage finance, leverage, cash flow analysis, capital sources, financial engineering, and advanced modeling. Prerequisite: R E 552/URBDP 552. Offered: jointly with URBDP 554; W.
View course details in MyPlan: R E 554
R E 556 Real Estate Investment (4)
Focuses on direct real estate investment based on the productive capacity of the total property, debt, and equity components and their impact on the cash returns in the form of positive returns to the property, tax savings potential, alternative leverage effects, and the gains at sale. Offered: jointly with URBDP 556; W.
View course details in MyPlan: R E 556
R E 557 Real Estate Law (4) J. FANDEL, S. OSBORNE
Focuses on the legal principles and issues essential to understanding the workings of the real estate industry, including the fundamentals of real estate transactions and development projects. Offered: jointly with URBDP 557; A.
View course details in MyPlan: R E 557
R E 558 Real Estate Market Analysis (4) C. BITTER
Prepares students to conduct and interpret market studies to cover a range of real estate decisions. Exposes students to the market analysis process and various tools and techniques that can be used to analyze and forecast supply, demand, and rental rates. Offered: jointly with URBDP 558; W.
View course details in MyPlan: R E 558
R E 560 Real Estate Feasibility (4)
Applies critical thinking needed to understand the drivers of value of the major property types which covers the "user in search of a site" and "investor in search of involvement' feasibility questions. Applies a combination of qualitative and quantitative analysis to target markets. Offered: jointly with URBDP 568; Sp.
View course details in MyPlan: R E 560
R E 561 Real Estate Capital Markets (4) M. MAKAR
Studies capital markets, investigating the agents and institutions that channel money from the array of sources of savings to investment projects. Identifies the sources of available capital and uses investment and portfolio tools employed by conduits and intermediaries matches the capital to projects and asset classes. Offered: jointly with URBDP 569; A.
View course details in MyPlan: R E 561
R E 569 Real Estate Portfolio Management (5)
Students develop formal portfolio management strategies that draw on their in-depth understanding of real estate fundamentals, strategic planning and portfolio theory. Working in teams, students prepare cutting-edge portfolio strategies including the policies and procedures for implementation and portfolio management. Offered: jointly with URBDP 559; Sp.
View course details in MyPlan: R E 569
R E 570 Real Estate Project Finance (3) Rolfe
Introduces financing real property projects developed by public, community, and private entities with a primary emphasis on interim (acquisition/development/construction) and take-out lending for new real estate projects. Offered: jointly with URBDP 577; Sp.
View course details in MyPlan: R E 570
R E 571 Real Estate Development (4) G. ROLFE
Introduction and survey of processes and people involved in developing real estate, including issues of site control, public/private approvals, feasibility analysis, project financing, design/construction, marketing, and asset management. Prerequisite: R E 552/URBDP 552. Offered: jointly with URBDP 578.
View course details in MyPlan: R E 571
R E 590 Real Estate Forum I (1)
Provides an opportunity for students to learn about the interdisciplinary nature of real estate from industry leaders. Discusses current issues and opportunities in the industry as well as what it takes to develop a sustainable career path. Offered: jointly with URBDP 590; A.
View course details in MyPlan: R E 590
R E 597 Advanced Real Estate Economics/Market Analysis (3) C. BITTER
Focuses on techniques used to analyze real estate market fundamentals. Topics include productivity analysis; local economic analysis; market delineation; and supply, demand, and rent forecasting. Introduces statistical models used in real estate analysis including time-series analysis and hedonic models. Offered: WS.
View course details in MyPlan: R E 597
R E 598 Real Estate Special Topics (1-4, max. 12)
Systematic study of specialized subject matter. Prerequisite: permission of instructor. Offered: AWSpS.
View course details in MyPlan: R E 598
R E 600 Independent Study or Research (1-3, max. 3)
Arranged between the student and a real estate faculty member of their choosing with a mutually agreed real estate topic. Offered: AWSp.
View course details in MyPlan: R E 600


{{if address_details}}
{{else}}
{{/if}}
{{address_details.address}} ({{address_details.name}}收)
填写收货地址
￥{{value.shop_money}}
×{{value.number}}
{{/each}}


Azraq is a unique wetland, located in the heart of the arid Eastern Desert, which takes its name from the Arabic word for ‘blue’. A migratory stopover for birds from three continents, Azraq is becoming increasingly popular for bird watching. From the walkways and hides, visitors get the chance to observe birds close at hand, including local, migratory and occasional rare species. The Azraq area also has a rich cultural history due to its strategic ... location and water resources. It was used as a station for pilgrims and camel trains and Lawrence of Arabia was stationed in Azraq Castle during the Arab Revolt. The local people are also unusually diverse, coming from three different ethnic origins, Bedouin, Chechen and Druze; each of which has distinctive beliefs and traditions. Bedouins have lived a nomadic life style in the area for generations, whereas the Chechens are descendants of settlers from the Caucasus and the Druze stem from Arab tribes in Syria and Lebanon Many interesting archaeological sites lie within easy reach of Azraq Lodge, including the famous but misnamed‘desert castles’: Qasr Amra, Qasr Kharana and Azraq Castle. Qasr Amra is one of the best-preserved Umayyad bathhouses in the world and a World Heritage Site. Its interior walls are covered in lively frescos dating back to 700 AD. There are also many dramatic desert landscapes to discover, including moon-like plains of black basalt and white valleys of chalk.
Dana is Jordan’s largest nature reserve, covering some 320 square kilometers of spectacular mountains and Wadis along the face of the Great Rift Valley. From scorching sand dunes in the west to cool mountaintops in the east, the Dana Biosphere Reserve is home to a great variety of wildlife. There are plants and animals characteristic of true desert, of Mediterranean forests and of the dry plains of Russia. In fact, Dana is really a melting pot ...of species from three continents: Europe, Africa and Asia. Such a combination of natural communities in a single area is unique in Jordan and many of Dana’s animals and plants are very rare. So far, a total of 700 plant species, 190 bird species, 37 mammal species and 36 reptile species have been recorded in the Reserve, of which 25 are known to be endangered, including the Sand Cat, the Syrian Wolf, the Lesser Kestrel and the Spiny Tailed Lizard. Without special care, some of these could disappear from Earth forever, which makes the Dana Biosphere Reserve a place of global importance.overlooking Without special
At 410 meters below sea level, the Mujib Biosphere Reserve is the lowest nature reserve on Earth. Its rugged and spectacular mountains border the Dead Sea coast and are dissected by several river-filled canyons that offer the best river and adventure hikes in Jordan. The breathtaking scenery and the challenge of negotiating Mujib’s fast-flowing rivers make the Reserve one of Jordan’s most popular natural attractions. Mujib’s complex river system and ...all-year water flow enable it to support a rich biodiversity. To date, over 300 species of plants, 10 species of carnivores and numerous species of resident and migratory birds have been recorded. Some of the mountain and valley areas are difficult to reach and offer safe havens for rare species of cats, mountain goats (Ibex) and other mountain animals. Adventure Center
Jordan Nature Reserves Animals
Jordan Nature Reserves, which has a magnificent location overlooking the old city of Amman, the Citadel and the huge Jordanian flag, is owned by the Royal Society for the Conservation of Nature and operated by ATICO Fakhreldin Group, a Jordanian holding company operating in multi-service hospitality management. ATICO Fakhreldin Group’s core business is to manage and operate a boutique hotel, over 10 restaurants, cafés and pubs offering international cuisines, a catering service, and an events management company, in Jordan, Europe and the Middle


Sorry, but thisissoon.com requires a browser with javascript enabled.
Please update your browser and/or enable javascript.


abstract class PseudoWriter
Converts a pseudoinstruction into TAL instructions.
<init> |
Converts a pseudoinstruction into TAL instructions. PseudoWriter() |
BEQZ |
Writes pseudoinstruction object BEQZ : PseudoWriter |
BGEZ |
Writes pseudoinstruction object BGEZ : PseudoWriter |
BGT |
Writes pseudoinstruction object BGT : PseudoWriter |
BGTU |
Writes pseudoinstruction object BGTU : PseudoWriter |
BGTZ |
Writes pseudoinstruction object BGTZ : PseudoWriter |
BLE |
Writes pseudoinstruction object BLE : PseudoWriter |
BLEU |
Writes pseudoinstruction object BLEU : PseudoWriter |
BLEZ |
Writes pseudoinstruction object BLEZ : PseudoWriter |
BLTZ |
Writes pseudoinstruction object BLTZ : PseudoWriter |
BNEZ |
Writes pseudoinstruction object BNEZ : PseudoWriter |
CALL |
Writes pseudoinstruction object CALL : PseudoWriter |
FABSD |
Writes pseudoinstruction object FABSD : PseudoWriter |
FABSS |
Writes pseudoinstruction object FABSS : PseudoWriter |
FMVD |
Writes pseudoinstruction object FMVD : PseudoWriter |
FMVS |
Writes pseudoinstruction object FMVS : PseudoWriter |
FNEGD |
Writes pseudoinstruction object FNEGD : PseudoWriter |
FNEGS |
Writes pseudoinstruction object FNEGS : PseudoWriter |
J |
Writes pseudoinstruction object J : PseudoWriter |
JAL |
Writes pseudoinstruction object JAL : PseudoWriter |
JALR |
Writes pseudoinstruction object JALR : PseudoWriter |
JR |
Writes pseudoinstruction object JR : PseudoWriter |
LA |
Writes pseudoinstruction object LA : PseudoWriter |
LI |
Writes pseudoinstruction object LI : PseudoWriter |
Load |
Writes a load pseudoinstruction. (Those applied to a label) object Load : PseudoWriter |
MV |
Writes pseudoinstruction object MV : PseudoWriter |
NEG |
Writes pseudoinstruction object NEG : PseudoWriter |
NEGW |
Writes pseudoinstruction object NEGW : PseudoWriter |
NOP |
Writes pseudoinstruction object NOP : PseudoWriter |
NOT |
Writes pseudoinstruction object NOT : PseudoWriter |
RET |
Writes pseudoinstruction object RET : PseudoWriter |
SEQ |
Writes pseudoinstruction object SEQ : PseudoWriter |
SEQZ |
Writes pseudoinstruction object SEQZ : PseudoWriter |
SEXTW |
Writes pseudoinstruction object SEXTW : PseudoWriter |
SGE |
Writes pseudoinstruction object SGE : PseudoWriter |
SGT |
Writes pseudoinstruction object SGT : PseudoWriter |
SGTZ |
Writes pseudoinstruction object SGTZ : PseudoWriter |
SLE |
Writes pseudoinstruction object SLE : PseudoWriter |
SLTZ |
Writes pseudoinstruction object SLTZ : PseudoWriter |
SNE |
Writes pseudoinstruction object SNE : PseudoWriter |
SNEZ |
Writes pseudoinstruction object SNEZ : PseudoWriter |
Store |
Writes a store pseudoinstruction. (Those applied to a label) object Store : PseudoWriter |
TAIL |
Writes pseudoinstruction object TAIL : PseudoWriter |


|
Stickman Project
1.0
2D platformer games
|
Implements the second level of the game. More...
 More... | |
| int | getWidth (void) |
| Get the width of the level. More... | |
| virtual void | loadLevel (Player *player) |
| Load the level and the player according the tile map. More... | |
| virtual void | drawLevel (sf::RenderWindow *screen) |
| Draw all the elements of the level on the given screen. More... | |
| virtual std::vector < sf::Sprite * > * | getBlocks (void) |
| Get the blocks of the level. More... | |
| virtual sf::Sprite * | getEndSprite (void) |
| Get a pointer on the sprite of the end. More... | |
| virtual sf::Sprite * | getCapeSprite () |
| Get a pointer on the sprite of the cape. More... | |
| virtual sf::Sprite * | getShoesSprite () |
| Get a pointer on the sprite of the shoes. More... | |
| virtual void | removeElement (char target) |
| Remove an element from the map. More... | |
| virtual ILevel * | getNext (void) |
| Get the next level. More... | |
| Public Member Functions inherited from ILevel | |
| virtual | ~ILevel () |
| Default destructor. | |
Private Attributes | |
| std::vector< std::string > * | m_tileMap |
| The tile map (i.e. the map of the level) | |
| std::vector< sf::Sprite * > * | m_blocks |
| Contains all the elements of the level. | |
| IBlock * | m_block |
| Constructed block. | |
| sf::Texture * | m_endTexture |
| Texture of the end sprite. | |
| sf::Sprite * | m_endSprite |
| Sprite of the end sprite. | |
| AFactory * | m_factory |
| The factory that will create the blocks. | |
| sf::Texture * | m_capeTexture |
| Cape texture. | |
| sf::Sprite * | m_capeSprite |
| Cape sprite. | |
| sf::Texture * | m_shoesTexture |
| Shoes texture. | |
| sf::Sprite * | m_shoesSprite |
| Shoes sprite. | |
| ILevel * | m_next |
| Next level. | |
| bool | m_drawCape |
| Boolean to know when the cape has to be draw or not. | |
| bool | m_drawShoes |
| Boolean to know when the shoes has to be draw or not. | |
Implements the second level of the game.
|
virtual |
Draw all the elements of the level on the given screen.
| screen | The screen where the elements will be displayed |
Implements ILevel.
|
virtual |
|
virtual |
Get a pointer on the sprite of the cape.
Implements ILevel.
|
virtual |
Get a pointer on the sprite of the end.
Implements ILevel.
|
virtual |
|
virtual |
|
virtual |
Get a pointer on the sprite of the shoes.
Implements ILevel.
|
virtual |
|
virtual |
Load the level and the player according the tile map.
| player | The pointer to the player, so the method can set his position |
Implements ILevel.
|
virtual |
Remove an element from the map.
| target | Character representing the element to remove |
Implements ILevel.


Hi
Here in CH the usage of earth leakage circuit breaker (ELCB) are common. We have two of them to protect the family. Do they have any impact on the measurement results? Where to place a CT? Before or Behind a ELCB?
Thanks for little Explanation!
Best Regards,
Axel
Re: Impackt of a Earth Leakage Circuit Breaker on measurement?
A Residual Current Device (RCD, or previously called an Earth Leakage Circuit Breaker) should have absolutely no effect on current measurements, nor vice versa. You can put the c.t. either side, whichever is convenient.
Re: Impackt of a Earth Leakage Circuit Breaker on measurement?
It will make no difference. The current measured by the CT will be the same either side of the ELCB (called a residual current device (RCD) these days). Look up RCD on Wikipedia for an explanation.
Re: Impackt of a Earth Leakage Circuit Breaker on measurement?
edited
Re: Impackt of a Earth Leakage Circuit Breaker on measurement?
Welcome!
Do you mean ELCB or RCD (residual current device)?
ELCB's which detect a voltage gradient to ground and rely on a single earth path for an installation are no longer favoured in the UK since it was found impossible to rely on a single fault path to earth. (Any parallel earth path is likely to reduce the voltage gradient used by the sensor and permit a dangerous fault current to flow.) For example bonding of water pipes can provide such a parallel path. If you are still using ELCB's then I would strongly recommend that you have your installation checked out for compliance with the current national standard by a qualified electrician. I shall be very surprised if your national standard does not replicate the steps being taken elsewhere towards EU harmonization.
Either way the position of your CT should make no difference either to your family's safety or the measurement.


About Me
Howdy! Thanks for checking out my blog! I hope to record here my trials and tribulations along the long journey of learning known as life. I’m hoping that occasionally some other people might find this useful. More importantly, I’m hoping that I’ll find this to be useful! At the very least, I’ll know where to look for annoying things that I figured out once and don’t want to figure out again!
As this is an ‘about me’ page I guess I should say something about me, err, myself. First and foremost, I am a scientist - primarily of the physics variety but now transitioning over to data. I believe that there are new and remarkable connections between these two disciplines which I hope to explore in the coming years. This blog will be my journal while exploring these connections. Enjoy!
email: williamcottrell72@gmail.com


--- title: tDCS Research Database --- {% include landing/landing-head.html %}
{% include landing/landing-nav.html %} {% include landing/landing-splash.html %}Add new research here. Please make sure the research you are adding is not found in the databse.
DOI is used to distinguish the researh, it is quite important to provide the correct DOI.


Qt Linguist Manual: Text ID Based Translations
The text ID translation mechanism is an "industrial strength" system for internationalization and localization. Each text in the application is assigned a unique identifier (text ID) and these identifiers are used directly in the source code in place of the plain texts. This requires a little more work for the user interface developers but makes it much easier to manage large numbers of translated texts.
Note: You must use only plain-text-based or only text-ID-based functions in one application. If you mix them, you will end up with an incomplete set of texts to be translated.
Internationalizing With Text IDs
When using text IDs instead of plain text, the general method of internationalizing an application is the same but the details are a bit different:
- The functions and macros for the text-ID-based translation system are different to the plain-text system. You use the
qsTrId()
function instead of qsTr(), and theQT_TRID_NOOP()
macro instead of QT_TR_NOOP(). - Use text IDs as user interface strings rather than plain text strings. For example,
qsTrId("id-back-not-front")
- You cannot specify a context parameter with a text ID. If there are identically spelled words with different meanings, these need separate text IDs. For example,
qsTrId("id-back-backstep")
will differentiate the back-step "Back" from the back-of-the-object "Back". - The "Engineering English" text that you see in the user interface for development builds is indicated with a
//%
comment. If you do not include this, the text ID will be shown in the user interface. This is especially important when you have texts with parameters. The//%
comment needs to include the parameters indicators in the string. For example,//% "Number of files: %1"
- The
//:
comments that provide extra information to the translator are optional in the plain-text system. However, with the text-ID-based system, this extra information becomes essential because without it you only have the text ID and the translator might not be able to make a sensible translation from without any other context. You can use long descriptive text ID and no comments but comments are often easier to understand.
The side-by-side code snippets below show a comparison of text-ID -based and plain-text-based translations:
| text-ID-based | plain-text-based |
|---|---|
Text { id: backTxt; //: The back of the object, not the front //% "Back" //~ Context Not related to back-stepping text: qsTrId("id-back-not-front"); } | Text { id: backTxt; //: The back of the object, not the front //~ Context Not related to back-stepping text: qsTr("Back","Not front") } |
Localizing With Text IDs
Localizing with text IDs follows much the same process as for plain text.
The lupdate
tool is used the same way and translations are made into the .ts files:
lupdate <myapp>.pro
Note that the source values in the translation files will be text IDs rather than plain text. This means you need very descriptive text IDs, or good additional comments, or both to ensure that the translator makes a correct translation.
The example text-ID-based user interface text from above results in the following content in the .ts file:
<message id="id-back-not-front"> <source>Back</source> <extracomment>The back of the object, not the front</extracomment> <translation type="unfinished"></translation> <extra-Context>Not related to back-stepping</extra-Context> </message>
When using lrelease
, you need to specify that the keys for translated texts are based on text IDs, rather than plain texts. If strings in the code are specified with qsTr()
there is no "id" attribute set so they are ignored by lrelease
.
This command produces all the compiled translation .qm files for your application:
lrelease -idbased <myapp>.pro
However, if there is no translation available for a given text (which is generally the case until late in development), the text ID will be shown in the user interface rather than a proper text. In order to make the application more usable for testing, you can make lrelease
use the "Engineering English" source text (from the //%
comments) as the translated text and mark it with some indicator so you can see texts that are not yet translated.
For example, this command builds the .qm files and puts a "!" in front of the untranslated texts:
lrelease -idbased -markuntranslated ! <myapp>.pro
Advanced Usage
For projects that target a large number of locales, you can remove the TRANSLATIONS info from the .pro file and, instead, manage the translations with a separate script. The script can call lrelease and lupdate for each of the desired targets.
The updates could be scripted something like this:
lupdate -recursive <project-dir> -ts <project-dir>/i18n/myapp-text_en_GB.ts lupdate -recursive <project-dir> -ts <project-dir>/i18n/myapp-text_en_US.ts ...
The generation of the final .qm files could be scripted something like this:
lrelease -idbased <project-dir>/i18n/myapp-text_en_GB.ts lrelease -idbased <project-dir>/i18n/myapp-text_en_US.ts ...


????? ???????
on 2012-04-11 15:46:10
If I might —perhaps you should consider adding a few images. I don’t mean to disrespect what you’ve said ; its very enlightening, indeed. However, I think would respond to it more positively if they could be something tangible to your ideas
Itsacon
on 2010-01-22 09:39:34
Ah, much better.
Strange, the problem cropped up when I updated my php.js, so maybe the version in the lib-build-tool is also still using the older one.
Thanks for the quick response (and the explanation)
Brett Zamir
on 2010-01-22 02:44:43
@Itsacon, Thanks...The fix had already been applied a while ago (indexOf is supported in Firefox, etc., so that was the reason for the mistake). Anyhow, you can see the current version if you click "raw js source". Btw, the reason for the rest of the "convoluted" code is to support tracking of the array "pointer" (as in PHP). end() moves the pointer to the end. We use the "this.php_js" global (or object property in the namespaced version) to hold this information. See next(), prev(), etc. for some other functions which keep track of the array's pointer.
@Kevin, what will it take to get the site to update to reflect the latest git updates? It seems this fix was made a month ago...Thanks...
Itsacon
on 2010-01-21 16:09:39
The current version fails hard in Internet Explorer (both versions 7 and 8)
indexOf() is a method of the String object, not of the Array object, so calling it on pointers (an Array()) isn't valid javascript code.
I've reverted to the older version, which was less convoluted and worked fine:
function end(array)
{
var last_elm,key;
if(array.constructor==Array)
{
last_elm=array[(array.length-1)];
}
else
{
for(key in array)
{
last_elm=array[key];
}
}
return last_elm;
}
Kevin van Zonneveld
on 2008-06-16 00:21:26
@ J A R: Much better, thank you!
J A R
on 2008-06-15 04:15:18
Doesn't .pop() return the last element from an array?
function end ( array ) {
return array.pop();
}
Kevin van Zonneveld
on 2008-01-09 17:27:39
@ Legaev Andrey: I sure did ;)
Legaev Andrey
on 2008-01-09 17:09:00
Did you mean "return last_elm" ?


Created by Gordon L. Hempton / @ghempton / GroupTalent / adminjs.com
You have this problem
Provide an abstraction/DSL for common patterns.
Spend less time on internal-facing tools and more time on user-facing features.
Just consume your API
views/
controllers/
routes/
components/
templates/
renderers/
editors/
filters/
Created by Gordon L. Hempton / @ghempton / GroupTalent / adminjs.com


Use your arrow keys or swipe to combine images according to timeline and score points!
Unlock the happily married image to win!


INDEX(3) - [CHARACTER:SEARCH] Position of a substring within a string
result = index( string, substring [,back] [,kind] )
elemental integer(kind=KIND) function index(string,substring,back,kind)character(len=*,kind=KIND),intent(in) :: string character(len=*,kind=KIND),intent(in) :: substring logical(kind=**),intent(in),optional :: back integer(kind=**),intent(in),optional :: kind
o STRING is a character variable of any kind o SUBSTRING is a character variable of the same kind as STRING o BACK is a logical variable of any supported kind o KIND is a scalar integer constant expression.
INDEX(3) returns the position of the start of the leftmost or rightmost occurrence of string SUBSTRING in STRING, counting from one. If SUBSTRING is not present in STRING, zero is returned.
o STRING : string to be searched for a match o SUBSTRING : string to attempt to locate in STRING o BACK : If the BACK argument is present and true, the return value is the start of the rightmost occurrence rather than the leftmost. o KIND : if KIND is present, the kind type parameter is that specified by the value of KIND; otherwise the kind type parameter is that of default integer type.
The result is the starting position of the first substring SUBSTRING found in STRING.
If the length of SUBSTRING is longer than STRING the result is zero.
If the substring is not found the result is zero.
If BACK is .true. the greatest starting position is returned (that is, the position of the right-most match). Otherwise, the smallest position starting a match (ie. the left-most match) is returned.
The position returned is measured from the left with the first character of STRING being position one.
Otherwise, if no match is found zero is returned.
Example program
program demo_index implicit none character(len=*),parameter :: str=& Search this string for this expression !1234567890123456789012345678901234567890 write(*,*)& index(str,this).eq.8, & ! return value is counted from the left end even if BACK=.TRUE. index(str,this,back=.true.).eq.24, & ! INDEX is case-sensitive index(str,This).eq.0 end program demo_indexExpected Results:
FORTRAN 77 , with KIND argument Fortran 2003
Functions that perform operations on character strings, return lengths of arguments, and search for certain arguments:
fortran-lang intrinsic descriptions
o ELEMENTAL: ADJUSTL(3), ADJUSTR(3), INDEX(3), SCAN(3), VERIFY(3) o NONELEMENTAL: LEN_TRIM(3), LEN(3), REPEAT(3), TRIM(3)
| Nemo Release 3.1 | index (3) | July 22, 2023 |


I realize that I need to build up a bit of self esteem and try to become comfortable in discusing a problem with others.
Another thing is, I need to work on my EQ as well.
Lastly, I will have to practice a lot to master my listening skills. This is very important as I might misinterpret important details.
Anyone can study programming but it takes a lot of work and dedication to become a programmer. The journey can be tough and confusing but the feeling on creating a program from scratch is positively indescribable.
Bountiful of crazy and meaningful ideas to work with as well as an openminded with optimistic attitude in working with teams.
My only limitations are not speaking clearly and accurately on what those ideas are.


UKCloud Limited (“UKC”) and Virtual Infrastructure Group Limited (“VIG”) (together “the Companies”) – in Compulsory Liquidation
On 25 October 2022, the Companies were placed into Liquidation with the Official Receiver appointed as Liquidator and J Robinson and A M Hudson simultaneously appointed as Special Managers to manage the liquidation process on behalf of the Official Receiver.
Further information regarding the Liquidations can be found here: https://www.gov.uk/government/news/virtual-infrastructure-group-limited-and-ukcloud-limited-information-for-creditors-and-interested-parties
Contact details:
For any general queries relating to the Liquidations please email<EMAIL_ADDRESS>For customer related queries please email<EMAIL_ADDRESS>For supplier related queries please email<EMAIL_ADDRESS>Dedicated Compute v2 Service Scope
About this document
This document is for customers considering purchasing our Dedicated Compute v2 service.
It describes the boundaries of the service, along with the division of responsibilities between UKCloud and the customer to facilitate the changes required.
About Dedicated Compute v2
Dedicated Compute v2 enables you to run VMware compute workloads as a reserved, single-tenanted section of our cloud, where the physical CPU and RAM allocations are known.
This service is designed for customers who:
Are looking to run abnormal sized VMs - such as those larger than our standard T-shirt sizes
Looking to meet specific software licensing requirements
Have an increased security requirement that can be met by Dedicated Compute infrastructure
Default setup
We deliver Dedicated Compute v2 by providing you with dedicated physical hosts on which you control resource allocation.
The initial Dedicated Compute purchase is a starter pack consisting of two physical hosts. The standard host specification is dual 18 core and 512 GiB of RAM.
You can then scale your estate by purchasing additional upgrade packs (an upgrade pack consists of 1 x dual 18 core and 512 GiB of RAM compute host). After nine upgrade packs, you must buy another starter pack.
You choose Tier 1 and Tier 2 storage for your VMs, both of which can include a backup service. For pricing, see the UKCloud Pricing Guide.
The storage pool isn't a dedicated hardware resource; it's drawn from our UKCloud for VMware block storage solutions.
These resources are grouped in a private virtual data centre (pVDC) which is available only to the individual Dedicated Compute customer.
Resilience and resource reservations
We operate at least N+1 for hardware resilience on our Dedicated Compute v2 service. However, we recommend sizing your resilience according to your workload profile.
We will reserve at least one physical host's worth of resources from your allocation to ensure that, in the event of a hardware failure, the service can continue to run and support your workload.
During a failure scenario, VMs will be restarted on surviving hosts within the Dedicated Compute v2 cluster. UKCloud is not responsible for any performance degradation of VMs in the Dedicated Compute v2 cluster caused during a failure scenario due to over contention in the remaining hosts.
The table below shows the configuration, the resources available to a customer, the number of physical servers in the configuration, and the UKCloud resources reserved to run it.
| Total resources | Resource reservation | Customer available resources | |
|---|---|---|---|
| Starter pack | 72 cores, 1024 GiB RAM | 50% (36 core, 512 GiB RAM) | 36 cores, 512 GiB RAM |
| Starter pack + 1 upgrade pack | 108 cores, 1536 GiB RAM | 33% (36 core, 512 GiB RAM) | 72 cores, 1024 GiB RAM |
| Starter pack + 2 upgrade packs | 144 cores, 2048 GiB RAM | 25% (36 core, 512 GiB RAM) | 108 cores, 1536 GiB RAM |
Resource utilisation
To improve performance, Dedicated Compute v2 uses all physical resources available in the installation and balances the load across them, without consuming the reserved capacity mentioned above.
This means that in general operation within the starter pack, there is a 50% utilisation of both physical hosts:
However, you can create VMs of any size and shape you require, up to the maximum size of the physical capacity of one host - 36 cores 512 GiB RAM.
A VM cannot span across physical hosts. If you create a VM larger than 50% of the host capacity, the Dedicated Compute v2 installation may carry more of the contingency capacity of one physical host than of the others:
You can over-contend the resources on your Dedicated Compute v2 as you see fit.
Deployment
Dedicated Compute v2 utilises a reservation pool allocation model providing fine-grained control over the performance of workloads that are running in the organisation VDC. The reservation pool allocation model is optimal for dedicated workloads.
Platform management
Dedicated Compute v2 is managed in the same way as our other cloud services, using VMware Cloud Director, the UKCloud Portal, and APIs associated with both.
The Dedicated Compute v2 service will be maintained to the same software patch revisions as our main platform.
It's not currently possible to see the level of provisioned/utilised resources against the Dedicated Compute v2 service on the UKCloud Portal. (This is a development item on the UKCloud Portal roadmap.) In the meantime, we can provide this information on request.
Service provisioning
You can request Dedicated Compute v2 via your Service Delivery Manager or using the My Calls section of the UKCloud Portal.
The minimum commitment period to the service is 30 days. The notice period is 30 days.
On receipt of all relevant information, we will work with you to deploy the service within an agreed timeframe based on standard configurations.
Dedicated Compute v2 is available only in UKCloud Regions 5 and 6.
Customer responsibilities
You need to be aware of the following customer responsibilities relating to deployment of, configuration of and migration into the Dedicated Compute v2 service, which are in addition to the usual responsibilities placed on customers of our UKCloud for VMware service:
Creating VMs in the new environment.
Migrating VMs from existing environments by cloning and copying turned-off VMs, or by moving turned-off vApps to the new environment.
Ensuring you have the right licensing in place for the applications in use in your Dedicated Compute v2 environment.
If you select the customer-defined deployment option, you must manage your own reservation levels.
It is your responsibility to purchase enough Dedicated Compute v2 starter and upgrade packs to ensure that there is enough resource available to your VMs in the event that one or more hosts fail. If you need any help ensuring you have enough resource in your Dedicated Compute v2 cluster, contact your Cloud Architect.
Feedback
If you find a problem with this article, click Improve this Doc to make the change yourself or raise an issue in GitHub. If you have an idea for how we could improve any of our services, send an email to feedback@ukcloud.com.


class: center, middle, inverse, title-slide # Intro to Data Manipulation ### Joscelin Rocha-Hidalgo
(she,her,hers)
@JoscelinRocha
### Dec 13th, 2020
DC BrainHack 2020 --- class: center, middle, inverse, dk-section-title **Slides adapted from David Keyes (@dgkeyes), inspired by Danielle Navarro (@djnavarro) and Paul Campbell (@paulcampbell91)** --- ## Child Health and Development Studies (CHDS) .pull-left[ *"Birth weight, date, and gestational period collected as part of the Child Health and Development Studies in 1961 and 1962. Information about the baby's parents — age, education, height, weight, and whether the mother smoked is also recorded."* ] .pull-right[ ![](images/chds_logo.png) ] ??? Website: https://www.stat.berkeley.edu/users/statlabs/papers/sample.pdf R package: https://vincentarelbundock.github.io/Rdatasets/doc/mosaicData/Gestation.html --- class: inverse, center, middle, dk-section-title # Tidyverse --- ![](images/tidyverse_celestial.png) --- ## Base R Syntax -- ```r table(data$age, data$ed) ``` -- - In this example, table is our function and our data frame goes in the parentheses -- - The dollar sign is used to specify the column or variable we want (data_frame$variable) -- > Con: you have to refer to the database every time (annoying) -- > Pro: there are thousands of add-on packages available for R at CRAN --- ## Tidyverse Syntax ```r data %>% tabyl(age, ed) ``` -- - This is the same as earlier but did you notice I only referred to my dataframe once? -- - The pipes! (%>%). They chain together a series of functions --- class: center, middle ## The Pipe .pull-left[![](https://cdn.dribbble.com/users/369427/screenshots/4124541/pipe.jpg)] .pull-right[![](images/conceptual-tidyverse-code.png)] --- ### The Pipe I would read each pipe as "then." For example: ```r data %>% filter(age < 25) %>% group_by(ed) %>% summarize(mean_gestation = mean(gestation, na.rm = TRUE)) ``` --- Art by @allison_horst ![](https://raw.githubusercontent.com/allisonhorst/stats-illustrations/master/rstats-artwork/dog_treats_pipe.jpg) --- ## Shortcuts .pull-left[ ![](images/windows-logo.png) **Windows** *control-shift-M*] -- .pull-right[ ![](images/apple-logo.png) **Mac** *command-shift-M* ] --- 1.


1. Project: DeathNote
DeathNote is a Command-line Interface (CLI) desktop address book application which is able to manage contacts easily. The user interacts with the application using a CLI, using commands to manage contacts; adding, deleting or editing contacts.
The aim of DeathNote, besides managing contacts, is to be able to bring entertainment to the user. DeathNote has a small twist on being an address book application as it has aliases for its commands and the amount of entertainment can only be determined by the user’s creativity.
It has a GUI created with JavaFX. It is written in Java, and has about 6k Lines of Code (LoC).
Code contributed: [Functional code] [Test code]
2. Enhancement Added: Profile Picture
2.1. External behavior
Profile picture shows the face of contact.
Profile picture can be added using add
command while adding a contact or edit
command if the contact already exists.
-
add n/Dwayne Johnson pic/C:\Users\user\Desktop\TheRock.png
-
edit 1 pic/C:\pictures\clown.png
Edits the picture of the 1st person to the picture specified in the path i.e. clown.png
2.4. Profile Picture
The picture variable in Person
is a normal variable in Person
which only stores strings with ".png" suffix.
The data that we save in our xml file will be "pictureName.png" plus the picture of the person in our data folder in
.png format.
Figure 4.6.1 : Person Class Diagram
The Picture
class checks for existence of the file using File
class.
public static boolean isValidPicture(String fileLocation) {
...
File file = new File(fileLocation);
if (file.exists() && (fileLocation.endsWith(PICTURE_SUFFIX))) {
return true;
} else {
file = new File(PICTURE_SAVE_LOCATION + fileLocation);
if (file.exists()) {
return true;
}
return false;
}
}
Once the existence of the file is checked, we check the size of the file so that we do not save very large files
as we do not want our data file to be too large.
We resize the files if they are too large by shrinking it into a shorter width and height.
We also rename the file with a unique ID so that picture names will not collide and be overwritten.
public Picture(String fileLocation) {
...
String newFileName = UUID.randomUUID().toString() + PICTURE_SUFFIX;
File src = new File(trimmedFileLocation);
File dest = new File(PICTURE_SAVE_LOCATION + newFileName);
// If file is too big, resize it.
if (src.length() > PICTURE_MAX_SIZE) {
resizeAndSaveImage(src, newFileName);
} else {
copyImage(src, dest);
}
this.value = newFileName;
...
}
After resizing the file or that if the file does not exceed our limit, we save/copy the file into our data folder
so that we can reuse it next time if we move the application around.
public static void resizeAndSaveImage(File file, String newFileName) throws IllegalValueException {
try {
BufferedImage resizedImage = resizeImage(ImageIO.read(file));
// Saving of image into data folder
ImageIO.write(resizedImage, "png", new File(PICTURE_SAVE_LOCATION + newFileName));
} catch (IOException e) {
throw new IllegalValueException(MESSAGE_PROFILEPICTURE_ERROR);
}
}
public static void copyImage(File src, File dest) throws IllegalValueException {
try {
FileUtils.copyFile(src, dest);
} catch (IOException e) {
throw new IllegalValueException(MESSAGE_PROFILEPICTURE_ERROR);
}
}
To show the picture in the application, PersonCard
is updated and we clip the picture with a circle so it looks nice.
private void initPicture(ReadOnlyPerson person) {
picture.setImage(new Image(person.getPicture().getPictureLocation()));
Circle circle = new Circle(32.0, 32.0, 30.0);
picture.setClip(circle);
}
2.4.1. Design considerations
Aspect: Implementation of profile picture
Alternative 1 (current choice): Copy image file into data folder and use the image from there
Pros: Application and data folder can be transferred to different computers and still work
Cons: May have to take note of size of files added into folder as transferring the data folder may take
time if the file is too big+
Alternative 2: Saving the path of the image
Pros: No extra work in resizing or copying the file
Cons: Application and data folder cannot be transferred to different computers and be expected to work
End of Extract
3. Enhancement Added: Themes
3.2. Change theme : theme
V2.0
Changes the theme of DeathNote.
Format: theme
Examples:
-
theme
light -
theme
dark
Current available themes:
-
light
-
dark
End of Extract
3.3. Justification
Theme is added so that we can disguise our Death Note (gamification of our application).
3.5. Theme mechanism
Theme mechanism uses a singleton class called UiStyle
which stores the scene of the application in it.
This allows the modification of the scene’s css at runtime.
The class UiStyle
requires the scene to be set at MainWindow
class for it to be used to edit themes.
public class UiStyle {
...
private static Scene scene = null;
public static void setScene(Scene s) {
scene = s;
setToDarkTheme(); // Default theme
}
public static void setToLightTheme() {
scene.getStylesheets().remove(DARK_THEME_STYLE);
scene.getStylesheets().add(LIGHT_THEME_STYLE);
}
public static void setToDarkTheme() {
scene.getStylesheets().remove(LIGHT_THEME_STYLE);
scene.getStylesheets().add(DARK_THEME_STYLE);
}
}
Example of calling the application to change to light theme:
UiStyle.getInstance().setToLightTheme();
Figure 4.7.1 : Theme Sequence Diagram
Although this function can be called anywhere, it should only be called when ThemeCommand
is issued.
3.5.1. Design considerations
Aspect: Implementation of theme
Alternative 1 (current choice): Pass the scene of the application into a singleton class dedicated for UI usage only
Pros: Changing the theme can be called easily
Cons: Changing of the theme can be called anywhere by any class
Alternative 2: Passing the scene down from MainApp
class to ThemeCommand
class
Pros: Only ThemeCommand
class will be able to modify the theme
Cons: Very tedious as ThemeCommand
class is very far down the architecture
End of Extract
4. Enhancement Added: Website
4.1. External behavior
Using the select
command on a contact will load the browser to the contact’s website. If the contact has no website,
the browser will google the contact’s name.
4.2. Justification
Having a website so that we can see our contact’s website if he or she is a professional contact.
4.4. Website
The website variable in Person
is a one of the new parameters in Person which stores a website of the Person
Browser is reloaded with the Person
' s website if the Person
selected has a website. If not we google search the
Person
's name.
4.4.1. Design considerations
Aspect: Implementation of profile picture
Alternative 1 (current choice): Copy image file into data folder and use the image from there
Pros: Application and data folder can be transferred to different computers and still work
Cons: May have to take note of size of files added into folder as transferring the data folder may take
time if the file is too big+
Alternative 2: Saving the path of the image
Pros: No extra work in resizing or copying the file
Cons: Application and data folder cannot be transferred to different computers and be expected to work
End of Extract
5. Enhancement Added: Colors for tags
5.1. External behavior
Tags are shown in different colors
Tags can be added using add
command while adding a contact or edit
command if the contact already exists.
-
add n/Dwayne Johnson t/friend
Adds Dwayne Johnson as a contact and adds a "friend" tag to the contact -
edit 1 t/colleague
Edits the tag of the 1st person to be "colleague" -
edit 1 t/
Removes all tag from the 1st person
5.4. Tag colors
The colors for tags are randomed upon start up of the application.
Tags has been modified to use hexadecimal colors instead of having an array of colors
(e.g. red,blue,green) and selecting from the array of colors.
This increases the number of colors we can have for tags tremendously.
5.4.1. Design considerations
Aspect: Implementation of color for tags
Alternative 1 (current choice): Have tags to be colored using hex instead of defined words
Pros: The number of colors for tags are limited to the number of hex values there are
Cons: Colors are decided by random, the color differences may not be different. (e.g #FFFFFF, #FFFFFE)
Alternative 2: Have tag colors to be in an array and randomly choose from them
Pros: Colors of tags are defined and the difference between any two colors can be seen easily
Cons: Limited number of colors codes
End of Extract
6. Enhancement Added: Shown list to be sorted
6.4. Sorted list
The list is sorted by names automatically when shown by using java’s list.sort.
public ObservableList<ReadOnlyPerson> getFilteredPersonList() {
return FXCollections.unmodifiableObservableList(filteredPersons.sorted());
}
6.4.1. Design considerations
Aspect: Sorting list of contacts
Alternative 1 (current choice): Return a sorted list when display needs to update
Pros: Very easy to implement,
Cons: Only can sort by name
Alternative 2: Have a sort command to sort contacts
Pros: Contacts can be sorted according to different variables
Cons: New command has to be added.
End of Extract
7. Other contributions
-
Added travis to group repo
-
Increased test coverage from 87% to 88% (Pull request: #86)
-
Reported bug on (Pull requests: T15-B4 #234, T15-B4 #236)


Data Templated Table No Content Example
| # |
First |
Last |
Handle |
No Data Available |
@sample.Id |
@sample.FirstName |
@sample.LastName |
@sample.Handle |
@code
{
public ListSamples { get; set; }
protected override void OnInitialized()
{
// Samples has not been intialized and will remain null
// This causes the loading template to always show
}
}


[§431:10C-115.7] Plain language billings. A bill for a new and renewal policy or a notification included with the bill for the payment of premiums shall clearly identify each coverage in the policy, with the price of each coverage specified. [L 1997, c 251, pt of §2]


cardiovascular blood CAM review patients heart use pressure therapies treatment disease significant effects systematic {border-style study Medicine px;} #ffffff;} CVD used Complementary clinical medicine randomized research American evidence health risk trial mortality trials cardiac quality red reduction Alternative meta-analysis products rice studies therapies, therapy yeast Health Lee compared effect however, levels reported results systolic alternative coronary dietary efficacy exercise flaxseed include literature meditation placebo potential rate total Cardiovascular Chinese acupuncture associated benefits chi control decreases mind-body morbidity px; reduce reductions relaxation supplement {font-family (i.e., Association Cardiology However, National United biologically-based chronic concluded events failure font-size garlic healing increases massage monacolin primary regarding rigorous therapy, Cochrane Heart States Study body care controlled conventional determine did double; fatty ginseng group high hypertension interactions major massage, measures medical physiologic poor prevention secondary statistically stress supplements tai taken women (.%), Hawthorn Internal MBT Medical Reviews Therapies adverse article beneficial biloba border-color border-width commonly data deaths decrease diastolic difficult disease, effectiveness energy general generally hawthorn herbal increase increased long-term manipulation, medicine, men methodological myocardial omega- outcomes people protein recent relaxation, report solid; vitamin {font-style {font-weight Archives Effects FDA Kaye L-carnitine NHIS PLC Tai acid adults antihypertensive arterial available average bold chelation chiropractic cholesterol common complementary conditions courier; deep demonstrated disorders effective effects, em; extract factors frequently ginkgo greater important improve infarction, lack little lower management meditation, noted pain physical physicians positive prevalence product progressive pt;} randomized, ranged reduced reducing response resulted scientific shown significantly specifically studies, substantial suggested techniques touch transcendental variability versus yoga


fun scale_color_hue(h: Pair<Int, Int>? = null, c: Int? = null, l: Int? = null, hstart: Int? = null, direction: Int? = null, name: String? = null, breaks: List<Number>? = null, labels: List<String>? = null, limits: Pair<Number?, Number?>? = null, naValue: Any? = null, guide: Any? = null, trans: String? = null): Scale
Qualitative color scale with evenly spaced hues for color aesthetic.
h
- a pair of numbers
Range of hues, in [0,360
].
c
- numeric
Chroma (intensity of color), maximum value varies depending on.
l
- numeric
Luminance (lightness), in [0,100
].
hstart
- list of two numbers
Hue to start at.
direction
- numeric
Direction to travel around the color wheel, 1 = clockwise (default), -1=counter-clockwise.
name
- string
The name of the scale - used as the axis label or the legend title. If None, the default, the name of the scale
is taken from the first mapping used for that aesthetic.
breaks
- list of numbers
A numeric vector of positions (of ticks)
labels
- list of strings
A vector of labels (on ticks)
limits
- A pair of numbers specifying the data range for the scale.
Use null to refer to default min/max.
Missing values will be replaced with this value.
Guide to use for this scale.
It can either be a string ("colorbar", "legend") or a call to a guide function (guide_colorbar(), guide_legend())
specifying additional arguments.
"none" will hide the guide.
trans
- string
Name of built-in transformation ('identity', 'log10', 'reverse', 'sqrt').


Lux is a UI Component library for Angular created by Metadev.
Get it from npmjs as @metadev/lux or check the code and issues at https://github.com/metadevpro/lux.
To install, from the shell at your angular project root directory, type:
npm i --save @metadev/lux
Then, add the LuxModule from @metadev/lux
to
your application module:
import { LuxModule } from '@metadev/lux';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AppRoutingModule,
LuxModule
],
providers: [],
bootstrap: [ AppComponent ]
})
export class AppModule { }
The following components are provided:


Hey Everyone! I am Md Hishaam Akhtar. I study Computer Science at Vellore Institute of Technology. I am a Backend Developer at DSC VIT. I have worked with several tools and technologies including Node.js, MongoDB, Postgres. My favorite tool to work with is Node.js. I also have a Node.js course on Udemy which is free for everyone. I have a fair knowledge of Docker and Cloud Computing. I aim to become a Software Engineer.
Most of my projects feature server side coding. Node.js with Express.js is my choice for such scenarios. It is lightweight, easy to use and most importantly, very easy to get started with.
Document Based Databases are very useful in several places. MongoDB is the most popular Document Based Database out there with several applications. Coupled with Node.js, it forms a great pair for any project.
Relational Databases have always had a huge role in the industry. It is one of the most essential skills out there to be learnt. And whats better than learning Postgres, which is the largest free and open source relational database.
Deployment of applications play a huge role in any project. With the help of docker and its ability to containerize an application, its very easy to deploy. Docker is a useful skill that I learnt while deploying my projects


Lesson 1:
- He defines the terminologies as weights denoted by w, bias denoted by b, activation function denoted by g(.), neuron preactivation(I/P) denoted by x, neuron activation(O/P) denoted by h(x). Everything exept b is a vector.
- He starts a discussion about potential activation functions in ANN.
- Linear Activation Function, g(a) = a, No squashing of I/P - Sigmoid Function, g(a) = 1/(1+e^(-a)), Lies between 0 and 1, always +ve, bounded, strictly increasing. - Tanh Function, g(a) = (e^(2a)-1)/(e^(2a)+1), Lies netween -1 and 1, bounded, strictly increasing - ReLU Function, g(a) = max(0, a), Bounded below 0, Strictly increasing, tends to give neurons with sparse activities because it is 0 over a large range of -ve numbers.
- He further discusses the complexity of computations the neural network can perform.
- He talks about linearly separable problems(binary classification problems) which have a decision boundary and use single neuron to perform logistic regression. This can be achieved using sigmoid.
- He goes further and talks about alternate representations of input vector which can convert the non lineraly separable problem into a separable one. For eg. XOR can be represented by AND(X^, Y) on x axis and AND(X, Y^) on y axis. He tries to break the problem into pieces and check if single piece of problem can be represented by a neuron or a group of neurons and then combine all the representations to generate a representation for non linearly separable problem.
- He discusses the hidden layer pre-activation, hidden layer activation and output layer activation for a single layer neural network. Going ahead with multilayer neural network, the only difference is that multilayer neural network has multiple hidden layers.
- To perform binary classification, one can use sigmoid as output activation function.
- For multiclass classification one needs multiple outputs, so one uses conditional probablity p(y = c|x) where c is the class and then using softmax activation function; A function which sums to 1 when all the probablities are added. Additionally, softmax is strictly positive.
- He discusses universal approximation theorm i.e. a single layer hidden neural network with linear output unit which can approx. any continuous function arbitrarily well, given enough hidden units.
- He discusses the inspiration that neural networks draw from biological neurons and talks about the idea of different layers and how they work in parallel with the visual cortex. He uses edges and points to introduce the idea of complex shapes formed using these simple structures and uses face detection as an example. He defines the following terms too.
- Action potential is an electrical impulse that travels through the axon.
- Firing rate of a neuron is frequency with which a neuron can spike.
- Neurons tend to excite or inhibit other neurons.
- Analogy between artificial NN and biological NN
- Activation function is analogous to firing rate.
- Weights in ANN decide the excitation or inhibition of a neuron.
- Activation function and bias model the action potential of a neuron.
Lesson 2:
- He starts with discussion on empirical risk minimization also called structural risk minimization when using regularization.
-
- is a regularizer
- is a loss function
- Learning hence becomes an optimization problem
- Ideally should optimize classification error but it’s not smooth as it’s either 0 or 1 so the above loss function is a surrogate for what we should truly optimise
- Stochastic Gradient Descent
- Initialization of i.e. weights and biases.
- for N interations
- for each training example
- figure out a direction for updating the parameters. Take the negative gradient of loss and regularizer
- Use the above gradient value along with ie learning rate to update the parameters
- for each training example
- Training epoch is equal to iteration over all the examples
- Neural network estimates for classification task
- Aim is to Maximize probability of so we minimize - log likelihood which is also called as cross entropy


My name is Andy Marmolejos. I'm majoring in Computer Engineering and minoring in Web and App
Development.
For the final project we are creating a website using all of the materials we have used since
day one. For my project I chose the History of Website 1992-2020. The goal is to write
about their origins and how are these websites compared from their first year to today.
bla bla.


Who am I ?
- Front-end developer
- Work at Ziliko (next door!) with Backbone Boilerplate, grunt.js, less...
- Mobile freelance (Sencha Touch 2, Titanium, PhoneGap) for 2 years
- Migrii cofounder
What will I present today ?
Appcelerator Inc
Appcelerator Titanium SDK
Small app live coding
Appcelerator Cloud Services
Appcelerator Inc
- Founded in 2006, based in Mountain View, CA
- ~140 employees
- Private held startup, venture-backed
- Mixed business model between premium support and cloud services
- Bought Aptana to create Titanium Studio in 2011
- Codestrong event, every year
- 350,000 developers, 50,000 apps launched
Appcelerator Titanium SDK
- Simple idea : same code, multiple platforms
- Code most people master : web development
- Currently supports iOS, Android, Blackberry, and W8/WP8 in early 2013
- Desktop version exists, TiDesk
How does Titanium really work ?
- You write JavaScript code
- Titanium API takes your JS code and links it with native functions
- At build time, Titanium API packages only what you need
- At runtime, your code is evaluated and native functions are called
Why it's so great ?
- Really fast to get started, on multiple platforms
- Native user experience, native UIs
- Rich SDK with 2D/3D animations, APIs modules(Facebook, 4square, Twitter..)
- Performance over mobile web
- It's JavaScript
Why it's not so great ?
- You don't really have access to the real code
- Even if the SDK is rich, it's hard to get out from the framework
- Appcelerator maintains it - a company : some features needs a subscription
- It's JavaScript
Simple demo
Building a JS Montreal app
ACS and modules
A lot of modules available (free or paying)
From the developer website interface, you can add modules like Notifications, Users data storage, Photos, services...
So when can you use Titanium ?
- You want to write a simple (= non complex algorithms, graphics managements) app
- You don't want to learn a native language/framework
- Web mobile is good, but you want native feel for your users


Has he lost his mind? Has Spike Lee lost all sense of reason or purpose in making a film? After the greatness of a disturbing, provocative documentary like "Four Little Girls," Spike made a noisy, pretentious, overheated basketball drama called "He Got Game." Its chief merit was Denzel Washington's controlled performance. Now we have the noisy, melodramatic, overheated, overbaked and needless retelling of the "Summer of Sam" - a hot, noisy New York summer of 1978 when the Son of Sam killer was loose in the streets and made media headlines. I assume the latter is Spike Lee's intention as well with each film he makes.
Make no mistake, "Summer of Sam" is not an introspective character study of Samuel Berkowitz. Instead, the writers Michael Imperioli, Victor Collichio and Spike focus on the sweltering summer itself - the paranoia and the decadence that surrounded the frenzy of Sam's murderous rampages on the city of New York. For a while, "Summer of Sam" works and keeps us on guard. We see the local Italian gangs rallying against Sam by keeping track of everyone who comes and goes in the neighborhood, the brunettes wearing blonde wigs to escape Sam's wrath upon blondes, the all-night disco clubs, the promiscuous activities at Plato's Retreat, an orgy club, the swagger and sweat of the macho, sexist Italian men, the constant hurling insults, the cops vying for a local Mafia boss (Ben Gazzara) to help in the murder investigation, and...wait a second. I know where I have seen this type of anthropological view of New York's boroughs before. I've seen it in Martin Scorsese's mob dramas, and I could not wait to see one of those films again as opposed to Spike's stereotypical portrayal.
The main story in "Summer of Sam" deals with the rocky relationship between the endlessly posturing Vinny (John Leguizamo), a hairdresser, and his darling, faithful wife, Dionna (Mira Sorvino), a waitress at her father's restaurant.  After witnessing one of Sam's murder victims, he decides to mend his sinful ways, though it is short-lived since we are treated to a needlessly long sequence involving the infamous Plato's Retreat.
 I wish Spike focused on this couple since their scenes have no clichés and rivet our attention. In marked contrast, the Vinny and Dionna marriage becomes repetitious and tiresome after a while, and the actors bring no dimension or spin to their characters. There is only so much of Leguizamo's swagger I can stand.
There are a couple of sequences that do work mainly because they involve the racial parameters of a community - Lee's forte ever since "Do the Right Thing." There's a sequence involving the Mafia boss talking to the police officers about trapping Sam, and the boss rightly pointing out that there are murders in Harlem every day and nobody reports them.  The idea of needing a scapegoat in a community that is lost with desperation to find the killer is timely and profound - this is all pure vintage Lee.
Beyond that, we get heated scenes of marital discord, hurling obscenities (Joe Pesci was never this obscene), and countless scenes of burly Sam roaring with pain in his bedroom and close-ups of his shoes pounding the pavement as he approaches his victims seated in parked cars. Since the film is not truly about Sam Berkowitz, do we need countless shots of gunfire? Do we need to see a ludicrous scene of a dog speaking to Sam? Has Spike Lee become too literal-minded? Has he forgotten how to draw insight from his characters?
In terms of visceral filmmaking, Spike Lee is still a demon of a filmmaker, but he is no visionary. The film is exceedingly well-shot and edited (many high-contrast shots; delirious montages) but it all serves little purpose, meaning or significance. What we learn about the fervent summer of 1978 is that there were power outages, the weather was hot and humid, and people cursed and had sexual escapades. Spike has forgotten how to do the right thing within all the madness - to forge drama and insight from it all..
For more reviews, check out JERRY AT THE MOVIES at http://buffs.moviething.com/buffs/faust/
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


Usability Spotlight
Browsing online is generally an easy process today. The rules and guidelines of how we build websites has been solidified a great deal since the 90's. This foundation doesn't account for everything though, most notably the user. People fundamentally use sites in different methods and patterns. As a designer we should accommodate for any ambiguity in our work. This is known as User Experience design.
Steve Krug has an excellent book on UX design called “Don’t Make Me Think!”
My local historic Movie theater has seemed to have missed a few key usability fundamentals in the design of their website. The Edmonds Theater is a landmark but their website is more of a maze. I would think that they would want to showcase their movies and showtimes as a priority. The location and amenities would be useful to those who want to see a show. While those who want to plan something for later would want to see upcoming events or read about the history of the theater. So then why is some of this information harder to find on their website than Facebook?
A Hard Look at a Simple Site
Let’s look at exactly what I mean when I say that the edmonds theater needs some UX help. To test this let’s look at how well it answers the following questions:
- Do I have to Question what section is what?
- Can I Tell what I can Click on?
- Can I find the Information I'm looking for in a hurry?
- Do I know where I am on the Site?
- Is the Text Clear and Consice?
Do I have to Question what section is what?
Initially this looks fine: there is a header with a sensible navbar, a footer with the address and prices, and the films center frame. However, there is no mention of showtimes, no events calendar or any pictures of the theater itself. Clicking on the nav bar scrolls the page content but not the page itself which seems counterintuitive.
Can I Tell what I can Click on?
It’s unfortunately not very easy to tell what does what. The Logo, address, and phone number are all just text. The social media Icons work how I would expect but the nav bar scrolls instead of taking me to a new page. There is no visual indicator on the films to show that they are indeed clickable. So as I tried to navigate I lost my trust in how a site like this works as my expectations were subverted. Some simple hover css or color would go a long way here.
Can I find the Information I'm looking for in a hurry?
Most information is readily accessible but there is a glaring exception: Tickets. If I’m checking out a business’ website knowing how to buy their product should be top priority. I can select a film to see its showtimes but I can’t purchase tickets without going to an external site. That isn’t even a link forcing me to search online for another way to buy tickets. I would add a “Buy Tickets” button below each active film that would link directly to a purchase page.
Do I know where I am on the Site?
This is the weirdest concept to me. The website is presented in a multiple page format yet is actually a single page. To make that more confusing the text for each section is only grayed out below the previous one but you can not scroll. Why? I would rather just scroll down than be forced to use a nav bar particularly if it is visible. I would make this a single page with more horizontal utilization.
Is the Text Clear and Consice?
The color scheme for the text is great and has solid contrast. The shift in background color helps make the white text pop as you navigate. The content is short and to the point. I would make the text size a bit bigger though as i find it rather small. The background image is also mildly distracting when I’m reading.
Give a Thumbs up if you liked the article!


Skip Navigation
Search books, movies, branches, programs & more
Sign Out
Your Account
Contact Us
Donate Now
Search books, movies, branches, programs & more
Advanced
|
Old Catalogue
Books, Video, Research & More
Books
New Adult Fiction
New Children's Fiction
New Teen Fiction
Award Winners
Best Sellers
We Recommend
Book Clubs
Movies & Video
New Adult DVDs
New Holdable Adult DVDs
New Children's DVDs
New Holdable Children's DVDs
Music
New Adult Music
Downloads & eBooks
Articles & Online Research
A - Z List of All Databases
Recommended Websites
Material in Your Language
Français
Special Collections & Rare Books
Digital Archive
Programs, Classes & Exhibits
Kids & Families
Teens
Author Talks & Lectures
Book Clubs & Writers' Groups
Business, Legal & Personal Finance
Career & Job Search
Computer & Library Training
Newcomer & ESL Programs
Health & Wellness
Hobbies, Crafts & Games
Appel Salon Programs
Exhibits & Displays
The eh List Author Series
Thought Exchange
Writer-in-Residence
Hours & Locations
A-Z List of Branches
Sunday Hours
Branch Renovations
Bookmobiles
Using the Library
Services
Museum + Arts Pass
Computers, Internet Access & Digital Services
Reserve a Computer
Meeting Room Rentals
Help
Account Help
Help with Searching
Troubleshooting Technical Problems
Your Library Card
Borrowing Materials
Placing Holds
Place Hold
You are placing a hold on:
Title:
Learning GNU Emacs
Author:
Cameron, Debra.
Pick up at:
Annette Street
Agincourt
Albert Campbell
Albion
Alderwood
Amesbury Park
Armour Heights
Barbara Frum
Bayview
Beaches
Bendale
Black Creek
Bookmobile One
Bookmobile Two
Bloor/Gladstone
Brentwood
Bridlewood
Brookbanks
Burrows Hall
Cedarbrae
Centennial
City Hall
Cliffcrest
College/Shaw
Danforth/Coxwell
Davenport
Dawes Road
Deer Park
Don Mills
Downsview
Dufferin/St. Clair
Eatonville
Eglinton Square
Elmbrook Park
Evelyn Gregory
Flemingdon Park
Forest Hill
Gerrard/Ashdale
Goldhawk Park
Guildwood
High Park
Highland Creek
Hillcrest
Humber Bay
Humber Summit
Humberwood
Jane/Dundas
Jane/Sheppard
Jones
Kennedy/Eglinton
Leaside
Lillian H. Smith
Locke
Long Branch
Main Street
Malvern
Maria A. Shchuka
Maryvale
McGregor Park
Mimico Centennial
Morningside
Mount Dennis
Mount Pleasant
New Toronto
North York Central Library
Northern District
Northern Elms
Oakwood Village Library and Arts Centre
Palmerston
Pape/Danforth
Parkdale
Parliament Street
Perth/Dupont
Pleasant View
Port Union
Queen/Saulter
Rexdale
Richview
Riverdale
Runnymede
S. Walter Stewart
Sanderson
Spadina Road
St. Clair/Silverthorn
St. James Town
St. Lawrence
Steeles
Sunnybrook
Swansea Memorial
Taylor Memorial
Thorncliffe
Todmorden Room
Toronto Reference Library
Victoria Village
Weston
Woodside Square
Woodview Park
Wychwood
York Woods
Yorkville
Have a deadline? (optional)
I do not need this item after:
(Default expiry date is 2 years from today)


DKUser
@objc(DKUser)
public final class DKUser : NSObject, NSCoding, DKResponseObjectSerializable, DKResponseListSerializable, DKAccount
Represents a user on Dropmark. Can be the current user, collaborators, or users external to your team.
Note
Only when a user is retrieved from the/auth
API endpoint will a token
be returned
-
When listing collaborators within a collection, a
See moreKind
represents a user’s role within the collectionDeclaration
Swift
public enum Kind : String, CaseIterable
-
A user’s ability to act on the Dropmark platform
See moreDeclaration
Swift
public enum Status : String, CaseIterable
-
The unique identifier of the user
Declaration
Swift
@objc public var id: NSNumber
-
The name of the user
Declaration
Swift
public var name: String
-
The primary email of the user
Declaration
Swift
@objc public var email: String?
-
The unique username of the user
Declaration
Swift
@objc public var username: String?
-
Undocumented
Declaration
Swift
public var customDomain: String?
-
Undocumented
Declaration
Swift
public var sortBy: String?
-
Undocumented
Declaration
Swift
public var sortOrder: String?
-
Undocumented
Declaration
Swift
public var viewMode: String?
-
Undocumented
Declaration
Swift
public var labels: Bool?
-
The membership tier of the user
Declaration
Swift
public var plan: DKPlan
-
true
if a paid membership is still activeDeclaration
Swift
public var planIsActive: Bool?
-
Undocumented
Declaration
Swift
public var planQuantity: NSNumber?
-
The total amount of storage available for the current user (in bytes)
Declaration
Swift
public var storageQuota: NSNumber
-
The amount of storage used by the current user (in bytes)
Declaration
Swift
public var storageUsed: NSNumber
-
The primary email address associate with the teams billing account
Declaration
Swift
public var billingEmail: String?
-
A user’s role within a collection
Declaration
Swift
public var kind: Kind?
-
The active/inactive status of the user
Declaration
Swift
public var status: Status
-
The date the user created their account
Declaration
Swift
public var createdAt: Date?
-
The URL of the user’s avatar image
Declaration
Swift
public var avatar: URL?
-
A list of all teams of which the user is a member.
Declaration
Swift
public var teams: [DKTeam]?
-
Used to authenticate requests on behalf of the user. Note: A token value only returns from the
/auth
API endpointDeclaration
Swift
@objc public var token: String?
-
Initialize a local instance with an ID
Declaration
Swift
public init(id: NSNumber, name: String = "")
Parameters
id
The unique ID number to identify this user
-
Serializes a new instance from the provided network response and key-value representation. The representation is validated for the required parameters, then fills in optional parameters as necessary.
Declaration
Swift
@objc public required init?(response: HTTPURLResponse, representation: Any)
Parameters
response
A network response assocated with serialization
representation
A key-value object representing parameters and child objects.
-
Returns an object initialized from data in a given unarchiver.
Discussion: You typically return
self
frominit(coder:)
. If you have an advanced need that requires substituting a different object after decoding, you can do so inawakeAfter(using:)
.
Declaration
Swift
public required init?(coder aDecoder: NSCoder)
Parameters
coder
An unarchiver object.
Return Value
self
, initialized using the data incoder
. -
Encodes the receiver using a given archiver.
Declaration
Swift
public func encode(with aCoder: NSCoder)
Parameters
encoder
An archiver object.
-
Undocumented
Declaration
Swift
public override var description: String { get }