Introduced in Excel 11 (2003) the Shared Feature 11 ( FEAT11 ) record describes a specific Shared Feature Data such as Tables.
Since the FEAT record in Excel 2002 does not have as much extensibility for round-tripping future data structures through earlier versions of Excel, this new record type is introduced in Excel 2003 which is similar to FEAT record but has more extensibility built in for better round-tripping stories through earlier versions of Excel.
Hence, starting from Excel 2003, the FEAT record, introduced in Excel 2002, is no-longer used for new feature data structures. Instead, FEAT11 is used for saving the data structure for new features such as Tables.
Still, Excel has many different Shared Features such as Formula Error Checking, Protection, SmartTag etc., and Tables, only 3 types of Shared Feature may be created in Excel 2003: Protection, SmartTag, and Tables using either FEAT or FEAT11 records.
Record Data
|
Offset |
Field Name |
Size |
Contents |
|
4 |
rt |
2 |
Record type; this matches the BIFF rt in the first two bytes of the record; =0872h |
|
6 |
grbitFrt |
2 |
FRT cell reference flag (see table below for details) |
|
8 |
Ref |
8 |
Range reference to a worksheet cell region if grbitFrt=1 ( bitFrtRef ). Otherwise blank. |
|
16 |
isf |
2 |
Shared feature type index |
|
18 |
fHdr |
1 |
=0 since this is for feat not feat header |
|
19 |
(Reserved) |
4 |
Reserved for future use |
|
23 |
cref |
2 |
Count of ref ranges this feature is on |
|
25 |
cbFeatData |
4 |
Count of byte for the current feature data. |
|
29 |
(Reserved) |
2 |
=0 currently not used |
|
31 |
rgbFeat |
var |
Variable length byte of feature specific data (see section below for detail FEAT structures of each shared feature type) |
Where the grbitFrt flags has the following bits
|
Bits |
Mask |
Flag Name |
Description |
|
0 |
0001h |
bitFrtRef |
The Ref bits have value |
|
1 |
0002h |
bitFrtVolatile |
Alert when saving in earlier versions of Excel |
|
15-2 |
FFFCh |
bitFrtError |
There are error with this record |
However, since each Shared Feature type has its own specific data structure, this FEAT record has a different data structure layout in the rgbFeat field according to the Shared Feature type (the isf field flags have different Shared Feature types). This is because the detailed data structure of rgbFeat for the Protection and Factoid are listed in FEAT already. Here, only the Table type is listed, and saved in FEAT11 .
The rgbFeat structure for Excel 11 (2003) - If the feature type is a Table (isf=5)
|
Offset |
Field Name |
Size |
Contents |
|
0 |
lt |
4 |
Table data source type: =3 for Query Table |
|
4 |
idList |
4 |
The ID of the Table (unique per worksheet) |
|
8 |
crwHeader |
4 |
How many header/title rows the Table has at the top |
|
12 |
crwTotals |
4 |
How many total rows the Table has at the bottom |
|
16 |
idFieldNext |
4 |
Next id to try when assigning a unique id to a new field |
|
20 |
cbFSData |
4 |
The size of the Fixed Data portion of the Table data structure. |
|
24 |
rupBuild |
2 |
the rupBuild that generated the record |
|
26 |
unusedShort |
2 |
UNUSED short that can be used later. The value is reserved during round-tripping. |
|
28 |
listFlags |
4 |
Collection of bit flags: |
|
32 |
lPosStmCache |
4 |
Table data stream position of cached data |
|
36 |
cbStmCache |
4 |
Count of bytes of cached data |
|
40 |
cchStmCache |
4 |
Count of characters of uncompressed cached data in the stream |
|
44 |
lem |
4 |
Table edit mode |
|
48 |
rgbHashParam |
16 |
Hash value for SharePoint Table |
|
64 |
cchName |
2 |
Count of characters in the Table name string rgbName |
|
66 |
rgbName |
var |
Table name string using Unicode encoding . (See section titled Unicode Strings in Biff8 for more information about these encodings.) |
|
var |
cFieldData |
2 |
Number of column fields in the Table |
|
Var |
cchCSPName |
2 –if listFlags.fLoadCSPName is TRUE 0 -otherwise |
Count of characters in the Cryptographic Service Provider Name string |
|
var |
rgbCSPName |
Var |
Name of the Cryptographic Service Provider used to generate rgbHashParam , of length cbCSPName . String saved using Unicode encoding . (See section titled Unicode Strings in Biff8 for more information about these encodings.) |
|
var |
cchEntryId |
2 –if listFlags.fLoadEntryId is TRUE 0 -otherwise |
Count of characters in the Map Entry Id rgbEntryId |
|
var |
rgbEntryId |
var –if listFlags.fLoadEntryId is TRUE 0 -otherwise |
Map entry ID for XDT ’s using Unicode encoding . (See section titled Unicode Strings in Biff8 for more information about these encodings.) |
|
var |
rgFieldData |
var |
Array of cFieldData many field data (see Field Data table for rgFieldData below for detail bits layout) |
|
var |
cIdDeleted |
2 –if listFlags.fLoadPldwIdDeleted is TRUE 0 –otherwise |
Count of rgIdDeleted , may be non-zero only for a SharePoint linked Table |
|
var |
rgIdDeleted |
var –if listFlags.cIdDelete > 0 0 –otherwise |
Array of cIdDeleted many, 4-byte IDs of rows that were deleted in a SharePoint Table. |
|
var |
cIdChanged |
2 –if fLoadPldwIdChange is TRUE 0 –otherwise |
Count of rgIdChanged , may be non-zero only for a SharePoint linked Table |
|
var |
rgIdChanged |
var –if cIdChanged > 0 0 –otherwise |
Array of cIdChanged many 4-byte IDs of rows in a SharePoint Table changed since the last refresh operation. |
|
var |
cCellInvalid |
2 –of listFlags.fLoadPlstclInvalid is TRUE 0 -otherwise |
Count of rgCellInvalid , may be non-zero only for a SharePoint Table |
|
var |
rgCellInvalid |
var –if listFlags.cCellInvalid > 0 0 –otherwise |
Array of cCellInvalid many 8-byte Cells that contain invalid data that wasn’t caught by normal error checking. Each has: |
Where the listFlags ’ bit setting table is:
|
Bits |
Mask |
Flag Name |
Contents |
|
0 |
00000001h |
fActive |
=1 if the Table is Active |
|
1 |
00000002h |
fAutoFilter |
=1 if an autofilter is applied to the Table |
|
2 |
00000004h |
fPersistAutoFilter |
=1 if the autofilter was cached when Table is deactivated |
|
3 |
00000008h |
fShowInsertRow |
=1 if the insert row is visible |
|
4 |
00000010h |
fInsertRowInsCells |
=1 if cells were inserted to show the insert-row |
|
5 |
00000020h |
fLoadPldwIdDeleted |
=1 if need to load the deleted row IDs |
|
6 |
00000040h |
fShownTotalRow |
=1 if the Table’s total row has been shown before. The total row may not be showing on the Table currently though. |
|
7 |
00000080h |
fInsNewRwInFilter |
=1 if should insert a new row when in filter mode |
|
8 |
00000100h |
fNeedsCommit |
=1 if there are changes made to the Table that haven’t been committed |
|
9 |
00000200h |
fSingleCell |
=1 if the Table is limited to a single cell |
|
10 |
00000400h |
fInDeletion |
=1 if the Table is in Deletion state |
|
11 |
00000800h |
fDoNotApplyFilter |
=1 if should not filter out the records in the Table by AutoFiter |
|
12 |
00001000h |
fForceInsertToBeVisible |
=1 if the Table has no data rows and the insert row is forced to be visible |
|
13 |
00002000h |
fCompressedXml |
=1 if Table XML data was compressed on save |
|
14 |
00004000h |
fLoadCSPName |
=1 if the pstCSPName field exists |
|
15 |
00008000h |
fLoadPldwIdCached |
=1 if need to load the changed row IDs |
|
19-16 |
000F0000h |
verXL |
the verXLCur
generated this LSTD |
|
20 |
00100000h |
fLoadEntryId |
=1 if the Table has Entry ID |
|
21 |
00200000h |
fLoadPllstcInvalid |
=1 if we need to load the array of invalid Table cells |
|
22 |
00400000h |
fGoodRupBld |
=1 if rupBld has been initialized correctly |
|
23 |
00800000h |
fDefaultListBdr |
=1 if the Table border is the default border, in other words, it has not been modified |
|
24 |
01000000h |
fPublished |
=1 if the Table is published |
|
31-25 |
FE000000h |
(Reserved) |
Reserved; Must be zero. |
The List (Table) Editing Mode ( lem ) may take the following values to indicate various editing modes:
|
Value |
Edit Mode |
Description |
|
0 |
lemNormal |
The Table can be edited as normal |
|
1 |
lemRefreshCopy |
The Table must be refreshed before editing is allowed because the user copied a Query Table type of Table |
|
2 |
lemRefreshCache |
The Table must be refreshed before editing is allowed because caching a user change failed |
|
3 |
lemRefreshCacheUndo |
The Table must be refreshed before editing is allowed because undoing a cached user change failed |
|
4 |
lemRefreshLoaded |
The Table must be refreshed before editing is allowed because on load we could not re-connect to the Table source |
|
5 |
lemRefreshTemplate |
The Table must be refreshed before editing is allowed because on load we didn't have a cache to load since the Query Table was saved without it is cell data |
|
6 |
lemRefreshRefresh |
The Table must be refreshed before editing is allowed because a previous refresh failed |
|
7 |
lemNoInsRowsSPRequired |
Rows can't be inserted into this SharePoint Table because there are hidden required columns |
|
8 |
lemNoInsRowsSPDocLib |
Rows can't be inserted into this SharePoint Table because it is a document library |
|
9 |
lemRefreshLoadDiscarded |
The Table must be refreshed before editing is allowed because on load the user wanted to discard cached changes |
|
10 |
lemRefreshLoadHashValidation |
The Table must be refreshed before editing is allowed because on load the validation of the Table’s data area failed |
|
11 |
lemNoEditSPModView |
Can't allow the user to edit this Table due to the type of moderated view it is |
|
12 |
(Reserved) |
Reserved |
|
13 |
(Reserved) |
Reserved |
|
14 |
(Reserved) |
Reserved |
And the array rgFiledData of column data following this data structure for each of its items:
|
Offst |
Field Name |
Size |
Contents |
|
0 |
idField |
4 |
The ID of the Field |
|
4 |
lfdt |
4 |
data type of List field (see lfdt table below for value definition) |
|
8 |
lfxidt |
4 |
The Mso Xml Instance Data Type (see lfxidt table below for the value to data type map) |
|
12 |
ilta |
4 |
Aggregate type of the List field (see table below for value map). |
|
16 |
cbFmtAgg |
4 |
Number of bytes for rgbFmtAgg |
|
20 |
istnAgg |
4 |
What style to apply to the field’s aggregate cell. |
|
24 |
colFlags |
4 |
Collection of bit flags: |
|
28 |
cbFmtInsertRow |
4 |
Number of bytes rgbFmtInsertRow |
|
32 |
istnInsertRow |
4 |
Style for this InsertRow column |
|
36 |
cchFieldName |
2 |
Count of characters in the Field name rgbFieldName |
|
36 |
rgbFieldName |
var |
field name string using Unicode encoding . (See section titled Unicode Strings in Biff8 for more information about these encodings.) |
|
var |
cchCaption |
2 –if colFlags.fSingleCell is FALSE |
Count of characters in the Field Caption string rgbCaption |
|
var |
rgbCaption |
var -if colFlags.fSingleCell is FALSE |
Column caption string using Unicode encoding . (See section titled Unicode Strings in Biff8 for more information about these encodings.) |
|
var |
rgbFmtAgg |
var |
Array of formats applied to aggregation cells, length of cbFmtAgg |
|
var |
rgbFmtInsertRow |
var |
Array of formats applied to insert row cells, length of cbFmtInsertRow |
|
var |
cbAutoFilter |
4 –if colFlags.fAutoFilter is TRUE |
The AutoFitler data for this column (See Feat AutoFilter section in FEATHEADER record). |
|
var |
idObj |
2 –if colFlags.fAutoFilter is TRUE |
The AutoFilter dropdown object ID |
|
var |
AutoFilter |
var –if colFlags.fAutoFilter is TRUE |
The AutoFilter record of size cbAutoFilter (see AUTOFILTER record for detail bits definition) |
|
var |
iXmapMac |
2 –if colFlags.fLoadXmapi is TRUE |
The count of XMap data in rgXMap |
|
var |
rgXmap |
var –if colFlags.fLoadXmapi is TRUE |
Array of iXmpMac of XMapData structures (see XMapData table below for detail structure of each XMap data) |
|
var |
cceFmla |
2 -if colFlags.fLoadFmla is TRUE |
Count of bytes in the calculated column’s formula. |
|
var |
rgbFmla |
var -if colFlags.fLoadFmla is TRUE |
The calculated column formula string of length cceFmla (see how formulas are generally persisted for detail). |
|
var |
cceFmlaTotal |
2 –if colFlags.fLoadTotalFmla is TRUE 0 -otherwise |
Count of bytes in the total row cell’s formula. |
|
var |
rgbFmlaTotal |
var –if colFlags.fLoadTotalFmla is TRUE 0- otherwise |
The total row cell formula string of length cceFmlaTotal (see how formulas are generally persisted for detail). |
|
var |
cchTotal |
2 –if colFlags.fLoadTotalStr is TRUE |
Count of characters in the total row cell string rgbTotal |
|
var |
rgbTotal |
var -if colFlags.fLoadTotalStr is TRUE |
Column caption string using Unicode encoding . (See section titled Unicode Strings in Biff8 for more information about these encodings.) |
|
var |
LCID |
4 –if the rgbFeat.lt =1 |
The LCID of the currency symbol to use |
|
var |
cDec |
4 –if rgbFeat.lt =1 |
The number of decimal places for a numeric colum when fDecSet is 1 (TRUE) |
|
var |
FmtSettings |
4 –if rgbFeat.lt =1 |
Collection of misc. format settings |
|
var |
DVSettings |
4 –if rgbFeat.lt =1 |
Collection of misc. validation settings (see table below)
|
|
var |
rgbDV |
var –if DVSettings.fDefaultSet is TRUE |
The data validation string, whose size depends on the lfdt data type (see lftd vs. rgbDV size table below) |
|
var |
cchFormula |
2 –if DVSettings.fLoadFormula is TRUE |
Count of characters in the validation formula string rgbFormula |
|
var |
rgbFormula |
var -if DVSettings.fLoadFormula is TRUE |
Validation formula string using Unicode encoding . (See section titled Unicode Strings in Biff8 for more information about these encodings.) |
|
var |
cbRtdv |
4 –if rgbFeat.lt =1 |
Count of bytes of dv data – only used for Excel 2003 Beta1 |
Where Ilta has value map:
|
Value |
Name |
Aggregation Function |
|
0 |
|
No formula |
|
1 |
Average |
Average |
|
2 |
Count |
Count |
|
3 |
CountNum |
Count Numbers |
|
4 |
Max |
Max |
|
5 |
Min |
Min |
|
6 |
Sum |
Sum |
|
7 |
StdDev |
Standard Deviation |
|
8 |
Var |
Variance |
|
9 |
Custom |
Any formula |
And the lfxidt of Mso Xml Instance Data Type has the following value map:
|
Value |
Name |
Data Type String |
|
0 |
msoxidtInvalid |
NULL |
|
1 |
msoxidtUnknown |
NULL |
|
0x2400 |
msoxidtComplexContent |
NULL |
|
0x2101 |
msoxidtAnyType |
anyType |
|
0x2102 |
msoxidtAnyUri |
anyURI |
|
0x2103 |
msoxidtBase64Binary |
base64Binary |
|
0x2104 |
msoxidtBoolean |
boolean |
|
0x2105 |
msoxidtByte |
byte |
|
0x2106 |
msoxidtDate |
date |
|
0x2107 |
msoxidtDateTime |
dateTime |
|
0x2108 |
msoxidtDay |
gDay |
|
0x2109 |
msoxidtDecimal |
decimal |
|
0x210A |
msoxidtDouble |
double |
|
0x210B |
msoxidtDuration |
duration |
|
0x210C |
msoxidtEntities |
ENTITIES |
|
0x210D |
msoxidtEntity |
ENTITY |
|
0x210E |
msoxidtFloat |
float |
|
0x210F |
msoxidtHexBinary |
hexBinary |
|
0x2110 |
msoxidtId |
ID |
|
0x2111 |
msoxidtIdRef |
IDREF |
|
0x2112 |
msoxidtIdRefs |
IDREFS |
|
0x2113 |
msoxidtInt |
int |
|
0x2114 |
msoxidtInteger |
integer |
|
0x2115 |
msoxidtLanguage |
language |
|
0x2116 |
msoxidtLong |
long |
|
0x2117 |
msoxidtMonth |
gMonth |
|
0x2118 |
msoxidtMonthDay |
gMonthDay |
|
0x2119 |
msoxidtName |
Name |
|
0x211A |
msoxidtNCName |
NCName |
|
0x211B |
msoxidtNegativeInteger |
negativeInteger |
|
0x211C |
msoxidtNmToken |
NMTOKEN |
|
0x211D |
msoxidtNmTokens |
NMTOKENS |
|
0x211E |
msoxidtNonNegativeInteger |
nonNegativeInteger |
|
0x211F |
msoxidtNonPositiveInteger |
nonPositiveInteger |
|
0x2120 |
msoxidtNormalizedString |
normalizedString |
|
0x2121 |
msoxidtNotation |
NOTATION |
|
0x2122 |
msoxidtPositiveInteger |
positiveInteger |
|
0x2123 |
msoxidtQName |
QName |
|
0x2124 |
msoxidtShort |
short |
|
0x2125 |
msoxidtString |
string |
|
0x2126 |
msoxidtTime |
time |
|
0x2127 |
msoxidtToken |
token |
|
0x2128 |
msoxidtUnsignedByte |
unsignedByte |
|
0x2129 |
msoxidtUnsignedInt |
unsignedInt |
|
0x212A |
msoxidtUnsignedLong |
unsignedLong |
|
0x212B |
msoxidtUnsignedShort |
unsignedShort |
|
0x212C |
msoxidtYear |
gYear |
|
0x212D |
msoxidtYearMonth |
gYearMonth |
And the colFlags ’ bit setting table is:
|
Bits |
Mask |
Bit Name |
Contents |
|
0 |
00000001h |
fAutoFilter |
=1 if has an AutoFilter |
|
1 |
00000002h |
fAutoFilterHidden |
=1 if the Autofilter is hidden |
|
2 |
00000004h |
fLoadXmapi |
=1 if the data source is XML Maper |
|
3 |
00000008h |
fLoadCalcColFmla |
=1 if has calculated column formula |
|
4 |
00000010h |
(Reserved) |
calculated column refers more than rows for Excel 2003 Beta1, not used for Excel 2003 |
|
5 |
00000020h |
fCalcColRefersTo |
=1 if calculated column depend on this field |
|
6 |
00000040h |
fLoadCalcColArray |
=1 if need to load a calculated column array formula |
|
7 |
00000080h |
fLoadTotalFmla |
=1 if need to load total row cell formula |
|
8 |
00000100h |
fLoadTotalArray |
=1 if the total row cell formula is an array formula |
|
9 |
00000200h |
fSaveStyleName |
=1 if need to load header row cell style name |
|
10 |
00000400h |
fLoadTotalStr |
=1 if need to load total row cell string constant |
|
11 |
00008000h |
fAutoCreateCalcCol |
=1 if calculated column should be automatically created on load |
|
31-12 |
FFFFF000h |
(Reserved) |
Reserved; Must be zero. |
The FmtSettings bits are:
|
Bits |
Mask |
Bit Name |
Contents |
|
0 |
00000001h |
fPercent |
Whether the numeric values in the column are percentages |
|
1 |
00000002h |
fDecSet |
Whether the number of decimal places for a numeric column is set |
|
2 |
00000004h |
fDateOnly |
If only the date is displayed for a datetime column |
|
4-3 |
00000018h |
iReadingOrder |
Text column direction: context, ltr, rtl |
|
5 |
00000020h |
fRichText |
Whether this column contains rich text strings |
|
6 |
00000040h |
fUnkRTFormatting |
Whether there was rich text formatting that we didn’t recognize |
|
7 |
00000080h |
fAlertUnkRTFormatting |
Whether we need to alert the user about rich text formatting that we didn’t recognize |
|
31-8 |
FFFFFF00h |
(unused) |
Currently not used. |
The DVSettings bits are:
|
Bits |
Mask |
Bit Name |
Contents |
|
0 |
00000001h |
fReadOnly |
Whether the column is read only |
|
1 |
00000002h |
fRequired |
Whether entries in the column are required |
|
2 |
00000004h |
fMinSet |
Whether the minimum value for a numeric column is set |
|
3 |
00000008h |
fMaxSet |
Whether the maximum value for a numeric column is set |
|
4 |
00000010h |
fDefaultSet |
Whether there is a default value for the column |
|
5 |
00000020h |
fDefaultDateToday |
Whether the default value for the column is today’s date |
|
6 |
00000040h |
fLoadFormula |
TRUE if pstFormula!=NULL on load/save |
|
7 |
00000080h |
fAllowFillIn |
TRUE if the choice field allows custom user entries |
|
31-8 |
FFFFFF00h |
(unused) |
Currently not used. |
And the array of rgXMap has the following data structure for each of its element:
|
Offset |
Name |
Size |
Contents |
|
0 |
grbit |
4 |
Collection of bit flags. (see grbit setting table below for possible values). |
|
4 |
dwMapID |
4 –if grbit. fLoadXMap = TRUE |
The XML map item ID |
|
8 |
cbXPath |
2 – if grbit.fLoadXMap = TRUE |
Count of bytes of XPath string rgbXPath |
|
8 |
rgbXPath |
var |
The XPath , of length cbXPath |
Where the grbit has the following possible values:
|
Bits |
Mask |
Flag Name |
Size |
Contents |
|
0 |
00000001h |
fFilled |
1 bit |
for data was filled down due to flattening |
|
1 |
00000002h |
36. fLoadXMap |
1 bit |
for pstXMap is non-null |
|
2 |
00000004h |
37. fCanBeSingle |
1 bit |
for it can be a single cell |
|
3 |
00000008h |
38. fDefaultSet |
1 bit |
for default value is set for XDT |
|
4 |
FFFFFFF0h |
(unused) |
28 bits |
for currently not used bits |
And the value match for the data type lfdt and the corresponding rgbDV size table:
|
lfdt |
Data Type |
rgbDV Size |
|
1 |
Short text |
Length-pre-fixed wide character string |
|
2 |
Number |
8 |
|
3 |
Yes/No |
4 |
|
4 |
Data time |
8 -if DVSettings.fDefaultDateToday = FALSE |
|
5 |
Multi-line text |
0 |
|
6 |
Currency |
8 |
|
7 |
Lookup |
0 |
|
8 |
Choice |
Length-prefixed wide character string |
|
9 |
Hyperlink |
0 |
|
10 |
Counter |
0 |
|
11 |
Multi-choice |
Length-prefixed wide character string |
Note : One or more CONTINUEFRT11 record(s) maybe used if the rgbFeat is larger than the maximum record size which is 8,228 bytes.


