Main > Free Download Search >

Free proguard safety software for linux

proguard safety

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 84
ProGuard 3.9 / 4.0 Beta

ProGuard 3.9 / 4.0 Beta


ProGuard is a Java class file shrinker and obfuscator. more>>
ProGuard is a free Java class file shrinker, optimizer, and obfuscator. ProGuard project can detect and remove unused classes, fields, methods, and attributes. It can then optimize bytecode and remove unused instructions.
Finally, it can rename the remaining classes, fields, and methods using short meaningless names. The resulting jars are smaller and harder to reverse-engineer.
More compact jar files also means smaller storage requirements, faster transfer of applications across networks, faster loading, and smaller memory footprints.
ProGuards main advantage compared to other Java obfuscators is probably its compact template-based configuration. A few intuitive command line options or a simple configuration file are usually sufficient. For instance, the following configuration option preserves all applets in a jar:
-keep public class * extends java.applet.Applet
The user manual explains all available options and shows more examples of this powerful configuration style.
ProGuard is fast. It only takes seconds to process programs and libraries of several megabytes. The results section presents actual figures for a number of applications.
ProGuard is a command-line tool with an optional graphical user interface. It also comes with plugins for Ant and for the J2ME Wireless Toolkit.
ProGuard is a Java class file shrinker, optimizer, and obfuscator. The shrinking step detects and removes unused classes, fields, methods, and attributes. The optimization step analyzes and optimizes the bytecode of the methods. The obfuscation step renames the remaining classes, fields, and methods using short meaningless names. The resulting jars are smaller and harder to reverse-engineer.
ProGuard can also be used to list unused fields and methods in an application, and to print out the internal structure of class files.
ProGuard typically reads the input jars (or wars, ears, zips, or directories). It then shrinks, optimizes, and obfuscates them. It then writes the results to one or more output jars (or wars, ears, zips, or directories). The input jars can optionally contain resource files. ProGuard copies all non-class resource files from the input jars to the output jars. Their names and contents remain unchanged.
ProGuard requires the library jars (or wars, ears, zips, or directories) of the input jars to be specified. It can then reconstruct class hierarchies and other class dependencies, which are necessary for proper shrinking, optimization, and obfuscation. The library jars themselves always remain unchanged. You should still put them in the class path of your final application.
In order to determine which code has to be preserved and which code can be discarded or obfuscated, you have to specify one or more entry points to your code. These entry points are typically classes with main methods, applets, midlets, etc.
- In the shrinking step, ProGuard starts from these seeds and recursively determines which classes and class members are used. All other classes and class members are discarded.
- In the optimization step, ProGuard further optimizes the code. Among other optimizations, classes and methods that are not entry points can be made final, and some methods may be inlined.
- In the obfuscation step, ProGuard renames classes and class members that are not entry points. In this entire process, keeping the entry points ensures that they can still be accessed by their original names.
Any classes or class members of your code that are created or invoked dynamically (that is, by name) have to be specified as entry points too. It is generally impossible to determine these cases automatically, but ProGuard will offer some suggestions if keeping some classes or class members appears necessary. For proper results, you should at least be somewhat familiar with the code that you are processing.
ProGuard does handle Class.forName("SomeClass") and SomeClass.class constructs automatically. The referenced classes are preserved in the shrinking phase, and the string arguments are properly replaced in the obfuscation phase. With variable string arguments, it is generally impossible to determine their possible values (they might be read from a configuration file, for instance).
However, as mentioned, ProGuard will note constructs like "(SomeClass)Class.forName(variable).newInstance()". These might be an indication that the class or interface SomeClass and/or its implementations may need to be preserved. You can then adapt your configuration accordingly.
Whats New in 3.9 Stable Release:
- This release fixes a number of bugs.
- Notably, ".class" constructs compiled in Java 6 are now handled correctly.
- The optimization step now avoids a possible division by 0 and correctly processes local variables with indices larger than 255.
- The documentation and examples have been updated.
Whats New in 4.0 Beta Development Release:
- Added preverifier for Java 6 and Java Micro Edition, with new option -dontpreverify.
- Added new option -target to modify java version of processed class files.
- Made -keep options more orthogonal and flexible, with option modifiers allowshrinking, allowoptimization, and allowobfuscation.
- Added support for configuration by means of annotations.
- Improved shrinking of unused annotations.
- Added check on modification times of input and output, to avoid unnecessary processing, with new option -forceprocessing.
- Added new options -flattenpackagehierarchy and -repackageclasses (replacing -defaultpackage) to control obfuscation of packages names.
- Added new options -adaptresourcefilenames and -adaptresourcefilecontents, with file filters, to update resource files corresponding to obfuscated class names.
- Now respecting naming rule for nested class names (EnclosingClass$InnerClass) in obfuscation step, if InnerClasses attributes or EnclosingMethod attributes are being kept.
- Added new inter-procedural optimizations: method inlining and propagation of constant fields, constant arguments, and constant return values.
- Added optimized local variable allocation.
- Added over 250 new peephole optimizations.
- Improved making classes and class members public or protected.
- Now printing notes on suspiciously unkept classes in parameters of specified methods.
- Now printing notes for class names that dont seem to be fully qualified.
- Added support for uppercase filename extensions.
- Rewritten class file I/O code.
- Updated documentation and examples.
<<less
Download (MB)
Added: 2007-06-27 License: GPL (GNU General Public License) Price:
905 downloads
paranoy 0.8

