| Ingres Corporation |
3.0 Installation Considerations
3.1 Upgrading ABF Applications
4.0 General Considerations
4.1 Features Not Included in Ingres 2006 Release 2
4.2 ANSI Date/Time Data Types
4.3 Behavioral Changes from Ingres Release 2.6 and Ingres 2006 to Ingres 2006 Release 2
4.4 OpenROAD® Support
4.5 Enterprise Access Support
4.6 ODBC Support
4.7 Unicode Support in Terminal Monitor
4.8 Selecting or Updating New Data Types from an Older Client
4.9 Web Deployment Option
6.0 Known Issues
6.1 DBMS Server and DBA Tools Issues
6.2 Web Deployment Option
6.3 Windows Installation Issues
6.4 Linux Installation Issues
Before you start using the software, you should review this readme file for important information on the installation and use of the product.
The information provided here is for use with the following Ingres guides:
For up-to-date information that is specific to your operating system, visit Ingres Technical Support at http://ingres.com/support.
Make sure that copies of this readme are distributed to the system administrator, database administrator, and applications developers using Ingres at your site. This document contains information of interest to each of these users.
This version of Ingres is supported by the following operating system.
Click the link below to see important information specific to your platform:
Please make sure that your operating system is supported by this version.
For complete information about all Ingres products and the platforms and operating system releases that they run on, see the Product Availability Matrix at http://www.ingres.com/products/prod-availability-matrix.php.
Pay particular attention to the information in the Migration Guide section on preserving existing customizations including config.dat parameters. Use the information in this readme in conjunction with the Installation Guide. Note that information in the readme supersedes information in the Installation Guide.
As part of column collation support added in Ingres r3 3.0.2, and included in this release, the data descriptor used throughout the Ingres system has changed. This data descriptor is also compiled into imaged ABF applications.
All ABF applications created using Ingres r3 or earlier need to be re-imaged after upgrading. This is done by deleting the contents of the ABF object directory, $ING_ABFDIR/<database-name>/<app-name>, and re-imaging.
Due to some unresolved problems, the following features are not currently supported in Ingres 2006, but will be supported in a future release:
The following feature is no longer available in Ingres:
The new date/time data types, while technically compliant with the ANSI specification, do not have the same rich functionality as Ingres dates. We are reviewing enhancements to extend the functionality of the new types for consistency and compatibility with prior releases and other database products. We welcome your input in this process.
Note the following behavioral changes when moving to Ingres 2006 Release 2 from Release 2.6 or 2006.
Installer Changes
This release includes a graphical installation wizard on Linux and Windows. Please reference the correct platform readme for wizard startup instructions.
DAS Server Replaces JDBC Server
The functionality provided in prior releases by the JDBC Server has been moved to the Data Access Server (DAS). The DAS provides greater functionality as it also provides connectivity from .NET Applications to Ingres. The JDBC Server was deprecated in Ingres r3/2006 and is no longer distributed with the product. When Ingres 2006 r2 is installed, the JDBC Server configuration will be automatically migrated to the DAS Server. If the DAS Server startup count is currently set to 0, it will set to 1 and the JDBC Server configuration information will be removed from the configuration file (config.dat). For more information on the DAS Server, see the Connectivity Guide.
Ingres Internal Threads on Linux
Internal threads are no longer supported on Linux. The II_THREAD_TYPE setting will be ignored, and Ingres will default to Operating System threads.
Cache Memory Usage Increased
The DBMS server cache size defaults have been increased in Ingres 2006. This means that more virtual storage will be required to run Ingres.
Ingres JDBC Driver Cursor Mode
The default cursor mode is now READONLY rather than allowing the DBMS to determine the mode. The original behavior can be selected using the URL attribute CURSOR=DBMS or setting the property ingres.jdbc.property.cursor_mode=dbms in the driver property file.
Ingres JDBC Driver Package
The original Ingres JDBC Driver and DataSources classes contained in the Java archive iijdbc.jar under the Java package path of "ca.ingres.jdbc" are moved to the package path of "com.ingres.jdbc". The iijdbc.jar archive included with Ingres 2006 also contains the original classes for backward compatibility. The original "ca.ingres.jdbc" package path and classes will be removed from iijdbc.jar in the next major release. Existing references to "ca.ingres.jdbc" classes will continue to work, but should be changed when convenient. New references should use the package path of "com.ingres.jdbc".
This version of Ingres supports OpenROAD 2006 running in the local instance.
This version of Ingres does not support OpenROAD 4.1 running in the local instance. We recommend that OpenROAD 4.1 applications be run through Ingres Net.
For more information, visit http://ingres.com/support or contact technical support.
This version of Ingres does not support Enterprise Access 2.1 or 2.6 running in the local instance. For more information, visit http://ingres.com/support or contact technical support.
The Ingres ODBC driver can be used with the Ingres ODBC Call-level interface (CLI) or with a supported third-party ODBC driver manager. For more information, see the Connectivity Guide.
The terminal monitor now supports displaying query results from Unicode columns by coercing them to local character set. It will return an error if the Unicode character cannot be coerced to the local character set.
When connecting from an older version of the client to Ingres 2006 Release 2, if a query attempts to select or update a new data type not supported by the client (for example, ANSI date/time types), you will receive error E_US10F0.
The Web Deployment Option is a deprecated feature and will be removed in a future release of Ingres.
For a list of bugs fixed since Ingres 2006 Release 1, see Knowledge Base document 415346. Note the version identifier in this notice; it is required to access the document.
For an informational solution or to see if a patch is available for the following known issues, visit http://ingres.com/support or contact technical support.
| Reference | Description |
|---|---|
| 086877 | Ingres Replicator does not work with partitioned tables. |
| 109857 | Performing an on-line checkpoint may cause the CKPDB and sessions to hang due an undetected deadlock. |
| 110051 (Linux only) |
Database events may be lost if sent in quick succession between two sessions both connecting from the same ESQL program. |
| 111375 | Server consumes 100% CPU optimizing a query with nested views. |
| 111628 | On a highly active system, a ROLLBACK of a transaction could fail with E_DM9238, E_DM9509, E_DM9300. The session is left holding a BM Buffer mutex, which may cause the installation to hang. |
| 112560 | MODIFY or CREATE TABLE AS SELECT commands are taking shared locks on IIDBDEPENDS system catalog. This can cause performance problems if other commands are attempting to update the IIDBDEPENDS (such as adding a constraint to a table). |
| 112946 | Stack overflow in the DMFRCP caused by recursive calls to the deadlock() routine. May be reported in the errlog.log as a SIGBUS in deadlock(). The installation dies and has to be restarted. |
| 113251 | Added capability to embedded sql programs to carry out Unicode coercion in front end. Change to print the Unicode columns correctly. |
| 113574 | Wrong number of rows in query using sum and case with a subquery. The problem only occurs when the query plan has been flattened. |
| 115062 | Sessions queue up behind a thread that is stuck on a pthread_cond_wait or lwp_cond_wait but the thread is marked with EDONE state indicating that it should have been resumed. |
| 115420 | When some queries are run against a database with collation sequence, a performance problem may be experienced. This is due to indices not being used where expected. |
| 115716 | SET IO_TRACE does not work when used along with SET PARALLEL |
| 115717 | Command “sql <database> -R<role>” prompts for a password even if the role is not assigned a password. |
| 115718 | MODIFY TABLE returns error E_QE0083 when modifying a table in a raw database location. |
| 115719 | The Ingres Performance Monitor Wizard GUI hangs after message “Obtaining Ingres counter information” |
| 115721 | XMLIMPORT utility failed to import UUID data that was generated with the GENXML utility. The error message generated during the XMLIMPORT phase, reads: [Fatal Error at file xmlout.xml, Message: Invalid character (Unicode: 0x19)] |
| 115722 | The XMLIMPORT utility fails to apply table or row level constraints to database objects generated with the GENXML utility. |
| 116233 | II_CHARSETxx=THAI. Following modify table...with compression=(data) and table contains varchar column(s), trim() of varhar column data returns incorrect data. Last byte of data has been 'trimmed' off. |
| 116239 | Value of a varchar column is trimmed of trailing space if it is joined via a hash join. |
| 116284 | Functions such as TRIM and SQUEEZE that looked for whitespace characters sometimes match incorrectly. Runs of character 0xA1 are treated as space regardless of language setting. |
| 116299 | Outer-join hash join where one side has heavily duplicated join key values, and the other side has no matches, can SEGV. |
| 116463 | SELECT SQUEEZE(nvarchar_column) FROM test_table; fails to return any data. |
| 116476 | When sysmod or usermod is executed, the LOCATION information is incorrect for modified transactions in the transaction log. |
| 116520 | Parallel queries run with SET SESSION WITH ON_LOGFULL=COMMIT semantics produce a variety of unexpected errors. |
| 116667 | Ingres 2006 QBF client fail to update data on Ingres 2.6 server. The server will report "E_GC2410_PERF_CONV PL internal error. PERFORM_CONVERSION Failed." |
| 116669 | Queries using SUBSTRING fail over STAR connections, yet the equivalent usage of other string functions such as LEFT, RIGHT and LENGTH succeed. Typically the query fails with these errors: E_UL0303 Unexpected query tree node E_OP068A_BAD_TREE consistency check - error converting query tree to text |
| 116827 | DATE/TIMESTAMP/TIME conversion from ODBC to Ingres, EDBC, and gateways does not work in some cases. |
| 116858 | Queries on NVARCHAR columns using LIKE and a range of characters separated by a dash in escaped square brackets return an incorrect result. For example, "WHERE Invar LIKE '\[A-Z\]%' escape '\'" returns only rows starting with A or Z. |
| 116992 | UNION SELECT on partitioned table returns wrong results. Same select on unpartitioned table returns correct results. |
| 117034 | Executing a database procedure containing a “for/do” select loop feeding an INSERT statement using hash aggregation, fails with incorrect results. E_QE0018 Illegal parameter in control block reported to the front end and E_QE0018 + E_DM9713 Error occurred writing to sort/hash join work file -- path = %0c, block %1d reported in the errlog.log. |
| 117040 | The presence of a long varchar column in the result row of a row producing procedure causes garbled result data. |
| 117277 | The RANDOM and RANDOMF functions used from ABF applications return the same sequence of random numbers and are not affected by calling RANDOM_SEED. |
| 117345 | Tuxedo test fails with locking problem. E_QS001E_ORPHANED_OBJ An orphaned Query Text object was found and destroyed during QSF session exit. |
| 117461 | VERIFYDB produces E_DM93A7, E_DM920C, E_DM9C83. |
| 117462 | If an frskey is explicitly assigned to a menu item on a form including a table field, and the menu item is removed using "set_forms menu '' (active(menuitem)=off)", the frskey may still be pressed and the menu item will still be selected. |
| 117479 (Windows only) |
Ingres Export Assistant will not export data with Unicode data types. |
| 117544 | Using the LIKE operator with a repeated any match character on a unicode field can make DBMS CPU bound. |
| 117603 | CBF allows an invalid port number in tcp_ip port values, causing errors in startup and shutdown. |
| 117623 | SQL functions second() and microsecond() may return incorrect values when executed with non-ANSI date/time operands. |
| 117670 | Queries with predicates involving Unicode (nchar, nvarchar) columns with explicitly defined collation sequences may not honour the collation sequence during execution. The specific case that gave rise to this bug involved a LIKE predicate, but it is anticipated that the problem could also occur with simple comparisons. |
| 117691 | The LIKE operator ignores Unicode characteristics of NCHAR columns such as diacriticals, compound letters and collation. |
| 117737 (Solaris only) |
Kerberos is supported in a 32-bit installation only. |
| 117768 | || is being used as a synonym for + instead of concatenation so that 3 || 5 returns 8 rather than '35' |
| 117804 (Windows only) |
Reload fail with E_US0963 due to comments and extra whitespaces in the query text when creating a procedure via VDBASQL. |
| 117859 | The remote command process RMCMD shuts down immediately after startup, when II_EMBED_SET is set to dbmserror. Errors in the errlog.log: "E_RE0006_STARTUP_RMCMD_OBJ Cannot access the RMCMD objects" followed by "E_RE0002_RMCMD_DOWN". |
| 117865 | Replicator Server transmits one character less of maximum Unicode length of 16000 for nchar (15999 for nvarchar). |
| 117866 | The fraction portion of INTERVAL day to second literals is truncated to 6 places. Maximum allowable is 9. |
| 117872 (Windows only) |
Error E_OP0791_ADE_INSTRGEN consistency check is returned from the following syntax. update junk set a1=a1-date('1 months') where a1='1-10' |
| 117873 | The maximum size of a sequence is<PHONE_NUMBER>, even though it is possible to specify BigInt. |
| 117874 | Shutting down Ingres using a userid other than the Ingres Administrator displays a FATAL ERROR message, where a permission denied warning would be more appropriate. |
| 117875 | Configuration Manager fails to restore the original DATE_TYPE_ALIAS value when the RESTORE button is used. |
| 117992 | A select on a non-histogrammed timestamp column on a 64-bit platform may return a E_OP0082 error (SIGBUS exception in error log). |
| 118015 | When using collation sequences on an optimized database, E_OP048C error can be produced. |
| 118040 | Interval day to second values are not coerced to string correctly. |
| 118099 | Index creation and concurrent inserts to the base table may deadlock on the base table's table control and physical table locks. This failure is particularly significant if index creation is aborted by the deadlock thread during an online usermod as index table(s) are lost. |
| 118233 | The following message occurs in errlog.log during ingstop process: E_GC0155_GCN_SRV_FAILURE Registered server failure: class IUSVR, address nnnnn. |
| 118250 | The MKRAWLOG script fails when HPUX /etc/default/security option SU_DEFAULT_PATH is set. MKRAWLOG will return errors "No such file or directory: ipcclean" and "csinsatll: command not found" |
| 118482 | ODBC CLI applications fail with SIGSEGV when the 32-bit ODBC driver is loaded. |
| 118493 | In a concurrent processing environment, error "E_DMA42F_LG_UNMUTEX An error was encountered releasing mutually exclusive access to a logging system data structure" may occur. The configuration settings in CBF are; 100MB dual log, 2 DBMS servers, 2k page size and per_tx_limit=1000 for locking. The error was seen in Tru64 and HP-Itanium platforms. To avoid the error, increase the number for locking. |
| 118511 | "date" is not accepted as a valid data type in front-end tools such as vifred and report writer. |
| Reference | Description |
|---|---|
| 115720 | The Ingres Web Deployment Option does not currently support the Apache 2.x Web Server. |
| 115723 (Linux Only) |
When the Web Deployment Option has been installed, shutting down the Data Access Server results in error “*** glibc detected *** free(): invalid pointer: ***” |
| Reference | Description |
|---|---|
| 117476 | A dual transaction log fails to be created when a customized install requests one. |
| 117478 | Help missing from the install "Installation type" dialog. |
| 117933 | Setting DMF cache parameter to exceed 2Gig on Windows results in a SEGV, and after that Ingres Service Manager hangs and it must be restarted and Ingres has to be stopped. |
| Reference | Description |
|---|---|
| 114443 | iirpmrename fails with a cryptic "rpm archive packing failed" message when neither rpmbuild or "rpm --buildroot" are available. |
| 115724 | As of the time this readme was published, the installation of Ingres requires RPM with a version in the range 3.0.6 through 4.4.2, except for RPM version 4.1. If RPM 4.1 is installed, it must be upgraded to version 4.1.1 or higher before you can install Ingres.
RPM 4.1 fails to set environment variable RPM_INSTALL_PREFIX. Attempting to install Ingres with RPM 4.1 will lead to numerous “cannot find file” errors, and a failed install. For further details on this RPM bug, see http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=75057. |
| 117671 | SYSCHECK may fail to detect the correct semaphore info on Linux kernel 2.6.19 or greater. |
| 117861 | The GUI installer allows II_SYSTEM to be left blank and does not validate its value. |
| 117871 | The GUI installer for Linux does not install on x86 64-bit Linux systems. |
| 117876 | The Linux GUI installer incorrectly allows an install with only the "core" package selected, which results in an unusable installation. |
| 117931 | The prompt during install in iisudbms does not honor the users response and creates the demodb if the user enters no. |
| 117932 | Creating a response file using ingbuild -mkresponse get an error "..utility/iishlib: line 2108: [: -ne unary operator expected" |
| 117934 | Selecting ANSI/ISO SQL92 compliance in the GUI installer does not result in the instance being configured this way. |
| 118008 | Upgrading the only instance on a machine using the GUI installer, doesn't give the user the option to NOT upgrade user database. |
The Ingres documentation is provided in Portable Document format (PDF). This documentation is available as an installable RPM package for Linux or as a gzip archive for all platforms. The full documentation or individual PDF files can be downloaded from http://ingres.com/support.
For Linux platforms the Ingres documentation rpm can be selected and will be installed to the /usr/share/doc directory.
For online technical assistance and a complete list of locations, primary service hours, and telephone numbers, contact technical support at http://ingres.com/support.


