Saturday, June 14, 2008

Check out my package

Another luser mantra that makes me cringe: "Linux has an awesome software packaging system."

If someone does tell you that, make sure you penis-slap him or her in the face. They deserve it. Don't have a penis? Here, use mine. There's more than enough of it to go around.

So lets take roll, shall we? RPM? Deb? tar.gz? ebuild? Oh, there's only four of you? Oh, that's not so bad, right?

Oh but these guys don't really do dependencies. I mean, they can express that they require fifty thousand other library packages, but you know that's just really for fun. It lets us break big things into small, because we like small things. We like wasting our weekends away to save our users 10 cents worth of disk space when they install software.

Hmm, this is hard. Let me think about it...

Oh, I got it! Let's make a system on top of the packages that manages the dependencies. Better yet, lets make tons of them! Why re-invent the wheel you say? Simple: Why not?

We'll call one yum, we'll call one apt, we'll call another one apt-rpm, oh, then this other guy ports and portage, oh, oh, and then we'll create complex awesome gui tools around them that are all different.

Now that we have so many choices users will have to come our way! Our market research says they looove love love packages!

Say what now? you want to distribute your software in the same form as our packages? That's easy. Just give us your source! What? go fuck ourselves? Well you guys go fuck yourselves then!

Sorry, I got a little emotional there. Seriously, you don't have to give us your source. Just use the same package format. We're one of the 5 biggest Linux distributions out there, so you should definitely make packages for us. I mean, we have 20% of 2% of the desktop market! Besides, we use the industry standard: RPM.

Oh but sorry, the RPM you made for Redhat doesn't exactly work on ours.. see we have a different version of a library you depend on, you see?

Oh and double sorry, that RPM you made for our last release? doesn't work on our new release, because we changed the name of libass to libderriere, because ASS Inc. filed a suit against the upstream project.

Oh and triple sorry, if you have a 64 bit version, that's a different package too.

If you still think packages on Linux are the hottest shit since Laura Bush, you need to please go away. Unsubscribe from my RSS feed this instant. Please don't click on my ads even. I don't want your charity.

You fucktards put so much work into making fancy dependency solving package installation mechanisms (many different ones that all do the same thing, at that), and all this time you didn't actually make it any easier to ship software for your platform. Well done guys, well done.

74 flames:

Anonymous said...

Let's not forget how some distros feel the need to slap a bunch of packages into a metapackage so that if you only want some of the packages (or even just one) you're only choice is to install the whole fucking metapackage. I'm looking at you, Debian.

Corey said...

Lol. I gotta say you hit the nail on the head. Packages are great but the leave a hell of a lot to be desired. .deb is the best of the bunch but it still has depedency problems and hasn't been improved upon in years. RPM is even worse. I'm hoping something like arch's pacman or foresight and rpath's conary reaches that 20% of 2% some day (although I hope by then its at least 25% of 3%)
Also I want to say that I love linux and still believe it to be the best OS at least for myself. That said it is far from the pinnacle of computing perfection us lusers believe it to be and It's a good service you're doing puting us in our place with your blog... on blogger ... on linux. ;-)

Vadim Peretokin said...

*yawn*

Double click on a .deb -> Click 'Install Package' -> done.

It's as simple as 1,2,3 moron.

OH WAIT. It gets even better. Applications -> Add/Remove. Oh snaaaap! You're loosing your geekiness.

Vadim Peretokin said...

Tho that was a pretty good saturday rant, better than the last post.

Don't have a better way to spend an evening? =)

Paul Hoffman said...

Somewhere between Linux packaging hell and MacOS "drag into the Applications folder" is the FreeBSD ports/packages system. I have found many packages with dependencies that take a lot of tinkering on Linux distros (particularly Red Hat) will make painlessly on FreeBSD. As for patches, FreeBSD seems to be on par with typical active Linux distros.

Anonymous said...

Yay, a post with relevant content! I almost thought you'd forgotten about those.

Part of the problem is that, with all the distros disagreeing on where to keep files and configurations and what to name, there is no way for a program to check to see if something else is installed the way there is in Windows or OS X.

Does anyone have a solution? Perhaps encourage software developers to come up with their own system of installation and removal, while giving a big "Fuck you" to the 'tards who insist that each package be prepared according to their distrolet's standards?

@anonymous (first post):
Dumbass, you 1) missed the point of the blog post almost entirely, and 2) must be clueless about aptitude. Just because aptitude now installs recommends by default doesn't mean you're forced to use the default behavior.

Debian:1 You:Fucktard

Anonymous said...

Vadim obviously misses one of the most important implications here... What he describes works on a few of the many distros, and only once a package has been successfully created for that particular distro, which is no trivial task. And he's fucking stupid enough to call LHB a moron, *smirk*

As a software developer, I don't want to deal with this shit. Even worse, there are countless *thousands* of other developers who also don't want to deal with this shit.

Linux is very developer-friendly in some respects, but it's far from friendly when it comes to deployment, and that hurts the adoption rate in a fundamental way.

Abel Cheung said...

For the first time I successfully guessed completely what comments would look like. Time to deliver my KO blow to those fucking stupid bastards who do no good to society except cutting their own throats off.

1. Is there anything more than "deb rulez" and "rpm rulez"? Those clueless beings don't even know what deb and rpm are before yelling hellishly loud. Disturbs my pee.

2. There's no such thing as [insert your package format] rulez. All depends on quality of the work of packagers. We have well-done deb package; we have crap deb package. We have well-done rpm package; we have crap rpm package. Now I have listed the possibilities, those IQ 0 should also understand now?

3. Right now the situation is crap packagers outnumber skillful ones. They just put thing together with bubble gum and band-aids; don't expect those packages would be usable or installable except on the packager's own testing machine. Regardless of whichever format rulez, you clueless.

4. Many of those crap packagers like to be fashionable. They make sure software aren't installable without every shiny newest library, or maybe svn ones or unreleased ones too, regardless of software's own requirement. I can hear backporters cursing packagers every single day, those bastards are making people's life difficult.

5. Once a package worked fine for maybe 1-2 release, packagers start being ignorant. They let config files or important files slip through, because they don't want to test the thing anymore. As example, I have never seen any single distro created correct gnome-games package for more than 3 months without making mistakes.

