lucis

computers, graphics, movies, books, photography, life, universe and everything

1/28/2006

Whitebalance on pictures at timesofindia.com

Filed under: — ankit @ 5:42 pm

Over the past few weeks the homepage of Times of India has been posting picutures of hollywood and (sometimes) Indian celebrities. The pictures go with some absolutely ridiculous piece of news under them (such as, some one famous brushed her teeth today). What really bugs me with these photos is that about 9 out of 10 times the whitebalance on them is WAY off. The skin tones are horribly wrong, and there is either a greenish, or a bluish, or a yellow cast to the whole picture. I am amazed as to how a newspaper the size of ToI can let such a thing get by for so long. Tells you the state quality control with Indian websites…

12/31/2005

KDE and amarocK

Filed under: — ankit @ 12:52 pm

I’ve used gnome as my default desktop for the better part of the last three years. Why? Because it “looked” better than KDE back when I tried them both. KDE was a tad faster, but everyone wants some eye candy! But it looks like KDE has come a long way. This post has convinced me to give KDE another spin. Of all the things mentioned, I think amarocK looks the most impressive. A serious iTunes replacement? We’ll see…

12/27/2005

smugmug vs flickr vs pbase vs …

Filed under: — ankit @ 9:20 pm

leaves on stairsOver the past few days I’ve been trying to decide on a photo sharing website. flickr is extremely popular and the pro account has unlimited bandwidth and storage. It also has an amazing community with millions of cluncky but functional groups. However, I could never get myself to like the flickr user interface. Sure, there are quite a few intelligent features, but for the most part the UI is simply unusable. The amount of whitespace wasted on each page is absolutely ridiculous. The slideshow feature is really a joke (who would want a slideshow in a tiny part of the window!?). I even setup a flickr account for myself, but never really uploaded much.

pbase was one of the very first photo sharing sites on the net. It has some really cool features like searching the camera/lens database. Unfortunately the interface is somewhat antiquated (though very flexible), and they offer very little storage space.

And then there is smugmug. It has the best UI by far (though not very configurable for the standard account). They offer unlimited storage and a generous bandwidth cap per month. They have a fairly decent API for third party apps (though not as popular as flickr). Nice full screen slideshows, print ordering, and the option to upgrade to a power user for a highly customizable look are added benifits. The only thing that really goes against smugmug is the lack of a real photo-sharing community like flickr.

So, I was really jumping between smugmug and flickr and finding it hard to decide until I came across this thread on their smugmug’s support forum. This guy basically wants to upload 2+ terabytes worth of images, and is wondering if smugmug can handle this. Here is the response that he got from those incharge:

Wow, that must be close to 500,000 JPEGs! Quite a collection - I can’t wait to see them. :)

So we’ve always said “unlimited storage” and we mean what we say. We’re happy to take your photos and host them, but we need a little time to prepare.

Just so you know, this is something like a $20,000 first-year commitment for us in terms of disk space, power, cooling, and physical space. You’ll basically have two complete RAID arrays to yourself in our datacenter. Of course, you’ll only pay your $30, $50, or $100 per year, depending on your account level. Again, we’re happy to do it - but I want to be up front here and let you know that we need to order some equipment and get it installed to accept your photos. We’re not geared for accepting 2.5TB overnight. :)

We’ll also be buying extra image processing machines just for your batch of photos. Luckily, once yours are done, everyone else at smugmug will get to benefit from them, so I don’t consider that a cost to host you.

Does that sound fair? Can we ask you to hold off while we order and install the equipment and power required?

Thanks!

Don

Wow! This is called customer service. I immediatelly signed up for a standard account at smugmug :)

Here is my smugmug webpage. I’ll be adding pictures and organizing it in the coming weeks. Will also post links here, and hopefully have something like a photoblog that is linked to smugmug soon.

Finally, if you do decide to go with smugmug, use this referrer code while signing up MwBAowRs6Oiis - it will save you $5, and give this poor graduate student a $10 credit towards next year’s service.

4/3/2025

Why the Simputer was doomed

Filed under: — ankit @ 8:58 pm

Just saw story on /. about how the Simputer is turning out to be a failure. About 3 years back I was really interested in linux on the hendhelds, and came into contact with several people working on the Simputer project at IISc, Bangalore. While it is a really fascinating idea to have an open source hardware/software solution, I was never convinced it would succeed. In fact, I would say it was a really bad idea!

