PHPTECH
Monday, March 6, 2017
Wednesday, February 22, 2017
Tuesday, March 27, 2012
Why Javascript is a Joy
I’m probably a bit biased – being a front-end web developer for a
few years will do that – but I really enjoy writing Javascript. I’ve
recently retreated from pure coding the last few months, but I got an
opportunity this past week to jump back into some tasks, and it has
reminded me how fun it is to dive into our[1] front-end codebase.
Yes, Javascript can be surprisingly elegant yet completely infuriating, and all on the same line of code; for a long time, it remained the joke of the programming community, the deranged cousin that outuglied even the likes of PHP and Perl. Nowadays, JS is the language in the spotlight, and having its strengths exposed to increasingly more developers make me happy to have stuck with the language, warts and pus and all. Here’s my attempt to collate exactly why I like working with Javascript.
Moreover, JS is really fast to write and test. Write – save – refresh[2]; it’s an absurdly fast dev cycle that lets me iterate on questionable portions of the code much faster than any environment I’ve worked in. With the readily available (and quickly instantiated) webkit console and debugger, it’s a pretty powerful and productive coding environment[3]. I’m also warming up to Jasmine for unit testing; it has the right set of tools to deal with modern MVC objects, and hundreds of tests execute in a matter of seconds. Best yet, having the entire suite of tests run and complete on a whim enables better TDD practices.
The web has deemed Javascript a part of its native tongue, and there are a ton of diverse tools available, most with minimal setup. My favorite pairing interview questions involve sitting the candidate in front of a computer with nothing more than a browser and a text editor; not only do we have the aforementioned browser console and debugger, but we also have access to APIs, libraries, and frameworks. We can tackle anything from storage systems to object modeling to data structures to user interfaces.
Plus, I don’t particularly like managing gem versions, especially as a prerequisite to running my dev instance.
Maybe framework authors want to keep downloads small, or maybe they’re in on this shared philosophy of keeping things simple, but I honestly haven’t find that many popular Javascript libraries/frameworks that make their developers buy into their systems, the same way Rails and Django and CakePHP set up strict conventions for their respective frameworks[4]. The highly regarded ones (e.g., jQuery, Underscore.js, Backbone.js), in addition to being completely readable, maintain a lean codebase and actively limit their scope. They’re designed to do a few things well, and are happily interoperable.
A theme I have come across the frameworks I’ve used on both the client and server is that inevitably, I struggle with dealing with force-fed conventions which break on more interesting problems. I’m forced to go down a path of unfurling layers of abstraction, finding that one variable assignment that I undo back on the top of the software stack. Whether it’s patching middleware in Pylons, controlling DOM structure in GWT widgets, or tweaking the modalness of dialogs in Win32, they’re well-meaning to start but burdensome in the face of unconventional requirements.
So in a strange way, I’m happy that the messy Javascript I sometimes write tend to not last long. By nature, front-end code has a short shelf life: pages are redesigned, A/B tested and overhauled in short succession, and my painstakingly elegant carousel implementation may not have a place in the new design. The modular, drop-in nature of Javascript in the browser lets me refactor a widget out of existence without having to tease apart type hierarchies and de-metaprogram class functions. It’s especially easy when I have a few tests backing up the procedure.
Really, that’s all it takes. As easy to write as it is to unwrite, Javascript is a joy.
Yes, Javascript can be surprisingly elegant yet completely infuriating, and all on the same line of code; for a long time, it remained the joke of the programming community, the deranged cousin that outuglied even the likes of PHP and Perl. Nowadays, JS is the language in the spotlight, and having its strengths exposed to increasingly more developers make me happy to have stuck with the language, warts and pus and all. Here’s my attempt to collate exactly why I like working with Javascript.
Speed
Google’s V8 Javascript engine has enabled faster code execution (in both our web browsers and our servers), and that has paved the way for additional complexity and structure. We now send hundreds of kb’s of minified Javascript to the client, and we expect all of it to run smoothly. Along with hardware-accelerated animations, HTML5 mobile apps are quickly catching up to their native counterparts in terms of look-and-feel.Moreover, JS is really fast to write and test. Write – save – refresh[2]; it’s an absurdly fast dev cycle that lets me iterate on questionable portions of the code much faster than any environment I’ve worked in. With the readily available (and quickly instantiated) webkit console and debugger, it’s a pretty powerful and productive coding environment[3]. I’m also warming up to Jasmine for unit testing; it has the right set of tools to deal with modern MVC objects, and hundreds of tests execute in a matter of seconds. Best yet, having the entire suite of tests run and complete on a whim enables better TDD practices.
Simplicity
Javascript, for everyday non-gotcha coding, is a pretty lightweight language. The list of reserved words is hardly intimidating, and there is a similarly limited set of types to worry about once you get past the unfortunate string-number auto-casting. JSON has become a preferred transfer format precisely from its simplicity, concision, and readability.The web has deemed Javascript a part of its native tongue, and there are a ton of diverse tools available, most with minimal setup. My favorite pairing interview questions involve sitting the candidate in front of a computer with nothing more than a browser and a text editor; not only do we have the aforementioned browser console and debugger, but we also have access to APIs, libraries, and frameworks. We can tackle anything from storage systems to object modeling to data structures to user interfaces.
Plus, I don’t particularly like managing gem versions, especially as a prerequisite to running my dev instance.
Freedom
With simplicity comes Javascript’s greatest asset – the freedom to code in whatever way makes sense to you and your crazy band of fellow developers.Maybe framework authors want to keep downloads small, or maybe they’re in on this shared philosophy of keeping things simple, but I honestly haven’t find that many popular Javascript libraries/frameworks that make their developers buy into their systems, the same way Rails and Django and CakePHP set up strict conventions for their respective frameworks[4]. The highly regarded ones (e.g., jQuery, Underscore.js, Backbone.js), in addition to being completely readable, maintain a lean codebase and actively limit their scope. They’re designed to do a few things well, and are happily interoperable.
A theme I have come across the frameworks I’ve used on both the client and server is that inevitably, I struggle with dealing with force-fed conventions which break on more interesting problems. I’m forced to go down a path of unfurling layers of abstraction, finding that one variable assignment that I undo back on the top of the software stack. Whether it’s patching middleware in Pylons, controlling DOM structure in GWT widgets, or tweaking the modalness of dialogs in Win32, they’re well-meaning to start but burdensome in the face of unconventional requirements.
Malleable
There is some truth to happiness in code deletion: it reduces complexity, fixes bugs, and shrinks the maintenance footprint.So in a strange way, I’m happy that the messy Javascript I sometimes write tend to not last long. By nature, front-end code has a short shelf life: pages are redesigned, A/B tested and overhauled in short succession, and my painstakingly elegant carousel implementation may not have a place in the new design. The modular, drop-in nature of Javascript in the browser lets me refactor a widget out of existence without having to tease apart type hierarchies and de-metaprogram class functions. It’s especially easy when I have a few tests backing up the procedure.
Really, that’s all it takes. As easy to write as it is to unwrite, Javascript is a joy.
Tuesday, January 24, 2012
The Easy Way of Running Your MySQL Applications in the Cloud
Conclusion
Note: Once in a while the PHPClasses site provides space to allow sponsors to tell a bit more about relevant products that may be of the interest to PHP users that visit this site. This article is sponsored by Xeround, a company that provides a database-as-a-service for MySQL applications in the Cloud.
MySQL Everywhere
As a PHP developer, chances are that you use MySQL with your applications. Being a Free and Open Source database, MySQL is one of the most widely used databases today, particularly for Web applications.
As more and more applications are being migrated to the cloud, MySQL has come to rule the virtualized environment as well.
MySQL Challenges in the Cloud
Maintaining scalability and high availability of your MySQL database is challenging even in your physical data center, let alone in the dynamic environment of the cloud.
While scaling an application (by adding more servers and load balancers) is pretty much a no-brainer, on the database tier things are very different.
Scaling a database in general is no trivial task, and in the cloud it is way more difficult because of the need to quickly adjust to changing requirements in load. Scaling a database is tedious, painful and potentially risky in the sense that it can cause a temporary denial of service.
Furthermore, you often need to commit to a larger machine for seasonal peaks, while the rest of the time those resources go underutilized.
Maintaining high-availability in the cloud also does not make life any easier. You need to closely monitor the dynamic cloud environment for any failures, and be able to react immediately and in a way that will be transparent to the application and that will not interrupt the service.
The Database-as-a-Service Solution
As a developer, you want to ensure your database is running smoothly, but you do not want to be bogged down by the tedious operations that are necessary to keeping it running properly at all times.
This is where Xeround comes in. Xeround offers a simple, yet extremely powerful, database-as-a-service for MySQL applications.
Rather than manually installing, configuring and managing a MySQL database on your cloud instance, you get your MySQL as a service. You can choose to run your cloud database on Amazon EC2, Rackspace, Heroku and other providers. You only need to connect your application to your cloud database and it simply works.
With Xeround Cloud Database availability, elasticity and all database management tasks are automatically handled by the service, so you can kick back and relax.
Xeround Cloud Database Service Features in Detail
Auto Scaling
Your database automatically scales out across multiple nodes when more capacity or throughput are required, and shrinks back down when it is underutilized.
No Downtime SLA Guarantee
Xeround's patented virtual partitioning technology automatically replicates your MySQL database and spreads it across cloud servers. So if one server become inaccessible for some reason, Xeround's auto-healing architecture ensures your database is always available from a healthy server in a way that is transparent to your application.
Scheduled Backups
You should always have a snapshot backup of your database either for record keeping, failover or as an additional copy for continued development and quality assurance.
Xeround's database service includes automatic hot backups, i.e backups are done on the fly keeping transaction-level consistency of data and with no downtime to your database and without the application being aware of the process.
You can select the timing of scheduled backups, as well request that a backup be taken on demand.
Unlimited Throughput
Xeround's databases automatically scale out by adding additional nodes when more throughput is required, so your application will never be stopped because it reached the limits of the current number of nodes.
Zero Maintenance
The whole service is provided automatically, so you will never need to waste time on database maintenance tasks.
100% MySQL Compatible
Xeround cloud database is 100% compatible with the MySQL server software that you are used to.
No code changes to your app
You do not need to change your current PHP application code to use Xeround. Just configure it to access its cloud database, similar to the way you connect to any MySQL database.
Phone, email and Web support
Xeround provides 24 hours a day, 7 days a week, 365 days a year support by e-mail, Web based, or phone. Responses are guaranteed in up to 2 business days.
How to connect your PHP application to Xeround Cloud Database?
Using Xeround Cloud Database service is simple, but you can verify that for yourself for free.
Here are a few steps you need to take.
Register for Xeround’s 30-day free trial (no credit card required)
Follow the instructions to create your free cloud database and import your data to it
Connecting your PHP application to Xeround Cloud Database is done in the same way as with connecting to a standard MySQL database
The code samples below use the following values:
Hostname: instance123.db.xeround.com
Port: 4567
Username: john
Password: malon
Database: mydb
PHP (Using Persistent Connections)
The actual code to use is the same as you are used to write to access a MySQL database.
PHP (Using MySQLi Extension)
Importing Existing Databases
Importing existing databases to Xeround is easy. Just use the mysqldump command to generate a copy of your database structure and data. Then upload it to Xeround via the Web site.
Check out our developers’ resources for the user guide and to learn more about other details.
Conclusion
Xeround Cloud Database service addresses the problems of reliably dealing with database scalability and availability in cloud hosting services, so you do not have to do that yourself.
You can learn more about Xeround here , but feel free to ask any questions posting a comment to this article.
Note: Once in a while the PHPClasses site provides space to allow sponsors to tell a bit more about relevant products that may be of the interest to PHP users that visit this site. This article is sponsored by Xeround, a company that provides a database-as-a-service for MySQL applications in the Cloud.
MySQL Everywhere
As a PHP developer, chances are that you use MySQL with your applications. Being a Free and Open Source database, MySQL is one of the most widely used databases today, particularly for Web applications.
As more and more applications are being migrated to the cloud, MySQL has come to rule the virtualized environment as well.
MySQL Challenges in the Cloud
Maintaining scalability and high availability of your MySQL database is challenging even in your physical data center, let alone in the dynamic environment of the cloud.
While scaling an application (by adding more servers and load balancers) is pretty much a no-brainer, on the database tier things are very different.
Scaling a database in general is no trivial task, and in the cloud it is way more difficult because of the need to quickly adjust to changing requirements in load. Scaling a database is tedious, painful and potentially risky in the sense that it can cause a temporary denial of service.
Furthermore, you often need to commit to a larger machine for seasonal peaks, while the rest of the time those resources go underutilized.
Maintaining high-availability in the cloud also does not make life any easier. You need to closely monitor the dynamic cloud environment for any failures, and be able to react immediately and in a way that will be transparent to the application and that will not interrupt the service.
The Database-as-a-Service Solution
As a developer, you want to ensure your database is running smoothly, but you do not want to be bogged down by the tedious operations that are necessary to keeping it running properly at all times.
This is where Xeround comes in. Xeround offers a simple, yet extremely powerful, database-as-a-service for MySQL applications.
Rather than manually installing, configuring and managing a MySQL database on your cloud instance, you get your MySQL as a service. You can choose to run your cloud database on Amazon EC2, Rackspace, Heroku and other providers. You only need to connect your application to your cloud database and it simply works.
With Xeround Cloud Database availability, elasticity and all database management tasks are automatically handled by the service, so you can kick back and relax.
Xeround Cloud Database Service Features in Detail
Auto Scaling
Your database automatically scales out across multiple nodes when more capacity or throughput are required, and shrinks back down when it is underutilized.
No Downtime SLA Guarantee
Xeround's patented virtual partitioning technology automatically replicates your MySQL database and spreads it across cloud servers. So if one server become inaccessible for some reason, Xeround's auto-healing architecture ensures your database is always available from a healthy server in a way that is transparent to your application.
Scheduled Backups
You should always have a snapshot backup of your database either for record keeping, failover or as an additional copy for continued development and quality assurance.
Xeround's database service includes automatic hot backups, i.e backups are done on the fly keeping transaction-level consistency of data and with no downtime to your database and without the application being aware of the process.
You can select the timing of scheduled backups, as well request that a backup be taken on demand.
Unlimited Throughput
Xeround's databases automatically scale out by adding additional nodes when more throughput is required, so your application will never be stopped because it reached the limits of the current number of nodes.
Zero Maintenance
The whole service is provided automatically, so you will never need to waste time on database maintenance tasks.
100% MySQL Compatible
Xeround cloud database is 100% compatible with the MySQL server software that you are used to.
No code changes to your app
You do not need to change your current PHP application code to use Xeround. Just configure it to access its cloud database, similar to the way you connect to any MySQL database.
Phone, email and Web support
Xeround provides 24 hours a day, 7 days a week, 365 days a year support by e-mail, Web based, or phone. Responses are guaranteed in up to 2 business days.
How to connect your PHP application to Xeround Cloud Database?
Using Xeround Cloud Database service is simple, but you can verify that for yourself for free.
Here are a few steps you need to take.
Register for Xeround’s 30-day free trial (no credit card required)
Follow the instructions to create your free cloud database and import your data to it
Connecting your PHP application to Xeround Cloud Database is done in the same way as with connecting to a standard MySQL database
The code samples below use the following values:
Hostname: instance123.db.xeround.com
Port: 4567
Username: john
Password: malon
Database: mydb
PHP (Using Persistent Connections)
The actual code to use is the same as you are used to write to access a MySQL database.
PHP (Using MySQLi Extension)
Importing Existing Databases
Importing existing databases to Xeround is easy. Just use the mysqldump command to generate a copy of your database structure and data. Then upload it to Xeround via the Web site.
Check out our developers’ resources for the user guide and to learn more about other details.
Conclusion
Xeround Cloud Database service addresses the problems of reliably dealing with database scalability and availability in cloud hosting services, so you do not have to do that yourself.
You can learn more about Xeround here , but feel free to ask any questions posting a comment to this article.
Sunday, January 22, 2012
Review: Samsung Galaxy Note
Many people are already confused whether to buy a smartphone or a tablet. Samsung has added to that confusion with its Galaxy Note.
Samsung Galaxy Note has been positioned in such a way that it falls right between a smartphone and a tablet, offering the functionality of both.
Galaxy Note sports a 5.3 inch HD Super Amoled display.
It's a stretched version of Samsung Galaxy S2 but offers far greater functionality than the smartphone.
Design
Galaxy Note looks good, measuring 146.85 x 82.95 x 9.65 mm, which makes it thinner than most smartphones in the market. Despite a big 5.3 inch display, the device weighs just 178 grams. It is really commendable on Samsung's part to have built such a sleek and stylish device that is both light and slim.
The front has only a Samsung logo and a home screen button apart from a 2 megapixel camera and light sensor, which are not clearly visible on the black model. On the left side there is a volume rocker. The 3.5 mm headphone jack is at the top, while the power lock-unlock button is on the right side. Samsung has provided a micro USB charging slot at the bottom of Galaxy Note.
The Samsung Galaxy Note houses an 8 megapixel camera on its rear with LED flash. It is located in the centre - exactly the way it is on the Galaxy S2. The loudspeaker is placed at the rear bottom.
The 8 megapixel camera of Galaxy Note is capable of recording 1080p full HD videos at 30 fps (frames per second), but the drawback with the rear camera is that it has glass covering, which makes the camera prone to scratches.
Samsung Galaxy Note comes with a stylus (S Pen) that can be used for drawing illustrations and taking notes. The stylus also has a button on it, which performs certain gestures.
From the design perspective, Samsung Galaxy Note looks suitable for heavy data users who are hooked to the internet; but from the perspective of voice users, a device with a 5.3 inch display screen does not make sense.
Hardware and software
The heart of Galaxy Note is identical to the Galaxy S2 with the only difference being processor power, which is clocked slightly higher in the Note. To power this massive device, Samsung has used a dual core 1.4 GHz Exynos microprocessor with a Mali-400 megapixel graphics chip. The Galaxy Note also features 1 GB of RAM along with 16 GB onboard storage memory.
On the software front, Galaxy Note is using Android 2.3 operating system. On top of Android, the Galaxy Note was running Samsung's TouchWiz 4.0 interface. TouchWiz 4.0 interface is almost identical to the version on the Galaxy S2 though instead of 4 icons in a row, there are five in Galaxy Note.
The Note has seven Android home screens and you can delete or rearrange widgets in them, but users cannot add more screens. For navigation, you can pinch or swipe the screen. Doing so at the bottom of the screen, where the page number is displayed, will enable you to switch between screens even faster.
To access notification and the shortcut menu for accessing WiFi, GPS, Bluetooth, sound and auto-rotate functionality, one just needs to pull the Android notification bar from the top of the screen.
On the stylus front and the handwriting recognition software associated with it was not disappointing. In fact, it was quite accurate.
A 2,500 mAh battery in Samsung Galaxy Note with average usage can sail through the day without recharging. The device has ample connectivity options in the form of WiFi, HSPA+">HSPA+ and even Bluetooth 3.0.
In short, hardware and software specifications in Note will not disappoint either techies or even people who have recently started exploring smartphones and tablets.
Call and contacts
Galaxy Note handles and syncs contacts with Google as any other Android OS device does. Its dialer has five tabs - Keyboard, Logs, Contacts, Favourites and Groups.
Using the Groups tab, one can create or edit a list of contacts so that messages can be sent to them at one go.
Making phone calls was not a hassle as some people initially feared, considering its huge display. In terms of voice quality, noise reduction and signal reception is at par with the Galaxy S2. Even speakerphone quality was not bad.
But that said, if you are looking forward to using Note extensively for voice calls, but not for data intensive work like browsing or reading or painting, Samsung Galaxy S2 is a better option.
Display
The display on the Galaxy Note is its best feature. It has a massive 5.3 inch, Super Amoled HD display, with a magnificent 800 x 1280 pixel resolution at 285 ppi pixel density making visuals as detailed as possible without any signs of pixilation. Visibility in sunlight is excellent.
The size of the display makes it really great for activities such as video playback, web browsing, editing notes and creating presentations. While reviewing it, there were times when I completely forgot my laptop.
Multimedia
Samsung Galaxy Note's 8 megapixel camera, coupled with a massive viewfinder, is one of the best cameras I've seen on a phone other than Nokia N8. The stills and video recording look excellent, with focus on details, contrast and colour saturation. Even low-light images are not bad at all.
If a device has a 5.3 inch display, one expects it to have amazing video playback. Samsung Galaxy Note isn't disappointing on this front either, and since it can play multiple video formats, it was a pleasurable experience to watch videos on it.
Coming to multimedia functionality, Galaxy Note's loudspeaker is not up to the mark as it is not very loud. Note has only one speaker slot and that too on its rear so it's best to use headphones when watching videos.
Except for audio quality, Samsung Galaxy Note is a device to have if your world revolves around photographs and videos.
Verdict
The Galaxy Note is priced at almost Rs 33,000 which may be a big hindrance for many buyers. But apart from the price factor, Galaxy Note is a good device in terms of specification and performance.
Personally, I enjoyed browsing the web and watching videos on Galaxy Note. However, my preference for making phone calls or sending SMSes was my smartphone that has a 4 inch display.
If, however, you're comfortable with the size and are an avid internet browser then the Galaxy Note makes more sense than the Galaxy S2.
The original article was posted here
Samsung Galaxy Note has been positioned in such a way that it falls right between a smartphone and a tablet, offering the functionality of both.
Galaxy Note sports a 5.3 inch HD Super Amoled display.
It's a stretched version of Samsung Galaxy S2 but offers far greater functionality than the smartphone.
Design
Galaxy Note looks good, measuring 146.85 x 82.95 x 9.65 mm, which makes it thinner than most smartphones in the market. Despite a big 5.3 inch display, the device weighs just 178 grams. It is really commendable on Samsung's part to have built such a sleek and stylish device that is both light and slim.
The front has only a Samsung logo and a home screen button apart from a 2 megapixel camera and light sensor, which are not clearly visible on the black model. On the left side there is a volume rocker. The 3.5 mm headphone jack is at the top, while the power lock-unlock button is on the right side. Samsung has provided a micro USB charging slot at the bottom of Galaxy Note.
The Samsung Galaxy Note houses an 8 megapixel camera on its rear with LED flash. It is located in the centre - exactly the way it is on the Galaxy S2. The loudspeaker is placed at the rear bottom.
The 8 megapixel camera of Galaxy Note is capable of recording 1080p full HD videos at 30 fps (frames per second), but the drawback with the rear camera is that it has glass covering, which makes the camera prone to scratches.
Samsung Galaxy Note comes with a stylus (S Pen) that can be used for drawing illustrations and taking notes. The stylus also has a button on it, which performs certain gestures.
From the design perspective, Samsung Galaxy Note looks suitable for heavy data users who are hooked to the internet; but from the perspective of voice users, a device with a 5.3 inch display screen does not make sense.
Hardware and software
The heart of Galaxy Note is identical to the Galaxy S2 with the only difference being processor power, which is clocked slightly higher in the Note. To power this massive device, Samsung has used a dual core 1.4 GHz Exynos microprocessor with a Mali-400 megapixel graphics chip. The Galaxy Note also features 1 GB of RAM along with 16 GB onboard storage memory.
On the software front, Galaxy Note is using Android 2.3 operating system. On top of Android, the Galaxy Note was running Samsung's TouchWiz 4.0 interface. TouchWiz 4.0 interface is almost identical to the version on the Galaxy S2 though instead of 4 icons in a row, there are five in Galaxy Note.
The Note has seven Android home screens and you can delete or rearrange widgets in them, but users cannot add more screens. For navigation, you can pinch or swipe the screen. Doing so at the bottom of the screen, where the page number is displayed, will enable you to switch between screens even faster.
To access notification and the shortcut menu for accessing WiFi, GPS, Bluetooth, sound and auto-rotate functionality, one just needs to pull the Android notification bar from the top of the screen.
On the stylus front and the handwriting recognition software associated with it was not disappointing. In fact, it was quite accurate.
A 2,500 mAh battery in Samsung Galaxy Note with average usage can sail through the day without recharging. The device has ample connectivity options in the form of WiFi, HSPA+">HSPA+ and even Bluetooth 3.0.
In short, hardware and software specifications in Note will not disappoint either techies or even people who have recently started exploring smartphones and tablets.
Call and contacts
Galaxy Note handles and syncs contacts with Google as any other Android OS device does. Its dialer has five tabs - Keyboard, Logs, Contacts, Favourites and Groups.
Using the Groups tab, one can create or edit a list of contacts so that messages can be sent to them at one go.
Making phone calls was not a hassle as some people initially feared, considering its huge display. In terms of voice quality, noise reduction and signal reception is at par with the Galaxy S2. Even speakerphone quality was not bad.
But that said, if you are looking forward to using Note extensively for voice calls, but not for data intensive work like browsing or reading or painting, Samsung Galaxy S2 is a better option.
Display
The display on the Galaxy Note is its best feature. It has a massive 5.3 inch, Super Amoled HD display, with a magnificent 800 x 1280 pixel resolution at 285 ppi pixel density making visuals as detailed as possible without any signs of pixilation. Visibility in sunlight is excellent.
The size of the display makes it really great for activities such as video playback, web browsing, editing notes and creating presentations. While reviewing it, there were times when I completely forgot my laptop.
Multimedia
Samsung Galaxy Note's 8 megapixel camera, coupled with a massive viewfinder, is one of the best cameras I've seen on a phone other than Nokia N8. The stills and video recording look excellent, with focus on details, contrast and colour saturation. Even low-light images are not bad at all.
If a device has a 5.3 inch display, one expects it to have amazing video playback. Samsung Galaxy Note isn't disappointing on this front either, and since it can play multiple video formats, it was a pleasurable experience to watch videos on it.
Coming to multimedia functionality, Galaxy Note's loudspeaker is not up to the mark as it is not very loud. Note has only one speaker slot and that too on its rear so it's best to use headphones when watching videos.
Except for audio quality, Samsung Galaxy Note is a device to have if your world revolves around photographs and videos.
Verdict
The Galaxy Note is priced at almost Rs 33,000 which may be a big hindrance for many buyers. But apart from the price factor, Galaxy Note is a good device in terms of specification and performance.
Personally, I enjoyed browsing the web and watching videos on Galaxy Note. However, my preference for making phone calls or sending SMSes was my smartphone that has a 4 inch display.
If, however, you're comfortable with the size and are an avid internet browser then the Galaxy Note makes more sense than the Galaxy S2.
The original article was posted here
Saturday, January 21, 2012
What is the PHP Zeitgeist?
What is the PHP Zeitgeist?
For those that are not yet aware of this probably because they only arrived to the PHPClasses site recently, PHP Zeitgeist is an initiative that aims to study what were the last year trends regarding what PHP developers have been searching for.
Zeitgeist is a German expression that means the spirit of the time. The PHP Zeitgeist initiative started in 2010. It is very similar Google Zeitgeist but it is based on statistics from the searches done by the users of the PHPClasses site.
What is new in PHP Zeitgeist 2011?
The PHP Zeitgeist 2011 edition is already available since a few days ago. It is usually is made available in the first days of the year, but this year it was delayed a bit to incorporate a few changes that were done to make it more useful.
One of the changes made to the algorithm was to find trending search keywords that previously would have gone unnoticed. Currently the top 3000 most searched keywords are considered, as opposed to 2000 used in the past.
Now, only the top new 100 of those 3000 search keywords are considered trending if they never were trending in the previous years. This will allow to highlight searches that may have made into the top 3000 most searched keywords but did not get to the 100 top new keywords.
This year the algorithm also excluded any names of contributors of the PHP Classes site that may appear in the top searches. Although it may be interesting for those contributors to know if their names are being searched in the PHP Classes site, that is not relevant for the PHP community as a whole because great part of the PHP developers do not come to the PHP Classes site.
Another point is that searches done by anonymous users that do not return any results are now also being considered, unlike in the past. This is helpful to discover latent needs for things that are not yet available, at least in the PHPClasses site. This required more efficient filter rules to discard spam searches.
What are the most relevant trends of PHP in 2011?
With all these algorithm changes mentioned above, the top trending searches of the past years had to be computed again, but only the year 2011 is being commented on this analysis.
Looking at the top trending searches of 2011, we can see a consolidation of the interest for components of APIs of popular social media sites like Facebook (facebook like, facebook wall, facebook application, facebook post, facebook share) as well Twitter (twitter login, twitter class, twitter connect), although Facebook itself started trending in 2007 and Twitter in 2009.
Other popular sites like Groupon, Foursquare, Wunderground, Google Webmaster Tools, Bitcoin also started trending more intensively. This certainly reveals a more significant interest of PHP developers for using those sites APIs, despite those sites already exist since a longer time.
Other miscelaneous interests worth noticing relate to libraries and applications that seem to be gaining more interest in the PHP world like jQuery grid, Doctrine, Modx, SugarCRM and Minecraft.
Suggestions for New Classes to be Submitted
One of the most interesting uses of the PHP Zeitgeist, especially for developers that contribute to the PHPClasses site, is to determine which types of classes may be having greater demand.
Submitting new classes related with topics with great demand may result in greater feedback and recognition for the developers that contribute such classes.
Furthermore, if a developer submits a new class for a purpose with great demand for which currently there are no classes in the site to fulfill that need, chances are that such developer may be at least nominated to the PHP Programming Innovation Award with great chances of getting more feedback, recognition and prizes that are given to the nominees by the award sponsors.
So if you are interested in taking this opportunity and submit innovative that may get you plenty of benefits, here follows a list of a few trending searches that for now there are no components for the related purposes.
resume parser
Google Openid
Foursquare
Groupon
Mediafire
Data Analysis
Minecraft
Doctrine
Conclusion
As always this edition of the PHP Zeitgeist was insightful. It allows us to understand better what are the current concerns of the PHP developers from the types of things that they have been searching for last year.
Next year there will be another edition of the PHP Zeitgeist initiative. I am not going to try guessing what will be the new 2012 trends among PHP developers, but if you have any ideas about those trends or have any other comments about this article, feel free to post a comment with your thoughts
For those that are not yet aware of this probably because they only arrived to the PHPClasses site recently, PHP Zeitgeist is an initiative that aims to study what were the last year trends regarding what PHP developers have been searching for.
Zeitgeist is a German expression that means the spirit of the time. The PHP Zeitgeist initiative started in 2010. It is very similar Google Zeitgeist but it is based on statistics from the searches done by the users of the PHPClasses site.
What is new in PHP Zeitgeist 2011?
The PHP Zeitgeist 2011 edition is already available since a few days ago. It is usually is made available in the first days of the year, but this year it was delayed a bit to incorporate a few changes that were done to make it more useful.
One of the changes made to the algorithm was to find trending search keywords that previously would have gone unnoticed. Currently the top 3000 most searched keywords are considered, as opposed to 2000 used in the past.
Now, only the top new 100 of those 3000 search keywords are considered trending if they never were trending in the previous years. This will allow to highlight searches that may have made into the top 3000 most searched keywords but did not get to the 100 top new keywords.
This year the algorithm also excluded any names of contributors of the PHP Classes site that may appear in the top searches. Although it may be interesting for those contributors to know if their names are being searched in the PHP Classes site, that is not relevant for the PHP community as a whole because great part of the PHP developers do not come to the PHP Classes site.
Another point is that searches done by anonymous users that do not return any results are now also being considered, unlike in the past. This is helpful to discover latent needs for things that are not yet available, at least in the PHPClasses site. This required more efficient filter rules to discard spam searches.
What are the most relevant trends of PHP in 2011?
With all these algorithm changes mentioned above, the top trending searches of the past years had to be computed again, but only the year 2011 is being commented on this analysis.
Looking at the top trending searches of 2011, we can see a consolidation of the interest for components of APIs of popular social media sites like Facebook (facebook like, facebook wall, facebook application, facebook post, facebook share) as well Twitter (twitter login, twitter class, twitter connect), although Facebook itself started trending in 2007 and Twitter in 2009.
Other popular sites like Groupon, Foursquare, Wunderground, Google Webmaster Tools, Bitcoin also started trending more intensively. This certainly reveals a more significant interest of PHP developers for using those sites APIs, despite those sites already exist since a longer time.
Other miscelaneous interests worth noticing relate to libraries and applications that seem to be gaining more interest in the PHP world like jQuery grid, Doctrine, Modx, SugarCRM and Minecraft.
Suggestions for New Classes to be Submitted
One of the most interesting uses of the PHP Zeitgeist, especially for developers that contribute to the PHPClasses site, is to determine which types of classes may be having greater demand.
Submitting new classes related with topics with great demand may result in greater feedback and recognition for the developers that contribute such classes.
Furthermore, if a developer submits a new class for a purpose with great demand for which currently there are no classes in the site to fulfill that need, chances are that such developer may be at least nominated to the PHP Programming Innovation Award with great chances of getting more feedback, recognition and prizes that are given to the nominees by the award sponsors.
So if you are interested in taking this opportunity and submit innovative that may get you plenty of benefits, here follows a list of a few trending searches that for now there are no components for the related purposes.
resume parser
Google Openid
Foursquare
Groupon
Mediafire
Data Analysis
Minecraft
Doctrine
Conclusion
As always this edition of the PHP Zeitgeist was insightful. It allows us to understand better what are the current concerns of the PHP developers from the types of things that they have been searching for last year.
Next year there will be another edition of the PHP Zeitgeist initiative. I am not going to try guessing what will be the new 2012 trends among PHP developers, but if you have any ideas about those trends or have any other comments about this article, feel free to post a comment with your thoughts
Subscribe to:
Comments (Atom)