LOST & FOUND
Browse Lost
Report Lost
Browse Found
Report Found
found items
Go!
From Date
© 2015 Furious 7.


MAXIMUM RISK A film review by Bryant Frazer Copyright 1996 Bryant Frazer
Directed by Ringo Lam Written by Larry Ferguson Starring Jean-Claude Van Damme and Natasha Henstridge USA, 1996
GRADE: B+
You've got to think twice before you go see a movie with a title like MAXIMUM RISK.
The title is generic. It's meaningless. And I can't believe it's good business. When you pick up the phone and dial 777-FILM, how in the world are you supposed to remember that the new Jean-Claude Van Damme movie, the one that looked kind of cool in the trailers and is directed by some Chinese hot shot, is called, geez, MAXIMUM RISK? Yuck.
The movie itself deserves your attention.  Only MISSION: IMPOSSIBLE came close to delivering as skillful a thriller, and I'll give Maximum Risk the edge simply because it's not as slick as the Tom Cruise picture, and therefore more gratifying in its execution.
Much to my surprise, Van Damme continues to develop as a pleasant, unpretentious action hero. His track record isn't as solid as Schwarzenegger's, but he's a hell of a lot more adventurous than Arnold. In 1993, Van Damme worked with Hong Kong's premier hardcore action director, John Woo, on a fairly lame movie called HARD TARGET. (If you can find a bootleg copy, Woo's radically different director's cut is much better than what was eventually released.) This follow-up is directed by Ringo Lam (CITY ON FIRE, FULL CONTACT), whose Hong Kong films are distinguished action pictures that have consistently played second fiddle to Woo's more operatic offerings. The surprise here is that MAXIMUM RISK is a more effective Hollywood action flick than either HARD TARGET or Woo's subsequent BROKEN ARROW.
Here's the rundown. Van Damme plays a French cop named Alain Moreau who is shaken when a policeman friend (Jean-Hugues Anglade) finds a corpse that's Alain's exact double. Turns out Alain was separated at birth from his twin brother, Michael, who has been killed by some Russian heavies (and some strangely American looking cops). Alain does some investigating. He finds that Michael had booked a flight to New York City, and received a message from someone there named Alex Bohemia. Assuming Michael's identity, Alain flies to New York and gets tangled up with Michael's girlfriend (Natasha Henstridge), the FBI, and the Russian mob in Little Odessa.
That's as much as you need to know. The story is adequate, but not overly involving -- and the major plot points are basically explained to you twice, just in case you go out for popcorn at the wrong moment. There's a love story, too, but I didn't find it terribly convincing, partly because ex-model Henstridge is too high-strung in her high-profile debut (she had precious few lines as the alien ice queen in SPECIES). She's great to look at, and she can certainly read a line, but what she does here can't really be described as "acting." Of course, "acting" isn't really what she was hired for (I lost track of whether her shirt comes off more often than Van Damme's).
The movie is exceptionally violent, bordering on gratuity. (Keep that in mind when planning your date.) The stunts are spectacular, and the fact that you can spot Van Damme's stand-in makes his work no less impressive. There's only so much you can do with a car wreck, but this movie makes crisp, effective use of pile-ups in a handful of frenzied destruction derbies. And Lam has a surprising, innovative sense of exactly where the camera should go to catch any bit of action.
The main difference between Lam and Woo, I believe, is that while Woo relies on sheer spectacle to gas up his action show pieces, Lam has figured out more about using cinematic space and double-barreled points of view to make things run. Don't get me wrong -- when Chow Yun-Fat soars through space pumping bullets out of two pistols and chewing on a toothpick with glass and confetti littering the air around him in Woo's HARD-BOILED, it's an amazing moment. But it's a moment that's hard to reproduce in Hollywood. (For one thing, Hollywood doesn't yet have Chow Yun-Fat!)
While Woo's Hollywood movies look like the work of a talented upstart, MAXIMUM RISK is a surprisingly confident picture. The very first shot of the film is an awkward overhead view of a chase through the streets of a European city, but Lam's use of odd camera angles becomes more efficient later on. The film editing is a particularly savvy complement to Lam's shooting style, accentuating rather than amplifying the action.
The performances could have used some fine tuning (in particular, there's an annoying, overwritten Manhattan cab driver in the early scenes who should have been toned down or jettisoned completely), and the movie doesn't always overcome the limitations of its genre. The story is a little mundane, although there are some effective moments involving Van Damme's unrequited feelings toward the brother he never knew he had. But it's not often that Hollywood cranks out a truly satisfying action picture, and it's doubly surprising that this one should come with a mere whisper of publicity. Van Damme fans should treat themselves to what may well be the man's best movie, and international action buffs will no doubt savor this flavorful Hong Kong/Hollywood hybrid.
-- DEEP FOCUS (Movie Reviews) http://www.panix.com/~bfrazer/flicker/
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Fur Family
Login
Log in with your email and password
Email address :
Enter Password:
Error:
Login
Or if you dont have an account sign up
here


CrimPapers
Articles published on 16 November 2019
On 16 November 2019, 3 new articles were published in 3 journals.
Iberian-Indigenous Malice and Institutionalization Deficit: the Origins of A Lazy Work Mentality in Colombia
Complications Travel: A Cross‐cultural Comparison of the Proportion of Complications As A Verbal Cue to Deceit by Aldert Vrij,
sharon Vrij
Changes in Gender Inequality and Intimate Partner Violence From 1958-2003: A Birth Cohort Analysis by Nicholas Metheny, Rob Stephenson


Three held on suspicion of conspiracy to commit murder in dawn raids after Cheetham Hill gun war puts public in danger
"This kind of behaviour will not be tolerated on our streets," Supt Rebecca Boyce
by Neal Keeling, http://www.facebook.com/NealKeelingMENArmed police today arrested three suspects after a feud between two crime gangs brought a gun war to the streets of Cheetham Hill.
After early morning raids on two homes in the area two men and a woman were held on suspicion of conspiracy to commit murder. A quantity of drugs was also seized.
Police are linking six incidents in the district - five shootings and a street fight which machetes were brandished.
The violence has included a day-time drive-by shooting, in which two men were blasted in the leg; shots being fired in a convenience store; and car windscreens being blasted.
GMP has launched Operation Heamus to tackle the dispute after a series of incidents since September.
Children's services staff are also involved. It is hoped staff will be able to intervene and guide teenagers involved in the violence - and those on the periphery.
Superintendent Rebecca Boyce, of GMP’s City of Manchester division, said: “Following this morning’s direct action, we have three people in custody and I would like to thank those officers who have worked extremely hard as part of this ongoing operation and who are committed to keeping the people of Cheetham Hill safe.
“Whilst we believe that these incidents have been targeted, we understand and appreciate how concerned local residents may be and as a result of this have set up this dedicated operation. We want to reassure those who feel affected that we are doing all that we can and stress that we are treating these incidents as an absolute priority.
“This is a complex investigation, which brings its own challenges and whilst we have made arrests, we are continuing to appeal for the public’s help. We believe that answers lie within the community and would urge anyone with information to get in touch. Whether you want to speak to us directly, or whether you’d prefer to talk to Crimestoppers anonymously, please do so if you think you can assist our enquiries with even the smallest piece of information.
“We will continue to work closely with partners in order to disrupt this kind of activity and I hope that this morning’s action demonstrates that are working hard in order to prevent any further incidents and protect those in our communities.
“This type of criminal behaviour is reckless and dangerous- it will not be tolerated on our streets.”
Today, two men – both aged 27 – were arrested on suspicion of conspiracy to commit murder. A 27 year old woman was also arrested on suspicion of conspiracy to commit murder and perverting the course of justice.
They all remain in custody for questioning.
Supt Boyce, previously told the Manchester Evening News: "We strongly believe that this is an ongoing dispute between two specific local crime groups. We are unclear as to what has caused this dispute and what is the catalyst for this recent firearms discharges.
"We would urge any member of the public who is aware of what is going on between these crime groups and has information to come forward.
"We are going through an evaluation process to see whether the groups involved meet the threshold for organised crime. We do believe there is a younger element to each of these two groups.
"There is a difference between people involved in these crime groups and these incidents."
"We are concerned that there is a danger to the public because of the time of the day and the locations where they are taking place," Supt Boyce added.
The catalogue of incidents:
September 1: Spender Avenue - windscreen of Toyota blasted
The scene after a car was shot at on Spender Avenue (Image: Steve Allen)
A section of Spender Avenue, at the junction with Huxley Avenue, was sealed off following the incident.
Officers were called just after 6.30pm. A Toyota was left with a shattered back window.
September 21: Downgate Walk - member of public reports firearms discharge
Armed officers raced to the scene on Downgate Walk at around 4.20pm.
An area was cordoned off as police searched for evidence.
One witness said they heard two shots being fired.
October 14: Elmfield Street - machete fight between two groups
Reports of two groups of men fighting with blades - said to be machetes.
October 20: Oakfield Street - car windscreen blasted
Gun shots were fired through the back windscreen of a car.
A number of casings were found on the floor.
Nobody was hurt. Oakfield Street was sealed at around 9pm.
Forensic and TAU officers were later seen combing the area for clues.
They focused their attention on a silver car parked outside a house.
Neighbours were told to use the rear door of their homes when they needed to leave the street so they did not disturb the investigation.
November 15: Cheetham Hill Road - two men shot in legs in drive-by shooting
Two men were seriously injured in a suspected drive-by in broad daylight at around 2.30pm.
Police were seen combing the area in front of the bus stop near the junction with Humphrey Street.
November 18 - Cheetham Hill Road two shots fired into the floor inside Premier Convenience store
A gunman walked into a newsagent's on Cheetham Hill Road at around 5.20pm and fired two shots while a staff member was inside.
Witnesses say they then saw a young man, said to be in his late teens, with his face covered running away.
Anyone with any information is asked to call police on 0161 856 1146; or Crimestoppers, anonymously on 0800 555 111.


Welcome to AppaBank!


Virufy Asymptomatic COVID-19 Detection - Cloud Solution
The Team
- Taiwo Alabi
- Alex Li
- Chloe He
- Ishan Shah
I. Problem Definition
By March 2021, the SARS-CoV-2 virus has infected nearly 120 million people worldwide and claimed more than 2.65 million lives [1]. Moreover, a large percentage of cases were never diagnosed because of hospital overflows and asymptomatic carriers. According to a recent study published in the JAMA Network, an estimated 59% of all COVID-19 transmissions may be attributed to people without symptoms, including 35% who unknowingly spread the virus before showing symptoms and 24% who never experience symptoms [2]. Therefore, in order to prevent further spread of the virus, it’s crucial to have screening tools that are not only fast, accurate, and scalable, but also accessible and affordable to the general population. However, such tools do not currently exist.
Since spring 2020, AI researchers have started exploring the use of machine learning algorithms to detect COVID in a cough. Researchers at MIT and the University of Oklahoma believe that the asymptomatic cases might not be “truly asymptomatic,” and that using signal processing and machine learning methods, we may be able to extract subtle features in cough sounds which are indistinguishable to the human ear [3]. In the past year, there have been a number of related projects around the world: AI4Covid-19 at the University of Oklahoma, Cough against COVID-19 at Wadhwani AI, Opensigma at MIT, Saama AI research, among others.
However, existing cough prediction projects have varying performances and often require high-quality data because the models were trained on audio samples that were recorded in clinical settings and appropriately preprocessed [4]. Some models do not aim only at COVID detection but at all respiratory conditions, which makes it harder to balance between different performance metrics and therefore unsuitable to the needs of minimizing false negatives for the purpose of COVID prevention. These challenges motivated our project, as we hope to build a cloud-computing system better suited for detecting COVID in various types of cough samples and a prescreening tool that is easily accessible, free for all, and produces nearly instantaneous results.
II. System design
Virufy cloud needed an online prediction machine learning system with a low-latency inference capability. We also needed to comply with HIPAA privacy rules with regards to health data collection and sharing.
Hence the machine learning system that we designed is hosted in the cloud on a beefy EC2-t3-instance with GPU acceleration. An elastic IP address was assigned to the EC2 instance and the main app was served at port 8080. A DNS name rapahelalabi.com was used to redirect all traffic to the elastic IP address through the open port.
To comply with HIPAA privacy rules, we decided not to provide the option for users to enter personal information. This ensured complete anonymization of the entire process since data from user, user waveform .wav file, is run through the inference engine and subsequently not stored anywhere in the pipeline.
The data flow diagram for the system is shown above. With the DNS forwarding traffic to the EC2 instance. The EC2 instance does 3 processes to reduce latency including:
- Converts waveform (.wav file) to Mel-frequency spectrogram and Mel-frequency cepstral coefficients (MFCCs)
- It also incorporates a pre-trained XGBoost model from COUGHVID to help validate if there is an actual cough sound in the waveform file.
- It uses the inference model to infer the probability of the Mel-frequency spectrogram and Mel-frequency cepstral coefficients (MFCCs) containing having COVID-sound biomarkers or not.
These 3 processes run asynchronously and the current latency is ~2sec, from uploading a cough sound to getting a positive or negative result output.
The system also has an automated model deployment script that can automate deployment with only one line of code to an Ubuntu deep learning AMI image. The automated script makes it so much easier to deploy by taking care of all dependencies and co-dependencies during deployment. In addition, we also have an automated model validation script that can evaluate performance of many models and give their specificity and sensitivity to COVID-19 using a customized dataset that is also downloaded into the EC2 instance and kept in the repo.
We needed a t3 instance with GPU acceleration because the core of our inference engine uses a convolutional neural network that is accelerable with GPU. We also decided to separate the inference step from the pre-processing and input data validation steps to ensure modularity and error tracking.
The machine learning system we built also has an error-tracking log file in the server that could be used to debug the system when necessary. By incorporating error logging capability, automated model evaluation and validation, automated model deployment, and model inference, we have built and demonstrated a well-rounded system that can serve users from around the world at low latency speed. In addition the model evaluation allows for continuous integration and deployment- CI/CD- since it allows uploading many models and evaluating those models in the cloud. Thus enabling an almost seamless switch from one inference algorithm to another inference algorithm.
A couple of flaws that the system currently faces in production would be susceptibility to attacks. The URL to our EC2 instance is public and we made the port open to the entire world. Although this made it easy to deploy and serve the model it also exposes us to DOS attacks.
In addition, the system is currently not scalable, horizontally. To enable horizontal scaling using a load balancer on AWS we would need to integrate and use EBS (Elastic Beanstalk).
III. Machine Learning
We started out with the hypothesis that cough sound from COVID-19 positive carriers could be differentiated from cough sound from unaffected people. We pre-processed cough recordings from two open-sourced COVID-19 related datasets, Coswara[5] and COUGHVID[6]. Extracted features include the recording waveform, age, and gender. We take all positive samples and randomly selected subsets of negative samples from the datasets to compensate for class imbalance. We also tried taking all samples and assigning different class weight combinations, even though this approach did not perform as well.
Mel-frequency cepstral coefficients (MFCCs) and mel-frequency spectrograms [7] have been used to extract audio signature from cough recordings. Our main approach is to build two branches of the modelling pipeline that can handle those different engineered-features separately, which are sequentially merged together for a single binary classification task.
We received 39 numerical coefficients from MFCCs as output, for which we built a two-layer dense model. The spectrograms are in image format (64x64x3),for which an ImageNet approach can be applied. We attempted numerous pre-trained models on ImageNet, including ResNet50, ResNet101, InceptionV2, DenseNet121, etc. ResNet50 was shown to perform the best. The output of the pre-trained base model is passed to a global average pooling layer, a dense layer and a dropout layer. We merged the outputs from a two-layer dense model for MFCCs and Convolutional Neural Net model, and passed the merged output through another two models with a shrinking number of nodes. The final output is a single node with sigmoid activation function.
Alternatively, we tried automatic neural arectural search using AutoKeras. This is to systematically test for other architectures. However, we did not achieve the same level of performance on the test set obtained by the handbuilt architecture in the past paragraph.
The dataset was randomly shuffled and split into 75% training, 15% validation and 15% test set. During the training, we grid-tuned different optimizers until determining that Adam works best. After training, we found the best cut-off for binary classifications with Youden’s J statistics (Sensitivity + Specificity) [7].
IV. System evaluation
| # samples | Accuracy | Weighted F1 | Sensitivity | Specificity | |
| Female | 864 | 0.7049 | 0.73 | 0.93 | 0.63 |
| Male | 1,968 | 0.6951 | 0.74 | 0.91 | 0.65 |
| # samples | Accuracy | Weighted F1 | Sensitivity | Specificity | |
| <= 20 | 288 | 0.7222 | 0.74 | 0.93 | 0.64 |
| 21-40 | 1,680 | 0.7065 | 0.75 | 0.96 | 0.66 |
| 41-60 | 576 | 0.6867 | 0.73 | 0.88 | 0.65 |
| > 60 | 48 | 0.7292 | 0.65 | 1 | 0.67 |
Table 1: Sliced-based analysis results using an optimized cutoff of 0.012245 across a) gender groups and b) age groups.
We obtained the cutoff based on AUC analysis on the test set. At the threshold, the test set performance achieves 79.71% sensitivity and 49.20% specificity. The FDA guidance to COVID-19 testing solution explicitly mentions that sensitivity and specificity are the main metrics [8]. We believed that sensitivity is the most important metric of success as a screening tool, as it measures how many actual COVID-positives were captured by the model. Achieving approximately 80% sensitivity shows that we can correctly identify those with COVID-19 virus with substantial success. Admittedly, we did not achieve great specificity: 49% specificity means that there is roughly one false positive for every positive prediction. However, from a public health perspective, we think it is far more costly for a restaurant to admit infected customers than to send more people to PCR tests than necessary.
We performed slice-based analysis across different age and gender groups in order to evaluate the performance of our model and address model weaknesses. We did inference on the entire dataset. Using an optimized cutoff of 0.012245, we found that the model achieved almost exactly the same accuracies and F1 scores among the male and female populations. Individuals between the age of 21 and 40 make up most of the population from which the cough samples were crowdsourced; despite large differences in the number of samples across age groups, the model was as accurate in the 21-40 age group as in the >60 age group. These results demonstrate that the cough signatures are generalizable across different gender and age groups, and that the model is not biased towards any gender or age groups.
Separately, we also created an automated system evaluation that can provide analysis of multiple models as well as their inference latencies right within the production environment. These codes run in both python and bash. By using the automated script we were able to capture 2x increase in latency in moving from a tri-layer CNN architecture to a ResNet50 architecture. However, what we gave up in latency we more than made up for in specificity and sensitivity of the algorithm. With the ResNet50 algorithm enabling a sensitivity score of 0.79 and a specificity score of 0.9, while the tri-layer CNN architecture has a sensitivity score of 0.6 and a specificity score of 0.59 in production. Analysis was performed using a separate holdout dataset that was manually culled, curated for sound veracity and sound clarity.
In addition, we evaluated the performance of the pretrained XGBoost cough validation classifier, which has some drawbacks. Specifically, the algorithm tends to misclassify audio recordings that have low-pitch or quiet coughs as non-cough files.
V. Application demonstration
We chose to make this a web application running on AWS and routed to Taiwo’s URL (raphaelalabi.com) to keep it simple for the user and have their result with a couple of clicks. The feature set of the web app is fairly simple. It consists of uploading a .wav file to the browser and clicking the “Process” button. The app could reject the input due to a wrong file format, the audio not within length boundaries (0.5 - 30 seconds), or the audio not being detected as a cough, and output the appropriate error message (image below).
If the input is accepted, based on a fixed threshold determined by model evaluation, you will reach either a “positive” or “negative” landing page after a few seconds, returning the probability that you are an asymptomatic COVID carrier and general guidelines in both cases. We decided to only have two landing pages as we did not feel confident in setting more thresholds based on limited evidence from our model evaluation.
Instructions and Images:
- Navigate to raphaelalabi.com
- Upload .wav file from your local directories and click “Process”:
That’s it! The possible errors mentioned above display a message like this and ask to re-upload:
If the model successfully processed the data, you will get one of the following landing pages specifying a “positive” or “negative” result with disclaimers and guidance:
VI. Reflection
We believe that the infrastructure that we built our system on worked well given the team members’ varying skill sets. AWS was a great fit because their deep learning EC2 instances come preloaded with Anaconda and other linux commands required for deployment of our application, cutting out the time-consuming step of installing them and properly configuring their paths. Furthermore, Taiwo, who has more experience with the platform, deploys the app through his root account, and created IAM accounts so the rest of us could easily access the same resources.
Another success was keeping the code concise through properly compartmentalizing it. Essentially, we pull the .wav file through a simple API call, run it through a preprocessing function to featurize it and verify it’s a cough, then run inference through the model loaded from an hdf5 file and trained separately from the system’s codebase. This setup allowed us to iterate our system and use Git with fewer roadblocks.
In general, our team communicated effectively over Slack and had an effective division of labor as we consistently listed the remaining action items and assigned them. However, we could have met on Zoom more and learned about each other’s components with more depth, as we spent a fair bit of time in the chat playing catch-up.
The most obvious drawback in our current system is the need for the file to be .wav, which often requires a user to manually convert the audio on a third-party website. Given a little more time, we would probably have solidified the functionality of recording within the application and/or accept and internally convert audio files of other formats.
A more subtle yet significant limitation comes from the data utilized to train and evaluate our model. The coughs could come from symptomatic carriers, not just asymptomatic, diluting our metrics. After manually listening to positive waveforms from Coswera, we could not tell if some were asymptomatic forced coughs or naturally occurring coughs from patients. We realized we cannot solve this challenge to differentiate the two because we do not have the ground truth or curated datasets from both categories.
With more time and resources, the first critical component to improve on would be model performance –prioritizing sensitivity. We could only train a few architectures and hyperparameter combinations on a limited dataset, so we would want to expand on that with more research and compute power. Also, we would learn the ins-and-outs of audio data and its different features to expand the pre-processing code, and relatedly implementing segmentation methods to reduce noise in the input. The second would be to improve the general user experience. For example, if a positive result is returned, we should return a basic analysis of the waveform explaining the model’s “decision”, and possibly route the user to a PCR test based on their current location.
We are operating under the umbrella of the larger Virufy non-profit, and hope portions of our work can be adapted into their codebase. Some of our team members are thinking about continuing to work on Virufy, and hope to see it succeed with the continued development of new features and more accurate models.
VII. Broader Impacts
This application is intended for use as a potential, fast, and accurate COVID detection using an unforced cough wave-form from an individual. We could see this used as a diagnostic tool in airports, hospitals and other health institutions, care-taker homes etc. This algorithm will come in handy in those places where fast diagnosis of COVID-19 ensures that regular traffic flow is minimally impacted by the need to ensure those coming into those institutions are not asymptomatic carriers.
A potential associated harm with using this machine learning system is that it is possible that a person with common viral pneumonia or a bad case of the flu could also be labelled by the algorithm as an asymptomatic carrier. The algorithm has not been properly calibrated with users having flu, pneumonia, and other respiratory conditions but that do not have COVID or have COVID. Our belief is that such individuals may also carry the vocal bio-maker for COVID that the model has learned and thus be classified as COVID-positive.
Lastly, our system is designed as a prescreening tool and not as a comprehensive test that would replace regular PCR or rapid testing procedures. We intended to make this as clear as possible by providing warnings and reminders on our web UI. Moreover, because the test is not 100% accurate and we do expect to see false negatives to some degree after deployment (even though we try to minimize this as much as possible), we heavily emphasize the need to continue to follow public health guidelines and quarantine procedures on our results page. For individuals who receive positive predictions, we prompt them to get a more reliable test (such as PCR) as soon as possible.
VIII. Contributions
Taiwo
- Wrote the FE interface with boot-strapped HTML/Javascript to Python.
- Wrote the deployment scripts.
- Wrote the automated testing scripts.
- Wrote the general framework of the API for pre-processing, inference.
- Engineered the use of AWS (EC2), Elastic IP address for the oncloud prediction.
- Worked on data pre-processing for the coughvid and re-wrote the initial base-line
- algorithm that gave the team a first look at the model performance.
- Worked on the initial model with multi-band CNN and DNN.
Chloe
- deployed model on EC2 and set up serving on AWS and routing to custom domain (through Namecheap)
- designed web UI (front-end)
- workshop presentation and final presentation
Alex
- Conducted deep and detailed analysis on model training, development and analysis. The output model was used in final presentation.
- Defined the cut-off threshold for the ResNet machine learning model,
- Did slice based analysis to evaluate model performance on different age and gender
- Did initial exploratory work with Sagemaker and GCP AI platform in terms of model hosting.
- Made MVP demo slides and presentation video
Ishan
- Integrated the cough validation XGBoost model into our codebase and verified its compatibility with our existing system on the EC2 instance
- Added functionalities like checking the length of the input sound
- Made UI modifications needed for final product
- Prepared appropriate examples and conducted MVP and final demos
GitHub Repo URL:
The URL to the github repo with all the code is: https://github.com/taiworaph/covid_cough
References
[1] COVID-19 Dashboard by the Center for Systems Science and Engineering (CSSE) at Johns Hopkins University (JHU). (n.d.). Retrieved March 17, 2021, from https://coronavirus.jhu.edu/map.html
[2] Johansson MA, Quandelacy TM, Kada S, et al. SARS-CoV-2 Transmission From People Without COVID-19 Symptoms. JAMA Netw Open. 2021;4(1):e2035057. doi:10.1001/jamanetworkopen.2020.35057
[3] Scudellari, M. (2020, November 4). AI Recognizes COVID-19 in the Sound of a Cough. Retrieved March 17, 2021, from https://spectrum.ieee.org/the-human-os/artificial-intelligence/medical-ai/ai-recognizes-covid-19-in-the-sound-of-a-cough
[4] Fakhry, Ahmed, et al. “Virufy: A Multi-Branch Deep Learning Network for Automated Detection of COVID-19.” arXiv preprint arXiv:2103.01806 (2021).
[5] Neeraj Sharma, Prashant Krishnan, Rohit Kumar, Shreyas Ramoji, Srikanth Raj Chetupalli, Nirmala R., Prasanta Kumar Ghosh, and Sriram Ganapathy. Coswara – A Database of Breathing, Cough, and Voice Sounds for COVID-19 Diagnosis. arXiv:2005.10548 [cs, eess], August 2020. URL http://arxiv.org/abs/2005. 10548. arXiv: 2005.10548.
[6] Lara Orlandic, Tomas Teijeiro, and David Atienza. The COUGHVID crowdsourcing dataset: A corpus for the study of large-scale cough analysis algorithms. arXiv:2009.11644 [cs, eess], September 2020. URL http: //arxiv.org/abs/2009.11644. arXiv: 2009.11644.
[7] Brownlee, J. (2021, January 04). A gentle introduction to threshold-moving for imbalanced classification. Retrieved March 17, 2021, from https://machinelearningmastery.com/threshold-moving-for-imbalanced-classification/
[8] Center for Devices and Radiological Health. (n.d.). EUA Authorized Serology Test Performance. Retrieved March 17, 2021, from https://www.fda.gov/medical-devices/coronavirus-disease-2019-covid-19-emergency-use-authorizations-medical-devices/eua-authorized-serology-test-performance


