Saturday, July 28, 2012

Oracle pilots solution for java

0 comments

Oracle is planning to introduce Java programming and skills training to its academic education programme, as part of its ongoing work to plug the IT employment gap.
The new classes – called Java Fundamentals and Java Programming – will form part of the Oracle Academy curriculum, which is used by secondary schools and higher education institutes to inform their IT curriculum.
The Java courses are currently being piloted by 39 teachers across the UK and Scotland, and are expected to become a fully fledged part of Oracle’s curriculum during the 2012/2013 academic year.
Jane Richardson, EMEA senior manager of the Oracle Education Foundation, said a firm grounding in Java is important for students that want to pursue a career in IT.
“It’s used in billions of mobile devices and across the internet. There are not many applications that don’t require Java,” she told IT Pro.
“When we look at young people who want to have a career in the IT industry, Java is almost the most important language they have to learn, alongside SQL and C++.”
Citing recent labour market figures from IT training council e-Skills, Richardson said the new courses were also designed to meet the growing demand for Java programmers.
“E-skills’ data shows employment in IT is set grow by two times the national average through to 2020.
We are also seeing that there are over 750,000 jobs unfilled across Europe in programming and IT skills, particularly in Java, SQL and C++,” said Richardson.
“There’s a huge interest from students in these languages because they want to develop these applications themselves.”
The teachers that take part in the pilot programme will be certified to teach the Java Curriculum to their students using a mix of online and classroom-based teaching.
Students that complete the Oracle courses typically use them to enter the world of work or to add weight to their university and college applications, added Richardson.
“We’ve also had students study [other Oracle Academy] courses that have gone into law and other disciplines [because] the ability to recognise and analyse data is not industry-specific,” she said.
“The use of technology is not industry-specific and more and more of what we do in our everyday lives relies on our ability to understand how to take and use data in a business context.”
Caroline Cheverton, director of enterprise computing at the Leigh Technology Academy, has been putting students through Oracle’s programmes since 2002.
Speaking to IT Pro, Cheverton said some of her students have also used the skills gained through Oracle courses to set up their own IT businesses.
“It is an entrepreneurial curriculum. Some of my students have got into designing mobile apps, databases and have set up small businesses, which they have used to fund their university education,” she said.
“It is not just about developing more employees for big businesses, but allowing the SMB sector to flourish, too.”
Continue reading →

Twitter's Instagram API Access

2 comments

Instagram users can no longer access the app’s “Find Friends on Twitter” feature, a result from a change in Twitter’s API restrictions for the photo-sharing application.
While Instagram users can still tweet their photos out to their Twitter streams, they can no longer use the feature to add those they already follow on Twitter to their Instagram account.
Why? It could be because of an old beef with Facebook.
If you’ll recall, Facebook blocked Twitter’s API access way back in 2010, when Twitter created its own “Find Your Friends” feature to help users follow their existing Facebook friends on Twitter. Though the Face-tagram acquisition has yet to even close, it could be that Twitter is preparing for what may be inevitable — the day when Instagram becomes a part of Facebook.
The restrictions also come in the wake of a controversial recent blog post from product VP Michael Sippey, broadly sketching a future Twitter where its API will look much different than it does today. “In the coming weeks,” Sippey wrote, “we will be introducing stricter guidelines around how the Twitter API is used.”
But while that note foretells of a sweeping API sea change, the Instagram smackdown portends of something much more targeted, a slap back at its major competitor.
Twitter’s official response was effusive, yet blunt: “We understand that there’s great value associated with Twitter’s follow graph data, and we can confirm that it is no longer available within Instagram,” a spokesperson told me in a statement.
Think about it in terms of Twitter’s conspicuous “value” comment: What is Twitter giving away to Instagram, a potential future competitor, in this instance? Something as simple as boosting engagement inside of Instagram by using Twitter’s API to onboard followers may not be quantifiable “value” in terms of dollars, but it is valuable, for certain.
Facebook had no comment, as indeed the deal has not gone through yet. Instagram, too, had no comment.
The pawn in all of this — albeit a massively popular, extremely valuable pawn — is Instagram, which must suffer a reduced feature set while waiting in limbo for the Facebook purchase to go through. That’s probably why, instead of sweeping the loss of the “Find Your Friends” feature under the rug, Instagram made it a point to deliver a prompt to users, letting them know exactly what they lost:
“Twitter no longer allows its users to access this information in Instagram via the Twitter API,” the prompt states. “We apologize for any inconvenience.”
It’s basically Instagram waving a giant middle finger back in Twitter’s face, making Twitter look like the bad guy.
The real loser here? The unassuming new Instagram user, who won’t be able to take advantage of the feature.
Continue reading →
Monday, July 23, 2012