Unlike software, having an open source project for hardware does not work very well in general because electronic hardware is a numbers game. The more you manufacture, the cheaper it gets. For a big manufacturer such as Compaq or Dell or Palm, the actual manufacturing cost of the handheld turns out to be very close to negligible. For a company like Picopeta, however, it the cost turns out to be orders of magnitude higher! A hardware product for a niche market was never going to work.

What is interesting is thinking about what should have been done. The need for an electronic computing device for the rural environment is understandable, but developing a new piece of dedicated hardware is wrong in my opinion. A better alternative would have been to take a compaq ipaq (which retailed for about $150-$200 even back in 2001), and develop custom software for it. Linux ran great on the little ipaq 3100 even back then. Developing a nice and easily usable UI would have been the smart thing to do. Since hardware only gets cheaper, and older handhelds can be had for peanuts, this would make the “simputer” far more affordable and would have had a much greater chance of success.

In the end, the simputer still costs $250+, while you can get a modern Pentium 4 with decent graphics and a 19″ monitor for under $200. I hate to say this, but I guess this is what happens when a company is run solely by academicians!

12/23/2004

a9.com

Filed under: — ankit @ 4:24 pm

I recently came across this search engine by amazon. It is actually a fancy front-end for google. So far, I am pretty impressed. In stark contrast to google, a9 uses your amazon identity to remember you. What this means is that it can use your previous search queries to refine the search results. You can also simply drag URLs to add them to your a9 bookmarks. Another really cool feature is the a9 diary, which lets you leave notes about websites you visit. You can also get search results from Amazon’s “Search Inside the Book”, and imdb! To top it all off, there is a really nice and functional toolbar for Firefox. The site makes heavy use of javascript (very similar to gmail), and is extremely configurable. Read more about why you should care.

I dont think a9 is going to replace google for my day-to-day searches quite yet, but I am really excited about the future possibilities it holds.

10/27/2004

I love Dell

Filed under: — ankit @ 12:55 am

Every quarter, Dell pulls a nasty trick on its stock holders. In order to increase their quarter revenues and look good to the investors, they sell thousands of computers at a HUGE discount. A bulk of this discount is generally in the form of a Mail-in-Rebate (so the rebate comes out of the next quarter’s revenues). These discounts work on different levels, but more often than not they are in the form of coupons that “people in the know” post on various deal websites. At other times it is a “secret link” that lets you get a computer for much cheaper (again, this link is posted by someone on one of the many deal forums). The end result: the stock holders are happy, customers are happy, dell is happy, and we have world peace!

I have got several good deals thanks to these quarterly dumping of computers. The latest was a 2.8GHZ HT enabled P4 computer, with the Intel 875 motherboard, a 80GB hard drive, 128MB RAM, and a CDROM for the sum of about $150, including tax and shipping. The CPU itself would cost you around $180 on newegg. And what tops it all is the case. It has an innovative Dell single fan cooling design. The result is that the computer is ultra quiet (well atleast it was before I loaded it up with my noisy hard drives and graphics card). I was initially concerned about the punny 250W power supply, but it has held up very well inspite of all the load I am putting on it! Very impressive.

For more information about the now famous Dell 400SC, see the unofficial Dell 400SC FAQ.

A laptop for $900 with three year complete care, warranty, and what not. A 200GB hard drive for $20. A great desktop for $150. Keep it coming, Dell!

10/19/2004

Help Firefox get a full page ad in NYT

Filed under: — ankit @ 10:00 am

Spread Fire Fox has launched a campaign to collect funds to place a full page ad in NYT celebrating the launch of Firefox 1.0. All those who donate would have their name a part of the ad. If you use firefox, consider donating (this may be your best shot at getting your name in NYT ;) ). If you are still struggling with IE, get firefox NOW and be a part of the revolution!

9/24/2004

Doom 3

Filed under: — ankit @ 1:53 am

doom3.jpgRecently upgraded my video card to an ATI Radeon 9800 Pro. Yea, it is already obsolete, but less than six months ago it was the fastest card around!

