A CBLDocument is essentially a JSON object with an ID string that's unique in its database.
More...
|
| enum | CBLConcurrencyControl : uint8_t { kCBLConcurrencyControlLastWriteWins,
kCBLConcurrencyControlFailOnConflict
} |
| | Conflict-handling options when saving or deleting a document. More...
|
| |
| typedef bool(* | CBLSaveConflictHandler) (void *context, CBLDocument *documentBeingSaved, const CBLDocument *conflictingDocument) |
| | Custom conflict handler for use when saving or deleting a document. More...
|
| |
| _cbl_warn_unused const CBLDocument * | CBLDatabase_GetDocument (const CBLDatabase *database, const char *docID) |
| | Reads a document from the database, creating a new (immutable) CBLDocument object. More...
|
| |
| static const CBLDocument * | CBLDocument_Retain (const CBLDocument *t) |
| |
| static void | CBLDocument_Release (const CBLDocument *t) |
| |
| _cbl_warn_unused const CBLDocument * | CBLDatabase_SaveDocument (CBLDatabase *db, CBLDocument *doc, CBLConcurrencyControl concurrency, CBLError *error) |
| | Saves a (mutable) document to the database. More...
|
| |
| _cbl_warn_unused const CBLDocument * | CBLDatabase_SaveDocumentResolving (CBLDatabase *db, CBLDocument *doc, CBLSaveConflictHandler conflictHandler, void *context, CBLError *error) |
| | Saves a (mutable) document to the database. More...
|
| |
| bool | CBLDocument_Delete (const CBLDocument *document, CBLConcurrencyControl concurrency, CBLError *error) |
| | Deletes a document from the database. More...
|
| |
| bool | CBLDocument_Purge (const CBLDocument *document, CBLError *error) |
| | Purges a document. More...
|
| |
| bool | CBLDatabase_PurgeDocumentByID (CBLDatabase *database, const char *docID, CBLError *error) |
| | Purges a document, given only its ID. More...
|
| |
|
A document's body is essentially a JSON object.
The properties are accessed in memory using the Fleece API, with the body itself being a dictionary).
|
| const char * | CBLDocument_ID (const CBLDocument *) _cbl_returns_nonnull |
| | Returns a document's ID. More...
|
| |
| uint64_t | CBLDocument_Sequence (const CBLDocument *) |
| | Returns a document's current sequence in the local database. More...
|
| |
| FLDict | CBLDocument_Properties (const CBLDocument *) |
| | Returns a document's properties as a dictionary. More...
|
| |
| FLMutableDict | CBLDocument_MutableProperties (CBLDocument *) _cbl_returns_nonnull |
| | Returns a mutable document's properties as a mutable dictionary. More...
|
| |
| void | CBLDocument_SetProperties (CBLDocument *, FLMutableDict properties) |
| | Sets a mutable document's properties. More...
|
| |
| FLDoc | CBLDocument_CreateFleeceDoc (const CBLDocument *) |
| |
| char * | CBLDocument_PropertiesAsJSON (const CBLDocument *) _cbl_returns_nonnull |
| | Returns a document's properties as a null-terminated JSON string. More...
|
| |
| bool | CBLDocument_SetPropertiesAsJSON (CBLDocument *, const char *json, CBLError *) |
| | Sets a mutable document's properties from a JSON string. More...
|
| |
| CBLTimestamp | CBLDatabase_GetDocumentExpiration (CBLDatabase *db, const char *docID, CBLError *error) |
| | Returns the time, if any, at which a given document will expire and be purged. More...
|
| |
| bool | CBLDatabase_SetDocumentExpiration (CBLDatabase *db, const char *docID, CBLTimestamp expiration, CBLError *error) |
| | Sets or clears the expiration time of a document. More...
|
| |
A CBLDocument is essentially a JSON object with an ID string that's unique in its database.
◆ CBLDocument
An in-memory copy of a document.
CBLDocument objects can be mutable or immutable. Immutable objects are referenced by const pointers; mutable ones by non-const pointers. This prevents you from accidentally calling a mutable-document function on an immutable document.
◆ CBLDocumentChangeListener
| typedef void(* CBLDocumentChangeListener) (void *context, const CBLDatabase *db, const char *docID) |
A document change listener callback, invoked after a specific document is changed on disk.
- Warning
- By default, this listener may be called on arbitrary threads. If your code isn't prepared for that, you may want to use CBLDatabase_BufferNotifications so that listeners will be called in a safe context.
- Parameters
-
| context | An arbitrary value given when the callback was registered. |
| db | The database containing the document. |
| docID | The document's ID. |
◆ CBLSaveConflictHandler
| typedef bool(* CBLSaveConflictHandler) (void *context, CBLDocument *documentBeingSaved, const CBLDocument *conflictingDocument) |
Custom conflict handler for use when saving or deleting a document.
This handler is called if the save would cause a conflict, i.e. if the document in the database has been updated (probably by a pull replicator, or by application code on another thread) since it was loaded into the CBLDocument being saved.
- Parameters
-
| context | The value of the context parameter you passed to CBLDatabase_SaveDocumentResolving. |
| documentBeingSaved | The document being saved (same as the parameter you passed to CBLDatabase_SaveDocumentResolving.) The callback may modify this document's properties as necessary to resolve the conflict. |
| conflictingDocument | The revision of the document currently in the database, which has been changed since documentBeingSaved was loaded. May be NULL, meaning that the document has been deleted. |
- Returns
- True to save the document, false to abort the save.
◆ CBLConcurrencyControl
Conflict-handling options when saving or deleting a document.
| Enumerator |
|---|
| kCBLConcurrencyControlLastWriteWins | The current save/delete will overwrite a conflicting revision if there is a conflict.
|
| kCBLConcurrencyControlFailOnConflict | The current save/delete will fail if there is a conflict.
|
◆ CBLDatabase_AddDocumentChangeListener()
Registers a document change listener callback.
It will be called after a specific document is changed on disk.
- Parameters
-
| db | The database to observe. |
| docID | The ID of the document to observe. |
| listener | The callback to be invoked. |
| context | An opaque value that will be passed to the callback. |
- Returns
- A token to be passed to CBLListener_Remove when it's time to remove the listener.
◆ CBLDatabase_GetDocument()
Reads a document from the database, creating a new (immutable) CBLDocument object.
Each call to this function creates a new object (which must later be released.)
- Note
- If you are reading the document in order to make changes to it, call CBLDatabase_GetMutableDocument instead.
- Parameters
-
| database | The database. |
| docID | The ID of the document. |
- Returns
- A new CBLDocument instance, or NULL if no document with that ID exists.
◆ CBLDatabase_GetDocumentExpiration()
Returns the time, if any, at which a given document will expire and be purged.
Documents don't normally expire; you have to call CBLDatabase_SetDocumentExpiration to set a document's expiration time.
- Parameters
-
| db | The database. |
| docID | The ID of the document. |
| error | On failure, an error is written here. |
- Returns
- The expiration time as a CBLTimestamp (milliseconds since Unix epoch), or 0 if the document does not have an expiration, or -1 if the call failed.
◆ CBLDatabase_GetMutableDocument()
Reads a document from the database, in mutable form that can be updated and saved.
(This function is otherwise identical to CBLDatabase_GetDocument.)
- Note
- You must release the document when you're done with it.
- Parameters
-
| database | The database. |
| docID | The ID of the document. |
- Returns
- A new mutable CBLDocument instance, or NULL if no document with that ID exists.
◆ CBLDatabase_PurgeDocumentByID()
| bool CBLDatabase_PurgeDocumentByID |
( |
CBLDatabase * |
database, |
|
|
const char * |
docID, |
|
|
CBLError * |
error |
|
) |
| |
Purges a document, given only its ID.
- Note
- If no document with that ID exists, this function will return false but the error code will be zero.
- Parameters
-
| database | The database. |
| docID | The document ID to purge. |
| error | On failure, the error will be written here. |
- Returns
- True if the document was purged, false if it doesn't exist or the purge failed.
◆ CBLDatabase_SaveDocument()
Saves a (mutable) document to the database.
If a conflicting revision has been saved since doc
was loaded, the concurrency
parameter specifies whether the save should fail, or the conflicting revision should be overwritten with the revision being saved. If you need finer-grained control, call CBLDatabase_SaveDocumentResolving instead.
- Parameters
-
| db | The database to save to. |
| doc | The mutable document to save. |
| concurrency | Conflict-handling strategy (fail or overwrite). |
| error | On failure, the error will be written here. |
- Returns
- An updated document reflecting the saved changes, or NULL on failure.
◆ CBLDatabase_SaveDocumentResolving()
Saves a (mutable) document to the database.
This function is the same as CBLDatabase_SaveDocument, except that it allows for custom conflict handling in the event that the document has been updated since doc
was loaded.
- Parameters
-
| db | The database to save to. |
| doc | The mutable document to save. |
| conflictHandler | The callback to be invoked if there is a conflict. |
| context | An arbitrary value to be passed to the conflictHandler . |
| error | On failure, the error will be written here. |
- Returns
- An updated document reflecting the saved changes, or NULL on failure.
◆ CBLDatabase_SetDocumentExpiration()
Sets or clears the expiration time of a document.
- Note
- The purging of expired documents is not yet automatic; you will need to call CBLDatabase_PurgeExpiredDocuments when the time comes, to make it happen.
- Parameters
-
| db | The database. |
| docID | The ID of the document. |
| expiration | The expiration time as a CBLTimestamp (milliseconds since Unix epoch), or 0 if the document should never expire. |
| error | On failure, an error is written here. |
- Returns
- True on success, false on failure.
◆ CBLDocument_CreateFleeceDoc()
◆ CBLDocument_Delete()
Deletes a document from the database.
Deletions are replicated.
- Warning
- You are still responsible for releasing the CBLDocument.
- Parameters
-
| document | The document to delete. |
| concurrency | Conflict-handling strategy. |
| error | On failure, the error will be written here. |
- Returns
- True if the document was deleted, false if an error occurred.
◆ CBLDocument_ID()
◆ CBLDocument_MutableCopy()
Creates a new mutable CBLDocument instance that refers to the same document as the original.
If the original document has unsaved changes, the new one will also start out with the same changes; but mutating one document thereafter will not affect the other.
- Note
- You must release the new reference when you're done with it.
◆ CBLDocument_MutableProperties()
Returns a mutable document's properties as a mutable dictionary.
You may modify this dictionary and then call CBLDatabase_SaveDocument to persist the changes.
- Note
- The dictionary object is owned by the document; you do not need to release it.
-
Every call to this function returns the same mutable collection. This is the same collection returned by CBLDocument_Properties.
◆ CBLDocument_New()
Creates a new, empty document in memory.
It will not be added to a database until saved.
- Parameters
-
| docID | The ID of the new document, or NULL to assign a new unique ID. |
- Returns
- The mutable document instance.
◆ CBLDocument_Properties()
Returns a document's properties as a dictionary.
- Note
- The dictionary object is owned by the document; you do not need to release it.
- Warning
- This dictionary reference is immutable, but if the document is mutable the underlying dictionary itself is mutable and could be modified through a mutable reference obtained via CBLDocument_MutableProperties. If you need to preserve the properties, call FLDict_MutableCopy to make a deep copy.
◆ CBLDocument_PropertiesAsJSON()
| char* CBLDocument_PropertiesAsJSON |
( |
const CBLDocument * |
| ) |
|
Returns a document's properties as a null-terminated JSON string.
- Note
- You are responsible for calling
free()
on the returned string.
◆ CBLDocument_Purge()
Purges a document.
This removes all traces of the document from the database. Purges are not replicated. If the document is changed on a server, it will be re-created when pulled.
- Warning
- You are still responsible for releasing the CBLDocument reference.
- Note
- If you don't have the document in memory already, CBLDatabase_PurgeDocumentByID is a simpler shortcut.
- Parameters
-
| document | The document to delete. |
| error | On failure, the error will be written here. |
- Returns
- True if the document was purged, false if it doesn't exist or the purge failed.
◆ CBLDocument_Release()
| static void CBLDocument_Release |
( |
const CBLDocument * |
t | ) |
|
|
inlinestatic |
◆ CBLDocument_Retain()
◆ CBLDocument_Sequence()
Returns a document's current sequence in the local database.
This number increases every time the document is saved, and a more recently saved document will have a greater sequence number than one saved earlier, so sequences may be used as an abstract 'clock' to tell relative modification times.
◆ CBLDocument_SetProperties()
Sets a mutable document's properties.
Call CBLDatabase_SaveDocument to persist the changes.
- Note
- The dictionary object will be retained by the document. You are responsible for releasing your own reference(s) to it.
◆ CBLDocument_SetPropertiesAsJSON()
Sets a mutable document's properties from a JSON string.


