WKTLineM Class Reference
| Inherits from | WKTGeometry : NSObject |
|---|---|
| Declared in | WKTLineM.h |
Overview
This class represent Multi Line Geometry on WKT Format.
Multi WKT Line really is WKTLine grouped at NSArray.
Its String representation are:
2D Representation: MULTILINESTRING ((10 10, 20 20, 10 40))
3D Representation: MULTILINESTRINGZ ((10 10 5, 20 20 0, 10 40 40))
At 3D representation may be MULTIPOLYGON Z too.
Example of use:
WKTPoint *p1 = [[WKTPoint alloc] initWithDimensionX:5.0 andDimensionY:10.0];
WKTPoint *p2 = [[WKTPoint alloc] initWithDimensionX:10.0 andDimensionY:10.0];
WKTLine *mLine1 = [[WKTLine alloc] initWithPoints:@[p1, p2]];
WKTPoint *p3 = [[WKTPoint alloc] initWithDimensionX:5.0 andDimensionY:10.0];
WKTPoint *p4 = [[WKTPoint alloc] initWithDimensionX:10.0 andDimensionY:10.0];
WKTLine *mLine2 = [[WKTLine alloc] initWithPoints:@[p3, p4]];
WKTLineM *mLine = [[WKTLineM alloc] initWithLines:@[mLine1, mLine2]];
Example of MapKit Polygon creation:
NSArray *mapLines = [mLine toMapMultiLine];
MKMapView *map = [[MKMapView alloc] init];
for(MKPolyline *i in mapLines)
{
[map addOverlay: i];
}
Example of WKT representation:
NSString *wktString = [mLine toWKT];
NSLog(@"WKT: %@", wktString);
> WKT: MULTILINESTRING ((5 10, 10 10), (5 10, 10 10))
Constructor
– init
Basic Constructor that set default values to new instance.
- (instancetype)init
Return Value
WKTLineM instance
Declared In
WKTLineM.h
– initWithLines:
Complex Constructor that set default values and polygons to new instance.
- (instancetype)initWithLines:(NSArray *)lines
Parameters
lines |
List of WKTLine |
|---|
Return Value
WKTLineM instance
Discussion
This method is the same that init join setListLines:
Declared In
WKTLineM.h
Internal operations
– setListLines:
Set and check Polyline List internal property.
- (void)setListLines:(NSArray *)lines
Parameters
lines |
List of WKTLine |
|---|
Exceptions
WKTLineM |
Parameter is nil, have a class that it is not Polyline or these classes does not have same dimensions. |
|---|
Declared In
WKTLineM.h
– getListLines
Return Polyline List internal property.
- (NSArray *)getListLines
Return Value
List of WKTLine that its count always will be equal or greater than zero
Discussion
Polyline List internal property never is nil.
Declared In
WKTLineM.h
– removeListLines
Clear Polyline List internal property
- (void)removeListLines
Declared In
WKTLineM.h
WKTLineM operations
– isEqual:
Check if two WKTLineM are equal.
- (BOOL)isEqual:(WKTLineM *)otherLineM
Parameters
otherLineM |
WKTLineM to compare with itself |
|---|
Return Value
Boolean
Declared In
WKTLineM.h
– copyTo:
Pass all properties from itself to other WKTLineM reference.
- (void)copyTo:(WKTLineM *)otherLineM
Parameters
otherLineM |
WKTLineM to pass properties |
|---|
Exceptions
WKTLineM |
Parameter is nil. |
|---|
Declared In
WKTLineM.h
– toWKT
Return WKT representation.
- (NSString *)toWKT
Return Value
String like MULTILINESTRING (( …. )) or MULTILINESTRING EMPTY
Declared In
WKTLineM.h
MapKit operations
– toMapMultiLine
Return MKPolyline List representation.
- (NSArray *)toMapMultiLine
Return Value
MapKit Polyline List for add overlay to map or empty array if there are not valid polylines
Declared In
WKTLineM.h


Mina:
Hmm, how may I help you?
No? Any nasty undead livers? You'll be paid for those, but not much!
Settle up accounts for Undead Livers.
Keep hunting.
Stop hunting (all proofs will be removed from inventory without reward)


Toggle navigation
Roombooking
Submit
User
Personal info
First name:
Last name:
Email:
Password:
Confirm password:
Room is available:
Previous day
Next day


FIDO Debuger
Message
UserId and challenge will be created automatically. You can put your JSON here:
Send Create
Send Get
Response
Client Data
Auth Data