The sole reason for doing this is Doom 3. I (and thousands others) have been eagerly waiting for this game for years. Very few companies can cause people to upgradde computers as well as id and microsoft can! I remember getting my first 3d accelerated card to play Quake 3. Come to think of it, I spent more on that humble Geforce 2 MX a three years back than I did on the new 9800pro!

Anyways, back to the game. Let me set one thing straight, I absolutely LOVE Quake 3, and couldnt care less for Age of Empires. That should give you an idea of the kind of games I like. Unike movies and books where I like the director to challenge me with puzzles, I like games that are straightforward and fast paced. Doom 3 fits the bill almost exactly. It is a typical id game. Shoot anything that moves. No need to think too much or to solve complex puzzles, just fast paced action. If you want something to challenge your grey cells, look elsewhere. If you want to kill wierd alien creatures in the most hackneyed First Person Shooter fashion (exactly what I want), Doom 3 is your game.

The best aspect of the game is the lighting. It is simply brilliant. Nothing I’ve seen even comes close. It is also the most scariest game I’ve played. Turn off the lights, pump up the volume, and you are on Mars fighting all kinds of wierd creatures. Sound is great (though I’ve seen better), but the lighting is simply unbeatable!

Unfortunately, I think the game falls a little behind Quake 3 in terms of fun. Again, this is very subjective, but I loved the no nonsense, no story gameplay of Quake 3. Perhaps the only thing I dont like about Doom 3 is the irritating side story where you are asked to go and do a certain thing to clear a level. It is redundant and boring. Just throw the bad guys at me, and let me kill them!

Also some of the AI is pretty ordinary. If you hear me shoot, or see my flashlight, come and get me! One last thing I dislike is that you cant hold both the flashlight and the gun at the same time - argh!

Give the game a shot - if not for the gameplay, just for the graphics - they are simply awesome! Definitely been worth the wait.

7/19/2004

Wake up Apple!

Filed under: — ankit @ 10:41 pm

The thing I hate more than anything else in an electronic product is a crippled product. I understand that this is necessary sometimes (for product differentiation), but most of the time it only shows how stupid and short sighted the company is!

Apple released the fourth generation ipods today. Among other significant changes (click wheel, USB charging, better battery life), are a whole bunch of firmware updates and enhancements. I am pretty sure all of these enhancements can be backported to the gen 3 ipod without difficulty. In fact, I would not be surprised if apple even has an internal firmware release that does exactly that. However, in all its wisdom, apple has decided not to make these enhancements available to the older ipods. The download page now lists four different firmwares for different ipod generation, each having a different feature set (inspite of all ipods using very similar hardware and microcontroller).

The only reason I can think behind this strategy is to make people upgrade every year or two. They want to make people think of the ipod as a traditional consumer electronic product, which cannot be upgraded or changed except by replacing it with a newer model. This can only spell disaster for Apple in the long run. You can make the best products in the market, have the best design team, have all the rave reviews and the cool factor, but if you dont care about your customers, sooner or later you wont have any!

I was seriously considering getting a powerbook sometime soon. But this really leaves a bad taste in my mouth. I dont know if I am all that enthusiastic about Apple any more. This is exactly the reason why I hate Microsoft, and Apple is turning out to be no different.

Here is what I think Apple (or any other company) should really do. Release all specs, and even the source code (or atleast parts of it) to the firmware/software for any hardware they sell under GPL or equivalent. There is no reason to hide code as Intellectual Property. Any decent programmer can dupplicate almost all the ipod firmware does in a under a month. The IP lies in the overall design and functionality of the product, not in the source code. This would encourage people to develop for the product and make it much better than the company can ever hope to make it. Why is the computer so popular - because the user can develop software for it and change it the way she wants. I see no reason why doing the same for consumer devices would not work. A drastic change in its business practice is what is needed for Apple to have any chance of competing against Windows/Intel/Linux.

I doubt it would help, but sign this online petition if you are affected by this issue. There is nothing more that can be done other than avoiding purchase of Apple products and waiting for someone to hack into the firmware.

6/16/2004

Firefox 0.9

Filed under: — ankit @ 10:23 am

firefox.jpegFirefox 0.9 is out! Faster, less buggy, new default theme (I think it is better now), new extension and theme management (check out this), better gtk+2 support (menus etc look more consistent with the desktop), and a million other things.

The bad thing is that it breaks many of the extensions that I used. Hopefully the extensions should be fixed in the next week or so.