I'm using make
for a simple shell project, to run tests before
committing. The check was trivial:
SHELL = bash test: @./run-tests t | grep 'Summary: 16 PASSED, 0 FAILED, 0 ERRORED' >/dev/null
This has the nice quality of Silence is Golden: say nothing when all is good. However, it loses the quality of Complain on Failure: it simply fails without saying why.
A better solution, preserving both qualities:
SHELL = bash test: @diff --color=auto \ <(./run-tests t | grep 'Summary: .* PASSED, .* FAILED, .* ERRORED') \ <(echo 'Summary: 16 PASSED, 0 FAILED, 0 ERRORED')
It still says nothing when all is good, but now shows on failure how many tests went awry. Bonus: color for programmers who like that sort of thing.
Why set SHELL
to bash
? I'm taking advantage of Process
Substitution. Essentially the command outputs inside the
subshells are turned into special kinds of files, and diff
likes to compare files. Ksh and Zsh also support process substitution, so
I'm going with the most widely available option.
UPDATE:
Why are my arguments to diff
ordered like that? In usual testing language, I'm comparing "actual" vs
"expected", and more commonly you'll see programmers list "expected"
first.
diff
by default colors the left-hand input in RED, and the right-hand input in
GREEN. On failure, it makes more sense to
color "actual" in red and "expected" in green. Example output on failure:
$ make 1c1 < Summary: 17 PASSED, 1 FAILED, 0 ERRORED --- > Summary: 19 PASSED, 0 FAILED, 0 ERRORED make: *** [Makefile:4: test] Error 1