Aapps for smart TVs: Netflix, YouTube

0 comments
“Younger  desire a more social TV viewing experience," says Manny Flores, Senior Vice President at Harris Interactive. "With the proliferation of social media sites like Facebook, Twitter and Google+, younger are not only more tech savvy, but are accustomed to being able to share their online experiences with their friends and family. So why not add TV viewing to the list of online experiences to share?"
"As the TV becomes a more overall entertainment device, it is only a matter of time before we see the mainstream use of additional content apps, such as Facebook, being used on the TV," added Flores.
The number of apps available for smart TVs pales in comparison to the some 500,000-700,000+ apps and games available through Apple’s App Store or the Google Play store, although the market is quickly growing.
Interestingly, many of the same apps that are popular on the iOS and Android platforms are also popular on smart TVs. Netflix and YouTube were the most popular with smart TV owners, with 47% and 44% saying they are “must have” apps on the smart TV respectively.
Social networking site Facebook (35%), online marketplace Amazon (34%) and streaming radio app Pandora (28%) also ranked within the top five must-have apps according to Harris Interactive.
The hugely popular app Angry Birds wasn’t on the list, but it may soon become a hot favorite with smart TV owners too. On July 19 Samsung announced the global availability of the app -- which is the first to feature motion controls -- on Samsung smart TVs.
Samsung Vice President of Visual Display Business Kyungsik Lee said, “Samsung Smart TV will become the first TV to offer the world’s most popular game and set a new standard in the industry by offering a game for smart TVs controlled by hand gestures.”
The Harris Poll was conducted online between May 7 and May 15, 2012.
Top 15 must-have apps for smart TVs according to Harris Interactive:
1.  Netflix - 47%
2.  YouTube - 44%
3.  Facebook - 35%
4.  Amazon - 34%
5.  Pandora - 28%
6.  ESPN - 21%
7.  Hulu + - 21%
8.  Twitter - 17%
9.  Syfy - 14%
10. HBO Go - 13%
11. Rhapsody - 9%
12. MLB.com - 8%
13. Vudu HD Movies - 7%
14. Conema Now - 7%
15. Vimeo - 5%
16. None of these - 23%
Continue reading →
Sunday, July 22, 2012

Blade unveils updated smart-phone app

0 comments
The Blade has launched new applications for smart phones and tablet devices that are more colorful, more interactive, and more inclusive of what readers find online and in print.
Brad Vriezelaar, The Blade's new media manager, said The Blade's old smart-phone app, developed about two years ago, was getting tired. The new one is much updated and has been modeled after other popular applications.
"With the new app, we've tried to incorporate the best of all the other apps out there -- Facebook, Twitter -- and we've tried to take the way they navigate, the way they work, and make them into our news app," Mr. Vriezelaar said.
The new app, which is available today, includes The Blade's obituaries, events calendar, OurTown content (special sites for Perrysburg and Sylvania), and opinion section -- all of which are new additions. The app will still have The Blade's news, sports, business, and arts & entertainment sections.
Another new addition is a built-in weather tab that has current conditions, a 10-day forecast that includes hourly projections, and both radar and infrared maps.
The app is free, and available for both iPhones and android-based smart phones, as well as the iPad. It is also available on all Apple and android tablets. It will soon be available on the Amazon Kindle Fire and Barnes & Noble Nook. The new app will be available through Apple's App Store, Google Play Store, and the app stores for Amazon and Barnes & Noble.
Mr. Vriezelaar said The Blade used feedback from the current apps users while developing the new one.
"A lot of features and ideas came right from end users," he said. "It should be a lot more user-friendly."
The new app has larger photos for featured articles. A drop-down menu gives users the selection of different sections, such as news, business, sports, and weather. Users can flip through photo galleries and articles with the swipe of a finger. Photos can be viewed full screen.
There is also an option to share any article or photo via e-mail, Facebook, or Twitter.
Continue reading →
Saturday, July 21, 2012

Facebook Buys Acrylic