Impact
A weekly reminder to positively influence the world.
Ready to leave your mark?
Country Code
Phone Number
Join the Waiting List
Made with
in Columbus


Gaz Beadle's bed-hopping past as he leaves his love rat ways behind to get engaged
The Geordie Shore original, who popped the question to his girlfriend over the weekend, has become a reformed Lothario since starring on the MTV show
by Sara-Aisha Kent, https://www.mirror.co.uk/authors/sara-aisha-kent/Geordie Shore catapulted Gaz (Gary) Beadle to to fame because of his wild partying and never-ending bed-hopping.
Since leaving the series in 2016 the 31-year-old swapped necking shots for the chilling on sofa and ditched nights on the Toon for dates with his sweetheart Emma McVey.
The reformed Lothario may have settled down, become a father and proposed to brunette beauty Emma, 27, but his chequered love life has been documented on reality TV over the years.
Here is a look at Gaz's little black book of hook-ups prior to him ending his love rat ways.
Charlotte Crosby
Gaz's most documented romance was his fellow Geordie Shore cast mate Charlotte Crosby.
The pair's on and off again romance was a core storyline in the MTV show that saw the duo fight and make-up as well as dating other people as they took a number of breaks.
The reality TV stars ended their relationship in 2016 after Gaz appeared on Ex on the Beach.
During his stint on the show in Thailand he bedded other women and had a threesome.
Whilst he was filming TV favourite Charlotte suffered an ectopic pregnancy and lost the baby - she then left Geordie Shore in order to move on from the heartbreak.
Jemma Lucy
Jemma Lucy was the woman who Gaz had a romp with during his appearance on Ex on the Beach that led to him and Charlotte calling time on their relationship.
The Newcastle native, who had sex with Jemma on the first night, went on to say he regretted sleeping with the bombshell and suggested that she took advantage of his drunken state for her own personal gain.
"I kind of regret the first night," he said. "I just think I walked straight into a trap, really. Obviously I was p***ed but I can't blame that. But certain people set out to do certain things."
Jemma insisted that their tryst was a mutual decision and even shut down Gaz's claims that he made the mistake because he was drunk, hinting there was plenty of sober sex in the morning too.
"At the time it certainly didn't feel like Gaz regretted sleeping with me and very much felt mutual," Jemma told Mirror Online.
"Personally I had a great time, and again in the morning it was a great experience."
Marnie Simpson
Charlotte Crosby was not the only Geordie Shore cast member that Gaz got up close and personal with.
He ended up in bed with Marnie Simpson in season 8 of the series.
However, the after their short-lived fling Marnie was open about her regret.
The stunner told the MailOnline: "If I'm honest, I feel physically sick with what happened with Gary.
"If I could go back in time that would be the one thing I would change.
Charlotte Dawson
Another reality babe that Gaz enjoyed romping as Charlotte Dawson.
The Ex on the Beach star and the Geordie hooked up in 2015.
The pair then were reunited on the 2016 series of Ex on The Beach with the duo having a threesome with Olivia Walsh - the same series as he bedded Jemma Lucy.
Lillie Lexie Gregg
One of Gaz's longer courtships was with blonde Lillie Lexie Gregg.
The couple were an item for 18 months before ending their relationship, which Lillie revealed was down to Gaz being unable to choose between her and Geordie Shore.
The pretty star told Mirror Online: "He was told he would have to leave the show that day if he picked me. It was a daunting decision for him because that's his bread and butter. The show is all he's ever known.
"It was the hardest decision of his life but ultimately he picked Geordie Shore."
After they split, Lillie Lexie broke off all contact with Gaz, leading him to think that she never really cared - the pair then had an emotional reunion on Ex on The Beach where the former flames got closure.
Jasmin Wallia
In 2013 Gaz was linked to former TOWIE star Jasmin Wallia.
The Essex babe met the charmer in Ibiza but their romance fizzled out as fast as it started.
Gaz told OK! Magazine at the time: "I necked on with her quite a few times.
"She's actually a wicked girl. She's a good laugh, we had a good time. We had good banter and were cracking on.”
Emma McVey
Gaz wound down his party lifestyle when he left Geordie Shore to be with his soon wife-to-be Emma.
The couple share a son Chester, who they welcomed in January 2018, and are expecting their second.
Emma and Gaz announced their engagement over the weekend with matching Instagram posts that showed the brunette flashing her new diamond ring.
Do you have a story to sell? Get in touch with us at<EMAIL_ADDRESS>or call us direct 0207 29 33033


Sarveen Cup - Season 1
Congratulations to Sarveen Cup Splendor champion, "ALI ZARGHAMI"
Grand Final
| Name |
Time Left |
Total Pts |
| Ali Zarghami |
00:07:54 |
15 |
| Golnaz Nikmehr |
00:00:45 |
12 |
| Ata Sattarzadeh |
00:01:50 |
9 |
| Abolfazl Bahari |
00:03:29 |
7 |
Group A
| Name |
Matches Played |
Time Left |
Standing Pts |
Game Pts |
Total Pts |
| Abolfazl Bahari |
4 |
00:16:27 |
36 |
59 |
95 |
| Ali Zarghami |
4 |
00:28:46 |
34 |
55 |
89 |
| Hossein Yousefi |
4 |
00:21:31 |
34 |
51 |
85 |
| Melika Boustan |
4 |
00:23:52 |
28 |
49 |
77 |
| Hossein Khayami |
4 |
00:12:47 |
8 |
43 |
51 |
Group B
| Name |
Matches Played |
Time Left |
Standing Pts |
Game Pts |
Total Pts |
| Ata Sattarzadeh |
4 |
00:17:06 |
48 |
60 |
108 |
| Golnaz Nikmehr |
4 |
00:24:49 |
32 |
53 |
85 |
| Pouya Alameirpour |
4 |
00:45:44 |
28 |
52 |
80 |
| Mahdi Beheshtara |
4 |
00:17:05 |
23 |
47 |
70 |
| Mohammad Reza Hemmati |
4 |
00:32:14 |
9 |
38 |
47 |


