Install Solr 4.6 with Tomcat 7 on Debian 7

The following tutorial will explain the setup procedures for installing Solr 4.6 with Tomcat 7 on Debian 7 with Authentication enabled. The instructions should also work for other versions of Solr / Tomcat / Debian and other GNU/Linux environments if the appropriate commands are used.

Additionally, the authentication will allow for using the Solr admin web page remotely without having it publicly accessible.

Continue reading

VP8 (WebM) vs H.264 (MP4) – December 2012

Edit: As pointed out by Hupo, who did a significantly better test than the mere “for fun” one posted here, it’s apparent that H.264 still leads VP8 in terms of quality. And, even more interesting are recent developments in H.265 and VP9, also mentioned in his post, due to the fact H.265 has been approved by the ITU, essentially advancing it a step further than VP9 in terms of potential hardware support.

Given that H.265 and VP9 are right around the corner, I felt this would be a good time to get a refresher on VP8′s progress. As tested back in August 2010 on this blog, H.264 turned out to be superior. The test was also conducted on H.264′s Baseline Profile because it did made sens back then to encode web video in High Profile. Nowadays however, thanks to better CPUs and widespread hardware acceleration, we can safely encode H.264 in High Profile for web videos, which also means we can extract more quality out of it, which is a good thing. VP8′s encoding library has also significantly improved, giving us a very competitive codec even with H.264 High Profile.

The encoding was done on a video clip which has some grain, resulting in a more difficult encoding situation. The following encoders and specs have been used:

H.264
Encoder: x264 rev. 2208
Quality: Placebo High Profile in XMedia Recode
Bitrate: 2 pass @ 2 Mb/s
Resolution: 960 x 540

VP8
Encoder: libvpx 1.1.0
Quality: Best in XMedia Recode
Bitrate: 2 pass @ 2 Mb/s
Resolution: 960 x 540

Results

Source

VP8

H.264

Details

Source

VP8

H.264

Winner

As you can see, this time around however, VP8 wins (see Hupo’s counter-post for a better comparison, where H.264 wins). H.264 doesn’t look bad in practice, but VP8 manages to retain a more accurate encoding of the image. If you do a back-and-forth comparison (simply open the images in new tabs (Open image in new tab)), you’ll see what I’m talking about.

The upcoming H.265 claims to be twice as efficient as H.264, which is mind boggling if it turns out to be true, and definitely gives VP9 and Google quite the challenge. However, contrary to many’s belief, Google was able to push in some significant improvements in its VP8 encoders, enough to make it better than H.264, so there is still hope, in my opinion, that VP9 can beat H.265.

From Truck to Car: How the modern computing device is becoming like the modern car

You’ve heard it before, Steve Jobs’ infamous line about the way current PCs are like trucks, whereas iPads are like compact cars. More true than ever, Jobs’ idea can be even be stretched a little further.

Computing devices are replicating the story of the automobile: From a flexible unreliable machine to a purposely limited reliable device.

From Car to Car

My premise is that while yes, most PCs are perhaps like trucks, in that they are multipurpose, highly flexible and generic, powerful machines, PCs can also be cars, and the transformation happening today has more to do with an analogy to the automobile’s evolution than a truck vs car metaphor.

Flexibility, Efficiency and Car Dealerships

Automobiles used to be incredibly flexible. You could service them yourself and, if you were knowledgeable enough, even repair them yourself. But as technology evolved, the need for efficiency, reliability and functionality eventually outweighed the need for flexibility.

The story of the modern car’s emergence can, perhaps not surprisingly, be used as an amazing parallel to what is happening in the computing industry today. Computers are migrating from big, flexible multipurpose machines to highly specialized devices that can’t be cracked open by the average consumer, but that benefit from fantastic reliability, efficiency and functionality.

Reliability is probably one of the biggest factor as tasks which used to be dedicated to reliable single purpose devices such as telephones and cameras are now being given to our all purpose smartphones. An unreliable smartphone can even be dangerous; as consumers migrate to smartphones and get rid of home lines, a buggy OS could prevent someone from calling 911. Smartphone-based authentication for online services due to increased security threats also means that the smartphone becomes the central piece of one’s life in this modern era.

And it doesn’t stop there. In fact, even the way computers are sold is changing to a model more akin to visiting a car dealership today.

With Apple’s immensely successful Apple Store, Microsoft and Samsung are following suit, making dedicated stores of their own. Meanwhile, brick and mortars are dying out, leaving the future of hardware sales in the hands of cellphone carriers and dedicated stores.

Soon, your only computer is ought to become your smartphone, with docks and all to make it do everything you need, and buying it will be done by walking in a brand store, just like you would do when you buy a car.

No Longer Commodities

Computers are simply no longer commodities. Future products will play such a central role in our lives that general purpose devices just don’t make sense anymore.

