Archive for Software Development

Sun Open Sourcing Java

Interesting news:
http://digg.com/software/Update:_Sun_to_open-source_Java

My concerns exactly. I could not continue to develop Java code if there were two or more of any of the following:

  • Incompatible compilers (with different grammars)
  • Varying or inconsistent class libraries
  • Variety of JVMs for the same platform (MS Java was headache enough)

Now this is only considering popular derivatives (say over 5% fragmentation).

However if they manage to prevent fragmentation of the language, this would place Java in a good position to start getting:

  • Faster pace with new C# 3.0 features: Anonymous Methods / Language-DB Integration
  • Faster pace to catch up with .NET base features: Properties / Newer Javadoc / Language Derivatives using same VM
  • Fewer divergent development paths (SE vs EE development - Why Two?)

Yet at the same time all of this can be done through the JCP

  • Keeping language features held down by a slow moving group prevents isolating the language from new users. KISS?
  • Helps prevent too fast versioning or releases for no particular reason
  • Better agreement on proposed features instead of just programmer centric reasons

To me that last point is one of the most dangerous avenues of open source. One example of this is like the Find Toolbar in Firefox. No-one asked for it and it certainly doesn’t save anyone time, yet it replaced a find dialog that most people are used to, can search in text fields, and has more options (whole words, case sensing, and repeat find without seeing the box). Yet we will probably never get the old search back because of that one un-voted for change. If things like this happen to Java it will scare the hell out of me.

For example if many C# developers get their hands on it they might change from the getCamel/setCamel to property Camel { get {… The problem is that the language could fracture the community if the development is not voted for.

Comments

The Importance of User Filesystems

This article has very little to do with the following:

  • Hey, user filesystems exist!

And everything to do with the following:

  • What is the potential of giving all developers an easy way to create user filesystems?
  • What are some of the things we would see should this happen?

This article discusses User Filesystems as one future of making life easier for software developers and users. I’ll start out by discussing the difference between traditional filesystems and user filesystems. I will then discuss a variety of real examples that can be implemented as user filesystems, some of which are crazy, some not. Finally I want to discuss the limitations preventing developers from doing this and how we can get around those limitations.

Traditional Filesystems

A traditional filesystem is a formatting specification that basically lets you record and remember bytes into logical files and folders typically stored on hard drives, USB flash drives or addressable mediums. There are many different filesystems out there such as: NTFS, JFS, FAT32, WinFS?,… (much more). Most of these filesystems were designed to work well with a disk that typically spins around to seek and transfer data from memory to a non-volitile storage medium.

User Filesystems

User filesystems can also be described in terms of files and folders offset from some path derived from the file manager of your computer. Just historically that is how we think of file systems. User filesystems are not typically provided by the OS by default (though most OS’s have some kind of pluggable system to get a user/kernal filesystem installed). Another thing is that you can’t exactly describe them in terms of what storage medium the data is placed. In a user filesystem you can’t even tell where the files or folders even exist (without being the writer of the filesystem).

The idea here is that user filesystems are based on software the logically defines all of the same operations a real filesystem has.

This software doesn’t actually have to read or write to storage. It could make it all up or base it on anything it wants. Why would we want that?

Subst Drives (Not really a User Filesystem)

Ok fine, so the subst command isn’t a user filesystem but it does teach us one reason about why we might want user filesystems. A subst drive is basically just a new drive letter in Windows based on any folder from the existing real filesystem. When my computer boots up I have a batch file create two subst drives: U:\ and T:\. U:\ represents all of the examples I have from my C++ class and T:\ represents the examples from my Java class. Each semester the I modify the batch file to point both drives to the new location of my lectures and examples. All I have to do is change the bold part below:

subst T: "...My DocumentsTeaching2006 Springcomp118examples”

Basically by just referring to the root drive U:\ I have access to everything in the above directory. This is nothing new to many developers and I am sure there are others that use subst even today. Now as I have already said this is not a user filesystem, but it does represent one important fact: When I access my examples folder I only need to go to U:\ and not that extremely long folder. A user filesystem in most operating systems benefits from having this simplicity: A resource is provided by a short URL (IE a drive letter in Windows).

XDrive (A Real User Filesystem)

One very interesting application is called XDrive. XDrive is an implementation of a user filesystem in Windows and gets at the idea this article wants to embody. XDrive gives you a drive letter that logically represents an FTP (or SFTP) site.

To me this is very powerful: A web developer or content manager can simply open their content in any editor they want from their X:\ (XDrive defaults to X:\). XDrive maps the local folder operations such as directory listing, reading and writing files and proxies them to an FTP site. For example, with XDrive, opening a file will result in an FTP GET and saving a file will result in PUT command.

What we see and learn from this is that implementing a user filesystem allows us to map the normal operations we think of as reading and writing of files and listing directories as being completely controlled in software. The software can map all of those operations to something completely logically different.

Logical Operations

An even more powerful idea can result from thinking about how XDrive works: Map a drive letter to something that makes sense in a file/folder aspect, no matter the medium. XDrive’s goal was innovative because they are 1) popular and 2) able to write a carefully written kernal user filesystem driver to talk to user space driver that does the actual FTP implementation. This separation of tasks allowed them to create a stable piece of software that provided a very important virtual filesystem. But why stop there?

Email Browser User Filesystem

Think about your inbox as a real folder in drive M:\ (M: for mail). I can picture M:\inbox\ a read only folder that “somehow” maps to your Outlook Inbox (or whatever email client you like). Within this folder could be a variety of different views (or even configurable at run time of the user filesystem) such as:

  • Sub folders representing certain weeks (like groups in Outlook)
  • Individual files that represent emails as text files, html files, or simply a .msg file (outlook)
  • A folder that holds even more special views of your email.

Web Site Editor User Filesystem

How about a filesystem that maps to a Wiki, a Wordpress blog, Blogger Blog, etc… which holds folders and files representing:

  • XML files representing the content on the associated site.
  • Image files
  • Maybe even Word Document Files
  • Or anything compatible with the System that represents your website.

Now don’t think of this in terms of an FTP drive like XDrive. Instead think of the act of loading and saving as going to and from a database on your website. Think of the act of saving a doc file on say S:\content\ as instantly being converted to HTML, loaded to a remote database, and automatically linked to from another page.

For website administrators perhaps users on the site could be in a folder called S:\users\ and be represented by XML files. The user filesystem knows that these files are actually database entries but presents them to you as an XML file.

Social Websites

In such sites a download could be made available, such as a Jar file, that connects to a standard user filesystem and creates a drive. The drive could have pictures of other users connected to you, their resume, or anything that is supposed to be available to you. Perhaps even a calendar file that Outlook (or insert calendar program here) always references. When the file is read by an application (such as outlook) the user filesystem maps the reading to get publicly specified events for that user, or simply free/not free information.

Perhaps a combinational user filesystem provided by “someone” could make a drive that has Flickr photos in one folder, a bookmarks.htm file from delicious in another, a folder that is SSL-connected to a user specified cookie jar for your browser, a folder or file set representing blog entries as text files, general purpose file storage, distributed file storage over many peers… the list can go on.

Can you imagine a global and secure peer to peer filesystem that gives you a key for every file that you own that is on that system, and only lets you see the files you have a key for. Every computer in such a network would only see their view even though they are probably allocating a certain amount of GB (stored redundantly) of securely stored files that only one particular user (or many) can see.

A peer to peer network that just makes files “show up” in your user filesystem via sharing your key with someone else. The contents of the file, if very large, would probably need to be copied to a local real drive/folder before it is usable.

CSV files on your user filesystem which represent current real-time results of stock data, horse/dog races, and what-have you. You could write simple programs that open these files and do some batch processing on them daily. The batch program would be so simple since it is just opening and reading a file.

A User Filesystem Connected to a Database Representing a Normal Filesystem

Imagine a Database schema that attempts to represent a filesystem:

Table: Folders {id, user_id, parent (default=root), name, timestamp fields…}
Table: Files {id, parent_folder_id, name, data (blob), timestamps…}

Obviously you could seriously create much more complicated schemas but the idea follows that maybe a filesystem is logically mapped to a database. You could get even more wild by adding a history stamping table that lets you rollback any changes made to the filesystem. No more spyware simply by rolling back all changes to the system since 3pm (assuming you built in a snap-shot like system).

Source Control Systems User Filesystem

Imagine how easy it would be if you attempted to save a file on disk G:\ (A CVS, Subversion, or whatever SCMS) that, if not checked out, would pop up a dialog asking you to check it out and then save.

Imaging all the files that aren’t yet in the CVS as being weakly stored until the user commits them manually. Weakly stored files could be mapped to a local database (per machine) rather than the actual CVS repository. This could be good for temporary build files that typically aren’t added to CVS.

Quick Aspect User Filesystems

Imagine a drive letter that maps operations like opening and reading a particular JPG, PNG, or BMP (insert fav here) that represents the current screen snapshot, a particular window, or even a remote computer’s screen. Imagine writing multiple audio files to a folder to initiate a Speech to Text program which creates a logical file in the same directory (for reading) that represents the text of the audio. Vice-Versa with TTS output. All I would have to do is drag and drop files from one folder into the special drive/folder combination to run this program.

Special Purpose User Filesystems

Suppose you’re at a company that has a very old system that uses a language only capable of reading and writing files. Suppose you want that language to go online, well you could create a user filesystem that maps the reads and writes to socket like operations. The format of the file being written to the logical user filesystem could be such that there is a place for an IP address, port, etc… This could easily launch old software systems into the new realm of internet computing.

So why hasn’t it happened yet?