Structure containing coefficients for Color Space Conversion. More...
#include <csl_dssTop.h>
Data Fields | |
| uint32_t | cscRange |
| int32_t | c00 |
| int32_t | c01 |
| int32_t | c02 |
| int32_t | c10 |
| int32_t | c11 |
| int32_t | c12 |
| int32_t | c20 |
| int32_t | c21 |
| int32_t | c22 |
| int32_t | preOffset1 |
| int32_t | preOffset2 |
| int32_t | preOffset3 |
| int32_t | postOffset1 |
| int32_t | postOffset2 |
| int32_t | postOffset3 |
Structure containing coefficients for Color Space Conversion.
| int32_t CSL_DssCscCoeff::c00 |
C00 Coefficient Encoded signed value
| int32_t CSL_DssCscCoeff::c01 |
C01 Coefficient Encoded signed value
| int32_t CSL_DssCscCoeff::c02 |
C02 Coefficient Encoded signed value
| int32_t CSL_DssCscCoeff::c10 |
C10 Coefficient Encoded signed value
| int32_t CSL_DssCscCoeff::c11 |
C11 Coefficient Encoded signed value
| int32_t CSL_DssCscCoeff::c12 |
C12 Coefficient Encoded signed value
| int32_t CSL_DssCscCoeff::c20 |
C20 Coefficient Encoded signed value
| int32_t CSL_DssCscCoeff::c21 |
C21 Coefficient Encoded signed value
| int32_t CSL_DssCscCoeff::c22 |
C22 Coefficient Encoded signed value
| uint32_t CSL_DssCscCoeff::cscRange |
Color Space Conversion range setting For valid values see CSL_DssCscRange
| int32_t CSL_DssCscCoeff::postOffset1 |
Post Offset1 Coefficient Encoded signed value
| int32_t CSL_DssCscCoeff::postOffset2 |
Post Offset2 Coefficient Encoded signed value
| int32_t CSL_DssCscCoeff::postOffset3 |
Post Offset3 Coefficient Encoded signed value
| int32_t CSL_DssCscCoeff::preOffset1 |
Pre Offset1 Coefficient Encoded signed value
| int32_t CSL_DssCscCoeff::preOffset2 |
Pre Offset2 Coefficient Encoded signed value
| int32_t CSL_DssCscCoeff::preOffset3 |
Pre Offset3 Coefficient Encoded signed value


A deep knowledge of CSS properties and specifications is essential in client-side web development and design. This course will expand students knowledge of CSS by covering the following CSS properties: media queries, animation & transitions, transforms, grid layouts, flexbox, web fonts, shapes, variables, exclusions, and regions. Browser support, preprocessors, frameworks, and minification will also be discussed. Using these advanced CSS techniques student will design and implement a consistent user experience and the page layout of a web application.


New
Load
Delete
Import
Puzzle Style:
Default
Horizontal Symmetry
Vertical Symmetry
Rotational Symmetry
Pillar
Pillar (H Symmetry)
Pillar (V Symmetry)
Pillar (R Symmetry)
Pillar (Two Lines)
Solve (manually)
Solve (automatically)
←
→
Publish


Q847. Shortest Path Visiting All Nodes
An undirected, connected graph of N nodes (labeled 0, 1, 2, ..., N-1) is given as graph.
graph.length = N, and j != i is in the list graph[i] exactly once, if and only if nodes i and j are connected.
Return the length of the shortest path that visits every node. You may start and stop at any node, you may revisit nodes multiple times, and you may reuse edges.
Example 1:
Input: [[1,2,3],[0],[0],[0]]
Output: 4
Explanation: One possible path is [1,0,2,0,3]
Example 2:
Input: [[1],[0,2,4],[1,3,4],[2],[1,2]]
Output: 4
Explanation: One possible path is [0,1,4,2,3]
Note:
1 <= graph.length <= 12
0 <= graph[i].length < graph.length
I did not get this question and it did look very complicated to me. Before going to the solution, I should say that there are some general ideas to wear before thinking about a question involving shortest path.
- Shortest path from a start to an end (Dijkstra’s).
- Shortest path among all pairs of nodes (Floyd–Warshall).
For an unweighted graph, the Dijkstra’s algorithm is very similar to a BFS traverse.
For this question, the essential idea is to construct the state properly.
First of all, what could be a brute force approach? We explore the nodes randomly and we are free to go back and forth. But the problem is that we may get stuck by loop. So, we need to realize that we are in a loop. The trick to realize it is by constructing the state properly. Let’s say the state is the current explored notes and the current position. The edges that connect the state space are defined implicitly by the edges of the graph. In other word, at the current state, we can move to another state by exploring the neighbors of the current node (at the position).
OK, the initial state would be (explored node set = (node i), node i) and we can do BFS until hitting the state with explored node set = all nodes.
In terms of the data structure, we can use a series of binary numbers to represent if the nth node has been explored (the way to generate n bits with leading one is 1 << n
).
And we would like to consider five initial state together and whenever we hit the target state we can return since the path length increases monotonically.
With these ideas, we have the Python submission:
class Solution:
def shortestPathLength(self, graph: List[List[int]]) -> int:
if len(graph) == 0 or len(graph[0]) == 0:
return 0
# initialization
queue = deque([ [1 << i, i] for i in range(len(graph)) ])
mem_dict = { (1 << i, i): 0 for i in range(len(graph)) }
while len(queue) > 0:
cover, node = queue.popleft()
for neigh in graph[node]:
new_cover = cover | (1 << neigh)
if new_cover == 2 ** len(graph) - 1:
return mem_dict[(cover, node)] + 1
if (new_cover, neigh) not in mem_dict:
mem_dict[(new_cover, neigh)] = mem_dict[(cover, node)] + 1
queue.append((new_cover, neigh))


Community#
This page highlights community projects that involve CmdStanPy. Check them out!
Project templates#
Templates are a great way to piggy back on other users’ work, saving you time when you start a new project.
cookiecutter-cmdstanpy-analysis A cookiecutter template for cmdstanpy-based statistical analysis projects.
cookiecutter-cmdstanpy-wrapper A cookiecutter template using Stan models in Python packages, including the ability to pre-compile the model as part of the package distribution.
Software#
Prophet A procedure for forecasting time series data based on an additive model where non-linear trends are fit with yearly, weekly, and daily seasonality, plus holiday effects.
ArviZ A Python package (with a Julia interface) for exploratory analysis of Bayesian models. Includes functions for posterior analysis, data storage, model checking, comparison and diagnostics.
BridgeStan A project which provides efficient in-memory access through Python, Julia, and R to the methods of a Stan model, including log densities, gradients, Hessians, and constraining and unconstraining transforms.


Creates an instant yet flexible REST API
that binds to any JSON file
Playground
×
URL
Method
GET
POST
PUT
PATCH
DELETE
Body
(Must be valid JSON)
Submit
Response


Engage your clients through compelling
visuals that do most of the marketing for
you.
Stand out to the
right audience
Using a collaborative formula of
designers, researchers, photographers,
videographers, and copywriters, we'll
build and extend your brand in digital
places.
Graphic Design
Great design makes you memorable. We deliver
artwork that underscores your brand message
and captures potential clients' attention.
Photography
Increase your credibility by getting the most
stunning, high-quality photos that improve your
business image.
CLIENT TESTIMONIALS
We put our trust in Sunnyside and they
delivered, making sure our needs were
met and deadlines were always hit.
Emily R.
Marketing Director
Sunnyside's enthusiasm coupled with
their keen interest in our brand's success
made it a satisfying and enjoyable
experience.
Thomas S.
Chief Operating Officer
Incredible end result! Our sales increased
over 400% when we worked with
Sunnyside. Highly recommended!
Jennie F.
Business Owner


About Me
Education
Technical Skills
Projects
Contact Me
Contact Me
Looking forward to disscuss (job opportunity) with you :)
Contact Information
Name: Arnav Bhardwaj
Contact :
<EMAIL_ADDRESS>-LinkedIn


Before Change
if arrays:
// use the most generic type in arrays
dtypes = [ar.dtype for ar in arrays]
dtype = _np.find_common_type(dtypes, ())
try:
index = dtypes.index(dtype)
except ValueError:
index = 0
if arrays[index].flags["FORTRAN"]:
// prefer Fortran for leading array with column major order
After Change
chars = [arr.dtype.char for arr in arrays]
scores = [_type_score.get(x, 5) for x in chars]
max_score = max(scores)
ind_max_score = scores.index(max_score)
// safe upcasting for mix of float64 and complex64 --> prefix "z"
if max_score == 3 and (2 in scores):
max_score = 4


21 February 2021
Paperiza
A beautiful and minimal wallpaper app! Change your desktop wallpaper automatically with beautiful images from Unsplash, Pixabay and Pexels.
READ ME
21 February 2021
Welcome to AMD
High frame rates mean high win rates on a laptop powered by the world’s best mobile processor for gamers.
READ MORE
21 February 2021
Artificial Intelligence
AI will change the way we do business and, ultimately, change our lives. It offers your organisation personalization, prediction and security as never before.
READ MORE


hi, my name is chris
.
i am a developer and like technology stuff.
you can find more information about me here:
github
linkedin
facebook
full website


Cyril de Catheu
Data Engineer
La crème de la crème
Academics and learning
- Designing Data-Intensive Applications - Martin Kleppmann
Foundations of data engineering.
- Head First Design Patterns - Eric Freeman, Elisabeth Robson
Entertaining book. Try the O’reilly “Head First” series with this one. Also, try to get the first edition, the new one looks bad.
- Effective Java - Joshua Bloch
Idiomatic, high-quality Java. Makes you think deeply about the language.
- Streaming Systems - Tyler Akdiau, Slava Chernyak, Reuven Lax
Foundations of distributed computing for streaming. Starting with 101 and 102 is enough.
- Code Complete - Steve McConnell
Decades of trenches knowledge distilled. Reading this book instantaneously makes you a better developer.
- Refactoring - Martin Fowler
I didn’t like this book at first. I found it way too verbose and procedural. Important ideas tend to be hidden by useless repetitive explanations. Still, I cant’ deny it had a major impact on how I approach changes in big codebases.
- Concurrency in practice - Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea
Threads are tricky. Used as a reference.
- Artificial Intelligence: A Modern Approach, - Stuart Russell, Peter Norvig
Foundations of AI. Nice to use as a reference.
- Deep Learning with Python - François Chollet
A hands-on practical book to build Deep Learning models. Excellent ROTI.
- Trustworthy Online Controlled Experiments - Ron Kohavi, Diane Tang, Ya Xu
Years of hard-earned knowledge in a simple, actionable book. Great for both left-to-right read and reference.
Fictions
- Brave New World - Aldous Huxley A totalitarian regime with Western methods.
- 1984 - George Orwell
A totalitarian regime with Eastern methods.
- The Robot series - Isaac Asimov The beginning of the Robot series is actually about debugging automatons. Kinda like post-mortems stories.
Non-fictions
Comics
Franco-Belge
- Asterix in Switzerland - René Goscinny, Albert Uderzo
French “Bédé” at its best.
- Cigarettes : Le dossier sans filtre - Pierre Boisserie, Stéphane Brangier
Exceptionally well-documented graphical document about the tobacco business in all its aspects: historical, economic, marketing, medical, political, environmental. Eye-opening.
- Il faut flinguer Ramirez - Nicolas Petrimaux
Modern French comic. Makes fun of American film productions of a certain epoch, with nice humor and impactful arts.
- Le monde sans fin - Christophe Blain (Illustrator), Jean-Marc Jancovici
Jancovici is a famous figure in France. He works on global warming causes and solutions. This comic is an easy read that gives a cohesive view of the problem.
US Comics
- Watchmen - Alan Moore, Dave Gibbons, John Higgins
The monument. Apart from all other possible praises, I find the coloring amazing.
- Batman: The Dark Knight Returns - Frank Miller, Klaus Janson, Lynn Varley
Inside the troubled mind of the Batman.
Mangas