Also, Thunderbird 0.7 is expected sometime this week. So get rid of that bloated, buggy, crappy, dumb IE/OE setup and be a part of the next revolution!

Update: Thunderbird 0.7 also released today. Looks good. I am seriously considering switching from mutt to thunderbird completely…

6/3/2025

IT security

Filed under: — ankit @ 11:54 pm

This would be absolutely hilarious if it wasnt so serious. Apparently hard drives and CDs containing security codes and other “confidential” stuff were stolen from an unguarded building about eight months back, leaving all defence, IB and RAW vulnerable.

This goes a long way to show that developing better, stronger encryption algorithms is not always the answer to improving security. Dumpster diving and traditional break-ins are probably a bigger threat.

On a slightly different note, I am surprised to see big places like Panera still print the complete credit card information on their recipt. This is a clear invitation for identity theft. Then there is the popular spam that tricks people into handing over their ebay passwords. The best fingerprint/retinal recognition security system is a failure if someone uses a doorstop to leave the door open.

I think the security problem is at a much lower level than Computer Science. It is about educating people about how serious a wrong click of a button can be.

5/6/2025

Dell service

Filed under: — ankit @ 8:52 pm

Last week my laptop got a little bump (my backpack fell from like six inches). For a while everything was working fine. Then I started getting all sorts of errors about the inbuilt bluetooth card. I dont really use bluetooth all that much, but the error windows that kept popping up (even with BT disabled) were extremely irritating, to say the least. No sweat, I have Complete care for three years (that means I can run a car over the laptop, and Dell gives me a new one). After about an hour of explaining the Indian Dell representative the difference between Bluetooth and USB, I managed to fix a pickup time scheduled for the next week. The Airborne guy turned up exactly at the decided time with a box for the laptop. And so started what I hoped would be no more than a week without my laptop… This was a couple of days back.

When I found the same exact box waiting for me this morning, my first thought was that Airborne had goofed up. I opened it, and was surprised to find a sheet of paper saying that the problem had been fixed. Woha! Way to go, Dell. From pickup to repair and delivery in under 48 hours!

So I remove my laptop. The screen hinge is fixed - it is not loose like before. The screen is all cleaned up of smudges and fingerprints. The keyboard is nice and sturdy (it was a bit bouncy earlier). Everything is nice and shiny - almost like new. In all the excitement, I almost did not realize that… the Bluetooth card DID NOT WORK! Apparently they had simply re-seated the card instead of replacing it :o

After another hour of struggling with another Indian “wireless specialist”, I gave up. Maybe I’ll try calling again sometime later. For now I guess I can live without Bluetooth for a while atleast.

Hey, look at the bright side… atleast they were fast in returning the laptop!

4/25/2004

Lesson of the day

Filed under: — ankit @ 7:37 pm

If you are about 90% done with your blog entry, and have a bunch of tabs open, and you hit SHIFT+CTRL+TAB to go to the previous tab, Firefox crashes! *argh*

This just happened to me twice. I’ll probably try the same entry again tomorrow; this time compose in Vim and paste here.

1/20/2004

iPod = Samurai sword

Filed under: — ankit @ 11:19 pm

Amazing analogy over at Penny Arcade…

The iPod is the modern-day equivalent of the Samurai sword.

It is a bit emasculating to admit this, but portable electronics have replaced sidearms in our culture. I draw upon the Japanese katana for my analogy for several reasons. First, the katana was much more than a mere weapon or cutting tool. It was a portable symbol of status, power, and class. The warrior class, the Samurai, were actually quite numerous. At their height they were nearly 10% of the population of Japan. Before 1876, wearing the katana conveyed to the casual observer that the wearer of the long and short swords possessed a rank and status of an elite group.

The simple fact that people are willing to pay hundreds of dollars more for an iPod, when equal technology is available in a less impressive-looking package, points directly to this analogy. People will pay more for a status symbol, and in doing so, they have made the iPod one of the most important cultural icons today.

The iPod is indeed beautiful, artfully designed, and really still is quite impressive technologically speaking. One of the most intriguing things to me remains that even though the headphones that come with it are of famously poor quality, people seem to hang onto them, since they seem to say, �I am a charter member of the iPod fraternity!�

- Penny Arcade

