|
| |
OpenSSL Old Branch Release notes
The major changes in the 0.9.7 and earlier branches of the OpenSSL
toolkit are summarised below. The contents reflect the state of the
NEWS file inside the git repository. Note: these branches
are considered obsolete and are no longer maintained.
Additional details of changes to OpenSSL 0.9.7 and earlier can be found in the ChangeLog.
A complete list of changes to OpenSSL 0.9.7 and earlier can be found in the git repository commit log.
Major changes between OpenSSL 0.9.7l and OpenSSL 0.9.7m [23 Feb 2007]:
- FIPS 1.1.1 module linking.
- Various ciphersuite selection fixes.
Major changes between OpenSSL 0.9.7k and OpenSSL 0.9.7l [28 Sep 2006]:
Major changes between OpenSSL 0.9.7j and OpenSSL 0.9.7k [5 Sep 2006]:
Major changes between OpenSSL 0.9.7i and OpenSSL 0.9.7j [4 May 2006]:
- Visual C++ 2005 fixes.
- Update Windows build system for FIPS.
Major changes between OpenSSL 0.9.7h and OpenSSL 0.9.7i [14 Oct 2005]:
- Give EVP_MAX_MD_SIZE it's old value, except for a FIPS build.
Major changes between OpenSSL 0.9.7g and OpenSSL 0.9.7h [11 Oct 2005]:
- Fix SSL 2.0 Rollback, CVE-2005-2969
- Allow use of fixed-length exponent on DSA signing
- Default fixed-window RSA, DSA, DH private-key operations
Major changes between OpenSSL 0.9.7f and OpenSSL 0.9.7g [11 Apr 2005]:
- More compilation issues fixed.
- Adaptation to more modern Kerberos API.
- Enhanced or corrected configuration for Solaris64, Mingw and Cygwin.
- Enhanced x86_64 assembler BIGNUM module.
- More constification.
- Added processing of proxy certificates (RFC 3820).
Major changes between OpenSSL 0.9.7e and OpenSSL 0.9.7f [22 Mar 2005]:
- Several compilation issues fixed.
- Many memory allocation failure checks added.
- Improved comparison of X509 Name type.
- Mandatory basic checks on certificates.
- Performance improvements.
Major changes between OpenSSL 0.9.7d and OpenSSL 0.9.7e [25 Oct 2004]:
- Fix race condition in CRL checking code.
- Fixes to PKCS#7 (S/MIME) code.
Major changes between OpenSSL 0.9.7c and OpenSSL 0.9.7d [17 Mar 2004]:
- Security: Fix Kerberos ciphersuite SSL/TLS handshaking bug
- Security: Fix null-pointer assignment in do_change_cipher_spec()
- Allow multiple active certificates with same subject in CA index
- Multiple X509 verification fixes
- Speed up HMAC and other operations
Major changes between OpenSSL 0.9.7b and OpenSSL 0.9.7c [30 Sep 2003]:
- Security: fix various ASN1 parsing bugs.
- New -ignore_err option to OCSP utility.
- Various interop and bug fixes in S/MIME code.
- SSL/TLS protocol fix for unrequested client certificates.
Major changes between OpenSSL 0.9.7a and OpenSSL 0.9.7b [10 Apr 2003]:
- Security: counter the Klima-Pokorny-Rosa extension of
Bleichbacher's attack
- Security: make RSA blinding default.
- Configuration: Irix fixes, AIX fixes, better mingw support.
- Support for new platforms: linux-ia64-ecc.
- Build: shared library support fixes.
- ASN.1: treat domainComponent correctly.
- Documentation: fixes and additions.
Major changes between OpenSSL 0.9.7 and OpenSSL 0.9.7a [19 Feb 2003]:
- Security: Important security related bugfixes.
- Enhanced compatibility with MIT Kerberos.
- Can be built without the ENGINE framework.
- IA32 assembler enhancements.
- Support for new platforms: FreeBSD/IA64 and FreeBSD/Sparc64.
- Configuration: the no-err option now works properly.
- SSL/TLS: now handles manual certificate chain building.
- SSL/TLS: certain session ID malfunctions corrected.
Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.7 [30 Dec 2002]:
- New library section OCSP.
- Complete rewrite of ASN1 code.
- CRL checking in verify code and openssl utility.
- Extension copying in 'ca' utility.
- Flexible display options in 'ca' utility.
- Provisional support for international characters with UTF8.
- Support for external crypto devices ('engine') is no longer
a separate distribution.
- New elliptic curve library section.
- New AES (Rijndael) library section.
- Support for new platforms: Windows CE, Tandem OSS, A/UX, AIX 64-bit,
Linux x86_64, Linux 64-bit on Sparc v9
- Extended support for some platforms: VxWorks
- Enhanced support for shared libraries.
- Now only builds PIC code when shared library support is requested.
- Support for pkg-config.
- Lots of new manuals.
- Makes symbolic links to or copies of manuals to cover all described
functions.
- Change DES API to clean up the namespace (some applications link also
against libdes providing similar functions having the same name).
Provide macros for backward compatibility (will be removed in the
future).
- Unify handling of cryptographic algorithms (software and engine)
to be available via EVP routines for asymmetric and symmetric ciphers.
- NCONF: new configuration handling routines.
- Change API to use more 'const' modifiers to improve error checking
and help optimizers.
- Finally remove references to RSAref.
- Reworked parts of the BIGNUM code.
- Support for new engines: Broadcom ubsec, Accelerated Encryption
Processing, IBM 4758.
- A few new engines added in the demos area.
- Extended and corrected OID (object identifier) table.
- PRNG: query at more locations for a random device, automatic query for
EGD style random sources at several locations.
- SSL/TLS: allow optional cipher choice according to server's preference.
- SSL/TLS: allow server to explicitly set new session ids.
- SSL/TLS: support Kerberos cipher suites (RFC2712).
Only supports MIT Kerberos for now.
- SSL/TLS: allow more precise control of renegotiations and sessions.
- SSL/TLS: add callback to retrieve SSL/TLS messages.
- SSL/TLS: support AES cipher suites (RFC3268).
Major changes between OpenSSL 0.9.6j and OpenSSL 0.9.6k [30 Sep 2003]:
- Security: fix various ASN1 parsing bugs.
- SSL/TLS protocol fix for unrequested client certificates.
Major changes between OpenSSL 0.9.6i and OpenSSL 0.9.6j [10 Apr 2003]:
- Security: counter the Klima-Pokorny-Rosa extension of
Bleichbacher's attack
- Security: make RSA blinding default.
- Build: shared library support fixes.
Major changes between OpenSSL 0.9.6h and OpenSSL 0.9.6i [19 Feb 2003]:
- Important security related bugfixes.
Major changes between OpenSSL 0.9.6g and OpenSSL 0.9.6h [5 Dec 2002]:
- New configuration targets for Tandem OSS and A/UX.
- New OIDs for Microsoft attributes.
- Better handling of SSL session caching.
- Better comparison of distinguished names.
- Better handling of shared libraries in a mixed GNU/non-GNU environment.
- Support assembler code with Borland C.
- Fixes for length problems.
- Fixes for uninitialised variables.
- Fixes for memory leaks, some unusual crashes and some race conditions.
- Fixes for smaller building problems.
- Updates of manuals, FAQ and other instructive documents.
Major changes between OpenSSL 0.9.6f and OpenSSL 0.9.6g [9 Aug 2002]:
- Important building fixes on Unix.
Major changes between OpenSSL 0.9.6e and OpenSSL 0.9.6f [8 Aug 2002]:
- Various important bugfixes.
Major changes between OpenSSL 0.9.6d and OpenSSL 0.9.6e [30 Jul 2002]:
- Important security related bugfixes.
- Various SSL/TLS library bugfixes.
Major changes between OpenSSL 0.9.6c and OpenSSL 0.9.6d [9 May 2002]:
- Various SSL/TLS library bugfixes.
- Fix DH parameter generation for 'non-standard' generators.
Major changes between OpenSSL 0.9.6b and OpenSSL 0.9.6c [21 Dec 2001]:
- Various SSL/TLS library bugfixes.
- BIGNUM library fixes.
- RSA OAEP and random number generation fixes.
- Object identifiers corrected and added.
- Add assembler BN routines for IA64.
- Add support for OS/390 Unix, UnixWare with gcc, OpenUNIX 8,
MIPS Linux; shared library support for Irix, HP-UX.
- Add crypto accelerator support for AEP, Baltimore SureWare,
Broadcom and Cryptographic Appliance's keyserver
[in 0.9.6c-engine release].
Major changes between OpenSSL 0.9.6a and OpenSSL 0.9.6b [9 Jul 2001]:
- Security fix: PRNG improvements.
- Security fix: RSA OAEP check.
- Security fix: Reinsert and fix countermeasure to Bleichbacher's
attack.
- MIPS bug fix in BIGNUM.
- Bug fix in "openssl enc".
- Bug fix in X.509 printing routine.
- Bug fix in DSA verification routine and DSA S/MIME verification.
- Bug fix to make PRNG thread-safe.
- Bug fix in RAND_file_name().
- Bug fix in compatibility mode trust settings.
- Bug fix in blowfish EVP.
- Increase default size for BIO buffering filter.
- Compatibility fixes in some scripts.
Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.6a [5 Apr 2001]:
- Security fix: change behavior of OpenSSL to avoid using
environment variables when running as root.
- Security fix: check the result of RSA-CRT to reduce the
possibility of deducing the private key from an incorrectly
calculated signature.
- Security fix: prevent Bleichenbacher's DSA attack.
- Security fix: Zero the premaster secret after deriving the
master secret in DH ciphersuites.
- Reimplement SSL_peek(), which had various problems.
- Compatibility fix: the function des_encrypt() renamed to
des_encrypt1() to avoid clashes with some Unixen libc.
- Bug fixes for Win32, HP/UX and Irix.
- Bug fixes in BIGNUM, SSL, PKCS#7, PKCS#12, X.509, CONF and
memory checking routines.
- Bug fixes for RSA operations in threaded environments.
- Bug fixes in misc. openssl applications.
- Remove a few potential memory leaks.
- Add tighter checks of BIGNUM routines.
- Shared library support has been reworked for generality.
- More documentation.
- New function BN_rand_range().
- Add "-rand" option to openssl s_client and s_server.
Major changes between OpenSSL 0.9.5a and OpenSSL 0.9.6 [10 Oct 2000]:
- Some documentation for BIO and SSL libraries.
- Enhanced chain verification using key identifiers.
- New sign and verify options to 'dgst' application.
- Support for DER and PEM encoded messages in 'smime' application.
- New 'rsautl' application, low level RSA utility.
- MD4 now included.
- Bugfix for SSL rollback padding check.
- Support for external crypto devices [1].
- Enhanced EVP interface.
[1] The support for external crypto devices is currently a separate
distribution. See the file README.ENGINE.
Major changes between OpenSSL 0.9.5 and OpenSSL 0.9.5a [1 Apr 2000]:
- Bug fixes for Win32, SuSE Linux, NeXTSTEP and FreeBSD 2.2.8
- Shared library support for HPUX and Solaris-gcc
- Support of Linux/IA64
- Assembler support for Mingw32
- New 'rand' application
- New way to check for existence of algorithms from scripts
Major changes between OpenSSL 0.9.4 and OpenSSL 0.9.5 [25 May 2000]:
- S/MIME support in new 'smime' command
- Documentation for the OpenSSL command line application
- Automation of 'req' application
- Fixes to make s_client, s_server work under Windows
- Support for multiple fieldnames in SPKACs
- New SPKAC command line utilty and associated library functions
- Options to allow passwords to be obtained from various sources
- New public key PEM format and options to handle it
- Many other fixes and enhancements to command line utilities
- Usable certificate chain verification
- Certificate purpose checking
- Certificate trust settings
- Support of authority information access extension
- Extensions in certificate requests
- Simplified X509 name and attribute routines
- Initial (incomplete) support for international character sets
- New DH_METHOD, DSA_METHOD and enhanced RSA_METHOD
- Read only memory BIOs and simplified creation function
- TLS/SSL protocol bugfixes: Accept TLS 'client hello' in SSL 3.0
record; allow fragmentation and interleaving of handshake and other
data
- TLS/SSL code now "tolerates" MS SGC
- Work around for Netscape client certificate hang bug
- RSA_NULL option that removes RSA patent code but keeps other
RSA functionality
- Memory leak detection now allows applications to add extra information
via a per-thread stack
- PRNG robustness improved
- EGD support
- BIGNUM library bug fixes
- Faster DSA parameter generation
- Enhanced support for Alpha Linux
- Experimental MacOS support
Major changes between OpenSSL 0.9.3 and OpenSSL 0.9.4 [9 Aug 1999]:
- Transparent support for PKCS#8 format private keys: these are used
by several software packages and are more secure than the standard
form
- PKCS#5 v2.0 implementation
- Password callbacks have a new void * argument for application data
- Avoid various memory leaks
- New pipe-like BIO that allows using the SSL library when actual I/O
must be handled by the application (BIO pair)
Major changes between OpenSSL 0.9.2b and OpenSSL 0.9.3 [24 May 1999]:
- Lots of enhancements and cleanups to the Configuration mechanism
- RSA OEAP related fixes
- Added `openssl ca -revoke' option for revoking a certificate
- Source cleanups: const correctness, type-safe stacks and ASN.1 SETs
- Source tree cleanups: removed lots of obsolete files
- Thawte SXNet, certificate policies and CRL distribution points
extension support
- Preliminary (experimental) S/MIME support
- Support for ASN.1 UTF8String and VisibleString
- Full integration of PKCS#12 code
- Sparc assembler bignum implementation, optimized hash functions
- Option to disable selected ciphers
Major changes between OpenSSL 0.9.1c and OpenSSL 0.9.2b [22 Mar 1999]:
- Fixed a security hole related to session resumption
- Fixed RSA encryption routines for the p < q case
- "ALL" in cipher lists now means "everything except NULL ciphers"
- Support for Triple-DES CBCM cipher
- Support of Optimal Asymmetric Encryption Padding (OAEP) for RSA
- First support for new TLSv1 ciphers
- Added a few new BIOs (syslog BIO, reliable BIO)
- Extended support for DSA certificate/keys.
- Extended support for Certificate Signing Requests (CSR)
- Initial support for X.509v3 extensions
- Extended support for compression inside the SSL record layer
- Overhauled Win32 builds
- Cleanups and fixes to the Big Number (BN) library
- Support for ASN.1 GeneralizedTime
- Splitted ASN.1 SETs from SEQUENCEs
- ASN1 and PEM support for Netscape Certificate Sequences
- Overhauled Perl interface
- Lots of source tree cleanups.
- Lots of memory leak fixes.
- Lots of bug fixes.
Major changes between SSLeay 0.9.0b and OpenSSL 0.9.1c [23 Dec 1998]:
- Integration of the popular NO_RSA/NO_DSA patches
- Initial support for compression inside the SSL record layer
- Added BIO proxy and filtering functionality
- Extended Big Number (BN) library
- Added RIPE MD160 message digest
- Addeed support for RC2/64bit cipher
- Extended ASN.1 parser routines
- Adjustations of the source tree for CVS
- Support for various new platforms
| | |


Request BitcoinsA Bitcoin address, or simply address, is an identifier of 27-34 alphanumeric characters, beginning with the number 1 or 3, that represents a possible destination for a Bitcoin payment. Addresses can be generated at no cost by any user of Bitcoin. For example, using Bitcoin-Qt, one can click «New Address» and be assigned an address. It is also possible to get a Bitcoin address using an account at an exchange or online wallet service.
<%- coinpunk.wallet.getAddressName(data.address) %>
<%- data.address %>


Creating Objects Dynamically Using Factories
One of the things that often confuses people new to dependency injection is the question of how to create new objects dynamically, after the app/game has fully started up and all the IInitializable
objects have had their Initialize() method called. For example, if you are writing a game in which you are spawning new enemies throughout the game, then you will want to construct a new object for the 'enemy' class, and you will want to ensure that this object gets injected with dependencies just like all the objects that are part of the initial object graph. How to do this? The answer: Factories.
Remember that an important part of dependency injection is to reserve use of the container to strictly the "Composition Root Layer". The container class (DiContainer) is included as a dependency in itself automatically so there is nothing stopping you from ignoring this rule and injecting the container into any classes that you want. For example, the following code will work:
public class Enemy
{
DiContainer Container;
public Enemy(DiContainer container)
{
Container = container;
}
public void Update()
{
...
var player = Container.Resolve<Player>();
WalkTowards(player.Position);
...
etc.
}
}
However, the above code is an example of an anti-pattern. This will work, and you can use the container to get access to all other classes in your app, however if you do this you will not really be taking advantage of the power of dependency injection. This is known, by the way, as Service Locator Pattern.
Of course, the dependency injection way of doing this would be the following:
public class Enemy
{
Player _player;
public Enemy(Player player)
{
_player = player;
}
public void Update()
{
...
WalkTowards(_player.Position);
...
}
}
The only exception to this rule is within factories and installers. Again, factories and installers make up what we refer to as the "composition root layer".
For example, if you have a class responsible for spawning new enemies, before DI you might do something like this:
public class EnemySpawner
{
List<Enemy> _enemies = new List<Enemy>();
public void Update()
{
if (ShouldSpawnNewEnemy())
{
var enemy = new Enemy();
_enemies.Add(enemy);
}
}
}
This will not work however, since in our case the Enemy class requires a reference to the Player class in its constructor. We could add a dependency to the Player class to the EnemySpawner class, but then we have the problem described above. The EnemySpawner class doesn't care about filling in the dependencies for the Enemy class. All the EnemySpawner class cares about is getting a new Enemy instance.
The recommended way to do this in Zenject is the following:
public class Player
{
}
public class Enemy
{
readonly Player _player;
public Enemy(Player player)
{
_player = player;
}
public class Factory : Factory<Enemy>
{
}
}
public class EnemySpawner : ITickable
{
readonly Enemy.Factory _enemyFactory;
public EnemySpawner(Enemy.Factory enemyFactory)
{
_enemyFactory = enemyFactory;
}
public void Tick()
{
if (ShouldSpawnNewEnemy())
{
var enemy = _enemyFactory.Create();
// ...
}
}
}
public class TestInstaller : MonoInstaller
{
public override void InstallBindings()
{
Container.BindAllInterfaces<EnemySpawner>().To<EnemySpawner>().AsSingle();
Container.Bind<Player>().AsSingle();
Container.BindFactory<Enemy, Enemy.Factory>();
}
}
By using Enemy.Factory
above instead of new Enemy
, all the dependencies for the Enemy class (such as the Player) will be automatically filled in. We can also add runtime parameters to our factory. For example, let's say we want to randomize the speed of each Enemy to add some interesting variation to our game. Our enemy class becomes:
public class Enemy
{
readonly Player _player;
readonly float _speed;
public Enemy(float speed, Player player)
{
_player = player;
_speed = speed;
}
public class Factory : Factory<float, Enemy>
{
}
}
public class EnemySpawner : ITickable
{
readonly Enemy.Factory _enemyFactory;
public EnemySpawner(Enemy.Factory enemyFactory)
{
_enemyFactory = enemyFactory;
}
public void Tick()
{
if (ShouldSpawnNewEnemy())
{
var newSpeed = Random.Range(MIN_ENEMY_SPEED, MAX_ENEMY_SPEED);
var enemy = _enemyFactory.Create(newSpeed);
// ...
}
}
}
public class TestInstaller : MonoInstaller
{
public override void InstallBindings()
{
Container.BindAllInterfaces<EnemySpawner>().To<EnemySpawner>().AsSingle();
Container.Bind<Player>().AsSingle();
Container.BindFactory<float, Enemy, Enemy.Factory>();
}
}
The dynamic parameters that are provided to the Enemy constructor are declared by using generic arguments to the Factory<> base class of Enemy.Factory. This will add a method to Enemy.Factory that takes the parameters with the given types, which is called by EnemySpawner.
There is no requirement that the Enemy.Factory
class be a nested class within Enemy, however we have found this to be a very useful convention. Enemy.Factory
is always intentionally left empty and simply derives from the built-in Zenject Factory<>
class, which handles the work of using the DiContainer to construct a new instance of Enemy.
The reason that we don't use the Factory<Enemy>
class directly is because this can become error prone when adding/removing parameters and also can get verbose since the parameter types must be declared whenever you refer to this class. This is error prone because if for example you add a parameter to enemy and change the factory from Factory<Enemy>
to Factory<float, Enemy>
, any references to Factory<Enemy>
will not be resolved. And this will not be caught at compile time and instead will only be seen during validation or runtime. So we recommend always using an empty class that derives from Factory<>
instead.
Also note that by using the built-in Zenject Factory<>
class, the Enemy class will be automatically validated as well. So if the constructor of the Enemy class includes a type that is not bound to the container, this error can be caught before running your app, by simply running validation. Validation can be especially useful for dynamically created objects, because otherwise you may not catch the error until the factory is invoked at some point during runtime. See this section for more details on Validation.
This is all well and good for simple cases like this, but what if the Enemy class derives from MonoBehaviour and is instantiated via a prefab? Or what if I want to create Enemy using a custom method or a custom factory class?
These cases are handled very similar to how they are handled when not using a factory. When you bind the factory to the container using BindFactory
, you have access to the same bind methods that are given by the Bind method and described above. For example, if we wanted to instantiate the Enemy
class from a prefab, our code would become:
public class Enemy : MonoBehaviour
{
Player _player;
// Note that we can't use a constructor anymore since we are a MonoBehaviour now
[Inject]
public void Construct(Player player)
{
_player = player;
}
public class Factory : Factory<float, Enemy>
{
}
}
public class TestInstaller : MonoInstaller
{
public GameObject EnemyPrefab;
public override void InstallBindings()
{
Container.BindAllInterfaces<EnemySpawner>().To<EnemySpawner>().AsSingle();
Container.Bind<Player>().AsSingle();
Container.BindFactory<Enemy, Enemy.Factory>().FromPrefab(EnemyPrefab);
}
}
And similarly for FromInstance, FromMethod, FromSubContainerResolve, or any of the other construction methods.
Using FromSubContainerResolve can be particularly useful if your dynamically created object has a lot of its own dependencies. You can have it behave like a Facade. See here for details on nested containers / facades.
Abstract Factories
The above description of factories is great for most cases, however, there are times you do not want to depend directly on a concrete class and instead want your factory to return an interface instead. This kind of factory is called an Abstract Factory.
Let's create an example scenario, where we have multiple different implementations of a given interface:
public interface IPathFindingStrategy
{
...
}
public class AStarPathFindingStrategy : IPathFindingStrategy
{
...
}
public class RandomPathFindingStrategy : IPathFindingStrategy
{
...
}
For the sake of this example, let's also assume that we have to create the instance of IPathFindingStrategy at runtime. Otherwise it would be as simple as executing Container.Bind<IPathFindingStrategy>().To<TheImplementationWeWant>().AsSingle();
in one of our installers.
This is done in a very similar way that non-Abstract factories work. One difference is that we can't include the factory as a nested class inside the interface (not allowed in C#) but otherwise it's no different:
public class PathFindingStrategyFactory : Factory<IPathFindingStrategy>
{
}
public class GameController : IInitializable
{
PathFindingStrategyFactory _strategyFactory;
IPathFindingStrategy _strategy;
public GameController(PathFindingStrategyFactory strategyFactory)
{
_strategyFactory = strategyFactory;
}
public void Initialize()
{
_strategy = _strategyFactory.Create();
// ...
}
}
public class GameInstaller : MonoInstaller
{
public bool UseAStar;
public override void InstallBindings()
{
Container.BindAllInterfaces<GameController>().To<GameController>().AsSingle();
if (UseAStar)
{
Container.BindFactory<IPathFindingStrategy, PathFindingStrategyFactory>().To<AStarPathFindingStrategy>();
}
else
{
Container.BindFactory<IPathFindingStrategy, PathFindingStrategyFactory>().To<RandomPathFindingStrategy>();
}
}
}
Custom Factories
Ok, but what if I don't know what type I want to create until after the application has started? Or what if I have special requirements for constructing instances of the Enemy class that are not covered by any of the construction methods?
In these cases you can create a custom factory, and directly call new Enemy
or directly use the DiContainer
class to create your object. For example, continuing the previous factory example, let's say that you wanted to be able to change a runtime value (difficulty) that determines what kinds of enemies get created.
public enum Difficulties
{
Easy,
Hard,
}
public interface IEnemy
{
}
public class EnemyFactory : Factory<IEnemy>
{
}
public class Demon : IEnemy
{
}
public class Dog : IEnemy
{
}
public class DifficultyManager
{
public Difficulties Difficulty
{
get;
set;
}
}
public class CustomEnemyFactory : IFactory<IEnemy>
{
DiContainer _container;
DifficultyManager _difficultyManager;
public CustomEnemyFactory(DiContainer container, DifficultyManager difficultyManager)
{
_container = container;
_difficultyManager = difficultyManager;
}
public IEnemy Create()
{
if (_difficultyManager.Difficulty == Difficulties.Hard)
{
return _container.Instantiate<Demon>();
}
return _container.Instantiate<Dog>();
}
}
public class GameController : IInitializable
{
readonly EnemyFactory _enemyFactory;
public GameController(EnemyFactory enemyFactory)
{
_enemyFactory = enemyFactory;
}
public void Initialize()
{
var enemy = _enemyFactory.Create();
// ...
}
}
public class TestInstaller : MonoInstaller
{
public override void InstallBindings()
{
Container.BindAllInterfaces<GameController>().To<GameController>().AsSingle();
Container.Bind<DifficultyManager>().AsSingle();
Container.BindFactory<IEnemy, EnemyFactory>().FromFactory<CustomEnemyFactory>();
}
}
You could also directly call new Dog()
and new Demon()
here instead of using the DiContainer (though in that case Dog
and Demon
would not have their members injected).
One important issue to be aware of with using custom factories, is that the dynamically created classes will not be validated properly. So in this example, if the Demon
or Dog
classes have a constructor parameter that is not bound to the DiContainer, that will not become obvious until runtime. Whereas, if using a normal factory, that would be caught during validation.
If you want to properly validate your custom factories, you can do that by just making a small modification to it:
public class CustomEnemyFactory : IFactory<IEnemy>, IValidatable
{
DiContainer _container;
DifficultyManager _difficultyManager;
public CustomEnemyFactory(DiContainer container, DifficultyManager difficultyManager)
{
_container = container;
_difficultyManager = difficultyManager;
}
public IEnemy Create()
{
if (_difficultyManager.Difficulty == Difficulties.Hard)
{
return _container.Instantiate<Demon>();
}
return _container.Instantiate<Dog>();
}
public void Validate()
{
_container.Instantiate<Dog>();
_container.Instantiate<Demon>();
}
}
This is done by implementing the interface IValidatable
and then adding a Validate()
method. Then, to manually validate objects, you simply instantiate them. Note that this will not actually instantiate these objects (these calls actually return null here). The point is to do a "dry run" without actually instantiating anything, to prove out the full object graph. For more details on validation see here.


Wet snow, freezing rain
by Rob GibsonEnvironment Canada has issued a special weather statement for the Central and North Okanagan, including Kelowna and Vernon.
An approaching frontal system that is tracking across the southern BC Interior tonight and Saturday brings with it the risk of freezing rain Friday night and Saturday morning.
Flurries are expected tonight and into Saturday morning as well. The warm air aloft combined with near or below zero temperatures at the surface will result in a risk of freezing rain. Those flurries and potential freezing rain should change to rain showers Saturday afternoon as temperatures rise above zero.
All surfaces including highways, roads, walkways and parking lots may become icy and slippery. Drivers are advised to use extra caution when walking or driving in affected areas. Check Castanet and DriveBC for the latest information.
The special weather statement includes the Okanagan Connector - Merritt to Kelowna for the risk of freezing rain Friday and Saturday morning.


{% extends "_page.html" %}
{% block intro %}
How data is allocated on the stack and heap.
{% endblock %}
{% block description %}
In C++ data is allocated on the stack unless the keyword new
is used, then it is allocated on the heap. As
seen in the examples you much call the appropriate version of new
depending upon if an object or array is
being allocated. Memory is freed from the stack when the variable goes out of scope. Heap allocated memory is freed when
the delete
keyword is called.
In Rust to allocate memory on the heap, the Box<T>
struct is used. When the variable assigned to a
new Box
goes out of scope, the memory in the box is freed.
Java is very similar to C++ except that memory is freed via garbage collection instead of an explicit call to delete
.
Also, with Java there is only one version of new
for both arrays and objects, but primitives cannot be allocated
on the heap.
{% endblock %}


We monetize services!
- syndicate front-end infrastructures
- revolutionize back-end content
- exploit global synergies
- incubate mission-critical markets
- mesh clicks-and-mortar web-readiness
- engineer B2B networks
- e-enable ubiquitous e-markets
- whiteboard next-generation platforms
- productize vertical portals
- brand intuitive communities


Petiton is online petition form sign app. Instead of walking around town and trying to get folks to sign up, just pass them a link or email it to them. You post it on social media or print it on a card. The skys the limit . Try Petition today.


- Mailbox
Mailbox
Nagarajan M
Material Design Inspired Custom Html Inputs with CSS & Javascript
3 mintues ago
Family
Nagarajan M
Material Design Inspired Custom Html Inputs with CSS & Javascript
3 mintues ago
Family
Nagarajan M
Material Design Inspired Custom Html Inputs with CSS & Javascript
3 mintues ago
Family
Nagarajan M
Material Design Inspired Custom Html Inputs with CSS & Javascript
3 mintues ago
Family
Nagarajan M
Material Design Inspired Custom Html Inputs with CSS & Javascript
3 mintues ago
Family
Nagarajan M
Material Design Inspired Custom Html Inputs with CSS & Javascript
3 mintues ago
Family
Nagarajan M
Material Design Inspired Custom Html Inputs with CSS & Javascript
3 mintues ago
Family
Nagarajan M
Material Design Inspired Custom Html Inputs with CSS & Javascript
3 mintues ago
Family
Nagarajan M
Material Design Inspired Custom Html Inputs with CSS & Javascript
3 mintues ago
Family


jQuery.cookie jquerypp/dom/cookie
jQuery.cookie(name, [value, ] [options])
Parameters
-
name
{String}
OptionalThe name of the cookie.
-
value
{String}
OptionalThe value of the cookie.
-
options
{Object}
OptionalAn object literal containing key/value pairs to provide optional cookie attributes. Values can be:
Returns
{String}
the value of the cookie or {undefined} when setting the cookie.
jQuery.cookie(name, [value], [options])
lets you create, read and remove cookies. It is the jQuery cookie plugin written by Klaus Hartl and dual licensed under the MIT and GPL licenses.Examples
Set the value of a cookie.
Create a cookie with all available options.
Create a session cookie.
Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain used when the cookie was set.
Get the value of a cookie.


233.43 name: Yaohua Hu, lab_name: MSRAIG 231.50 name: Jessica Hodgins, lab_name: hoping for the best 158.50 name: Aila, Lehtinen, Laine and Miettinen, lab_name: rand()%745 + 1 151.57 name: Tom Mertens, lab_name: Breakfast Clubbers 150.00 name: Doug Epps, lab_name: Everything.com 136.00 name: captain, lab_name: big researchers with dental failure 123.57 name: Zhaosheng Bao, lab_name: fracture 123.57 name: Stephen H. Westin, lab_name: Big Red 108.57 name: Pieter Peers, lab_name: Mom's Friendly Graphics Lab 105.00 name: Cyril Soler, lab_name: Hairy cheese'labCan 29 human teams hold off 1000 flying monkeys armed with quatloos and typewriters?  The monkeys picked teams by randomly choosing, throwing away any choices that put them over their quatloo limit. For whatever reason, Kelly Dobson (who didn't earn any points this year) was the most popular pick among the chimps, chosen 31 times. Among the humans, there was a three-way tie in popularity among Paul Debevec, Steve Marschner, and Bruce Walter, each selected by five labs, and all of whom scored points.
The best monkey team right now, led by chimp Fundi Washoe Tomasello ("Monkey #509" to his friends), is:
### Cost Name =============================== 311 10 Joel Hindorff 320 10 John Eyles 321 5 John F. Hughes 119 100 Daniel Cohen-Or 233 210 Heung-Yeung Shum 59 10 Avneesh Sud 423 20 Mark Kilgard 169 30 Eric Tabellion 453 5 Michael A. KowalskiIt's interesting this chimp picked John F. "Spike" Hughes, as Spike turns out to be the most cost effective choice this year:
### Value Cost Efficiency Name ============================================== 322 32.00 5 6.4000 John F. Hughes 269 25.00 5 5.0000 James Davis 353 20.00 5 4.0000 Kari Pulli 167 30.00 10 3.0000 Enrico Gobbetti 180 30.00 10 3.0000 Fabio Marton 275 30.00 10 3.0000 Jarek Rossignac 642 35.00 15 2.3333 Takeo Igarashi 461 60.00 30 2.0000 Michael F. Deering 380 30.57 20 1.5286 Kun Zhou 423 15.24 10 1.5238 Mark HorowitzChoosing these ten as a lab would have cost a mere 120 quatloos and netted 307.81 points.
This same monkey also picked for his lab the largest point winner overall, Heung-Yeung Shum, who was worth 111.14 points this year:
### Value Cost Efficiency Name =============================================== 234 111.14 210 0.5293 Heung-Yeung Shum 120 70.00 100 0.7000 Daniel Cohen-Or 181 70.00 85 0.8235 Fabio Pellacini 232 65.00 120 0.5417 Henrik Wann Jensen 62 61.14 90 0.6794 Baining Guo 461 60.00 30 2.0000 Michael F. Deering 154 60.00 130 0.4615 Doug L. James 559 60.00 50 1.2000 Ren Ng 192 56.00 140 0.4000 Frédo Durand 573 55.00 210 0.2619 Ronald Fedkiw 340 50.00 90 0.5556 Jovan PopovicPast participants may recall Dr. Shum from the 2001 FGL, where it was discovered that he could be bought cheap, as he was listed as both Heung-Yeung and Harry. In a similar vein, there was one (known) goof in the contest this year: shockingly, Andrew Gardner and Andy Gardner are the same person. One human hired Andrewy for his team, and was charged the lower price, but that player is not in the top ten currently, so there's unlikely to be any controversy. Pity.
Interestingly, last year's most efficient and largest overall point-getter, Fabio Pellacini, is still high in the overall rankings this year. His efficiency rating is down this year, of course, since his value increased so much last year.
If you want to check your score or see the values of any researcher-for-hire, the list is here.
All for now, until the results of the sketches committee are public.
You can check out this year's contest entry info, or the results of last year's contest.


--- layout: post title: Testing for exceptions with MiniTest date: 2011-10-29 23:47:05.000000000 -07:00 type: post published: true status: publish categories: tags: [] meta: _edit_last: '1' author: login: admin email<EMAIL_ADDRESS>display_name: admin first_name: Carina C. last_name: Zon ---
Much of Ruby 1.9.x's MiniTest library (the replacement and mimic for the former Unit/Test library) is pretty straightforward. Most commonly the pattern is:
assert_something(expected, actual, optionalMessage)
Sometimes you need to verify that specific conditions will cause the app to raise an exception as it should. This is where MiniTest's syntax diverges a bit from its usual routine. The critical part to make note is: pass actual in a block. The encapsulation allows MiniTest to capture, evaluate, and usefully report on the outcome; rather than summarily halt execution.
assert_raises(expectedException) {code block that will actually raise that exception}
assert_raises(NoMethodError) {Integer.fizzbuzz}
proc {code block that will actually raise that exception}.must_raise(expectedException)
proc {Integer.fizzbuzz}.must_raise(NoMethodError)
Notice a more subtle variation? "must_raise" vs. "assert_raises" <<-trailing "s"
Don't get tripped up.


Susan Granger's review of "SESSION 9" (USA Films)
Sometimes you just get more than your bargained for...like when Boston-based Hazmat Elimination, run by Scottish actor Peter Mullan and his trusty assistant, David Caruso, assures a town engineer (Paul Guilifoyle) that they can remove insidious asbestos fibers from a Victorian hospital facility in a week. Erected in 1871, deserted and decomposing since 1985, the Danvers Mental Hospital, is one of the most malevolent "locations" ever chosen for a film. The structure is so massive - with its labyrinth of rubble-strewn corridors, collapsing floors, stagnant pools of water, isolation cells, and ominous surgical chambers where experimental pre-frontal lobotomies were performed - that their task seems impossible within that time frame. And each member of their inexperienced crew (Stephan Gevedon, Brandon Sexton III, and Josh Lucas) is coping with his own personal demons as, one by one, their minds seem to be affected by the grim areas in which they're working. The film's title is derived from salvaged reel-to-reel audio-recorded sessions involving the demonic possession of a young woman who is suffering from multiple personalities. By the time Session 9 occurs so do dreadful disasters.
Filmmaker Brad Anderson obviously envisioned this as a gruesome chainsaw-massacre-type ghost story but the script lacks structure and isn't particularly scary. The conclusion is more ludicrous than convincing. On the Granger Movie Gauge of 1 to 10, "Session 9" is a dark, gloomy 4. Silly me...at first, I thought that the original name of the Danvers Lunatic Asylum bore some reference to Mrs. Danvers, the creepy housekeeper played by Judith Anderson in Alfred Hitchcock's truly terrifying "Rebecca" that also involved a cavernous mansion called Manderley.
========== X-RAMR-ID: 29187 X-Language: en X-RT-ReviewID: 243888 X-RT-TitleID: 1108254 X-RT-SourceID: 742 X-RT-AuthorID: 1274 X-RT-RatingText: 4/10
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


1. The Novice - Pyro
Created pyro effects using Houdini. A tornado setup was developed to move in accordance with the characters movement. This involved extracting the character animation, creating a curve, and building the volume based on the curve animation. The character velocity was used in the simulation to create wisps of smoke from the tornado. This method was also extended to work on a custom curve created by the user.
2. The Novice - Glow
Glow effects were done using Houdini by creating the glow pattern on the T-pose and then transferring them on to the animated character using rest positions. This ensured the glow would progress uniformly over the characters surface. Not included in final film.
3. Christmas card
Worked on a Christmas-based short story along with other interns during my internship at Framestore, NY. All FX work done using Houdini. Created the falling snow by modifying an internal HDA. Skating trails and spray was created using points on the feet of the charaters as independent POP sources.
4. Knot today - Summer industry course
Created steam effects using Houdini as part of a 6 person team that worked on a 30 second animated short under the guidance of supervisors from Walt Disney Animation Studios. Steam dispersion handled using POP velocities in a pyro simulation.
5. Lava simulation (work in progress)
Created using Houdini. Flip fluids with custom variable viscosity and temperature control.


{{ first.name }}
{{recruitURL.career}} {{recruitURL.explanation}}
{% endfor %}{{ second.name }}
{{recruitURL.career}} {{recruitURL.explanation}}
{% endfor %}{{ third.name }}
{{recruitURL.career}} {{recruitURL.explanation}}
{% endfor %}{{ fourth.name }}
{{recruitURL.career}} {{recruitURL.explanation}}
{% endfor %}


{{gettext("Origin Protocol is bringing NFTs and DeFi to the masses")}}
{{gettext("Read our Litepaper")}}{{gettext("Origin Story is where top creators launch their NFTs")}}
You control the experience. Host your NFT sale on your own domain and start growing your community.
Increase your sales by intelligently targeting different audiences with different sales formats.
Participate in the network with OGN. Available on top exchanges like Coinbase and Binance.
Direct-to-fan experience
Product features
Technology
Origin Dollar is the first stablecoin that earns yield while sitting in your wallet
Get access to exciting DeFi returns, with none of the hassles.
{{gettext("Learn more about OUSD")}}Currently earning
{{ousd_apy}}% APY
Highest yields. Least hassle.
Elastic supply. Stable price.
Secure and battle tested.
{{gettext("Origin Token (OGN)")}}
Buy OGN to participate in governance and growth of the network.")}}


Exact Wordlist Tab
Table of Contents
Most people are wanting this feature for password lists. So this tool will allow the filters to assist with that workflow.
- Text - The Text object you would see if you view the text tab, clicking this will include the text in the results
- Properties - The properties you would see in the metadata of the item, both keys and their values are included in the results
- Uppercase - At least one Uppercase letter must be found in the term: /[A-Z]/
- Lowercase - At least one Lowercase letter must be found in the term: /[a-z]/
- Number - At least one Number must be found in the term: /[0-9]/
- Symbol - At least one Symbol must be found in the term(excluding space!): /\W/
- Minimum length - Terms are only returned that are equal or greater then the length supplied
- Maximum length - Terms are only returned that are equal or less then the length supplied
Note:Terms are limited from 3 to 32 lengths, do not include spaces, lines or tabs
After specifying your Filters and the results view populated you can then click the Export View button
Export will be in CSV with the sort order of your view.
Double clicking an item will launch a new workbench searching for that 'exact term' in your case.
Warning:If you have not processed your case with exact queries enabled this will return all items with whitespace inclusive and not the expected results!
Name: Exact Wordlist Tab
Version: 1.0
Released: December 2016
Purpose: To expediate the use of Exact word list exporting, specifically for password lists


--- permalink: /about layout: plain ---
play-with-go.dev
is a series of
hands-on, interactive, browser-based guides that introduce the tools required to work with
the Go programming language. It is the natural next step
after “A Tour of Go” which introduces the
language itself. play-with-go.dev
covers the various
subcommands of the go
command, staticcheck
and many other tools that will make writing Go programs that much
easier and fun!
To get started learning with play-with-go.dev
,
simply visit https://play-with-go.dev/.
If you are interested in learning more about the project, in particular how to contribute, please see the contribution guidelines.
play-with-go.dev
is an experiment designed to test the hypothesis that
interactive guides are a more engaging medium for
learning when it comes to developer tools. The go
command and modules
lend themselves very well to this type of guide therefore.
We need your feedback and suggestions to help steer
play-with-go.dev
in the right direction!
play-with-go.dev
is very much by the community, for the community. The
goal is to build a platform of high quality, reviewed and
curated content, with a diverse, inclusive and
sustainable model for having people contribute and
maintain that content. We want to make it easy for
people to contribute and review content, enabled by
tooling and continuous integration checks.
play-with-go.dev
was created
by Paul Jolly and Marcos
Nils. Guides are built using the popular
play-with-docker
platform (created by Marcos
Nils and Jonathan Leibiusky). Guides
are
served via
https://play-with-go.dev/ and run in a user’s browser, presenting the guide content on
the left,
and an interactive
terminal on the right. This terminal is connected to a remote session hosted in Google’s
Cloud.
Potential future enhancements to play-with-go.dev
include:
If you have any questions, please feel free to raise an issue or contact us directly.
The play-with-go.dev
project exists free of charge thanks to the
generosity of our sponsors (details to follow). We
are looking to broaden that sponsorship base to meet
ongoing hosting costs, but also to start a programme of
rewarding contributors and reviewers. If you or your
company would like to sponsor the project, please contact us.
Thank you to the following individuals for their help in making
play-with-go.dev
happen: Carmen
Andoh, Marcel van Lohuizen, Daniel
Martí, Roger Peppe, Bill
Kennedy, Jon Calhoun, Cory
LaNou, Johnny Boursiquot, Michael
VanSickle, Egon Elbre.
The play-with-go.dev
splash image was kindly created
for
the
project by Egon Elbre.


Play Load
code: github.com/a1k0n/jsxm todo: - missing XM effects: - E3x, E6x, E7x, E9x, EDx, EEx - 7xy - tremolo - Kxx, Lxx, Pxy, Txy - render pattern with the wider fonts for fewer channels - fix occasional rendering/audio hiccups when switching songs


riff-file
Copyright (c) 2019 Rafael da Silva Rocha.
https://github.com/rochars/riff-file
Read data from RIFF files.
- MIT licensed
- Use it in the browser
- Use it with Node.js
Install
npm install riff-file
Use
const RIFFFile = require('riff-file').RIFFFile;
let wavFile = fs.readFileSync("file.wav");
let riff = new RIFFFile();
riff.setSignature(wavFile);
console.log(riff.signature);
The signature is an object representing the structure of the RIFF file. Chunks are listed in the subChunks property in the order they appear in the binary file. An example of what the signature of a RIFF WAVE file might look like:
{
chunkId: 'RIFF',
chunkSize: 96096,
format: 'WAVE',
subChunks:
[
{
chunkId: 'fmt ',
chunkSize: 16,
chunkData: { start: 20, end: 36 }
},
{
chunkId: 'junk',
chunkSize: 52,
chunkData: { start: 44, end: 96 }
},
{
chunkId: 'data',
chunkSize: 96000,
chunkData: { start: 104, end: 96104 }
}
]
}
API
The RIFFFile methods
/**
* Read the signature of the chunks in a RIFF/RIFX file.
* @param {!Uint8Array} buffer The file bytes.
*/
RIFFFile.fromBuffer = function(buffer) {};
/**
* Find a chunk by its fourCC_ in a array of RIFF chunks.
* @param {string} chunkId The chunk fourCC_.
* @param {boolean} multiple True if there may be multiple chunks
* with the same chunkId.
* @return {Object}
*/
RIFFFile.findChunk = function(chunkId, multiple=false) {};
The RIFFFile properties
/**
* The container identifier.
* @type {string}
*/
RIFFFile.container = '';
/**
* The main chunk size, in bytes.
* @type {number}
*/
RIFFFile.chunkSize = 0;
/**
* The format identifier.
* @type {string}
*/
RIFFFile.format = '';
/**
* An object representing the signature of all chunks in the file.
* @type {
{chunkId: string, chunkSize: number, format: string, subChunks: Array}
}
*/
RIFFFile.signature = {
/** @type {string} */
chunkId: '',
/** @type {number} */
chunkSize: 0,
/** @type {string} */
format: '',
/** @type {!Array<Object>} */
subChunks: []
};
Contributing to riff-file
riff-file welcomes all contributions from anyone willing to work in good faith with other contributors and the community. No contribution is too small and all contributions are valued.
See CONTRIBUTING.md for details.
Style guide
riff-file code should follow the Google JavaScript Style Guide:
https://google.github.io/styleguide/jsguide.html
Code of conduct
This project is bound by a Code of Conduct: The Contributor Covenant, version 1.4, also available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
LICENSE
Copyright (c) 2019 Rafael da Silva Rocha.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


Marco Verratti poised for PSG return against Real Madrid
by FSA EditorParis Saint-Germain have named Marco Verratti in a 22-man group for Tuesday’s meeting with Real Madrid.
Marco Verratti looks set to make his Paris Saint-Germain comeback after being included in an extended squad for the Champions League clash with Real Madrid.
PSG visit the Santiago Bernabeu on Tuesday knowing a point will be enough to sew up top spot in Group A.
Thomas Tuchel’s men have already sealed progression to the knockout rounds and could welcome back midfielder Verratti in the Spanish capital.
The Italy international has been named in a 22-man group after undergoing rehabilitation on a knee injury suffered in the Ligue 1 win at Brest on November 9.
Star forward Neymar returned from a hamstring issue in Friday’s 2-0 victory over Lille, while Kylian Mbappe was involved as a second-half substitute after overcoming illness.
Both players are in the squad to face Madrid, who lost 3-0 when the teams met in Paris in September.
Ander Herrera, Thilo Kehrer, Layvin Kurzawa and Eric Maxim Choupo-Moting are all unavailable.


{% include "accounting/snippets/acct_flags.html" %}
-
{% if member.unexcused_hours_owed %}Unexcused hours owed: {{ member.hours_balance|messhours:"unexcused" }}{% endif %}
- {% if member.excused_hours_owed %}Excused hours owed{% else %}Hours banked{% endif %}:
{{ member.hours_balance|messhours }}
{% if request.user.is_staff %}history{% endif %}
{% if unassigned %}
Help Wanted For These Shifts
If you owe hours or want to bank hours for the future sign up below. Please note: signing up here will not excuse you from an upcoming shift. If you need to be excused from a shift, try to trade with someone on the list, or use the switch shift button under the right column.
{% for shift in unassigned %}
-
{{ shift.html_display }}
{% if shift.after_printing_horizon and is_workingmember %}
{% endif %}
{% endfor %}
{% endif %}
{% endblock %}


NIST Special Publication
2016
Gandhi, R. A., Crosby, K., Siy, H. (2016) SP 800-160, Systems Security Engineering: An Integrated Approach to Building Trustworthy Resilient Systems (Second Draft), Appendix J Software Security and Assurance May 2016.
Journals
2016
Gandhi, R. A., Crosby, K., Siy, H., Mandal, S. (2016) Driving Secure Software Initiatives Using FISMA: Issues and Opportunities. CrossTalk, Journal of Defense Software Engineering, Jan/Feb 2016 Issue.
2015
Claus, B., Gandhi, R.A., Rawnsley, J., Crowe, J., (2015) Using the Oldest Military Force for the Newest National Defense, The Journal of Strategic Security (impact), Dec 2015 Issue.
Podcast at Fedscoop, Compliance requirements and software assurance http://fedscoop.com/tv-radio/robin-gandhi-on-fisma-compliance
2014
Gandhi, R., Siy, H., Crosby, K., Mandal, S. (Graduate), (2014). Gauging the Impact of FISMA on Software Security, IEEE Computer, vol. 47 (9)
Hemmatazad, N., Gandhi, R., Zhu, Q., Bhowmick, S., (2014). The Intelligent Data Brokerage: A Utility-Enhancing Architecture for Algorithmic Anonymity Measures, International Journal of Privacy and Health Information Management (IJPHIM), vol. 2 (1), pp. 22-33
2013
Wu, Yan, Robin Gandhi and Harvey Siy. "Semi-Automatic Annotation of Natural Language Vulnerability Reports." IJSSE 4.3 (2013): 18-41. doi:10.4018/jsse.2013070102 2013 Best Research Journal Paper award from IGI publications.
Sharma, A., Gandhi, R.A., Mahoney, W., Sousan, W., Zhu, Q., (2013) A Social Dimensional Cyber Threat Model with Formal Concept Analysis and Fact-Proposition Inference, International Journal of Information and Computer Security (IJICS), Vol. 5, No. 4, 2013
2012
Gandhi. R.A., Jones, C., Mahoney, W., "A Freshman Level Course on Information Assurance: Can it be done? Here’s How," ACM Inroads Volume 3 Issue 3, September 2012. http://dx.doi.org/10.1145/2339055.2339072
Mahoney, W., Gandhi. R.A., "Reverse engineering: is it art?" ACM Inroads 3, 1 (March 2012), 56-61. http://doi.acm.org/10.1145/2077808.2077826
2011
Mahoney, W., Gandhi, R.A., An Integrated Framework for Control System Simulation and Regulatory Compliance Monitoring, International Journal on Critical Infrastructure Protection (IJCIP), 2011, http://dx.doi.org/10.1016/j.ijcip.2011.03.002.
Gandhi, R.A., Sharma, A., Mahoney, W., Sousan, W., Zhu, Q., Laplante, P., "Dimensions of Cyber-Attacks: Cultural, Social, Economic, and Political," IEEE Technology and Society Magazine, vol.30, no.1, pp.28-38, Spring 2011, doi: 10.1109/MTS.2011.940293, URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5725605&isnumber=5725598
Gandhi, R.A., Lee, S.W., “Discovering Multi-dimensional Correlations among Regulatory Requirements to Understand Risk” In the ACM Transaction on Software Engineering and Methodology (ToSEM), Volume 20 Issue 4, 2011.
2010
Gandhi, R.A., Siy, H., Wu, Y., Studying Security Vulnerabilities, CrossTalk, The Journal of Defense Software Engineering, Sept/Oct issue 2010.
2009
Lee, S.W, Gandhi R.A., Wagle, S.J., “Ontology Guided Dynamic Composition of Service-Oriented Architectures as reflections of Process Definition” International Journal of Software Engineering and Knowledge Engineering, World Scientific, Vol. 19, No.6, September 2009.
2007 and prior
Lee, S. W., Gandhi, R. A., and Ahn, G., “Certification Process Artifacts Defined as Measurable Units for Software-intensive Systems Lifecycle” International Journal on Software Process: Improvement and Practice, Volume 12, Issue 2, 2007. Pages 165-189 (March/April) , John Wiley & Sons, Ltd. 2007. (Published early view online in Wiley InterScience (www.interscience.wiley.com ) DOI: http://dx.doi.org/10.1002/spip.313
Lee, S. W., and Gandhi, R. A., "Requirements as Enablers for Software Assurance", CrossTalk: The Journal of Defense Software Engineering, December, Vol. 19, No. 12, pp.20-24, 2006. United States Department of Defense.
Lee, S. W., Muthurajan, D., Gandhi, R. A., Yavagal, D., and Ahn, G., “Building Decision Support Problem Domain Ontology from Security Requirements to Engineer Software-intensive Systems” International Journal on Software Engineering and Knowledge Engineering, Vol. 16, No. 6, pp.851-884, December, World Scientific Publishing Company, 2006.
Lee, S. W., Gandhi, R. A., Ahn, G., "Establishing Trustworthiness in Services of the Critical Infrastructure through Certification and Accreditation", ACM SIGSOFT Software Engineering Notes", Vol. 30, Issue 4, July 2005. ACM Press, New York, NY. (Also appeared in SESS workshop at ICSE '05)
Book Chapters
2015
Gandhi R., Stranger Danger: Strategies to Protect Your Identity While Engaging in Social Media, Chapter 30, in the Book “Vapor", authored by Danielson, D. (2015)
2013
Sharma, A., Gandhi, R.A., Mahoney, W., Sousan, W., Zhu, Q., (2013) A Social Dimensional Cyber Threat Model with Formal Concept Analysis and Fact-Proposition Inference, International Journal of Information and Computer Security (IJICS), Vol. 5, No. 4, 2013
2011
Software Assurance in Education, Training & Certification Life Cycle Support Volume I – (Version 2.1, March 1, 2011) https://buildsecurityin.us-cert.gov/sites/default/files/SwAWETPG-02-25-11v2.1.pdf
2009
Gandhi, R. A., Lee, S. W., Ontology guided risk analysis: from informal specifications to formal metrics. Information & Intelligent Systems, Springer Studies in Computational Intelligence, 2009.
2010
Lee, S. W., Gandhi, R. A., Park, S., Requirements: Tracing, The Encyclopedia of Software Engineering, Taylor and Francis Group, LLC, 2010.
Conference and Workshop Publications
2016
Cooper, K.M., Bastola, D.R., Gandhi, R.A., Ghersi, D., Hinrichs, S., Morien, M., (2016) Forecasting the Spread of Mosquito-Borne Disease using Publicly Accessible Data: A Case Study in Chikungunya, American Medical Informatics Association (AIMA) Annual Symposium 2016, Nov 12-16th Chicago, IL.
2015
Mandal, S., Gandhi, R. A., Siy, H., (2015) Semantic Web Representations for Reasoning about Applicability and Satisfiability of Federal Regulations for Information Security, In Proceedings of the Eighth International Workshop on Requirements Engineering and Law (RELAW), In conjunction with the 23rd IEEE International Requirements Engineering Conference. BEST PAPER AWARD.
2014
Soule, R., Tobey, D. H., and Gandhi, R. (2014). Assessing Learner Readiness for Tough Cases. Academy of Management Annual Conference, Philadelphia, PA
Grandgenett, R., Mahoney, W., Gandhi, R., (2014). Authentication Bypass and Remote Escalated I/O Command Attacks, 10th Annual Cyber and Information Security Research Conference, ACM. Best Long Paper Award.
Grandgenett, R., Gandhi, R., Mahoney, W., (2014) Exploitation of Allen Bradley’s Implementation of EtherNet/IP for Denial of Service Against Industrial Control Systems, Accepted to the International Conference on Cyber Warfare and Security, 2014
2013
Pedersen, J., Bastola D., Dick, K., Gandhi, R., Mahoney, M., (2013) Fingerprinting Malware Using Bioinformatics Tools Building a Classifier for the Zeus Virus, International Conference on Security and Management (SAM'13), Las Vegas, USA, July 22 - 25.
Gandhi, R.A., Siy, H., Yan, Wu, "Lightweight formalisation of security weaknesses" Workshop on Formal Methods in Software Engineering (FormaliSE): 25 May 2013, San Francisco (USA), in conjunction with International Conference on Software Engineering. 2013. Preprint
2012
Gandhi, R.A., Rahmani, M.,"Early Security Patterns:A Collection of Constraints to Describe Regulatory Security Requirements", RePa 2012 : Second International Workshop on Requirements Patterns, IEEE International Conference on Requirements Engineering, Chicago, Sept, 2012
2011
W., Sousan, Gandhi, R.A., Zhu, Q., Mahoney, W., "Using Anomalous Event Patterns in Control Systems for Tamper Detection," 7th Annual Cyber Security and Information Intelligence Research Workshop, CSIIRW 2011, Oak Ridge National Laboratory, Oak Ridge, TN, 2011.
Wertzberger, N., Glatter, C., Mahoney, W., Gandhi, R.A., Dick, K., “Towards a Low-Cost SCADA Test Bed: An Open-Source Platform for Hardware-in-the-Loop Simulation”, The 2011 International Conference on Security and Management, Special Track on Mission Assurance and Critical Infrastructure Protection (STMACIP’11), Las Vegas, Nevada, 2011.
Siy, H., Wu, Y., Gandhi, R.A., Empirical Results on the Study of Software Vulnerabilities (NIER Track). In proceedings of the 33rd International Conference on Software Engineering (ICSE 2011), Waikiki, Honolulu, Hawaii, May 21-28, 2011
2010
Sharma, A., Gandhi, R.A., Mahoney, W., Sousan, W., Zhu, Q., “Building a Social Dimensional Threat Model from Current and Historic Events of Cyber Attacks,” International Symposium on Secure Computing (SecureCom-10) In conjunction with The Second IEEE International Conference on Privacy, Security, Risk and Trust.
Walnez, B., Gandhi, R.A., Mahoney, Zhu, Q., “Exploring Social Contexts along the Time Dimension: Temporal Analysis of Named Entities,” International Symposium on Secure Computing (SecureCom-10) In conjunction with The Second IEEE International Conference on Privacy, Security, Risk and Trust.
W., Sousan, Gandhi, R.A., Mahoney, W., Zhu, Q., Sharma, A., “Using Term Extraction Patterns to Discover Coherent Relationships from Open Source Intelligence,” International Symposium on Secure Computing (SecureCom-10) In conjunction with The Second IEEE International Conference on Privacy, Security, Risk and Trust.
Yan, W., Gandhi, R.A, and Siy, H., “Using Semantic Templates to Study Vulnerabilities Recorded in Large Software Repositories” Proc. of The 6th International Workshop on Software Engineering for Secure Systems (SESS'10) at the 32nd International Conference on Software Engineering (ICSE 2010), South Africa, Cape Town. 2010
Gandhi, R.A., Mahoney, W., Dick, K., and Wilson, Z., (2010) "Language-driven Assurance for Regulatory Compliance of Control Systems" To appear in Proceedings of the 5th International Conference on Information Warfare and Security, The Air Force Institute of Technology, Wright-Patterson Air Force Base, Ohio, USA, 8-9 April 2010
2009
Cooper, J, Lee, S.W., Gandhi, R.A., Gotel, O.(2009) “Requirements Engineering Visualization: A Survey on the State-of-the-Art” In Proceedings of the Fourth International Workshop on Requirements Engineering Visualization (REV’09), at the 17th International Conference on Requirements Engineering, Atlanta, Georgia, USA.
Gandhi, R.A., Mahoney, W., Dick, K. (2009) “ADACS – A Language for Monitoring Regulatory Compliance in Control Systems” In Proceedings of the 2nd Workshop on Compiler and Architectural Techniques for Application Reliability and Security at the 39th IEEE/IFIP International Conference on Dependable Systems and Networks (DSN 2009), Lisbon, Portugal.
Gandhi R.A. and Lee, S.W., “Assurance Case driven Case Study Design in Requirements Engineering Research,” In: 15th International Working Conference on Requirements Engineering: Foundations for Software Quality, REFSQ 2009.
2007 and Prior
Gandhi, R. A. and Lee, S. W., “Discovering and Understanding Multi-dimensional Correlations among Certification Requirements with application to Risk Assessment”, In the Proceedings of the 15th IEEE International Requirements Engineering Conference (RE 07), October 15-19, Delhi, India, 2007. (Acceptance ratio 35/172 ≈ 20%)
Gandhi, R. A. and Lee, S. W., “Visual Analytics for Requirements-driven Risk Assessment”, In the Proceedings of 2nd International Workshop on Requirements Engineering Visualization (REV 07) at the 15th IEEE International Requirements Engineering Conference (RE 07), October 15-19, Delhi, India, 2007. [PDF]
Lee, S. W., Gandhi, R. A., Siddharth Wagle, and Ajeet Murty “r-AnalytiCA: Requirements Analytics for Certification & Accreditation” In Proceedings of the IEEE 15th International Requirements Engineering Conference (RE '07), Posters, Demos and Exhibits Session. October 15-19, Delhi, India, 2007. [PDF]
Lee, S.W, Gandhi R. A., Siddharth, W., "Towards Requirements-driven Workbench for Supporting Software Certification and Accreditation", In the Proceedings of the 3rd International Workshop on Software Engineering for Software Systems (SESS 07), at the 29th International Conference on Software Engineering (ICSE 07), Minneapolis, MN, USA, 2007
Gandhi, R. A. and Lee, S.W., "Methodological Support for Building Cohesion among Software Artifacts to Help Understanding Emergent Software Behavior," In the Proceedings of Doctoral Symposium at the 14th International Requirements Engineering Conference (RE'06). September 11-15, 2006 Minneapolis/St. Paul, Minnesota, USA.
Gandhi, R. A., Siddharth, W., and Lee, S.W., "Process Artifacts Defined as an Aspectual Service to System Models" In Proceedings of the 2nd International Workshop on Service-Oriented Computing: Consequences for Engineering Requirements (SOCCER'06), 14th International Requirements Engineering Conference (RE'06), September 11-15, 2006 Minneapolis/St. Paul, Minnesota, USA.
Richter, H, Gandhi, R.A., Liu, L., and Lee, S.W., "Incorporating Multimedia Source Materials into a Traceability Framework," In Proceedings of the First International Workshop on Multimedia Requirements Engineering - Beyond Mere Descriptions, 14th International Requirements Engineering Conference (RE'06), September 11-15, 2006 Minneapolis/St. Paul, Minnesota, USA.
Lee, S.W, Gandhi, R. A, Muthurajan, D., Yavagal, D.S., and Ahn, G, "Building problem domain ontology from security requirements in regulatory documents," In Proceedings of the 2006 international Workshop on Software Engineering For Secure Systems (Shanghai, China, May 20 - 21, 2006). SESS '06. ACM Press, New York, NY, pp. 43-50.
Lee, S.W. and Gandhi, R. A., "Ontology-based Active Requirements Engineering Framework", In Proceedings of the 12th Asia-Pacific Software Engineering Conference (APSEC '05), Taipei, Taiwan, Dec. 15-17, 2005. pp. 481-490 IEEE Computer Society Press.
Lee, S.W., Gandhi, R. A. and Ahn, G. "Security Requirements Driven Risk Assessment for Critical Infrastructure Information Systems", In Proceedings of the 13th IEEE International Requirements Engineering Conference (RE '05), Symposium on Requirements Engineering for Information Security (SREIS 05), 8/29-9/2, Paris, France. IEEE Press, Also invited for the publication by Springer.
Lee, S.W. and Gandhi, R. A, "Engineering Dependability Requirements for Software-intensive Systems through the Definition of a Common Language", In Proceedings of the 13th IEEE International Requirements Engineering Conference (RE '05), Workshop on Requirements Engineering for High-Availability Systems (RHAS), pp. 40-48, 8/29 - 9/2, Paris, France. Software Engineering Institute (SEI), Carnegie Mellon University & IEEE Press.
Lee, S.W. and Gandhi, R. A, "Ontology-based Active Requirements Engineering Framework" Accepted to the Eleventh International Workshop on Requirements Engineering: Foundation for Software Quality (REFSQ '05), In connection with The 17th conference on Advanced Information Systems Engineering (CAiSE '05), June 13 - 17, Porto, Portugal, 2005.
Lee, S.W., Gandhi, R. A, Ahn, G. "Establishing Trustworthiness in Services of the Critical Infrastructure through Certification and Accreditation", In Proceedings of the 27th IEEE International Conference on Software Engineering (ICSE 05), Software Engineering for Secure Systems (SESS 05) Workshop, pp. 43-49, St. Louis, Missouri, May 15-21, 2005.
Lee, S.W., Ahn, G. and Gandhi, R. A. "Engineering Information Assurance for Critical Infrastructures: The DITSCAP Automation Study", In Proceedings of the Fifteenth Annual International Symposium of the International Council on Systems Engineering (INCOSE '05), - Systems Engineering: Bridging Industry, Government, and Academia, Session1, Track2, Rochester, NY, July 10-15. 2005.
Yavagal, D.S., Lee, S.W., Ahn, G. and Gandhi, R.A. “Common Criteria Requirements Modeling and its Uses for Quality of Information Assurance (QoIA)”, In Proceedings of the 43rd Annual ACM Southeast Conference (ACMSE ‘05), Vol. 2, pp. 130-135, March 18-20, Kennesaw State Univ. Kennesaw, Georgia. 2005.
Lee, S.W., Gandhi, R. A, Ahn, G. and Yavagal, D. "Active Automation of the DITSCAP", In Proceedings of the IEEE International Conference on Intelligence and Security Informatics (IEEE ISI-2005), Atlanta, Georgia, May 19-20, 2005. A Book Chapter in Lecture Notes in Computer Science, Volume 3495, pp. 479-485, Springer.
Tolone, W.J.; Gandhi, R. A.; Gail-Joon Ahn, "Locale-based access control: placing collaborative authorization decisions in context," IEEE International Conference on Systems, Man and Cybernetics,5-8 Oct. 2003., vol.5, no.pp. 4120- 4127
Other Publications
Patent
Patent filing, Co-inventors: Gandhi, R., Siy, H., Crosby, K., (2014) Risk Prioritization and Management (Provisional), Patent No: US20140337982 A1, United States
Dissertation
Discovering and Understanding Multi-dimensional Correlations among Regulatory Certification Requirements with application to Risk Assessment [Download] Advisor: Dr. Seok-Won Lee
Technical Reports
Gandhi, R., Rohas, E., Linzel, D., (2014). Improving Construction Productivity and Safety using Big Data
Gandhi, R., Jones, C., (2014). Evaluating the Use of Assurance Cases for Digital Forensics, Women in Cybersecurity Conference
Choi, S. Gandhi. R., (2013) Security Weaknesses in Wireless Sensor Applications, NUCIA Technical Report
Tahmasbi, N., Gandhi, R., Siy, H., Visual Analytics for Software Weaknesses, NUCIA Technical Report
Kumar, R., Gandhi, R., Mahoney, W., Chundi, P., Zhu, Q., (2012) “Semantic Relevance Analysis of Subject-Predicate-Object (SPO) Triples.” Technical Report
Sousan, W., Zhu, Q., Gandhi, R., Mahoney, W., (2012) “Using Term Extraction Patterns to Discover Coherent Relationships from Open Source Intelligence.” NUCIA Technical Report
Sharma, A., Gandhi, R.A., Mahoney, W., Sousan, W., Zhu, Q., (2013) A Social Dimensional Cyber Threat Model with Formal Concept Analysis and Fact-Proposition Inference, International Journal of Information and Computer Security (IJICS), Vol. 5, No. 4, 2013
Technical Report, "ADACS – A Language for Monitoring Regulatory Compliance in Control Systems," Gandhi, R., Mahoney, W., Dick, K., White paper - requested by Sponsored Programs. 2009
Technical Report, Accepted, "Following the Breadcrumbs: From Cultural, Social, Economic, and Political Turmoil to Cyber Attacks," Gandhi, R., Mahoney, W., Sharma, A., Sousan, W., Zhu, Q., White paper - requested by Dr. Bob Herklotz, AFOSR. 2009
Technical Report, Accepted, "Evaluating Processor Architectures for Multi-Level Secure Memory Management," Nicoll, A., Gandhi, R., 7. 2009
Technical Report, Accepted, "Development and Training with Multics-like System Interfaces to Enhance Trustworthy Computing Education," Gandhi, R., Burnham, B., 2. 2009
Gandhi, R.A., Lee, S.W., “Understanding Risks in an Organizational Infrastructure during Software Certification Activities” TR-NISE-07-02, Feb, 2007.
Gandhi, R.A., Lee, S.W., “On Establishing Software Dependability through Certification and Accreditation Requirements,” TR-NISE-07-01, Jan, 2007.
Gandhi, R.A, Lee, S.W., “Methodological Support for Engineering Needs-driven Software Dependability,” TR-NiSE-06-03, Mar, 2006.
Lee, S.W., Gandhi, R.A., “Ontology-based Active Requirements Engineering and its Applications to the DITSCAP,” TR-NiSE-05-06, June, 2005.
Lee, S.W., Ahn, G., Gandhi, R.A., Yavagal, D. “An Information Assurance Engineering Methodology for Critical Infrastructure Protection: The DITSCAP Automation Study”, TR-NiSE-04-03, Nov, 2004.
Last updated: May 2016


HC grants parole to Rajiv Gandhi assassin Robert Payas
Madras high court has granted 30-day parole to Rajiv Gandhi's assassin Robert Payas after 28 years of imprisonment
by PTIThe Madras High Court on Thursday granted 30-day parole to Robert Payas, one of the seven convicts serving a life term for the assassination of former Prime Minister Rajiv Gandhi. He has been given parole from November 25 till December 24.
The conditions of the parole include a bar on him interacting with the media, political parties or personalities and an undertaking to keep good conduct and not disrupt public peace.
The petitioner had in his plea in September, submitted that he has been in prison since August 16, 1991, and has completed actual imprisonment of more than 28 years.
During this period, he said, he had not utilised the emergency or ordinary leave provided to him under Tamil Nadu Suspension of Sentence Rules, 1982 despite his good conduct in the prison.
In July, the court had granted one month parole to Nalini, another convict in the case, after she argued her plea in person for seeking the relief to make arrangements for her daughter's wedding.
Payas and six other people -- Murugan, Santhan, Perarivalan, S Jayakumar and Nalini -- are serving life term in connection with the assassination of Gandhi by a suicide bomber at an election rally in Tamil Nadu on May 21, 1991.


|
Uncreative Studios
|
Public Member Functions | |
| constructor | Obstacle (Integer damage, String type, Location location) |
| Integer | getDamage () |
| String | getType () |
Public Attributes | |
| Location | location |
Private Attributes | |
| Integer | damage |
| String | type |
Superclass of obstacles.
Initialises an obstacle that does a set amount of damage, has a type and has a location on the map.
| Integer com.uncreative.game.Obstacle.getDamage | ( | ) |
Returns damage done by obstacle impact.
| String com.uncreative.game.Obstacle.getType | ( | ) |
Returns type of obstacle.
|
private |
Base damage of obstacle.
| Location com.uncreative.game.Obstacle.location |
Location of obstacle on map.
|
private |
Type of obstacle, e.g. debris, rock, land mass, etc.


-
housing
index.html
Package
Package
PUBLIC
Used to reflect the changes that we make to the database schema into the actual database.
-
housing.admin
housing.admin.html
Module
Module
PUBLIC
This is the admin module where you can add admin functionalities. Register your models here.
-
housing.apps
housing.apps.html
Module
Module
PUBLIC
This is the application starting point where you can register different modules.
-
housing.migrations
housing.migrations.html
Package
Package
PUBLIC
No package docstring; 5/5 modules documented
-
housing.migrations.0001_initial
housing.migrations.0001_initial.html
Module
Module
PUBLIC
Initial database migration
-
housing.migrations.0002_alter_owner_contact_email_alter_user_contact_email
housing.migrations.0002_alter_owner_contact_email_alter_user_contact_email.html
Module
Module
PUBLIC
Modifying email field
-
housing.migrations.0002_alter_owner_contact_email_alter_user_contact_email_and_more
housing.migrations.0002_alter_owner_contact_email_alter_user_contact_email_and_more.html
Module
Module
PUBLIC
Altering field names in Owner and User Database
-
housing.migrations.0003_alter_interested_flat_id
housing.migrations.0003_alter_interested_flat_id.html
Module
Module
PUBLIC
Adding foreign keys in Interested Database
-
housing.migrations.0004_merge_20221009_1347
housing.migrations.0004_merge_20221009_1347.html
Module
Module
PUBLIC
Updated housing Database
-
housing.models
housing.models.html
Module
Module
PUBLIC
This is the database strcuture of the models. Create your models here.
-
housing.serializers
housing.serializers.html
Module
Module
PUBLIC
This is a serializer file to add different serializers for the database.
-
housing.tests
housing.tests.html
Module
Module
PUBLIC
This is a file to add test cases for different models.
-
housing.urls
housing.urls.html
Module
Module
PUBLIC
This is url file to add urls for respective models.
-
housing.views
housing.views.html
Module
Module
PUBLIC
This is a file to add views for models.
-
housing.apps.HousingConfig
housing.apps.HousingConfig.html
Class
Class
PUBLIC
This is configuration for Housing Module.
-
housing.apps.HousingConfig.default_auto_field
housing.apps.HousingConfig.html#default_auto_field
Attribute
Class Variable
PUBLIC
Default autofields
-
housing.apps.HousingConfig.name
housing.apps.HousingConfig.html#name
Attribute
Class Variable
PUBLIC
Undocumented
-
housing.migrations.0001_initial.Migration
housing.migrations.0001_initial.Migration.html
Class
Class
PUBLIC
Intital Database Schema
-
housing.migrations.0001_initial.Migration.initial
housing.migrations.0001_initial.Migration.html#initial
Attribute
Class Variable
PUBLIC
Undocumented
-
housing.migrations.0001_initial.Migration.dependencies
housing.migrations.0001_initial.Migration.html#dependencies
Attribute
Class Variable
PUBLIC
Undocumented
-
housing.migrations.0001_initial.Migration.operations
housing.migrations.0001_initial.Migration.html#operations
Attribute
Class Variable
PUBLIC
Undocumented
-
housing.migrations.0002_alter_owner_contact_email_alter_user_contact_email.Migration
housing.migrations.0002_alter_owner_contact_email_alter_user_contact_email.Migration.html
Class
Class
PUBLIC
Modifying email field
-
housing.migrations.0002_alter_owner_contact_email_alter_user_contact_email.Migration.dependencies
housing.migrations.0002_alter_owner_contact_email_alter_user_contact_email.Migration.html#dependencies
Attribute
Class Variable
PUBLIC
Undocumented
-
housing.migrations.0002_alter_owner_contact_email_alter_user_contact_email.Migration.operations
housing.migrations.0002_alter_owner_contact_email_alter_user_contact_email.Migration.html#operations
Attribute
Class Variable
PUBLIC
Undocumented
-
housing.migrations.0002_alter_owner_contact_email_alter_user_contact_email_and_more.Migration
housing.migrations.0002_alter_owner_contact_email_alter_user_contact_email_and_more.Migration.html
Class
Class
PUBLIC
Altering field names in Owner and User Database
-
housing.migrations.0002_alter_owner_contact_email_alter_user_contact_email_and_more.Migration.dependencies
housing.migrations.0002_alter_owner_contact_email_alter_user_contact_email_and_more.Migration.html#dependencies
Attribute
Class Variable
PUBLIC
Undocumented
-
housing.migrations.0002_alter_owner_contact_email_alter_user_contact_email_and_more.Migration.operations
housing.migrations.0002_alter_owner_contact_email_alter_user_contact_email_and_more.Migration.html#operations
Attribute
Class Variable
PUBLIC
Undocumented
-
housing.migrations.0003_alter_interested_flat_id.Migration
housing.migrations.0003_alter_interested_flat_id.Migration.html
Class
Class
PUBLIC
Adding foreign keys in Interested Database
-
housing.migrations.0003_alter_interested_flat_id.Migration.dependencies
housing.migrations.0003_alter_interested_flat_id.Migration.html#dependencies
Attribute
Class Variable
PUBLIC
Undocumented
-
housing.migrations.0003_alter_interested_flat_id.Migration.operations
housing.migrations.0003_alter_interested_flat_id.Migration.html#operations
Attribute
Class Variable
PUBLIC
Undocumented
-
housing.migrations.0004_merge_20221009_1347.Migration
housing.migrations.0004_merge_20221009_1347.Migration.html
Class
Class
PUBLIC
Updated housing Database
-
housing.migrations.0004_merge_20221009_1347.Migration.dependencies
housing.migrations.0004_merge_20221009_1347.Migration.html#dependencies
Attribute
Class Variable
PUBLIC
Undocumented
-
housing.migrations.0004_merge_20221009_1347.Migration.operations
housing.migrations.0004_merge_20221009_1347.Migration.html#operations
Attribute
Class Variable
PUBLIC
Undocumented
-
housing.models.Owner
housing.models.Owner.html
Class
Class
PUBLIC
This is a Owner database structure.
-
housing.models.Owner.id
housing.models.Owner.html#id
Attribute
Class Variable
PUBLIC
Autogenerated Primary ID of Owner
-
housing.models.Owner.contact_number
housing.models.Owner.html#contact_number
Attribute
Class Variable
PUBLIC
Contact number of Owner
-
housing.models.Owner.contact_email
housing.models.Owner.html#contact_email
Attribute
Class Variable
PUBLIC
Contact email of Owner
-
housing.models.Owner.password
housing.models.Owner.html#password
Attribute
Class Variable
PUBLIC
Password of Owner
-
housing.models.Apartment
housing.models.Apartment.html
Class
Class
PUBLIC
This is Apartment database structure.
-
housing.models.Apartment.id
housing.models.Apartment.html#id
Attribute
Class Variable
PUBLIC
Autogenerated Primary ID of Apartment
-
housing.models.Apartment.address
housing.models.Apartment.html#address
Attribute
Class Variable
PUBLIC
Address of Apartment
-
housing.models.Apartment.facilities
housing.models.Apartment.html#facilities
Attribute
Class Variable
PUBLIC
Facilities of Apartment
-
housing.models.Apartment.owner_id
housing.models.Apartment.html#owner_id
Attribute
Class Variable
PUBLIC
Owner ID of respective Apartment
-
housing.models.Lease
housing.models.Lease.html
Class
Class
PUBLIC
This is Lease database structure.
-
housing.models.Lease.id
housing.models.Lease.html#id
Attribute
Class Variable
PUBLIC
Autogenerated Primary ID of Lease
-
housing.models.Lease.lease_start_date
housing.models.Lease.html#lease_start_date
Attribute
Class Variable
PUBLIC
Start of lease date
-
housing.models.Lease.lease_end_date
housing.models.Lease.html#lease_end_date
Attribute
Class Variable
PUBLIC
End of lease date
-
housing.models.Flat
housing.models.Flat.html
Class
Class
PUBLIC
This is Flat database structure.
-
housing.models.Flat.id
housing.models.Flat.html#id
Attribute
Class Variable
PUBLIC
Autogenerated Primary ID of Flat
-
housing.models.Flat.availability
housing.models.Flat.html#availability
Attribute
Class Variable
PUBLIC
Availibility of Flat
-
housing.models.Flat.associated_apt_id
housing.models.Flat.html#associated_apt_id
Attribute
Class Variable
PUBLIC
Associated ID of respective Flat
-
housing.models.Flat.lease_id
housing.models.Flat.html#lease_id
Attribute
Class Variable
PUBLIC
Lease ID of respective Flat
-
housing.models.Flat.rent_per_room
housing.models.Flat.html#rent_per_room
Attribute
Class Variable
PUBLIC
Rent per room of Flat
-
housing.models.Flat.floor_number
housing.models.Flat.html#floor_number
Attribute
Class Variable
PUBLIC
Floor number of Flat
-
housing.models.User
housing.models.User.html
Class
Class
PUBLIC
This is User database structure.
-
housing.models.User.id
housing.models.User.html#id
Attribute
Class Variable
PUBLIC
Autogenerated Primary ID of User
-
housing.models.User.flat_id
housing.models.User.html#flat_id
Attribute
Class Variable
PUBLIC
Flat ID of User
-
housing.models.User.contact_number
housing.models.User.html#contact_number
Attribute
Class Variable
PUBLIC
Contact number of User
-
housing.models.User.contact_email
housing.models.User.html#contact_email
Attribute
Class Variable
PUBLIC
Contact email of User
-
housing.models.User.password
housing.models.User.html#password
Attribute
Class Variable
PUBLIC
Password of User
-
housing.models.User.user_type
housing.models.User.html#user_type
Attribute
Class Variable
PUBLIC
Type of User
-
housing.models.User.dob
housing.models.User.html#dob
Attribute
Class Variable
PUBLIC
Date of Birth of User
-
housing.models.User.gender
housing.models.User.html#gender
Attribute
Class Variable
PUBLIC
Gender of User
-
housing.models.User.pref_smoking
housing.models.User.html#pref_smoking
Attribute
Class Variable
PUBLIC
Smoking preference of User
-
housing.models.User.pref_drinking
housing.models.User.html#pref_drinking
Attribute
Class Variable
PUBLIC
Drinking preference of User
-
housing.models.User.pref_veg
housing.models.User.html#pref_veg
Attribute
Class Variable
PUBLIC
Vegetarian preference of User
-
housing.models.User.__str__
housing.models.User.html#__str__
Function
Method
PUBLIC
This is used for login using email.
-
housing.models.Interested
housing.models.Interested.html
Class
Class
PUBLIC
This is Interested database structure.
-
housing.models.Interested.apartment_id
housing.models.Interested.html#apartment_id
Attribute
Class Variable
PUBLIC
Generated ID of respective Apartment
-
housing.models.Interested.flat_id
housing.models.Interested.html#flat_id
Attribute
Class Variable
PUBLIC
Flat ID of respective Flat
-
housing.models.Interested.user_id
housing.models.Interested.html#user_id
Attribute
Class Variable
PUBLIC
User ID of respective User
-
housing.serializers.UserSerializer
housing.serializers.UserSerializer.html
Class
Class
PUBLIC
This is UserSerializer for User model.
-
housing.serializers.UserSerializer.Meta
housing.serializers.UserSerializer.Meta.html
Class
Class
PUBLIC
This class contains fields to be serialized.
-
housing.serializers.UserSerializer.Meta.fields
housing.serializers.UserSerializer.Meta.html#fields
Attribute
Class Variable
PUBLIC
User field
-
housing.serializers.UserSerializer.create
housing.serializers.UserSerializer.html#create
Function
Method
PUBLIC
This is create method to create the user using password.
-
housing.serializers.FlatSerializer
housing.serializers.FlatSerializer.html
Class
Class
PUBLIC
This is FlatSerializer for Flat model.
-
housing.serializers.FlatSerializer.Meta
housing.serializers.FlatSerializer.Meta.html
Class
Class
PUBLIC
This class contains fields to be serialized.
-
housing.serializers.FlatSerializer.Meta.fields
housing.serializers.FlatSerializer.Meta.html#fields
Attribute
Class Variable
PUBLIC
Flat fields
-
housing.serializers.OwnerSerializer
housing.serializers.OwnerSerializer.html
Class
Class
PUBLIC
This is OwnerSerializer for Owner model.
-
housing.serializers.OwnerSerializer.Meta
housing.serializers.OwnerSerializer.Meta.html
Class
Class
PUBLIC
This class contains fields to be serialized.
-
housing.serializers.OwnerSerializer.Meta.fields
housing.serializers.OwnerSerializer.Meta.html#fields
Attribute
Class Variable
PUBLIC
Owner fields
-
housing.serializers.InterestedSerializer
housing.serializers.InterestedSerializer.html
Class
Class
PUBLIC
This is InterestedSerializer for Interested model.
-
housing.serializers.InterestedSerializer.Meta
housing.serializers.InterestedSerializer.Meta.html
Class
Class
PUBLIC
This class contains fields to be serialized.
-
housing.serializers.InterestedSerializer.Meta.fields
housing.serializers.InterestedSerializer.Meta.html#fields
Attribute
Class Variable
PUBLIC
Interested fields
-
housing.serializers.LeaseSerializer
housing.serializers.LeaseSerializer.html
Class
Class
PUBLIC
This is LeaseSerializer for Lease model.
-
housing.serializers.LeaseSerializer.Meta
housing.serializers.LeaseSerializer.Meta.html
Class
Class
PUBLIC
This class contains fields to be serialized.
-
housing.serializers.LeaseSerializer.Meta.fields
housing.serializers.LeaseSerializer.Meta.html#fields
Attribute
Class Variable
PUBLIC
Lease fields
-
housing.serializers.ApartmentSerializer
housing.serializers.ApartmentSerializer.html
Class
Class
PUBLIC
This is ApartmentSerializer for Apartment model.
-
housing.serializers.ApartmentSerializer.Meta
housing.serializers.ApartmentSerializer.Meta.html
Class
Class
PUBLIC
This class contains fields to be serialized.
-
housing.serializers.ApartmentSerializer.Meta.fields
housing.serializers.ApartmentSerializer.Meta.html#fields
Attribute
Class Variable
PUBLIC
Apartment fields
-
housing.tests.OwnerTests
housing.tests.OwnerTests.html
Class
Class
PUBLIC
This is Owner test class.
-
housing.tests.OwnerTests.test_create_owner
housing.tests.OwnerTests.html#test_create_owner
Function
Method
PUBLIC
Ensure we can create a new Owner object.
-
housing.tests.OwnerTests.test_show_owner
housing.tests.OwnerTests.html#test_show_owner
Function
Method
PUBLIC
Ensure we can fetch a new Owner object.
-
housing.tests.OwnerTests.test_update_owner
housing.tests.OwnerTests.html#test_update_owner
Function
Method
PUBLIC
Ensure we can update a new Owner object.
-
housing.tests.OwnerTests.test_delete_owner
housing.tests.OwnerTests.html#test_delete_owner
Function
Method
PUBLIC
Ensure we can update a new Owner object.
-
housing.tests.OwnerTests.test_search_owner
housing.tests.OwnerTests.html#test_search_owner
Function
Method
PUBLIC
Ensure that we can search an Owner object
-
housing.tests.InterestedTests
housing.tests.InterestedTests.html
Class
Class
PUBLIC
This is Interested test class.
-
housing.tests.InterestedTests.setUpTestData
housing.tests.InterestedTests.html#setUpTestData
Function
Class Method
PUBLIC
This is setUp class method to populate the database
-
housing.tests.InterestedTests.test_create_interested
housing.tests.InterestedTests.html#test_create_interested
Function
Method
PUBLIC
Ensure we can create a new interested object.
-
housing.tests.InterestedTests.test_show_interested
housing.tests.InterestedTests.html#test_show_interested
Function
Method
PUBLIC
Ensure we can fetch a new interested object.
-
housing.tests.InterestedTests.test_update_interested
housing.tests.InterestedTests.html#test_update_interested
Function
Method
PUBLIC
Ensure we can update a interested object.
-
housing.tests.InterestedTests.test_delete_interested
housing.tests.InterestedTests.html#test_delete_interested
Function
Method
PUBLIC
Ensure we can delete a new interested object.
-
housing.tests.FlatTests
housing.tests.FlatTests.html
Class
Class
PUBLIC
This is Flat test class.
-
housing.tests.FlatTests.setUpTestData
housing.tests.FlatTests.html#setUpTestData
Function
Class Method
PUBLIC
This is setUp class method to populate the database
-
housing.tests.FlatTests.test_create_flat
housing.tests.FlatTests.html#test_create_flat
Function
Method
PUBLIC
Ensure we can create a new Flat object.
-
housing.tests.FlatTests.test_show_flat
housing.tests.FlatTests.html#test_show_flat
Function
Method
PUBLIC
Ensure we can fetch a flat object.
-
housing.tests.FlatTests.test_update_interested
housing.tests.FlatTests.html#test_update_interested
Function
Method
PUBLIC
Ensure we can update a flat object.
-
housing.tests.FlatTests.test_delete_flat
housing.tests.FlatTests.html#test_delete_flat
Function
Method
PUBLIC
Ensure we can delete a flat object.
-
housing.tests.FlatTests.test_search_flat
housing.tests.FlatTests.html#test_search_flat
Function
Method
PUBLIC
Ensure that we can search a flat with given search paramaters
-
housing.tests.ApartmentTests
housing.tests.ApartmentTests.html
Class
Class
PUBLIC
This is Apartment test class.
-
housing.tests.ApartmentTests.setUpTestData
housing.tests.ApartmentTests.html#setUpTestData
Function
Class Method
PUBLIC
This is setUp class method to populate the database
-
housing.tests.ApartmentTests.test_create_apartment
housing.tests.ApartmentTests.html#test_create_apartment
Function
Method
PUBLIC
Ensure that we can create a new Apartment Object
-
housing.tests.ApartmentTests.test_show_apartment
housing.tests.ApartmentTests.html#test_show_apartment
Function
Method
PUBLIC
Ensure that we are retrieve an apartment object
-
housing.tests.ApartmentTests.test_update_apartment
housing.tests.ApartmentTests.html#test_update_apartment
Function
Method
PUBLIC
Ensure we can update the Apartment info
-
housing.tests.ApartmentTests.test_delete_apartment
housing.tests.ApartmentTests.html#test_delete_apartment
Function
Method
PUBLIC
Ensure we can delete an Apartment Object
-
housing.tests.ApartmentTests.test_search_apartment
housing.tests.ApartmentTests.html#test_search_apartment
Function
Method
PUBLIC
Ensure that we can search Apartments with the given search parameters
-
housing.tests.UserTests
housing.tests.UserTests.html
Class
Class
PUBLIC
This is User test class.
-
housing.tests.UserTests.setUpTestData
housing.tests.UserTests.html#setUpTestData
Function
Class Method
PUBLIC
This is setUp class method to populate the database
-
housing.tests.UserTests.test_create_user
housing.tests.UserTests.html#test_create_user
Function
Method
PUBLIC
Ensure that we can create a user
-
housing.tests.UserTests.test_show_user
housing.tests.UserTests.html#test_show_user
Function
Method
PUBLIC
Ensure that we are able to retrieve the user details
-
housing.tests.UserTests.test_update_user
housing.tests.UserTests.html#test_update_user
Function
Method
PUBLIC
Ensure that the user is being updated correctly
-
housing.tests.UserTests.test_delete_user
housing.tests.UserTests.html#test_delete_user
Function
Method
PUBLIC
Ensure that the user can be deleted
-
housing.tests.UserTests.test_search_user
housing.tests.UserTests.html#test_search_user
Function
Method
PUBLIC
Ensure that a user can be searched
-
housing.tests.LeaseTests
housing.tests.LeaseTests.html
Class
Class
PUBLIC
This is Lease test class.
-
housing.tests.LeaseTests.test_create_lease
housing.tests.LeaseTests.html#test_create_lease
Function
Method
PUBLIC
Ensure we can create a new Lease object.
-
housing.tests.LeaseTests.test_show_lease
housing.tests.LeaseTests.html#test_show_lease
Function
Method
PUBLIC
Ensure we can fetch a Lease object.
-
housing.tests.LeaseTests.test_update_lease
housing.tests.LeaseTests.html#test_update_lease
Function
Method
PUBLIC
Ensure we can update a lease object.
-
housing.tests.LeaseTests.test_delete_lease
housing.tests.LeaseTests.html#test_delete_lease
Function
Method
PUBLIC
Ensure we can delete a lease object.
-
housing.views.UserViewSet
housing.views.UserViewSet.html
Class
Class
PUBLIC
This viewset automatically provides CRUD actions for User model.
-
housing.views.UserViewSet.search_fields
housing.views.UserViewSet.html#search_fields
Attribute
Class Variable
PUBLIC
Search fields for Userviewset
-
housing.views.UserViewSet.filter_backends
housing.views.UserViewSet.html#filter_backends
Attribute
Class Variable
PUBLIC
This is used for filtering Userviewset
-
housing.views.UserViewSet.queryset
housing.views.UserViewSet.html#queryset
Attribute
Class Variable
PUBLIC
Database query parameters Userviewset
-
housing.views.FlatViewSet
housing.views.FlatViewSet.html
Class
Class
PUBLIC
This viewset automatically provides CRUD actions for Flat model.
-
housing.views.FlatViewSet.search_fields
housing.views.FlatViewSet.html#search_fields
Attribute
Class Variable
PUBLIC
Search fields for Flatviewset
-
housing.views.FlatViewSet.filter_backends
housing.views.FlatViewSet.html#filter_backends
Attribute
Class Variable
PUBLIC
This is used for filtering Flatviewset
-
housing.views.FlatViewSet.queryset
housing.views.FlatViewSet.html#queryset
Attribute
Class Variable
PUBLIC
Database query parameters Flatviewset
-
housing.views.OwnerViewSet
housing.views.OwnerViewSet.html
Class
Class
PUBLIC
This viewset automatically provides CRUD actions for Owner model.
-
housing.views.OwnerViewSet.search_fields
housing.views.OwnerViewSet.html#search_fields
Attribute
Class Variable
PUBLIC
Search fields for Ownerviewset
-
housing.views.OwnerViewSet.filter_backends
housing.views.OwnerViewSet.html#filter_backends
Attribute
Class Variable
PUBLIC
This is used for filtering Ownerviewset
-
housing.views.OwnerViewSet.queryset
housing.views.OwnerViewSet.html#queryset
Attribute
Class Variable
PUBLIC
Database query parameters Ownerviewset
-
housing.views.InterestedViewSet
housing.views.InterestedViewSet.html
Class
Class
PUBLIC
This viewset automatically provides CRUD actions for Interested model.
-
housing.views.InterestedViewSet.search_fields
housing.views.InterestedViewSet.html#search_fields
Attribute
Class Variable
PUBLIC
Search fields for Interestedviewset
-
housing.views.InterestedViewSet.filter_backends
housing.views.InterestedViewSet.html#filter_backends
Attribute
Class Variable
PUBLIC
This is used for filtering Interestedviewset
-
housing.views.InterestedViewSet.queryset
housing.views.InterestedViewSet.html#queryset
Attribute
Class Variable
PUBLIC
Database query parameters Interestedviewset
-
housing.views.LeaseViewSet
housing.views.LeaseViewSet.html
Class
Class
PUBLIC
This viewset automatically provides CRUD actions for Lease model.
-
housing.views.LeaseViewSet.search_fields
housing.views.LeaseViewSet.html#search_fields
Attribute
Class Variable
PUBLIC
Search fields for Leaseviewset
-
housing.views.LeaseViewSet.filter_backends
housing.views.LeaseViewSet.html#filter_backends
Attribute
Class Variable
PUBLIC
This is used for filtering Leaseviewset
-
housing.views.LeaseViewSet.queryset
housing.views.LeaseViewSet.html#queryset
Attribute
Class Variable
PUBLIC
Database query parameters Leaseviewset
-
housing.views.ApartmentViewSet
housing.views.ApartmentViewSet.html
Class
Class
PUBLIC
This viewset automatically provides CRUD actions for Apartment model.
-
housing.views.ApartmentViewSet.search_fields
housing.views.ApartmentViewSet.html#search_fields
Attribute
Class Variable
PUBLIC
Search fields for Apartmentviewset
-
housing.views.ApartmentViewSet.filter_backends
housing.views.ApartmentViewSet.html#filter_backends
Attribute
Class Variable
PUBLIC
This is used for filtering Apartmentviewset
-
housing.views.ApartmentViewSet.queryset
housing.views.ApartmentViewSet.html#queryset
Attribute
Class Variable
PUBLIC
Database query parameters Apartmentviewset
-
housing.urls.router
housing.urls.html#router
Attribute
Variable
PUBLIC
This is default Router
-
housing.urls.urlpatterns
housing.urls.html#urlpatterns
Attribute
Variable
PUBLIC
Rest API endpoints


EXPORT
Export sourceSubGraph
quantum
null
GMmec
quantum-04-25
quantum-04-26
quantum-05-13
quantum-04-26b
quantum-04-24
quantum-04-28
sss
entitiesGraph3
entitiesGraph2
entitiesGraph
quantum-05-12
thesaurusQuantum
entitiesGraphQuestions
limit
download Nodes
download Rels
IMPORT
Import


A
LT
Toggle navigation
4
You have 4 messages
Support Team
5 mins
Why not buy a new awesome theme?
See All Messages
10
You have 10 notifications
5 new members joined today
View all
9
You have 9 tasks
Design some buttons
20%
20% Complete
View all tasks
Profile
Profile
Member since Nov. 2012
Followers
Sales
Friends
Profile
Sign out


{% if courses.object_list.count == 0 %}
{% else %}
{% endif %}
Courses Unavailable
Please check back at a later time when the course become available.