Whatever this means for the future, it’s guaranteed to make some computer owners, especially knowledgeable ones, grind their teeth. While the general population will benefit from more reliable devices that never crash and never face a single security issue, other users might find their ability to toy with devices severely cut.

In the end however, the money will talk and no one will make computers for the few techies out there. Understanding the functioning of computers will migrate from common knowledge required to operate one to something only University bachelors in computer engineering will know.

After all, no one needs to know how the car works to drive one today.

Introducing the Ultrabook Tablet: The Microsoft Surface

The just-announced Surface “2.0”, Microsoft’s own Windows 8 tablet, brings along much confusion as to its position on the market, not helped by its two very different models, one running Windows RT, and the other running the more complete Windows 8 Pro.

But what it is and how it redefines the market is what’s really important. In the end, Microsoft’s offer is much more than a simple iPad competitor: It’s an Ultrabook Tablet.

Continue reading

Windows 8 vs Windows RT vs WinRT

The next time you abbreviate Windows RT to WinRT I’m gonna hit you, because they’re just not the same thing.

That’s the feeling I’ve been having recently while reading dozens of uninformed comments on tech blogs all over the Web talking about Windows 8.

Windows 8 Editions

Windows 8 comes in three SKUs:

  • Windows 8
  • Windows 8 Pro
  • Windows 8 Enterprise

All three copies can run Desktop Apps, which is to say unrestricted desktop-mode applications. This includes stuff like Microsoft Outlook, Adobe Photoshop, Google Chrome, Java, Minecraft, and all of these gazillions of traditional Win32 executables that make Windows the universal platform it is today.

The rest of the differences are somewhat irrelevant if you don’t already know the difference between Windows RT and WinRT, but they include stuff like encryption for the Pro edition and enterprise deployment capabilities for the Enterprise edition.

If you’ve been in love with Windows Media Center however, take note that it is only available as a free add-on on Windows 8 Pro. Plus, it’s not really supported anymore, so if you’re still using that, consider moving to some other solution with a better future.

Windows RT

In traditional talk, Windows RT is part of the Windows 8 SKUs, except in reality, plans at Microsoft indicate that Windows RT will remain a separate version of Windows in the future, and rightfully so.

You see, Windows RT runs on the ARM architecture of microprocessors, versus Intel’s X86 platform for Windows 8 (and all other versions of Windows prior). Applications compiled for X86 do not run on ARM, although it’s easy to simply recompile them. But Microsoft wants Windows RT to be just like Apple’s iOS, so on Windows RT, only Metro-style apps will run, and they can only be downloaded via the Windows app Store.

While Microsoft did include a Desktop environment with Windows RT, including a free copy of Office 2013 Home & Student (which does not and never will include Outlook), it will never run Desktop Apps.

You got me right. No Photoshop, no Google Chrome, no Outlook. Ever! Unless they’re rebuilt to run in Metro (that’s the whole tile interface).

The WinRT Framework

To make things more complicated, all of these editions are powered by what Microsoft calls the Windows Runtime, or WinRT for short, the successor to Win32, also known as Windows API or WinAPI, used in previous editions of Windows since the migration from DOS.

The RT in WinRT means Runtime, but the RT in Windows RT does not. Microsoft chose not to explain what RT means in the case of Windows on ARM (and Runtime does not make sense).

Windows RT is actually an edition of the Windows operating system that runs the WinRT framework. Oh how confusing.

Stop the abbreviations

So there you have it; next time you speak about Windows 8 and Windows RT, do not use “WinRT”. That’s a framework featured in all Windows 8 editions and Windows RT, not an OS variant.

Windows 8 is Windows 8
Windows RT is Windows RT
WinRT is Windows Runtime

The WinRT Song

I also made a song which I posted on Facebook earlier to help anyone remember what they’re buying (should they buy a Windows RT-based device or a Microsoft Surface RT):

Remember kids:

Windows 8 is like OS X
Windows RT is like iOS
Windows 8 is partially open
Windows RT, isn’t
Windows 8, runs desktop apps
Windows RT, doesn’t
Windows 8, comes with nothing
Windows RT, comes with Office, but will never run Outlook
Surface Pro, runs Windows 8
Surface RT, runs Windows RT
Surface Pro, is like a laptop with a touchscreen
Surface RT, is like a tablet with a keyboard
Surface Pro, has a pen
Surface RT, doesn’t
Surface Pro, runs Photoshop
Surface RT, doesn’t
Surface Pro, runs Minecraft
Surface RT, doesn’t
Surface Pro, runs Steam
Surface RT, doesn’t
Surface Pro, is like a PC
Surface RT, is like an iPad with no apps
Surface Pro, can run any browser
Surface RT, can only run IE

Source: http://windowsteamblog.com/windows/b/bloggingwindows/archive/2012/04/16/announcing-the-windows-8-editions.aspx

Samsung’s Galaxy S III is a Disappointment: Here’s Why