Wave Timer!


This is something
This is something else
This is something inside of something
This is just some other stuff.


Preparation time
less than 30 mins
Cooking time
1 to 2 hours
Serves
Serves 4
This classic French dish is a winner as an easy supper that’s good enough to give to guests. Serve it with a crisp green salad.
Season the chicken with salt and freshly ground black pepper then toss in the flour to coat.
Heat a large sauté pan until hot, add the oil and half the butter then fry the chicken pieces, skin side down, for 1-2 minutes until golden-brown. Turn the chicken and fry on the other side for another 1-2 minutes.
Meanwhile, heat a frying pan until hot, add the remaining butter and fry the bacon and button mushrooms until they are golden-brown. Add the shallots and caster sugar and fry for 2-3 minutes until golden and caramelised.
Add the wine and bring it to a simmer, stirring to deglaze the pan, then pour the bacon and mushroom mixture over the chicken. Add the stock, tomato purée and tarragon to the chicken and bring to the boil.
Reduce the heat to a simmer and cook for 30-40 minutes or until the chicken is cooked through and the liquid slightly reduced.
Meanwhile, for the mash, place the potatoes into a pan of salted water and bring to the boil. Reduce the heat and simmer for 12-15 minutes until the potatoes are tender.
Drain the potatoes and return them to the pan, then place the pan on the heat for one minute to steam off any excess moisture.
Mash the potatoes well, then add the butter and milk, beating to form a smooth mash. Season with salt and freshly ground black pepper.
When the chicken is cooked, add the tomatoes and flat leaf parsley, check the seasoning then simmer for a further two minutes before serving.
Serve two pieces of chicken per person with the sauce spooned over and a dollop of mash alongside.