6. (This is specific to deb) Those old-school fucktards like to create mega-patch for deb packages. What's the deal? Simple. They make sure nobody except themselves can maintain the package. What if they leave Debian? (Oh sorry, I forgot Debian developers are life-long fame) No, nobody would ever want to take that package anymore. Or just start from scratch.

7. (Specific to rpm) LHB talked about the rpm hell. But you know what? Library incompatibility isn't enough. Packages can be incompatible to a distro even though libraries match. Just a simple case: file location mismatch is enough to be fatal. And we are still talking LSB blah blah blah.

8. It's difficult to describe how corrupted the process is for distinguishing package between "official repository" and "contributor repository" for some distro. For example, probably some distro still ships that 80's xxgdb (anybody seen that in action?) as default package, or other package nobody is using. There are several possible reasons behind:
-- One single most powerful lord wants it in
-- Nobody bother to remove old stuff
-- People just keep talking about removing old stuff but do nothing

9. Heading to the corruption department. Want to help packaging? Learn how to use those build machines first. What are they? Full of untold scripts, maneuvered settings not found elsewhere, so anything built by those machines may not be buildable elsewhere. Somebody said they want to rebuild? Simple. Reply them: "Why would you want to do this anyway? Nobody would build such thing by themselves. Shut up bitch, or just don't use the distro." Yet those suckers distribute all the source packages, for people's compile pleasure.

10. Talking about 1-click install? Those clueless lower life form again. Those little desktops are their world. They don't ever need anything more than those small menus and icons. Indeed, they haven't left their little basement for whole life, so they got no idea how the world works when there is no 1-click install thing on other computers.

11. More on corruption department. Maintainership of package introduces feudalism. Invididual maintainers start to feel like they are lord of some pieces of land. Some start to think they are ruler. Anybody else wouldn't be experiences as they are, and they definitely don't want others to touch their precious personal properties, even when those are bug fixes. Oh yes, whether something is bug fix depends on personal opinion anyway. But other opinions are nothing anyway.

12. It's not easy to have packages done right, long time of testing, repeatedly and repeatedly compiling from scratch, several or more times of installing and uninstalling, everything is done by single person or at most 2 (3 persons? usually 2+1=1 rather than 2+1=3). Think about packaging complex software like php. They did marvelous job, yet still, the packages fail from time to time. On the same platforms touted to be able to 1,2,3,done by cluelesses.

Start to feel like I'm writing article now, time to stop, though I can still go on and on.

Anonymous said...

thank you for bringing the packaging mess to people's attention
your blog has been talked about on many linux people's blogs recently

hopefully people will pay attention to your words and work together to reduce the mess

Anonymous said...

You are starting to get some fans in planetsuse.org. But I should say I don't like your blog so much.

In this case. There exists a problem because of the lack of binary compatibility between distros (or even different versions of the same distro)? Yeah, sure. But it has little to do with packages.

What would had happen if package formats and dependency resolution software were never invented?
Well, probably the same than on Windows. People would distribute their software in zip files or with something similar to the .msi files.
So, in this situation, would Linux binary compatibility be any better? NOOOOOOOOO. So why are you attacking packages?

I must say a good number of your post are the same. Yes, you see a real problem, but then you miss the point and start attacking something that has nothing to do with that problem.

h1d said...

whats up with people who say 'dont use it if you dont like it' when someone complains or make a critic, its like kids crying to mom who just got his toy laughed at.

and those people who think foss way of software engineering is the way to go needs to go back to high school and learn again, coz its not working as simple as they think. it needs good motivated people instead of free coders/loaders, source being just open doesn't cut it at all but since people are stupid enough to blind themselves from the truth that what's making attention to foss is the free of price and not the freedom itself. and it doesnt have to be free in the first place, and now devs are starting to realize free cost apps are choking themselves, i see a lot more 'i beg your money through paypal please' button more than before even on informational sites. do any college teach about economics these days or they just play games during classes?

morphado said...

Thanks really for this post, can you imagine the situation of a linux user without a direct net connection to his computer,

Anonymous said...

I'll tell you what I need as a Linux (ugh) ISV:

1. a flexible build environment, where I can safely cherry pick gcc/g++ 3.3, 3.4, 4.0, 4.1, 4.2, automatic cross compiling to other archs like ppcXX, amd64 (learn from Mac OS X) would be a nice bonus
2. a nice way to select features that I need from X.org - antialiased fonts, xinerama, etc., so it finds the oldest possible X.org ABI for me (the same goes for glibc)
3. a reasonably comprehensive collection of OSS libraries, which then get compiled in the described clean environment (primarily stuff like openssl, Qt/Gtk, libpng, you get the picture)
4. a powerful packager, which takes my binaries and required libraries and generates all the distro specific crap for me (like rpms, debs, hooks for installing system daemons, .desktop files for gnome/kde/...) in one go, but don't generate rpms for each goddamn micro revision of each distro, package should autodetect the differences in pre/postinstall section
5. ensure that when my customer clicks on a link to my rpm/deb/whatever package in the web browser, the package manager opens up and installs my application (yes, even some major distros fuck this up, I think opensuse kde is guilty here, but it may be some other distro)
6. generate distro specific repository crap for me automatically, so when the customer installs my app., our company's repository will be added to the customer's package manager and the customer will receive updates (some flexibility would be needed here, because the customer will be able to get updates only up to a certain date, according to his license expiration date)
7. as a bonus, provide a single desktop icon applications support, so when the customer downloads my app. to his desktop, he doesn't have to install it, just double-click it and it starts

I would post this to distros' mailing lists, but I know I would be flamed to death, especially on point 3.

jc-denton said...

hahahaha! love your blog :D

Anonymous said...

Also, about point 3. - the controversy exists because the distros patch upstream source to death. In my opinion, they should talk to upstream* to add certain hooks, so they can plug in distro specific stuff on the fly and my clean-room version of library would still be able to pick up the distro specific changes. But this is probably not doable in current autoconf --with-crap #ifdef hell, so we are back to square one.

* or other distros when upstream is not responding

Vadim Peretokin said...

Here are the most dumbed down instructions for distributing your software on Linux:

If it's closed source:
1) Make an installer wizard. Like you do on windows. If you did one there, you should be able to do one here.

2) Ship it as an archive. Right-click on the folder, and select 'Create Archive'.