paranoy 0.8


paranoy is a simple, lightweight, open-source, fast but overall safe mail client. more>>
paranoy is a simple, lightweight, open-source, fast but overall safe mail client. all its features are privacy and safety-oriented. it has a ncurses interface and a graphical one based on gtk.
it saves mail and configuration files totally encrypted with strong cryptography standard. it supports pop3, imap(TODO) and smtp connections over ssl, mail filtering and threading , attachments , multibox, OpenPGP standard , anonymous remailers and nymservers.
its hightly configurable, easy to use and install, its written in C and it compiles on Linux, all *bsd systems and win32.

paranoy is a mail client like others, but is very safe, including many technics for encryption. The why, you can find it in Why this section. Now, lets take a briefly look on what this stuff do. paranoy downloads mail from a pop3 server with apop authentication, even with ssl, filters it with highly customizable filters, then saves the mail in encrypted way to folders. Configuration files also are encrypted. paranoy can download mail from more accounts, tells you how many new and old messages you got, send messages with gpg support, so ets sign and encrypt your mail. paranoy has a simple ncurses interface and a cool graphical one using gtk (under development) , and features a nice address book with public keys.

<<less
Download (2.3MB)
Added: 2006-06-10 License: GPL (GNU General Public License) Price:
1231 downloads
Auditor Security Linux 200605

Auditor Security Linux 200605