Two recent articles emerged on The Verge, Vlad Savov’s “How Samsung broke my heart” and sooper_verge12 forum user’s “How Samsung Renewed My Love”. I agree with Vlad, but upon reading the forum article, I felt compelled to explain why I disagree.

Here’s why I think Samsung’s just-announced Galaxy S III is a disappointment, and also a lead to a potentially game-changing move by Samsung, for Microsoft.

Continue reading

Windows RT is a Risky Proposal

Windows RT is a risky proposal, not because it will not be compatible with legacy desktop apps, but because it’s a closed system. Microsoft seems to forget that one of the biggest success for Windows was its openness; short of being open source, it allowed developers to do anything, yes, even malware.

Microsoft is about to release, in a few months, two new versions of Windows; Windows 8, a full-featured OS featuring the new Metro interface and the legacy desktop, and Windows RT, a tablet-specific limited version of Windows devoid of the legacy desktop.

The move comes from the thought that in order to compete with the iPad and Android tablets, Microsoft needs to have an OS that’s well optimized for thinner, lighter, less powerful form factors; that is Windows on ARM processors. In order to do so, they are removing any functionality that has not been built with the new architecture in mind, leaving only Metro, much like Windows Phone.

While the move is smart, this is not Microsoft’s real problem. In fact, the real problem, or rather risk with the new Windows, is inherent to both Windows 8 and Windows RT: Metro is a completely closed environment.

In order to develop a Metro app, you must use Microsoft’s tools and assigned development languages and you must sell/distribute apps through Microsoft’s Windows Store, an analogous product to Apple’s App Store on iOS. Metro apps cannot be side-loaded and cannot be created with other tools. Furthermore, any app published through the Windows Store must be reviewed by Microsoft to ensure it works without bugs.

This means two things: Windows 8′s openness is limited to the legacy desktop, meaning newer Metro apps will not be an interesting option for developers who’d like a more open platform, and Windows RT will be completely closed, just like the iPad.

Developers, in general, are adverse of closed platforms, for many reasons, but mainly because it’s simply a limiting factor. Linux has conquered the server space and many geeks’ hearts because of its openness. There’s nothing you can’t do, really, and that bodes well with developers, who often like to advocate very different programming languages and frameworks, but still need them to coexist.

No such thing is possible in Metro development for Windows 8 and Windows RT. It’s a severely limiting factor, and while Apple is not any better, Microsoft risks losing the open proposition to Android.

For many, not being able to do what one wants with a system can mean the nonexistence of a project. Take Minecraft for example, which was built and sold as alpha and beta software, enabling the developer to get a financial headstart and generate a huge community around his game while it was being developed. Minecraft was also built on the Java run time. On Metro, this would not be possible. The game could not have been sold independently, it could not have been sold nor distributed in its alpha and beta stages, and it could not have run on the developer’s framework of choice, almost all of which is conversely possible on Android (save for the fact that Android does not support a variety of development frameworks, yet).

Jeopardizing its platform’s openness and flexibility is a major risk for Microsoft to take. Indeed, they are not in any position to do so, unlike Apple, with a market large enough for developers to reconsider.

Microsoft, on the contrary, has to deal with a pre-existing market now running a majority of Windows 7 machines, which feature none of the closed aspects of Windows 8. Microsoft risks alienating its users and developers from Windows 8 and RT, stuck in the open world of Windows 7, while Android takes over newer touch-based technologies, by limiting Windows’ openness to the desktop.

Microsoft’s position on its new OS, or rather its disillusionment that it can replicate Apple’s walled garden approach, is a clear indicator that the company is out of touch with reality, consumers and developers.

Just like RIM and Nokia who refused to face reality numerous times, Microsoft is placing itself in a dangerous position, unlike Google which has shown an open ear to criticism, ensuring Android 4.0 returned to an open source model and giving back to the Linux kernel development team.

Introducing the HTML Guidebook

Although many books about HTML exist today, notably many new books about HTML5 and its many new features, I’ve found few resources that teach HTML from the ground up in a modern way.

In an effort to provide a no-fuss technically approachable resource for learning HTML, I’ve decided I would write a series of articles on my blog, each featuring basic lessons for modern HTML5. But, as with all things I do, everything just turns into a project.

So here it is, the HTML Guidebook website project!

So how fast is your device, really?

One of the great things with Web browsers is that they’re everywhere, so we can use them to compare the performance of widely varying devices, such as a computer and a smartphone.

Of course, it’s not the perfect test. Some browsers are more optimized than others, etc. But it gives you a very good idea of the performance difference between devices, especially since Web browsing is one of the activities we do the most on these devices.

For this test, I have chosen to compare my Samsung Galaxy S (SGH-T959D), my BlackBerry PlayBook and my work computer which runs on your average Core i5 with SunSpider only.

The results are nonetheless fascinating, despite being limited. Perhaps more fascinating is how unexpected some of these are. I’ll let your read on for the surprise.

Continue reading