Wow, was that hard? Backbreaking? No, it gets even better.

If it's open source:
1) Do nothing. People will do all the work for you.

Oh, my, god. That was sooooo hard to do.

Anonymous said...

Those who said Linux is communist, were right -- but for the reasons. The big distributions -- the party -- has de facto central over software distribution. It is difficult for individual authors to distribute their software directly to users. And the centralised distributions modify your software, and expect you to deal with their users using modified and unrenamed software, often many years old development snapshots. That's Linux for you: distros are everything, individual authors nothing.

Anonymous said...

Vadim (and all the others who bother to post non-solution bullshit in comments): read my 7 points and tell me about the system, which resolves the issues which a typical ISV faces

Diego Calleja said...

What about the advantages, like not needing to code a software updater in every fucking 3rd-party app (and some times even in 1st part app, like messenger). And you're lucky if the application codes it. That is what it got me into Linux, not needing to visit web pages to get my software updated....

Anonymous said...

Read the point 6. again.

h1d said...

most clever mac devs also implement such feature to update their software through integrated interface than go and check web page every now and then do download, unpack, run, install procedure. not to mention, many apps are shareware to keep them going on than one day, they get dried up with their motivation and only way of saving themselves would be putting 'donate me pretty plz' button on web page, because going shareware suddenly will scare the users.

and unlike linux, core part of the OS is handled by integrated, controlled and managed bunch of people/plan/engineering and they don't just break random apps just because you run software update. not to mention sounds don't stop working with it.

h1d said...

i dont mean just the kernel, but the gui framework and api and whatever.

Anonymous said...

vadim, saying a problem doesn't exist doesn't make it so.

RE: creating an installation wizard, even most Windows ISVs do not deal with this. They use InstallShield, independently developed. Creating a viable installation wizard for multiple distros is a non-trivial task as others have pointed out.

RE: distributing a binary archive. Yeah, because who needs menu shortcuts and who doesn't like having applications sitting in their home folder?

RE: wait for someone else to do it for you. Are you shitting me?

Vadim Peretokin said...

- There already are cross-distro installers.

- Hey, that's an added feature of the packagers. Use the wizard if you don't want to make them.

- No, there are a lot of assholeish projects that do this.

Anonymous said...

You mean autopackage? Autopackage doesn't work - when the user double-clicks the icon (or he opens it in a browser) nothing happens, he just gets a weird dialog.

I am sorry, but this kind of things have been working on other OSes since 80s

Vadim Peretokin said...

No, there is MojoSetup (used by ETQW, Savage 2, and a ton of other programs), and some other installer that I can't remember the name of, but it emulates the windows types pretty well.

So, sorry dude, the package management system is an unfinished bonus. Linux is on the same platform as the rest in terms of installation but a bit better ahead for oss distributors. For commercial ones, it's the same as on windows or macs, and with packagekit in development, it'll get even easier.

Anonymous said...

I think we need a "fail" poster:

Linux - chmod +x is a simple installation method

Anonymous said...

What are you two talking about?
The problem has nothing to do with "installation wizards" or "menu shortcuts"!!!

Please go and reread the comment from the "Linux (ugh) ISV". Look at point two with special attention.
There is a word that I think none of you know about, that's "ABI". Well, if you don't know what ABI is use Google... but don't ignore it, is an important word.

david said...

Wow, I didn't think a person could get dumber as each day goes by. Packages are simple, elegant, and logical way for installing software.

You are able to access source code and build your own damn packages if you so desire. Or you grab a stupid .exe double click and hope it doesn't do anything malicious to your machine. I really doubt any windows user can say every piece of software they have installed have no malicious features, unless you can read 1's and 0's.

Fire up wireshark and see all the shit being sent out of your machine when its idle. It must be fun to be spied on daily....

Alexei said...

>> Wow, I didn't think a person could get dumber as each day goes by. Packages are simple, elegant, and logical way for installing software.

Unless they create a freaking mess of inter-dependencies. How is it that I never had any problems with Windows' 'primitive' installers or MSIs?

>> You are able to access source code and build your own damn packages if you so desire. Or you grab a stupid .exe double click and hope it doesn't do anything malicious to your machine. I really doubt any windows user can say every piece of software they have installed have no malicious features, unless you can read 1's and 0's.

Oh, great. You'll just propose we compile everything. What a Gentoo fan you must be. Great distro. Only a week of compilation, and - hey - your PC has an OS now!

Another thing - do you honestly read all the source you compile? Honestly? Well, if not, how can you spot the malicious code? Oh yeah, others did it, right..

Common sense and free AV software serve all my Windows needs, thank you.

Anonymous said...

You guys must understand that packages that follow the FHS will never make your life easier.

They will make life harder.

The only solution will be package-dirs or appdirs.

But the big distributions dont want to lose their market.

I tell you STOP USING THEM.

Anonymous said...

I just came to this site (from Planet GNOME) of all places, and have to say that this site should be the bible for GNOME and KDE developers. It pinpoints all the problems of desktop Linux and (sometimes) offers a solution. The number of DVCS is just another example of Linux devs being unable to agree on a standard. Even now, you will see some developers singing praises of some DVCS for some obscure reason when the project they work on shifts to another system. That's the least of the problems though, as package management is one of the biggest nightmares a Linux user has to experience. Compiling an app in this day and age should NEVER be imposed on a computer user. People who liked wasting their time gathering dependencies and reading installation documents are not mainstream users. And why anyone would recommend someone as OS that resorts people to doing that is beyond me, and just goes to show how clueless Linux advocates and developers are.

Anonymous said...

Or how stupidly stubborn other OS users are.

*yawn*

Anonymous said...

> Common sense and free AV software serve all my Windows needs, thank you.

Exactly.

Sites like FileHippo annd Download.com all verify the apps they off as being spyware/adware etc. free and offer a convenient place to downloading apps. The only problem is with the update of software. Some apps come with their own updaters, though mostly you have to manually update the software. On Linux, everything is handled by the update manager. Yet even here, OSX eloquently solves the problem and has a great solution (simple way to install and update files). Package management in Linux is an absolute mess. Why do we have so many when not a single one works reliably. DEB is the only decent one but at times it has the same issues that all corrupt packages on Linux can have (and I have never had the same problem on XP or OSX).