The Auditor Security Linux is a live CD based on Knoppix. more>>
The Auditor security collection is a Live-System based on KNOPPIX. With no installation whatsoever, the analysis platform is started directly from the CD-Rom and is fully accessible within minutes.
Independent of the hardware in use, the Auditor security collection offers a standardised working environment, so that the build-up of know-how and remote support is made easier. Even during the planning and development stages, our target was to achieve an excellent user-friendliness combined with an optimal toolset.
Professional open-source programs offer you a complete toolset to analyse your safety, byte for byte. In order to become quickly proficient within the Auditor security collection, the menu structure is supported by recognised phases of a security check. (Foot-printing, analysis, scanning, wireless, brute-forcing, cracking).
By this means, you instinctively find the right tool for the appropriate task. In addition to the approx. 300 tools, the Auditor security collection contains further background information regarding the standard configuration and passwords, as well as word lists from many different areas and languages with approx. 64 million entries.
Current productivity tools such as web browser, editors and graphic tools allow you to create or edit texts and pictures for reports, directly within the Auditor security platform. Many tools were adapted, newly developed or converted from other system platforms, in order to make as many current auditing tools available as possible on one CD-ROM.
Tools like Wellenreiter and Kismet were equipped with an automatic hardware identification, thus avoiding irritating and annoying configuration of the wireless cards.
Enhancements:
New & Updated tools:
- proxychains 1-8-1 (for example scanning over proxy more easy)
- yersinia-0.5.4
- kismet-logfile-viewer klv.pl and klc.pl
- ntp fingerprinting tool
- tftp bruteforce tool
- snmp fuzzer
- cisco torch 0.4b
- unicornscan 0.4.2
- packit
- sendip
- nasl 2.2.4
- tcpick
- cryptcat
- amap version 4.8
- tcpsplit
- Ethereal version 10.11
- ettercap-ng-0.72 and modified the etter.conf
- replaced tinysnmp with snmp tools
- vnc2swf /usr/X11R6/bin/recordwin and vnc2swf
- edit_vnc2swf.py
- edit_mp3.py
- wpa-supplicatiant 0.3.8
- hostapd-utils 0.3.7
- ssldump
- fragrouter
- Metasploit 2.4 including all known updates
- airsnarf, but no menu at moment
- fakeap to /opt/auditor but no menu entry at moment, need to write a shell script
- dsniff 2.4b1-10
- nessus plugins updated
- exploit tree updated
- Snort 2.3.2-5
- Bleeding-edge rules for snort
- New aircrack
- New airsnort
- Bet i forgot some to mention.
New & updated drivers:
- rt2400 linux drivers and utils (untested)
- rtl8180 driver (8180_26_private.ko and open8180.ko and /usr/local/bin/wlanup and /usr/local/bin/wlandown) (Untested)
- hostap drivers 0.3.7
- ipw2100 & ipw2200 incl firmware, incl monitor mode
- Prism54 with injection patch
- Linux-wlan-ng with injection patch
- Madwifi with injection patch
- ACX drivers are back on cd
Addons:
- Default password list has been updated
- Added some changes to the network stack using /etc/sysctl.conf, which will be called from knoppix-autoconfig script
- New background image
Some fixes i remember:
- Kernel completely rebuilded to provide full functionality
- Isolinux now accepts bootparameters again
- USB drivers are back to /dev/sda and booting from stick works fine
- grub files have been fixed
- fixed hostname /etc/hosts
- /cdrom/index.html pointed to the old forum fixed that
- Added cardctl eject, cardctl insert into switch-to-XY scripts
- Fixed the homebutton of the konquerror when clicked first time
- Fixed the menuentry for nessus
<<less
Download (645MB)
Added: 2005-06-22 License: GPL (GNU General Public License) Price:
1131 downloads
onepad 1.1.0

onepad 1.1.0


onepad is a set of programs to encrypt files using one-time-pad encryption. more>>
onepad is a set of programs to encrypt files using one-time-pad encryption. This is an old but theoretically impossible to easily break way of encryption. I came across this method in Neal Stephensons Cryptonomicon.
It works by XOR-ing every byte in the cleartext message with a byte in the key. As long as every key is only used once, and the key is random, this is supposed to be unbreakable.
However, you need a secure way to exchange keys with the intended recipient. If a third party intercepts the key, it can read the messages.
NOTE: These programs work, but the genpad program relies on the /dev/random device to generate random keys. So the quality of the key and therefore the safety of this encryption method depends on the randomness of the /dev/random device on your system. So I cannot guarantee that the generated keys are totally random. Therefore, if you need really good encryption, use something like ccrypt or GNU Privacy Guard. These have been written, tested and pounded on by a lot of people, probably smarter than I am.
Enhancements:
- Changed to a BSD-style license.
- Makefile changed to build with BSD or GNU make.
<<less
Download (0.012MB)
Added: 2006-06-07 License: BSD License Price:
1234 downloads
GuiLoader/C++ 2.10.0

GuiLoader/C++ 2.10.0