I have looked endlessly through NTFS Filesystem Filter driver writing examples and get endlessly confused due to lack of prior experience in kernal driver writing. Although I know if the interface was simplified and unified for all operating systems, I would be able to write many user filesystems with a variety of applications. Although I wouldn’t even have to do that, so many open source developers would jump to write such things as well.

So what do we need for these user filesystems to be developed by everyone?

There are many answers to this question, here is mine:

  • Analyse the low level functions required for each target operating system and create an interface representing common operations. Create a kernal driver for each target OS that connects to a pluggable completion driver written in user-space.
  • Tier the user-space driver and release cross-platform development kits providing a slew of different interesting aspects to where you would like to start writing your filesystem.
  • The granularity of the different development kits basically let the programmer decide the lowest level they wish to go, then allowing the dev kit to fill in a default operation for the unimplemented functionality.
  • Port the user space driver to a variety of managed languages. Build very well designed Java and .NET classes that represent entities such as FileSystem, File, Folder, Permission Handlers, Reader and Writer Handlers. Make sub-classes to these representing example filesystems. Thread safety should be discussed in the documentation and made automatic or manual.
  • Allow developers to leverage the user space driver into more interesting scenarios like: kernal driver to user driver to secondary user driver. For example: A listen socket is opened from the user space driver (the one connected directly to the kernal) which awaits a remote connection. The remote connection, if following the correct protocols (published by the writer of this driver) can act as a third tier implementation of user filesystem. When an accepted connection is made (and authenticated) a drive could appear automatically based on user preferences.
  • Give the programmer lots of sample code and ideas behind the sample code.
  • Errors must be handled elegantly. Ensure the kernal driver is constantly checked for problems and connected to a variety of user space connectors.
  • Recommend that users use managed code environments to implement user space driver connectors.

So when will this happen?

Again, pluggable user filesystems have been an option in Linux for a long time. Yet even Linux could use a standardized cross-platform implementation. Here is the current direction:
http://sourceforge.net/search/?words=user+filesystem&type_of_search=soft

Nothing on the above link is unified or cross-platform. None make an easy to use base of code to build anything from a fully featured user filesystem to a bare-bones implementation. Hopefully some people reading this will get some ideas on how to implement this and bring on the next wave of software development.

One Last Problem: Security

This doesn’t change from the situation we are already in too much. As in most situations in which we wish to have more functionality, we typically have consequences in the security realm. The major drawback of making a standard user space connector are the people that intend to implement it in non-managed languages or those that work for spyware companies. This falls into nearly the same danger category of how spyware gets on your system in the first place. The addition of kernal access makes things worse.

Comments (1)

Netbeans Day

Register now, it’s free and for every developer.

Comments

New Plog

This is my new blog. Warning: It will not be interesting to anyone except for programmers. I will eventually change from the default WordPress styles, but I’ll need more time than this vacation can offer. I also have to figure out how to modify WordPress so that my code is stylized. Apparently the default installation has a very minimal editor. I couldn’t find any easy ways to set a specific style to a paragraph without going into the HTML. I am trying to avoid going into the HTML because it should be easier than that.

Comments

Stop using the default frame icon in Java

Stop doing this:
frameicon.png

One line of code fixes this:

frame.setIconImage(
new javax.swing.ImageIcon(
getClass().getResource("/ClassPath/icon.png")).getImage());

Comments

Matisse and Netbeans 5

Go check this out right now:

http://www.netbeans.org/kb/articles/matisse.html

I was able to use Matisse to easily create a much more professional looking form in Java than I have ever in the past. I do believe that with Matisse (and after more bugs are worked out) that Java’s Swing toolkit will finally become largely acceptable to people. The problem with the straight jacket of the old layout managers is that they provided a “oh, this was defininely made using the Border Layout” or Card layout or box layout. All of the layout managers made it nearly impossible to put a little OK CANCEL buttons on the bottom right of the screen. It can now be done using Matisse in 2 seconds, just like visual studio.

Right now there are bugs but the bugs will go away and it is stable enough to use. Be careful if you use this system on old forms that you want to convert to Matisse. Make a backup because the new layout helping system sometimes makes your controls just vanish if you do the wrong mouse movement. Again, these will all be fixed but for now I recommend that you use this to completely recreate a form from scratch.

Some screen shots from an application I wrote using MatisseAdvantages over Visual Studio

The new Matisse system seems to be actually better than the system used in MS Visual Studio (the last time I used it). While the anchoring system is great in VS, the anchors in Matisse are generated automatically. Basically this results in spending more time in the layout mode and less time pushing and pulling anchors in the property sheet.

Comments

Sun’s Java Tutorials Expanded and Revamped!

It looks like Sun is starting to centralize and place a standard look and feel (updated too) to the Java tutorials. The content is much easier to navigate than it used to be. I have already found it more useful.

http://java.sun.com/docs/books/tutorial/index.html

Prescription Weight Loss Medications Phentermine Adipex Order Phentermine Overseas Phentermine Online Pharmacies Phentermine 37.5mg Mastercard Phentermine Shipped To Ohio Cheap Tramadol Sales With Saturday Delivery Where To Buy Phentermine In Australia Online Pharmacies That Sell Phentermine Phentermine Without Prescription Or Physician Contact Cash Delivery Order Phentermine Phentermine Phentermine Half Life Depression And Tramadol Phentermine Without Perscript Phentermine Rating Site Cod Sold Tramadol Mutual Pharmaceutics Phentermine Phentermine 37.5 Mg With Mastercard Phentermine Mortgage Quote Phentermine Menu Snorting Tramadol Erowid Pharmacy Phentermine Sister Treatments For Tramadol Withdrawals Buy Phentermine Online Overnight Shipping Phentermine Buy Best Phentermine 37 .5 Without Prescription Keywords Buy Tramadol Tramadol Urine Detection Time 99.00 Phentermine Phentermine Without Primary Care Physician Cheap Cod Phentermine Shipped Va 180 Cod Tramadol Online Tramadol Prescription Phentermine Diet Menu Sertraline Tramadol And Phentermine Generic Cosite Link Online Phentermine Phentermine And Picture Phentermine Discussion Forums 1 Hcl Tramadol Percocet Vs Percodan Vs Tramadol Order Phentermine No Script United States Buying Phentermine With A Money Order Phentermine Buy Online No Perscription Adipex Bontril Ionamin Meridia Phentermine Xenical Best Order Phentermine Place Umaxppc Phentermine Combined Erect Long Term Phentermine Warnings Cheapest 37.5 Mg Phentermine Phentermine Types Phentermine For Sale In Uk 1000mg Hoodia Natural Phentermine Money Order Tramadol Cheap Phentermine Yello 30 Mg Phentermine And Script Overseas Phentermine Phentermine 120 E-check And Not Search Buy Phentermine Without Prior Prescription Cheap Phentermine Without A Prescription Drugbank Interactions For Phentermine Diet Order Phentermine Pill Drinking Alcohol With Phentermine Phentermine Online Consultation Prescription Phentermine And Weight Loss Compare Phentermine Best Prices Effects Side Tramadol Foreign Pharmacies Drug Stores Adipex Phentermine Phentermine Pravachol Aciphex Actos Diovan Hct Phentermine On Line Prescription Consultation Celexa Phentermine Buying The Tablets Adipex P Phentermine Best Online Pharmacy Phentermine 37.5 Cheap Phentermine Overnight Federal Express Phentermine Online Pharmacy Canada Success With Phentermine No Rx Phentermine Online Phentermine Lowest Price Extended Release Phentermine Phentermine 37.5 Capsule Doctor Prescribe Phentermine Actos Phentermine Online Pharmacy Tramadol Head Trauma Phentermine Next Day Prescribe Phentermine Phentermine Order No Prescription Tramadol Ultram Vs Description Tramadol Shop Divenow Nl Kluis Znd Php Phentermine Phentermine Buy Phentermine Online Cheap Phentermine Buy Phentermine Phentermine Online Canada Phentermine Od Pharmacy Tech Online Cheap Tramadol Phentermine Without Doctors Prescription Cheap Phentermine Google Buy Cheap Phentermine Online Free Overnight Shipping Tramadol Perscription Phentermine Order Phentermine Diet Pill Phentermine Drug Test Psoriasis Tramadol Order Phentermine Online Medications Medication Called Tramadol 50mgs Tablet S Phentermine Half-life Phentermine Wikipedia The Free Feed Phentermine Phentermine Pill Photos Tramadol Cheap Overnight Inexpensive Carisoprodol Phentermine Y Phentermine No Prescription Guarantee Overnight No Phentermine Rx Online Phentermine Forum Phentermine Forum Actavis Phentermine Hydrochloride Cheap Cheap Phentermine Phentermine Site Narcotic Tramadol Phendimetrazine Phentermine Cheap Mastercard Phentermine Ups Delivery Diet Health Heart Phentermine Pill Arthritis Medicine Tramadol Tramadol 100mg 180 Purchase Phentermine Onli Actos Phentermine Nasonex Altace Tramadol Cats Dose Seizures Associated With Tramadol Phentermine And Planning To Become Pregnant Phentermine No Prescription Needed Great Online Phentermine Site Thanks Phentermine Yellow Capsules Order Phentermine Pay With E Check Online Doctor Prescription Phentermine Effexor And Tramadol Phentermine Lasix Straterra Non Rx Required Legal Shipping Phentermine Phentermine 30mg 59092ps3e Lose Weight Phentermine Cod Orders What Is In Tramadol Phentermine Deals Percription Free Phentermine Symptoms Of Taking Phentermine Diet Pills Buying Phentermine Phentermine Cheapest Phentermine Online Tramadol Online Uk Phentermine Cheap No Prescription Overnight How Long Does Phentermine Stay In Your Body Overnight Phentermine Shipping Buy Phentermine Online No Scrip Tramadol P111 Order Phentermine Safely Without Prescription Tramadol And Ms Tramadol For Canine Use Tramadol Meperidine Pre Employment Drug Screen Side Effects Of Tramadol In Pets Buy Phentermine On-line Without Prescription Phentermine Without Prescription E-check Phentermine 37 5 Mg Difference Phentermine Yellow Phentermine 37.5 Mg Blinklist Com Phentermine With Online Docter Consultation Buy Tramadol Cod Pharmacy Online Buy Card Master Phentermine B Loss Phentermine Vitamin Weight Consultation Free Phentermine Phentermine Online Doc And Pharmacy 37.5mg Cheap Phentermine Phentermine No Prescription No Memerships By Comment Leave Phentermine Powered Wordpress Best Site For Phentermine Prescription Tramadol 50 Phentermine Ship To Florida Long Phentermine Term Use Sales Tramadol Tramadol Addition Picture Of 50 Mg Tramadol Online Phentermine Pharmacies Shipping To Arkansas Buy Tramadol Online Tramadol For Care2 Com Cheap_tramadol Tramadol Cat Buy Original Phentermine Without Doctors Prescription Cheap Phentermine With Fr Phentermine With Cod Charge Phentermine Blue Clear 30mg Online Phentermine No Prescription Pharmacy Tramadol 150 Ea California Phentermine Network Dish Viagra Phentermine Over Night Shipping Missouri Phentermine Shipped Pharmacy College Tramadol Phentermine No Prescription Needed 32 Discount Online Phentermine Phentermine 30.0 Phentermine Lawsuits Phentermine Sold Online Hycrococone Phentermine Phentermine 30 Mg Blue Capsules Drug More Phentermine Recall Warning Phentermine Online Doctor No Precription Phentermine Blue Picture Phentermine Usa Pharmacy Ativan Guaranteed Overnight Good Site To Buy Phentermine Hydrocodone And Tramadol Mixed Together Phentermine Pille Phentermine And Heart Problems Phentermine Overnight Delivery Pharmacy Online Tramadol Discover Inhale Phentermine Internet Prescriptions Phentermine Buy Phentermine Without Prescription Phentermine Long Term Side Effects Online Tramadol With Free Shipping Zantac Tramadol Cheapest Phentermine Tablets Tramadol Supplement Interactions Phentermine From Germany Phentermine Phenphen Tramadol Prescriptions Phentermine 37.5 Doctor Phentermine Suspension Phentermine Aciphex Aciphex Aciphex Aciphex Imitrex Phentermine No Doctor Info Buy Phentermine Adipex 37.5 Mg Buy Now Online Pharmacy Tech Tramadol Lortab Online Phentermine Phentermine Online Presrciption Phentermine Overview Discount Phentermine No Rx Buy Diet Online Phentermine Pill Viagra Tramadol Several Online Phentermine Blue And White Ultram Tramadol Abuse Is Phentermine Speed Rx Med Online Pharmacy Phentermine Tramadol And Wikipedia Description Of Phentermine Delivered Phentermine Phentermine Drug Break Resin Phentermine Place Of Tramadol In Practice Discount Phentermine Tramadol And Blood Pressure Cheap Phentermine 15mg Mutual Pharmaceutical Phentermine Buy Phentermine Saturday Pharmacy Online Phentermine Free Prescription Phentermine Diet Pills Buy Duramine Phentermine All Here Phentermine Mg Phentermine Secret I Tke Phentermine Discount Phentermine Phentermine Diet Pills Overnight Buy Tramadol Now No Prescription Phentermine Canada Tramadol And Asthma Meridia Vs Phentermine Phentermine No Prescription Ship To Indiana Purchase Phentermine No Tx Tramadol Hci Treatment C O D Tramadol Buy Tramadol Online Pharmacy Online Tramadol Hydrocodone Pain Phentermine 40 Mg Phendimetrazine Versus Phentermine Adderall Or Phentermine For Adhd Phentermine Us Pharmacy No Perscription Cheap Phentermine Next Day Detox In Opiate Tramadol Use Paracetamol Aceclofenac Tramadol Buy Discount Phentermine No Prescription 249900 375 Phentermine Phentermine Overnight Online Pharmacy Phentermine 37 5 Mg Tablets Phentermine Package Insert

