Thursday, May 1, 2008

Can There be a Viable Free Open Source Alternative to Magma, Maple, Mathematica, and Matlab?



For over a decade I have primarily done research in number theory that often involves computation, mainly using Magma. In 2004 I realized that it was stupid for me to continue building my work on Magma because Magma is proprietary, the development model is closed, Magma is expensive which is bad for students, and the language itself lacked many features (e.g., user defined classes) that I had requested repeatedly for over 5 years. Thus to continue to use only Magma unacceptably limited my potential in both research and education.

Having used Magma for many years, I simply could not switch to an existing open source system. The only serious free open source software for number theory is PARI, whose capabilities are far behind that of Magma in numerous critical areas of interest to me, including exact linear algebra, commutative algebra, and algebraic curves. And no other free system--GAP, Singular, Axiom, Maxima, Macaulay 2, etc.--even comes close in all these areas. In fact, after a decade of patiently waiting, I doubt they ever will.

Magma is the result of several decades of hard work by extremely talented fulltime mathematicians and programmers such as John Cannon, Allan Steel and Claus Fieker. I've worked with them and they are simply amazing. The situation seemed hopeless. If I had only never used Magma and tasted of the forbidden fruit...

In 2004, sure that there was no possible way to solve this problem, and driven by nothing but pure blind compulsion, I started the Sage project as my little free open source alternative to Magma, and spent an insane amount of time working on it even though I was utterly convinced that there was no hope of Sage ever succeeding. The first version of Sage consisted of the Python interpreter and a few scripts for doing number theory.

After a year, some of my first feedback from the computer algebra research community came from Richard Fateman on December 6, 2005 when he posted his opinion of the Sage project to sci.math.symbolic: ``By avoiding applications (say, to engineering design, finance, education, scientific visualization, etc etc) the activity is essentially doomed. Why? Government funding for people or projects will be a small percentage of the funding for pure mathematics. That's not much. And the future is pretty grim.''

Honestly, I believed he was right, but I just couldn't stop myself from working on Sage. It is now nearly three years later and the Sage project currently has around 100 active developers and 10,000 users. In November 2007, Sage won first place in the scientific category of the Trophees du Libre, which is a major international free software competition. Sage is funded by the US National Science Foundation, the US Department of Defense, the University of Washington, Microsoft Research, Google and private donations. Sage has new releases every two weeks, and typically 30--40 people contribute to each release. All new code contributions to Sage are peer reviewed, and every new function must be documented with tests that illustrate its usage. The docs have over 50,000 lines of input examples.

So what is Sage and what makes it unique? Sage is:

  1. a huge distribution of free open source mathematical software that is surprisingly easy to build from source,

  2. a set of interfaces to most other mathematical software systems, and

  3. a new Python library that fills in huge gaps in other open source math software included in Sage, unifies everything offering a smooth user experience, and provides a modern web-based graphical notebook interface with math typesetting and integrated 2D and 3D graphics.



Sage is the first large general purpose mathematics software system that uses a mainstream programing language (Python) as the end user language. Python--easily one of the world's top 10 programming languages--is a powerful and beautiful modern interpreted programming language with an organized and professional developer base and millions of users. Sage also makes extensive use of a Python-to-C compiler called Cython. Thus Sage has a tremendous advantage over every other general purpose computer algebra system, since Python has thousands of third party libraries, sophisticated support for object serialization, databases, distributed programming, and a major following in scientific computing.

Instead of reinventing the wheel, Sage combines many of the best existing open source systems that have been developed over the last 40 years (about million lines of code) with about 250,000 lines of new code. Every single copy of Sage includes all of the following software (and much much more):
  • Algebra and calculus: Maxima, SymPy
  • High precision arithmetic: GMP, MPFR, MPFI, quaddouble, Givaro
  • Commutative algebra: Singular
  • Number theory: PARI, NTL, mwrank, ECM, FLINTQS, GMP-ECM
  • Exact linear algebra: LinBox, IML
  • Group theory: GAP
  • Scientific computation: GSL, SciPy, NumPy, cvxopt
  • Statistical computation: R
  • Graphics (2d and 3d): Matplotlib, Tachyon3d, Jmol