GuiLoader/C++ is a C++ binding to GuiLoader library. more>>
GuiLoader/C++ is a C++ binding to GuiLoader library.

GuiLoader/C++ is a convenience layer that simplifies development of GuiLoader based applications written in C++ language by introducing exception safety, binding GTK+ objects defined in GuiXml to C++ variables and type-safe dynamic connection to signals.

<<less
Download (0.23MB)
Added: 2007-01-07 License: GPL (GNU General Public License) Price:
1020 downloads
Qpopper 4.1a5

Qpopper 4.1a5


Qpopper is the most widely-used server for the POP3 protocol. more>>
Qpopper project is the most widely-used server for the POP3 protocol (this allows users to access their mail using any POP3 client). Qpopper supports the latest standards, and includes a large number of optional features. Qpopper is normally used with standard UNIX mail transfer and delivery agents such as sendmail or smail.
Qpoppers goals are: security, stability, safety, features, and performance.
The 3 and later code base has multiple levels of protection again common security vulnerabilities, so even if there is a bug at one level, the other levels can protect against an exploit. Stability means running without crashing or other problems. All bug reports are reviewed and taken seriously.
Safety means protecting the users mail. Qpopper takes extra precautions to guard against spool corruption, even if there is a system crash or power failure during an update. Qpopper provides a large number of features, such as bulletins, support for wireless devices, APOP, integration with packages such as Kerberos, drac, etc.
Qpopper strives for the maximum possible performance consistent with safety. You can also tell Qpopper when it is running in an environment where some precautions are not required, resulting in extra performance (for example, if users do not access mail using shell accounts).
This server is fully compliant with RFC 1939 (which defines the POP protocol) and RFC 2449 (which defines the POP extension mechanism and the extended response codes), and works with all known POP3 clients.
Qpopper also supports Kerberos V4 and V5 if enabled.
Main features:
- Faster start-up (1,000 times faster, in many cases)
- Reduced I/O at session end (one-third less!)
- TLS/SSL (allows authentication and email to be strongly encrypted between any TLS/SSL-enabled mail client and Qpopper 4.0.5; requires TLS/SSL)
- Plus all the great features of Qpopper 3.1 (including full sources)
- Most compile-time options now are available at run-time
- Easier administration
<<less
Download (1.2MB)
Added: 2007-05-29 License: GPL (GNU General Public License) Price:
881 downloads
 
Other version of Qpopper
Qpopper 4.0.16 / 4.1 Beta 15Qpoppers goals are: security, stability, safety, features, and performance. The 3 and later ... possible performance consistent with safety. You can also tell Qpopper when it is running in an
Price: FREE
License:GPL
Download
1 downloads
Added: 2009-02-22
Chromium B.S.U. 0.9.12

Chromium B.S.U. 0.9.12


Chromium B.S.U. is a fast paced, arcade-style, top-scrolling space shooter. more>>
Chromium B.S.U. is a fast paced, arcade-style, top-scrolling space shooter.
You are captain of the cargo ship Chromium B.S.U., responsible for delivering supplies to our troops on the front line. Your ship has a small fleet of robotic fighters which you control from the relative safety of the Chromium vessel.
Your Mission:
- Do not let ANY enemy ships get past your fighters! Each enemy ship that makes it past the bottom of the screen will attack the Chromium, and you lose a fighter.
- Use your fighters as weapons! Crash into enemies to destroy them before they can get past you.
- Strategic suicide is a powerful tactic! When the Chromium launches a new fighter, it releases a high energy burst which destroys all enemies in range.
- Self-destruct to preserve your ammunition! A double-right-click will cause your current fighter to self-destruct. Before the ship blows up, it ejects its ammunition so that the next fighter can pick it up.
Ammunition:
MACHINE GUN
Otherwise known as the pea shooter. But youll miss em when theyre gone.
ION CANNON
This gun slices through your enemies and keeps on going.
PLASMA REPEATER
Your most powerful weapon. The plasma ammunition runs out quickly, however.
Items:
BIG RED BUTTON
The ultimate weapon. Double right-click or press the 0 key twice to eject the fighters ammunition and self-destruct.
Power ups:
SHIELD REPLENISH
The penguin protects you. Grab this power up to restore shields to 100%.
Let it pass through for big points.
DAMAGE REPAIR
The penguin gives you life. Grab this power up to repair all damage to your fighter.
Let it pass through for big points.
SUPER SHIELDS / EXTRA LIFE
Restores shields to 100% and gives you temporary invulnerability.
TIP: If you let it pass through the bottom of the screen, you will be rewarded with an extra fighter.
Chromium B.S.U. command line options:
-f/--fullscreen : run in fullscreen mode
-w/--window : run in windowed mode
-v/--vidmode : mode 0 = 512 x 384
: 1 = 640 x 480
: 2 = 800 x 600
: 3 = 1024 x 768
: 4 = 1280 x 1024
-na/--noaudio : do not initialize audio
<<less
Download (0.62MB)
Added: 2006-02-22 License: Artistic License Price:
1340 downloads
Pantheios 1.0.1 Beta 31