Secondly, someone mentioned PackageKit as a solution. It is not. It is simply a front-end to all the different package managers such as RPM and DEB as the backend. Doesn't change anything at all. Autopackage and klik2 were offered as solutions, but again we have two different "solutions" to the same issue, and neither are actually used by any distro and so are practically useless.

Anonymous said...

Dumbass, packagekit has a backend that integrates with rpms and debs.

Make 1 packagekit package, and it'll work with rpm and deb systems

Anonymous said...

Actually, I don't know why that came out so mean. Sorry!

But here's their table of the support they've implemented so far, for the packagekit backend:

http://www.packagekit.org/pk-matrix.html

rd said...

this is a great criticism of linux, and one that should become a priority for all distros to collaborate.

actually, there was an idea for a Universal Linux Package Format (.upf) on ubuntu's brainstorming page:
http://brainstorm.ubuntu.com/idea/10731/

Anonymous said...

um...gdebi package installer? takes like 10 seconds. add/remove applications? just check a box. just as easy if not easier than windows. nice try in getting people to hate linux though. you would have convinced me if i knew nothing about the subject. by the way, when was the last time you tried linux? cant have been recent if you think that its that complicated. ubunutu's really simpler than windows

Yfrwlf said...

THANK YOU. Please help to spread the annoyance of this problem until the core geeks finally get it through their thick skulls that any kind of packaging standard on Linux isn't one at all, it's an illusion, because it's completely broken.

Linux has created a walled garden for it's users. Very ironic, since Linux is supposed to be about openness, yet real intelligent access to Linux software is the biggest frustration for Linux users. Debian devs wanted to know why Linux doesn't have a better uptake, and that's one of the main reasons why. You can't save archives of Linux packages, because they all become obsolete with each VERSION of each DISTRO that is released, making the sharing of Linux software for example, or the archiving of it, completely non-existent. If Linux users could easily share software with each other without having to worry about the stupid distro and distro version barriers, Linux adoption would increase much more rapidly. Instead, users are forced to sometimes do ridiculous things like CHANGING OSES just so they can get version X of program Z, or any version of it at all, for example if it's not in their software repository.

I could go on and on...it's such a waste of time, energy, and money to have thousands of recompilations of the same program for a hundred different distros. It's vendor lock-in, because users are stuck waiting for distro developers to compile stuff for them. If I buy, say, an Asus EEE PC for example, I'm stuck with that software if I don't know how to compile or don't feel like clawing my brains out trying to do so and get all the dependencies, so your only choice is to install the distro flavor that has the programs that comes closest to the ones you want.

I could go on, but I'll stop there and just say that Linux adoption will not take off until software installation from non-repo sources is easy, and that's where Windows and Mac have Linux: their users don't have to *worry* about needing library X, Y, and Z because the program developer got so frustrated with Linux packaging that they just made a source package available and that's it, or didn't want to make a binary for whatever stupid reason. Mac and Windows users can share programs and count on things working because those systems have stable library APIs for one thing, not that you couldn't make a system that simply could get you the library that a program *had to have* if that was the case.

Some things that seem like they have to happen to solve this shit:

Let the developers choose a package name for their software, or if you *have* to which this would be annoying to have to have, but make a Linux name registration databank so that naming conflicts won't happen.

The distros should be pulling their packages from these developers off their websites. Distro companies should be simply *mirroring* them, if they wanted to do so, to help out, but if users want they should be able to go to the source and *easily* install their software, not wait for a chance at suckling the repository teat of their distro company. I know distros love this Linux lock-in, but fuck them. That's not who Linux is for, it's for everyone to use easily. The emphasis needs to be on interoperability, and when distro companies do all these tweaks to packages and compile them and "bake" them all together, the emphasis gets moved from the developer to the distro, and interoperability gets degraded because the emphasis isn't on being able to easily install software any more. That's wrong and not how it should work, focus should be on the DEVELOPERS. When a new version comes out, *that* should be celebrated, not the release of a "distro". Distro ISOs should be nothing more than Linux software bundles. If the version or configuration of someone's program sucks, then fork it or release it with a different configuration, or provide an easy way to get that configuration.

Linux should be a bazaar programs that are easily accessible for it's users, not a system where you're totally fucked because there's no way of installing a driver unless you know how to compile, and every time you update your kernel it fucks up the driver, or a system where if you want to see a new program, you have to wait until some distro packages it all up for you.

That's not software freedom. Linux has become a walled garden. I could go on about the things that need to happen to solve the problem, quite simply it's a lack of intelligent package management systems that use some standard/common formats/systems/APIs, but rest assured that this problem, like all problems with technology, is very solvable via "technology" and intelligence, but until some brains collaborate and come up with a solution, and override the greed of the distro companies to keep everyone in their own walled garden so they can promote their image, it won't get fixed. There are some devs and concerned users working on various ideas, but they could use some help.

Anonymous said...

^^ nice blog!! ^@^

徵信, 徵信, 徵信, 徵信社, 徵信社, 徵信社, 感情挽回, 婚姻挽回, 挽回婚姻, 挽回感情, 徵信, 徵信社, 徵信, 徵信, 捉姦, 徵信公司, 通姦, 通姦罪, 抓姦, 抓猴, 捉猴, 捉姦, 監聽, 調查跟蹤, 反跟蹤, 外遇問題, 徵信, 捉姦, 女人徵信, 女子徵信, 外遇問題, 女子徵信, 徵信社, 外遇, 徵信公司, 徵信網, 外遇蒐證, 抓姦, 抓猴, 捉猴, 調查跟蹤, 反跟蹤, 感情挽回, 挽回感情, 婚姻挽回, 挽回婚姻, 外遇沖開, 抓姦, 女子徵信, 外遇蒐證, 外遇, 通姦, 通姦罪, 贍養費, 徵信, 徵信社, 抓姦, 徵信社, 徵信, 徵信公司, 徵信社, 徵信, 徵信公司, 徵信社, 徵信公司, 女人徵信, 外遇

徵信, 徵信網, 徵信社, 徵信網, 外遇, 徵信, 徵信社, 抓姦, 徵信, 女人徵信, 徵信社, 女人徵信社, 外遇, 抓姦, 徵信公司, 徵信社, 徵信社, 徵信社, 徵信社, 徵信社, 徵信社, 女人徵信社, 徵信社, 徵信, 徵信社, 徵信, 女子徵信社, 女子徵信社, 女子徵信社, 女子徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社,

徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 外遇, 抓姦, 離婚, 外遇,離婚,

徵信, 外遇, 離婚, 徵信社, 徵信, 外遇, 抓姦, 徵信社, 徵信, 徵信社, 徵信, 外遇, 徵信社, 徵信, 外遇, 抓姦, 徵信社, 征信, 征信, 徵信, 徵信社, 徵信, 徵信社, 征信, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信社, 徵信社, 徵信, 外遇, 抓姦

Anonymous said...

Making kal geons is the old question : Honestly there is no fast way to make lots of kal gold . Sadly enough a lot of the people that all of a sudden come to with millions of kal online geons almost overnight probably duped . Although there are a lot of ways to make lots of kal online goldhere I will tell you all of the ways that I know and what I do to make kalonline Geons.

fshfghsf said...

看房子,買房子,建商自售,自售,台北新成屋,台北豪宅,新成屋,豪宅,美髮儀器,美髮,儀器,髮型,EMBA,MBA,學位,EMBA,專業認證,認證課程,博士學位,DBA,PHD,在職進修,碩士學位,推廣教育,DBA,進修課程,碩士學位,網路廣告,關鍵字廣告,關鍵字,課程介紹,學分班,文憑,牛樟芝,段木,牛樟菇,日式料理, 台北居酒屋,日本料理,結婚,婚宴場地,推車飲茶,港式點心,尾牙春酒,台北住宿,國內訂房,台北HOTEL,台北婚宴,飯店優惠,台北結婚,場地,住宿,訂房,HOTEL,飯店,造型系列,學位,牛樟芝,腦磷脂,磷脂絲胺酸,SEO,婚宴,捷運,學區,美髮,儀器,髮型,牛樟芝,腦磷脂,磷脂絲胺酸,看房子,買房子,建商自售,自售,房子,捷運,學區,台北新成屋,台北豪宅,新成屋,豪宅,學位,碩士學位,進修,在職進修, 課程,教育,學位,證照,mba,文憑,學分班,網路廣告,關鍵字廣告,關鍵字,SEO,关键词,网络广告,关键词广告,SEO,关键词,网络广告,关键词广告,SEO,台北住宿,國內訂房,台北HOTEL,台北婚宴,飯店優惠,住宿,訂房,HOTEL,飯店,婚宴,台北住宿,國內訂房,台北HOTEL,台北婚宴,飯店優惠,住宿,訂房,HOTEL,飯店,婚宴,台北住宿,國內訂房,台北HOTEL,台北婚宴,飯店優惠,住宿,訂房,HOTEL,飯店,婚宴,結婚,婚宴場地,推車飲茶,港式點心,尾牙春酒,台北結婚,場地,結婚,場地,推車飲茶,港式點心,尾牙春酒,台北結婚,婚宴場地,結婚,婚宴場地,推車飲茶,港式點心,尾牙春酒,台北結婚,場地,居酒屋,燒烤,美髮,儀器,髮型,美髮,儀器,髮型,美髮,儀器,髮型,美髮,儀器,髮型,小套房,小套房,進修,在職進修,留學,證照,MBA,EMBA,留學,MBA,EMBA,留學,進修,在職進修,牛樟芝,段木,牛樟菇,關鍵字排名,網路行銷,关键词排名,网络营销,網路行銷,關鍵字排名,关键词排名,网络营销,PMP,在職專班,研究所在職專班,碩士在職專班,PMP,證照,在職專班,研究所在職專班,碩士在職專班,SEO,廣告,關鍵字,關鍵字排名,網路行銷,網頁設計,網站設計,網站排名,搜尋引擎,網路廣告,SEO,廣告,關鍵字,關鍵字排名,網路行銷,網頁設計,網站設計,網站排名,搜尋引擎,網路廣告,SEO,廣告,關鍵字,關鍵字排名,網路行銷,網頁設計,網站設計,網站排名,搜尋引擎,網路廣告,SEO,廣告,關鍵字,關鍵字排名,網路行銷,網頁設計,網站設計,網站排名,搜尋引擎,網路廣告,EMBA,MBA,PMP
,在職進修,專案管理,出國留學,EMBA,MBA,PMP
,在職進修,專案管理,出國留學,EMBA,MBA,PMP
,在職進修,專案管理,出國留學,婚宴,婚宴,婚宴,婚宴

住宿,民宿,飯宿,旅遊,住宿,民宿,飯宿,旅遊,住宿,民宿,飯宿,旅遊,住宿,民宿,飯宿,旅遊,住宿,民宿,飯宿,旅遊,住宿,民宿,飯宿,旅遊,住宿,民宿,飯宿,旅遊,美容,美髮,整形,造型,美容,美髮,整形,造型,美容,美髮,整形,造型,美容,美髮,整形,造型,美容,美髮,整形,造型,美容,美髮,整形,造型,美容,美髮,整形,造型,設計,室內設計,裝潢,房地產,設計,室內設計,裝潢,房地產,設計,室內設計,裝潢,房地產,設計,室內設計,裝潢,房地產,設計,室內設計,裝潢,房地產,設計,室內設計,裝潢,房地產,設計,室內設計,裝潢,房地產,設計,室內設計,裝潢,房地產,進修,在職進修,MBA,EMBA,進修,在職進修,MBA,EMBA,進修,在職進修,MBA,EMBA,進修,在職進修,MBA,EMBA,進修,在職進修,MBA,EMBA,進修,在職進修,MBA,EMBA,進修,在職進修,MBA,EMBA,住宿,民宿,飯店,旅遊,美容,美髮,整形,造型,設計,室內設計,裝潢,房地產,進修,在職進修,MBA,EMBA,羅志祥,周杰倫,五月天,蔡依林,林志玲,羅志祥,周杰倫,五月天,蔡依林,林志玲,羅志祥,周杰倫,五月天,蔡依林,羅志祥,周杰倫,五月天,蔡依林

kiloi said...