|
Files | |
| file | HTIRR-driver.h |
HiTechnic IR Receiver Sensor driver. | |
Defines | |
| #define | HTIRR_I2C_ADDR 0x02 |
| #define | HTIRR_OFFSET 0x42 |
| #define | HTIRR_MOTOR_1A 0x00 |
| #define | HTIRR_MOTOR_1B 0x01 |
| #define | HTIRR_MOTOR_2A 0x02 |
| #define | HTIRR_MOTOR_2B 0x03 |
| #define | HTIRR_MOTOR_3A 0x04 |
| #define | HTIRR_MOTOR_3B 0x05 |
| #define | HTIRR_MOTOR_4A 0x06 |
| #define | HTIRR_MOTOR_4B 0x07 |
| #define | MOTOR_BRAKE -128 |
Functions | |
| bool | HTIRRreadChannel (tSensors link, byte channel, sbyte &motA, sbyte &motB) |
| bool | HTIRRreadAllChannels (tSensors link, tsByteArray &motorSpeeds) |
Variables | |
| tByteArray | HTIRR_I2CRequest |
| tByteArray | HTIRR_I2CReply |
HiTechnic IR Receiver Sensor
| #define HTIRR_I2C_ADDR 0x02 |
HTIRR I2C device address
Definition at line 41 of file HTIRR-driver.h.
| #define HTIRR_MOTOR_1A 0x00 |
Color number
Definition at line 45 of file HTIRR-driver.h.
| #define HTIRR_MOTOR_1B 0x01 |
Color number
Definition at line 46 of file HTIRR-driver.h.
| #define HTIRR_MOTOR_2A 0x02 |
Color number
Definition at line 47 of file HTIRR-driver.h.
| #define HTIRR_MOTOR_2B 0x03 |
Color number
Definition at line 48 of file HTIRR-driver.h.
| #define HTIRR_MOTOR_3A 0x04 |
Color number
Definition at line 49 of file HTIRR-driver.h.
| #define HTIRR_MOTOR_3B 0x05 |
Color number
Definition at line 50 of file HTIRR-driver.h.
| #define HTIRR_MOTOR_4A 0x06 |
Color number
Definition at line 51 of file HTIRR-driver.h.
| #define HTIRR_MOTOR_4B 0x07 |
Color number
Definition at line 52 of file HTIRR-driver.h.
| #define HTIRR_OFFSET 0x42 |
Offset for data registers
Definition at line 42 of file HTIRR-driver.h.
| #define MOTOR_BRAKE -128 |
Some define. Motor brake
Definition at line 55 of file HTIRR-driver.h.
| bool HTIRRreadAllChannels | ( | tSensors | link, |
| tsByteArray & | motorSpeeds | ||
| ) |
Get the speeds of the motors for all channels.
| link | the HTIRR port number |
| motorSpeeds | the speeds for all the motors (-100 to +100, -128 = brake) |
Definition at line 101 of file HTIRR-driver.h.
| bool HTIRRreadChannel | ( | tSensors | link, |
| byte | channel, | ||
| sbyte & | motA, | ||
| sbyte & | motB | ||
| ) |
Get the speeds of the motors for a given channel.
| link | the HTIRR port number |
| channel | the channel number (1 to 4) |
| motA | the speed for Motor A (-100 to +100, -128 = brake) |
| motB | the speed for Motor B (-100 to +100, -128 = brake) |
Definition at line 75 of file HTIRR-driver.h.
Array to hold I2C reply data
Definition at line 64 of file HTIRR-driver.h.
Array to hold I2C command data
Definition at line 63 of file HTIRR-driver.h.


Last modified: September 13, 2013
Extrasolar is a game. While Extrasolar ("the Game") and the characters and situations that you encounter within Extrasolar may at times feel very real, they are in fact part of a fictional story. Extrasolar is created and maintained by Lazy 8 Studios™ in San Francisco, California, United States.
By participating in the Game, you are agreeing to these terms. Please read them carefully.
You must be at least 13 years of age to play the Game.
Don't misuse the Game. For example, don't interfere with the Game or try to access it using a method other than the interface that we provide. You may use the Game only as permitted by law, including applicable export and re-export control laws and regulations. We reserve the right to suspend or stop providing access to the Game at any time, even if you have a paid account.
Participating in the Game does not give you ownership of any intellectual property rights in the content you access through the Game. You may not use content from the Game unless you are sharing such content via the provided mechanisms. These terms do not grant you the right to use any branding or logos used in the Game. Don't remove, obscure, or alter any legal notices displayed in or along with the Game.
In connection with your use of the Game, we may send you service announcements, administrative messages, and other information. You may opt out of some of those communications.
You will need to create an account in order to use some of the features of the Game. If you learn of any unauthorized use of your password or account, please change your password immediately by visiting the login page and using the password reset link.
We provide the Game using a commercially reasonable level of skill and care and we hope that you will enjoy playing. But there are certain things that we don't promise about the Game.
OTHER THAN AS EXPRESSLY SET OUT IN THESE TERMS, NEITHER LAZY 8 STUDIOS NOR ITS SUPPLIERS OR DISTRIBUTORS MAKE ANY SPECIFIC PROMISES ABOUT THE GAME. FOR EXAMPLE, WE DON'T MAKE ANY COMMITMENTS ABOUT THE CONTENT WITHIN THE GAME OR ITS RELIABILITY OR AVAILABILITY.
WE PROVIDE THE GAME "AS IS".  TO THE EXTENT PERMITTED BY LAW, WE EXCLUDE ALL WARRANTIES.

IN ALL CASES, LAZY 8 STUDIOS, AND ITS SUPPLIERS AND DISTRIBUTORS, WILL NOT BE LIABLE FOR ANY LOSS OR DAMAGE THAT IS NOT REASONABLY FORESEEABLE.
We may modify these terms or any additional terms that apply to the Game to, for example, reflect changes to the law or changes to the Game. You should look at the terms regularly. We'll post notice of modifications to these terms on this page. If you do not agree to the modified terms for the Game, you should discontinue your use.
These terms control the relationship between Lazy 8 Studios and you. They do not create any third party beneficiary rights.
If you do not comply with these terms, and we don't take action right away, this doesn't mean that we are giving up any rights that we may have (such as taking action in the future).
If it turns out that a particular term is not enforceable, this will not affect any other terms.
The laws of California, U.S.A., excluding California's conflict of laws rules, will apply to any disputes arising out of or relating to these terms or use of the Game. All claims arising out of or relating to these terms or the Game will be litigated exclusively in the federal or state courts of San Francisco County, California, USA, and you and Lazy 8 Studios consent to personal jurisdiction in those courts.
For information about how to contact Lazy 8 Studios, please visit our contact page at www.lazy8studios.com/contact.