Pantheios 1.0.1 Beta 31


Pantheios is an Open Source C/C++ Logging API library. more>>
Pantheios is an Open Source C/C++ Logging API library, offering an optimal combination of 100% type-safety, efficiency, genericity and extensibility. It is simple to use and extend, highly-portable (platform and compiler-independent) and, best of all, it upholds the C tradition of you only pay for what you use.
The project supports logging of message statements of arbitrary complexity, consisting of heterogenous types.
Pantheios supports filtering of log messages based on severity level including (but not limited to) the eight levels defined by the SysLog protocol.
Pantheios supports back-end output, individually and in combination, to stderr/stdout, SysLog (including a custom implementation of the SysLog protocol for Windows), Win32 debugger, Win32 event log, COM Error Object, or any custom back-end extension you care to write. Importantly, Pantheios is readily extended to use the existing transport mechanisms of feature-rich logging libraries such as ACE, log4cpp, log4cplus, log4cxx.
Pantheios does not contain any compiler-specific or platform-specific constructs. It supports UNIX (including Linux and Mac OS-X), and Windows, and should work with any operating system. It is known to be compatible with Borland (5.5.1+), Comeau (4.3.3+), Digital Mars (8.45+), GCC (3.2+), Intel (6+), Metrowerks (8+), Microsoft Visual C++ (5.0+), and should work with any reasonably modern C++ compiler.
Pantheios is completely free and includes source released under a BSD-style licence.
Pantheios was forked from a previous logging architecture, proprietary to Synesis Software, in 2005, and has been used in a number of commercial projects since that time. In one project it serves a middleware suite that handles 10s of millions of financial transactions per week, wherein it has an unmeasurably low impact on performance when logging (of a given severity level) is switched off. (Its also decidedly quick with logging switched on, of course ...).
Enhancements:
- A bug in the Pantheios Tracing API was fixed.
- An example for the Pantheios Tracing API was added.
- A variadic macro warning in GCC 3.x makefiles was suppressed.
<<less
Download (2.8MB)
Added: 2007-08-22 License: BSD License Price:
794 downloads
ASCIIQuarium 1.0

ASCIIQuarium 1.0


Asciiquarium project is an aquarium in ASCII art. more>>
Asciiquarium project is an aquarium in ASCII art.

It includes multicolored fish, a whale, and a fish-eating shark.

Enjoy the mysteries of the sea from the safety of your own terminal!

Asciiquarium is a single perl script, so all you have to do is make sure its executable and put it somewhere convenient, like /usr/local/bin or /usr/local/games.

<<less
Download (0.013MB)
Added: 2006-11-14 License: GPL (GNU General Public License) Price:
1083 downloads
SSH library 0.11

SSH library 0.11