0 comments
Vancouver-based Acrylic Software — maker of iOS and Mac apps — can now count itself among the few companies Facebook has decided to give the thumbs up of acquisition to. The Canadian software company is known for their iOS RSS reader app, Pulp.
Some believe this iOS expertise is what sparked Facebook’s interest in the company, rather than the app itself. As such, the social networking giant only bought the company, rather than buying rights to the apps. In the coming weeks, the Acrylic team will transition to San Francisco to become full-time Facebookers, leaving their iOS and Mac apps stagnant in their current form.
“Facebook is an invaluable service that we all use daily, and a company I believe is one of the most innovative and important around today,” writes Dustin MacDonald in the Acrylic blog.
“After visiting late last year, I discovered that we shared many of the same core product design goals and principles, and it soon became obvious that it was a natural fit. Simply put, there’s an opportunity at Facebook to have a big impact in many people’s lives. More importantly, Facebook is full of extremely talented people who will be able to help realize its full potential in the years to come.”
Though Pulp and Wallet (their password storage app) will remain available on their respective App Stores, the Acrylic team doesn’t have any plans to update these apps in the near future. MacDonald did not disclose any financial terms in his blog post.
Facebook has been making some strides in the past few months towards a more complete mobile experience. They famously dropped $1 billion to acquire the popular, all mobile photo sharing app Instagram.
Last month, the New York Times ran a story suggesting the Facebook iOS app could be getting a much needed speed boost.
As it stands, the Facebook app acts much like a web browser housed inside a thin, iOS wrapper. Their new updates to the app would put more of the heavy lifting in the hands of the iPhone’s hardware, rather than depending on the antennas and networks to pull down all the data from Facebook’s servers.
This past May, persistent rumors about a Facebook phone began to surface once more. According to an earlier New York Times piece, several Apple and Google employees had been contacted by Facebook recruiters, saying the social networking company has planned to build their own smartphone. Facebook has already hired several engineers who have history working with the iPad and iPhone.
One former Apple engineer in particular said he had a meeting with Mark Zuckerberg wherein the Facebook creator drilled him with questions about the inner workings of the iPhone. When asked about their plans to enter the smartphone wars against the likes of Apple, Google and Samsung, Facebook only repeated a statement from last year, saying, “We’re working across the entire mobile industry; with operators, hardware manufacturers, OS providers, and application developers.”

Continue reading →

Curing the hiccups

0 comments
The H: Generally, what should you do about Java VM hiccups?
GT: First, you should watch for and be aware of any hiccups in your application behaviour, preferably at all times (including in production). Next, you should compare the hiccup behaviour to your expected and required responsiveness behaviour, e.g. a Service Level Expectation (SLE) or Service Level Agreement (SLA). With that information at hand, it is the job of Architect, Developer, and/or operations and deployment specialists to make the application behave as it should, which generally means removing hiccups that violate the expected behaviour by any means necessary (but not dwelling too much on ones that do not violate the expected behaviour).
So it is those hiccups – the ones that violate your application's expected behaviour – for which you need to figure out the cause and how to deal with it. It has been our experience that the nearly-universal dominant causes of application hiccups on most JVMs are Garbage Collection pauses, and that those dwarf other causes in both size and frequency. Eliminating GC pauses will usually leave system-related hiccups that range in the low tens of milliseconds, which can also be addressed if needed (e.g. for a low latency application) through tuning of system settings (e.g. power management modes, swap and filesystem behaviour, and avoiding deep scheduling queues).
In keeping the GC-related JVM hiccups to within expected levels, you are currently faced with two choices:
1. Continuously tune various GC controls and parameters in the hope of reducing the frequency of very large events (e.g. full GCs) to "acceptable" levels, and the frequency and magnitude of " merely large" events (e.g. "minor" GCs, young gen collections, etc.) to acceptable levels as well. These efforts will typically result in a compromise about the acceptable percentile of certain magnitudes of hiccups, because complete elimination of GC pauses of either kind is not practical on most JVMs.
2. Combine continuous tuning with coding in a "GC friendly" or "Heap friendly" way, in an attempt to reduce the pressure on a garbage collector's young or old generation, with the hope of reducing the occurrence or magnitude of "Bad GC" events. This practice (which has been successful to some degree in low latency applications) typically results in what I call "programming in Java syntax, but without the Java ecosystem", since, for it to be successful, the use of many core behaviours, as well as any third party code is typically prohibited.
or:
3. Address the core problem and eliminate GC altogether as a dominant cause of application hiccups. This is where Azul's flagship product – Zing – comes in. Zing's use of the C4 collector (which stands for "Continuously Concurrent Compacting Collector") simply and completely eliminates GC as a dominant cause for application hiccups, and does so without any special tuning or coding efforts or practices, and without the need for continuously re-tuning and/or re-coding.
Obviously, we believe Zing is a cure for the hiccups. It has been our experience that Zing will immediately bring enterprise applications to a worst case hiccup level in the low tens of milliseconds right out of the box. Those remaining hiccup levels, once Zing is deployed, are typically dominated by non-JVM system artifacts (e.g. scheduling pressure with many runnable threads competing for CPUs, or OS and hardware setting around power management and swap/file behaviour, all of which can be tuned and addressed if needed). In the low latency world, where scheduling pressure is already avoided as a matter of normal practice, we've seen applications immediately reach a worst case of below 10 milliseconds, and with relatively little tuning get to 1-2 millisecond worst case levels. Going below the 1 millisecond mark is quite possible, for those brave enough to tune their system (not their JVM) to provide that level of consistency, and to make their code provide it.