nike tnEnter the necessary language translation, up to 200 bytes winter, moves frequently in Chinanike chaussures showing that the deep strategy of the Chinese market. Harvard Business School, tn chaussures according to the relevant survey data show that in recent years the Chinese market three brands, Adidas, mens clothingpolo shirts Li Ning market share at 21 percent, respectively, 20%, 17%. The brand is first-line to three lines of urban competition for mutual penetration. Side of theworld,announced layoffs, while China's large-scale facilities fists. The sporting goods giant Nike's every move in the winter will be fully exposed its strategy. Years later, the Nike, Inc. announced the world's Fan

shen bing said...

cheap hair straightenerscheap flat ironnew polo shirtssexy lingerie storepolo shirtsnorth face jacketschi straightenerpink chichaussures puma chaussure puma

shen bing said...

hair straightenersugg bootscheap handbagscheap bagscheap pursetntattoo wholesalejackets worldjackets cartmen's clothingwomen's clothing

shen bing said...

handbags Louis Vuitton Vuitton handbags Balenciaga Balenciaga Bally handbagsBottega Veneta handbagsCartier handbagsChanel handbagsChloe handbagsChristian Dior handbagsCoach handbagsDolce Gabanna handbags

shen bing said...

Fendi handbags Givenchy handbags Gucci handbags Hermes handbags Jimmy Choo handbags Juicy Couture handbags lsabella Fiore handbags Miu Miu handbags Mulberry handbags Prada handbags Tods handbags Versace handbags Yves Saint Laurent handbags

shen bing said...

Men's Lacoste Polo Shirts Men's RL Striped Polo Shirts Women's Lacoste Polo Shirts Men's polo shirts Men's polo shirts Men's polo shirts 4 polo shirts Women's polo shirts 21 polo shirts Men's polo shirts Women's LACOSTE 5 PCS of Ralph Women's lacoste polo shirts

eda said...

101煙火,煙火批發,煙火工廠,製造浪漫煙火小舖,煙火小舖,衣蝶,衣蝶,情趣用品,情趣商品,情趣,情趣,衣蝶情趣精品百貨,衣蝶情趣精品百貨,煙火批發,情趣禮品,成人用品,情趣內衣,情趣精品,情趣商品,情趣用品,情趣,情趣,真愛密碼情趣用品,真愛密碼,真愛密碼,真愛密碼情趣用品,貓裝,自慰器,性感內褲,角色扮演,丁字褲,,跳蛋,AV,丁字褲,煙火,情趣用品,情趣用品

fdg said...

I like your blog. Thank you. They are really great . Ermunterung ++ .
Some new style Puma Speed is in fashion this year.
chaussure puma is Puma shoes in french . Many Franzose like seach “chaussure sport” by the internet when they need buy the Puma Shoes Or nike max shoes. The information age is really convenient .




By the way ,the nike max ltd is really good NIKE air shoes ,don’t forget buy the puma mens shoes and nike air max ltd by the internet when you need them . Do you know Nike Air Shoes is a best Air Shoes . another kinds of Nike shoes is better . For example , Nike Air Rift is good and Cheap Nike Shoes .the nike shox shoes is fitting to running.



Spring is coming, Do you think this season is not for Ugg Boots? maybe yes .but this season is best time that can buy the cheap ugg boots. Many sellers are selling discounted. Do not miss . Please view my fc2 blog and hair straighteners blog.
.thank you .


I like orange converse shoes ,I like to buy the cheap converse shoes by the internet shop . the puma shoes and the adidas shoes (or addidas shoes) are more on internet shop .i can buy the cheap nike shoes and cheap puma shoes online. It’s really convenient.
Many persons more like Puma basket shoes than nike air rift shoes . the Puma Cat shoes is a kind of Cheap Puma Shoes .
If you want to buy the Cheap Nike Air shoes ,you can buy them online. They are same as the Nike Air shoes authorized shop. Very high-caliber Air shoes and puma cat shoes . the cheap puma shoes as same as other.



polo shirts

ralph lauren polo shirts
chaussure puma

chaussure sport



chaussures puma

puma CAT

ed hardy clothing

ed hardy clothes



ed hardy womens

ed hardy sunglasses

酒店上班請找艾葳 said...

艾葳酒店經紀提供專業的酒店經紀,酒店上班,酒店打工、兼職、酒店相關知識等酒店相關產業服務,想加入這行業的水水們請找專業又有保障的艾葳酒店經紀公司!
艾葳酒店經紀是合法的公司、我們是不會跟水水簽任何的合約 ( 請放心 ),我們是不會強押水水辛苦工作的薪水,我們絕對不會對任何人公開水水的資料、工作環境高雅時尚,無業績壓力,無脫秀無喝酒壓力,高層次會員制客源,工作輕鬆。
一般的酒店經紀只會在水水們第一次上班和領薪水時出現而已,對水水們的上班安全一點保障都沒有!艾葳酒店經紀公司的水水們上班時全程媽咪作陪,不需擔心!只提供最優質的酒店上班環境、上班條件給水水們。

Wow Gold said...

WOW GOLD, nice blog. its worth reading. I liked it very much

Peejay Li said...

I would like to be the supporter of yours. Thank you for sharing such a nice article.
chaussures puma
puma speed cat
Nike Tn Chaussures
requin tn
nike shox
puma shoes
puma CAT
puma basket
puma speed
baskets puma
puma sport
puma femmes
puma shox r4 torch
nike air max requin
nike shox r3
shox rival r3
tn plus
chaussures shox
nike shox r4 torch
air max tn requin
nike tn femme
pas cher nike
tn chaussures
nike rift
nike shox nz
chaussures shox
nike shox rival
shox rival
chaussures requin
jeans online
cheap armani jeans
cheap G-star jeans

ass said...

www.crazypurchase.com Web site for the majority of the china wholesalers, and buy products wholesale to provide information and buy wholesale from china information exchange platform dedicated to becoming China Wholesale.

ass said...

Present-day society, the rapid development of science and technology makes cell phones wholesale is no longer a simple phone communications equipment only. Wholesale cell phones have many features, entertainment, scalability, and so have a good expression of the discount cell phones will be to maximize the effectiveness of multimedia technology.Cell phones from simple communication became a full-featured entertainment terminal . Can be said that cell phone china new milestone in the industry. This fully demonstrates that, cheap cell phones entertainment has become the most sought after consumer applications and has become the focus of the mobile phones market.

Sneakers hobbies said...

