20,765 research outputs found

    JEqualityGen: Generating Equality and Hashing Methods

    No full text
    Manually implementing equals (for object comparisons) and hashCode (for object hashing) methods in large software projects is tedious and error-prone. This is due to many special cases, such as field shadowing, comparison between different types, or cyclic object graphs. Here, we present JEqualityGen, a source code generator that automatically derives implementations of these methods. JEqualityGen proceeds in two states: it first uses source code reflection in MetaAspectJ to generate aspects that contain the method implementations, before it uses weaving on the bytecode level to insert these into the target application. JEqualityGen generates not only correct, but efficient source code that on a typical large-scale Java application exhibits a performance improvement of more than two orders of magnitude in the equality operations generated, compared to an existing system based on runtime reflection. JEqualityGen achieves this by generating runtime profiling code that collects data. This enables it to generate optimised method implementations in a second round

    No Fats, Femmes, or Asians

    Get PDF
    A frequent caveat in online dating profiles – “No fats, femmes, or Asians” – caused an LGBT activist to complain about the bias against Asians in the American gay community, which he called “racial looksism”. In response, he was asked that, if he himself would not date a fat person, why he should find others not dating Asians so upsetting. This response embodies a popular attitude that personal preferences or tastes are simply personal matters – they are not subject to moral evaluation. In this paper, I argue, against this popular attitude, that a personal preference like racial looksism is indeed wrong. A preference like racial looksism is wrong because it is an overgeneralization that disrespects individuality by treating people as exchangeable tokens of one type, and such disrespect denies its objects appreciation that their dignity entitles them to. As it turns out, there is on my account a relevant moral difference between racial looksism and simple looksism

    Character analysis of oral activity: contact profiling

    Get PDF
    The article presents the results of our observations on syntactic, semantic and plot peculiarities of oral language activity, we find it justified to consider the above mentioned parameters as identification criteria for discovering characterological differences of Ukrainian-speaking and Russian-speaking objects of contact profiling. It describes the connection between mechanisms of psychological defenses as the character structural components, and agentive and non-agentive speech constructions, internal and external predicates. Localized and described plots of oral narratives inherent to representatives of different character types

    Offenders' Crime Narratives across Different Types of Crimes

    Get PDF
    The current study explores the roles offenders see themselves playing during an offence and their relationship to different crime types. One hundred and twenty incarcerated offenders indicated the narrative roles they acted out whilst committing a specific crime they remembered well. The data were subjected to Smallest Space Analysis (SSA) and four themes were identified: Hero, Professional, Revenger and Victim in line with the recent theoretical framework posited for Narrative Offence Roles (Youngs & Canter, 2012). Further analysis showed that different subsets of crimes were more like to be associated with different narrative offence roles. Hero and Professional were found to be associated with property offences (theft, burglary and shoplifting), drug offences and robbery and Revenger and Victim were found to be associated with violence, sexual offences and murder. The theoretical implications for understanding crime on the basis of offenders' narrative roles as well as practical implications are discussed

    TrusNet: Peer-to-Peer Cryptographic Authentication

    Get PDF
    Originally, the Internet was meant as a general purpose communication protocol, transferring primarily text documents between interested parties. Over time, documents expanded to include pictures, videos and even web pages. Increasingly, the Internet is being used to transfer a new kind of data which it was never designed for. In most ways, this new data type fits in naturally to the Internet, taking advantage of the near limit-less expanse of the protocol. Hardware protocols, unlike previous data types, provide a unique set security problem. Much like financial data, hardware protocols extended across the Internet must be protected with authentication. Currently, systems which do authenticate do so through a central server, utilizing a similar authentication model to the HTTPS protocol. This hierarchical model is often at odds with the needs of hardware protocols, particularly in ad-hoc networks where peer-to-peer communication is prioritized over a hierarchical model. Our project attempts to implement a peer-to-peer cryptographic authentication protocol to be used to protect hardware protocols extending over the Internet. The TrusNet project uses public-key cryptography to authenticate nodes on a distributed network, with each node locally managing a record of the public keys of nodes which it has encountered. These keys are used to secure data transmission between nodes and to authenticate the identities of nodes. TrusNet is designed to be used on multiple different types of network interfaces, but currently only has explicit hooks for Internet Protocol connections. As of June 2016, TrusNet has successfully achieved a basic authentication and communication protocol on Windows 7, OSX, Linux 14 and the Intel Edison. TrusNet uses RC-4 as its stream cipher and RSA as its public-key algorithm, although both of these are easily configurable. Along with the library, TrusNet also enables the building of a unit testing suite, a simple UI application designed to visualize the basics of the system and a build with hooks into the I/O pins of the Intel Edison allowing for a basic demonstration of the system
    • 

    corecore