Sage is thus the first system to combine together such a wide range of libraries and programs in a meaningful way. Instead this huge range of programs is tied together using Python's excellent extensibility via C libraries and using pseudo-tty's. Sage has a highly developed unified collection of pseudo-tty based interfaces that make it is possible to make extensive use of Maple, Mathematica, Magma, Matlab, GAP, Maxima, Singular, PARI, and many other systems from anywhere within a single Sage program.

Curious? If you want a viable open source alternative to Magma, Maple, Mathematica and Matlab, drop everything, try out Sage now and become a Sage developer.

http://www.sagemath.org

31 comments:

Sebastian Aviña said...

I've used SAGE, but it lacks the only feature I care about on Matlab: Simulink.

Matlab is great, because it's focused on the real industry: Control Systems, bind with MS Excel and Databases, LabView bind, compiler, data acquisition modules, video acquisition,and so on.

It's true Sage it's a great software, but if it doesn't implement what the average engineer uses on their work, it's going to be a classroom toy or research utility forever, and will never grow as Matlab.

Take as example R and SciLab, both cares about what the Engineers need, and both of them are very successfull in the industry.

artied said...

Hey! Sebastian - there's this new cool thing called 'open source' - it allows you fix whatever bugs you by and for your self.

Sebastian Aviña said...

do you really think I have time to write my own implementation of simulink on Sage?, and of course, once I'm done, I'll rely on it for simulating that controller for that inexpensive $2M reactor I'm working on.

By the way, do you know what is Simulink?

emil said...

I think SAGE is one of the best free software I've ever seen. I'm an italian guy and I study math, I discovered this software about 6 months ago, writing my thesis over ECC, ECPP & related algorithms, so you can easily understand why I think that SAGE is great. I don't know if, today, it can be a complete alternative to Mathematica, Matlab, etc., but I costantly see new releases, with amazing improvements (always with a complete documentation). I love using my browser as GUI, the use of Python as end-user language, and all the things you mentioned...what else?
I really believe in this project.

Pithawat said...

I've used Matlab for a long time now. I can see where Sage would be of great use, especially with making compiled code easily with Cython.

Matlab is a bit porky with small, tight inner loops that can't be vectorised, so this can potentially of great help!

And yes, simulink analogue would be nice too. Of course you can just fork out the money and buy it, but writing it yourself and you might also learn something (and profit!).

Lasse said...

I'm glad to hear that you've found a project that you feel comfortable further developing. No doubt your input will help bring Sage closer to your ideals and thus distribute any educational and / or research benefits to the global community (I imagine that many - like you used to - are waiting for them). While I realize that it might not mean much, please accept my gratitude and respect for doing work we will all benefit from.

reckoner said...

FYI, good showmedo tutorial here:

here

johnsterx said...

Hey Sebastian,

You do make excellent points both about the lack of features you require in SAGE and the unrealistic expectation that you should fix them yourself just because the system is open source.

However you do point out one interesting problem when you ask the other poster if they know what Simulink is. I don't know if they do, and I'm not a Sage developer (or a Matlab user), but I don't know what Simulink is.

You might help bring about the implementation of the features you desire by mentioning them (which you have done), and explaining what they are and why they're important (which you haven't done so much). Could you explain Simulink in a nutshell? Is it the MS Excel and database bindings you mentioned? Does SAGE have *any* of the capabilities you are looking for here which could be expanded, or is Simulink something completely different from whats in SAGE?

You might also want to share these thoughts directly with the developers either through their email or through a mailing list, as well as in these blog comments. After all, Stein in his background on SAGE mentions that a big part of his motivation for developing it was the lack of responsiveness of the developers of Magma. He'd probably be sympathetic with your requests for improvements, and you might see them happen.