Continue reading →

Diagnosing hiccups

0 comments
The H: A lot of developers might say "But I can see when GC kicks in so I don't need a measuring tool for it"; what would you say to them?
GT: First, jHiccup reports on any observed hiccups, regardless of cause. Hiccups can occur for a multitude of possible reasons, including GC, power savings artifacts, swapping, scheduling pressure, and other OS-level artifacts such as Transparent Huge Page compaction that is done in recent Linux kernels.
Second, jHiccup reports what an application actually experiences and observes, as opposed to what a log file for a JVM or an OS may "claim" has happened. Often reporting in JVM and OS logs is "honest", in which case the hiccups jHiccup will report should closely match up with pauses seen in GC logs. However, sometimes the times or events the JVM reports may be only part of the picture. For example, if you compare pause times reported by verbose GC logs with those reported by using additional flags like -XX:+PrintGCApplicationStoppedTime, you'll often see significant discrepancies. With jHiccup, you don't have to wonder if you have turned on the appropriate logging, and if the logging is accurate, optimistic, or pessimistic – you have a log of *observed* discontinuities in execution, and any discontinuity larger than 1msec simply cannot hide.
I recommend using jHiccup in addition to (and not in place of) other monitoring mechanisms. Results seen with other measurement tools should almost always be worse than those reported by jHiccup (since jHiccup reports the hiccups seen when trying to do absolutely no work). If jHiccup results conflict with those measured through other means (e.g. if an external response time measure shows much better percentile results than those observed by jHiccup), then either jHiccup or the other measurement mechanism probably has a bug or a "methodology problem".
The H: You've placed jHiccup in the public domain using the CC zero licence. Any particular reason for that uncommon licensing choice?
GT: It's the most permissive way I know of to allow people to use the code in any and all forms. Placing the code in the public domain removes any questions about conflict with other forms of licensing. I followed the example of what Doug Lea has done with much of his work, such as his extremely well adopted dlmalloc, as well as java.util.concurrent (all the sources originated by the JSR166 group were similarly placed in the public domain).
The H: Are there any enhancements you'd like to see?
GT: I'd love to see people do more with jHiccup, both in terms of using it as-is, and by incorporating its simple measurement technique as a common way of self-measurement by applications and application platforms.
I'd be happy to see people build non-Java versions (e.g. for the various .NET languages, as well as for Ruby, Python, etc. Maybe even for C/C++). I think the issue of implicitly assuming "platform continuity" for applications, and of ignoring or under-reporting and "platform discontinuity", is universal, and is especially prevalent in managed runtimes with automatic memory management (aka GC).
The H: How about integrating jHiccup with management platforms so people can spot hiccuppy JVMs?
GT: jHiccup was intentionally kept simple, and intentionally kept separate from any specific JVM, OS, or application platform. It would be trivial to take the data collected and reported by jHiccup and incorporate it for presentation as part of an overall monitoring or management solution. It's been placed in the public domain with exactly this sort of thing in mind.
The H: Does Zing detect its own hiccups if they happen or does C4 prevent that?
GT: In a way, jHiccup is there to keep everyone honest, and that includes Zing. No amount of logging or reporting by a runtime or an OS can be used as a replacement for logging the actual experiences that an application would see on such a platform.
Zing seems to do a fairly good job of reporting on what it thinks it is doing, and GC-related hiccups tend to be be a complete non-issue for Zing users. That's what C4 is meant for, after all. However, the best way for them to actually know that is to observe it with tools like jHiccup, rather than to believe what our JVM logs say.
With Zing, we most often find that observed hiccups are no longer dominated by GC effects, and as a result tend to be dramatically lower than those seen with other JVMs. However, hiccups in the multi-msec range can easily be seen, with causes ranging from scheduling pressure (having even a momentary situation with more runnable threads than available cores generally leads to ~10msec+ hiccups being observed), to power-management tuning artifacts, to background cron jobs being kicked off. In the very-low-latency space, we've seen people successfully tune "vanilla" Linux configurations running Zing such that the worst case observed hiccup levels (as reported by jHiccup) were kept well below 1msec.
Continue reading →