we have lots of polo shirts
Abercrombie Fitch clothing
Abercrombie Fitch hoodile
ralph lauren shirts
Columbia Jacket
north face jackets
spyder ski jacket
polo shirts
polo shirt
spyder jackets
mens jacket
mens spyder jackets
spyder jackets for cheap
spyder ski jacket
womens spyder jackets
ralph lauren
spyder jackets cheap
spyder jackets for men
cheap spyder jackets
north face jackets
discount spyder jacket
the north face jacket
ralph lauren polo shirts on sale
discount ralph lauren polo shirts
ralph lauren polo shirts
ralph lauren polo wholesale
north face jackets
north face jacket
Columbia Jacket
ralph lauren jacket
Abercrombie Fitch hoodies
Abercrombie Fitch clothing
abercrombie fitch
abercrombie fitch
welcom to our store.

Sneakers hobbies said...

we have lots of polo shirts
Abercrombie Fitch clothing
Abercrombie Fitch hoodile
ralph lauren shirts
Columbia Jacket
north face jackets
spyder ski jacket
polo shirts
polo shirt
spyder jackets
mens jacket
mens spyder jackets
spyder jackets for cheap
spyder ski jacket
womens spyder jackets
ralph lauren
spyder jackets cheap
spyder jackets for men
cheap spyder jackets
north face jackets
discount spyder jacket
the north face jacket
ralph lauren polo shirts on sale
discount ralph lauren polo shirts
ralph lauren polo shirts
ralph lauren polo wholesale
north face jackets
north face jacket
Columbia Jacket
ralph lauren jacket
Abercrombie Fitch hoodies
Abercrombie Fitch clothing
abercrombie fitch
abercrombie fitch
welcom to our store.

酒店上班請找艾葳 said...

艾葳酒店經紀公司提供專業的酒店經紀, 酒店上班小姐,八大行業,酒店兼職,傳播妹,或者想要打工兼差打工,兼差,八大行業,酒店兼職,想去酒店上班, 日式酒店,便服店,制服酒店,ktv酒店,禮服店,整天穿得水水漂漂的,還是想去制服店日領上班小姐,水水們如果想要擁有打工工作、晚上兼差工作酒店打工假日兼職兼職工作酒店兼差兼差打工兼差晚上兼差工作酒店工作酒店上班酒店打工兼職兼差兼差工作酒店上班等,想了解酒店相關工作特種行業內容,想兼職工作日領假日兼職兼差打工、或晚班兼職想擁有鋼琴酒吧又有保障的工作嗎???又可以現領請找專業又有保障的艾葳酒店經紀公司!

艾葳酒店經紀是合法的公司工作環境高雅時尚,無業績壓力,無脫秀無喝酒壓力,高層次會員制客源,工作輕鬆,可日領現領
一般的酒店經紀只會在水水們第一次上班和領薪水時出現而已,對水水們的上班安全一點保障都沒有!艾葳酒店經紀公司的水水們上班時全程媽咪作陪,不需擔心!只提供最優質的酒店上班,酒店上班,酒店打工環境、上班條件給水水們。心動嗎!? 趕快來填寫你的酒店上班履歷表

水水們妳有缺現領、想要兼職、有缺錢的煩腦嗎?想到日本留學缺錢嗎?妳是傳播妹??想要擁有高時薪又輕鬆的賺錢,酒店和,假日打工,假日兼職賺錢的機會嗎??想實現夢想卻又缺錢沒錢嗎!??
艾葳酒店台北酒店經紀招兵買馬!!徵專業的酒店打工,想要去酒店的水水,想要短期日領,酒店日領,禮服酒店,制服店,酒店經紀,ktv酒店,便服店,酒店工作,禮服店,酒店小姐,酒店經紀人,
等相關服務 幫您快速的實現您的夢想~!!

cheap nike shoes said...

Truely a nice blog and thanks for your great work. By the way, welcome to our websites: nike sports shoes and ghd hair straightners. Every men like sport, then, it is quite important to have a pair of right cheap sports shoes to make you fully enjoy the sports. We provide puma cat , cheap nike shox, cheap nike max, shox shoesshoes, nike shox r4 shoes, shox shoes, ferrari shoesrunning shoes which are brand new and in perfect condition but on discount. All of the shoes, including the popularnike tn dollarpuma running shoes, cheap nike shoes,which is the representative shoes of nike mens shoesshoes are authentic and original of top quality. For people like running and playing basketball and other field sports, nothing would be more suitable than the cheap adidas shoes and nike shox nz basketball shoes. In addition to the shoes mentioned above, you may also be interested in the cheap adidas shoes , puma shoes and, nike running shoesWholesale 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!
Everybody like beauty, which is quite commen, especailly womens. Welcom to our store which is focused on sellingghd hair straighteners mk4and hair straightners. For women, especially the young girls, this ghd iv styler hair straightener is the best choice. ghd hair straightnersis famouse for the pretty outlook and the top quality. The price of this cheap ghd hair straightenersis acceptable and rational. Ed Hardy Jeans, Ed Hardy Hoodies ed hardy shirts ed hardy clothes ed hardy clothing
ed hardy trousers

nguyen said...

貸し事務所
ハーレー
商標登録
バイク便
温泉 ホテル
アトピー
ブライダルエステ
ボイストレーニング
埼玉県 不動産
流し台
昭島市 一戸建て
カーテン
ローコスト 家
千葉駅 宴会
インターネットFAX

医師 求人
アルギニン
なんば 賃貸
経理 派遣
お見合いパーティー
24時間風呂
整理券
idカード 作成
乳がん
ビジネス英会話
ビジネススクール 英語
プレミアムホテル
クレジットカード 学生
ウェディングドレス
クリニック開業
風船
加圧

nguyen said...

五反田 賃貸
ケータリング
妊娠 出血
ブライダルインナー
立川 不動産
ウェルカムボード
八王子 不動産
大学留学
ゴルフスクール
デザインリフォーム
トレイ
シークワーサー
使い捨てコンタクト
センター南 賃貸
遺言 作成
医療ベット 買取
ゴルフ会員権
インプラント 横浜
トランクルーム
ウェディングボード
エンジニア 派遣
ノーリツ
オンライン英会話
会社設立 横浜
結婚式2次会
結婚 相談
カードでお金
インテリアデザイン 関西
かつら
Tシャツ
小田原 不動産
まつ毛エクステ

HONG said...