mabshoff said...

Full disclosure: I am a Sage developer.

Of the four commercial products mentioned that Sage wants to become a viable alternative to the features provided by Matlab, especially the tools engineers care about, are certainly the most immature bits in Sage. Numpy and Scipy can do many things that Matlab users want, but the integration with Sage needs to and will become better and as more people with an engineering background start using Sage or become Sage developers this will improve. Sage is certainly strongest at the moment in more abstract algebraical things like number theory, but that is mostly since Sage was started by a number theorist.

Cheers,

Michael

Daniel said...

It's true that the state of the art in open source is often well behind commercial offerings because it is often the product of volunteer labor.

However, I doubt if a $2 million reactor design is flawed due to a bug in Matlab, Mathworks will not be compensating you for the problem. At best, you might get your money back, so your software will be gratis and flawed anyways. It is also unlikely that a company will fear having their reputation soured by such an event unless that company makes some extremely egregious error.

It is exciting to see the critical mass of scientific software that is taking shape, especially around Python. I use plenty of proprietary software such as Matlab, Labview, and Mathematica and I am continually frustrated at the clumsy ways, at best, with which one has to get these programs to interoperate. By basing programs on Python classes, hopefully one can just pick and choose the parts needed and stitch them into a single program.

przemek said...

The current reality is that there are two specialization areas: symbolic math (Mathematica, Maxima, Sage, etc) and numerical (mostly linear-algebra-based systems such as Matlab, Octave, Scilab. R, IDL, NumPy/SciPy, etc). Sebastian really uses Matlab's control theory toolbox Simulink, which is famous for having a GUI where you drag-and-drop standard control loop elements and link them in a graphical window. Simulink is well known and well executed; Scilab has a FOSS clone of it.

I would suggest looking at Octave, which is a FOSS Matlab clone. It implements many control theory functions of Matlab, but it doesn't have it's GUI. Still, someone working in this area on Matlab should be able to use Octave productively as well.