Ssh library was designed to be used by programmers needing a working SSH framework. more>>
Ssh library was designed to be used by programmers needing a working SSH implementation by the mean of a library. Runs only on x86 linux, bsd and MacOS X.
libssh is a C library to access SSH 2 services from a program. It can remotely execute programs, transfer files, and serve as a secure and transparent tunnel for remote programs. Its Secure FTP implementation can play with remote files easily, without third-party programs others than libcrypto (from OpenSSL).
Main features:
- Full C library functions for manipulating a client-side SSH connection
- Lesser GPL licensing -SSH2 protocol compliant
- Fully configurable sessions
- Support for AES-128,AES-192,AES-256,blowfish, in cbc mode
- Use multiple SSH connections in a same process, at same time
- Use multiple channels in the same connection
- Thread safety when using different sessions at same time
- Basic but correct SFTP implementation (secure file transfer)
- RSA and DSS server public key supported
- Compression support (with zlib)
- Public key (RSA and DSS), password and keyboard-interactive authentication
- A complete documentation about its API
- Runs and tested under amd64, x86, arm, sparc32, ppc under Linux, Bsd, MacosX and Solaris
- A developer listening to you
Enhancements:
- Connection timeout support
- Keyboard-interactive authentication (used by Pam with SSH)
- Server public keys management
- 64 bits cpu support
- Enhanced documentation
- and of course a huge number of bugfixe
<<less
Download (0.29MB)
Added: 2006-07-14 License: LGPL (GNU Lesser General Public License) Price:
1213 downloads
Kate OS 3.6 Beta 2 (Live)

Kate OS 3.6 Beta 2 (Live)


Kate OS Live is a live CD edition of Kate OS 3.0 Beta. more>>
Kate OS Live is a live CD edition of Kate OS 3.0 Beta which is now available for download and testing.
KateOS LIVE 3.0beta is now available. This version includes most of desktop applications and features Xfce as the graphical environment. It should be especially interesting for those who would like to help us in testing but do not have enough disk space.
The LIVE edition is a complete operating system with automatic hardware detection and auto-mount of all accessible partitions which will let you begin a fully effective work in just a few minutes.
Kate OS is a multitasking operating system which provides all that is necessary for programmers, webmasters, administrators and home users. The most important Kate OS features are high efficiency, safety, reliability and low system requirements. Kate OS provides full support for generally used multimedia.
Kate OS is a perfect combination of Linux power and utility. The complexity of installed software makes using the system comfortable, immediately after the installation process. Looking for a perfect solution for the experienced UNIX user? Kate OS is perhaps the best one.
Enhancements:
- The second beta of KateOS 3.6 is now available. It contains many changes, both important and purely cosmetic ones, such as: new update notifier; new 2.6.21.4 kernel; X.Org 7.2; the newest versions of KDE 3.5.7, GNOME 2.18.2 and Xfce 4.4.1, OpenOffice.org 2.2.0, and many more. The CORE edition also includes a partial French translation of the installer. The second beta also has a lot of bugs eliminated (including some in the KateOS LIVE installer). Everyone is invited to test and share the experience on the KateOS project forum.
<<less
Download (687.4MB)
Added: 2007-06-18 License: GPL (GNU General Public License) Price:
860 downloads
xcb-proto 1.0 RC2

xcb-proto 1.0 RC2