Government response
Schools Minister Lord Hill writes to 'The Guardian' on underperforming schools and academies.
Dear Sir
David Lammy’s letter (‘Stop this bullying over academy status’, 17 December) and Warwick Mansell’s article (‘It’s the end of state education’, 20 December) were both wrong, so far as both motives and methods are concerned.
Our motivation is simply to raise standards for children. Eight primary schools in Haringey are below the floor standard - the highest number in London, with 5 having been below for 4 or more of the last 5 years. Ofsted have said that 5 Haringey primaries need significant improvement.
Our support for academies is not based on an ideological whim, but evidence which started to accumulate under the Labour government. It has been backed up by independent reports from the London School of Economics and the NAO. Schools in some of the most deprived areas of the country that were once underperforming have been transformed thanks to the Academy programme, supported by passionate sponsors and fantastic teachers.
Back in June, the Secretary of State said that the Government would be targeting underperforming primary schools. He rightly did not ‘name and shame’ local authorities or schools. Since then officials have had monthly meetings with Haringey - a total of 6 meetings. They have also met local headteachers. At all stages we have been clear that our goal is school improvement and have sought to work with the local authority - as we have done successfully in many other parts of the country.
So perhaps it is not our stance on academies which is ideological. All we want is a lasting solution to under-performance so that children in Haringey can have the kind of opportunities that exist in neighbouring local authorities.
Yours faithfully,
Lord Hill
Parliamentary Under Secretary of State for Schools
Published: 23 December 2011