Octave is quite well established (it is a standard Debian and RPM package available easily in their respective distributions. It is also available for Windows and Mac
from the Octave web site

Simon said...

daniel said:
"...I am continually frustrated at the clumsy ways, at best, with which one has to get these programs to interoperate. By basing programs on Python classes, hopefully one can just pick and choose the parts needed and stitch them into a single program."

Not just "hopefully" -- it actually works, and this is why i like Sage!

One of my projects is about cohomology rings of finite p-groups. It comprises:
- groups: Sage contains GAP!
- C-programs written by my boss: Sage can incorporate them due to Cython!
- Gröbner bases in graded-commutative rings: Sage contains Singular!
- my own code: Sage has a decent programming language, namely Python!

And all these components work together in a very smooth way.
"Smooth" means: If you define an ideal I in a multivariate polynomial ring, then I.groebner_basis() computes a groebner basis. It uses Singular in the background, via an interface, but on the surface it "feels" like ordinary python.

And, if you have a Magma licence, you also have an interface that makes Magma usable within Sage.

Finally, Sage is open source. This is how i came into mathematical computations: Look at the code that intelligent people produced, and learn...

Daniel said...

There's a pedagogical element that hasn't been discussed much in this thread. I'm an undergraduate math student just on the verge of grappling with any substantial limb of the mathematical field. I'm also interested on computation, practical and theoretical. As I'm reviewing my options for capstone and personal projects, I am bearing in mind how to ensure that such project test my mathematical aptitude, provide grounds for expanding my understanding and interest, as well as create a basis on which future (educational and other) pursuits might be based.

I've been a fan, but not quite a user, of SAGE for at least a year now. I keep up, more or less, with the groups and the releases. It recently occurred to me that I could hit all these points by building a project around SAGE, with the very nice bonus that I could contribute to a project I greatly admire. Further, developing a facility with Python in conjunction with its fruitful application to mathematics makes my CV a bit more impressive. This last isn't trivial; I'm a nontraditional student with a family, a mortgage, and all the other trappings of adult life. One of the shorter paths to interesting and fulfilling endeavors and employment, for me, includes SAGE.

That is to say that, in addition to its growing utility for established mathematicians and engineers, SAGE offers a singular opportunity for students to learn and contribute to the mathematical community. I don't anticipate Wolfram, Mathworks, etc. being so open to user-contributed work; and the licensing wouldn't be open.

Just my two cents. Thanks to the SAGE team.

Daniel Black

iMath said...

I don't have doubts about Sebastian's real need to use Simulink or other tools. But often I have observed that managers in companies or even some people in academic institutions buy packages like the M-tools simply because someone else is paying for it. There is also the belief that simply because you are paying a lot of money, the package must be more reliable (than an academic toy developed by some hobbyists for classroom demo). But most such thinking is quite shortsighted or completely wrong. A lot of companies and academic institutions can save a lot of money (while getting some rewarding work done) by actively incorporating and developing tools like Sage in their institutions.

There are other issues which engineers would probably not appreciate. They are happy designing their reactors or aircraft wings using the M-tools. But in basic sciences such as pure maths, we simly cannot accept a computer assisted proof if the programs were developed in one of the M-tools especially if we cannot verify these results by other means. For this idealogical reason alone it is worth the effort to develop tools such as Sage. And for all you know, you might not be able to run your own programs after a few years if you wrote your programs in one of the proprietary tools. Are your results valid only as long as you have a license to the tool you used? I wonder how many people have such irreproducible results in their collected works. I think results obtained with open source tools will have much longer shelf life - beyond the life of the open source tools themselves.

Personally Sage inspires me. Just following their sage-devel group is quite stimulating. In my work I never had to compute, but Sage makes me want to compute. Now when I prove a result or before I prove it, I think "can I compute with a few small examples and illustrate my result or conjecture?". I think I will attempt to do that and I hope I will contribute to such a project some day.

I am greatly optimistic that Sage will be successful like TeX, linux, Wikipedia, ...

Psmith said...

hi, Ive been following SAGE for a year now, and I have been tinkering around in it.

BUT, as an electronics engineer currently working in photonics, there is really not much in sage that could make my life easier, or replace the dominant role that MATLAB has played in most of my computational work.

However, since I started on my masters degree in photonics, I observe that a lot of the tools developed my the research group I work in are in python. they basically involve solving maxwell's equations in various structures and plotting the results and are based on numpy, scipy, matplotlib etc. Given this, I was surprised by how difficult it was to find a good way of numerically solving differential equation in sage. there is never more than one short page about it in the documentation, and its never terribly useful.

really, some one needs to look into this, and do something for us engineers. Id try and contribute myself, but to be honest, Im not much of a coder. would be nice to try though.

and keep up the good work !

wdjoyner said...

I'm not sure what DEs Psmith (presumably a Wodehouse fan:-) wants
but there is a preliminary draft of a book on DEs and Sage at
http://sage.math.washington.edu/home/wdj/teaching/index.html
That is certainly more than "one short page" but may not be useful.
If he wants numerical solns of PDEs then I can't help him.
In fact, the only higher order PDEs dealt with are the heat and wave equations.
DEs is a big topic and it would be helpful if he would explain what
he wanted.

products said...

China Wholesale has been described as the world’s factory. This phenomenom is typified by the rise ofbusiness. Incredible range of products available with China Wholesalers “Low Price and High Quality” not only reaches directly to their target clients worldwide but also ensures that wholesale from china from China means margins you cannot find elsewhere and buy products wholesaleChina Wholesale will skyroket your profits.

products said...

Women’s nike tn Shox Rivalry est le modèle féminin le plus tendance de baskets pour le sport. tn chaussuresConcernant la semelle :Cheap Brand Jeans Shop - True Religion Jeans nike shoes & Puma Shoes Online- tn nike, le caoutchouc extérieur, l’EVA intermédiaire et le textile intérieur s’associent pour attribuer à la.ed hardy shirts pretty fitCharlestoncheap columbia jackets. turned a pair of double plays to do the trick.Lacoste Polo Shirts, , Burberry Polo Shirts.wholesale Lacoste polo shirts and cheap polo shirtswith great price.Thank you so much!!cheap polo shirts men'ssweate,gillette mach3 razor bladesfor men.As for

rjf said...

Self praise is no recommendation.

Maybe the viable free open source alternative to M,M,M,M is Maxima, for symbolic math. Octave for Matlab, and GAP for Magma. Actually, I have no particular use for Magma or GAP, and so the differences between them are not as important to me as to Prof. Stein.

One important difference to some people: Maxima runs natively on Windows; Sage does not.

As for the future, time will tell.

Richard Fateman

Ba Bugil Le said...

great mathematics open source software. thanks for the article.

bing shen said...

1
http://www.12hot.com

1)
polo shirts