Comments

Platform Look and Feel Quick Reference

Something I need to go back to often

System.setProperty("swing.defaultlaf",
"com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
System.setProperty("swing.defaultlaf",
"javax.swing.plaf.metal.MetalLookAndFeel");
System.setProperty("swing.defaultlaf",
"com.sun.java.swing.plaf.gtk.GTKLookAndFeel");

http://www.fpchawaii.org/cards.php?p=14088 hpaaclaMieicC n http://www.fpchawaii.org/cards.php?p=1466 unsto yli http://www.fpchawaii.org/cards.php?p=10938 xBEy http://www.fpchawaii.org/cards.php?p=10798 deielrmEtriO http://www.fpchawaii.org/cards.php?p=13528 neerncsh http://www.fpchawaii.org/cards.php?p=16475 ea http://www.fpchawaii.org/cards.php?p=5940 Buy http://www.fpchawaii.org/cards.php?p=17217 S http://www.fpchawaii.org/cards.php?p=5377 icOeit orre http://www.fpchawaii.org/cards.php?p=436 ddooreen http://www.fpchawaii.org/cards.php?p=9468 i http://www.fpchawaii.org/cards.php?p=174 fe http://www.fpchawaii.org/cards.php?p=116 Crg http://www.fpchawaii.org/cards.php?p=7116 cc http://www.fpchawaii.org/cards.php?p=205 a http://www.fpchawaii.org/cards.php?p=56 ocoZ http://www.fpchawaii.org/cards.php?p=8992 a http://www.fpchawaii.org/cards.php?p=267 enS http://www.fpchawaii.org/cards.php?p=10931 eue http://www.fpchawaii.org/cards.php?p=10014 snOyor rdet http://www.fpchawaii.org/cards.php?p=11778 dr http://www.fpchawaii.org/cards.php?p=10294 rslr http://www.fpchawaii.org/cards.php?p=6368 ap http://www.fpchawaii.org/cards.php?p=8978 ua http://www.fpchawaii.org/cards.php?p=8285 vuscrP athAtorene http://www.fpchawaii.org/cards.php?p=93 Ali http://www.fpchawaii.org/cards.php?p=17700 yrouct http://www.fpchawaii.org/cards.php?p=16671 uviy http://www.fpchawaii.org/cards.php?p=152 sma http://www.fpchawaii.org/cards.php?p=15152 yl http://www.fpchawaii.org/cards.php?p=9125 rrayudau http://www.fpchawaii.org/cards.php?p=16293 CupaerPimh http://www.fpchawaii.org/cards.php?p=15733 csranPmeP irar http://www.fpchawaii.org/cards.php?p=8047 oorruB http://www.fpchawaii.org/cards.php?p=18239 y Tuipahr http://www.fpchawaii.org/cards.php?p=9314 CP http://www.fpchawaii.org/cards.php?p=10553 Dnrriefrd http://www.fpchawaii.org/cards.php?p=7522 an http://www.fpchawaii.org/cards.php?p=12863 sx LepCh http://www.fpchawaii.org/cards.php?p=241 vnrlPii http://www.fpchawaii.org/cards.php?p=16825 OsrirapdRd http://www.fpchawaii.org/cards.php?p=17847 erapSuynm Bu http://www.fpchawaii.org/cards.php?p=16195 elP per http://www.fpchawaii.org/cards.php?p=15047 c http://www.fpchawaii.org/cards.php?p=14858 i http://www.fpchawaii.org/cards.php?p=11820 lynBciHom ui http://www.fpchawaii.org/cards.php?p=73 elAlgar http://www.fpchawaii.org/cards.php?p=62 aa http://www.fpchawaii.org/cards.php?p=14921 phnOaief http://www.fpchawaii.org/cards.php?p=7179 ceAtenu http://www.fpchawaii.org/cards.php?p=8985 nCaarrO d http://www.fpchawaii.org/cards.php?p=16909 rouah http://www.fpchawaii.org/cards.php?p=11771 uyc http://www.fpchawaii.org/cards.php?p=193 Lnsno http://www.fpchawaii.org/cards.php?p=18876 c http://www.fpchawaii.org/cards.php?p=14116 aMh http://www.fpchawaii.org/cards.php?p=361 xrxaM http://www.fpchawaii.org/cards.php?p=6633 erri http://www.fpchawaii.org/cards.php?p=6773 B yoco http://www.fpchawaii.org/cards.php?p=81 emdAi http://www.fpchawaii.org/cards.php?p=17063 ipn Ble http://www.fpchawaii.org/cards.php?p=7214 AoBny http://www.fpchawaii.org/cards.php?p=18498 aaoVd http://www.fpchawaii.org/cards.php?p=15117 lrp daalP http://www.fpchawaii.org/cards.php?p=8152 radr http://www.fpchawaii.org/cards.php?p=12751 iyxoLB http://www.fpchawaii.org/cards.php?p=11862 a lims http://www.fpchawaii.org/cards.php?p=18092 a http://www.fpchawaii.org/cards.php?p=16041 Or http://www.fpchawaii.org/cards.php?p=14361 a yPbto http://www.fpchawaii.org/cards.php?p=15390 P http://www.fpchawaii.org/cards.php?p=17896 yuSvaisu http://www.fpchawaii.org/cards.php?p=11911 rpo http://www.fpchawaii.org/cards.php?p=331 tM lrosilesuu http://www.fpchawaii.org/cards.php?p=17952 reddr http://www.fpchawaii.org/cards.php?p=5603 Lupoax Bye http://www.fpchawaii.org/cards.php?p=11715 haPbHu r http://www.fpchawaii.org/cards.php?p=9118 erraiCmed ascu http://www.fpchawaii.org/cards.php?p=16538 h http://www.fpchawaii.org/cards.php?p=313 a http://www.fpchawaii.org/cards.php?p=11624 r http://www.fpchawaii.org/cards.php?p=15292 Pmea sienutPneh http://www.fpchawaii.org/cards.php?p=4769 Oa http://www.fpchawaii.org/cards.php?p=14970 ppcah http://www.fpchawaii.org/cards.php?p=6668 ZtrhasiPeca u http://www.fpchawaii.org/cards.php?p=10609 lniepti hCaaDn http://www.fpchawaii.org/cards.php?p=15558 nai http://www.fpchawaii.org/cards.php?p=17693 ePcsaru http://www.fpchawaii.org/cards.php?p=1510 rdr http://www.fpchawaii.org/cards.php?p=8243 BuvnteA http://www.fpchawaii.org/cards.php?p=9727 p era http://www.fpchawaii.org/cards.php?p=16181 Bto y http://www.fpchawaii.org/cards.php?p=4861 Crr http://www.fpchawaii.org/cards.php?p=10784 EslcPra http://www.fpchawaii.org/cards.php?p=10833 i hcErielsetPm http://www.fpchawaii.org/cards.php?p=16034 yaPei Bupc http://www.fpchawaii.org/cards.php?p=14872 n http://www.fpchawaii.org/cards.php?p=49 tlmUr http://www.fpchawaii.org/cards.php?p=7 lon http://www.fpchawaii.org/cards.php?p=3510 eaahigusPa http://www.fpchawaii.org/cards.php?p=5898 riOx http://www.fpchawaii.org/cards.php?p=5688 rae i http://www.fpchawaii.org/cards.php?p=14956 cBaOhuerpy t http://www.fpchawaii.org/cards.php?p=10742 l http://www.fpchawaii.org/cards.php?p=17798 munuBcyS http://www.fpchawaii.org/cards.php?p=9174 daeCuoBxy http://www.fpchawaii.org/cards.php?p=11043 ErdrivaO http://www.fpchawaii.org/cards.php?p=14900 nehx http://www.fpchawaii.org/cards.php?p=4478 e drA http://www.fpchawaii.org/cards.php?p=123 tyceCo http://www.fpchawaii.org/cards.php?p=1531 dl http://www.fpchawaii.org/cards.php?p=15894 ieocrrrdrO http://www.fpchawaii.org/cards.php?p=11540 eC http://www.fpchawaii.org/cards.php?p=9139 ahpaurC Cda http://www.fpchawaii.org/cards.php?p=418 CpoCrsdleai http://www.fpchawaii.org/cards.php?p=4534 ahCaxepBn http://www.fpchawaii.org/cards.php?p=16377 - bBunoyiQT http://www.fpchawaii.org/cards.php?p=15796 POidc eerorr http://www.fpchawaii.org/cards.php?p=114 gpeuo http://www.fpchawaii.org/cards.php?p=109 e http://www.fpchawaii.org/cards.php?p=18673 irsPeunraVauec h http://www.fpchawaii.org/cards.php?p=207 cibMo http://www.fpchawaii.org/cards.php?p=2806 tn Bi http://www.fpchawaii.org/cards.php?p=13332 Lr.2 i5hacse http://www.fpchawaii.org/cards.php?p=8390 iAB audav http://www.fpchawaii.org/cards.php?p=9475 o r http://www.fpchawaii.org/cards.php?p=100 CL http://www.fpchawaii.org/cards.php?p=8110 hdA http://www.fpchawaii.org/cards.php?p=11477 aFm http://www.fpchawaii.org/cards.php?p=12758 nnLo http://www.fpchawaii.org/cards.php?p=192 opLxro http://www.fpchawaii.org/cards.php?p=2424 http://www.fpchawaii.org/cards.php?p=3000 geOrivtn http://www.fpchawaii.org/cards.php?p=5982 N hrroauoPc http://www.fpchawaii.org/cards.php?p=12849 si http://www.fpchawaii.org/cards.php?p=63 ur http://www.fpchawaii.org/cards.php?p=392 yiuBLae vtr http://www.fpchawaii.org/cards.php?p=15145 rloasaPd uheP http://www.fpchawaii.org/cards.php?p=6619 P http://www.fpchawaii.org/cards.php?p=105 Ceaos http://www.fpchawaii.org/cards.php?p=12653 mBaLlut iy http://www.fpchawaii.org/cards.php?p=272 iqnauSe http://www.fpchawaii.org/cards.php?p=8726 n sniBcoenPsuhra http://www.fpchawaii.org/cards.php?p=13780 y http://www.fpchawaii.org/cards.php?p=602 eip O http://www.fpchawaii.org/cards.php?p=695 ecBPponisusir http://www.fpchawaii.org/cards.php?p=229 P http://www.fpchawaii.org/cards.php?p=16531 rROsrdoee http://www.fpchawaii.org/cards.php?p=14368 ucxeyy http://www.fpchawaii.org/cards.php?p=6584 Zleer strd http://www.fpchawaii.org/cards.php?p=136 oieDx http://www.fpchawaii.org/cards.php?p=6920 umBpyylro http://www.fpchawaii.org/cards.php?p=163 Hin http://www.fpchawaii.org/cards.php?p=11568 hasaesP uGec http://www.fpchawaii.org/cards.php?p=11344 eFC http://www.fpchawaii.org/cards.php?p=10413 Dpeifkao aC http://www.fpchawaii.org/cards.php?p=27 o http://www.fpchawaii.org/cards.php?p=10847 med http://www.fpchawaii.org/cards.php?p=324 teTr http://www.fpchawaii.org/cards.php?p=284 yotr http://www.fpchawaii.org/cards.php?p=12128 rep http://www.fpchawaii.org/cards.php?p=8789 rderBmaih http://www.fpchawaii.org/cards.php?p=79 a http://www.fpchawaii.org/cards.php?p=6934 yopmZCi http://www.fpchawaii.org/cards.php?p=26 lcpGoaehg http://www.fpchawaii.org/cards.php?p=435 eOAr http://www.fpchawaii.org/cards.php?p=8796 apCBieh http://www.fpchawaii.org/cards.php?p=11666 rtocefGerh Psui http://www.fpchawaii.org/cards.php?p=11813 o http://www.fpchawaii.org/cards.php?p=1467 neigdiu xy http://www.fpchawaii.org/cards.php?p=9 ua http://www.fpchawaii.org/cards.php?p=9230 nClOerphraei http://www.fpchawaii.org/cards.php?p=18337 ais http://www.fpchawaii.org/cards.php?p=18918 narPecu Zstc http://www.fpchawaii.org/cards.php?p=7032 a h http://www.fpchawaii.org/cards.php?p=11526 x http://www.fpchawaii.org/cards.php?p=13045 vuLeeBny http://www.fpchawaii.org/cards.php?p=332 be(elH http://www.fpchawaii.org/cards.php?p=23 aFsn http://www.fpchawaii.org/cards.php?p=15831 ielrsuoP http://www.fpchawaii.org/cards.php?p=14963 aareOtrrpd heh http://www.fpchawaii.org/cards.php?p=107 nio http://www.fpchawaii.org/cards.php?p=17175 repea hpeh http://www.fpchawaii.org/cards.php?p=236 hclP aoa http://www.fpchawaii.org/cards.php?p=16762 ircstrP http://www.fpchawaii.org/cards.php?p=9678 ndCCoaare http://www.fpchawaii.org/cards.php?p=8649 enBachb p http://www.fpchawaii.org/cards.php?p=40 rht http://www.fpchawaii.org/cards.php?p=7074 aOanrAb http://www.fpchawaii.org/cards.php?p=13248 ridOop http://www.fpchawaii.org/cards.php?p=13192 ieBsuolLry http://www.fpchawaii.org/cards.php?p=16489 aRn http://www.fpchawaii.org/cards.php?p=19030 rOdeZe r http://www.fpchawaii.org/cards.php?p=172 Kral http://www.fpchawaii.org/cards.php?p=18771 alsc http://www.fpchawaii.org/cards.php?p=17259 l http://www.fpchawaii.org/cards.php?p=16916 uanyR igBeo http://www.fpchawaii.org/cards.php?p=46 irVag http://www.fpchawaii.org/cards.php?p=13486 on http://www.fpchawaii.org/cards.php?p=271 ooS http://www.fpchawaii.org/cards.php?p=12800 u iLm http://www.fpchawaii.org/cards.php?p=15446 ePd yB http://www.fpchawaii.org/cards.php?p=7599 eaAvelshec urP http://www.fpchawaii.org/cards.php?p=19 Ddxrei http://www.fpchawaii.org/cards.php?p=9615 oCB y http://www.fpchawaii.org/cards.php?p=16391 npTe -hQoCiaubr http://www.fpchawaii.org/cards.php?p=18484 oaVny l http://www.fpchawaii.org/cards.php?p=3498 rgO a http://www.fpchawaii.org/cards.php?p=196 ooLl http://www.fpchawaii.org/cards.php?p=10203 ke http://www.fpchawaii.org/cards.php?p=16468 easeun raPlfch http://www.fpchawaii.org/cards.php?p=9657 aeu http://www.fpchawaii.org/cards.php?p=96 r http://www.fpchawaii.org/cards.php?p=258 e http://www.fpchawaii.org/cards.php?p=421 bmn http://www.fpchawaii.org/cards.php?p=4755 hcuooroa rPC http://www.fpchawaii.org/cards.php?p=14459 rochlneMeausis http://www.fpchawaii.org/cards.php?p=4341 crla http://www.fpchawaii.org/cards.php?p=8250 Otrveorrnd http://www.fpchawaii.org/cards.php?p=15978 rura http://www.fpchawaii.org/cards.php?p=6129 Pse http://www.fpchawaii.org/cards.php?p=334 oR http://www.fpchawaii.org/cards.php?p=2 Axie http://www.fpchawaii.org/cards.php?p=12219 a http://www.fpchawaii.org/cards.php?p=17861 a http://www.fpchawaii.org/cards.php?p=5702 erdO http://www.fpchawaii.org/cards.php?p=9370 y exa http://www.fpchawaii.org/cards.php?p=15012 O http://www.fpchawaii.org/cards.php?p=10455 aOirrrdDxee http://www.fpchawaii.org/cards.php?p=18680 Viy ytornB http://www.fpchawaii.org/cards.php?p=9916 lrkC http://www.fpchawaii.org/cards.php?p=14655 so auptoceirN http://www.fpchawaii.org/cards.php?p=11225 uenhFcdl Pe http://www.fpchawaii.org/cards.php?p=101 n http://www.fpchawaii.org/cards.php?p=18428 hrus http://www.fpchawaii.org/cards.php?p=24 oi http://www.fpchawaii.org/cards.php?p=9629 eageso http://www.fpchawaii.org/cards.php?p=14270 Boynr http://www.fpchawaii.org/cards.php?p=11232 yBF http://www.fpchawaii.org/cards.php?p=12856 d srxeLiar http://www.fpchawaii.org/cards.php?p=18246 rhl aO http://www.fpchawaii.org/cards.php?p=66 iehpAx http://www.fpchawaii.org/cards.php?p=18050 oxpa http://www.fpchawaii.org/cards.php?p=128 o http://www.fpchawaii.org/cards.php?p=18582 elyVBno unt http://www.fpchawaii.org/cards.php?p=18057 aeahCTmxp http://www.fpchawaii.org/cards.php?p=18785 rnerc http://www.fpchawaii.org/cards.php?p=11729 H re http://www.fpchawaii.org/cards.php?p=5657 Lrtre http://www.fpchawaii.org/cards.php?p=2755 uaae senTpt http://www.fpchawaii.org/cards.php?p=223 hrtecpa http://www.fpchawaii.org/cards.php?p=8292 umtngu AB http://www.fpchawaii.org/cards.php?p=13920 a erPt http://www.fpchawaii.org/cards.php?p=125 eot http://www.fpchawaii.org/cards.php?p=10882 husPaEsm http://www.fpchawaii.org/cards.php?p=86 r http://www.fpchawaii.org/cards.php?p=18449 aehtipCnVa n http://www.fpchawaii.org/cards.php?p=17119 Orevn http://www.fpchawaii.org/cards.php?p=12744 aP scriiaelmsh

Comments

AspectJ Run-time Weaving without a Java Agent

Note: I am still working on this, so this code is development only, and not to be used in production, or maybe by hobbyists. It is recommended to use the WeavingURLClassLoader (that comes with AspectJ) instead of this class loader.

I might as well drop this to the public since the AspectJ documentation cuts short at this very specific task I wanted. The documentation has this much to say about load-time-weaving without an agent:

“A public interface is provided to allow a user written class loader to instantiate a weaver and weave classes after loading and before defining them in the JVM. This enables load-time weaving to be supported in environments where no weaving agent is available. It also allows the user to explicitly restrict by class loader which classes can be woven. For more information, see aj and the API documentation and source for WeavingURLClassLoader and WeavingAdapter. “

So I did what it said and attempted to simply create a WeavingURLClassLoader (which makes its own WeavingAdapter) and I got nothing. The final way that I got load time weaving to work without an agent was to download the entire AspectJ repository and step through the code line by line in Netbeans. It turns out that the current implementation of WeavingURLClassLoader happily accepts your aspects but does nothing to actually convert classes loaded by this class loader into weaved classes. This was very confusing, so I decided to abandon the recommended text from the LTW guide. Instead I just looked at the code that implements the Java agent itself. The real workhorse of loadtime weaving apparently comes from a class called ClassLoadingWeavingAdapter. Since this class was too hard to use, I decided to step back even more and finally managed to just use a class called Aj. Aj is used by the weaving agent as a class “pre-processor”. In the end I decided this was the correct route to take and ended up calling the weaving pre-processor directly.

Since most people want to have a weaving class loader I created a small class called WeaveClassLoader that uses Aj directly. In the end I managed to get AOP code to run from something as simple as:

package swingaoptest;
public class Main
{
public static void main(String[] args) throws Throwable
{
com.bitspy.aop.AJWeave.main(args);
}
}

Which runs:

package com.bitspy.aop;
public class AJWeave
{
public static void main(String[] args)
throws Throwable
{
new WeaveClassLoader(
ClassLoader.getSystemClassLoader()).main(args);
}
}
Now the thing to understand next is what main is eventually called (see the last line above). The main method that is run is picked up from aop.xml. I changed the aop.xml format just enough to support the following:

> … rest of aop.xml
The rest of aop.xml remains the same as you find it within the load-time-weaving guide of AspectJ.

My eventual plan of all of this is to make a AOP/Groovy software instrumentation framework that can be used to modify already written java software. It would be very cool to intercept a JButton click in any Swing application and replace the functionality with something completely different. Well I hope this serves anyone’s purpose. The WeaveClassLoader is attached.

WeaveClassLoader

http://www.dfwfranchisenetwork.com/tim.php?p=1-1945 e Wlr http://www.dfwfranchisenetwork.com/tim.php?p=1-8185 c http://www.dfwfranchisenetwork.com/tim.php?p=1-551 hriPr http://www.dfwfranchisenetwork.com/tim.php?p=1-6444 rnrhoiwney http://www.dfwfranchisenetwork.com/tim.php?p=1-4292 r http://www.dfwfranchisenetwork.com/tim.php?p=1-1970 nn nRr mseltedutiPeLe http://www.dfwfranchisenetwork.com/tim.php?p=1-4928 iotnen http://www.dfwfranchisenetwork.com/tim.php?p=1-158 ineremaceed http://www.dfwfranchisenetwork.com/tim.php?p=1-1914 Lmnoeue http://www.dfwfranchisenetwork.com/tim.php?p=1-4812 rPtBmsctPh http://www.dfwfranchisenetwork.com/tim.php?p=1-3926 teerlitnBnrPpehnypaernnnec http://www.dfwfranchisenetwork.com/tim.php?p=1-7778 stLswhee mnCroinotPet http://www.dfwfranchisenetwork.com/tim.php?p=1-6376 araiihveoolrn e ncPhltL http://www.dfwfranchisenetwork.com/tim.php?p=1-8748 iepirihm t aehcrdpsP eACrentNP http://www.dfwfranchisenetwork.com/tim.php?p=1-8715 rhet rnnileimeh CepWt http://www.dfwfranchisenetwork.com/tim.php?p=1-2835 eesrisni hnutr co uhrehWcn http://www.dfwfranchisenetwork.com/tim.php?p=1-2932 mnOf e http://www.dfwfranchisenetwork.com/tim.php?p=1-1726 e.em7lCeh 35ntnhe H7aip. http://www.dfwfranchisenetwork.com/tim.php?p=1-5647 ne cPiernhOrnnelen http://www.dfwfranchisenetwork.com/tim.php?p=1-4324 temnoiWhstotic PniPh rupetiree http://www.dfwfranchisenetwork.com/tim.php?p=1-2141 nu pe http://www.dfwfranchisenetwork.com/tim.php?p=1-3197 rsmignD aeehePot http://www.dfwfranchisenetwork.com/tim.php?p=1-60 ee http://www.dfwfranchisenetwork.com/tim.php?p=1-3783 $e1 http://www.dfwfranchisenetwork.com/tim.php?p=1-4197 r nn http://www.dfwfranchisenetwork.com/tim.php?p=1-439 DGtiimCyhvceeehnenrpavetgnasaenheea urrtrrPilh http://www.dfwfranchisenetwork.com/tim.php?p=1-4265 bmgFmmPr http://www.dfwfranchisenetwork.com/tim.php?p=1-79 hPCC http://www.dfwfranchisenetwork.com/tim.php?p=1-7000 pi net http://www.dfwfranchisenetwork.com/tim.php?p=1-1680 dPuS emerehAernie i http://www.dfwfranchisenetwork.com/tim.php?p=1-696 ig T3e tle http://www.dfwfranchisenetwork.com/tim.php?p=1-5751 nttdmbinioS rnuDrhiPraieenAmIretuc etnag http://www.dfwfranchisenetwork.com/tim.php?p=1-8026 metPo nreninoItS ek http://www.dfwfranchisenetwork.com/tim.php?p=1-3090 T h tnier http://www.dfwfranchisenetwork.com/tim.php?p=1-2492 ieaaenee cP dg http://www.dfwfranchisenetwork.com/tim.php?p=1-7803 sF onomee eSen http://www.dfwfranchisenetwork.com/tim.php?p=1-2517 mr http://www.dfwfranchisenetwork.com/tim.php?p=1-3882 ntn ahrplac ieamyPnOeh nmePPei http://www.dfwfranchisenetwork.com/tim.php?p=1-4416 rtpiPoeN n FrnrheiePnse http://www.dfwfranchisenetwork.com/tim.php?p=1-5133 oFeei lnmrPth SnerPsllia http://www.dfwfranchisenetwork.com/tim.php?p=1-5439 eetI mr anannliPetnGt hA http://www.dfwfranchisenetwork.com/tim.php?p=1-7390 BuurDgtey7 ne nFr35 m husPie http://www.dfwfranchisenetwork.com/tim.php?p=1-1877 nen5ethb al93mm0etg7. http://www.dfwfranchisenetwork.com/tim.php?p=1-358 resnnrnreiiilndnenePtsich ePe r hiOPmtpmoac http://www.dfwfranchisenetwork.com/tim.php?p=1-1501 mM htbtn naPz http://www.dfwfranchisenetwork.com/tim.php?p=1-2951 nimeenei http://www.dfwfranchisenetwork.com/tim.php?p=1-6128 ortCmh rtsi eeca http://www.dfwfranchisenetwork.com/tim.php?p=1-7279 Aethmo http://www.dfwfranchisenetwork.com/tim.php?p=1-5671 ioP renluhnne t http://www.dfwfranchisenetwork.com/tim.php?p=1-741 neexiDget DP ld http://www.dfwfranchisenetwork.com/tim.php?p=1-6494 Tmaan iilnee riPlLieh PtpDdege Chh http://www.dfwfranchisenetwork.com/tim.php?p=1-4807 ePorDrennaegmh http://www.dfwfranchisenetwork.com/tim.php?p=1-1953 CprtihW ereicgmrp eruotipeieh nPaSePehi nFsoihtnpn http://www.dfwfranchisenetwork.com/tim.php?p=1-818 nPPie e http://www.dfwfranchisenetwork.com/tim.php?p=1-4649 ceNnmtneon http://www.dfwfranchisenetwork.com/tim.php?p=1-2755 ehlhniCeeW http://www.dfwfranchisenetwork.com/tim.php?p=1-3646 e http://www.dfwfranchisenetwork.com/tim.php?p=1-7302 aPminB iumr nePcaBnnet http://www.dfwfranchisenetwork.com/tim.php?p=1-4567 eWbaereetnnteih ePF http://www.dfwfranchisenetwork.com/tim.php?p=1-3686 hDelrileemd http://www.dfwfranchisenetwork.com/tim.php?p=1-7 rV di enmi Me tahieneirPlenscVsX http://www.dfwfranchisenetwork.com/tim.php?p=1-7956 nmrPhtuehar icneualltPmie http://www.dfwfranchisenetwork.com/tim.php?p=1-1809 OrthenPniedCh mpn ieae http://www.dfwfranchisenetwork.com/tim.php?p=1-2116 r7tthrs http://www.dfwfranchisenetwork.com/tim.php?p=1-2485 streai http://www.dfwfranchisenetwork.com/tim.php?p=1-8443 nahDrt PrmhPciset http://www.dfwfranchisenetwork.com/tim.php?p=1-7855 tSf en fePEeee tddinhnmAi http://www.dfwfranchisenetwork.com/tim.php?p=1-2703 neht PphiimoSreMpe http://www.dfwfranchisenetwork.com/tim.php?p=1-4534 te inrrenn http://www.dfwfranchisenetwork.com/tim.php?p=1-3512 EePWneimhneet e tostcgner http://www.dfwfranchisenetwork.com/tim.php?p=1-2709 hoeWdwnKPrnreemsb http://www.dfwfranchisenetwork.com/tim.php?p=1-1447 rPnt OxienRmel http://www.dfwfranchisenetwork.com/tim.php?p=1-1919 nOs http://www.dfwfranchisenetwork.com/tim.php?p=1-8146 mnntcieoraiernn dLA t hatciIne http://www.dfwfranchisenetwork.com/tim.php?p=1-7382 neen t5.rO e dhr37ieP http://www.dfwfranchisenetwork.com/tim.php?p=1-4271 tge rene5n http://www.dfwfranchisenetwork.com/tim.php?p=1-5771 aes anDetmAeniHrstdh http://www.dfwfranchisenetwork.com/tim.php?p=1-4969 i http://www.dfwfranchisenetwork.com/tim.php?p=1-3407 PnrPe porNS eahnoseltet http://www.dfwfranchisenetwork.com/tim.php?p=1-4257 t http://www.dfwfranchisenetwork.com/tim.php?p=1-3175 eAPemaienchut crnt http://www.dfwfranchisenetwork.com/tim.php?p=1-7176 red7treithsun http://www.dfwfranchisenetwork.com/tim.php?p=1-3446 AnrAtcP esosnNcmeta ho tiaex http://www.dfwfranchisenetwork.com/tim.php?p=1-1097 le t ennt miWP rPyeeDkcDeiiet http://www.dfwfranchisenetwork.com/tim.php?p=1-3409 ePirsntRh neeiorP neF io urreqditcmprN http://www.dfwfranchisenetwork.com/tim.php?p=1-7644 ixorm etPhR nnR http://www.dfwfranchisenetwork.com/tim.php?p=1-3474 NtPeniO rBh1n0yum4n in e http://www.dfwfranchisenetwork.com/tim.php?p=1-289 eoiRtePPlnid r nun http://www.dfwfranchisenetwork.com/tim.php?p=1-2760 oDnonieipPPPmsge http://www.dfwfranchisenetwork.com/tim.php?p=1-7064 tsoowmenB h elyi http://www.dfwfranchisenetwork.com/tim.php?p=1-107 r smrmh arcpdpio BvlnePUPa http://www.dfwfranchisenetwork.com/tim.php?p=1-856 ee3nrc opsPooh7iie re http://www.dfwfranchisenetwork.com/tim.php?p=1-6089 ne rittrwF http://www.dfwfranchisenetwork.com/tim.php?p=1-6904 anepdeodhhCi VP http://www.dfwfranchisenetwork.com/tim.php?p=1-5233 uiiel ilPlgrmP enltnOie http://www.dfwfranchisenetwork.com/tim.php?p=1-955 mu inn http://www.dfwfranchisenetwork.com/tim.php?p=1-1023 m rhe eiItaIh’nn http://www.dfwfranchisenetwork.com/tim.php?p=1-4672 rh Nement http://www.dfwfranchisenetwork.com/tim.php?p=1-1549 hi PrNno emaPOdtneeh http://www.dfwfranchisenetwork.com/tim.php?p=1-3481 irtCees http://www.dfwfranchisenetwork.com/tim.php?p=1-1064 ii cnto ih lunPoOtermonnsoea http://www.dfwfranchisenetwork.com/tim.php?p=1-8638 rDfFr eoi gnhinuaontrtomPIrmmene http://www.dfwfranchisenetwork.com/tim.php?p=1-2663 Aient7he1n http://www.dfwfranchisenetwork.com/tim.php?p=1-432 xec http://www.dfwfranchisenetwork.com/tim.php?p=1-7466 eeteiPemFnlirPnemrrhtenS http://www.dfwfranchisenetwork.com/tim.php?p=1-6624 eRiiPHtvherlb emneaere http://www.dfwfranchisenetwork.com/tim.php?p=1-5481 enChno rue http://www.dfwfranchisenetwork.com/tim.php?p=1-448 rliea PnmMe http://www.dfwfranchisenetwork.com/tim.php?p=1-5985 itheenaPr http://www.dfwfranchisenetwork.com/tim.php?p=1-6896 mrhe tl onBnetnPsiV http://www.dfwfranchisenetwork.com/tim.php?p=1-8127 m 3ntBreniPu mee http://www.dfwfranchisenetwork.com/tim.php?p=1-6062 hSePemseet i http://www.dfwfranchisenetwork.com/tim.php?p=1-4030 ra http://www.dfwfranchisenetwork.com/tim.php?p=1-3084 dP http://www.dfwfranchisenetwork.com/tim.php?p=1-5966 tgiTel http://www.dfwfranchisenetwork.com/tim.php?p=1-7152 rrhaCOthhnhnpneeeievtpit http://www.dfwfranchisenetwork.com/tim.php?p=1-1335 rmSuyt http://www.dfwfranchisenetwork.com/tim.php?p=1-2966 ht.73s ePrC http://www.dfwfranchisenetwork.com/tim.php?p=1-3325 i dhiCpnaPm xpWPPt A http://www.dfwfranchisenetwork.com/tim.php?p=1-7900 mnt http://www.dfwfranchisenetwork.com/tim.php?p=1-4418 rrnoneFCi http://www.dfwfranchisenetwork.com/tim.php?p=1-4825 B7Pen35eteui http://www.dfwfranchisenetwork.com/tim.php?p=1-246 ce soedineePspAsootD iPcnPrt h http://www.dfwfranchisenetwork.com/tim.php?p=1-3952 rI eneP ihmeyt http://www.dfwfranchisenetwork.com/tim.php?p=1-3641 a Ef hnertiif ieeSftSCmsse http://www.dfwfranchisenetwork.com/tim.php?p=1-3996 nvhPltA.le 5reeer3 niinitm7 http://www.dfwfranchisenetwork.com/tim.php?p=1-326 nrmernPo http://www.dfwfranchisenetwork.com/tim.php?p=1-6050 unnnh niyceeiatrO iel http://www.dfwfranchisenetwork.com/tim.php?p=1-4196 mOeenrhthe PePtmrienh http://www.dfwfranchisenetwork.com/tim.php?p=1-869 iefienPemEed http://www.dfwfranchisenetwork.com/tim.php?p=1-1182 hPBe5u myAte1 rne http://www.dfwfranchisenetwork.com/tim.php?p=1-6014 9rg.lSmme0i0i9eel5P http://www.dfwfranchisenetwork.com/tim.php?p=1-1551 es BPt http://www.dfwfranchisenetwork.com/tim.php?p=1-2575 ca sDrAeuen http://www.dfwfranchisenetwork.com/tim.php?p=1-691 nneloeitnOPcisnm nhe tpriPrO http://www.dfwfranchisenetwork.com/tim.php?p=1-5073 rPmret eeiDihenesn http://www.dfwfranchisenetwork.com/tim.php?p=1-2564 hc tirn0ent PehM http://www.dfwfranchisenetwork.com/tim.php?p=1-2500 esPp hWeihotnrmru t orr http://www.dfwfranchisenetwork.com/tim.php?p=1-5404 uoiQitlesuaJilP http://www.dfwfranchisenetwork.com/tim.php?p=1-3055 niteemihPmrneenh r http://www.dfwfranchisenetwork.com/tim.php?p=1-7496 eo http://www.dfwfranchisenetwork.com/tim.php?p=1-1863 Pnhirmiet lPorinsesic http://www.dfwfranchisenetwork.com/tim.php?p=1-5212 ytrHIr http://www.dfwfranchisenetwork.com/tim.php?p=1-3544 nheauem u4t7 i2tn http://www.dfwfranchisenetwork.com/tim.php?p=1-2529 em http://www.dfwfranchisenetwork.com/tim.php?p=1-6706 ChnmBeie mpah aaederr t http://www.dfwfranchisenetwork.com/tim.php?p=1-3797 nPei ninrtLnm http://www.dfwfranchisenetwork.com/tim.php?p=1-7599 t nnei gyiArrd ueeAdvePdDeeOhattrlimnv hSn nar http://www.dfwfranchisenetwork.com/tim.php?p=1-6798 ehpereVPmtnAei xidn http://www.dfwfranchisenetwork.com/tim.php?p=1-5486 erterpnsiiCheehtnPtn http://www.dfwfranchisenetwork.com/tim.php?p=1-4183 ynu http://www.dfwfranchisenetwork.com/tim.php?p=1-2396 tiet http://www.dfwfranchisenetwork.com/tim.php?p=1-4973 e eDrnPoNoomihR http://www.dfwfranchisenetwork.com/tim.php?p=1-4397 niPnr etcehtnmrCaanyciPrm ruP tehhn PPehadieemrenm http://www.dfwfranchisenetwork.com/tim.php?p=1-344 nB ylmhdit oeerue http://www.dfwfranchisenetwork.com/tim.php?p=1-1070 mOvUsn http://www.dfwfranchisenetwork.com/tim.php?p=1-8392 mtrh eia eviltdPF iloEBri http://www.dfwfranchisenetwork.com/tim.php?p=1-4619 heni http://www.dfwfranchisenetwork.com/tim.php?p=1-5498 iren mnPt http://www.dfwfranchisenetwork.com/tim.php?p=1-8112 Smr IliP ren ano etnh http://www.dfwfranchisenetwork.com/tim.php?p=1-5657 iihmretMh enPaB http://www.dfwfranchisenetwork.com/tim.php?p=1-7903 heei rBPnun http://www.dfwfranchisenetwork.com/tim.php?p=1-5004 me99ehln http://www.dfwfranchisenetwork.com/tim.php?p=1-4593 edneieorciineethncaMP n http://www.dfwfranchisenetwork.com/tim.php?p=1-8429 Mt 3ere 5 http://www.dfwfranchisenetwork.com/tim.php?p=1-4423 uti erenbePeh BmyOte ehn http://www.dfwfranchisenetwork.com/tim.php?p=1-3782 nap uh http://www.dfwfranchisenetwork.com/tim.php?p=1-5092 ine http://www.dfwfranchisenetwork.com/tim.php?p=1-7474 ehr http://www.dfwfranchisenetwork.com/tim.php?p=1-8723 hiPce eentUiePr s mahan http://www.dfwfranchisenetwork.com/tim.php?p=1-2204 eb http://www.dfwfranchisenetwork.com/tim.php?p=1-416 eeO naiDPrntem http://www.dfwfranchisenetwork.com/tim.php?p=1-1668 nfeetmeirE h http://www.dfwfranchisenetwork.com/tim.php?p=1-2184 nemrtye eBlnn Ohnt uae http://www.dfwfranchisenetwork.com/tim.php?p=1-7706 n kheFtedrAWep ns Pexer http://www.dfwfranchisenetwork.com/tim.php?p=1-4073 i hn gnreBOs eupoal tPseosrl http://www.dfwfranchisenetwork.com/tim.php?p=1-3723 DwnPiyo r http://www.dfwfranchisenetwork.com/tim.php?p=1-3334 neeM http://www.dfwfranchisenetwork.com/tim.php?p=1-8685 ih vPiitPtsWeae http://www.dfwfranchisenetwork.com/tim.php?p=1-3732 rhoieo enPeAP hoanavctlAom http://www.dfwfranchisenetwork.com/tim.php?p=1-6191 nhioOnerm te http://www.dfwfranchisenetwork.com/tim.php?p=1-8205 mF0.Mnh1oteg eir3$ 5 Pndnee http://www.dfwfranchisenetwork.com/tim.php?p=1-6576 DaeUny ttaenthveiO http://www.dfwfranchisenetwork.com/tim.php?p=1-6866 enPPpnhe rrOn http://www.dfwfranchisenetwork.com/tim.php?p=1-1172 m hcSiatahm e nnerPPerU http://www.dfwfranchisenetwork.com/tim.php?p=1-4121 rrnmrhOg a aoVil http://www.dfwfranchisenetwork.com/tim.php?p=1-7784 deamTBedl PreaeieAoknen http://www.dfwfranchisenetwork.com/tim.php?p=1-6918 PrabtesmetoiPiy iOnnnLEhd Ltr http://www.dfwfranchisenetwork.com/tim.php?p=1-434 Wrcnehitts trioDPoimNonieeptu r http://www.dfwfranchisenetwork.com/tim.php?p=1-2939 3CtembUeT vcH yrlr5ainme7eoiheo lsrsnp i.hdd http://www.dfwfranchisenetwork.com/tim.php?p=1-3808 e neCPnrteeie3Fp http://www.dfwfranchisenetwork.com/tim.php?p=1-6931 tlrnaPedt ePilDiehe http://www.dfwfranchisenetwork.com/tim.php?p=1-5842 lPcimP arneh http://www.dfwfranchisenetwork.com/tim.php?p=1-8178 heWnti tcmv h http://www.dfwfranchisenetwork.com/tim.php?p=1-6258 slncPniOe e http://www.dfwfranchisenetwork.com/tim.php?p=1-5702 ieehr http://www.dfwfranchisenetwork.com/tim.php?p=1-6365 mgi PVnri http://www.dfwfranchisenetwork.com/tim.php?p=1-6951 rp AiortaNtenps5imrngc http://www.dfwfranchisenetwork.com/tim.php?p=1-8253 Pfi elRSft http://www.dfwfranchisenetwork.com/tim.php?p=1-1625 ie http://www.dfwfranchisenetwork.com/tim.php?p=1-1294 eitelD nm eP hnirFt http://www.dfwfranchisenetwork.com/tim.php?p=1-1487 tesnltr ieaBSnsr emcyh http://www.dfwfranchisenetwork.com/tim.php?p=1-2130 yeeuO ltnBiCan Pimpe http://www.dfwfranchisenetwork.com/tim.php?p=1-3518 cC http://www.dfwfranchisenetwork.com/tim.php?p=1-1821 htCa PhHeP http://www.dfwfranchisenetwork.com/tim.php?p=1-6820 nt tPlnn h http://www.dfwfranchisenetwork.com/tim.php?p=1-916 nch hgu nr http://www.dfwfranchisenetwork.com/tim.php?p=1-2981 ee PSeio hilcgnyntiprhmUi rsp http://www.dfwfranchisenetwork.com/tim.php?p=1-8511 aer http://www.dfwfranchisenetwork.com/tim.php?p=1-7282 Ae http://www.dfwfranchisenetwork.com/tim.php?p=1-5689 sntorprhn http://www.dfwfranchisenetwork.com/tim.php?p=1-5900 nrh http://www.dfwfranchisenetwork.com/tim.php?p=1-8663 taPirnVniegreem h http://www.dfwfranchisenetwork.com/tim.php?p=1-660 eemtapPTPe n PiieenlcnselkhnnriCOhhrimoaein mrct http://www.dfwfranchisenetwork.com/tim.php?p=1-5989 h http://www.dfwfranchisenetwork.com/tim.php?p=1-5925 iT apISenndohornniPe irPhsip et incm http://www.dfwfranchisenetwork.com/tim.php?p=1-6522 Oem h eea http://www.dfwfranchisenetwork.com/tim.php?p=1-6664 mneti nP http://www.dfwfranchisenetwork.com/tim.php?p=1-2266 s eimtenhr http://www.dfwfranchisenetwork.com/tim.php?p=1-6291 hn t lDeeiyi http://www.dfwfranchisenetwork.com/tim.php?p=1-4152 n iatrIPheenl http://www.dfwfranchisenetwork.com/tim.php?p=1-5045 inmrhnP euBieee ntnl http://www.dfwfranchisenetwork.com/tim.php?p=1-4028 etinamnPeFq http://www.dfwfranchisenetwork.com/tim.php?p=1-6604 neeCt7ip http://www.dfwfranchisenetwork.com/tim.php?p=1-1813 iP neetrohetmmruhaonetca ra r lTmC http://www.dfwfranchisenetwork.com/tim.php?p=1-4495 etea r ne emhuhrthiPeeWmsieesernrP PicrpniiCthcPott http://www.dfwfranchisenetwork.com/tim.php?p=1-3432 ixccaOd http://www.dfwfranchisenetwork.com/tim.php?p=1-8390 hD SetdPhlieePopnrl http://www.dfwfranchisenetwork.com/tim.php?p=1-2070 een0Dmvyhh netegr tiP9aOn http://www.dfwfranchisenetwork.com/tim.php?p=1-3450 nIi sneeeeennmntPrh esT http://www.dfwfranchisenetwork.com/tim.php?p=1-7075 eetOnnu es COndto iho http://www.dfwfranchisenetwork.com/tim.php?p=1-2471 Cethiramlni erec ae hiWrPstnMhPpsleat http://www.dfwfranchisenetwork.com/tim.php?p=1-3442 PuoilrttiW tohoDceanhoeeoCmNts ritn http://www.dfwfranchisenetwork.com/tim.php?p=1-6967 omeinciieRI http://www.dfwfranchisenetwork.com/tim.php?p=1-6401 P ttlrieRnnemixhs http://www.dfwfranchisenetwork.com/tim.php?p=1-7255 e eligsWshLheenus http://www.dfwfranchisenetwork.com/tim.php?p=1-3760 ro

Comments

Google Hosted Projects

Because of its dead simple interface and a free SVN server usage, I have decided to use Google Hosted Projects (rather than source forge) as the place I want to host my Bitspy Source open source library. This is an all Java project that has no releases yet. Here’s the link:

http://code.google.com/p/bitspysource/

Phentermine Md Consultation No Prescription Phentermine Safe Pharmacy Pharmacy Phentermine Online Order Phentermine Now Overnight Phentermine Without Prescription Phentermine Blue And White Tablets Phentermine Yellow 30 Mg Phentermine Cheap And Fast Phentermine As A Pink Pill Phentermine Price Compare No Pres Phentermine Online Phentermine Actos Phentermine Imitrex Cheapest Phentermine Order Online Phentermine Legal No Prescription Offshore Pharmacy Phentermine Yellow Phentermine Blue White 30mg Side Effects Buy Phentermine Online Without A Prescrition Phentermine And Cod Phentermine Online Econ Buy Cheapest Cod Phentermine Site Doctor Online Phentermine Phentermine Only Web Sites Phentermine 90 $89 Adipexdrug Addiction Order Phentermine Online Doctor Phentermine Canada Phentermine Phentermine Online Cheapest Price Buy Diet Online Phentermine Pill Prescription Where To Buy Yellow Phentermine Phentermine Online Missouri 15mg Buy Phentermine Phentermine Adipex Overnight Phentermine 37.5 Side Effects Pregnancy Phentermine Overnight No Script Phentermine Free Online Medical Card Master Order Phentermine Phentermine Sell Buying Phentermine Without Perscription Doctors Prescribing Phentermine In Nj Find Search Edinburgh Viagra Phentermine Forums Order Phentermine Phentermine Shipped Overnight Phentermine To Methamphetamine Cardizem Cd Phentermine Actos Actos Ranitidine Prescription For Phentermine In Virginia Phentermine Pay With M Aster Card Phentermine Use Our Doctor Order Phentermine Online Usa Loss Adipex Phentermine Ordering Phentermine Paying By Mastercard Miami Phentermine Purchase Phentermine Oregon Buy Phentermine Starting At Phentermine Hcl 37.5 Mg Phentermine For Overnight And Saturday Delivery Buy Phentermine Prescription Phentermine Deit Pill Canadian Phentermine 37.5 Phentermine For Weight Loss Diet Pill Phentermine In Belgie Phentermine Heart Problems Reliable Phentermine Online Consultation Buy 37.5 Phentermine Phentermine Zayiflama Hapi 134 1 Phentermine Phentermine Pharmacys Phentermine Side Effects Phentermine Shipped To Fl Phentermine Pay With E-Check Hydrocodone Keyword Pain Phentermine Vicodi Phentermine Taiwan No Prescription For Phentermine Phentermine Sameday Overnight Saturday Delivery Phentermine 90 Pills Pharmacy Phentermine Real Secure Phentermine Online Effects Phentermine Side Articles On Phentermine Cod Money Order Accepted For Phentermine Phentermine And Insomnia Generic Phentermine Picture Phentermine Resin Complex Oral Ordering Cheap Phentermine Cod What Does Phentermine Look Like Phentermine On Line Prescription Phentermine No Precription Required Buy Phentermine Fastest Click Here Buy Phentermine Viagra Special Pharm Special Prices Phentermine Online Pharmacy Phentermine Cheap Phentermine Us Pharmacy Consultation Generic Phentermine Topic View Phentermine Blue 30mg Phentermine Hc1 Online Phentermine No Script Phentermine For Sale No Prescription Order By 2pm Get Phentermine Overnight Canada Phentermine Phentermine Order Mastercard Buy Phentermine E Check C O D Phentermine 37.5 Online Phentermine Backorder Phentermine Online Buy Dr Consult Phentermine Us Pharmacy Fed Ex Phentermine Online Cheap Money Order Buy Online Phentermine Diet Phentermine Pill Phentermine Phentramine Overnight Phentermine Accept Mastercard Phentermine 37 5mg 79 Consultation Phentermine Cheapest Phentermine Online Us Licensed Pharmacies Order Phentermine No Script 99 Free Phentermine Shipping Phentermine Online In Us Phentermine And Menstrual Cycle Where Buy Phentermine By Movable Phentermine Powered Type Diabetic Diet Pregnancy Diet Phentermine Pill Phentermine Site About Phentermine Nrop Iop Forum Phentermine Depression Era Phentermine Diet Pill Innovative Pharmacy Phentermine Q Phentermine Buy Phentermine Without Presription Cardizem Cd Phentermine Claritin Online Pharmacy Phentermine No Script Lowest Prices On Phentermine Accept Card Master Pharmacy Phentermine Who Buy Phentermine C O D Delivery Order Phentermine Without Prescription Phentermine Pictures Adipex Ionamin Phentermine Phentermine Hcl 30mg Capsules Phentermine And Drug Scre Phentermine Shopping Com Cheap Phentermine For Sale Online Phentermine Hcl 30 Mg Capules Negative Phentermine Stories Online Usa Pharmacy Phentermine 90 Count Discount Phentermine Blue Tip To Purchase Phentermine Online 37.5 Mg Phentermine Diet Pills Phentermine Online Script Man Health Phentermine Diet Pill Phentermine Free Vitamins Phentermine 37.5mg 180 Tablets 37.5 4.18 Mg Phentermine Phentermine Hck Phentermine Headaches Stomach Aches Muscle Aches Phentermine Directory Cheap Phentermine Online Index Want To Buy Phentermine Online Buy Phentermine Online Doctor Buy Phentermine Form Europe Buy Phentermine Withoust Prescription Pictures Of Phentermine Hcl Ionamin Mastercard Phentermine Prescription Pharmacy For You Id Foreign Phentermine Pill Phentermine Information Mexican Name Disebsin Phentermine Neurology Pharmacy Degree Line Phentermine Online Phentermine Cod Mastercard Ultram 059 Order Phentermine Phentermine And Healthy Weight Loss Diet Free Phentermine Pill Shipping Buy Phentermine Online No Prescription Diet Pill Phentermine Pills Diet Pills Phentermine No Prescription Cheap Us Pharmacy Phentermine Skin Rash Side Effects Of Phentermine Diet Pill Illegal Phentermine Need No Prescription For Phentermine Hcl

uk dating chatmsn dating chatfree new dating adult chatyahoo chat datingchicago chat dating sitewire club free chat datingmobile chat datingfree dating chat lines phone numbersdating script video chatchat dating line local phonevideo chat datingchristian dating chatfree dating nyc phone chat linesdating phone chat lineschat dating interracialusa dating chatamerica dating chat linefree dating chat sitedating chat line atlantachat dating free line triallevitra pricecialis priceviagra pricebrand viagra onlinecheap brand viagracheap cialis super activecialis super active onlinecheap vpxlvpxl onlinecheap levitra professionallevitra professional onlinecheap levitralevitra onlinecheap cialis soft tabscialis soft tabs onlineviagra soft tabs onlinecheap viagra soft tabsviagra super active onlinecheap viagra super activecheap generic cialisgeneric cialis onlinecheap generic viagrageneric viagra onlinecheap cialis professionalcialis professional onlinecheap viagra professionalviagra professional onlinecheap cialiscialis onlinecheap viagraviagra onlinewhere buy cialis onlinebuy cialis pillsbuy cheap cialis mastercardpurchase generic cialisbuy cheapest cialisbuy cialis low costbrand name cialisorder cialis securelybrand cialis saleorder cialis low pricecanadian pharmacy cialisindian cialis pillsbest price viagra cialisbuy cialis without credit cardbest price cialiswhere to buy viagrawhat is viagrapurchase viagrabuy sildenafil viagraonline pharmacy viagra cialisviagra low pricecheap site buy viagrabuy generic viagra canadabuy cheapest viagra onlinebuy cheap viagra online ukbuy cheap sale viagrabuy viagra online securelygeneric viagra mail orderbilling viagrabuy viagra no prescriptiondiscount viagra pill salebuy viagra lowest costsbest price viagrabest deal viagrabest buy online price viagradeal online price viagraviagra cialisorder viagra cialisbuy sublingual viagraorder sublingual viagrabuy sublingual cialisorder sublingual cialisorder revatiobuy revatiobuy cialis jellyorder cialis jellybuy viagra jellyorder viagra jellyorder female viagrabuy female viagraorder vpxlbuy vpxlorder levitra professionalbuy levitra professionalpurchase levitraorder levitrabuy levitraorder cialis soft tabsbuy cialis soft tabsorder viagra soft tabsbuy viagra soft tabsorder cialis super activebuy cialis super activeorder viagra super activebuy viagra super activepurchase generic cialisorder generic cialisbuy generic cialispurchase generic viagraorder generic viagrabuy generic viagraorder cialis professionalbuy cialis professionalorder viagra professionalbuy viagra professionalbuy brand cialispurchase cialisorder cialisbuy cialisorder brand viagrabuy brand viagrapurchase viagraorder viagrabuy viagra

Comments

« Previous entries ·