Evolution Of Life
The goal of the game is to populate the Earth with life as we travel through its 4 billion year history. Click anywhere on the map to create new life. Some life can only be spawned in the ocean, and some only on land.
Select new life forms as they evolve here
This timer shows where you are in Earth's history, from 4 billion years ago to present. You have 60 seconds in this game.
Game Over
Did you miss it?
Homo Sapiens (humans) evolved in the last
0.005
seconds of this game.
In that very short time, humanity has been directly causing the ongoing
Holocene Mass Extinction
In this sixth mass extinction, species are going extinct 100 to 1,000 times faster than normal.
We can all help to preserve our planet. View these resources for more information.


Lebanon to hold state gasoline tender on trial basis - caretaker minister
by ReutersBEIRUT — Lebanon will hold a state tender for 95 octane gasoline next month that will cover about 10% of annual needs, its caretaker energy minister told Reuters on Friday, adding the results would determine whether the state becomes a long-term buyer.
Energy Minister Nada Boustani said the tender was announced after private importers, who mainly procure the country’s gasoline, sought to raise prices after being hit by rising dollar costs on a parallel market. (Reporting by Nadine Awadalla and Eric Knecht; Editing by Jan Harvey)


#define DATATYPES
Describes the data types used in this documentation.
| BYTE |
|
A single, lonely octet. | |
| WORD |
|
A two-byte integer. Its endianness unknown, because the value it contains is yet unknown, it's always 0, or nobody entered the correct endianness yet. | |
| WORD.B |
|
A two-byte integer in big-endian byte order, that is, the byte sequence 0xab 0xcd represents the value 0xabcd = 43981. | |
| WORD.L |
|
A two-byte integer in little-endian byte order, that is, the byte sequence 0xab 0xcd represents the value 0xcdab = 52651. | |
| DWORD |
|
A four-byte integer. Its endianness unknown, because the value it contains is yet unknown, it's always 0, or nobody entered the correct endianness yet. | |
| DWORD.B |
|
A four-byte integer in big-endian byte order, that is, the byte sequence 0x12 0x34 0x56 0x78 represents the value 0x12345678 = 305419896. | |
| DWORD.L |
|
A four-byte integer in little-endian byte order, that is, the byte sequence 0x12 0x34 0x56 0x78 represents the value 0x78563412 =<PHONE_NUMBER>. | |
| IP |
|
A four byte IP number, that is, the byte sequence 0x12 0x34 0x56 0x78 represents the IP address <IP_ADDRESS>. | |
| COLOR |
|
A four byte set of values for the three colors red, green, blue, where the last byte is unused and always zero, that is, the byte sequence 0x11 0xbb 0x66 0x00 represents the color with red at 6.6%, green at 73.3%, and blue at 40%. | |
| TIME |
|
A time stamp in in seconds since the Computer epoch as a DWORD.B, that is, the current time, time(NULL), would be like the byte stream 0x3f 0x8e 0xfe 0x37. | |
| WTIME |
|
A time stamp in 1/1500 seconds since 8am of that Sunday. From a struct timeval tv, as gotten by gettimeofday(), this value can be computed as: ((tv.tv_sec - 8 * 60 * 60) % (7 * 24 * 60 * 60)) * 1500 + (tv.tv_usec * 3) / 2000. | |
| STR |
|
A string, that is, a byte sequence. It's encoding is detemined by external properties (it doesn't even have to be a C string), as well as its length. To make it explicit: there is no trailing zero in it. | |
| BUIN |
|
The sequence BYTE STR, where the leading byte gives the length of the string. If you don't understand by looking up STR: no trailing zero again. | |
| BSTR |
|
The sequence WORD.B STR, where the leading bytes give the length of the string. Did I already repeat "no trailing zero"? | |
| LNTS |
|
The sequence WORD.L STR 0x00, where the leading bytes give the length of the string, including trailing null byte. E.g., the sequence 0x04 0x00 0x30 0x31 0x32 0x00 represents the string "012" in the US-ASCII character encoding. | |
| LLNTS |
|
The sequence WORD.L LNTS, where the leading two bytes give the length in bytes of the LNTS and are redundant. E.g., the sequence 0x06 0x00 0x04 0x00 0x61 0x62 0x63 0x00 is the representation of the string "abc" in the US-ASCII encoding. | |
| DLStr |
|
The sequence DWORD.L STR, where the leading four bytes determine the length of the string. Again, no trailing zero. | |
| CAP |
|
A sequence of 16 bytes, dubbed capability, that often is a Windows ClassID. E.g. the sequence 0x09 0x46 0x13 0x4E 0x4C 0x7F 0x11 0xD1 0x82 0x22 0x44 0x45 0x53 0x54 0x00 0x00 represents the capability "{0946134E-4C7F-11D1-8222-444553540000}", dubbed CAP_UTF8. See CAPABILITIES for other used values. | |
| UINLIST |
|
A sequence of BUINs. It's count is determined by external properties, e.g. a count or the remaining length of its container. | |
| DATA |
|
A sequence of BYTEs. It's count is determined by external properties, e.g. a count or the remaining length of its container. Often, it represents a placed to be filled with (depending on some other value) some otehr sub-packet. E.g., the DATA part in a FLAC is often a SNAC. | |
| <numerical> |
|
A sequence of |