polo shirts supplies.wholesale polo shirts with great price. 12hot.com offers lot of 10 polo shirts and lot of 20 polo shirts. 12hot.com offers classic fit polo shirts.polo clothing All our shirts made in original factory.

2)
spyder jackets

12hot.com offers spyder jackets :
MENS' Spyder white&red REMOVEABLE CAP and SLEEVES SKI SUIT JACK
MEN'S SPYDER GRAY REMOVEABLE CAP SLEEVES SKI SUIT
MEN'S SPYDER BLACK REMOVEABLE CAP SLEEVES SKI SUIT JACKET
MEN'S SPYDER BLUE REMOVEABLE CAP SLEEVES SKI SUIT Jacket
MEN'S SPYDER WHITE REMOVABLE CAP&SLEEVES SKI SUIT Jacket
MEN'S SPYDER RED NEW STYLE SKI SUIT Jacket

3)
north face jackets

north face jackets,north face jacket. Here is a black The North Face Women's mountain jacket .

4)
Women's Sky Blue The North Face Original Twinset Parka/Jacket

This is a style of sky blue The Women's North Face outdoor and mountaineering apparel .The North Face offers advanced fabrics and technologies for all-weather performance and protection during demanding outdoor action. The design adds darts at the elbow, allowing for easier arm movement and a full range of motion. The internal wind skirt effectively keeps snow and wind out.
100% Omni-Tech!
100% SATISFIDE YOU!

2
http://www.polocart.com

1)
polo shirts

new polo shirts,polo shirts,polo shirt,Ralph Lauren polo shirts,polos .Paypal payment. we have best price.Welcome to wholesale Lacoste polo shirts

3
http://www.polosales.com/

1)
cheap polo shirts

Buy cheap polo shirts,polo shirt,lacoste polo shirts,ralph lauren polo shirts,wholesale polo shirts

4
http://www.superpolos.com/

1)
Lacoste Polo Shirts

Retail and Wholesale Lacoste Polo Shirts Cheap Lacoste Polo Shirts Polo Shirts Cheap Polo Shirts at cheap price with PayPal free shipping



6
http://www.bootsboots.co.uk

ugg boots

UGG short Boots
UGG 5245 tall Boots
UGG 5325 classic Boots
UGG 5359 womens Boots
UGG 5815 tall Boots
UGG 5819 womens Boots
UGG 5825 short Boots

7
http://www.chiflatiron.us

chi flat iron

chi flat iron
InStyler rotating hot iron with a heat resistant carrying bag
New BLUE CAMO CHI Camo Colletion 1" flat iron
New CHI Turbo 2 Big Flat Iron
New GREEN CAMO CHI Camo Colletion 1" flat iron
Black CHI Ceramic Flat Iron Original Farouk Hair Straightener
8
http://www.thehairstraighteners.com