nike air max 90
nike air max 95
nike air max tn
nike air rift
nike shox r4
nike air max 360
nike shox nz
puma mens shoes
puma shoes
puma speed
nike shoes
nike air
nike air shoes
puma cat
air max trainers
mens nike air max
nike shoes air max
nike shoes shox
air shoes
nike shoe cart
puma future
cheap puma
sports shoes
nike air rifts
nike air rift trainer
nike air
nike rift
nike rift shoes
cheap nike air rifts
bape shoes
jeans shop
diesel jeans
levis jeans

LAN said...

puma mens shoes
puma shoes
puma speed
nike shoes
nike air
nike air shoes
nike air max 90
nike air max 95
nike air max tn
nike air rift
nike shox r4
nike air max 360
nike shox nz
puma cat
air max trainers
mens nike air max
sports shoes
nike air rifts
nike air rift trainer
nike air
nike shoes air max
nike shoes shox
air shoes
nike shoe cart
puma future
cheap puma
nike rift
jeans shop
diesel jeans
levis jeans
nike rift shoes
cheap nike air rifts
bape shoes

Edwin said...

Buy Kamagra
Earn Google
Viagra Cialis
Cheap Kamagra
Cheap Viagra
Cheap Cialis
Make Money on Google
M65 Jacket
M65 Field Jacket
Airline Dog Carrier
Airline Dog Carriers
Viagra Cialis
Earn Google
Airline Dog Carrier
Airline Dog Carriers
Airline Approved Dog Carriers
ED Hardy Wholesale
Copy DVD Software
How to Send Fax
14k Yellow Gold
Redneck Costume
14k Gold Heart
Tandem Baby Stroller

jack.1999 said...

cheap cell phones
cheap cell phones
cheap cell phones wholesale

DiSCo said...

Really trustworthy blog. Please keep updating with great posts like this one. I have booked marked your site and am about to email it

to a few friends of mine that I know would enjoy reading..
seslisohbet
seslichat
sesli sohbet
sesli chat
sesli
sesli site
görünlütü sohbet
görüntülü chat
kameralı sohbet
kameralı chat
sesli sohbet siteleri
sesli chat siteleri
görüntülü sohbet siteleri
görüntülü chat siteleri
kameralı sohbet siteleri
canlı sohbet
sesli muhabbet
görüntülü muhabbet
kameralı muhabbet
seslidunya
seslisehir
sesli sex

Anonymous said...

Really trustworthy blog. Please keep updating with great posts like this one. I have booked marked your site and am about to email it

to a few friends of mine that I know would enjoy reading..
seslisohbet
seslichat
sesli sohbet
sesli chat
sesli
sesli site
görünlütü sohbet
görüntülü chat
kameralı sohbet
kameralı chat
sesli sohbet siteleri
sesli chat siteleri
sesli muhabbet siteleri
görüntülü sohbet siteleri
görüntülü chat siteleri
görüntülü muhabbet siteleri
kameralı sohbet siteleri
kameralı chat siteleri
kameralı muhabbet siteleri
canlı sohbet
sesli muhabbet
görüntülü muhabbet
kameralı muhabbet
birsesver
birses
seslidunya
seslisehir
sesli sex

Anonymous said...

i dont know if there suitalbe to write something good website i meet here, for i hope every body could have a good shopping experience online.

here i want to introduce this website, mainly selling nfl jerseys,
ghd, christian louboutin, and air max 95.

they offer 24 hours online service, and very very good customer service.
i buy the air max 90 shoes online on the website, nice design and good quality. that is why i strongly introduce you here.

it is not a advertisment, just share my shopping experience with everybody. hope you have a nice day, and could enjoy the good shopping.

gaohui said...

Davidson garment is a quintessential Harley abercrombie Outlet davidson item, especially if you feature ones Harley decked abercrombie and fitch over. Featuring the whole distinctive line of leather abercrombie sale jackets, t-shirts, buckles, hats, belts, boots abercrombie & fitch and helmets, feeling of guilt reason this is abercrombie not to accessorize to max.A decent buy Harley enthusiast will abercrombie uk go in closet and grab a Harley t-shirt, leather jacket and boots. But, abercrombie london does your closet contain present accessory considering all abercrombie and Fitch Polo of? The Harley helmet. With out them your road abercrombie Polos trip could end in disaster.

Large Production Run said...

Well, I just hope that the web developers will fix the problems with their packages so that more users will be happier with their OS. Nevertheless, Linux, for me is still a great OS and it is free!

Anonymous said...

Cubic zirconias are the best choice for thomas sabo those of you who doesn't thomas sabo charms want to spend too much money on thomas sabo jewellery buying a diamond engagement ring but still want something that looks almost identical. thomas sabo charms sale Let's face it, wouldn't it make more sabo charms sense to save the money for a new car instead? cheap thomas sabo charms With cubic zirconia's, the only way to tell the difference between it and a thomas sabo jewellry diamond is to get a professional jeweler to have a look at it. discount thomas sabo charms To untrained eye, it looks just the same. thomas sabo sale charms The other advantage to zirconia's is that you can choose from a range of colors, and pick the most suitable color of stone for the engagement ring.

cheap said...

The NFL playoffs is cheap jerseys always the time when stars emerge, and as cheap jerseys a result, their Authentic NFL jerseys become extremely popular. The bright lights are on, and everybody is watching the nationally televised games. The big stars have a chance to play great and become even more popular. The young and emerging players have a chance to shine for a first time and become widely known.

With all www.nfl-authentic.com of nfl replica jerseys that nfl jerseys for cheap said, which cheap nfl jerseys players have the most popular authentic NFL jerseys from the 2009 playoffs? There have been a lot of truly great performances by really special players, but here are some of the players who really made a name for themselves. Whoever you root for, it's likely that you'll need to stock up on some new discount NFL team merchandise with these young play makers.

cheap said...

Jimmy Clausen Jersey

Jay Cutler Jersey

Tim Tebow Jersey

Felix Jones Jersey

Miles Austin Jersey

Emmitt Smith Jersey

Brett Favre Jersey

Clay Matthews Jersey

Brett Favre Jersey

Lawrence Taylor Jersey

Tom Brady Jersey

DeSean Jackson Jersey

DiSCo said...

Thank you for sharing a nice article.
seslisohbet