xcb-proto contains descriptions of the X Window System core protocol and selected extensions in an XML-based data format. more>>
The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, latency hiding, direct access to the protocol, improved threading support, and extensibility.
xcb-proto project contains descriptions of the X Window System core protocol and selected extensions in an XML-based data format.
They are used by the X C Binding (XCB) library to generate much of its code, but you can also use these descriptions for other purposes, such as decoding the X protocol or building X Window System bindings for other languages.
Installation:
The simplest way to compile this package is:
1. `cd to the directory containing the packages source code and type `./configure to configure the package for your system. If youre using `csh on an old version of System V, you might need to type sh ./configure instead to prevent `csh from trying to execute configure itself.
Running `configure takes awhile. While running, it prints some messages telling which features it is checking for.
2. Type `make to compile the package.
3. Optionally, type `make check to run any self-tests that come with the package.
4. Type `make install to install the programs and any data files and documentation.
5. You can remove the program binaries and object files from the source code directory by typing `make clean. To also remove the files that `configure created (so you can compile the package for a different kind of computer), type `make distclean. There is also a `make maintainer-clean target, but that is intended mainly for the packages developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution.
Enhancements:
- < import >xproto< /import > was explicitly added to extensions that use xproto. "union" was changed to "xidunion" for XID unions like DRAWABLE and FONTABLE, so that the code generator can more easily declare these XID unions as integer typedefs rather than unions.
- Structures attempting to provide C type safety were replaced with CARD32 typedefs.
- render.xml now describes CompositeGlyphs* as taking lists of BYTE, rather than lists of unions of structures of lists.
- The caller must construct an appropriate sequence of glyph elements.
- XCB didnt properly handle the previous definition.
<<less
Download (0.080MB)
Added: 2006-10-08 License: MIT/X Consortium License Price:
1113 downloads
X2J Beta1

X2J Beta1


X2J is an XML binding framework which performs validation, serialization, and deserialization without the use of XSDs. more>>
X2J is an XML binding framework which performs validation, serialization, and deserialization without the use of XSDs.

Instead, X2J project incorporates the strength of Annotations.


Unit testing is cruicial. If there is Anything you can say about the tools you need in order to create a framework, is that creating unit tests is your safety net when you decide to refactor it completely (and any framework, at its first steps, might go through such a thing - Nothing is ever fully designed for a future feature, not even a complete product.)

A few weeks ago I decided to have a major change to the way X2J analysation works, and use moulds and visitors instead of the previous, "everything-in-one-method" way. This change has worked great for me, but it was scary: What if X2J stopped working?

Sure, I could rollback the code - But that would serve to no good as I still needed this type of change. So I started writing tests. They werent JUnit tests, but just regular applications running X2J for me to manually check the results with. It worked, as amateur as it was, and I made the switch.

However, today I face another refactoring of code and I know I cant do the same thing over again. I need some stability to my code. Some red lights to appear when I do something that risked a totally different part of my application. Something that will tell me almost precisely where I broke the code.

This is where JUnits come in, and if you havent been using them, you should do so now. Im going to start creating them, starting this week. Only then will I tend to my refactoring tasks.

<<less
Download (0.060MB)
Added: 2006-01-18 License: GPL (GNU General Public License) Price:
1376 downloads
SQLAlchemy 0.3.10

SQLAlchemy 0.3.10