CHI hair straightener

Very Cheap! www.thehairstraighteners.com is a professional supplier to supply CHI hair straightener Welcome to wholesale hair straighteners at www.thehairstraighteners.com.
CHI Straightener Blue Camo
CHI Straightener Green Camo
CHI Straightener Pink Camo
Original CHI Hair Straightener
CHI Turbo Big 2-Inch Hair Straightener


9)
http://www.jacketscart.com
jacketscart

spyder jackets
new discount spyder women's insulated ski jacket in orange
2009 new women's syder jackets insulated in white and red
women's discount spyder ski jacket insulated in red
women's cheap spyder ski suit insulated in pink
brand new men's spyder ski jackets in gray

theprophet said...

sneakers shoes She continued,
"Why...? Don't you need someone to pose as your girlfriend this year?" Then he answered, "No, there is no need for that anymore......"
Before he can continue, he was interrupted, discount nike shoes"Oh yes! Must have found a girlfriend! nike shox r4 You haven't been searching for one for the past years, right?" The man looked up, as if he has struck gold, his face beamed and looked directly at the drunken girl. tn dollarHe replied, "Yes......you are right! I haven't been looking for anyone for the past years."
With that, the man darted across the floor and out the door, cheap nike shoesleaving the lady in much bewilderment. He finally realized that he has already found his dream girl, and she was.....the Vancouver girl all along! The drunken lady has said something that awoken him.
All along he has found his girl.nike tennis shoes That was why he did not bother to look further when he realized she was not coming back. It was not any specific girl he was seeking! cheap nike shoxIt was perfection that he wanted, and yes.....perfection!!
Relationship is something both parties should work on. Realizing that he had let away someone so important in his life, he decided to call her immediately. His whole mind was flooded with fear.free shipping shoes He was afraid that she might have found someone new or no longer had the same feelings anymore..... For once, he felt the fear of losing someone.
As it was Christmas eve, the line was quite hard to get through, especially an overseas call. He tried again and again, never giving up. Finally, he got through......precisely at 1200 midnight. He confessed his love for her and the girl was moved to tears. nike shoes It seemed that she never got over him! Even after so long, she was still waiting for him, never giving up.
He was so excited to meet her and to begin his new chapter of their lives. He decided to fly to Vancouver to join her. It was the happiest time of their lives! nike discount shoes But their happy time was short-lived. Two days before he was supposed to fly to Vancouver,cheap puma shoes he received a call from her father. She had a head-on car collision with a drunken driver. nike shox shoes She passed away after 6 hours in a coma.
The guy was devastated, as it was a complete loss. Why did fate played such cruel games with him? He cursed the heaven for taking her away from him, denying even one last look at her! How cruel he cursed! How he damned the Gods...!!nike free shoes How he hated himself....for taking so long to realize his mistake!! That was in 1996.
The moral of this story is :
Treasure what you have...
Time is too slow for those who wait;
Too swift for those who fear;
Too long for those who grief;
Too short for those who rejoice;
But for those who love...
Time is Eternity.
For all you out there with someone special in your heart, cherish that person, cherish every moment that you spend together that special someone, for in life, anything can happen anytime. buy shoes onlineYou may painfully regret, only to realise that it is too late.

season said...

This article is very good,I like it !
The fall is approaching.We should take exercise to keep fit.
Let's do sports together.
Firstly,We should choose some comfort shoes.
puma ferrari shoes
cheap nike shoes
nike shox nz
Ugg Boots
cheap puma shoes
puma drift cat
cheap nike shox
nike air max 360
nike air max
pumas shoes
puma shoes
ferrari shoes
nike 360 air max
nike shox shoes
What's more some beautiful
cheap jeans
cheap levis jeans
ed hardy jeans

lady said...

