iklan

Sunday, 10 April 2011

free download vm ware

free download note pad

download link

free download open office

free download foxit reader

free link download

free download adobe reader

downloand link

free download gmail

file download

free download flash get

free download filezilla

free download cute ftp

download link can use

free download yahoo mesengger

link can use .....download

free download window live messenger


free download trilian asta

free download link

free download thunder bird

free download thunder bird

free download skype

free download link

free download pidgin

link can use to be.download

free download google talk

download link

free download aim

download link

free download vuze

download link

free download u torent

download link

free download frost wire

free download frost wire

free download emule

free download emule

free download safari

free download opera 11

free download....opera 11 .download

free download java runtime

free link....download

free download internet explore 9

the link can be use:download

free download google chrome

the link download:download

free download flash player

the link download ..download

free download firefox


to download free firefox

download link......download

Another Emacs TRAMP problem, another solution

The problem

This is documented for posterity because it’s not the first time this has happend to me. The symptom of this problem happened to me when trying to access a remote system, any remote system, through a method like ssh or sftp.
Whenever I tried to access a remote system, I would get an error from TRAMP saying that it can’t find a working /bin/ls, despite the file being obviously in its right place.
The precise error message is the following:

Tramp: Found remote shell prompt on `vattu'
Omitting...
(Nothing to omit)
File error: Couldn't find a proper `ls' command
tramp-get-ls-command: Couldn't find a proper `ls' command

Once you find out that /bin/ls is actually there, there is little left to do but try to see what is wrong with TRAMP. TRAMP is a fickle library and getting it to work might require serious configuration in some case. You can make TRAMP more verbose by setting the tramp-verbose to a 5 or 6, instead of the default.
Once tramp-verbose is set, an Emacs buffer will contain a lot of informations.

20:57:11 tramp-send-command (6) # while read d; do if [...]<<'EOF'
/bin
/usr/bin
/usr/sbin
/usr/local/bin
EOF
20:57:11 tramp-wait-for-regexp (6) #
^M
///fec710f011d52e3acebe364b9088c96e^M
20:57:11 tramp-get-ls-command (1) # File error: Couldn't find a proper `ls' command