I would completely agree with the earphones part. I can tell another iPod user from a mile simply by the distinctive white earphones! And though I’ve never liked stock earphones with portable electronics (thanks my obsession for portable MP3 players, I’ve seen quite a few), I continue to use the iPod’s rather crappy earphones!

But I strongly believe that it is not only about pride and having a status symbol. A very big reason for the iPod’s success is that it is very attractive and has great looks and design. The touch wheel, the glowing buttons, the backlit screen - use it once, and you’ll want one for yourself. It is a a fact that Attractive things work better.

Wash and polish your car: doesn’t it drive better?

For a long, long time computers have been badly designed. Not just software (we all know how awful user interface on most software is), but even the beige colored boxes. Lian Li, for example makes awfully expensive ($150+) but really amazing computer cases. With a slide out motherboard tray, removable front panel and power supply tray, these attractive cases really work much better than ordinary $20 ones. And then there is this whole range of great looking products from Apple. It is no surprise that they also have the best Operating System and applications for the desktop. Things like this certainly add to the overall experience when one works on them. Most of us spend a majority of our day on our computers (why else would anyone be reading this) - and this is all the more reason to use hardware and software that one enjoys working on!

Edit: Found this article that talks about the packaging of the Powerbook and the iPod, and the difference such small things make to the complete ownership experience. Lots of thought is put into seemingly unimportant things - but they have a huge impact on the user. Isnt this true for all forms of art?

1/10/2025

Internet Radio

Filed under: — ankit @ 5:50 pm

I’ve always enjoyed listening to radio more than my own collection of music. This is mainly because of the uncertainty that radio offers, and because I really like to discover new and different types of music. For a long time I tuned in to Delhi’s only FM station (102.6), daily at 1AM for something called the “Wicked Hour”. Believe it or not, this was the only hour with bearable music in Delhi back then.

Then I found Internet Radio. This was a whole new world! Quality radio with no (or very little) irritating ads! For the past few years I’ve been listening to Radio Paradise almost exclusively! With a tagline of “Eclectic intelligent rock”, it suits my tastes almost perfectly. Has a great forum where you can discuss music that is being played and rate it in real time. Pretty amazing! It is playing almost 24×7 on my desktop (sometimes even when I’m not home!!)

Recently I found a great little piece of software called Stream Ripper. This basically runs either as a winamp plugin, or from the command line (even in linux!), and records whatever is playing on a shoutcast stream. The great part is that it even splits the stream into individual music files complete with ID3 information! There are variants of this, such as Stream Ripper 32, and the more powerful Station Ripper. Station Ripper allows you to rip upto 200 shoutcast streams at the same time. It even maintians a database of the songs it has downloaded to avoid duplication.

Now all I need is a shinny new ipod, and I am all set to have my favourite radio stations on the go!

Edit(01/12/04): Finally gave in to the temptation and ordered a 10GB ipod through amazon today. Got a pretty sweet deal ($236 including shipping) on it. Cant wait for it to get here!!

1/6/2025

Macworld/1984

Filed under: — ankit @ 6:16 pm

1984ad.jpgProbably the best thing to come out of Steve Job’s keynote at Macworld 2004 - a modified version of the famous 1984 Macintosh ad. This ad was widely shown for the first time at the 1984 Superbowl. It was directed by Ridley Scott, and introduced the original Macintosh system. The ad is widely regarded as a classic, and was highly successful. It was named the “Commercial of the Decade” for the 1980s by Advertising Age. The ad shows how the Macintosh would free the people from the Big Borther.

The change made to the ad is that the runner carrying the sledgehammer now also carries an ipod (neat!).

On January 24th,
Apple Computer will introduce
Macintosh.
And you’ll see why 1984
won’t be like “1984″.

The $249 ipod mini was a disappointment though (with expectations high for a price more like $99). Most people would rather spend another $50 to get the 15G one. But then, no one has ever been able to explain Apple’s strategies. I guess I’ll just breakdown and get the 15G one… Wait a minute, maybe thats what Apple wants!

1/4/2025

News aggregators

Filed under: — ankit @ 6:09 pm