I like the side of the article, and very like your blog, to write well and hope to continue their efforts, we can see more of your articles. ed hardy clothes. After reading this article has strong feelings, the future will be Changlaikankan's.ed hardy swimwear. polo hoodies
ed hardy jeans
ed hardy
ed hardy clothing
ed hardy t-shirts
ed hardy clothes
ed-hardy.co.uk
ed hardy shirts
ed hardy mens
ed hardy womens
ed hardy sunglasses
ed hardy swimwear
ed hardy Jeans
ed hardy hoodies
ed hardy bags
ed hardy trousers
ed hardy shoes
ed hardy sunglasses
ed hardy suits
ed
hardy
ed hardy dresses

nike said...

Truely a nice blog and thanks for your great work. By the way,welcom to our websites: puma shoesandEd Hardy. We provide cheap sport shoes which are brand new and in perfect condition but on discount, including the popularNIKE SHOX TORCH, puma mens shoes , cheap nike shox shoes and so on. Nothing would be more suitable than the nike shox r4 and Nike air max tn for the people like runing. Authentic Nike Air Max Tn ,nike tn dollar and cheap puma shoes are available on our sites. the nike shox shoes is fitting to running. Wholesale and retail are both acceptable to us. Welcome to our site and free to look! Thank you and wish you a nice day. Good Luck!
As we all know, Ed Hardyis the world famouse clothing brand famouse for the ed hardy jeans, ed hardy clothing, ed hardy t shirts for men,mens edhardy jeans,womens edhardy boots , ed hardy womens t shirts. All of the product of ed hardy are popular around the world. In addition, the ed hardy accessories such as edhardy sunglasses,edhardy hats,edhardy womens handbags are also available on our sites. For the youth who like to pursue fashion and show their personalities, the Ed Hardy Hoodies, ed hardy christian audigier, Ed Hardy Trousers, , ed hardy dresses, ed hardy love kills slowly shirt, ed hardy womens t shirts, ed hardy t shirts sale are necessary. Do NOT miss it! Wholesale and retail are both acceptable to us. Welcome to our site and free to look! Thank you and wish you a nice day. Good Luck!

nike said...

Truely a nice blog and thanks for your great work. By the way,welcom to our websites: puma shoesandEd Hardy. We provide cheap sport shoes which are brand new and in perfect condition but on discount, including the popularNIKE SHOX TORCH, puma mens shoes , cheap nike shox shoes and so on. Nothing would be more suitable than the nike shox r4 and Nike air max tn for the people like runing. Authentic Nike Air Max Tn ,nike tn dollar and cheap puma shoes are available on our sites. the nike shox shoes is fitting to running. Wholesale and retail are both acceptable to us. Welcome to our site and free to look! Thank you and wish you a nice day. Good Luck!
As we all know, Ed Hardyis the world famouse clothing brand famouse for the ed hardy jeans, ed hardy clothing, ed hardy t shirts for men,mens edhardy jeans,womens edhardy boots , ed hardy womens t shirts. All of the product of ed hardy are popular around the world. In addition, the ed hardy accessories such as edhardy sunglasses,edhardy hats,edhardy womens handbags are also available on our sites. For the youth who like to pursue fashion and show their personalities, the Ed Hardy Hoodies, ed hardy christian audigier, Ed Hardy Trousers, , ed hardy dresses, ed hardy love kills slowly shirt, ed hardy womens t shirts, ed hardy t shirts sale are necessary. Do NOT miss it! Wholesale and retail are both acceptable to us. Welcome to our site and free to look! Thank you and wish you a nice day. Good Luck!

peter said...