#ftl output_format="HTML" auto_esc=true> <#import "layout/default.html" as layout><EMAIL_ADDRESS>Dear ${notificationTarget.name},
The application ${applicationName} has been deleted by ${leadUserName}.
All the application information has been deleted from the Innovation Funding Service and is no longer available to any partner organisation.
If you have any questions please email ${leadEmail}.
Yours sincerely,
<EMAIL_ADDRESS>/> @layout.default>


--- layout: post title: 'Doc Searls: What You Frame Is What You Get' date: '2008-06-17T10:29:05-07:00' tags: tumblr_url: http://alexhwilliams.tumblr.com/post/38777559/doc-searls-what-you-frame-is-what-you-get ---
In response to Doc Searls post this morning:
In the past few years, content has continued to spread as a term to describe poems, essays, illustrations, music and the endless other forms of personal expression. What deserves protection so these forms of personal expression do not become illegal acts? Should the pipes and containers that hold digital media be protected? If we do not protect the transportation mechanisms then they will eventually be policed. And if they are policed, then what rights do we have?


The method proposed in this package takes into account the impact of dependence on the multiple testing procedures for high-throughput data as proposed by Friguet et al. (2009). The common information shared by all the variables is modeled by a factor analysis structure. The number of factors considered in the model is chosen to reduce the false discoveries variance in multiple tests. The model parameters are estimated thanks to an EM algorithm. Adjusted tests statistics are derived, as well as the associated p-values. The proportion of true null hypotheses (an important parameter when controlling the false discovery rate) is also estimated from the FAMT model. Graphics are proposed to interpret and describe the factors.
| Version: | 2.5 |
| Depends: | mnormt, impute |
| Published: | 2014-01-02 |
| Author: | David Causeur, Chloe Friguet, Magalie Houee-Bigot, Maela Kloareg |
| Maintainer: | David Causeur <David.Causeur at agrocampus-ouest.fr> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| URL: | http://famt.free.fr/ |
| NeedsCompilation: | no |
| CRAN checks: | FAMT results |
| Reference manual: | FAMT.pdf |
| Package source: | FAMT_2.5.tar.gz |
| Windows binaries: | r-devel: FAMT_2.5.zip, r-release: FAMT_2.5.zip, r-oldrel: FAMT_2.5.zip |
| OS X binaries: | r-release: FAMT_2.5.tgz, r-oldrel: FAMT_2.5.tgz |
| Old sources: | FAMT archive |
Please use the canonical form https://CRAN.R-project.org/package=FAMT to link to this page.