What is string there is the presence of the dreaded ^M character. It took me some time to realize that TRAMP may have been trying to look for /bin/ls^M.
The offending option in my configuration was (setq inhibit-eol-conversion 't) which I set to deal with files which may have mixed newline characters. Unsetting this option made TRAMP work just fine.

Reproducing the problem

I had troubles reproducing this problem in order to write this article because TRAMP actually caches the information it obtains from the remote system it connects to. I needed to erase the file $HOME/.emacs.d/tramp and restart Emacs. Once this was done, and inhibit-eol-conversion set, the problem happened again.

Using a POSIX directory schema with Nuxeo




Nuxeo patch

Nuxeo doesn’t support RFC 2307 POSIX LDAP schemas out of the box. Even if the configuration options for LDAP directories in Nuxeo are extremely flexible, a small patch is required for POSIX group to work. The patch makes Nuxeo search for group members using an ID instead of a DN (DistinguishedName). The last version of the patch is available in the Nuxeo JIRA bug tracker as bug 6430. The patch requires very limited change to the LDAP directory configuration.
For your convenience, I have provided a pre-compiled binary .jar including the patch. This will work on Nuxeo 5.4.0.1 and probably Nuxeo 5.4.0 but it may already be outdated as you read this article. In the download links below, you will also find the integral version of some relevant configuration files. I can’t post all the configuration files I have used because they include private informations.
The following block of XML is an excerpt of the group directory configuration in Nuxeo. I can’t provided this file in its entirety but I can show just the section that needs to be modified. To properly support POSIX groups, you first don’t need references for subGroups and parentGroups. You only need a ldapReference for the group members but they need to be searched in way different than what Nuxeo usually does.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<component name="com.rlnx.nuxeo.ldap.group">
  <implementation class="org.nuxeo.ecm.directory.ldap.LDAPDirectoryDescriptor"/>
  <implementation class="org.nuxeo.ecm.directory.ldap.LDAPServerDescriptor"/>
 
  <require>org.nuxeo.ecm.directory.ldap.LDAPDirectoryFactory</require>
  <require>com.rlnx.nuxeo.posix.schema</require>
 
  <extension target="org.nuxeo.ecm.directory.ldap.LDAPDirectoryFactory" point="directories">
    <directory name="groupDirectory">
...
      <references>
        <ldapReference field="members"
                       directory="userDirectory"
                       forceDnConsistencyCheck="false"
                       staticAttributeId="memberUID"
                       staticAttributeIsId="true" />
      </references>
    </directory>
  </extension>
</component>
The magic happens in the new staticAttributeIsId configuration which tells Nuxeo that the content of  staticAttribute is an ID and not a DN. The patch then makes Nuxeo search for the members of groups accordingly.
After this simple change with the patch, the new schema can be used in read-only mode. To use the POSIX schema in read/write mode you need modify several more things because the POSIX schema requires to input things like UIDs and GIDs when creating a new user account or a new group.
The rest of what is required is based on the information available in the Nuxeo documentation: Adding custom LDAP fields to the UI. For my own use, I just decided to do the minimum that is required to properly create a new user and new groups in the directory: add UID and GID fields and remove subGroups and parentGroups which are not supported by the schema. You might need to add or remove more fields to and from the UI to support your schema but the process will stay mostly the same as with those fields.

Schema extension

Since Nuxeo is accessing the user and group accounts data through Document objects, you need to redefine the user and group schemas so they are able to provide the right informations to Nuxeo.
Here is an excerpt of the user schema definition (posix-ldap-user-schema.xsd).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
            xmlns:nxs="http://www.revolutionlinux.com/nuxeo/posix-user"
            targetNamespace="http://www.revolutionlinux.com/nuxeo/posix-user">
 
...
 
  <xs:element name="username" type="xs:string" />
  <xs:element name="password" type="xs:string" />
  <xs:element name="email" type="xs:string" />
  <xs:element name="firstName" type="xs:string" />
  <xs:element name="lastName" type="xs:string" />
  <xs:element name="company" type="xs:string" />
 
  <xs:element name="uidNumber" type="xs:int" />
  <xs:element name="gidNumber" type="xs:int" />
 
  <xs:element name="groups" type="nxs:stringList" />
 
</xs:schema>
This is an excerpt of the group schema definition (posix-ldap-group-schema.xsd).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0"?>
           xmlns:nxs="http://www.revolutionlinux.com/nuxeo/posix-group"
           xmlns:xs="http://www.w3.org/2001/XMLSchema">
 
...
 
  <xs:element name="groupname" type="xs:string" />
  <xs:element name="description" type="xs:string" />
 
  <!-- references -->
  <xs:element name="members" type="nxs:stringList" />
 
  <xs:element name="gidNumber" type="xs:int" />
</xs:schema>
Extension of the type service with the new schemas.
1
2
3
4
5
6
7
<?xml version="1.0"?>
<component name="com.rlnx.nuxeo.posix.schema">
  <extension target="org.nuxeo.ecm.core.schema.TypeService" point="schema">
    <schema name="posix-user" src="posix-ldap-user-schema.xsd" />
    <schema name="posix-group" src="posix-ldap-group-schema.xsd" />
  </extension>
</component>

Layout extension

Finally, you need to redefine the UI used to create users and groups. Here is a small excerpt of what was added to the default layout.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<layout ...
...
  <row>
    <widget>uidNumber</widget>
  </row>
  <row>
    <widget>gidNumber</widget>
  </row>
...
  <widget name="uidNumber" type="text">
    <labels>
      <label mode="any">UID</label>
    </labels>
    <fields>
      <field schema="posix-user">uidNumber</field>
    </fields>
    <widgetModes>
      <mode value="create">edit</mode>
      <mode value="editPassword">hidden</mode>
      <mode value="any">view</mode>
    </widgetModes>
    <properties widgetMode="edit">
      <property name="required">true</property>
      <property name="styleClass">dataInputText</property>
    </properties>
  </widget>
  <widget name="gidNumber" type="text">
    <labels>
      <label mode="any">GID</label>
    </labels>
    <fields>
      <field schema="posix-user">gidNumber</field>
    </fields>
    <widgetModes>
      <mode value="create">edit</mode>
      <mode value="editPassword">hidden</mode>
      <mode value="any">view</mode>
    </widgetModes>
    <properties widgetMode="edit">
      <property name="required">true</property>
      <property name="styleClass">dataInputText</property>
    </properties>
  </widget>
...
</layout>
You should follow the instructions in the Nuxeo documentation page I linked to properly configure your repository. I can’t expose my directory configuration files to the world and the other files I linked may not be suited to your organisation.

Configuration files

Patched component

Copy this file in the bundles directory of your Nuxeo installation, replacing the file of the same name. Erase the earlier version of the file (5.4.0) if you are running with an older version of Nuxeo.
Written by Fran├žois-Denis Gonthier
March 21st, 2011 at 12:37 am
Posted in Java,Nuxeo,Programming
Tagged with , , ,

A Wizard to FAIL




I’m doing one of my daily system upgrade when I got to this pair of wizard dialog. This happens when I’m trying to upgrade the flashplugin-installer package.

This gives you no choices but to click Forward to move to the next screen. Hoping for a way out, here is where you end up.

Note that there is no way to close the window. This window will need to be killed. This is unfortunate because while I know how to get out of this, a ordinary user would not. Even if it turns out I have accidentally got myself in this situation by unknowingly clicking the incorrect option (I don’t

A New Powerful Rocket Can Send Man to The Moon or Mars



The California based company SpaceX announced their plan to build a rocket more powerful than any rocket that has ever been built so far to this day. The huge rocket will be called Falcon Heavy which is an upgrade to the Falcon 9 rocket.

SpaceX plans to upgrade its Falcon 9 rockets with twin strap-on boosters and other systems to make them capable of launching larger payloads into space. With this increase in power, SpaceX feels this rocket can travel beyond low-Earth range and possibly travel into our solar system using less capability then most rockers built today. The Falcon Heavy rocket will also be powerful enough to bring man back to the moon and possibly Mars. In order to travel that far, Falcon Heavy will require more lift than even NASA’s Space Shuttle. Designed to generate 3.8 million pounds or 1,700 metric tons of thrust, the rocket will be able to do the job. Test flights can happen as soon at 2013.
If another trip to the moon is planned in the future, the Falcon Heavy would not be capable to deliver all the necessary components to make the trip happen. One thought is to launch the astronauts and moon lander in one trip, then a second liftoff would follow to deliver the vehicle to bring the crew back home.
In addition to possible flights to Mars and the moon, the Falcon Heavy can serve other purposes as well. A Las Vegas-based company, Bigelow Aerospace, is designing a commercial space station, and trying to establish a private moon base. A destination this far would require a vehicle to help build it, as well as a rocket to carry space tourists to and from the base.
SpaceX is not settling with just building the Falcon Heavy. Their sights are set on an even more powerful rocket called the super heavy-Lift, which will have three times more the capability than the Falcon Heavy. This vehicle will have no problem traveling far beyond Mars. SpaceX currently has a small contract with NASA to explore the possibility of building the super heavy-lift rocket.
 

I’m Having A Party. Here’s $50. Bring Cool People — Or You Owe Me $100.



Think about the best parties you’ve ever been to. They’re probably not thrown by some random promoter that you found via a flyer on the street. They’re probably thrown by your friends, or a friend of a friend. And they probably came together organically. Or at least more organically than a party you pay for.
I’ve been thinking about this a lot this week following the news that Google is tying all employee bonuses this year to their social strategy. At first I thought this was a joke. It is not. They dance around the word “social” in the wording in the memo, but make no mistake: that’s exactly what this is all about.
[Your bonus] can range from 0.75 to 1.25 depending on how well we perform against our strategy to integrate relationships, sharing and identity across our products.” Social.
And yes, you read that correctly, the bonus can go up or down based upon Google’s performance in the social realm. The critics are already jumping all over this one, noting that it looks like all Google employees will be losing bonus money this year. And given the decided lack of success from products like Wave, Buzz, and to a broader extent, Orkut, who can blame them?
But on a higher level, it’s the strategy itself that may be the most interesting thing here. Mathew Ingram notes that you can’t threaten people into being social. While Mike Elgan calls this Larry Page’s first blunder (as CEO). I actually have a slightly different take on this. I think that on paper, this is actually a good idea and strategy. But in practice, I think it will ultimately be looked upon as a bad thing and may even directly backfire.
At this point, at least we know that Google understands the value of social. Hell, they just appointed a SVP of Social (Vic Gundotra, which we more or less noted months ago). They’re clearly not asleep at the wheel as Facebook zips by them. And they know that unlike Wave, Buzz, and Orkut, they need to get meaningful traction worldwide.
With Wave and Buzz, both products saw an initial wave of buzz (see what I did there?). But the hype quickly died down and the products atrophied. Given what we know about Google’s social strategy going forward, and interpreting this new bonus strategy, it would seem that Google wants to do the exact opposite with any new products they push. Instead of launching under some massive buildup and then watching a product not be able to live up to it, they want to do slow, gradual roll-outs that are propelled by Googlers themselves.
Again, on paper this is not a bad strategy. Many of the services you know today started out this way. They didn’t launch with pomp and circumstance, instead they started out small and were pushed by a small group of diehard early-adopters. Twitter, Foursquare, Instagram, even Facebook could fall into that category. It’s the same story over and over again. It doesn’t always work — but it has a much better chance than the massive launch route. And much less downside.
The problem that I have is that all of those launches were organic (or mostly organic). Naturally, employees of the companies were pushing their products, but at launch, all of them were small startups with just a few employees. The “Google Strategy” of making sure all employees push the products simply wouldn’t have meant much. Instead, they had to rely on the early adopters (some of whom were friends, but that too isn’t enough alone). And the natural progression from there.
But Google has nearly 25,000 employees. It seems that will lead to an artificially and prematurely inflated re-creation of the launch environment described above. And that may only serve to create the type of paid-for party that I talked about at the beginning. It’s a party that will attract a lot of people. But it’s not one that anyone will likely remember — or want to go to again.
And given that we all now know about this strategy, the initial Googler push will be an even harder sell. We’ll all be very skeptical. So the strategy could actually backfire.
Unless…
Google can actually get away with this strategy if the products they release are good. Really good.
If they’re good, the Googlers’ push should actually accelerate the launches. It won’t matter at that point if the initial push is real or fake, enough people will try the product(s) out and see for themselves. But given Google’s past history in social, this is a very big “if”.
Over the past few months, we’ve had more information than anyone about Google’s social strategy and products. We’ve gotten leaks and have talked to people who have actually used the things Google is working on. All of this is still very fluid (see: the +1 toolbar), but the constant has been that we have not yet heard of anyone absolutely blown away by what Google is working on. This worries me with regard to this new Google strategy.
Having said that, Google still has several things yet to launch, many of which I’m sure we still know nothing about. For all the multiplexing video conferencing services and Loop (or is it Circles?) mobile networks, there are likely many more things being worked on. And we also know that Google has been calling in other experts in the space from around the Bay Area to get opinions and advice.
But this many-pronged approach has issues of its own. As Elgan points out in his Computerworld post today:
People prefer Facebook to Google’s many socially enabled services because Facebook is a place they can go to be social. With Google’s far-flung social services, there is no “place.” There is no party. Google’s approach to social isn’t fun.
Google’s strategy of baking social into everything will never, ever beat Facebook. Google needs a social networking site. (But not Orkut.)
Mike has stated this idea in the past before as well. One major problem that Google has in social is that there is no one place to go to be social. And it’s pretty clear at this point that there won’t be. That was in the cards a long time ago, but now it’s all about these new products wrapping Google’s other products in social. That’s going to be a really hard sell.
I’m left wondering if it wouldn’t be smarter for Google simply to focus on a frontier that hasn’t been won yet: mobile. While Facebook and Twitter are both growing very, very fast in mobile, there’s still an opportunity for something new to come along in that space from a social angle and disrupt them. And Google would have a massive potential advantage with Android. Why not start something totally new from scratch — not tied into any of Google’s very forced social graphs like email contacts — and go from there?
I’ve argued before that Buzz should have gone this route. And Google may be indirectly pushing this way with things like the Slide-built Disco.
Speaking of discos, let’s hop back to the idea of a party. Unless their products are truly excellent right off the bat, Google needs their social products to be parties that friends get invited to organically. As we’ve already seen with Buzz, being force fed can lead to vomiting. That’s why this new strategy worries me — it’s pretty likely that it will not work. We’ll all be at a party that no one wants to be at because a bunch of Googlers are being paid to invite us.
But if that’s the case, at least that extra bonus money saved can go towards the “Buy Twitter Now” fund.

I Won’t Use Flickr Until They Release My Photo Hostages



Freemium business models are always hard. You have to give users enough for free that they try your service out and get hooked. Then you hit them with fees for upgraded features that make it even better. With a perfect product people don’t mind paying because they feel like it’s good value.
Flickr is a freemium service. But they have more of a hostage taking business model. It may make people cough up the money, but they sure aren’t happy about it. I, for one, have been staring them down for years now. It’s not a fight I think I’ll win, but it’s one that I’m willing to whine loudly about.
On the surface Flickr’s pro service, currently $25/year, seems fair. The free service lets you upload a certain amount of photos, up to a certain maximum size per photo. The pro version allows unlimited uploading and a bigger maximum size per photo.
Reasonable? Absolutely. I originally upgraded to Pro almost immediately after using the service so that I could upload lots of pictures all the time.
But I’m guessing the real reason most people upgrade isn’t to get unlimited uploading. Rather, it’s because Flickr holds your old photos hostage until you pay up.
My Pro account expired at some point, probably because I missed an email or my credit card number changed. I wasn’t using Flickr as much, having moved more to Facebook because of the structured people tagging feature. But then one day I was searching for an old treasured photo that existed only on Flickr and on the hard drive of some long forgotten and discarded mobile phone.
Flickr won’t show me that photo. If your pro account expires only your last 200 photos are shown. The only way I can get access to that photo is by paying the Pro fee.
That is absolutely no way to treat a customer.
And it doesn’t make sense for Flickr. Even though I uploaded those photos as a Pro customer, I can’t see them any more. It’s not that they aren’t just displayed on my public profile, I can’t access them in account settings, either. And even the ones that are displayed are only downloadable in a smaller resized version. Originals are held hostage as well.
Will I pay the Pro fee to get these photos back? No. Although I understand that many people will. But those people will not be happy customers, and they will likely just download their photos at that point and never go back to Flickr again. People certainly shouldn’t get comfortable using Flickr as a repository for their photos over the years, because unless you pay the Pro fee, you’ll lose them forever.
That isn’t what Flickr should want to be. They should want people to feel safe uploading their photos, knowing that they have ultimate control to access and download them in the future.
Flickr has sat on the sidelines as mobile photo apps have come into their own. They aren’t a useful long term repository of your photos. And their business model involves hostage taking. Not exactly what I’d call a thumbs up.
If a photo service wants my business, at the very least they need to promise me the ability to download all my photos in original quality down the road. Because they’re my photos, Yahoo. Not yours.

Kno Bails On Hardware, Takes Another $30 Million. Is An Android App Next?

Kno Bails On Hardware, Takes Another $30 Million. Is An Android App Next?


Take a good look at the Kno textbook tablet at left because you might not ever see it again. Kno is getting out of the hardware business and, as reported earlier, taking another $30 million from Intel Capital, Advance Publications (owner of Conde Nast), and its previous investors (Andreessen Horowitz, Floodgate, First Round, and SV Angel). The company is now confirming the reports. CEO Osman Rashid puts it to me this way: “We have accelerated our 2012 strategy to 2011. Our long-term plan was always to support multiple platforms.”
Kno started selling its textbook tablets last year, with a $599 single-screen version and an $899 dual-screen. But, as I’ve noted before, competing against the iPad and Android tablets makes absolutely no sense. If a student is going to buy a tablet, they will buy one of those first. Nobody is going to carry around two tablets. Plus, you can’t play Angry Birds on a Kno.
To be fair, Kno began to design its tablet before the iPad launched. “We started to build a tablet in 2009 because we believed the tablet form factor was the way to go,” says Rashid. “Over last few quarters the world has changed with tablets. Our core strength was software.” Sales of the Kno tablets were underwhelming, and anyone who bought one will be offered a refund if they want to return it. Or they can keep it (the tablet is actually pretty decent).
As part of the financing, Intel will also license Kno’s hardware design to work with OEMs to build future tablets. Again, unless these future tablets run Android, I don’t see the point.
Kno itself will now focus on recreating its textbooks and associated software for the existing tablet market. Expect to see an Android or iPad app very soon. Of course, this will change the entire economics of the business, especially if Kno now has to split textbook sales or subscriptions with Apple on the iPad.
Although Rashid wouldn’t confirm which platform Kno would support first, it doesn’t sound like it’s going to be the iPad. Kno’s software centers around using a stylus, not your fingers. “There is no real concept of a stylus on the iPad,” says Rashid. “The current iPad is mant for the finger.” He hopes this will change. “We hope Apple over time sees the value of a stylus in education because kids do need to learn how to write.”

Software Application Development VS Web Application Development




intelligence small business software open source
Internet has slowly taking over as something important if not part of our life. Most of us need the internet connection for majority part of our life, be it for studying purposes, doing researches, work related stuff and some of us have even venture into ecommerce as well as shopping just in front of the computer monitor screen. The Internet has made our life so easy that businesses started to mushroom without the need of much capital unlike traditional businesses. What is more important, side business like web site hosting andsoftware developmenthouse are also mushrooming out of nowhere.
Software development is no longer like previously whereby most of the software development is done offline and the applications are not portable to from one to another platform. Because of this reason, some are slowly moving towards web development as developing web application can cheaper or on par with the software application.
Web development companyis also like a software development house, but this company will design and develop ecommerce websites or web application according to the customers need.Ecommerce websiteor web application that the company developed has to be able to support multiple platforms ranging from Internet Explorer, Firefox, Chrome and even Safari. By supporting multiple platforms, target audiences will not be fixed or limited to use only certain browsers, thus in the long run will generate more traffic and community of the ecommerce website or the web application.
With smartphones slowly a trend, web application or ecommerce website must be supported to mobile platforms as well – thus coding is tedious as programmer must write a function using shorter code.
Tags: intelligence, small business, software, open source, sem, seo, web development, wordpress, wordpress themes, domain names

Affordable web design




Indian Freelance Web
Affordable web designservices fromAffordableWebDesignsIndiaas we are leading and pioneer Web Development and design Company. We are an India based Web Design Company that focuses highly qualitative, timely delivered, cost effective and eye-catching Web design and Web Development services. Combing our solid business domain experience, technical expertise, profound knowledge of latest industry trends and quality driven delivery models we offer progressive end to end web development and design services.
We have an expert and highly skilled team of 50+ Web Designer and web developers who are known for providing the best Web Design services. We provide affordable web design services not only in India but also on the entire globe. Some of our main affordable services includes:Affordable Iphone Developer,Affordable Java Developer,Affordable Asp Net Developer,Affordable Flash Developeretc. So you can hire the best andAffordable Web Developerand designer for best web design and development services who can really take your business on the top.
All the services atAffordableWebDesignsIndiaare offered by the dedicated professionals in order to achieve our client’s expectations. We provide outsourcing web development and design services in order to reduce cost and shape up the business operations. We have also achieved mastery in providing Affordable services such asAffordable Magento Developer,Affordable Drupal Developer,Affordable WordPress Developer,Affordable VirtueMart Developeretc and provide these affordable services all over the world. OurAffordable Designerand Developer know the nuance of the market and work according the market strategy.
Affordable open source developerand designer fromAffordableWebDesignsIndiaare expert in providing open source web design services at minimum cost with high accuracy. We also offerAffordable HTML DeveloperandAffordable Ajax Developerat great level.
We have an expert team ofAffordable PHP developerproviding every PHP web development services with finest accuracy at minimum cost. We have also an expert team ofAffordable Joomla Developerwho are expert in providing every Joomla Development and design services.
If you need to hire any of these affordable services then please feel free to contact us atinfo@samiflabs.com
Tags: Indian Freelance Web, Graphic Designer, personal website, online business, affordable price, designs, web design, graphic design, india, freelance, freelancer, part time web design

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Blogger Templates