PostgreSQL, like any database software, requires that certain tasks be performed regularly to achieve optimum performance. The tasks discussed here are required, but they are repetitive in nature and can easily be automated using standard tools such as cron scripts or Windows' Task Scheduler. It is the database administrator's responsibility to set up appropriate scripts, and to check that they execute successfully.
One obvious maintenance task is the creation of backup copies of the data on a regular schedule. Without a recent backup, you have no chance of recovery after a catastrophe (disk failure, fire, mistakenly dropping a critical table, etc.). The backup and recovery mechanisms available in PostgreSQL are discussed at length in Chapter 24.
The other main category of maintenance task is periodic "vacuuming" of the database. This activity is discussed in Section 23.1. Closely related to this is updating the statistics that will be used by the query planner, as discussed in Section 23.1.3.
Another task that might need periodic attention is log file management. This is discussed in Section 23.3.
check_postgres is available for monitoring database health and reporting unusual conditions. check_postgres integrates with Nagios and MRTG, but can be run standalone too.
PostgreSQL is low-maintenance compared to some other database management systems. Nonetheless, appropriate attention to these tasks will go far towards ensuring a pleasant and productive experience with the system.


Before Change
rotation /= 90.0
if orientations is None:
orientations = [0, 0]
if len(orientations) != n:
raise ValueError(
"orientations and flows must have the same length.\n"
"orientations has length %d, but flows has length %d."
% (len(orientations), n))
if not cbook.is_scalar_or_string(labels) and len(labels) != n:
raise ValueError(
"If labels is a list, then labels and flows must have the "
"same length.\nlabels has length %d, but flows has length %d."
After Change
rotation /= 90.0
if orientations is None:
orientations = 0
try:
orientations = np.broadcast_to(orientations, n)
except ValueError:
raise ValueError(
f"The shapes of "flows" {np.shape(flows)} and "orientations" "
f"{np.shape(orientations)} are incompatible"
) from None
if not cbook.is_scalar_or_string(labels) and len(labels) != n:
raise ValueError(
"If labels is a list, then labels and flows must have the "
"same length.\nlabels has length %d, but flows has length %d."


Motion Light is a multiplayer game inspired by the game Snake and the movie TRON.
The goal is to block the other player, and be the last one to survive.
You are controlling your bike using the Arrows keys in the keyboard ( ↑ ↓ ← →).
The blue bike is the player who openned the server, and the red bike is the player who joined.


JNoSQL is a flexible and extensible Java API for connecting with NoSQL databases. It brings an easy interface to support key-value, column family, document oriented and graph databases as JDBC does for SQL databases.
The JNoSQL is a several tools to make easy an integration between the Java Application with the NoSQL. To solve this problem the project gonna have two layers:
The basic building blocks hereby are:
The API's focus is on simplicity and ease of use. Developers should only have to know a minimal set of artifacts to work with the solution. The API is built on latest Java 8 features and therefore fit perfectly with the functional features of Java 8.
The Diana project has as goal just be the low layer, in other words, just the communication layer to NoSQL database. Basically this project gonna work as a database driver. Diana will have four APIs, one for each database type, and its TCK respective. The test compatibility kit affirms if a driver implements an API correctively. So a X database of key-value implements and run all tests correctively that means this X database has support to key-value Diana API.
The main reason to Diana just works in communication layer are:
Furthermore Diana will not be:
Artemis is an integration layer, in other words, it has the goal to communicate with the communication layer, Diana, and it does integrations with other technologies such as Bean Validation. The Artemis engine has CDI. So it formula is really simple:
Look like Diana, it has a different package to each NoSQL database. Using CDI as heart, Artemis is highly customizable also observe events on the persistence flow. Artemis has a nice feature such as:
Using CDI events to add a new feature on Artemis is so easy and you also can it on transparency way, you don't need to change the repositories. E.G: Using events can add bean validation on the workflow, without the DAO layer know.
Currently, Diana works with the following databases:
Here you can see some examples of usage of Diana.
public class AppDocument {
private static final String DOCUMENT_COLLECTION = "document_collection";
private static final String DATABASE = "database";
public static void main(String[] args) {
DocumentConfiguration configuration = //any implementation
try(DocumentCollectionManagerFactory collectionFactory = configuration.getManagerFactory();) {
DocumentCollectionManager collectionManager = collectionFactory.getDocumentEntityManager(DATABASE);
DocumentCollectionEntity entity = DocumentCollectionEntity.of(DOCUMENT_COLLECTION);
entity.add(Document.of("name", "Daniel Soro"));
entity.add(Document.of("age", 26));
DocumentCollectionEntity entitySaved = collectionManager.save(entity);
Optional<Document> id = entitySaved.find("_id");
DocumentQuery query = DocumentQuery.of(DOCUMENT_COLLECTION);
query.addCondition(DocumentCondition.eq(id.get()));
List<DocumentCollectionEntity> documentsFound = collectionManager.find(query);
}
}
}
public class AppColumn {
private static final String KEY_SPACE = "newKeySpace";
private static final String COLUMN_FAMILY = "newColumnFamily";
public static void main(String[] args) {
ColumnConfiguration condition = //any implementation
try(ColumnFamilyManagerFactory managerFactory = condition.getManagerFactory()) {
ColumnFamilyManager columnEntityManager = managerFactory.getColumnEntityManager(KEY_SPACE);
ColumnFamilyEntity entity = ColumnFamilyEntity.of(COLUMN_FAMILY);
Column id = Column.of("id", 10L);
entity.add(id);
entity.add(Column.of("version", 0.001));
entity.add(Column.of("name", "Diana"));
entity.add(Column.of("options", Arrays.asList(1, 2, 3)));
columnEntityManager.save(entity);
ColumnQuery query = ColumnQuery.of(COLUMN_FAMILY);
query.addCondition(ColumnCondition.eq(id));
List<ColumnFamilyEntity> entities = columnEntityManager.find(query);
}
}
public class AppKeyValue {
public static void main(String[] args) {
KeyValueConfiguration configuration = //any implementation
try (BucketManagerFactory managerFactory = configuration.getManagerFactory()) {
BucketManager bucket = managerFactory.getBucketManager("bucket");
List<String> list = managerFactory.getList("bucketList", String.class);
Set<String> set = managerFactory.getSet("bucketSet", String.class);
Map<String, Integer> map = managerFactory.getMap("bucketList", String.class, Integer.class);
Queue<String> queue = managerFactory.getQueue("queueList", String.class);
bucket.put("key", "value");
Optional<Value> value = bucket.get("key");
}
}
}
public class ArtemisColumn {
private static final Person PERSON = Person.builder().
withPhones(Arrays.asList("234", "432"))
.withName("Name")
.withId(1)
.withIgnore("Just Ignore").build();
public static void main(String[] args) {
Weld weld = new Weld();
try(WeldContainer weldContainer = weld.initialize()) {
ColumnRepository crudOperation = weldContainer.instance().select(ColumnRepository.class).get();
Person saved = crudOperation.save(PERSON);
System.out.println("Person saved" + saved);
ColumnQuery query = ColumnQuery.of("Person");
query.addCondition(ColumnCondition.eq(Column.of("id", 1L)));
Optional person = crudOperation.singleResult(query);
System.out.println("Entity found: " + person);
}
}
}
public class ArtemisDocument {
private static final Person PERSON = Person.builder().
withPhones(Arrays.asList("234", "432"))
.withName("Name")
.withId(1)
.withIgnore("Just Ignore").build();
public static void main(String[] args) {
Weld weld = new Weld();
try (WeldContainer weldContainer = weld.initialize()) {
DocumentRepository crudOperation = weldContainer.instance().select(DocumentRepository.class).get();
Person saved = crudOperation.save(PERSON);
System.out.println("Person saved" + saved);
DocumentQuery query = DocumentQuery.of("Person");
query.addCondition(DocumentCondition.eq(Document.of("_id", 1L)));
Optional person = crudOperation.singleResult(query);
System.out.println("Entity found: " + person);
}
}
}
public class ArtemisKeyValue {
private static final User USER = User.builder().
withPhones(Arrays.asList("234", "432"))
.withUsername("username")
.withName("Name")
.build();
public static void main(String[] args) {
Weld weld = new Weld();
try (WeldContainer weldContainer = weld.initialize()) {
KeyValueRepository repository = weldContainer.instance().select(KeyValueRepository.class).get();
User saved = repository.put(USER);
System.out.println("User saved" + saved);
Optional person = repository.get("username", User.class);
System.out.println("Entity found: " + person);
}
}
}
See more
Read the JNoSQL book
Diana is a flexible and extensible API to connect NoSQL databases. It brings an easy interface to support key-value, column family, document oriented and graph databases as JDBC does for SQL databases.
View on GitHubMeet the developers, and stay tunned on the news about Diana development. You may want to become one of us!
Join Us Mailing list


If you provide a nonzero value for
this directive, Squid periodically
checks process size. A large process size can lead to page faults and
a significant performance degradation. Squid uses either
mstats( ), mallinfo( ), or
sbrk( ) to get the process size. If it exceeds
the given threshold, Squid prints a warning message in
cache.log. |
Syntax
|
high_memory_warning size-specification
| |
Default
|
high_memory_warning 0
| |
Example
|
high_memory_warning 400 MB
| |
Related
|
high_response_time_warning,
high_page_fault_warning
|
|


Clicking a result in the tables will give more details, such as graphs of the fit against the data and the parameters that the minimizer found.
Clicking the problem names will take you to details of the best minimizer.
The superscripts in the tables denote current error handling within FitBenchmarking. Currently the errors correspond to:
| Error flag | Error message |
|---|---|
| {{ flag }} | {{ message }} |


All Post
Favorites
{{selectedName}}
{{thread.user.username}}
{{thread.dateCreated | date:'medium'}}
Subject
{{thread.subject}}
Topic
{{thread.topic}}
{{thread.question}}
{{selectedName}}
{{thread.user.username}}
{{thread.dateCreated | date:'medium'}}
Subject
{{thread.subject}}
Topic
{{thread.topic}}
{{thread.question}}


Bay Area Dance Marathon helps to raise funds for UCSF Benioff Children's Hospital Oakland, the Bay Area’s Children’s Miracle Network Hospital. These funds help support research, clinical care, advocacy and family support programs to help children and families heal both physically and emotionally. At UCSF Benioff Children's Hospital Oakland, we treat more than 200,000 patients each year and provide research findings that touch millions of lives worldwide.
The Child Life Program at UCSF Benioff Children’s Hospital Oakland offers a staff of child development specialists who focus on acclimating children to the hospital setting, ensuring that they are able to understand and adapt to the hospital experience with the least amount of stress.
Child Life Specialists work to reduce children's fears and anxieties associated with the health care experience using therapeutic and supportive play activities.
Reducing a child's anxiety around medical procedures and surgery lowers the need for anesthesia and increases success in recovery. Before a surgical procedure, our Child Life specialist provides preparation, familiarization, and support for children undergoing tests, surgeries, and/or other medical procedures. Child Life services include:
Medical research is an important part of the work that goes on at UCSF Benioff Children's Hospital Oakland. The research arm, known as Children's Hospital Oakland Research Institute, or CHORI, is one of the nation's top 10 pediatric research centers in terms of National Institutes of Health grant funding.
Researchers are making significant progress in such areas as diagnosing and treating pediatric cancers, sickle cell disease, AIDS and HIV, hemophilia, cystic fibrosis, developing prenatal techniques for diagnosing mental retardation and birth defects, and improving infant nutrition. Research institute efforts have led to UCSF Benioff Children’s Hospital Oakland operating the only nonprofit sibling donor umbilical cord blood bank in the United States. For more information about CHORI, please visit chori.org.
UCSF Benioff Children’s Hospital Oakland will never turn a child away, regardless of the family’s ability to pay for medical care. Due to this commitment to serving the community, Children’s provides free or discounted care, also known as “charity care,” to families who don’t qualify for government-sponsored health insurance and who meet certain eligibility requirements. In 2013 we provided over $9,000,000 in Charity Care to families who needed healthcare for their children.
Approximately 73% of our patients at UCSF Benioff Children’s Hospital Oakland are enrolled in government-sponsored health insurance such as Medicaid or the State Children’s Health Insurance Program (SCHIP). Our hospital receives 20 cents back for every dollar spent on the crucial care these patients need, creating a huge shortfall in government funding. The unpaid costs incurred by Children’s to provide services to these patients in 2013 was over $141,000,000.
Your donation will save the lives of children who could not otherwise afford care.


The goal of scienceverse is to generate and process machine-readable study descriptions. Studies are described as JSON files on the levels of the hypothesis, methods, data, and analysis. These machine readable description can be used in several ways, such as:
In this working vignette we demonstrate points 1 and 2 above.
You can install the released version of scienceverse
from GitHub with:
We plan to perform a study that tests whether apathy is distinct from depression. Apathy is defined as diminished motivation, while depression should involve emotional distress. Where earlier theoretical work has suggested apathy is part of depression, our theoretical model suggests the two should be distinct. We measure peoples apathy score using the Apathy Scale, and depression using the Depression Scale. Although we do not assume the correlation between the two measurements is exactly zero, we predict the two measurements will show a correlation that is smaller than 0.3. If so, we will take this finding as support for our prediction that apathy and depression are distinct enough, such that apathy should not be considered a part of depression.
To set up the study, it makes sense to first think about what our data will look like, and then what our statistical hypothesis is. We will collect data from two scales. We know these scales have 5 items each, we will analyze the average score for each of the two scales. We will name these columns ‘apathy’ and ‘depression’, and calculate them from the mean of the five apathy items (a1 to a5 in our dataframe) and the five depression items (d1 to d5 in our dataframe).
Our statistical hypothesis is that we will interpret the data as support for our prediction when we can statistically reject effects larger than r = 0.3. We can do this by performing an equivalence test, and checking whether the observed correlation is statistically smaller than 0.3.
We can enter all information we need to specify our hypothesis below.
We set up our study by giving it a name using the study
function. We can also add any custom information after the name, such as authors or an abstract.
ap_dep_study <- study("Distinguishing Apathy from Depression",
author = c("Daniel Lakens", "Lisa DeBruine"))
The object we created is basically a list of lists, which we will populate with information:
str(ap_dep_study)
#> List of 7
#> $ name : chr "Distinguishing Apathy from Depression"
#> $ info :List of 1
#> ..$ author: chr [1:2] "Daniel Lakens" "Lisa DeBruine"
#> $ hypotheses: list()
#> $ methods : list()
#> $ data : list()
#> $ prep : list()
#> $ analyses : list()
#> - attr(*, "class")= chr [1:2] "reg_study" "list"
One goal of scienceverse is to automate the evaluation of predictions. A researcher specifies the prediction in the preregistration, collects the data, and scienceverse can then take the preregistration file and the data and automatically evaluate whether the predictions were confirmed or not.
First, we need to add each hypothesis using the add_hypothesis()
function. We can describe our hypothesis as “The correlation between the apathy and depression scale is smaller than 0.3.” We also add an ID to the hypothesis so we can link it to the corresponding analyses later on - naming them H1, H2, H3a etc is typically enough.
Often, the raw data needs to be prepared for analysis. For example, outliers might need to be removed, scales need to be summed, and other calculations are performed. In general, it is recommended to never change the raw data files. Instead, you read in the raw data files, and save an analysis data file where all calculations are performed, outliers are removed, etc. So we run the data preparation code from a dedicated R script that pre-processes the raw data on the code.
You can provide code to do this using the add_prep()
function. You can write your code in a separate .R file and read it into the function by setting the code
argument to the file path. You can provide it with any attached data files by setting them in the list of params
. In this example, the script expects there to be a data frame named raw_data
and this will be loaded from the attached data with the ID apathy_depression_raw
. You can specify an attached data frame as “.data[data_id]” (attaching data will be covered below). The return
argument is a list of object names to return from the script. Our example creates a cleaned data fame called processed_data
, which we will use in our analysis code below.
Another goal of scienceverse is to remove ambiguity in how hypotheses are specified. The best way to preregister a hypothesis is to write the analysis script before the data is collected. Scienceverse takes this analysis script and combines it with user-defined evaluation criteria. These make it clear when a hypothesis is confirmed in the preregistration, and can also generate an automatic evaluation of the hypotheses.
It means we need to have an analysis script for our data. It also means it is typically recommended to simulate data with the same structure as the data you will collect. You can then run your analysis code on the simulated data, and see if you can perform the tests you want to run on the real data. In this example we plan to perform an equivalence test. We have written a function, named eq_test_r.R
that takes in a dataframe and performs an equivalence test. The script is:
source("command_files/eq_test_r.R")
eq_test_r
#> function (data, col1 = "", col2 = "", alpha = alpha, high_eqbound_r = high_eqbound_r,
#> low_eqbound_r = low_eqbound_r)
#> {
#> x <- data[[col1]]
#> y <- data[[col2]]
#> r <- cor(x, y)
#> n <- length(x)
#> test_res <- TOSTER::TOSTr(n = n, r = r, high_eqbound_r = high_eqbound_r,
#> low_eqbound_r = low_eqbound_r, alpha = alpha, plot = FALSE,
#> verbose = FALSE)
#> invisible(test_res)
#> }
The test we will run on the data requires certain parameters that specify the input, such as data (which dataframe will be used), which columns in the dataframe are used, what is the alpha level, etc. The function also gives output (test_res
) which we can use to evaluate the test results (e.g., the p-value for the equivalence test). For now, the output must be a named list.
Below we specify the study we want to add an analysis to (ap_dep_study
), and specify the function that should be run ("eq_test_r"
). Then we specify all the parameters that our function needs to run. These are basically the values you need to specify for any R function to run without throwing an error for a missing argument. We also add an analysis ID - you might have many different analyses you will run on a data file, and distinguishing them based on what they do (e.g., manipulation_check, main_analysis) might be useful.
Now that we have specified our analysis, we need to be explicit about the values that we will use to evaluate the hypotheses. We can use any values in the list of results from test_res
to evaluate the result. In this case, we will perform an equivalence test. To specify the statistical conditions that need to be met, we look at the TOSTr()
function. The output value we need for our hypothesis test is called TOST_p2
, which is the p-value against the upper bound. So when we set the upper equivalence bound to 0.3, our prediction is supported if TOST_p2
is smaller than our alpha level.
We plan to collect a large sample size of 460 people, and should have very high power for the equivalence test, and to balance our error rates, we set the alpha level to 0.01. Because we will compare our p-value to the alpha level, our comparator
is 0.01, and our hypothesis is supported when the p-value is smaller than 0.01, and therefore we specify the operator
as <
. Note that this example uses Hypothesis Testing, but you can also make other predictions, such as a mean that is larger than some value, or any other prediction based on parameters from the analyses you perform.
To evaluate our hypotheses, we add criteria to our study using the add_criterion()
function. Our hypothesis H1
will be considered confirmed when the result of the main_analysis
has TOST_p2
smaller than our alpha level of 0.01. We link this criterion to the hypothesis and analysis that it relates to using their IDs (H1
and main_analysis
).
ap_dep_study <- add_criterion(
ap_dep_study,
result = "TOST_p2",
operator = "<",
comparator = 0.01,
hypothesis_id = "H1",
analysis_id = "main_analysis"
)
You can add more than one criterion to a hypothesis by calling the add_criterion()
function more than once. By default, hypotheses are evaluated as true if all of their criteria are true. However, you can set up a hypothesis to evaluate to true if at least one criterion is true by adding the argument evaluation = "|"
when you set up the hypothesis using add_hypothesis()
.
This study
list of lists can be stored as an archive file. This saves the information in plain text JSON format.
We can read back the JSON file into an R list and take a look at the structure. We first remove the files from R:
And then read them back in:
ap_dep_study <- study("pre_data_apathy_depression.json")
#> Loaded custom function: eq_test_r
#> Loaded data prep function
str(ap_dep_study)
#> List of 7
#> $ name : chr "Distinguishing Apathy from Depression"
#> $ info :List of 1
#> ..$ author:List of 2
#> .. ..$ : chr "Daniel Lakens"
#> .. ..$ : chr "Lisa DeBruine"
#> $ hypotheses:List of 1
#> ..$ :List of 4
#> .. ..$ id : chr "H1"
#> .. ..$ description: chr "The correlation between the apathy and depression scale is smaller than 0.3"
#> .. ..$ criteria :List of 1
#> .. .. ..$ :List of 5
#> .. .. .. ..$ hypothesis_id: chr "H1"
#> .. .. .. ..$ analysis_id : chr "main_analysis"
#> .. .. .. ..$ result : chr "TOST_p2"
#> .. .. .. ..$ operator : chr "<"
#> .. .. .. ..$ comparator : num 0.01
#> .. ..$ evaluation : chr "&"
#> $ methods : list()
#> $ data : list()
#> $ prep :List of 3
#> ..$ params:List of 1
#> .. ..$ raw_data: chr ".data[apathy_depression_raw]"
#> ..$ code :List of 11
#> .. ..$ : chr "library(tidyverse)"
#> .. ..$ : chr ""
#> .. ..$ : chr "#raw_data <- read_csv(\"apathy_depression_raw.csv\")"
#> .. ..$ : chr ""
#> .. ..$ : chr "processed_data <- raw_data %>%"
#> .. ..$ : chr " gather(key, val, a1:d5) %>%"
#> .. ..$ : chr " separate(key, \"q\", 1, extra = \"drop\") %>%"
#> .. ..$ : chr " group_by(sub_id, q) %>%"
#> .. ..$ : chr " summarise(val = mean(val)) %>%"
#> .. ..$ : chr " spread(q, val) %>%"
#> .. ..$ : chr " rename(apathy = a, depression = d)"
#> ..$ return: chr "processed_data"
#> $ analyses :List of 1
#> ..$ :List of 4
#> .. ..$ id : chr "main_analysis"
#> .. ..$ func : chr "eq_test_r"
#> .. ..$ params:List of 6
#> .. .. ..$ data : chr ".data[processed_data]"
#> .. .. ..$ col1 : chr "apathy"
#> .. .. ..$ col2 : chr "depression"
#> .. .. ..$ alpha : num 0.05
#> .. .. ..$ high_eqbound_r: num 0.3
#> .. .. ..$ low_eqbound_r : num -0.3
#> .. ..$ code :List of 12
#> .. .. ..$ : chr "function (data, col1 = \"\", col2 = \"\", alpha = alpha, high_eqbound_r = high_eqbound_r, "
#> .. .. ..$ : chr " low_eqbound_r = low_eqbound_r) "
#> .. .. ..$ : chr "{"
#> .. .. ..$ : chr " x <- data[[col1]]"
#> .. .. ..$ : chr " y <- data[[col2]]"
#> .. .. ..$ : chr " r <- cor(x, y)"
#> .. .. ..$ : chr " n <- length(x)"
#> .. .. ..$ : chr " test_res <- TOSTER::TOSTr(n = n, r = r, high_eqbound_r = high_eqbound_r, "
#> .. .. ..$ : chr " low_eqbound_r = low_eqbound_r, alpha = alpha, plot = FALSE, "
#> .. .. ..$ : chr " verbose = FALSE)"
#> .. .. ..$ : chr " invisible(test_res)"
#> .. .. ..$ : chr "}"
#> - attr(*, "class")= chr [1:2] "reg_study" "list"
Because we specified our test and evaluation criteria for our prediction in detail in the JSON file, we can automatically extract this information, and summarize it in a human-readable format that can be used to preregister our statistical prediction with enough detail so that there is no ambiguity in our prediction, or what would support our prediction.
We can do this by creating a summary of the JSON file that contains the sections that are relevant for the preregistration. In this case, it means running study_report
command, asking for the ‘prereg’ template. This will write an html file named prereg_ap_dep_study.html
.
study_report(ap_dep_study,
template = "prereg",
filename = "prereg_ap_dep_study.html")
#> Saving to/Users/lisad/rproj/scienceverse/scienceverse/mess/demo/prereg_ap_dep_study.html
This writes an .html file to the working directory, that should look like:
The correlation between the apathy and depression scale is smaller than 0.3
Criterion 1 is confirmed if analysis yields TOST_p2 < 0.01
If all criteria are met, this hypothesis is supported.
We will run eq_test_r(data = .data[1], col1 = apathy, col2 = depression, alpha = 0.05, high_eqbound_r = 0.3, low_eqbound_r = -0.3)
After the preregistration we collect the data. Our data has 5 columns for the apathy items (a1 to a5) and 5 columns for the depression data (d1 to d5).
Now that we have ‘collected’ (in this case simulated) the data we can use the scienceverse package to evaluate the preregistered results. The scienceverse package does this by taking the data, running the preregistered analysis script, and comparing the results to the preregistered evaluation criteria. We will first load the data, which we assume is stored in a folder named ‘original_data’. We give the data an ID so we can reference it later (in case there are multiple hypotheses, based on different raw data files).
We first run the data preparation on the raw data (this is a seperate step, for cases in which the data preparation takes a long time, so it only needs to be performed once).
ap_dep_study <- data_prep(ap_dep_study)
#> ── Attaching packages ────────────────────────────────────────────────────────────── tidyverse 1.2.1 ──
#> ✔ ggplot2 3.1.1 ✔ purrr 0.3.2
#> ✔ tibble 2.1.3 ✔ dplyr 0.8.1
#> ✔ tidyr 0.8.3 ✔ stringr 1.4.0
#> ✔ readr 1.3.1 ✔ forcats 0.4.0
#> ── Conflicts ───────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
#> ✖ dplyr::filter() masks stats::filter()
#> ✖ dplyr::lag() masks stats::lag()
This will create a new data entry in ap_dep_study
called processed_data
(the name we specified in the data_prep()
function).
We preregistered that we would consider the results supported when the p-value for the test against the upper equivalence bound (a correlation of r = 0.3) would be smaller than the alpha level of 0.01. Now that our data are attached and prepped, we can evaluate the pre-registered hypotheses automatically. The summary returns a conclusion, based on the planned analysis and the collected data.
The evaluation of our analysis is performed automatically. It demonstrates how machine readable hypotheses are an easy way to check whether the predictions that were made in a preregistration are formally supported. We can generate a report that can be submitted with the manuscript that summarizes whether each pre-registered hypothesis was supported:
study_report(ap_dep_study,
template = "postreg",
filename = "postreg_ap_dep_study.html")
#> Saving to/Users/lisad/rproj/scienceverse/scienceverse/mess/demo/postreg_ap_dep_study.html
Finally, when we are all done, we save the archive file. This contains everything we need to reproduce the reported results: the raw data, the data preparation, the analyses, and the results. Pretty cool, right? ;)


Local Weather App
City name, Country
Latitude: XXX.xxxx
Longitude: XXX.xxxx
weather icon
Temperature in C/F
sky visibility
velocity of wind


本书pdf是 文字版 。
Introduction
The relative importance of different elements
Classification of elements into metals and nonmetals
Binary compounds
On the nature of the limiting types of binary compounds
Types of formula
Classification of elements according to the electrochemical series
Valency
Pseudo-binary compounds
The Periodic Table
Interpretation of main-group valencies in terms of a simple model of main-group atoms
Compounds of higher order than two
Coordination compounds
Loose compounds and solutions
Types of chemical reaction
Acids, bases, and salts
Oxidation and reduction
Further study


Fernando Esposito
, Volume 19, Number 1, January 2012, pp. 139-152 (Article)
Published by The Johns Hopkins University Press
DOI: 10.1353/mod.2012.0021
For additional information about this article
http://muse.jhu.edu/journals/mod/summary/v019/19.1.esposito.html
Access Provided by The University Of Texas at Austin, General Libraries at 07/05/12 8:04PM GMT
In June 1934, in the year XII of the fascist era, the Milanese Palazzo dell’Arte reopened its halls to the public. Until January, the palazzo housed the Esposizione dell’aeronautica Italiana (EAI), an exhibition dedicated to
all the contributions of the genius, the heroism and the work of the Italians to the solution of the problems of flight, to the achievement of memorable deeds in war and peace, and to the construction and uses of a means of transportation, for whom destiny has conceded an ever broadening development.1
According to one of the popular monthly aviation periodicals published by Italo Balbo’s Aeronautical Ministry, L’Ala d’Italia, in approximately six months over one million visitors “had wandered through the rooms of the Palazzo dell’Arte and dwelled in its halls to relive the story of the Italian eagles and the grand poem of the proud human conquest.”2 By order of the Duce, the duration of the exhibition had been extended so that further visitors were able to undertake a “pilgrimage of love” and to admire the marvels brought forth by “the ingeniousness and the capacity of the Italian people” that were displayed on the two exhibition floors of the recently erected structure.
The idea for the exhibition began with Marcello Visconti di Modrone, the Milanese podestà. He entrusted Colonel Francesco Cutry from the historical division of the Aeronautical Ministry, Carlo A. Felice, and the architect Giuseppe Pagano
modernism / modernity volume nineteen, number one, pp 139–152. © 2012
the johns hopkins university press
Fernando Esposito is a lecturer in Contemporary History at the Eberhard Karls University Tübingen. In his book, Mythische Moderne.Aviatik, Faschismus und die Sehnsucht nach Ordnung in Deutschland und Italien (Oldenbourg Wissenschaftsverlag, 2011), he interprets aviation as a metaphor of fascism and examines the nexus between myth and modernity.
140 with its planning. Some of the most renowned architects and designers of the Italian modernist movement were to contribute to the exhibition.3 On the entrance side, for example, the building’s façade was adorned by a composition designed by the painter Erbeto Carboni: a stylized fascio littorio overshadowed a map of the world flanked by a dynamic swarm of airplanes that “symbolized the primacy of the Italian wing.”4 The curators wanted to overwhelm the visitor right from the start. Once visitors entered the building, a typically resolute-faced Mussolini glared down upon them from the far side of the entrance hall.5 The caption that underlined Mussolini’s–and accordingly all of Italy’s–determination read: “This wing that has resumed its flight won’t be broken again.”
▲
Fig. 1.The façade of the Palazzo dell’arte and the entrance to the exhibition.
Visitors proceeded into an atrium (2) from which they could already catch a better glimpse of the highlight on the first floor. It was the SVA-airplane of the Squadra di San Marco (15) with which Gabriele D’Annunzio had dropped his cynical leaflet-bombs on the Austro-Hungarian capital of Vienna on August 9th, 1918. The imagery was obvious: the relic lay at the foot of the steps and the ascent that followed led upwards, not only to the second floor of the exhibition, but to the regenerated Italy that fascism had brought forth.
Mussolini’s Aviatik-airplane (15/2) was at the top of the steps. He had crashed it at Arcore—what subtle irony of history—in early March 1921 while practicing for his flight license. What followed was a tale of successes, astonishing feats, the fulfillment of a glorious destiny. The second floor exhibited a wide range of achievements from the fascist reign. It encompassed the airports that had been built (16), the study of aerodynamics (17) and meteorology (21), civil aviation and air mail (28), and the Italian records in speed and flown distances (19 and 26), as well as mass flights (20). Of these, the Crociera aerea del Decennale (22), Italo Balbo and his “winged century’s” mass flight from Orbetello to Chicago, was displayed most prominently.6
Like other fascist exhibitions, the EAI was designed to convey the spirit of fascism 141 and the fascist order to Italian society.7 An exhibition on aviation was an apt means to this end, as aviation was a popular symbol of modern technological mastery and thus a crowd puller. In particular, aviation symbolized dynamic, upward motion, the new departure that was decisive for fascism’s self-conception and for the image it presented to the masses. In fact, as well as aviation being legible as a metaphor for fascism, the EAI itself can be seen as a paradigm of the fascist order that was “inscribed” into Italian society.8 In the following pages, I will highlight the mythical structure of this order and elucidate its nexus to modernity.
▲
Fig. 2.The floor plans of the aeronautical exhibition.
The layout of the exhibition was teleological. While the route was designed as the “path taken by the Italian genius on the difficult climb towards the millenarian human aspiration, the conquest of the skies,” the true telos was the fascist society, or rather gemeinschaft itself.9 On the first floor, visitors were guided through the eventful first decades of flight that were expanded to include significant Italian “precursors” (3) such as Leonardo da Vinci and the inventor Enrico Forlanini (4). The chronologically-arranged tour led past the “first flights” (5), to the hall dedicated to aviation in the Italo-Turkish war of 1911 (6), where Italians were the first to use aviation militarily. After passing
142 through the “sanctuary” constructed for the 14 dead and 12 living pilots that bore the medaglia d’oro (8), visitors entered the “D’Annunzio hall” (9). The word “hall,” sala, seems an overstatement: I am tempted to see the comparatively small amount of space devoted to D’Annunzio as reflecting Mussolini’s jealousy of his former rival. In the turmoil of the post-war years, D’Annunzio—the celebrated poet, irredentist agitator, aerial hero and commandante of the Fiumian adventure10—had seemed the ideal and sole leader capable of unifying the heterogeneous veterans’, syndicalist, futurist, and nationalist movements that lay at the root of nascent fascism.11 D’Annunzio was not only the “first Duce,” as Michael Leeden has called him, he was also the original “primo pilota.”12 Central elements of the fascist aviation narrative originated in his speeches, writings, and deeds.13 With a nod to the British journalist Sisley Huddleston, one could say that the exhibition accurately portrayed him as the “John the Baptist” of fascism.14 D’Annunzio’s major role in the Italian aerial history of the First World War, but also his many contributions to the articulation and mediation of the flight experience itself and to the genesis of the nexus between fascism and aviation, could only be downplayed, not omitted, at the EAI.15 Yet ironically, the “D’Annunzio hall” was a dead end. Visitors had to return to the “sanctuary” and pass through the “Corridor of Arms” (10) to finally enter the “Aviation in the Great War hall” (11). This was designed by the erstwhile futurist Mario Sironi, and it exhibited five planes, including a huge Caproni-bomber and the sorry remains of Italy’s leading ace Francesco Baracca’s fighter plane.16 The following room (13) covered “Aviation and Fascism from 1919 to 1922 and also encompassed the “Fiumian Wing.” The tenor of this part of the exhibition was that the climax of the First World War, in which the heroism of Italian aviators and their spirit of self-sacrifice had led from one victory to another, had been followed by a deep abyss. Because of the impotence of the liberal government and their unwillingness to fight, the Italian wing was broken. There were no “pilots” among the liberals, and only the fascists kept the aviation spirit alive. The catalogue read as follows:
Fascism spreads! It is the expression of the rebellion against the weaknesses and the cowardice of all those that are disposed to all kinds of settlements; [...] expression of the will that the country must be sent underway [...] Mussolini, the creator of this new faith, the leading spirit, condottiere and head harmonizes and channels all the enthusiasm and all the fever, he understands the exasperation of the aviation fanatics, and since he is also a fanatic he is extremely saddened by the state of the Italian Wing; he encourages, spurs, drives on, urges and cautions severely but justly; he is not alone, but becomes the comprehensive expression of the aviation revolt, of the will to rebuild, and he flies, flies, and flies to bear witness to a faith and to inspire the spirit of his followers that are becoming a great phalanx.17
In the years that followed the “abyss,” the topos of Mussolini as pilot would be among the many prominent images that fascist propaganda would spread of the Duce.18 In his book Mussolini aviatore Guido Mattioli clarified the meaning of the aviation metaphor:
Who ventures in aerial navigation faces a new way of educating the spirit. That is why 143 Benito Mussolini took up flying so soon. [...] History’s big games are won with moral and physical courage. He who is fearful doesn’t act, doesn’t bring forth matters of fact, doesn’t create anything. He who is scared doesn’t fly, can’t fly. [...] No machine requires more concentration of the human spirit and of man’s will than the airplane to function perfectly. The pilot really knows what it means to govern and steer. This is the reason for the seemingly necessary and intimate spiritual connection between Fascism and aviation. Every aviator would be a born fascist.19
It was this link between fascism and aviation that the exhibition tried to “engraft” on visitors. The fascists didn’t only want to benefit from the popularity of aviation, of its esteemed image as a “modern wonder.”20 The analogy drawn between fascism and flight was deeper and in itself twofold.
The first floor culminated in the Hall of Icarus–a cylindrical room two stories high. According to the catalogue, it was allegedly the only room in the exhibition with symbolic character.21 A blue spiral that rose to the ceiling stood at its center. The meaning conveyed by the room was unequivocal and was affirmed by one of D’Annunzio’s dictums, which adorned the wall below the Icarus statue:
A limit to man’s powers? No limit to power exists. A limit to courage? No limit to courage exists. A limit to hardship? No limit to hardship exists. I declare that the ne plus ultra is the most outrageous blasphemy [ever pronounced] against God and against man.22
Fig. 3.The cylindrical Hall of Icarus.
144 The swaggering was as typical for D’Annunzio as the references to antiquity. Ne plus ultra may have been inscribed on the Pillars of Hercules, i.e. at the Strait of Gibraltar that had once marked the boundary of the ancient world and warned travelers not to venture beyond.23 D’Annunzio most probably referred to the 26th canto of Dante’s Inferno, where Ulysses is punished for his Promethean spirit and his will to transgress the edge of the known earth. The message was straightforward: not even the sky was the limit for fascism. Fascism had reawakened the Promethean and Icarian spirit of the Italians and fascist new man strove beyond common boundaries and constantly aimed higher: Excelsior! For his part, D’Annunzio had worked on this version of the Nietzschean Übermensch since his own first flight as a passenger at the airshow in Brescia, in 1909. The central elements and topoi of the bellicose aviatic narrative that would eventually structure the fascist myth of the new man—that the exhibition as well as other popular media translated for a broader tier of society—were already present in his novel Forse che sì, forse che no (January 1910). Together with the topos of plus ultra, the Icarian Übermensch encompassed technological mastery; the fusion of man and machine; the intoxication with and the idolization of speed, dynamism, youth, masculinity; and the corresponding virile and misogynous attributes. Yet the primary characteristic of the new aristocracy of supermen symbolized by the D’Annunzian Icarus was the defiance of death and the will to sacrifice. D’Annunzio—as well as the Futurists—had cultivated these topoi years before the First World War. Yet the context of the war proved decisive for its meaning, as well as for the success of the aviatic narrative. Symbolizing the Nietzschean Excelsior, Icarus embodied the essence of the modern zeitgeist. However, it was his fall that predestined him to become a figure paradigmatic of the nascent fascist palingenetic myth.24 Icarus’s fall was not taken as a consequence of his hubris, but was reinterpreted: Icarus was an essential sacrifice on the “altar of the fatherland,” and his death was a necessary precondition for a new man to be born and a regenerated Italy to arise. Had it not been for the so-called vittoria mutilata, the “mutilated victory,” and for D’Annunzio’s ability to skillfully interweave his vision with existing interpretative patterns, the vision of the Icarian Übermensch would probably have remained confined to small literary and intellectual circles. Yet by interlacing his elitist image of a new man with predominantly religious commonplaces, D’Annunzio theoretically enabled even the illiterate foot soldier to relate to the narrative and make some kind of sense of it. D’Annunzio’s language was permeated with Catholic motifs, and his speeches frequently became prayers, as is evident in the speech in the Corriere della Sera published on the 26th of March, 1918. It was titled The Faith in Italian Aviation, and in fact D’Annunzio had given this “sermon” the day before at a fundraising banquet for the Italian Air Force at the Milanese Scala:
See, the war passes on from one element to another, from the earth and the water it has risen to the skies. Nike flies as in the myth, but not with two wings, rather she flies with thousands and thousands and thousand more wings.
D’Annunzio continues by calling attention to donations made by other cities. These 145 weren’t petty gifts; rather they were:
„[...] testimonies to faith. The most humble donation is an act of faith in that weapon, that alone can win the war. [...] These heroes know it. The living know it, the dead know it. The shadow of the winged machine is similar to the shadow of the wood of sacrifice and salvation. I recognized this on a day that has now long passed, on a day in that other war, on the grim field of Gonars, that resembled a levelled Calvary, as I beheld the plane that Oreste Salomone conducted, with its mournful burden and all sprinkled in blood, then the likeness appeared to me.  […] ‚O, Wing of Italy, you are my faith, is confessed by those of us who have been lacerated, who have been crushed, who have been an earthbound holocaust just to be abducted into the sky again by the spirit of fire.25
To make sense of the war in the air, as well as of the agony in the trenches, D’Annunzio depicted the soldier as a suffering Christ, the aviator as a holocaust: as a burnt offering, as an oblation, and a crucified saviour.26 These were the central elements and images of the “cult of the fallen soldier” that subsequently became a political religion and mythical order founded on nationhood.27 After the war was over, D’Annunzio also integrated the spoils which the Entente had “denied” Italy into this narrative. The liberal order and “the West” were discredited, and a new and greater Italy, la più grande Italia, had to ensure that the hecatombs offered to the gods would not be in vain.28 The figure of the D’Annunzian Icarian and Christian hybrid was advanced by the credibility D’Annunzio had attained through his daring feats in the war and during the occupation of Fiume, as well as by the media that conveyed them and promoted him. But mainly, it was the First World War itself that promoted these ideas and extended the sphere of their impact.
The war had not only threatened the existing order but had virtually swept it aside. The “world of yesterday” that had already been corroded at the Fin de siècle now crumbled.29 The dissembling of the existing order was a result of social, economic, technological, and cultural upheaval that had found its outburst in the clash of nation states. The failure of traditional interpretative patterns and of the grand narrative of progress to make sense of the present, or to envision a stable future, catalysed the radicalized “quest for order.”30 The omnipresence of death, turmoil, and chaos created a disposition for all kinds of narratives of redemption and purification, of salvation, rebirth, and regeneration, which gave action in general and suffering in particular a direction and a meaning. And thus the societies and individuals in war-stricken Europe—especially those that were defeated and whose war was therefore exempt from meaning—reacted by trying to “abolish history” and to “renew time.”31 They tried to destroy and to symbolically transcend senseless, profane time by incorporating the historical events in a super-historical context, or nomos.32 The Christianized Icarian and palingenetic narrative that the EAI spatialized was a means to this end. It offered visitors a way of understanding the reality that had emerged during the war, a symbolic solution to the urgent questions that resulted from “defeat” or rather “mutilated victory,” a new order of history and a vision of the future.
146 The liberal order, the decadence, the and impotence that had impeded the Italian ascent was symbolically abolished on the first floor of the EAI. In contrast, Mussolini’s airplane at the top of the flight of stairs embodied the new Italy that had arisen from the shambles of the old world or, for that matter, from the ashes, like a phoenix. The whole second floor culminated in the hall dedicated to Balbo’s Crociera del Decennale. Balbo’s mass flight across the Atlantic was an expression of the collective spirit that fascism aimed to nourish in all Italians. As the catalogue implied, it reified the reborn Italy:
Thus the Crociera del Decennale does more than conclude an era of modern aviation. She is one of the brightest undertakings of an Italy that has again become a Nation of heroes and scientists, of workers and artists, of men of thought and of action. The great, glorious ‘I. Balb’ [Balbo’s seaplane] that the crowd admires isn’t only a perfect machine all of whose components were built on Italian shop floors […]. […] It [the seaplane] is a piece of the Fatherland that has been cast about the world to demonstrate what stuff the Fatherland is made of.33
Balbo’s adventure had in fact been a major propagandistic success for the regime abroad. In Chicago, a street was named after Balbo; President Roosevelt received him at the White House; and the city of New York arranged a ticker tape parade for the fascist heroes on July 21, 1933. On the evening of that same day, Balbo greeted approximately 60,000 Italian-Americans at Madison Square Garden and greeted them from the Duce:34
Be proud of being Italian […] because you are the love and the pride of the Duce, you that are faithful and fertile, you that have the spirit and the patience of the builders of Rome! Mussolini has ended the time of humiliation: to be Italian is an honorable title. Fifty million Italians carry on marching the ways of the earth, of the seas and of the skies: yet they do so under the pennant of Rome and under the command of a great leader: Italy is no longer plebeian but an army of civilisation underway in the world.35
The reciprocal acclamation concluded with the fascist hymn to youth and the “spring of beauty” that Mussoini had allegedly brought about, Giovinezza. According to Balbo, the audience inside and the thousands crowded outside joined in, and via radio waves, the melody “spread till the bright shores of Italy.” This was the mythical communion and community of Italians that fascism strove to erect and that the exhibition attempted to inscribe into its visitors. In an article covering the importance of “Aviation and Art” at the exhibition, Vincenzo Constantini stated that commemorative exhibitions of this sort and especially the artwork displayed enabled the visitor “to live in the spirit” of what was exhibited:
[...] in the end [these exhibitions] are more interesting than those which accumulate the usual ‘still lifes’ or ‘bathers.’ Why? The ‘commemorative exhibitions’ engraft the artistic fantasy into social life. [...] in these exhibitions the aesthetic contemplation descends into the active life of the nation, it gives itself to the people, that runs in masses to visit a production that is of interest to daily life.36
Yet it wasn’t only aesthetic contemplation that “descended into the active life of the 147 nation” by means of the exhibitions. A new order of history and time overarched the “abyss” between the “glory” of ancient Rome and the reborn fascist New Italy. It is this destruction of history and profane time, the subsequent reordering of time, and the incorporation of historical events in a super-historical context that the exhibition attempted to engraft into the visitors—and that also seems to be one of the central characteristics, both of fascism as an expression of the radicalized quest for order that resulted from the war, and of mythical modernity in general. What is mythical modernity, and how can this apparent oxymoron be understood?
At the risk of oversimplifying a complex phenomenon, taking Zygmunt Bauman’s theory of modernity as a starting point, we can characterize modernity as a specific mindset and ethos that is grounded on the consciousness of order as task and the subsequent quest for order.37 This modern mindset spread in reaction to the accelerating rate of change and to the resulting perception that “all that is solid melts into air [and that] all that is holy is profaned.”38 This liquefaction and profanation leads to the search for an order that is grounded on truly “solid” and “holy” entities/principles. Hence mythical modernity can be understood as an attempt to semantically restructure, mentally remap, and reorder the world in accordance with what is ahistorical, absolutized, and thus “holy.” The mythical order was modern because it was borne out of the understanding of order as task. It was mythical because it legitimized the constitution of society by anchoring its nomos in a supreme and allegedly uncontested sacred entity or value.39
In contrast to the normative usage of the word myth, which usually implies a false story and as such the opposite of reason qua logos, philosophical and ethnological theories of myth define it as a linguistic social practice.40 Mythical narratives legitimize a natural or cultural phenomenon by connecting it to the sphere of the sacred; they “naturalize” history, as Roland Barthes has shown.41 The sacred is a value or an entity that is intersubjectively uncontested. The mercilessness of the conflicts between the modern ideologies resulted from an underlying fundamental contradiction: on the one hand, a common need for an intersubjectively uncontested “solid”; on the other, a contestation of the concepts and candidates for the role of the sacred that stood at the core of each of the modern ideologies, be it the nation, the Aryan race, the proletariat, or reason.
D’Annunzio and the EAI legitimized suffering, sacrifice, death, and killing in the war by connecting them to the rebirth and regeneration of the sanctified nation. Both divinized aviators and their machines by portraying them as saviors and true expressions of that very same sacred nation. Neither the analogy between “the shadow of winged machine” and “the wood of sacrifice and salvation,” nor the essential message of the exhibition—the fall and ascension of the nation—should be seen as mere artistic hyperboles. They should rather be understood as earnest attempts to order both a chaotic world and a time that seemed to be out of joint by constituting a commonly accessible meaning and a Gemeinschaft, an organic society, on the grounds of a sacralized nation. The resulting order can be seen as a mythical solution to the quest for
148 order. D’Annunzio’s literary works and his speeches, as well as the EAI, were not only outstanding examples of the sacralization of politics that characterized fascism. They were also examples of the aesthetization of politics, which, according to Benjamin, was fascism’s aim.42 This (re)merger of the sacred and the aesthetic with the scope of molding a Gemeinschaft is also voiced most accurately through the concept of myth. The mythical solution to the quest for order seems a logical consequence both of a reality that was perceived of as a “state of emergency” and of a human condition that was experienced as “transcendental homelessness”.43 This state of emergency as well as the transcendental homelessness resulted from the “death of God”: i.e., the contestation and thus profanation of “all that is holy,” not in the least by means of historicist thinking. As Heidegger has shown, Nietzsche’s “God is dead” didn’t only refer to the Christian God, it referred to the dissolution of the supernatural and the metaphysical in general, and as such the discovery of the contingency of all orders and all that underlay them.44 In hindsight, it is possible to equate the discovery of the contingency of the existing order with the discovery of the impossibility of order in general. Yet the contemporary reaction to the dissolution of both the order of the ancien régime and of the liberal order in the course of the First World War was not the abandonment of order altogether, but rather the frantic quest for alternative orders: alternative orders that were anchored in something truly “absolute” or truly “sacred,” i.e., definitely, intersubjectively incontestable. As Zygmunt Bauman asserts:
[…] all this [liquefaction] was to be done not in order to do away with the solids once and for all and make the brave new world free of them forever, but to clear the site for new and improved solids; to replace the inherited set of deficient and defective solids with another set, which was much improved and preferably perfect, and for that reason no longer alterable. […] the ‘found solids’ were resented, condemned and earmarked for liquefaction for the reason that they were already rusty, mushy, coming apart at the seams and altogether unreliable. Modern times found the pre-modern solids in a fairly advanced stage of disintegration; and one of the most powerful motives behind the urge to melt them was the wish to discover or invent solids of–for a change–lasting solidity, a solidity which one could trust and rely upon and which would make the world predictable and therefore manageable.45
During the fin de siécle and especially following the First World War, the “solids” —now the ones upon which the liberal order was constructed—again appeared “in a fairly advanced stage of disintegration.” They were liquefied and replaced by allegedly reliable “solids,” such as the nation or the Volk, in the fascist case, or the proletariat, in the Bolshevist case. Such “truly” reliable solids, i.e. absolute, eternal and sacred entities, were necessarily ahistorical and thus mythical. An order grounded on just such mythical solids gained its legitimation either from “science,” thereby repressing its mythical origins, or was consciously proclaimed and preached as myth, relying on the belief that real truths were organic and holistic—exactly the opposite of scientific. Both versions were present in European fascism, and they were often mixed to different degrees.
The point that should be stressed is that this paradoxical as well as aporetical situation is, I believe, a defining characteristic of modernities in general. The modern ethos or mindset dismisses myth and longs for it nonetheless. It is capable of delegitimizing, 149 deconstructing, and destroying myths but is not able to live without them. These two states of mind were not successive; they were coexistent. To perceive reality as a “state of emergency,” as chaos and as the absence of order, means that “the problem of order” is already present; or as Bauman puts it, “has already come out of hiding, out of nonexistence, out of silence.”46 Accordingly, the modern mindset seeks to overcome the state of emergency by finding a solution to the “problem of order.” Yet the solution can only repress or sublimate the problem of order, not dispose of it once and for all. The aporia results from the fact that the discovery of the contingency of one specific order is a point of no return; or, as Nietzsche put it, referring to his own philosophy on the day he broke down in Turin, “After you had discovered me, it was no feat to find me; the difficulty now is to lose me...”47
This is in fact the crucial point in regard to the concept of mythical modernity: modern consciousness searches for an order that is grounded in an absolute, but this search itself is the product of a consciousness that is skeptical of absolutes, and of the myths that order the world in relation to absolutes. This longing for myth is simultaneous with the incapacity to live in a mythically ordered world, and not, as the Enlightenment and modernization theory has had us believe, chronologically posterior. The “Gleichzeitigkeit des Ungleichzeitigen,” i.e. the contemporaneity of the incontemporaneous, is itself a legitimating myth of the Enlightenment which, as Adorno and Horkheimer state, reverts back to mythology.48 And thus myth— commonly branded as the “other” of modernity, as the precursor of the modern and of logos—becomes complementary of modernity. Ironically, through the transformation of our perspective on modernity, fascism—the former paradigm of the unmodern, or, as Jeffrey Herf calles it, of “reactionary modernism” —actually becomes a possible archetype of the modern.49
4. Esposizione dell’aeronautica italiana, l.c., p. 23.
X. La Mostra della Rivoluzione fascista del 1932 (Pisa: Ist. Ed. Poligrafici Internazionali, 2003); Marla
150 Stone, The Patron State. Culture & Politics in Fascist Italy (Princeton, NJ: Princeton Univ. Press, 1998); id., ‘Staging Fascism: The Exhibition of the Fascist Revolution’ in Journal of Contemporary History Vol. 28 (1993), pp. 215–243.
17. Esposizione dell’aeronautica italiana, l.c., p. 130.
2005); Emilio Gentile, ‘Political Religion: A Concept and its Critics–A Critical Survey’ in Totalitar-151 ian Movements and Political Religion, Vol. 6 (2005), pp. 19–32; id., Le religioni della politica. Fra democrazie e totalitarismi (Rome: Laterza, 2001); id., The Sacralization of Politics, l.c.; Hans Maier (ed.), Totalitarismus und politische Religionen. Konzepte des Diktaturvergleichs, 3 Vol. (Paderborn: Schöning, 1996, 1997, 2003); George L. Mosse, The Crisis of German Ideology. Intellectual Origins of the Third Reich (London: Weidenfeld and Nicolson, 1966); Eric Voegelin, Die Politischen Religionen (Munich: Fink, 1993 [repr.]); Klaus Vondung, Magie und Manipulation. Ideologischer Kult und Politische Religion des Nationalsozialismus (Göttingen: Vandenhoeck & Ruprecht, 1971).
28. Cf. Gabriele D’Annunzio, Per la più grande Italia (Milan: Treves, 1915).
33. Esposizione dell’aeronautica italiana, l.c., p. 178.
(New York : H. Fertig, 1975).
43. The concept of the “state of emergency” or Ausnahmezustand originates from Carl Schmitt, Politische Theologie. Vier Kapitel zur Lehre von der Souveränität (Munich: Duncker & Humblot, 1922). The concept of “transcendental homelessness” originates from Georg Lukács, Die Theorie des Romans : ein geschichtsphilosophischer Versuch über die Formen der großen Epik (Berlin: Cassirer 1920); For the crisis in Weimar Germany as a “state of emergency” and the search for transcendence see particularly Michael Makropoulos, ‘Krise und Kontingenz. Zwei Kategorien im Modernitätsdiskurs der Klassischen Moderne’ in Moritz Föllmer a. Rüdiger Graf (eds.), Die ‚Krise‘ der Weimarer Republik. Zur Kritik eines Deutungsmusters (Frankfurt a.M.: Campus, 2005), pp. 45–76.
152 46. Modernity and Ambivalence, l.c., p. 6.