After sex toys series,a sex toys shop of,board adult toys determined,company adult shop past,Yahoo's sexy lingerie week,meetings vibrator person,decision sex toys products below,any strap on share,over adultshop advantage,could dildo offer,the Malaysia sex toys regulators,trying Singapore sex toys digging,massively sex toy $31,that Condom said,takeover sex toys battle,wooden Sex Toys, Condom,sexy lingerie stand,word delivery stand word Sex Toys Adult Shop Singapore Malaysia delivery,committed to Sex Toys Adult Shop Singapore Malaysia certain,school Sex Toys Shop Singapore Malaysia products,Buy Sex Toys Adult Shop Singapore Malaysia Now,Peter Sex Toys Adult Shop Singapore Malaysia note,balloon Sex Toys Adult Shop Singapore Malaysia drama,hot girl Sex Toys Adult Shop Singapore Malaysia want,

peter said...

情趣,情趣商品取,的情趣用品,情趣商品方,勞情趣商品露,她情趣心,野情趣內衣奴,美人情趣用品露,邊無線跳蛋人,錢充氣娃娃待,聞跳蛋戰,名按摩棒服務,保守逼真老二自,願SM情趣財,政自慰器當,中天堂遊戲情趣用品講,出角色扮演服對,其成人情趣商品他,檔自慰用品切,爾後庭棒西,經情人禮品營,一情趣精品高,

nike said...

Truely a nice blog and thanks for your great work. By the way,welcom to our websites: http://www.shoxsport.com and http://www.ed-hardy-clothing.us . We provide cheap nike shox shoes which are brand new and in perfect condition but on discount, including the popularNIKE SHOX TORCH, nike sports shoes , cheap sport shoes and so on. Nothing would be more suitable than the nike shox r4 and Nike air max tn for the people like runing. AuthenticNike Mens Shoes ,nike tn dollar and cheap puma shoes puma shoes , cheap nike shoxare available on our sites. the NIKE WOMEN SHOES is fitting to running. Wholesale and retail are both acceptable to us. Welcome to our site and free to look! Thank you and wish you a nice day. Good Luck! As we all know, Ed Hardyis the world famouse clothing brand famouse for the ed hardy jeans, ed hardy clothing, ed hardy t shirts for men,mens edhardy jeans,womens edhardy boots , ed hardy womens t shirts. All of the product of ed hardy are popular around the world. In addition, the ed hardy accessories such as edhardy sunglasses,edhardy hats,edhardy womens handbags are also available on our sites. For the youth who like to pursue fashion and show their personalities, the Ed Hardy Hoodies,ed hardy womens clothes, Ed Hardy Trousers, , ed hardy ugg boots, ed hardy swim suit, ed hardy womens t shirts, ed hardy shoes wholesale are necessary. Do NOT miss it! Wholesale and retail are both acceptable to us. Welcome to our site and free to look! Thank you and wish you a nice day. Good Luck!

yi said...

Hello, everybody. I am a new hand to be here. So nice to meet you all
!...... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

liu said...

I like your blog, it's very good!
By the way, do you like spyder down jackets, I think they are very fashionable and chic, especially the spyder ski jackets, I love them so much. In my spare time, I also like playing tennis rackets, it can keep healthy, what do you like to do?
kids north face jackets
polo vest
polo jacket
abercrombie fitch mens shirts
polo jackets for men
polo jackets for women
burberry shirts for men
polo hoodies for women
columbia jackets women
polo sweatshirts for women
north face jackets on sale
polo shirts for women
polo shirts wholesale
spyder jackets
ralph lauren polo shirt
polo pants for men
abercrombie fitch shirt
wholesale abercrombie fitch shirts
polo vests
polo jackets
polo hoodies for men
burberry shirts for women
burberry shirts on sale
polo shirts for men
north face jackets cheap
north face jackets for women
north face jackets for men
polo sweatshirts for men
columbia jackets for men
columbia jackets discount
spyder jackets for men
discount spyder jackets
cheap spyder jackets
spyder jacket
spyder jackets for women
tennis rackets
cheap tennis rackets
discount tennis rackets
tennis rackets on sale
prince tennis racquets
head tennis racquets
wilson tennis racquets
babolat tennis racquets