@* * Copyright 2023 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import play.twirl.api.HtmlFormat @this( govukFieldSet: GovukFieldset ) @(key: String, content: Html, hasErrors: Boolean)(implicit messages: UniformMessages[Html]) @isCompoundField= @{ List( "contact-details", "company", "bank-details" ).contains(key) } @headHintAndLegend=@{ import collection.immutable.Seq val headHint = messages.get(s"$key.heading.hint").fold(HtmlFormat.empty) { headHint => Html(s"
") } val title = messages.get(s"$key.heading").getOrElse(HtmlFormat.empty) HtmlContent(HtmlFormat.fill(Seq(headHint, title))) } @if(isCompoundField){ @govukFieldSet(Fieldset( legend = messages.get(s"$key.heading").fold(Option.empty[Legend]){ _ => Some( Legend( content = headHintAndLegend, classes = "govuk-fieldset__legend--l", isPageHeading = true ) ) }, html = content )) } else { @if(messages.get(s"$key.listing.heading").isDefined) { @messages.get(s"$key.heading.hint").map { headHint => }


Getting Started
First install foounit with npm:
$ npm install foounit
Then follow these steps to run tests...
In nodejs
Generate a sample suite in the spec directory:
$ foounit generate --type=node spec
Run the test:
$ node spec/example_spec.js
In the browser
Generate a sample suite in the spec directory:
$ foounit generate --type=browser spec
Start a web server in the directory where the suite was created:
$ foounit-server --spec=spec
Open a web browser at http://localhost:5057/spec/suite.html
Shared client and server code
Generate a sample suite in the spec directory:
$ foounit generate --type=browser,node specfoounit is smart enough to know that when multiple environments are specified that it should create a shared directory for multi-environment testing
Run the tests for each environment by following the directions in the previous steps.
About
foounit is an asynchronous BDD-style javascript test framework aimed at making cross-environment javascript testing simple. foounit is designed to make testing code that is shared between the server and the client less of a chore. It supports both commonjs loading and global scope loading of script files for immediate test dependencies in all environments. Test files are loaded in a functionally scoped environment to help minimize test pollution when running your suite. Test syntax is influenced heavily by Screw Unit, Jasmine and rspec.
foounit is the love child of Bob Remeika (me). It was written out of spite while consuming large amounts of alcohol. If you notice some bad code within foounit, it's definitely due to alcohol abuse. I'm not even going to try to pretend that I *meant* to do that. If you want to help with code quality then patches are accepted.
A common question that I get is why didn't I just use Jasmine. See the FAQ.
foounit is currently used at Yammer Inc. as the primary test harness for a core component of our client/server side architecture called yamjs.
foounit is a Dojo Foundation project and is licensed under the Dojo Foundation License. This basically means that no One Company owns the project and the code is gauranteed to be IP Free (free as in beer). This is another reason why I didn't want to use Jasmine.
This website was created by Heather Phillips (Yammer) and the logo was created by James Kang (Yammer).


|
IM Profile | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.microedition.rms.RecordStore
A class representing a record store. A record store consists of a collection of records which will remain persistent across multiple invocations of the MIDlet. The platform is responsible for making its best effort to maintain the integrity of the MIDlet's record stores throughout the normal use of the platform, including reboots, battery changes, etc.
Record stores are created in platform-dependent locations, which are not exposed to the MIDlets. The naming space for record stores is controlled at the MIDlet suite granularity. MIDlets within a MIDlet suite are allowed to create multiple record stores, as long as they are each given different names. When a MIDlet suite is removed from a platform all the record stores associated with its MIDlets will also be removed. MIDlets within a MIDlet suite can access each other's record stores directly. New APIs in MIDP 2.0 allow for the explicit sharing of record stores if the MIDlet creating the RecordStore chooses to give such permission.
Sharing is accomplished through the ability to name a RecordStore created by another MIDlet suite.
RecordStores are uniquely named using the unique name of the MIDlet suite plus the name of the RecordStore. MIDlet suites are identified by the MIDlet-Vendor and MIDlet-Name attributes from the application descriptor.
Access controls are defined when RecordStores to be shared are created. Access controls are enforced when RecordStores are opened. The access modes allow private use or shareable with any other MIDlet suite.
Record store names are case sensitive and may consist of any combination of between one and 32 Unicode characters inclusive. Record store names must be unique within the scope of a given MIDlet suite. In other words, MIDlets within a MIDlet suite are not allowed to create more than one record store with the same name, however a MIDlet in one MIDlet suite is allowed to have a record store with the same name as a MIDlet in another MIDlet suite. In that case, the record stores are still distinct and separate.
No locking operations are provided in this API. Record store implementations ensure that all individual record store operations are atomic, synchronous, and serialized, so no corruption will occur with multiple accesses. However, if a MIDlet uses multiple threads to access a record store, it is the MIDlet's responsibility to coordinate this access or unintended consequences may result. Similarly, if a platform performs transparent synchronization of a record store, it is the platform's responsibility to enforce exclusive access to the record store between the MIDlet and synchronization engine.
Records are uniquely identified within a given record store by
their recordId, which is an integer value. This recordId is used as
the primary key for the records. The first record created in a
record store will have recordId equal to one (1). Each subsequent
record added to a RecordStore will be assigned a recordId one
greater than the record added before it. That is, if two records
are added to a record store, and the first has a recordId of 'n',
the next will have a recordId of 'n + 1'. MIDlets can create other
sequences of the records in the RecordStore by using the
RecordEnumeration
class.
This record store uses long integers for time/date stamps, in the format used by System.currentTimeMillis(). The record store is time stamped with the last time it was modified. The record store also maintains a version number, which is an integer that is incremented for each operation that modifies the contents of the RecordStore. These are useful for synchronization engines as well as other things.
| Field Summary | |
static int |
AUTHMODE_ANY
Authorization to allow access to any MIDlet suites. |
static int |
AUTHMODE_PRIVATE
Authorization to allow access only to the current MIDlet suite. |
| Method Summary | |
int |
addRecord(byte[] data,
int offset,
int numBytes)
Adds a new record to the record store. |
void |
addRecordListener(RecordListener listener)
Adds the specified RecordListener. |
void |
closeRecordStore()
This method is called when the MIDlet requests to have the record store closed. |
void |
deleteRecord(int recordId)
The record is deleted from the record store. |
static void |
deleteRecordStore(String recordStoreName)
Deletes the named record store. |
RecordEnumeration |
enumerateRecords(RecordFilter filter,
RecordComparator comparator,
boolean keepUpdated)
Returns an enumeration for traversing a set of records in the record store in an optionally specified order. |
long |
getLastModified()
Returns the last time the record store was modified, in the format used by System.currentTimeMillis(). |
String |
getName()
Returns the name of this RecordStore. |
int |
getNextRecordID()
Returns the recordId of the next record to be added to the record store. |
int |
getNumRecords()
Returns the number of records currently in the record store. |
byte[] |
getRecord(int recordId)
Returns a copy of the data stored in the given record. |
int |
getRecord(int recordId,
byte[] buffer,
int offset)
Returns the data stored in the given record. |
int |
getRecordSize(int recordId)
Returns the size (in bytes) of the MIDlet data available in the given record. |
int |
getSize()
Returns the amount of space, in bytes, that the record store occupies. |
int |
getSizeAvailable()
Returns the amount of additional room (in bytes) available for this record store to grow. |
int |
getVersion()
Each time a record store is modified (by addRecord , setRecord , or
deleteRecord methods) its version is
incremented. |
static String[] |
listRecordStores()
Returns an array of the names of record stores owned by the MIDlet suite. |
static RecordStore |
openRecordStore(String recordStoreName,
boolean createIfNecessary)
Open (and possibly create) a record store associated with the given MIDlet suite. |
static RecordStore |
openRecordStore(String recordStoreName,
boolean createIfNecessary,
int authmode,
boolean writable)
Open (and possibly create) a record store that can be shared with other MIDlet suites. |
static RecordStore |
openRecordStore(String recordStoreName,
String vendorName,
String suiteName)
Open a record store associated with the named MIDlet suite. |
void |
removeRecordListener(RecordListener listener)
Removes the specified RecordListener. |
void |
setMode(int authmode,
boolean writable)
Changes the access mode for this RecordStore. |
void |
setRecord(int recordId,
byte[] newData,
int offset,
int numBytes)
Sets the data in the given record to that passed in. |
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static final int AUTHMODE_PRIVATE
public static final int AUTHMODE_ANY
| Method Detail |
public static void deleteRecordStore(String recordStoreName) throws RecordStoreException, RecordStoreNotFoundException
recordStoreName
- the MIDlet suite unique record store to
delete
RecordStoreException
- if a record store-related
exception occurred
RecordStoreNotFoundException
- if the record store
could not be foundpublic static RecordStore openRecordStore(String recordStoreName, boolean createIfNecessary) throws RecordStoreException, RecordStoreFullException, RecordStoreNotFoundException
recordStoreName
- the MIDlet suite unique name for the
record store, consisting of between one and 32 Unicode
characters inclusive.createIfNecessary
- if true, the record store will be
created if necessary
RecordStore
object for the record store
RecordStoreException
- if a record store-related
exception occurred
RecordStoreNotFoundException
- if the record store
could not be found
RecordStoreFullException
- if the operation cannot be
completed because the record store is full
IllegalArgumentException
- if
recordStoreName is invalidpublic static RecordStore openRecordStore(String recordStoreName, boolean createIfNecessary, int authmode, boolean writable) throws RecordStoreException, RecordStoreFullException, RecordStoreNotFoundException
AUTHMODE_PRIVATE
- Only allows the MIDlet
suite that created the RecordStore to access it. This
case behaves identically to
openRecordStore(recordStoreName,
createIfNecessary)
.AUTHMODE_ANY
- Allows any MIDlet to access the
RecordStore. Note that this makes your recordStore
accessible by any other MIDlet on the device. This
could have privacy and security issues depending on
the data being shared. Please use carefully.The owning MIDlet suite may always access the RecordStore and always has access to write and update the store.
If this method is called by a MIDlet when the record store is already open by a MIDlet in the MIDlet suite, this method returns a reference to the same RecordStore object.
recordStoreName
- the MIDlet suite unique name for the
record store, consisting of between one and 32 Unicode
characters inclusive.createIfNecessary
- if true, the record store will be
created if necessaryauthmode
- the mode under which to check or create access.
Must be one of AUTHMODE_PRIVATE or AUTHMODE_ANY.
This argument is ignored if the RecordStore exists.writable
- true if the RecordStore is to be writable by
other MIDlet suites that are granted access.
This argument is ignored if the RecordStore exists.
RecordStore
object for the record store
RecordStoreException
- if a record store-related
exception occurred
RecordStoreNotFoundException
- if the record store
could not be found
RecordStoreFullException
- if the operation
cannot be completed because the record store is full
SecurityException
- if this MIDlet Suite is not allowed to open
or create the specified RecordStore
IllegalArgumentException
- if authmode or
recordStoreName is invalidpublic static RecordStore openRecordStore(String recordStoreName, String vendorName, String suiteName) throws RecordStoreException, RecordStoreNotFoundException
AUTHMODE_PRIVATE
- Succeeds only if vendorName
and suiteName identify the current MIDlet suite; this
case behaves identically to
openRecordStore(recordStoreName,
createIfNecessary)
.AUTHMODE_ANY
- Always succeeds.
Note that this makes your recordStore
accessible by any other MIDlet on the device. This
could have privacy and security issues depending on
the data being shared. Please use carefully.
Untrusted MIDlet suites are allowed to share data but
this is not recommended. The authenticity of the
origin of untrusted MIDlet suites cannot be verified
so shared data may be used unscrupulously.If this method is called by a MIDlet when the record store is already open by a MIDlet in the MIDlet suite, this method returns a reference to the same RecordStore object.
If a MIDlet calls this method to open a record store from
its own suite, the behavior is identical to calling:
openRecordStore(recordStoreName, false)
recordStoreName
- the MIDlet suite unique name for the
record store, consisting of between one and 32 Unicode
characters inclusive.vendorName
- the vendor of the owning MIDlet suitesuiteName
- the name of the MIDlet suite
RecordStore
object for the record store
RecordStoreException
- if a record store-related
exception occurred
RecordStoreNotFoundException
- if the record store
could not be found
SecurityException
- if this MIDlet Suite is not
allowed to open the specified RecordStore.
IllegalArgumentException
- if recordStoreName is
invalidpublic void setMode(int authmode, boolean writable) throws RecordStoreException
AUTHMODE_PRIVATE
- Only allows the MIDlet
suite that created the RecordStore to access it. This
case behaves identically to
openRecordStore(recordStoreName,
createIfNecessary)
.AUTHMODE_ANY
- Allows any MIDlet to access the
RecordStore. Note that this makes your recordStore
accessible by any other MIDlet on the device. This
could have privacy and security issues depending on
the data being shared. Please use carefully.The owning MIDlet suite may always access the RecordStore and always has access to write and update the store. Only the owning MIDlet suite can change the mode of a RecordStore.
authmode
- the mode under which to check or create access.
Must be one of AUTHMODE_PRIVATE or AUTHMODE_ANY.writable
- true if the RecordStore is to be writable by
other MIDlet suites that are granted access
RecordStoreException
- if a record store-related
exception occurred
SecurityException
- if this MIDlet Suite is not
allowed to change the mode of the RecordStore
IllegalArgumentException
- if authmode is invalidpublic void closeRecordStore() throws RecordStoreNotOpenException, RecordStoreException
When the record store is closed, all listeners are removed and all RecordEnumerations associated with it become invalid. If the MIDlet attempts to perform operations on the RecordStore object after it has been closed, the methods will throw a RecordStoreNotOpenException.
RecordStoreNotOpenException
- if the record store is
not open
RecordStoreException
- if a different record
store-related exception occurredpublic static String[] listRecordStores()
public String getName() throws RecordStoreNotOpenException
RecordStoreNotOpenException
- if the record store is not openpublic int getVersion() throws RecordStoreNotOpenException
addRecord
, setRecord
, or
deleteRecord
methods) its version is
incremented. This can be used by MIDlets to quickly tell if
anything has been modified.
The initial version number is implementation dependent.
The increment is a positive integer greater than 0.
The version number increases only when the RecordStore is updated.
The increment value need not be constant and may vary with each
update.
RecordStoreNotOpenException
- if the record store is
not openpublic int getNumRecords() throws RecordStoreNotOpenException
RecordStoreNotOpenException
- if the record store is
not openpublic int getSize() throws RecordStoreNotOpenException
RecordStoreNotOpenException
- if the record store is
not openpublic int getSizeAvailable() throws RecordStoreNotOpenException
RecordStoreNotOpenException
- if the record store is
not openpublic long getLastModified() throws RecordStoreNotOpenException
RecordStoreNotOpenException
- if the record store is
not openpublic void addRecordListener(RecordListener listener)
listener
- the RecordChangedListenerremoveRecordListener(javax.microedition.rms.RecordListener)
public void removeRecordListener(RecordListener listener)
listener
- the RecordChangedListeneraddRecordListener(javax.microedition.rms.RecordListener)
public int getNextRecordID() throws RecordStoreNotOpenException, RecordStoreException
addRecord()
.
RecordStoreNotOpenException
- if the record store is
not open
RecordStoreException
- if a different record
store-related exception occurredpublic int addRecord(byte[] data, int offset, int numBytes) throws RecordStoreNotOpenException, RecordStoreException, RecordStoreFullException
data
- the data to be stored in this record. If the record
is to have zero-length data (no data), this parameter may be
null.offset
- the index into the data buffer of the first
relevant byte for this recordnumBytes
- the number of bytes of the data buffer to use
for this record (may be zero)
RecordStoreNotOpenException
- if the record store is
not open
RecordStoreException
- if a different record
store-related exception occurred
RecordStoreFullException
- if the operation cannot be
completed because the record store has no more room
SecurityException
- if the MIDlet has read-only access
to the RecordStorepublic void deleteRecord(int recordId) throws RecordStoreNotOpenException, InvalidRecordIDException, RecordStoreException
recordId
- the ID of the record to delete
RecordStoreNotOpenException
- if the record store is
not open
InvalidRecordIDException
- if the recordId is invalid
RecordStoreException
- if a general record store
exception occurs
SecurityException
- if the MIDlet has read-only access
to the RecordStorepublic int getRecordSize(int recordId) throws RecordStoreNotOpenException, InvalidRecordIDException, RecordStoreException
recordId
- the ID of the record to use in this operation
RecordStoreNotOpenException
- if the record store is
not open
InvalidRecordIDException
- if the recordId is invalid
RecordStoreException
- if a general record store
exception occurspublic int getRecord(int recordId, byte[] buffer, int offset) throws RecordStoreNotOpenException, InvalidRecordIDException, RecordStoreException
recordId
- the ID of the record to use in this operationbuffer
- the byte array in which to copy the dataoffset
- the index into the buffer in which to start copying
offset
RecordStoreNotOpenException
- if the record store is
not open
InvalidRecordIDException
- if the recordId is invalid
RecordStoreException
- if a general record store
exception occurs
ArrayIndexOutOfBoundsException
- if the record is
larger than the buffer suppliedsetRecord(int, byte[], int, int)
public byte[] getRecord(int recordId) throws RecordStoreNotOpenException, InvalidRecordIDException, RecordStoreException
recordId
- the ID of the record to use in this operation
RecordStoreNotOpenException
- if the record store is
not open
InvalidRecordIDException
- if the recordId is invalid
RecordStoreException
- if a general record store
exception occurssetRecord(int, byte[], int, int)
public void setRecord(int recordId, byte[] newData, int offset, int numBytes) throws RecordStoreNotOpenException, InvalidRecordIDException, RecordStoreException, RecordStoreFullException
getRecord(int recordId)
will return an array of numBytes size containing the data
supplied here.
recordId
- the ID of the record to use in this operationnewData
- the new data to store in the recordoffset
- the index into the data buffer of the first
relevant byte for this recordnumBytes
- the number of bytes of the data buffer to use
for this record
RecordStoreNotOpenException
- if the record store is
not open
InvalidRecordIDException
- if the recordId is invalid
RecordStoreException
- if a general record store
exception occurs
RecordStoreFullException
- if the operation cannot be
completed because the record store has no more room
SecurityException
- if the MIDlet has read-only access
to the RecordStoregetRecord(int, byte[], int)
public RecordEnumeration enumerateRecords(RecordFilter filter, RecordComparator comparator, boolean keepUpdated) throws RecordStoreNotOpenException
The filter, if non-null, will be used to determine what subset of the record store records will be used.
The comparator, if non-null, will be used to determine the order in which the records are returned.
If both the filter and comparator is null, the enumeration
will traverse all records in the record store in an undefined
order. This is the most efficient way to traverse all of the
records in a record store. If a filter is used with a null
comparator, the enumeration will traverse the filtered records
in an undefined order.
The first call to RecordEnumeration.nextRecord()
returns the record data from the first record in the sequence.
Subsequent calls to RecordEnumeration.nextRecord()
return the next consecutive record's data. To return the record
data from the previous consecutive from any
given point in the enumeration, call previousRecord()
.
On the other hand, if after creation the first call is to
previousRecord()
, the record data of the last element
of the enumeration will be returned. Each subsequent call to
previousRecord()
will step backwards through the
sequence.
filter
- if non-null, will be used to determine what
subset of the record store records will be usedcomparator
- if non-null, will be used to determine the
order in which the records are returnedkeepUpdated
- if true, the enumerator will keep its enumeration
current with any changes in the records of the record
store. Use with caution as there are possible
performance consequences. If false the enumeration
will not be kept current and may return recordIds for
records that have been deleted or miss records that
are added later. It may also return records out of
order that have been modified after the enumeration
was built. Note that any changes to records in the
record store are accurately reflected when the record
is later retrieved, either directly or through the
enumeration. The thing that is risked by setting this
parameter false is the filtering and sorting order of
the enumeration when records are modified, added, or
deleted.
RecordStoreNotOpenException
- if the record store is
not openRecordEnumeration.rebuild()
|
IM Profile | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


So I don’t know about any of you, gentle readers, but ‘defaults’ really gives me the shits sometimes.
Exhibit A:
/ $ defaults read /Library/Preferences/com.apple.loginwindow.plist 2007-11-21 13:12:04.288 defaults[97501:10b] Domain com.apple.loginwindow.plist does not exist / $ defaults read /Library/Preferences/com.apple.loginwindow (snip actual working output)
Exhibit B:
/ $ cd /Library/Preferences /Library/Preferences $ defaults read ./com.apple.loginwindow.plist 2007-11-21 13:13:24.327 defaults[97540:10b] Domain ./com.apple.loginwindow.plist does not exist /Library/Preferences $ defaults read ./com.apple.loginwindow 2007-11-21 13:13:25.799 defaults[97546:10b] Domain ./com.apple.loginwindow does not exist
This really annoys me, that ‘defaults’ firstly doesn’t accept the full path to the plist, when other tools like ‘launchctl’ do, and requires that you strip off the “.plist” from the end, and secondly, that you can’t use relative paths.
This annoyed me so much that I decided to finally do something about it. This function resolves both problems.
function defread { defaults read $(echo "$@" | sed "s|\./|`pwd`/|g" | sed "s|.plist||g"); }
And now we can do:
/ $ defread /Library/Preferences/com.apple.loginwindow.plist / $ cd /Library/Preferences /Library/Preferences $ defread ./com.apple.loginwindow.plist
or even:
/Library/Preferences $ defread ./com.apple.loginwindow.plist SHOWFULLNAME 1
mmmm.
Cool, yeah, I’ve had the same problem.
Another plist-type function I wrote:
plv () {
plutil -convert xml1 -o /dev/fd/1 $1 | /usr/bin/pl
}
useful to view a property list since /usr/bin/pl (even in Leopard) still doesn’t support binary property lists.
I’m just as happy using the plistlib from Python, myself, compared to what you get from `defaults`. I haven’t tried the latest version that ships with Python 2.5.1, but if it has developed support for binary plists, that’d make it even better.
But, yes, `defaults` even with its warts, still has an edge at the command line so your function is a good idea.
I also tend to use defaults using only the domain syntax:
% defaults read com.apple.loginwindow
And plutil for plist file manipulation. Naturally, it needs a wrapper too! Here’s the one I use:
#!/bin/bash
# plcat, cat binary plists as XML.
# By Tom Harrington, June 2005. .
# Usage:
# plcat
# or:
# plcat $tempfile
# convert temp file in place
/usr/bin/plutil -convert xml1 $tempfile
else
# plutil doesn't write to stdout, so the result gets saved and then accessed.
/usr/bin/plutil -convert xml1 -o $tempfile $1;
fi
if [ -e $tempfile ]; then
/bin/cat $tempfile;
/bin/rm -i -f $tempfile;
fi
Nicholas’ function looks neater, but isn’t pl deprecated? As you can see from the date, Tom wrote the above script for a not-so-current version of OS X.
Whoops, major html tag gobbling. I’ll try the code again:
#!/bin/bash
# plcat, cat binary plists as XML.
# By Tom Harrington, June 2005. .
# Usage:
# plcat
# or:
# plcat $tempfile
# convert temp file in place
/usr/bin/plutil -convert xml1 $tempfile
else
# plutil doesn't write to stdout, so the result gets saved and then accessed.
/usr/bin/plutil -convert xml1 -o $tempfile $1;
fi
if [ -e $tempfile ]; then
/bin/cat $tempfile;
/bin/rm -i -f $tempfile;
fi
By the way, despite the usage comment, the regular old “plcat file” syntax also works.
heh.
So I’ve been writing heaps of Python since moving to Google, (well we did hire Guido, what do you expect? :) ) and have been doing a lot of plistlib work, as well as dealing with the Ruby plist stuff.
Why has no-one reverse engineered the binary format yet?
Is it just that it’s really easy to coerce an XML parser into parsing the xml1 format and no-one could be bothered doing the work?
Is it that Apple themselves don’t seem to have documented it?
I’m sick of wrapping plutil -convert commands in try: except: or begin rescue blocks and it’s not always appropriate. Sometimes you want to read the plist before requesting elevated privileges to make changes to it.
Now I think about it, I’ve actually started writing a whole bunch of Ruby wrappers that use PlistBuddy instead, now that it’s at /usr/libexec/ in Leopard. It really annoys me how ‘defaults’ logs to syslog every time you query for a non-existent key, no matter where you redirect stdout/stderr.


BigQuery is a RESTful web service that enables interactive analysis of massively large datasets working in conjunction with Google Storage.
-Wikipedia
Up until my final project at Metis I had always downloaded csv's and then, if they were sizable, used them to build out my own tables and database to work with. However, for this final passion project, I really wanted to explore the Global Fishing Watch data. After requesting access, I learned that it was exclusively available on Google Big Query - needless to say I was intimidated! GBQ, as I'll now refer to it, is just one member of an entire host of cloud computing services. In order to work with the data that I wanted, I needed to navigate that world - a process that was painstaking at times. I've written this blog post to assist other fledgling data scientists.
Part I: Downloading Results
In GBQ, once you have access to some tables, it isn't hard to figure out how to query them. What I struggled with was downloading the results to play with!
When I tried to download them, I was told that the results were too big. I don't know what the cut off is, but this error message was received from a 3.74MB result.
In order to get around this, you will need to:
- create a project
- create a dataset
- copy the original tables into your dataset, OR query the original data and save those results as tables in your dataset
You can create a project using the main Google Cloud Console Dashboard.
GBQ is giving away 1 terabyte (or $300 worth) of free usage to new users for up to 365 days. You should see that at the top of your browser window. Unfortunately, you will still need to set up a billing account for your new project. Google was very explicit that you won't receive any surprise bills; they will notify you when your trial is over and you are about to be charged.
After creating a project, you will need to create a "dataset" in that project before being able to copy any tables into it. I spent much more time than I care to admit searching around and around google cloud before figuring out how to do this. You can accomplish this task by clicking on the little menu expansion arrow next to your project name, directly in GBQ.
Now, you can copy complete tables or queries into your dataset, then download (it will, however, come in chunks). This is how I first approached the issue, but later moved on to importing my queries directly into a jupyter notebook.
Part II: Jupyter Notebook
If you're like me and you do most of your work in notebooks, there is a way to import your queries directly into a dataframe using a few libraries. As I work in python, this section will be a bit specific to that language. Before we even open jupyter though, we will need to make sure google knows that we are authorized. This process also took me quite a while, and I suspect that there may be a more elegant way to do this. Generally speaking, you will need to * create and download credentials and then * authenticate yourself in your notebook.
Credentials
Do do this, you will need to create a service account. It allows you to grant access to many people and set permission levels (even if that person is just yourself 😛 ) You can do this on the service account key page. The instructions below come from here.
- Go to the Create service account key page in the GCP Console.
- From the Service account drop-down list, select New service account.
- Enter a name into the Service account name field. (I chose my own name 💁)
- From the Role drop-down list, select Project > Owner. Chose the JSON key type.
- Click Create. A JSON file that contains your key downloads to your computer.
Now save that file & don't lose it! If you aren't familiar with using keys, this is a unique identifier for you so it is best kept private. Often times these types of files cannot be downloaded again. This one is particular to your google account and your specific dataset.
Notebooks
You can do this process on your local machine or any cloud instance. I suggest working in the cloud because you won't be warned if your query can't be fully stored in local memory... you will just recieve a subset of your query.
You will need to install the following libraries:
pip install google-auth
pip install pandas-gbq -U
Import them:
from google.oauth2 import service_account
from pandas.io import gbq
Credential yourself:
credentials = service_account.Credentials.from_service_account_file(
'/path/to/your_credentials.json'
Define your query as a string using triple quotes for readability:
query="""
SELECT
*
FROM
YOUR_DATASET.YOUR_TABLE
"""
Now run your query and assign it to a dataframe:
df = gbq.read_gbq(query, project_id='YOUR_PROJECT_ID', dialect ='standard')
The first time you do this, you will be prompted to confirm your google account. After you run the above, you will be prompted to click on a link, log in, retrieve a key, and input that into your notebook.  Time to analyze.
As I mentioned above, this was a trial and error process for me. I want to thank my good friend Anahita for her invaluable assistance, as well as for her moral support in my final project.
If you have any suggestions for improving this process, feel free to reach out!


H BP
About
News
Publication
Awards
Skills
Talks
H
BP
RIC, VA
<EMAIL_ADDRESS>I am a PhD student... .
Research interests:
CV
News
VCU
....
MAC protocol...
Aug 2017
Publications
HBP, “CONVINCE”, in
PerCom
, IEEE PerCom, March 2020, Austin, TX. (Available on
ArXiv
, News on
VCU
Honors & Awards
Award1
Award2
Skills
Programming Languages & Tools
Workflow
Network Tools (Software: ns3, tpcdump,SDN,etc. Hardware: SDR, WARP.)
Talks


Fabric currently makes use of a pure-Python SSH re-implementation for managing connections, meaning that there are occasionally spots where it is limited by that library’s capabilities. Below are areas of note where Fabric will exhibit behavior that isn’t consistent with, or as flexible as, the behavior of the ssh command-line program.
SSH’s host key tracking mechanism keeps tabs on all the hosts you attempt to connect to, and maintains a ~/.ssh/known_hosts file with mappings between identifiers (IP address, sometimes with a hostname as well) and SSH keys. (For details on how this works, please see the OpenSSH documentation.)
The paramiko library is capable of loading up your known_hosts file, and will then compare any host it connects to, with that mapping. Settings are available to determine what happens when an unknown host (a host whose username or IP is not found in known_hosts) is seen:
Whether to reject or add hosts, as above, is controlled in Fabric via the env.reject_unknown_hosts option, which is False by default for convenience’s sake. We feel this is a valid tradeoff between convenience and security; anyone who feels otherwise can easily modify their fabfiles at module level to set env.reject_unknown_hosts = True.
The point of SSH’s key/fingerprint tracking is so that man-in-the-middle attacks can be detected: if an attacker redirects your SSH traffic to a computer under his control, and pretends to be your original destination server, the host keys will not match. Thus, the default behavior of SSH (and its Python implementation) is to immediately abort the connection when a host previously recorded in known_hosts suddenly starts sending us a different host key.
In some edge cases such as some EC2 deployments, you may want to ignore this potential problem. Our SSH layer, at the time of writing, doesn’t give us control over this exact behavior, but we can sidestep it by simply skipping the loading of known_hosts – if the host list being compared to is empty, then there’s no problem. Set env.disable_known_hosts to True when you want this behavior; it is False by default, in order to preserve default SSH behavior.
警告
Enabling env.disable_known_hosts will leave you wide open to man-in-the-middle attacks! Please use with caution.


Inherits the contextual information from another thread.
NoteThe NDC is deprecated and has been replaced by the Stacks. The current NDC implementation forwards to the
ThreadContext.Stacks["NDC"]
.
This thread will use the context information from the stack supplied. This can be used to initialize child threads with the same contextual information as their parent threads. These contexts will NOT be shared. Any further contexts that are pushed onto the stack will not be visible to the other. Call CloneStack to obtain a stack to pass to this method.


- All Superinterfaces:
Serializable
- All Known Implementing Classes:
InterceptReadOnly
,InterceptReadWrite
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Add and return a dirty property hash.void
addDirtyPropertyNames
(Set<String> props, String prefix) Recursively add dirty properties.void
addDirtyPropertyValues
(BeanDiffVisitor visitor) Recursively add dirty properties.void
addDirtyPropertyValues
(Map<String, ValuePair> dirtyValues, String prefix) Recursively add dirty properties.void
Clear the getter callback.int
findProperty
(String propertyName) Finds the index position of a given property.boolean[]
Return the array of flags indicating the dirty properties.Return a dirty property hash taking into account embedded beans.Return the set of dirty properties.Return a map of dirty properties with their new and old values.Return the owning bean for an embedded bean.int
Return the property index (for the parent) of this embedded bean.Return the property that triggered the lazy load.int
Return the index of the property that triggered the lazy load.boolean[]
Return a loaded property hash.Return the set of property names for a partially loaded bean.Returns the loadErrors.getOrigValue
(int propertyIndex) Return the original value that was changed via an update.getOwner()
Return the 'owning' entity bean.Return the ownerId (IdClass).Return the persistenceContext.getProperty
(int propertyIndex) Return the property name for the given property.int
Return the number of properties.int
Return the sort order value for an order column.boolean
hasDirtyProperty
(Set<String> propertyNames) Return true if any of the given property names are dirty.boolean
hasIdOnly
(int idIndex) Return true if only the Id property has been loaded.void
initialisedMany
(int propertyIndex) Called when a BeanCollection is initialised automatically.boolean
isChangedProp
(int i) boolean
isChangedProperty
(int propertyIndex) Return true if the property is considered changed.boolean
isDirty()
Return true if this bean has been directly modified (it has oldValues) or if any embedded beans are either new or dirty (and hence need saving).boolean
isDirtyProperty
(int propertyIndex) Return true if the property was changed or if it is embedded and one of its embedded properties is dirty.boolean
Return true if lazy loading is disabled.boolean
isEmbeddedNewOrDirty
(Object embeddedBean) Return true if the embedded bean is new or dirty and hence needs saving.boolean
Return true if the bean is fully loaded (not a partial).boolean
Return true if the bean is marked as having failed lazy loading.boolean
isLoaded()
Return true if the entity has been loaded.boolean
Return true if this bean was loaded from L2 bean cache.boolean
isLoadedProperty
(int propertyIndex) Return true if the property is loaded.boolean
isNew()
Return true if this entity bean is new and not yet saved.boolean
Return true if the entity bean is new or dirty (and should be saved).boolean
boolean
Return true if the bean is partially loaded.boolean
Return true if the bean should be treated as readOnly.boolean
Return true if the entity is a reference.boolean
isUpdate()
Return true if the entity should be updated.void
loadBean
(int loadProperty) Load the bean when it is a reference.void
loadBeanInternal
(int loadProperty, BeanLoader loader) Invoke the lazy loading.void
markPropertyAsChanged
(int propertyIndex) Explicitly mark a property as having been changed.mutableInfo
(int propertyIndex) Return the MutableValueInfo for the given property or null.void
mutableInfo
(int propertyIndex, MutableValueInfo info) Set the MutableValueInfo for the given property.mutableNext
(int propertyIndex) Update the 'next' mutable info returning the content that was obtained via dirty detection.void
mutableNext
(int propertyIndex, MutableValueNext next) Dirty detection set the next mutable property content and info .void
preGetId()
Called prior to Id property getter.void
preGetter
(int propertyIndex) Method that is called prior to a getter method on the actual entity.void
preGetterCallback
(int propertyIndex) void
preSetter
(boolean intercept, int propertyIndex, boolean oldValue, boolean newValue) Check for primitive boolean.void
preSetter
(boolean intercept, int propertyIndex, byte[] oldValue, byte[] newValue) Check for primitive byte array.void
preSetter
(boolean intercept, int propertyIndex, byte oldValue, byte newValue) Check for primitive byte.void
preSetter
(boolean intercept, int propertyIndex, char[] oldValue, char[] newValue) Check for primitive char array.void
preSetter
(boolean intercept, int propertyIndex, char oldValue, char newValue) Check for primitive char.void
preSetter
(boolean intercept, int propertyIndex, double oldValue, double newValue) Check for primitive double.void
preSetter
(boolean intercept, int propertyIndex, float oldValue, float newValue) Check for primitive float.void
preSetter
(boolean intercept, int propertyIndex, int oldValue, int newValue) Check for primitive int.void
preSetter
(boolean intercept, int propertyIndex, long oldValue, long newValue) Check for primitive long.void
preSetter
(boolean intercept, int propertyIndex, short oldValue, short newValue) Check for primitive short.void
Check to see if the values are not equal.void
preSetterMany
(boolean interceptField, int propertyIndex, Object oldValue, Object newValue) OneToMany and ManyToMany only set loaded state.void
registerGetterCallback
(PreGetterCallback getterCallback) Register the callback to be triggered when getter is called.void
setBeanLoader
(BeanLoader beanLoader) Set the BeanLoader.void
setBeanLoader
(BeanLoader beanLoader, PersistenceContext ctx) Set the BeanLoader with PersistenceContext.void
setChangedProperty
(int propertyIndex) void
setChangedPropertyValue
(int propertyIndex, boolean setDirtyState, Object origValue) void
setChangeLoaded
(int propertyIndex) void
setDeletedFromCollection
(boolean deletedFromCollection) Set if the entity was deleted from a BeanCollection.void
setDirty
(boolean dirty) Marks the bean as dirty.void
void
setDisableLazyLoad
(boolean disableLazyLoad) Set true to turn off lazy loading.void
setEmbeddedDirty
(int embeddedProperty) Called by an embedded bean onto its owner.void
setEmbeddedLoaded
(Object embeddedBean) Set the loaded status for the embedded bean.void
setEmbeddedOwner
(EntityBean parentBean, int embeddedOwnerIndex) Set the embedded beans owning bean.void
setEmbeddedPropertyDirty
(int propertyIndex) Set that an embedded bean has had one of its properties changed.void
setForceUpdate
(boolean forceUpdate) Set the bean to be updated when persisted (for merge).void
setFullyLoadedBean
(boolean fullyLoadedBean) Set true when the bean is fully loaded (not a partial).void
setLazyLoadFailure
(Object ownerId) Set lazy load failure flag.void
Set the loaded state to true.void
setLoadedFromCache
(boolean loadedFromCache) Set true when the bean has been loaded from L2 bean cache.void
When finished loading for lazy or refresh on an already partially populated bean.void
setLoadedProperty
(int propertyIndex) Set the property to be loaded.void
Set all properties to be loaded (post insert).void
setLoadError
(int propertyIndex, Exception t) Set the load error that happened on this property.void
setNew()
Set the bean into NEW state.void
For forced update on a 'New' bean set all the loaded properties to changed.void
setNodeUsageCollector
(NodeUsageCollector usageCollector) Turn on profile collection.void
setOldValue
(int propertyIndex, Object oldValue) Explicitly set an old value with force (the old value is forced even it is already set).void
setOriginalValue
(int propertyIndex, Object value) void
setOriginalValueForce
(int propertyIndex, Object value) Set old value but force it to be set regardless if it already has a value.void
setOwnerId
(Object ownerId) Set the ownerId (IdClass).void
setPersistenceContext
(PersistenceContext persistenceContext) Set the persistenceContext.void
setPropertyLoaded
(String propertyName, boolean loaded) Set the loaded state of the property given it's name.void
setPropertyUnloaded
(int propertyIndex) Set the property to be treated as unloaded.void
setReadOnly
(boolean readOnly) Set the readOnly status.void
setReference
(int idPos) Set this as a reference object.void
setSortOrder
(int sortOrder) Set the sort order value for an order column.
-
Method Details
-
getOwner
EntityBean getOwner()Return the 'owning' entity bean. -
getPersistenceContext
PersistenceContext getPersistenceContext()Return the persistenceContext. -
setPersistenceContext
Set the persistenceContext. -
setNodeUsageCollector
Turn on profile collection. -
getOwnerId
Object getOwnerId()Return the ownerId (IdClass). -
setOwnerId
Set the ownerId (IdClass). -
getEmbeddedOwner
Object getEmbeddedOwner()Return the owning bean for an embedded bean. -
getEmbeddedOwnerIndex
int getEmbeddedOwnerIndex()Return the property index (for the parent) of this embedded bean. -
clearGetterCallback
void clearGetterCallback()Clear the getter callback. -
registerGetterCallback
Register the callback to be triggered when getter is called. This is used primarily to automatically flush the JDBC batch. -
setEmbeddedOwner
Set the embedded beans owning bean. -
setBeanLoader
Set the BeanLoader with PersistenceContext. -
setBeanLoader
Set the BeanLoader. -
isFullyLoadedBean
boolean isFullyLoadedBean()Return true if the bean is fully loaded (not a partial). -
setFullyLoadedBean
void setFullyLoadedBean(boolean fullyLoadedBean) Set true when the bean is fully loaded (not a partial). -
isPartial
boolean isPartial()Return true if the bean is partially loaded. -
isDirty
boolean isDirty()Return true if this bean has been directly modified (it has oldValues) or if any embedded beans are either new or dirty (and hence need saving). -
setEmbeddedDirty
void setEmbeddedDirty(int embeddedProperty) Called by an embedded bean onto its owner. -
setDirty
void setDirty(boolean dirty) Marks the bean as dirty. -
isNew
boolean isNew()Return true if this entity bean is new and not yet saved. -
isNewOrDirty
boolean isNewOrDirty()Return true if the entity bean is new or dirty (and should be saved). -
hasIdOnly
boolean hasIdOnly(int idIndex) Return true if only the Id property has been loaded. -
isReference
boolean isReference()Return true if the entity is a reference. -
setReference
void setReference(int idPos) Set this as a reference object. -
setLoadedFromCache
void setLoadedFromCache(boolean loadedFromCache) Set true when the bean has been loaded from L2 bean cache. The effect of this is that we should skip the cache if there is subsequent lazy loading (bean cache partially populated). -
isLoadedFromCache
boolean isLoadedFromCache()Return true if this bean was loaded from L2 bean cache. -
isReadOnly
boolean isReadOnly()Return true if the bean should be treated as readOnly. If a setter method is called when it is readOnly an Exception is thrown. -
setReadOnly
void setReadOnly(boolean readOnly) Set the readOnly status. If readOnly then calls to setter methods through an exception. -
setForceUpdate
void setForceUpdate(boolean forceUpdate) Set the bean to be updated when persisted (for merge). -
isUpdate
boolean isUpdate()Return true if the entity should be updated. -
isLoaded
boolean isLoaded()Return true if the entity has been loaded. -
setNew
void setNew()Set the bean into NEW state. -
setLoaded
void setLoaded()Set the loaded state to true.Calls to setter methods after the bean is loaded can result in 'Old Values' being created.
Worth noting that this is also set after a insert/update. By doing so it 'resets' the bean for making further changes and saving again.
-
setLoadedLazy
void setLoadedLazy()When finished loading for lazy or refresh on an already partially populated bean. -
setLazyLoadFailure
Set lazy load failure flag. -
isLazyLoadFailure
boolean isLazyLoadFailure()Return true if the bean is marked as having failed lazy loading. -
isDisableLazyLoad
boolean isDisableLazyLoad()Return true if lazy loading is disabled. -
setDisableLazyLoad
void setDisableLazyLoad(boolean disableLazyLoad) Set true to turn off lazy loading. -
setEmbeddedLoaded
Set the loaded status for the embedded bean. -
isEmbeddedNewOrDirty
Return true if the embedded bean is new or dirty and hence needs saving. -
getOrigValue
Return the original value that was changed via an update. -
findProperty
Finds the index position of a given property. Returns -1 if the property can not be found. -
getProperty
Return the property name for the given property. -
getPropertyLength
int getPropertyLength()Return the number of properties. -
setPropertyLoaded
Set the loaded state of the property given it's name. -
setPropertyUnloaded
void setPropertyUnloaded(int propertyIndex) Set the property to be treated as unloaded. Used for properties initialised in default constructor. -
setLoadedProperty
void setLoadedProperty(int propertyIndex) Set the property to be loaded. -
setLoadedPropertyAll
void setLoadedPropertyAll()Set all properties to be loaded (post insert). -
isLoadedProperty
boolean isLoadedProperty(int propertyIndex) Return true if the property is loaded. -
isChangedProperty
boolean isChangedProperty(int propertyIndex) Return true if the property is considered changed. -
isDirtyProperty
boolean isDirtyProperty(int propertyIndex) Return true if the property was changed or if it is embedded and one of its embedded properties is dirty. -
markPropertyAsChanged
void markPropertyAsChanged(int propertyIndex) Explicitly mark a property as having been changed. -
setChangedProperty
void setChangedProperty(int propertyIndex) -
setChangeLoaded
void setChangeLoaded(int propertyIndex) -
setEmbeddedPropertyDirty
void setEmbeddedPropertyDirty(int propertyIndex) Set that an embedded bean has had one of its properties changed. -
setOriginalValue
-
setOriginalValueForce
Set old value but force it to be set regardless if it already has a value. -
setNewBeanForUpdate
void setNewBeanForUpdate()For forced update on a 'New' bean set all the loaded properties to changed. -
getLoadedPropertyNames
Return the set of property names for a partially loaded bean. -
getDirtyProperties
boolean[] getDirtyProperties()Return the array of flags indicating the dirty properties. -
getDirtyPropertyNames
Return the set of dirty properties. -
addDirtyPropertyNames
Recursively add dirty properties. -
hasDirtyProperty
Return true if any of the given property names are dirty. -
getDirtyValues
Return a map of dirty properties with their new and old values. -
addDirtyPropertyValues
Recursively add dirty properties. -
addDirtyPropertyValues
Recursively add dirty properties. -
getDirtyPropertyKey
StringBuilder getDirtyPropertyKey()Return a dirty property hash taking into account embedded beans. -
addDirtyPropertyKey
Add and return a dirty property hash. -
getLoadedPropertyKey
StringBuilder getLoadedPropertyKey()Return a loaded property hash. -
getLoaded
boolean[] getLoaded() -
getLazyLoadPropertyIndex
int getLazyLoadPropertyIndex()Return the index of the property that triggered the lazy load. -
getLazyLoadProperty
String getLazyLoadProperty()Return the property that triggered the lazy load. -
loadBean
void loadBean(int loadProperty) Load the bean when it is a reference. -
loadBeanInternal
Invoke the lazy loading. This method is synchronised externally. -
initialisedMany
void initialisedMany(int propertyIndex) Called when a BeanCollection is initialised automatically. -
preGetterCallback
void preGetterCallback(int propertyIndex) -
preGetId
void preGetId()Called prior to Id property getter. -
preGetter
void preGetter(int propertyIndex) Method that is called prior to a getter method on the actual entity. -
preSetterMany
OneToMany and ManyToMany only set loaded state. -
setChangedPropertyValue
-
setDirtyStatus
void setDirtyStatus() -
preSetter
Check to see if the values are not equal. If they are not equal then create the old values for use with ConcurrencyMode.ALL. -
preSetter
void preSetter(boolean intercept, int propertyIndex, boolean oldValue, boolean newValue) Check for primitive boolean. -
preSetter
void preSetter(boolean intercept, int propertyIndex, int oldValue, int newValue) Check for primitive int. -
preSetter
void preSetter(boolean intercept, int propertyIndex, long oldValue, long newValue) Check for primitive long. -
preSetter
void preSetter(boolean intercept, int propertyIndex, double oldValue, double newValue) Check for primitive double. -
preSetter
void preSetter(boolean intercept, int propertyIndex, float oldValue, float newValue) Check for primitive float. -
preSetter
void preSetter(boolean intercept, int propertyIndex, short oldValue, short newValue) Check for primitive short. -
preSetter
void preSetter(boolean intercept, int propertyIndex, char oldValue, char newValue) Check for primitive char. -
preSetter
void preSetter(boolean intercept, int propertyIndex, byte oldValue, byte newValue) Check for primitive byte. -
preSetter
void preSetter(boolean intercept, int propertyIndex, char[] oldValue, char[] newValue) Check for primitive char array. -
preSetter
void preSetter(boolean intercept, int propertyIndex, byte[] oldValue, byte[] newValue) Check for primitive byte array. -
setOldValue
Explicitly set an old value with force (the old value is forced even it is already set). -
getSortOrder
int getSortOrder()Return the sort order value for an order column. -
setSortOrder
void setSortOrder(int sortOrder) Set the sort order value for an order column. -
setDeletedFromCollection
void setDeletedFromCollection(boolean deletedFromCollection) Set if the entity was deleted from a BeanCollection. -
isOrphanDelete
boolean isOrphanDelete() -
setLoadError
Set the load error that happened on this property. -
getLoadErrors
Returns the loadErrors. -
isChangedProp
boolean isChangedProp(int i) -
mutableInfo
Return the MutableValueInfo for the given property or null. -
mutableInfo
Set the MutableValueInfo for the given property. -
mutableNext
Dirty detection set the next mutable property content and info .Set here as the mutable property dirty detection is based on json content comparison. We only want to perform the json serialisation once so storing it here as part of dirty detection so that we can get it back to bind in insert or update etc.
-
mutableNext
Update the 'next' mutable info returning the content that was obtained via dirty detection.
-


Question 1
You like basketball
Question 2
You like baseball
Question 3
You like football
Question 4
You like hockey
Question 5
You like curling
Question 6
You like parkour
Question 7
You like naked ice fishing
Question 8
You have high political aspirations and like hunting quail
Question 9
You like Nascar
Question 10
You own or have dabbled with tarot cards


web developer / software engineer there are no problems - just solutions waiting to be found
At heart, I'm an engineer. I enjoy building apps, solving interesting problems and creating elegant solutions. But my real passion is delivering solutions that help people and make the world just a little bit better.
I am based out of Honolulu and have a lot of experience working remotely. In my career, I have collaborated with customers and developers around the world.
Developing web apps is really about solving problems for people. The most important question - what does the user want to accomplish? It's not about building something but building the right thing.
Projects are under NDA and full details cannot be shared. But here is a description of a few apps.
Mobile first app related to home urgent care service.
React, Redux, Typescript, Material UI, Cypress
Dispatch HealthWeb components to retrieve and render credit report related data. Mobile friendly.
JavaScript, ES-6, CSS, Web Component
ArrayWebsite/Landing page for crypto exhange application
Next, React, Tailwind, Atropos (animation)
Web application to monitor and manage bio-pharmaceutical lab sensors.
Front End: React, Redux, BootStrap
Backend: Ruby on Rails
Front end for genomic database search app allowing diagnosticians to navigate and analyze search results.
Front End: Javascript, JQuery, Boostrap, Boostrap-Table
Website for non-profit to increase visibility and donorship.
Gatsby, React, Contentful
Ongoing work building tools and helping non-profits with technology.
Gatsby, React, Redux, TypeScript, Contentful, Webflow, Mapbox
TypeScript React with useContext and ReCharts.
Responsive design using Bootstrap.


PRRD remarks on how he disposed of drug lords’ bodies emphasized his sincerity in drug war
by Martin SadongdongThe Philippine National Police (PNP) on Friday has allayed public fears amid President Duterte’s controversial remarks that he had ordered the dumping of the bodies of drug lords in Manila Bay, Laguna de Bay, and Mountain Province.
Police Brigadier General Bernard Banac, PNP spokesperson, said the statement of the President only emphasized how serious the national government was in its campaign against illegal drugs.
“Huwag pong mabahala ang publiko. Ang ganitong pahayag ng Pangulo ay pagbibigay lamang ng diin, pagiging seryoso sa kampanya kontra droga (The public should not be worried. The statement of the President is just an emphasis on how serious [the government is] in the campaign against illegal drugs),” Banac said.
Banac added that the President is known to issue controversial remarks about the drug war which he said could be interpreted in a number of ways.
“Sa PNP, ang ating pagtanaw ay pagbibigay ng emphasis sa pagtugis ng high value targets (In the PNP, we look at [teh recent statements] as emphasis that we should run after high value targets),” Banac said.
The police official said that he had no knowledge if what the President said was indeed true.
“Wala naman tayong ulat na may ganoong pangyayari na pinatungkulan ang Pangulo) We have not received a report about that incident involving the President),” Banac said.
On Thursday, Duterte unapologetically said that he threw corpses of drug lords into the Manila Bay, and Laguna de Bay, and into a deep ravine in Mountain Province.
He made the remarks to reject criticisms that no big fish were caught in his drug war.
“Do I have to advertise that?” Duterte was quoted as saying.


True Reverie putting on Christmas Carnival to help Wolverhampton's homeless
Wolverhampton creatives collective True Reverie are putting on a Christmas carnival to raise money and support the city's homeless.
by Leigh SandersThe clothing company are taking over the city centre's Blossoms on December 5 from 7.30pm for an evening of live music and stalls to raise money for Good Shepherd Services.
Speaking on Facebook, they said: "Roll up, roll up for the True Reverie Christmas Carnival.
More coverage:
- Wolves stars model new city-based clothing brand
- Wolverhampton brand True Reverie release new t-shirt
- Wolverhampton's Ryan Evans, The Punk Poet EP - review
- Duncan Edwards tribute song available to pre-order
- Unsigned Wolverhampton singer Alex Ohm talks
- Black Country teacher reaches final of competition
- Singer-songwriter Bryony Williams releases new single
- Wolverhampton's Bryony Williams releases latest single
"On December 5 we will be taking over Blossoms Liquor & Grind for one spectacular night only. Expect live music and DJ sets from the best talent the region has to offer, alongside a truly unique shopping experience."
The live music comes in the form of three top acts - former Unsigned column stars Alex Ohm and Bryony Williams, as well as Black Country Music Award winner Ryan Evans.
All three will be playing material nerw and old - Ohm has a new single out soon and an EP planned for next year, while Evans has been busy promoting his latest single 21 Candles, a homage to Dudley's late, great Manchester United and England hero Duncan Edwards.
And True Reverie continued: "Tickets are priced at a mere £5 and when you buy one, not only will it gain you admission to our incredible Christmas Carnival, but you will also be supporting the Good Shepherd Services as all profits from ticket sales will be donated directly to this Wolverhampton homelessness charity.
"Enjoy a night out, support a local charity, discover amazing music, buy from local artists, support local businesses - Christmas shopping has never been so much fun."
As well as the three singer-songwriters, there will also be DJ sets on the night from Right on DJ sets from: Stay Loose Records' Ian Davies and Stewart Kendrick from All Hands On Decks.
And as well as True Reverie and Stay Loose Records, stalls on the night include, among others, author and designer Maisie Baker, illustrator Ruth Radcliffe and Black Country Type.
Tickets are £5 in advance from TicketSource, and for more information on the carnival see the dedicated Facebook event page.


TRADITIONS OF TINNERS.
"To us our Queen, who, in the central earth,
Midst fiery lavas or basaltine seas,
Deep-throned the illimitable waste enjoys,
Enormous solitude, has given these
Her subterraneous realms; bids us dwell here,
In the abyss of darkness, and exert
Immortal alchymy."
"Each devious cleft, each secret cell explore,
And from its fissures draw the ductile ore."
The Mine: a Dramatic Poem--JOHN SARGENT
"An ancient story I 'll tell you anon,
Which is older by far than the days of King John;
But this you should know, that that red-robed sinner
Robb'd the Jew of the gold he had made as a tinner."
Old Cornish Song.
THERE is scarcely a spot in Cornwall where tin is at present found, that has not been worked over by the "old men," as the ancient miners are always called.
Every valley has been "streamed "--that is, the deposits have been washed for tin; over every hill where now a tin mine appears, there are evidences, many of them most extensive, of actual mining operations having been carried on to as great a depth as was possible in the days when the appliances of science were unknown.
Wherever the "streamer" has been, upon whatever spot the old miner has worked, there we are told the "Finician" (Phoeniclan) has been, or the Jew has mined. [a]
There is much confusion in these traditions. The Jew, and the Saracen, and the Phoenician are regarded as terms applied to the same people. Whereas the Phoenicians, who are recorded to have traded with the Cornish Britons for tin, and the Jews, who were the great tin miners and merchants in the days of King John, are separated by wide periods of time; and the "Saracens," whom some suppose to have been miners who came from Spain when that country was under the dominion of the Moors, occupy a very undefined position. Tradition, however, tells us that the old Cornish miners shipped their tin at several remarkable islands round the coast. St Michael's Mount has been especially noticed, but this arises from the circumstance that it still retains the peculiar character which it appears to have possessed when Diodorus wrote. But Looe Island, St Nicholas's Island in Plymouth Sound, the island at St Ives, the Chapel Rock at Perran, and many other insular masses of rock, which are at but a short distance from the coast, are said to have been shipping-places.
Tradition informs us that the Christian churches upon Dartmoor, which are said to have been built about the reign of John, were reared by the Jews. Once, and once only, I heard the story told in more detail. They, the Jews, did not actually work in the tin streams and mines of the Moor, but they employed tinners, who were Christians; and the king imposed on the Jew merchants the condition that they should build churches for their miners.
That the Phoenicians came to Cornwall to buy tin has been so often told that there is little to be added to the story. It was certainly new, however, to be informed by the miners in Gwennap--that there could be no shade of doubt but that St Paul himself casne to Cornwall to buy tin, and that Creekbraws--a mine still in existence--supplied the saint largely with that valuable mineral, Gwennap is regarded by Gwennap men as the centre of Christianity. This feeling has been kept alive by the annual meeting of the Wesleyan body in Gwennap Pit--an old mine-working--on Whitmonday. This high estate and privilege is due, says tradition, to the fact that St Paul himself preached in the parish. [b]
I have also been told that St Paul preached to the tinners on Dartmoor, and a certain cross on the road from Plympton to Princes-Town has been indicated as the spot upon which the saint stood to enlighten the benighted miners of this wild region. Of St Piran Or Perran we have already spoken as the patron saint of the tinners, and of the discovery of tin a story has been told; and we have already intimated that another saint, whose name alone is preserved, St Picrous, has his feast-day amongst the tinners of eastern Cornwall, on the second Thursday before Christmas.
Amidst the giant stories we have the very remarkable Jack the Tinker, who is clearly indicated as introducing the knowledge of tin, or of the dressing of tin, to the Cornish. This is another version of Wayland Smith, the blacksmith of Berkshire. The blacksmith of the Berkshire legend reappears in a slightly altered character in Jack the Tinker. In Camden's "Britannia" we read, relative to Ashdown, in Berkshire -
"The burial-place of Baereg, the Danish chief who was slain in this fight (the fight between Alfred and the Danes), is distinguished by a parcel of stones, less than a mile from the bill, set on edge, enclosing a piece of ground somewhat raised. On the east side of the southern extremity stand three squarish fiat stones, of about four or five feet over either way, supporting a fourth, and now called by the vulgar, WAYLAND SMITH, from an idle tradition about an invisible smith replacing lost horse-shoes there."--Gough's Camden.
See "Kenilworth," by Sir Walter Scott, who has appropriated Wayland Smith with excellent effect.
"The Berkshire legend of Wayland Smith ('Wayland Smith,' by W.S. Singer) is probably but a prototype of Daedalus, Tubal Cain, &c."--Wilson's Prehistoric Annals of Scotland.
See also Mr Thomas Wright's Essay on Wayland Smith.
The existence of the terms "Jews' houses," "Jews' tin," "Jews' leavings," or "attall," and "attall Saracen," prove the connection of strangers with the Cornish tin mines. The inquiry is too large to be entered on here. I reserve it for another and more fitting place. I may, however, remark in passing, that I have no doubt the Romans were active miners during the period of their possession; and many relics which have been found and ascribed to the Britons are undoubtedly Roman. See further remarks on "Who are the Knockers ?"
Mr Edmonds supposes that he found in a bronze vessel discovered near Marazion a caldron in which tin was refined. In the first place, a bronze vessel would never have been used for that purpose-- chemical laws are against it; and in the second place, it is more than doubtful if ever the "Jews' tin" was subjected to this process. In all probability, the bronze vessel discovered was a "Roman camp-kettle." A very full description of bronze caidrons of this description will be found in "The Archaeology and Prehistoric Annals of Scotland," by Daniel Wilson, p. 274.
It may not be out of place to insert here the tradition of ~ very important application of this metal.
The use of tin as a mordant, for which very large quantities are now used, is said to have been thus discovered :--
Mr Crutchy, Bankside, married a Scotchwoman. This lady often told her husband that his scarlet was not equal to one she could dye. He set her to work. She dyed a skein of worsted in a saucepan, using the same material as her husband, but produced a better colour. She did not know this was owing to the saucepan's being tinned, but he detected the fact, and made his fortune as a dyer of scarlet and Turkey-red. The most important Turkey-red dye-works are even now in the neighbourhood of Lochlomond; therefore, this Scotchwoman may have been better acquainted with the process than the story tells.
[a] "They maintaine these works to have been verie auncient, and first wrought by the Jewes with Pickaxes of Holme-Boxe and Hartshorne. They prove this ly the name of those places yet enduring, to wit, Attoll Sarazin, in English, the Jewes Offcast, and by those tooles daily found amongst the rubble of such workes."--Survey of Cornwall. Carew. (Appendix, AA.)
[b] Is this supported by the statement of Dr Stillingfleet, Bishop of Worcester, who says "The Christian religion was planted in the Island of Great Britain during the time of the apostles, and probably by St Paul" ?


Shellsort Proficiency Exercise Help Page
This exercise asks you to reproduce the actions taken by the Shellsort algorithm on a random array. Initially, you are given the array and a set of increments to use. The things that you can do are: click on the array cells to highlight those that you want to say make up the current sublist; click on array cells to swap them when you are sorting the sublist; and click on the three buttons at the bottom to advance the exercise to the next step.
For each increment, you will alternate between picking sublists and sorting sublists.
Pick a sublist
The first thing you need to do is pick out the first sublist. You pick the sublist by clicking on array cells. Clicking on an array cell toggles the highlighting. The cells that you should select are determined by the current increment size, and which sublist you are working on. When you are done picking the current sublist, click the "Done Selecting" button.
Sort the sublist
Now that you have defined a sublist, you must sort it. You can swap elements in the sublist (the ones highlighted in yellow) by clicking on them. Once you have the sublist in sorted order, click the "Done Sorting Sublist" button.
Repeat as needed
For the given increment, you will likely need to select and then sort several sublists. Once you have selected and then sorted all of the sublists for this increment, you should click "Done Increment" to start on the next increment. Once you have done all four increments, you are done. You can then look at your score by clicking the "grade" button.
Other controls
- If you want to restart the exercise, click the "Reset" button.
- If you want to back up a step and try again, click the "Undo" button.
- If you want to see the correct answer, click the "Model Answer"
button to see a slideshow in a pop-up window.
- Note: Viewing the answer will prevent you from obtaining credit for the current problem instance. So just hit "reset" when you are done viewing the model answer.
- The button with gears on it will let you set some options such as the animation speed (for the slideshow model answer) and whether the array looks like cells or bars.
- The "About" button will tell you about who wrote this, etc.
- The "Help" button got you here.


Contains one test of Hibernate. ShapeLogic intended that rules should be stored in a database for easier sharing and more control. This has not happened so far.


--- layout: attachment title: Motor Shield Power and Motor Connections date: type: attachment published: false status: inherit categories: [] tags: [] meta: _wp_attached_file: 2012/08/imag0123.jpg _wp_attachment_image_alt: Motor Shield Power and Motor Connections author: login: AlexDGlover email<EMAIL_ADDRESS>display_name: AlexDGlover first_name: Alex last_name: Glover excerpt: Motor Shield Power and Motor Connections ---
Motor Shield Power and Motor Connections


Ode Version History
Note: Ode uses Semantic Versioning: http://www.semver.org/
v0.4.0 (2011-05-28)
- Implemented approximately half of Joy.
v0.3.0 (2011-05-10)
- Renamed the language from "Fika" to "Ode".
- Heavy refactoring to improve future extensibility.
- Added automatic saving of shell state on the client side via the HTML 5 Local Storage API.
- Added these advanced operations: def, undef, newstack, throw-error
- Added these block operations: cons, uncons, stack, unstack, length
- Added these other operations: empty?
v0.2.0 (2011-04-10)
- Implemented tail-call optimization via the 'self' name.
- Added these advanced operations: $eval, $type, $def
- Added these other operations: number?, block?
- Added these functional operations: map, fold
- Fixed compatibility problems with Internet Explorer.
- Increased maximum stack size to 5000.
v0.1.0 (2008-12-14)
- First released version.


Poultry farming in Kenya is playing an important role in the total economy and fulfilling the nutrition demand in Kenya. Reports shows that some people are becoming billionaires by commercial poultry farming...
Poultry farming is a very profitable business. In order to succeed in your poultry farming business, there are certain poultry equipments that are necessary....
Kenya Agricultural Research Foundation (Kari) has come up with a new breed of indigenous chicken that offers better yield called KARI Kienyeji chicken...
So you’re interested in poultry farming,you have done a bit of research but you still don’t know how much you’ll need to jumpstart the business? I know. Starting....
Fowl pox virus is a slow spreading viral disease of various avian species that causes skin lesions (dry pox) or diptheritic lesions (wet pox). Dry pox results in scabs and lesions around the comb, wattle, ears...
Housing is very important factor for poultry farming and how to build a poultry house is a common question for the producers. Basically poultry housing is the main process of keeping your birds healthy,...
Nemity poultry team is committed to the success of farmers in Africa. We provide quality products and services to ensure that farmers get optimal return on investment and consistent performance. We listen to our customers and continually improve on our products and services. We source our products from reliable and certified suppliers through long term partnerships.
Help
Shipping and Delivery
Return Policy
Corporate And Bulk Purchase


Publications
For a complete and up-to-date list, please see my Google Scholar profile.
Deep learning for heathcare
- Akrout, M., Gyepesi, B., Holló, P., Poór, A., Kincső, B., Solis, S., Cirone, K., Kawahara, J., Slade, D., Abid, L., Kovács, M., Fazekas, I.
Diffusion-based Data Augmentation for Skin Disease Classification: Impact Across Original Medical Datasets to Fully Synthetic Images, MICCAI Deep Generative Models workshop, 2023.
- Akrout, M., Farahmand, A.M., Jarmain, T., Abid, L.
Improving skin condition classification with a visual symptom checker trained using reinforcement learning. MICCAI, 2019.
- Akrout, M., Wilson, C., Humphreys, P., Lillicrap, T., and Tweed, D. B.
Deep Learning without Weight Transport. Advances in Neural Information Processing Systems (NeurIPS), 2019.
- Akrout, M., Farahmand, A., Jarmain, T. Improving Skin Condition Classification with a Question Answering Model. Medical Imaging meets NeurIPS Workshop, 2018.
Combining Shannon and Maxwell theories
- Akrout, M., Bellili, F., Mezghani, A., and Nossek, J. A.
Physically Consistent Models for Intelligent Reflective Surface-assisted Communications under Mutual Coupling and Element Size Constraint, IEEE Asilomar Conference on Signals, Systems & Computers, 2023.
- Akrout, M., Shyianov, V., Bellili, F., Mezghani, A., and Heath., R. W.
Bandwidth Gain: the Missing Gain of Massive MIMO. IEEE International Conference on Communications, 2023.
- Akrout, M., Shyianov, V., Bellili, F., Mezghani, A., and Heath., R. W.
Super-Wideband Massive MIMO. IEEE JSAC special issue on Beyond Shannon Communications: A Paradigm Shift to Catalyze 6G, 2023.
- Akrout, M., Shyianov, V., Bellili, F., Mezghani, A., and Heath., R. W.
Achievable Rate of Near-Field Communications Based on Physically Consistent Models. IEEE Transactions on Wireless Communications, 2022.
- Akrout, M.*, Shyianov, V*., Bellili, F., Mezghani, A., and Heath., R. W. (* for joint first co-authorship)
Achievable Rate with Antenna Size Constraint: Shannon meets Chu and Bode. IEEE Transactions on Communications, 2021.
Deep Learning for wireless communication
- Akrout, M., Feriani, A., Bellili, F., Mezghani, A., Hossain, E.
Domain Generalization in Machine Learning Models for Wireless Communications: Concepts, State-of-the-Art, and Open Issues, under submission.
- Akrout, M., Feriani, A., Bellili, F., Mezghani, A., Hossain, E.
Continual Learning-Based MIMO Channel Estimation: A Benchmarking Study. IEEE International Conference on Communications, 2023.
- Fredj, F., Al-Eryani, Y., Maghsudi, S., Akrout, M., and Hossain, E.
Distributed Beamforming Techniques for Cell-Free Wireless Networks Using Deep Reinforcement Learning. IEEE Transactions on Cognitive Communications and Networking, 2022.
- Al-Eryani, Y., Akrout, M., and Hossain, E.
Multiple Access in Cell Free Networks: Outage Performance, Dynamic Clustering, and Deep Reinforcement Learning based Design. IEEE Journal on Selected Areas in Communications, 2021.
- Al-Eryani, Y., Akrout, M., and Hossain, E.
Antenna Clustering for Simultaneous Wireless Information and Power Transfer in a MIMO Full-duplex System: A Deep Reinforcement Learning-based Design. IEEE Transactions on Communications, 2021.
Other areas of deep learning
- Akrout, M., Feriani, A, McLeod, B.
Dynamic Noises of Multi-agent Environments can Improve Generalization: Agent-based Models Meet Reinforcement Learning. Gamification and Multiagent Solutions Workshop at ICLR 2022.
- Akrout, M.. On the Adversarial Robustness of Neural Networks without Weight Transport. Real Neurons & Hidden Units Workshop at NeurIPS 2019.
- Zhu, H., Akrout, M., Zheng, B., Pelegris, A., Jayarajan, A., Phanishayee, A., Schroeder, B. and Pekhimenko, G.
Benchmarking and Analyzing Deep Neural Network Training. IEEE International Symposium on Workload Characterization (IISWC), 2018.
Patents
-
Abid, A., Sanfiz, A. J., Lopez, A. R., Jarmain, E. T., Akrout, M., Challa, A., Kawahara, J. G., Solis-Reyes, S. A.
System to collect and identify medical conditions from images and expert knowledge.


The Carnival of Brazil is an annual Brazilian festival held between the Frida afternoon (47 days before Easter) and Ash Wednesday at noon, which marks the beginning of Lent, the forty-day period before Easter. On certain days of Lent, Roman Catholics and some other Christians traditionally abstained from the consumption of meat and poultry, hence the term "carnival," from carnelevare, "to remove (literally, "raise") meat."
Rhythm, participation, and costumes vary from one region of Brazil to another. In the southeastern cities of Rio de Janeiro, São Paulo, and Vitória, huge organized parades are led by samba schools. Those official parades are meant to be watched by the public, while minor parades ("blocos") allowing public participation can be found in other cities, like Belo Horizonte, also in the southeastern region. The northeastern cities of Recife, Olinda, Salvador, and Porto Seguro have organized groups parading through streets, and public interacts directly with them. This carnival is also influenced by African-Brazilian culture. It is a six-day party where crowds follow the trios elétricos through the city streets, dancing and singing. Also in northeast, Olinda carnival features unique characteristics, heavily influenced by local folklore and cultural manifestations, such as Frevo and Maracatu.
The typical genres of music of Brazilian carnival are, in the Southeast Region in general, mostly cities of Rio de Janeiro and São Paulo: the samba-enredo, the samba de bloco, the samba de embalo and the marchinha; and in the Northeast Region including Pernambuco (mostly cities of Olinda and Recife): frevo and maracatu, and Bahia (mostly the city of Salvador): samba-reggae, pagode (also a type of Samba) and the main genre axé music.
Carnival is the most famous holiday in Brazil and has become an event of huge proportions.[neutrality is disputed] Except for industrial production, retail establishments such as malls, and carnival-related businesses, the country unifies completely for almost a week and festivities are intense, day and night, mainly in coastal cities. Rio de Janeiro's carnival alone drew 4.9 million people in 2011, with 400,000 being foreigners.
Arguably, this cultural manifestation could be historically traced to the Portuguese Age of Discoveries when their caravels passed regularly through Madeira, a territory which already celebrated emphatically its carnival season, and where they were loaded with goods but also people and their ludic and cultural expressions.


Congratulations, you won!
Rules of the game
The purpose of the game is to find the hidden combination of colors. After filling a row with colors, feedback is provided, in the form of black and white circles to the right of the row.
Each black dot means that a color in the row exists in the hidden combination and it's in the correct position.
Each white dot means that a color exists in the hidden combination but it's not in the correct position.


am a recent graduate from Texas State with a BA in Computer Science and a BFA in Communication Design. I am passionate about finding creative solutions and executing them beautifully and intelligently using all the new and fun technologies available.
I love solving new problems in new ways! I'm up for the challenge!
I'll respond to emails and calls as soon as I am able. Check out my Github Repo while you wait


@* * Copyright 2016 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import iht.constants.Constants._ @import iht.constants.IhtProperties._ @import iht.views.html._ @(estimatedValue: String)(implicit request:Request[_], messages: Messages) @iht_main_template_registration(title = Messages("iht.shouldUseOnlineService"), browserTitle = Some(Messages("iht.shouldUseOnlineService")), isFullWidth = false, hasSignOut = false, hasTimeOut = false) { @if(estimatedValue == under325000) {
@Messages("page.iht.filter.useService.under325000.paragraph0")
} @if(estimatedValue == between325000and1million) {@Messages("page.iht.filter.useService.between325000And1Million.paragraph0")
@Messages("page.iht.filter.useService.between325000And1Million.paragraph1")
}@Messages("page.iht.filter.useService.paragraphFinal")
@previous_answers(Messages("iht.countries.englandOrWales"), Some(estimatedValue)) }


Typedefs | |
| typedef void(* | getdns_request_handler_t) (getdns_context *context, getdns_callback_type_t callback_type, getdns_dict *request, void *userarg, getdns_transaction_t request_id) |
Functions | |
| getdns_return_t | getdns_context_set_listen_addresses (getdns_context *context, const getdns_list *listen_addresses, void *userarg, getdns_request_handler_t handler) |
| getdns_return_t | getdns_reply (getdns_context *context, getdns_dict *reply, getdns_transaction_t request_id) |
Detailed Description
Typedef Documentation
◆ getdns_request_handler_t
| typedef void(* getdns_request_handler_t) (getdns_context *context, getdns_callback_type_t callback_type, getdns_dict *request, void *userarg, getdns_transaction_t request_id) |
The user defined request handler that will be called on incoming requests.
Definition at line 1914 of file getdns_extra.h.
Function Documentation
◆ getdns_context_set_listen_addresses()
| getdns_return_t getdns_context_set_listen_addresses | ( | getdns_context * | context, |
| const getdns_list * | listen_addresses, | ||
| void * | userarg, | ||
| getdns_request_handler_t | handler | ||
| ) |
Create a name server by registering a list of addresses to listen on and a user defined function that will handle the requests.
- Parameters
-
context The context managing the eventloop that needs to be run to start serving. listen_addresses A list of address dicts or bindatas that will be listened on for DNS requests. Both UDP and TCP transports will be used. userarg A user defined argument that will be passed to the handler untouched. handler The user defined request handler that will be called with the request received in reply dict format. To reply to this request the function has to construct a response (or modify the request) and call getdns_reply() with the response and the with the request associated request_id. The user is responsible of destroying both the replies and the response. Beware that if requests are not answered by the function, by not calling getdns_reply() this will cause a memory leak. The user most use getdns_reply() with NULL as the response to not answer/cancel a request.
- Returns
- GETDNS_RETURN_GOOD on success or an error code on failure. On failure, the current set of listening addresses is left in place. Also, if there is overlap in listening_addresses between the active set and the newly given set, the ones in the active set will remain in their current condition and will not be closed and reopened, also all assoicated DNS transactions will remain.
◆ getdns_reply()
| getdns_return_t getdns_reply | ( | getdns_context * | context, |
| getdns_dict * | reply, | ||
| getdns_transaction_t | request_id | ||
| ) |
Answer the request associated with a request_id that is received by a request handler
- Parameters
-
context The context managing the eventloop that needs to be run to listen for and answer requests. reply The answer in getdns reply dict or response dict format. When NULL is given as reply, the request is not answered but all associated state is deleted. request_id The identifier that links this response with the received request.
- Returns
- GETDNS_RETURN_GOOD on success or an error code on failure. On fatal failure (no retry strategy possible) the user still needs to cancel the request by recalling getdns_reply() but with NULL as response, to clean up state.


Warning after drug-induced seizure in bar
by Guy WilliamsQueenstown police are warning of the dangers of taking illegal drugs after a man had a seizure in a downtown bar this morning.
Sergeant Steve Watt said police assisted paramedics who attended the 28-year-old, who began having seizures in a Camp St bar about 3.25am.
"He was taken outside by friends, where he became unresponsive.''
Police were told the man had taken a gram of MDMA.
"Ambulance were called, and after some time the male became semi-conscious and responding to voice commands.''
Sgt Watt said the consequences of taking drugs were more serious than commonly believed.
Drugs were often not what sellers purported them to be, and instead could be a "concoction of chemicals'' that were extremely harmful and could cause extreme reactions.
A 52-year-old Arrowtown man was arrested about noon yesterday after he was found carrying 4.18gm of methamphetamine.
The man appeared in the Queenstown District Court on a charge of possession of methamphetamine, and was remanded on bail.


--- layout: post title: Ladakhi Lady and Child date: 2010-11-08 09:00:43.000000000 +05:30 categories: - kiranoncemore - Nikon D3000 tags: - B&W - child - expressions - Ladakh - lady status: publish type: post published: true meta: _edit_last: '2' author: login: kiranoncemore email<EMAIL_ADDRESS>display_name: kiranoncemore first_name: Kiran last_name: '' ---
Av:F/7.1; Tv:1/250s; f:55mm
Post-processing: RAWTherapee
We met this lady with her child when we were walking towards Shanthi Stupa. She was waiting for the bus. She agreed to be photographed, with the condition that we should send her the prints later :-)
The Black and White has given the photo that special touch. I do like the woman's expression and the fact that she is not "posing".
However, I would have loved to get a better view of the child - especially his expression. Also, there's too much of shadow coming into play and obscuring the face of the woman. Given a second chance, I'd set that right by switching places with her.