For the past few weeks I have been looking for a good RSS aggregator. This gives pretty good list of the popular ones. Having tried some of the fancy ones, I was very disappointed. Most used Internet Explorer, or Outlook Express, or MS .NET. Having avoided MS internet products all these years, I was not going to start now. Besides, there is no way I would change my default browser/mailer, and using a two browsers would be clumsy and awkward. This rules out options like News Gator, SharpReader and FeedDaemon. Since I do not use Apple (too expensive for me!), NetNewsWire was also out.

One other requriement I have is the ability to seamlessly synchronize everything on atleast two different computers. (Ideally, I would also like synchronization to a handheld/cell phone, but I doubt there is any single solution that would do that.) So I tried some of the online aggregators like NewsIsFree, Feedster, and Fyuze. All were slow, clumsy and somewhat limited.

Then I tried AmphetaDesk. This is somewhat better than the others. Cross platform, relatively easy to use. But I found no easy way of syncing stuff across computers. Since it has a client-server model, I tried running it on a remote server, but the perl dependencies killed it :( . Maybe I’ll try this one again later.

Then I tried NewsMonster. My biggest problem - its in Java. This increases the startup time of Firebird, and I really like to have a lean browser.

phew… I was about to give up. Then I find an entry in my Recent referrals that appears to come from someone using Feed on Feeds. I decided to give it a shot, and boy, am I impressed! This is probably one of the simplest aggregators. And also the best (imho). Takes 5 minutes to setup on a server with MySQL and PHP. Has a nice bookmarklet that lets me subscribe to sites. Supports atom. Since it runs on a remote server, I can access my news anywhere and not bother about syncing! Everything I was looking for, well almost. It doesnt have categories. The UI isnt great. There are some bugs, and marking a feed as read is somewhat clumsy. But, what can I say. It is the best I’ve tried so far.

Then there is the bigger thing about news aggregators that I dont like. They all work only in one direction. I am yet to see anything that allows you to post comments without going to the actual website. Now that would be really cool. Some allow you to make an entry into your own blog, and send a trackback to the original story. But a simple “Post to MT” bookmarklet does that. RSS itself seems somewhat limited to me.

I have been thinking a lot about what the ideal community interface should be. How do blogs, News sites, discussion forums, emails etc. come together in one place.

But this material for another post. For now, I am happy to have found a news aggregator that I like, atleast for now.

12/31/2003

Adblock/firebird

Filed under: — ankit @ 8:10 pm

For the past few days I’ve been using this amazing little firebird extension. Its called Adblock. It is easily one of the best ad blockers that I’ve seen. No need for clumsy proxy servers and such. And coupled with firebird’s popup blocker, my internet experience is once again like it used to be about 3 years back (no ads!). It is specially great for browsing Indian news websites like TOI etc. Also works great with /., and Google Adsense.

The way this works is that each time you see a website ad, you hit a hotkey combination, select the offending image, and add a regular expression that defines its url to your list of filters. Though there is no official template, lots of examples can be found on the forum. I’ll also keep an updated copy of my filters here (mainly to sync between the three computers that I use). Its amazing how many ads can be taken care of with a surprisingly small number of filters!

On a related note, I was forced to use Internet Explorer recently after a long time (thanks to websites not sticking to standards). The whole experience is so much worse. Popup ads, no tabs, no middle mouse clicks, animated ads… I never really liked or used IE, but with firebird/mozila improving so much in recent years, IE is now far behind (imho - ofcourse, a majority would think otherwise).

While you are at it, also check out preferential, an extension that adds lots of advanced preferences to mozilla/firebird. Really cool!

12/16/2003

Solaris clear

Filed under: — ankit @ 2:41 pm

Here is the what the _Solaris_ clear command looks like:

#!/usr/bin/sh
#       Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
#         All Rights Reserved
#       THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T
#       The copyright notice above does not evidence any
#       actual or intended publication of such source code.
#ident  "@(#)clear.sh   1.8     96/10/14 SMI"   /* SVr4.0 1.3   */
#       Copyright (c) 1987, 1988 Microsoft Corporation
#         All Rights Reserved
#       This Module contains Proprietary Information of Microsoft
#       Corporation and should be treated as Confidential.
# clear the screen with terminfo.
# if an argument is given, print the clear string for that tty type
/usr/bin/tput ${1:+-T$1} clear 2> /dev/null
exit

Is this a joke, or is this really from _Xenix_ (Microsoft’s unix implementation)?

Powered by WordPress