SQLAlchemy is a SQL toolkit and object relational mapper for Python. more>>
SQLAlchemy is a SQL toolkit and object relational mapper for Python.
The Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL. SQLAlchemy provides a full suite of well known enterprise-level persistence patterns, designed for efficient and high-performing database access, adapted into a simple and Pythonic domain language.
- extremely easy to use for all the basic tasks, such as: accessing thread-safe and pooled connections, constructing SQL from Python expressions, finding object instances, and commiting object modifications back to the database.
- powerful enough for complicated tasks, such as: eager load a graph of objects and their dependencies via joins; map recursive adjacency structures automatically; map objects to not just tables but to any arbitrary join or select statement; combine multiple tables together to load whole sets of otherwise unrelated objects from a single result set; commit entire graphs of object changes in one step.
- built to conform to what DBAs demand, including the ability to swap out generated SQL with hand-optimized statements, full usage of bind parameters for all literal values, fully transactionalized and consistent updates using Unit of Work.
- modular. Different parts of SQLAlchemy can be used independently of the rest, including the connection pool, SQL construction, and ORM. SQLAlchemy is constructed in an open style that allows plenty of customization, with an architecture that supports custom datatypes, custom SQL extensions, and ORM plugins which can augment or extend mapping functionality.
SQLAlchemys Philosophy:
- SQL databases behave less and less like object collections the more size and performance start to matter; object collections behave less and less like tables and rows the more abstraction starts to matter. SQLAlchemy aims to accomodate both of these principles.
- Your classes arent tables, and your objects arent rows. Databases arent just collections of tables; theyre relational algebra engines. You dont have to select from just tables, you can select from joins, subqueries, and unions. Database and domain concepts should be visibly decoupled from the beginning, allowing both sides to develop to their full potential.
- For example, table metadata (objects that describe tables) are declared distinctly from the classes theyre designed to store. That way database relationship concepts dont interfere with your object design concepts, and vice-versa; the transition from table-mapping to selectable-mapping is seamless; a class can be mapped against the database in more than one way. SQLAlchemy provides a powerful mapping layer that can work as automatically or as manually as you choose, determining relationships based on foreign keys or letting you define the join conditions explicitly, to bridge the gap between database and domain.
SQLAlchemys Advantages:
- The Unit Of Work system organizes pending CRUD operations into queues and commits them all in one batch. It then performs a topological "dependency sort" of all items to be committed and deleted and groups redundant statements together. This produces the maxiumum efficiency and transaction safety, and minimizes chances of deadlocks. Modeled after Fowlers "Unit of Work" pattern as well as Java Hibernate.
- Function-based query construction allows boolean expressions, operators, functions, table aliases, selectable subqueries, create/update/insert/delete queries, correlated updates, correlated EXISTS clauses, UNION clauses, inner and outer joins, bind parameters, free mixing of literal text within expressions, as little or as much as desired. Query-compilation is vendor-specific; the same query object can be compiled into any number of resulting SQL strings depending on its compilation algorithm.
- Database mapping and class design are totally separate. Persisted objects have no subclassing requirement (other than object) and are POPOs : plain old Python objects. They retain serializability (pickling) for usage in various caching systems and session objects. SQLAlchemy "decorates" classes with non-intrusive property accessors to automatically log object creates and modifications with the UnitOfWork engine, to lazyload related data, as well as to track attribute change histories.
- Custom list classes can be used with eagerly or lazily loaded child object lists, allowing rich relationships to be created on the fly as SQLAlchemy appends child objects to an object attribute.
- Composite (multiple-column) primary keys are supported, as are "association" objects that represent the middle of a "many-to-many" relationship.
- Self-referential tables and mappers are supported. Adjacency list structures can be created, saved, and deleted with proper cascading, with no extra programming.
- Data mapping can be used in a row-based manner. Any bizarre hyper-optimized query that you or your DBA can cook up, you can run in SQLAlchemy, and as long as it returns the expected columns within a rowset, you can get your objects from it. For a rowset that contains more than one kind of object per row, multiple mappers can be chained together to return multiple object instance lists from a single database round trip.
- The type system allows pre- and post- processing of data, both at the bind parameter and the result set level. User-defined types can be freely mixed with built-in types. Generic types as well as SQL-specific types are available.
<<less
Download (0.46MB)
Added: 2007-07-22 License: MIT/X Consortium License Price:
827 downloads
PTlink IRCd 6.19.6

PTlink IRCd 6.19.6


PTlink IRC Software provides a set of software packages usefull to establish a secure IRC Network. more>>
PTlink IRC project provides a set of software packages that are usefull to establish a secure IRC Network.
Our development focus is the ease of use and safety, we hope any administrator new to IRC can use our software out-of-the-box.
On the other end we will keep developing more advanced configuration options and features for those with more demanding needs.
Main features:
- Support for secure connections (encrypted) using SSL
- Integrated services anti-flood protection
- Fast connections throttling (to prevent clone bots)
- Spam words detection and blocking
Enhancements:
- This version fixes a crash when a specific configuration item is missing, and adds an human verification code feature that prevents automated clients (bots/trojans) from logging in.
<<less
Download (0.77MB)
Added: 2006-05-09 License: GPL (GNU General Public License) Price:
1274 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5