Home Page
|
Contact Me
|
About Me
|
Donate
Contact Info
Usully, the best way to contact me is to use my
email.
I Usully will replay in less than a week.


Install the tool using GNU make as described in section 1.1.
Run disktype with the path to your desired source as command line argument. Using multiple paths as arguments, you may analyze several sources at a time. disktype will return a single JSON object for each source to standard output.
If you call the tool with a single source only, you may add "| json_pp" to the command in order to receive a formated output.
Check the /misc/file-system-sampler/ folder for some exemplary images.


1 // Copyright 2007, Google Inc. 2 // All rights reserved. 3 // 4 // Redistribution and use in source and binary forms, with or without 5 // modification, are permitted provided that the following conditions are 6 // met: 7 // 8 // * Redistributions of source code must retain the above copyright 9 // notice, this list of conditions and the following disclaimer. 10 // * Redistributions in binary form must reproduce the above 11 // copyright notice, this list of conditions and the following disclaimer 12 // in the documentation and/or other materials provided with the 13 // distribution. 14 // * Neither the name of Google Inc. nor the names of its 15 // contributors may be used to endorse or promote products derived from 16 // this software without specific prior written permission. 17 // 18 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 30 31 // Google Mock - a framework for writing C++ mock classes. 32 // 33 // This file implements some commonly used cardinalities. More 34 // cardinalities can be defined by the user implementing the 35 // CardinalityInterface interface if necessary. 36 37 // GOOGLETEST_CM0002 DO NOT DELETE 38 39 #ifndef GMOCK_INCLUDE_GMOCK_GMOCK_CARDINALITIES_H_ 40 #define GMOCK_INCLUDE_GMOCK_GMOCK_CARDINALITIES_H_ 41 42 #include <limits.h> 43 #include <ostream> // NOLINT 44 #include "gmock/internal/gmock-port.h" 45 #include "gtest/gtest.h" 46 47 GTEST_DISABLE_MSC_WARNINGS_PUSH_(4251 \ 48 /* class A needs to have dll-interface to be used by clients of class B */) 49 50 namespace testing { 51 52 // To implement a cardinality Foo, define: 53 // 1. a class FooCardinality that implements the 54 // CardinalityInterface interface, and 55 // 2. a factory function that creates a Cardinality object from a 56 // const FooCardinality*. 57 // 58 // The two-level delegation design follows that of Matcher, providing 59 // consistency for extension developers. It also eases ownership 60 // management as Cardinality objects can now be copied like plain values. 61 62 // The implementation of a cardinality. 63 class CardinalityInterface { 64 public: 65 virtual ~CardinalityInterface() {} 66 67 // Conservative estimate on the lower/upper bound of the number of 68 // calls allowed. 69 virtual int ConservativeLowerBound() const { return 0; } 70 virtual int ConservativeUpperBound() const { return INT_MAX; } 71 72 // Returns true iff call_count calls will satisfy this cardinality. 73 virtual bool IsSatisfiedByCallCount(int call_count) const = 0; 74 75 // Returns true iff call_count calls will saturate this cardinality. 76 virtual bool IsSaturatedByCallCount(int call_count) const = 0; 77 78 // Describes self to an ostream. 79 virtual void DescribeTo(::std::ostream* os) const = 0; 80 }; 81 82 // A Cardinality is a copyable and IMMUTABLE (except by assignment) 83 // object that specifies how many times a mock function is expected to 84 // be called. The implementation of Cardinality is just a linked_ptr 85 // to const CardinalityInterface, so copying is fairly cheap. 86 // Don't inherit from Cardinality! 87 class GTEST_API_ Cardinality { 88 public: 89 // Constructs a null cardinality. Needed for storing Cardinality 90 // objects in STL containers. 91 Cardinality() {} 92 93 // Constructs a Cardinality from its implementation. 94 explicit Cardinality(const CardinalityInterface* impl) : impl_(impl) {} 95 96 // Conservative estimate on the lower/upper bound of the number of 97 // calls allowed. 98 int ConservativeLowerBound() const { return impl_->ConservativeLowerBound(); } 99 int ConservativeUpperBound() const { return impl_->ConservativeUpperBound(); } 100 101 // Returns true iff call_count calls will satisfy this cardinality. 102 bool IsSatisfiedByCallCount(int call_count) const { 103 return impl_->IsSatisfiedByCallCount(call_count); 104 } 105 106 // Returns true iff call_count calls will saturate this cardinality. 107 bool IsSaturatedByCallCount(int call_count) const { 108 return impl_->IsSaturatedByCallCount(call_count); 109 } 110 111 // Returns true iff call_count calls will over-saturate this 112 // cardinality, i.e. exceed the maximum number of allowed calls. 113 bool IsOverSaturatedByCallCount(int call_count) const { 114 return impl_->IsSaturatedByCallCount(call_count) && 115 !impl_->IsSatisfiedByCallCount(call_count); 116 } 117 118 // Describes self to an ostream 119 void DescribeTo(::std::ostream* os) const { impl_->DescribeTo(os); } 120 121 // Describes the given actual call count to an ostream. 122 static void DescribeActualCallCountTo(int actual_call_count, 123 ::std::ostream* os); 124 125 private: 126 internal::linked_ptr<const CardinalityInterface> impl_; 127 }; 128 129 // Creates a cardinality that allows at least n calls. 130 GTEST_API_ Cardinality AtLeast(int n); 131 132 // Creates a cardinality that allows at most n calls. 133 GTEST_API_ Cardinality AtMost(int n); 134 135 // Creates a cardinality that allows any number of calls. 136 GTEST_API_ Cardinality AnyNumber(); 137 138 // Creates a cardinality that allows between min and max calls. 139 GTEST_API_ Cardinality Between(int min, int max); 140 141 // Creates a cardinality that allows exactly n calls. 142 GTEST_API_ Cardinality Exactly(int n); 143 144 // Creates a cardinality from its implementation. 145 inline Cardinality MakeCardinality(const CardinalityInterface* c) { 146 return Cardinality(c); 147 } 148 149 } // namespace testing 150 151 GTEST_DISABLE_MSC_WARNINGS_POP_() // 4251 152 153 #endif // GMOCK_INCLUDE_GMOCK_GMOCK_CARDINALITIES_H_