Improve this Doc
_For more in depth information on navigation, see the [Nav API reference](../api/components/nav/Nav)._
Navigation is how users move between different pages in your app. Ionic's navigation follows standard native animation conceps, like [those in iOS](https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/Navigation.html).
Like native apps, URLs are not required for navigation.  URLs can be used to link back to unique, important parts of your app ("deeplinking") but don't define navigation as your app runs.
There are several ways to navigate throughout an Ionic app:
Basic Navigation
Demo Source
The simplest way to navigate throughout your app is to create and initialize a new navigation controller, using [``](../api/components/nav/Nav/):
```typescript
import {StartPage} from 'start'
@App({
template: ''
})
class MyApp {
constructor(){
// First page to push onto the stack
this.rootPage = StartPage;
}
}
```
You can access the navigation controller you create by injecting it into any of your Pages:
```typescript
@Page({
template: `
LoginHello World`
})
export class StartPage {
constructor(nav: NavController){
this.nav = nav;
}
}
```
To navigate from one page to another simply push or pop a new page onto the stack:
```typescript
@Page({
template: `
Login`
})
export class StartPage {
constructor(nav: NavController) {
this.nav = nav;
}
goToOtherPage(){
//push another page onto the history stack
//causing the nav controller to animate the new page in
this.nav.push(OtherPage);
}
}
@Page({
template: `
Other PageI'm the other page!`
})
class OtherPage {}
```
If your page has an [``](../api/components/nav-bar/NavBar/), a back button will automatically be added to it if it is not a root page.
Alternatively, if you want to go back, but don't have a NavBar, you can pop the current page off the stack:
```typescript
@Page({
template: `
`
})
class OtherPage {
constructor(nav: NavController) {
this.nav = nav;
}
goBack() {
this.nav.pop();
}
}
```
For more information on navigation controllers, check out the [Nav API reference](../api/components/nav/Nav/).
But what if you have several "root" or "top-level" pages that don't have a parent-child relationship, but rather are siblings? You have two options: [Tabs](#tabs) and [Menu](#menu).


Cleveland Clinic in Cleveland, Ohio is ranked No. 2 on the Best Hospitals Honor Roll. It is nationally ranked in 14 adult and 9 pediatric specialties and rated high performing in 1 adult specialty and 8 procedures and conditions. It is a general medical and surgical facility. It scored high in patient safety, demonstrating commitment to reducing accidents and medical mistakes. It is a teaching hospital.
To help patients decide where to receive care, U.S. News evaluates data on nearly 5,000 hospitals in 16 adult specialties, 9 adult procedures and conditions and 10 pediatric specialties. To be nationally ranked in a specialty, a hospital must excel in caring for the sickest, most medically complex patients. The ratings in procedures and conditions, by contrast, focus on typical Medicare patients. Hospitals that do well in multiple areas of adult care may be ranked in their state and metropolitan area. Cleveland Clinic is ranked nationally in 14 adult specialties and 9 children's specialties . It also achieved the highest rating possible in 8 procedures or conditions. Read more about how we rank best hospitals.
Adult Specialties Rankings and Ratings
U.S. News evaluates each hospital in up to 16 medical specialties. In most specialties, the top 50 hospitals nationally are numerically ranked.
Hospitals that nearly made the top 50 may be recognized as high performing.
Cancer
Cardiology & Heart Surgery
Diabetes & Endocrinology
Ear, Nose & Throat
Gastroenterology & GI Surgery
Geriatrics
Gynecology
Nephrology
Neurology & Neurosurgery
Ophthalmology
Orthopedics
Pulmonology
Rheumatology
Urology
#7
#1
#3
#5
#2
#7
#1
#5
#2
#1
#3
#5
High Performing
70.7/100
65.7/100
40.9/100
70.7/100
70.7/100
70.7/100
70.7/100
70.7/100
65.7/100
40.9/100
70.7/100
70.7/100
70.7/100
70.7/100


It is a collection of html documents. The links between pages make it web like. Major pieces include your computer, the internet, and servers.
Request through the internet use a protocol called http & servers are computers designed for file storage.
Text content is what your see, markup is what it looks like, references link to other documents and link to other pages.
Html markup contains elements that contain the opening tags and closing tags. In between these tags are the content. These tags are the basis of the html markup language.
html attributes allow you to assign properties to html elements. For instance: "a href" is where a is an anchor tag and href is the attribute. The popular image element uses the attribute src to link images in web pages.
White space is critical for a properly designed webpage. Since Html will line up one element after another, a proper web designer must use white space to break up elements so the page is readable and aesthetically pleasant. A great video on the importance of whitespace can be seen here: Whitespace
Both Span and Div are elements used to produce whitespace. Span is an inline element, while Div is a block element.


Esteem spirit temper too say adieus who direct esteem. It esteems luckily or picture placing drawing.
Learn MoreEsteem spirit temper too say adieus who direct esteem. It esteems luckily or picture placing drawing.
Learn MoreEsteem spirit temper too say adieus who direct esteem. It esteems luckily or picture placing drawing.
Learn MoreA small river named Duden flows by their place and supplies
A small river named Duden flows by their place and supplies
A small river named Duden flows by their place and supplies
A small river named Duden flows by their place and supplies
A small river named Duden flows by their place and supplies
Separated they live in. A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country
Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts.
Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts.
Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts.
Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts.


Zomato Scrape Dashboard
Country
{country_count}
City
{city_count}
Cities Crawled
{crawled_city_count}
Listings
{listing_count}
{cities_crawled_percentage}%
Cities
{listings_pages_percentage}%
Listing Pages
{restaurants_percentage}%
Restaurants


Permuting a single dimension (column) of a hypercube. More...
#include <permutations.h>
Public Member Functions | |
| ColPerm (const CubeSignature &_sig) | |
| long | getPermDim () const |
| void | setPermDim (long _dim) |
| void | makeExplicit (Permut &out) const |
| long | getShiftAmounts (Permut &out) const |
| void | getBenesShiftAmounts (NTL::Vec< Permut > &out, NTL::Vec< bool > &idID, const NTL::Vec< long > &benesLvls) const |
| void | printout (std::ostream &s) |
| A test/debugging method. More... | |
| Public Member Functions inherited from helib::HyperCube< long > | |
| HyperCube (const HyperCube &other)=default | |
| HyperCube (const CubeSignature &_sig) | |
| initialize a HyperCube with a CubeSignature More... | |
| HyperCube & | operator= (const HyperCube< long > &other) |
| assignment: signatures must be the same More... | |
| bool | operator== (const HyperCube< long > &other) const |
| equality testing: signatures must be the same More... | |
| bool | operator!= (const HyperCube< long > &other) const |
| const CubeSignature & | getSig () const |
| const ref to signature More... | |
| NTL::Vec< long > & | getData () |
| const NTL::Vec< long > & | getData () const |
| read-only ref to data vector More... | |
| long | getSize () const |
| total size of cube More... | |
| long | getNumDims () const |
| number of dimensions More... | |
| long | getDim (long d) const |
| size of dimension d More... | |
| long | getProd (long d) const |
| product of sizes of dimensions d, d+1, ... More... | |
| long | getProd (long from, long to) const |
| product of sizes of dimensions from, from+1, ..., to-1 More... | |
| long | getCoord (long i, long d) const |
| get coordinate in dimension d of index i More... | |
| long | addCoord (long i, long d, long offset) const |
| add offset to coordinate in dimension d of index i More... | |
| long | numSlices (long d=1) const |
| number of slices More... | |
| long | sliceSize (long d=1) const |
| size of one slice More... | |
| long | numCols () const |
| number of columns More... | |
| long & | at (long i) |
| reference to element at position i, with bounds check More... | |
| const long & | at (long i) const |
| read-only reference to element at position i, with bounds check More... | |
| long & | operator[] (long i) |
| reference to element at position i, without bounds check More... | |
| const long & | operator[] (long i) const |
| read-only reference to element at position i, without bounds check More... | |
| void | rotate1D (long i, long k) |
| rotate k positions along the i'th dimension More... | |
| void | shift1D (long i, long k) |
| Shift k positions along the i'th dimension with zero fill. More... | |
Detailed Description
Permuting a single dimension (column) of a hypercube.
ColPerm is derived from a HyperCube<long>, and it uses the cube object to store the actual permutation data. The interpretation of this data, however, depends on the data member dim.
The cube is partitioned into columns of size n = getDim(dim): a single column consists of the n entries whose indices i have the same coordinates in all dimensions other than dim. The entries in any such column form a permutation on [0..n).
For a given ColPerm perm, one way to access each column is as follows: for slice_index = [0..perm.getProd(0, dim)) CubeSlice slice(perm, slice_index, dim) for col_index = [0..perm.getProd(dim+1)) getHyperColumn(column, slice, col_index)
Another way is to use the getCoord and addCoord methods.
For example, permuting a 2x3x2 cube along dim=1 (the 2nd dimension), we could have the data std::vector as [ 1 1 0 2 2 0 2 0 1 1 0 2 ]. This means the four columns are permuted by the permutations [ 1 0 2 ] [ 1 2 0 ] [ 2 1 0 ] [ 0 1 2 ]. Written explicitly, we get: [ 2 3 0 5 4 1 10 7 8 9 6 11 ].
Another representation that we provide is by "shift amount": how many slots each element needs to move inside its small permutation. For the example above, this will be: [ 1 -1 0 ] [ 2 -1 -1 ] [ 2 0 -2 ] [ 0 0 0 ] so we write the permutation as [ 1 1 -1 1 0 -2 2 0 0 0 -2 0 ].
Constructor & Destructor Documentation
◆ ColPerm()
|
inlineexplicit |
Member Function Documentation
◆ getBenesShiftAmounts()
| void helib::ColPerm::getBenesShiftAmounts | ( | NTL::Vec< Permut > & | out, |
| NTL::Vec< bool > & | idID, | ||
| const NTL::Vec< long > & | benesLvls | ||
| ) | const |
Get multiple layers of a Benes permutation network. Returns in out[i][j] the shift amount to move item j in the i'th layer. Also isID[i]=true if the i'th layer is the identity (i.e., contains only 0 shift amounts).
◆ getPermDim()
|
inline |
◆ getShiftAmounts()
| long helib::ColPerm::getShiftAmounts | ( | Permut & | out | ) | const |
For each position in the data std::vector, compute how many slots it should be shifted inside its small permutation. Returns zero if all the shift amounts are zero, nonzero values otherwise.
◆ makeExplicit()
| void helib::ColPerm::makeExplicit | ( | Permut & | out | ) | const |
◆ printout()
|
inline |
A test/debugging method.
◆ setPermDim()
|
inline |
The documentation for this class was generated from the following files:
- /HElib/include/helib/permutations.h
- /HElib/src/permutations.cpp


PHOTOS: See What Yahaya Bello Is Doing As INEC Announces Kogi Election Results
by George OgboluGovernor Yahaya Bello of Kogi State was on Sunday pictured enjoying a cup of tea along with his aides in Lokoja, the state capital.
Naija News reports that the Independent National Electoral Commission (INEC) yesterday, Saturday, held the Kogi State Governorship Election.
Kogi people voted from a list of 23 political parties and in the governorship election which was marred by violence on Saturday.
This online news platform understands that Governor Bello is winning in some part of the country. Wada is winning also in some places where elections took place.


{% load staticfiles %} {% load leaflet_tags %}
Government of Nepal
Ministry of Land Reform and Management
Survey Department
Survey Office, Kalikot
Tags: Department Office Ministry Government | Admin
Developed By; Er. Janak Parajuli, Survey Officer Kalikot Survey Office


|
Parker DAGD 340
0.1
Product Showcase being built for Parker Pneumatics
|
The CamPan (Camera Pan) Script Houses the code responsible for moving the camera between preset points. Point1: Prior Position Point2: Target Position More...
Public Member Functions | |
| void | setTarget (int stationNum) |
| SetTarget: This function takes a target and will then immediately execute a camera transition as soon as it has been triggered. More... | |
| void | panCam () |
| Resets the "lerp" code so the transition will start over from the current position. More... | |
Public Attributes | |
| GameObject | camPos1 |
| Target lerp position for station 1. More... | |
| GameObject | camPos2 |
| Target lerp position for station 2. More... | |
| GameObject | camPos3 |
| Target lerp position for station 3. More... | |
| GameObject | camPos4 |
| Target lerp position for station 4. More... | |
| GameObject | camPos5 |
| Target lerp position for station 5. More... | |
| GameObject | camPos6 |
| Target lerp position for station 6. More... | |
| GameObject | camPos7 |
| Target lerp position for station 7. More... | |
| GameObject | camPosSky |
| Target lerp position for Skyview. More... | |
| GameObject | camPosHMI |
| Target lerp position for HMI. More... | |
The CamPan (Camera Pan) Script Houses the code responsible for moving the camera between preset points. Point1: Prior Position Point2: Target Position
| void Gardei_CamPan.panCam | ( | ) |
Resets the "lerp" code so the transition will start over from the current position.
| void Gardei_CamPan.setTarget | ( | int | stationNum | ) |
SetTarget: This function takes a target and will then immediately execute a camera transition as soon as it has been triggered.
| stationNum | integer that will tell the camera which preset position it needs to go to. |
| GameObject Gardei_CamPan.camPos1 |
Target lerp position for station 1.
| GameObject Gardei_CamPan.camPos2 |
Target lerp position for station 2.
| GameObject Gardei_CamPan.camPos3 |
Target lerp position for station 3.
| GameObject Gardei_CamPan.camPos4 |
Target lerp position for station 4.
| GameObject Gardei_CamPan.camPos5 |
Target lerp position for station 5.
| GameObject Gardei_CamPan.camPos6 |
Target lerp position for station 6.
| GameObject Gardei_CamPan.camPos7 |
Target lerp position for station 7.
| GameObject Gardei_CamPan.camPosHMI |
Target lerp position for HMI.
| GameObject Gardei_CamPan.camPosSky |
Target lerp position for Skyview.


moro
Track work time.
More information: home page
- Invoke `moro` without parameters, to set the current time as the start of the working day:
moro
- Specify a custom time for the start of the working day:
moro hi 09:30
- Invoke `moro` without parameters a second time, to set the current time at the end of the working day:
moro
- Specify a custom time for the end of the working day:
moro bye 17:30
- Add a note on the current working day:
moro note 3 hours on project Foo
- Show a report of time logs and notes for the current working day:
moro report
- Show a report of time logs and notes for all working days on record:
moro report --all


See the Pen 2.0 chatbot Luke Sirand by Luke Sirand (@lukesirand) on CodePen.
See the Pen SQuare ONe by Luke Sirand (@lukesirand) on CodePen.
See the Pen CIrcle ONe by Luke Sirand (@lukesirand) on CodePen.
See the Pen trig ting by Luke Sirand (@lukesirand) on CodePen.
See the Pen bouncy by Luke Sirand (@lukesirand) on CodePen.
See the Pen free choice by Luke Sirand (@lukesirand) on CodePen.
Luke Sirand 2016
Los Angeles, California


| Home | Trees | Indices | Help |
|---|
|
|
object --+ | nuclearWavefunction --+ | ZeroNuclearWavefunction
A Function which knows it's zero and can thus save some time for computations
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
Inherited from Inherited from |
|
|||
|
Inherited from |
|
x.__init__(...) initializes x; see help(type(x)) for signature
|
both must be in position space
|
both must be in position space
|
both must be in position space
|
|
|
Define k-space from x-space
|
Define x-space from k-space
|
Re-Defines the Function to its complex Conjugate in position space
|
Returns new object which is the Complex Conjugate of the current
|
Takes this wavefunction as the bra, the other as the ket and integrates
|
| Home | Trees | Indices | Help |
|---|
| Generated by Epydoc 3.0.1 on Tue Apr 4 16:08:57 2017 | http://epydoc.sourceforge.net |


It’s been a fine week of great, diverse contributions here at Utopian. We’ve had outstanding contributions in the Development, Graphics, Translations, Tutorials, Anti-abuse, and Blog categories.
Staff Picks
Introducing the steeminvite project to utopian by @pharesim [development]
Steeminvite is a tool for securely onboarding new users by adding support for claiming account tokens and creating invitation links. One of the biggest problems of the Steem blockchain has been the long wait when creating a new account. With this project, users now have an easy way to claim and create accounts for others without exposing the private keys or password of said account to anyone except the person you are creating it for!
Total payout: 153.54 STU Number of votes: 234
Steem Messenger V0.0.6 : SafeStorage, SafeSocket, last update before release ! (and many more) by @kingswisdom [development]
Steem Messenger aims to be the ultimate chat application for the Steem blockchain, and with this update they are definitely one step closer to accomplishing this! In this update @kingswisdom heavily focused on the security aspects of the application, which is of course very important. Improved socket handling, safer storage of your keys and discrete double authentication are just some of the great features that were added in this huge update - go check it out and contribute!
Total payout: 121.14 STU Number of votes: 275
UI/UX, branding and logo Design for European Financial Transparency Gateway (EFTG) by @outwork [graphics]
.jpg)
The EFTG Pilot Project is a initiative by the European Financial Transparency Gateway which aims to greatly increase the transparency of capital markets using Steem technology. They have contacted Utopian to help them with logo design, visual identity, and optional UI concept. @Outwork delivered beyond expectations. He even made a simple, clickable, prototype to help developers. The very well done brand guidelines allow anyone to quickly pick the colors, text size, or graphic elements.
Total payout: 102.02 STU Number of votes: 65
The Curious Expedition - Greek Translation Part. 37 by @trumpman [translations]
The translator was able to adapt the English text into Greek with precision. This is a perfect translation, where no grammar or syntax mistakes were made. It is obvious that the translator is having fun with this project while doing high quality work. The translator even explained the process of his translation work, in great detail.
Total payout: 5.23 STU Number of votes: 168
Writing a simple Compiler on my own - Finishing Off The Grammar/Parser (part 2) [C][Flex][Bison] by @drifter1 [tutorials]
Continuing his prior work building up the compiler, @drifter1 provides a well-crafted tutorial that takes the readers onto finalizing the grammar parser part for a C compiler. With excellent visualizations, detailed code and explanation, we can’t but wait in anticipation for further tutorials in this series.
Total payout: 5.47 STU Number of votes: 95
CM Report in Translation - Interviews with our Language Moderators by @rosatravels [blog]
The #iamutopian posts have been a great addition to our Blog category in the past few weeks, and @rosatravels has been the clear MVP of the category. Her posts reflect research and serious thoughts, and now show some wonderful communications with the rest of the Translations category. She has also been working on her writing in English, and it really shows. This post highlights some of our Language Moderators, and let us all know them a bit better.
Total payout: 72.70 STU Number of votes: 82
Spam: Eat It Or Clean It Up With Me? by @lovenfreedom [anti-abuse]
Spam, along with many other types of abuse, is prevalent on the platform. If you’re looking for other ways to determine what spam is, @lovenfreedom’s contribution clearly defines spam on Steem dApps. Her post is another example for whitelisted authors to check out for the abuse category. Speaking of Whitelisted anti-abuse contributors: The Anti-abuse category trial is only a month. We need your excellent contributions. Now is the time to write your posts. We have a little more than 3 weeks left.
Total payout: 12.69 STU Number of votes: 148
Utopian.io Post Statistics
The staff picked contributions are only a small (but exceptional) example of the mass of contributions reviewed and rewarded by Utopian.io.
- Overall, the last week saw a total of 270 posts, with 247 of them rewarded through an upvote by @utopian-io.
- In total, Utopian.io distributed an approximate of 5197.56 STU to contributors.
- The highest payout seen on any Utopian.io contribution this week was 243.569 STU, with a total of 277 votes received from the community.
- The contribution that attracted the most engagement was Managing particle physics model information in Python, with no less than 10 comments in its comment threads.
- The average vote given by Utopian.io was worth 64.97 STU.
Category Statistics
|Category|Reviewed|Rewarded|Total rewards|Top contributor| |:-|:-|:-|-:|:-| |graphics|20|20|442.64 STU|@zularizal| |tutorials|26|23|140.09 STU|@anonym0us| |translations|112|109|2236.81 STU|@yasminafly| |copywriting|6|6|175.15 STU|@harry-heightz| |development|46|41|1033.68 STU|@dapeng| |analysis|5|5|84.09 STU|@paulag| |documentation|5|5|112.65 STU|@cryptoctopus| |ideas|8|3|31.71 STU|@ckole| |iamutopian|8|8|355.11 STU|@rosatravels| |anti-abuse|3|3|182.18 STU|@anthonyadavisii| |blog|21|16|395.34 STU|@actifit| |social|3|3|0.00 STU|@jingis07| |video-tutorials|1|1|0.00 STU|@dlux-io|
Join the community on Discord: https://discord.gg/azdmM3v
First Time Contributing in Utopian.io?
Learn how to contribute on our website
This page is synchronized from the post: Top of Utopian.io: October 10 - October 17


|
O2 2.0
A communication protocol for interactive music and media applications.
|
Public Member Functions | |
| Osc_info (const char *key, int port_, Fds_info *info, int tag) | |
| bool | local_is_synchronized () |
| bool | schedule_before_send () |
| O2err | accepted (Fds_info *conn) |
| O2err | connected () |
| O2err | deliver (O2netmsg_ptr msg) |
| void | show (int indent) |
| O2status | status (const char **process) |
| O2err | msg_data_to_osc_data (o2_msg_data_ptr msg, O2time min_time) |
| O2err | send (bool block) |
| Public Member Functions inherited from Proxy_info | |
| Proxy_info (const char *key, int tag) | |
| virtual void | remove () |
| void | delete_fds_info () |
| O2message_ptr | pre_send (int *tcp_flag) |
| void | co_info (Fds_info *fds_info, const char *msg) |
| Public Member Functions inherited from O2node | |
| O2node (const char *key_, int tag_) | |
| virtual const char * | get_proc_name () |
| Public Member Functions inherited from O2obj | |
| void * | operator new (size_t size) |
| void | operator delete (void *ptr) |
| Public Member Functions inherited from Net_interface | |
| virtual O2err | writeable () |
Public Attributes | |
| Net_address | udp_address |
| int | port |
| Public Attributes inherited from O2node | |
| int | tag |
| O2string | key |
| O2node * | next |
| Public Attributes inherited from Net_interface | |
| Fds_info * | fds_info |
Implements Net_interface.
|
virtual |
Reimplemented from Net_interface.
|
virtual |
Reimplemented from Proxy_info.
|
inlinevirtual |
Reimplemented from Proxy_info.
|
virtual |
Reimplemented from Proxy_info.
|
virtual |
Reimplemented from Proxy_info.
|
virtual |
Reimplemented from O2node.


This is where I plan to flex my web
development skills and test out new code.
Eventually I plan on having several pages for various projects that I
have made online with this acting as a hub/portfolio for all of them.
My current projects are
Japanese Days of the Week Quiz
My Madlibs ripoff
CarpetSavers Site
Anon comment page


{% extends "layout.html" %} {% block meta %} {% endblock %} {% block body %} Back to project
You can invite the following people to this project:
Send this link to give full access


class Sass::Script::Tree::Node
The abstract superclass for SassScript parse tree nodes.
Use {#perform} to evaluate a parse tree.
Attributes
The file name of the document on which this node appeared.
@return [String]
The line of the document on which this node appeared.
@return [Fixnum]
The options hash for this node.
@return [{Symbol => Object}]
The source range in the document on which this node appeared.
@return [Sass::Source::Range]
Public Instance Methods
Returns all child nodes of this node.
@return [Array<Node>]
# File lib/sass/script/tree/node.rb, line 59 def children Sass::Util.abstract(self) end
Returns a deep clone of this node. The child nodes are cloned, but options are not.
@return [Node]
# File lib/sass/script/tree/node.rb, line 74 def deep_copy Sass::Util.abstract(self) end
Sets the options hash for this node, as well as for all child nodes. See {file:SASS_REFERENCE.md#sass_options the Sass options documentation}.
@param options [{Symbol => Object}] The options
# File lib/sass/script/tree/node.rb, line 31 def options=(options) @options = options children.each do |c| if c.is_a? Hash c.values.each {|v| v.options = options} else c.options = options end end end
Evaluates the node.
{#perform} shouldn’t be overridden directly; instead, override {#_perform}.
@param environment [Sass::Environment] The environment in which to evaluate the SassScript @return [Sass::Script::Value] The SassScript object that is the value of the SassScript
# File lib/sass/script/tree/node.rb, line 49 def perform(environment) _perform(environment) rescue Sass::SyntaxError => e e.modify_backtrace(:line => line) raise e end
Returns the text of this SassScript expression.
@return [String]
# File lib/sass/script/tree/node.rb, line 66 def to_sass(opts = {}) Sass::Util.abstract(self) end
Protected Instance Methods
Evaluates this node. Note that all {Sass::Script::Value} objects created within this method should have their {#options} attribute set, probably via {#opts}.
@param environment [Sass::Environment] The environment in which to evaluate the SassScript @return [Sass::Script::Value] The SassScript object that is the value of the SassScript @see perform
# File lib/sass/script/tree/node.rb, line 96 def _perform(environment) Sass::Util.abstract(self) end
Converts underscores to dashes if the :dasherize option is set.
# File lib/sass/script/tree/node.rb, line 81 def dasherize(s, opts) if opts[:dasherize] s.gsub(/_/, '-') else s end end
Sets the {#options} field on the given value and returns it.
@param value [Sass::Script::Value] @return [Sass::Script::Value]
# File lib/sass/script/tree/node.rb, line 104 def opts(value) value.options = options value end


| Active Adult Center | Dog Park | Library | Neighborhood Center |
| Arts Center | Environmental Center | Mini Train | Sand Volleyball |
| Ballfield | Fishing Access | Multiuse Field | Skate Park |
| Boat Rental | Greenway Access | Museum | Teen Center |
| Bocce | Gym | Outdoor Basketball | Tennis Court |
| BMX Track | Handball | Picnic Shelter | Theater |
| Canoe Launch | Horseshoe Pit | Playground | Track |
| Carousel | Inline Hockey | Pool | Walking Trail |
| Disc Golf | Kiddie Boats | Recreation Center | Unique Space |


Who are PPL PWR?
-
In a sentence...

-
In a paragraph...
PPL PWR is a collective of university graduates and students celebrating their research in the area of sustainable technology and innovation. The aim of the collective is to inform and inspire people to engage with this research and create a space for both individuals and groups to share knowledge with each other. We also provide opportunities for those involved to demonstrate and educate the public in a fun and engaging manner at festivals, workshops and in schools. We hope to create a greener world through the power of knowledge.
-
What do we do?
We aim to engage and educate the general public about sustainable research and innovations, specifically but not exclusively those in our collective. The PPL PWR team brings a wide range of ideas, and experience to each event and aim to actively engage with adults and children about everything(!) sustainable. The team consists of experienced researchers, budding entrepreneurs and creative designers with a unique combined outlook on environmental issues, policy and technology. The combined backgrounds of PPL PWR members include several public lectures, music festival demonstrations, school visits, comedy shows and much more.
-
Our purpose
That all people have access to knowledge about sustainable ideas and technologies, and that they are empowered and able to use them to make a greener and happier world.
-
Our mission
Sharing our expertise and inspiring people through hands-on workshops, building installations and creating spaces for public events.
-
Our values
Sharing - Knowledge, contacts, partnerships, mindset.
Collaboration among - Volunteers, Charities, Schools, Companies and Research Groups
Empowerment – Giving people opportunities, decentralizing power, distributing “goods”
Building a community – a sense of belonging, local knowledge and opportunities, purposed-based.
Transparency – Documents and decisions visible to everyone.
An open mind and will - versatility in adaptation to new ideas/resources/findings.
Celebration – Enjoy, relate, have fun.


SceneJS - scene with transparent canvas
This technique, in which we layer a transparent canvas over a div containing an image, is faster
than creating the background in the 3D scene because it avoids having to render fragments
via the GPU for the background, ie. avoids all those background pixels going down the GPU pipeline.
Note that since we didn't specify a canvas ID for the scene, the scene creates one automatically.


Enumerable Methods
11 October 2015
This week I did a lot of work with Enumerable#map. Here is what the ruby docs say about it:
An enumerable is how Ruby is able to get elements out of a collection, one at a time. Before we go into explaining .map lets go over some other enumerators that are common in Ruby. The most common in Ruby would be each. Take a look at the example below:
enumerator = [2, 4, 12]
enumerator.each { |i| puts i + 1 }
This creates an array with the values 2, 4, and 12. The Enumerator#each runs through each individual element in the array one at a time and evaluates the code block. i in this case is just a placeholder for each element individually and the block of code is whats to be executed on the element, in this case puts i + 1.
The map method takes an enumberable ojbect and a block and runs the block for each element, outputting each returned value from the block. This is a non-destructive method unless the map! is used.
[1, 2, 3, 4].map { |i| i * i } #=> [1, 4, 9, 16]
map with a block returns an Array. Why would we use map over each? One example would be:
schools = [harvard, princeton, yale]
names.map! { |i| i.capitalize }
names.each { |i| puts i + ' is an okay school to go to.' }
The output from the following would be:
Harvard is an okay school to go to.
Princeton is an okay school to go to.
Yale is an okay school to go to.
In the example above map! is converting each element by a rule and each we are just doing something with each element.


8.8. Additional Examples8.8.1. Adding Width and Height Attributes to Image TagsThis section presents a somewhat advanced example of in-place search and replace that updates HTML to ensure that all image tags have both WIDTH and HEIGHT attributes. (The HTML must be in a StringBuilder, StringBuffer, or other writable CharSequence.) Having even one image on a web page without both size attributes can make the page appear to load slowly, since the browser must actually fetch such images before it can position items on the page. Having the size within the HTML itself means that the text and other content can be properly positioned immediately, which makes the page-loading experience seem faster to the user.[]
When an image tag is found, the program looks within the tag for SRC, WIDTH, and HEIGHT attributes, extracting their values when present. If either the WIDTH or the HEIGHT is missing, the image is fetched to determine its size, which is then used to construct the missing attribute(s). If neither the WIDTH nor HEIGHT are present in the original tag, the image's true size is used in creating both attributes. However, if one of the size attributes is already present in the tag, only the other is inserted, with a value that maintains the image's proper aspect ratio. (For example, if a WIDTH that's half the true size of the image is present in the HTML, the added HEIGHT attribute will be half the true height; this solution mimics how modern browsers deal with this situation.) This example manually maintains a match pointer, as we did in the section starting on page 383. It makes use of regions (☞ 384) and method chaining (☞ 389) as well. Here's the code: // Matcher for isolating <img> tags Matcher mImg = Pattern.compile("(?id)<IMG\\s+(.*?)/?>").matcher (html); // Matchers that isolate the SRC, WIDTH, and HEIGHT attributes within a tag (with very naïve regexes) Matcher mSrc = Pattern.compile("(?ix)\\bSRC =(\\S+)").matcher( html); Matcher mWidth = Pattern.compile("(?ix)\\bWIDTH =(\\S+)").matcher( html); Matcher mHeight = Pattern.compile("(?ix)\\bHEIGHT=(\\S+)").matcher( html); int imgMatchPointer = 0; // The first search begins at the start of the string while (mImg.find(imgMatchPointer)) { imgMatchPointer = mImg.end(); // Next image search starts from where this one ended // Look for our attributes within the body of the just-found image tag Boolean hasSrc = mSrc.region( mImg.start(1), mImg.end(1) ).find(); Boolean hasHeight = mHeight.region( mImg.start(1), mImg.end(1) ) .find(); Boolean hasWidth = mWidth.region( mImg.start(1), mImg.end(1) ).find(); // If we have a SRC attribute, but are missing WIDTH and/or HEIGHT ... if ( hasSrc && (! hasWidth || ! hasHeight)) { java.awt.image.BufferedImage i = // this fetches the image javax.imageio.ImageIO.read(new java.net.URL(mSrc.group(1))); String size; // Will hold the missing WIDTH and/or HEIGHT attributes if (hasWidth) // We're told the width, so compute the height that maintains the proper aspect ratio size = "height='" + (int)(Integer.parseInt(mWidth.group(1)) * i.getHeight() / i.getWidth()) + "' "; else if (hasHeight) // We're told the height, so compute the width that maintains the proper aspect ratio size = "width='" + (int)(Integer.parseInt(mHeight.group(1)) * i.getWidth() / i.getHeight()) + "' "; else // We're told neither, so just insert the actual size size = "width='" + i.getWidth() + "' " + "height='" + i.getHeight() + "' "; html.insert(mImg.start(1), size); // Update the HTML in place imgMatchPointer += size.length(); // Account for the new text in mImg's eyes } } Although it's an instructive example, a few disclaimers are in order. Because the focus of the example is on in-place search and replace, I've kept some unrelated aspects of it simple by allowing it to make fairly naïve assumptions about the HTML it will be passed. For example, the regular expressions don't allow whitespace around the attribute's equal sign, nor quotes around the attribute's value. (See the Perl regex on page 202 for a real-world, Java-applicable approach to matching a tag attribute.) The program doesn't handle relative URLs, nor any ill-formatted URLs for that matter, as it doesn't handle any of the exceptions that the image-fetching code might throw. Still, it's an interesting example illustrating a number of important concepts. |


Hello IBM Retail!
Thanks for creating a
NodeJS Starter Application
.
Watson Visual Recognition output
Click on the image to see json result
Image sent
JSON Result


Decay Of Logos' Delayed Switch Launch Date Revealed, New Trailer Released
Grab it later this month
by Ryan CraddockEarlier this year, it was revealed that Decay of Logos would be delayed on Nintendo Switch. We weren't sure just how long Switch owners were going to be made to wait back then, but a final release date has now been officially confirmed.
Thankfully, you won't have much longer to wait at all, as the game hits the eShop on 28th November. It'll be launching for €19.99 / $19.99, and you can check out some of its gameplay in the brand new trailer shared above. Here's an official description:
Decay of Logos is a story-driven, third-person action/adventure RPG with an emphasis on player exploration with minimal hand-holding and challenging combat. Immerse yourselves in the high-fantasy world of Decay of Logos through the eyes of a young adventurer named Ada, accompanied by a mystical Elk. Both are fatefully brought together the day her village is burned down by Crimson Knights bearing the Royal Crest. Motivated by revenge, she sets out on a journey to unveil the truth behind the attack.
Have you been waiting for more news on this one? Will you be downloading it later this month? Tell us below.


Technlogy leave impact on daily life
Social Media
Robotics
Digital Transformation
Embeded
IT
Hacking
Andriod
Electronics


This box is horizontally centered by setting its right and left margin widths to "auto". This is the preferred way to accomplish horizontal centering with CSS, and works very well in most browsers with CSS2 support. Unfortunately, IE5/Win does not respond to this method - a shortcoming of that browser, not the technique. There is a simple workaround. (A pause while you fight back the nausea induced by that word.) Ready? IE5/Win incorrectly applies the CSS "text-align" attribute to block-level elements. Declaring "text-align:center" for the containing block-level element (often the BODY element) horizontally centers the box in IE5/Win. There is a side effect of this workaround: the CSS "text-align" attribute is inherited, centering inline content. It is often necessary to explicitly set the "text-align" attribute for the centered box, counteracting the effects of the IE5/Win workaround. The relevant CSS follows.


Arbëreshë Albanian¶
This language is spoken in the following countries:
- GR: Greece
- IT: Italy
ISO_639-3: aae
alternate_names:
- Arbëreshë
- Molise Albanian
anglicanized_name: Albanian, Arbëreshë
country_codes:
- GR
- IT
gateway_language: en
lang_code: aae
lang_direction: ltr
lang_name: Arbëreshë Albanian
lang_region: Europe


Week Three
Proposal Sketches
I got 2 ideas at this point for this project. The way I started was I thought about what I use to tell the time besides a clock.
My first thought was my mom calling. As the day goes on she calls me more often which I connect to the time. For example; she would call at around 1 pm, then again at around 4 pm, then again at around 6 pm, then at 8 pm, then 9 pm, after that she'll most likely call every 30/40 mins until I go to bed.
So my proposal for this would be a phone that "rings" more often as the day goes on.
The second idea I had for this was jeans.
The way your jeans fit in the morning vs the evening. In the morning your jeans tend to fit tighter and be more fitted, then as the day goes on it become looser and baggier.
Back to Villa Savoye


movies
#
Title
Director
Actions
{{movie.id}}
{{movie.title}}
{{movie.director}}
Edit
Delete
Update movie
Save New movie
Cancel
Here's a list of all your movies.
Add a new one?
{{ $data | json }}