Online Triangle Solver
a
b
c
α
β
γ
area
perimeter
Online Triangle Solver | Created by Daren Liang and Ishwar Desai. Big thanks to Fred Deng and the community of testers.
Version 1.2.2 | Updated on October 7th, 2015
© All rights reserved
Online Triangle Solver
a
b
c
α
β
γ
area
perimeter
Online Triangle Solver | Created by Daren Liang and Ishwar Desai. Big thanks to Fred Deng and the community of testers.
Version 1.2.2 | Updated on October 7th, 2015
© All Rights Reserved
Loading
Loading


Yellow Submarine (1968) 90m
One-of-a-kind animated fantasy by the Beatles - well not exactly: they contributed the music, but the story and voice acting was done without their involvement. The animated Fab Four are asked to help save Pepperland, a musical paradise, from occupation by the music-hating Blue Meanies. It's a magical world, and so can be reached only by magical means, viz. the submarine of the title. Consider the year of the production, the recently released 'Sgt Pepper' album's flirtation with the drug culture, and the basic concept of a dimension-traveling submarine, and you'll see why the "trip" takes up most of the story. The submarine image dominates the film's psychedelic world so comfortably that you may forget that it was originally derived from a children's song. The Beatles may have suspected this juvenile treatment for the cartoon early on, which explains why one of their songs written specifically for the movie was a children's chant ('All Together Now'). While it's great to see animated sequences to classic Beatle songs - like prototypical music video clips - it's the newer material that synthesizes best with the look that the film-makers were striving for. 'Only A Northern Song' and 'It's All Too Much' point the way to SUBMARINE's potentially wilder side; and while the script throws in 'Lucy in the Sky with Diamonds' the rest of the Beatles extant catalogue just doesn't have the 'acid' sensibility to promote a complete head trip.
It's probably a good thing, however. Nothing dates more badly than an era, and while YELLOW SUBMARINE is recognizably the product of the late 60s it is not dependent on it. There are the prerequisite acknowledgements to flowers, butterflies, and love but this is saturated with so much visual innovation and wall-to-wall puns that the entire film could just as easily be a contemporary construct paying a postmodern homage to the era (in fact YELLOW SUBMARINE has already been emulated in video clips by Michael Jackson and Oasis). The entertainment value of the film is probably unquestionable if you're a Beatles fan, or an animation fan, or ideally both. Children raised on cartoon slapstick and rocket-paced visuals may be a little bewildered by the film's reliance of wit over action, but it'll do them good. Adults will find more to enjoy in the script's many conundrums and wall-to-wall puns, many of which refer to Beatles lyrics. Film starts to wind down near the end - the Chief Blue Meanie gets really tiresome - but at least you know it's all bound to finish with a song. It's a credit to the art direction by Heinz Edelmann that this feature has retained its entirely distinctive look decades later. The soundtrack was digitally overhauled on the film's 30th anniversary and re-introduced in cinemas to stunning effect - now awash in an ocean of huge, crystal-clear sound, SUBMARINE's voyage is truly complete.
<EMAIL_ADDRESS>Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


The Royal Family documentary the Queen didn't want anyone to see
Netflix hit series The Crown talked about this elusive documentary
by Emma GrimshawAlmost six decades ago, the Queen welcomed cameras into her home to film a behind-the-scenes documentary about her family.
During this unprecedented show, crews enjoyed a rare opportunity to witness the private lives of the Monarch, Prince Philip and their children.
Footage showed them doing their day-to-day things like chatting at the breakfast table and relaxing in their living room.
Richard Cawston's two hour documentary 'Royal Family' aired on the BBC on June 21, 1969, with 37 million viewers settling down to watch, reports the Mirror.
But that was the first and last time viewers were ever allowed to watch the film. Afterwards the Queen had a change of heart, deciding it was too "too intrusive" and ordered for it to be kept hidden in the BBC vaults.
And it wasn't just the Queen who wasn't happy with the footage.
Princess Anne said: "I never liked the idea of 'Royal Family', I thought it was a rotten idea.
"The attention which had been brought upon one ever since one was a child, you just didn't need any more."
And since then little attention has been given to the documentary banish from history that is until the decision to pull the footage featured in season three of The Crown, where Olivia Colman plays the Queen.
Michael Bradsell, the film's editor, revealed he was initially hesitant about sharing his work with Her Majesty.
"We were all a little bit nervous of showing it to the Queen because we had no idea what she would make of it," he told Smithsonian Channel, who uploaded a clip of the documentary on YouTube.
"She was a little critical of the film in the sense she thought it was too long, but Dick Cawston, the director, persuaded her two hours was not a minute too long."
ABC's The Story of the Royals focused on the documentary, and a number of experts debated why the footage was banished.
Royal biographer Hugo Vickers said: "Some people say that this would open the floodgates, and therefore after that all the sort of tabloid interest in them [would come after].
"They would want to know more, and more, and more."
Robert Lacey, historical consultant on Netflix show The Crown, explained: "They realised that if they did something like that too often, they would cheapen themselves, letting the magic seep out."
Snippets of the film have been released for special occasions, including Prince Philip's 90th birthday and the Queen's Diamond Jubilee. The Queen also allowed the National Portrait Gallery to play a small clip.
"Legend has it that the Queen doesn't want parts of it to be shown," explained the National Portrait Gallery's Paul Moorhouse.
"Regrettably, the film hasn't been seen for a long time. It just disappeared. There is a reluctance for this to be revisited."
For the latest news in and around Bristol, visit and bookmark Bristol Live's homepage


Cheap eats
Group-friendly dining
Cheap spot for groups
Casual Bars
Coffee and Wi-Fi
The Foodie List
1
Plan B
4.5 * (341)
Bar & Grill
2
Aroma Indian Restaurant
4.6 * (160)
Restaurant


We’re here to give you both sides of the argument; the good the bad and everything in-between so that you can finally say ‘I know which way I want to vote and why’. Our brand would be damaged if we didn't keep things impartial so that's why you'll find us sitting on the fence representing both sides of the debate.
We know that viewing conflicting and confusing information from across the web isn't something you want to spend ages on, so let us do the hard work for you. We bring together all the information you need to make an informed vote in one place and provide a really efficient and measurable way of reaching certainty in your decision.
We know that choice is important to you, that’s why you’re comparing. But everyone has different needs and so we’ll help you to 'be more sure' in your decision, whether that’s by letting you pick your own topics, reacting to what you think and feel and creating custom recommendations by getting a 'Digest' delivered to your inbox. We have you covered.
Summary: We're only here to give you honest, impartial advice and answers in this referendum.
Our clever bits of technology trawl the web and find relevant articles, pieces of research and arguments from both sides and perfectly summarises the content into bitesize points.
Our independent editor reviews the summaries and adds referenced, clear data to add context to the debate.
We then split the content into "thinking" and "feeling" points so that you can be sure to cover both your head and your heart.
Finally we use even more clever computing to calculate where you stand and why, and present you with an overview of your thoughts and feelings.
Summary : 500 hrs worth of research that'll take about 15 minutes to complete.
Above all, you'll feel happier with your choice either way.
Only 12% of voters feel "informed" or "well informed" about the upcoming referendum... let that sink in. We're about to make a decision that will affect the rest of our lives and those of our children and people we care about based on nothing more than confusing and conflicting information peddled by both sides.
That's the reason we are doing this. We don't care which way you vote, we just want you to go to the polling station armed with credible information that will make you confident in the choice you are about to make, regardless of what that choice may be.
Summary : We exist solely to make sure that you are happy and more sure about the decision you are about to make.


GOT THE BUGG
Jake Bugg’s new single Kiss Like The Sun recorded live for first time at BBC Quay Sessions in Glasgow
by Ewan MowatJAKE Bugg wowed the crowd with his new single at an intimate BBC Quay Sessions gig in Glasgow.
Just hours after he brought the house down with a headline show at the Barrowlands - the rocker's Kiss Like The Sun was recorded live for the first time.
Bugg, 25, treated fans to a personal performance at the BBC's Clydeside home on Monday morning.
The live recording was shared online - with the full set to follow next Tuesday.
Having not played in Scotland for a year, the Nottingham singer-songwriter made the most of his time north of the border.
He told fans at the iconic Barrowlands on Sunday it was "a pleasure to be back".
And he sent them wild with a mix of his classic tunes and some more recent songs.
Despite his latest offering only coming out the week before the gig, the crowd already knew it word for word.
Kiss Like The Sun has a country rock jam feel and went down a storm at both his headline slot and his intimate BBC show.
It is expected Bugg will release his fifth album next year.


Hi! I'm Sudipta Kumar Paik. I write everthing, what I learn everyday.
A "LAMP" stack is a group of open source software that is typically installed together to enable a server to host dynamic websites and web apps. This term is actually an acronym which represents the Linux operating system, with the Apache web server. The site data is stored in a MySQL database, and dynamic content is processed by PHP. https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-16-04
Tech: php, mysql Date: 2019-01-10
Faveo is a suport ticket system. https://github.com/ladybirdweb/faveo-helpdesk
Tech:
'php'
,'mysql'
Date: 2019-01-10
Table of Contents
[TOCM]
[TOC]


GitHub is a website and service that we hear geeks rave about all the time, yet a lot of people don’t really understand what it does. Want to know what all the GitHub hubbub is about? Read on to find out.
Git is a version control system, similar but better than the many alternatives available. So, what makes GitHub so special? Git is a command-line tool, but the center around which all things involving Git revolve is the hub—GitHub.com—where developers store their projects and network with like minded people.
A repository (usually abbreviated to “repo”) is a location where all the files for a particular project are stored. Each project has its own repo, and you can access it with a unique URL.


The following demo shows the windows that activate the most highly for each filter. Be sure to build the index first!
Instructions: Click 'Process All' to process all the sentences. When that is done, click 'By Filter' to select the windows with the highest activations detected by each filter. 'Start Test' is used to measure performance. Each sentence shows the label / prediction.