klint finley, Author at ReadWrite https://readwrite.com/author/klint-finley/ IoT and Technology News Wed, 20 Jun 2012 21:45:00 +0000 en-US hourly 1 https://wordpress.org/?v=6.2.2 https://readwrite.com/wp-content/uploads/cropped-rw-32x32.jpg klint finley, Author at ReadWrite https://readwrite.com/author/klint-finley/ 32 32 Action Aims to Be the Heroku of Development Environments (Invitation Link Within) https://readwrite.com/action-aims-to-be-the-heroku-of-development-environments-invitation-link-within/ Wed, 20 Jun 2012 21:45:00 +0000 http://ci01a8bfd78712860b

Local development environments can be a pain to set up by hand, despite ready-made deployment environments offered by platform-as-a-service providers. Meanwhile, programmers still need to keep project dependencies consistent between development systems. Installing a private PaaS like Cloud Foundry or OpenShift locally is an option even if you're…

The post Action Aims to Be the Heroku of Development Environments (Invitation Link Within) appeared first on ReadWrite.

]]>

Local development environments can be a pain to set up by hand, despite ready-made deployment environments offered by platform-as-a-service providers. Meanwhile, programmers still need to keep project dependencies consistent between development systems. Installing a private PaaS like Cloud Foundry or OpenShift locally is an option even if you’re not planning to deploy to those particular systems, but a new startup called Action wants to make it even easier.

Founders AJ Solimine, Arun Thampi and Peter Jihoon Kim founded the company to scratch their own itch. Solimine and Thampi worked together at Anideo, the mobile application company backed by Facebook co-founder Eduardo Saverin. There, they had a hard time keeping development environments consistent. “We kept running into situations where something would work on one machine but not the other,” Solimine says. So they started a project to solve the problem. The result is Action, a fully hosted development environment. The team calls it a Heroku for development environments.

Action is more than just a cloud-hosted IDE like Cloud9 IDE. Action includes a full Unix-like environment for app development, complete with an in-browser shell. Action has its own IDE, or you can use VIM or eMacs in the shell. Eventually, Kim says, you’ll be able to use your native desktop IDE or text editor and sync your project with Action. That means Action will be able to accommodate Visual Studio, Eclipse, Sublime text or whatever tools with which you feel comfortable.

Some other features in the pipeline include a one-click deploy option for cloud providers like Heroku and Engine Yard, and an add-on system that will allow developers to integrate services like Heroku PostGres or MongoHQ.

Pricing will be based on usage, typical of cloud services. The service is launching today in private beta. ReadWriteWeb readers who want an invitation to take an early look can sign up here. Invitations will roll out over the next few days.

The post Action Aims to Be the Heroku of Development Environments (Invitation Link Within) appeared first on ReadWrite.

]]>
Pexels
The 6 Best Ways to Run Microsoft’s .NET in the Cloud https://readwrite.com/the-6-best-ways-to-run-microsofts-net-in-the-cloud/ Tue, 12 Jun 2012 19:30:00 +0000 http://ci01b44e32b0008266

In programming circles, there’s been a steady emphasis on platforms that support Ruby, Python and Node.js - and not as much attention paid to Microsoft .NET platform providers. That’s a real oversight given the enduring popularity of Microsoft languages.

The post The 6 Best Ways to Run Microsoft’s .NET in the Cloud appeared first on ReadWrite.

]]>

In programming circles, there’s been a steady emphasis on platforms that support Ruby, Python and Node.js – and not as much attention paid to Microsoft .NET platform providers. That’s a real oversight given the enduring popularity of Microsoft languages.

For example, since Heroku was acquired by Salesforce.com in 2010, it has become the poster child of platform-as-a-service (PaaS) providers. Whenever a new PaaS launches, it gets called “the Heroku of X.” Before that, the comparison of choice was Google App Engine. Those honors are somewhat deserved, since those two services did practically invent the PaaS category as we know it.

But the .NET platform remains important, so let’s take a look at the options for running .NET applications in the cloud.

Windows Azure

Microsoft Windows Azure has been getting more attention lately for its efforts in open source than for its roots as a .NET PaaS. Microsoft has made PHP a first-class citizen on Azure, and has been porting Node.js to Windows specifically so it can run in the Azure environment. And last week’s announcement of Linux support on Azure infrastructure-as-a-service makes the fact that it can still run .NET applications almost an afterthought. Still, with “tens of thousands” of users and the legacy of being the service from the company that invented .NET, Azure remains the most obvious choice for a public .NET PaaS. But there are, of course, other options.

Tier 3

Tier 3, which launched in 2006, was originally an Infrastructure as a Service (IaaS) provider, but it added a PaaS service called Web Fabric last month. Tier 3 also develops a fork of VMware’s PaaS Cloud Foundry called Iron Foundry, which adds support for .NET to the existing open source platform and can be used for private clouds. Web Fabric is still relatively new, but it’s based on an open source platform. By building on Cloud Foundry, Tier 3 has created a polyglot platform that supports all the languages the original projects support, including Java, Ruby and Node.js. You can find the source code on Github.

AppHarbor

AppHarbor, which launched last year, is a slightly more established public .NET PaaS running on Amazon Web Services infrastructure with support for Git, (including Github for Windows) and Mercurial. One big differentiator for the company is the built-in support for unit tests. Developers just upload their code, and any unit tests included are automatically run.

“Generally most of the PaaS environments run in a way that you could add that capability, but it is a lot of work,” Tier 3 developer and PaaS enthusiast Adron Hall told ReadWriteWeb via email. “With AppHarbor a developer doesn’t even need to click a button to turn it on. I’m personally a HUGE fan of the fact that they do this.”

Uhuru

Uhuru is another newcomer, founded by former Microsoft executives. Like Tier 3, the company is running its own Cloud Foundry-based .NET PaaS called Uhuru.NET Services for Cloud Foundry. The source is on Github.

Apprenda

Apprenda was probably the first private .NET PaaS and sells a proprietary enterprise version along with a free-as-in-beer “express” version. In addition to running as a private PaaS, Apprenda can sync with Azure to enable a hybrid cloud environment.

Moncai

As of this writing Moncai hasn’t launched yet, but it does have a beta invite sign-up. The company bills itself as a .Net/Mono PaaS with support for both Git and Mercurial. It’s the only PaaS we’re aware of with Mono support.

Disclosure: Apprenda, Heroku, Tier 3 and VMware Cloud Foundry are among the sponsors of DeployCon, which paid Klint Finley’s travel expenses to moderate a panel.

The post The 6 Best Ways to Run Microsoft’s .NET in the Cloud appeared first on ReadWrite.

]]>
Pexels
Ladies Learning Code Team Aims to Fix Programmer Education – One City at a Time https://readwrite.com/ladies-learning-code-team-aims-to-fix-programmer-education-one-city-at-a-time/ Wed, 06 Jun 2012 12:12:00 +0000 http://ci01b44d8de0016d19

Heather Payne wanted to learn to code. She worked in marketing for a large company and wanted to learn to make websites on her own, but she didn’t have any support network: No developer friends to give her advice on what language to use. No one to recommend specific books or tutorials. No one to ask for help along the way. So she gave up.

The post Ladies Learning Code Team Aims to Fix Programmer Education – One City at a Time appeared first on ReadWrite.

]]>

Heather Payne wanted to learn to code. She worked in marketing for a large company and wanted to learn to make websites on her own, but she didn’t have any support network: No developer friends to give her advice on what language to use. No one to recommend specific books or tutorials. No one to ask for help along the way. So she gave up.

Then during a business trip to Los Angeles in 2011, she stumbled onto a PyLadies workshop on the Python programming language. “It was such a supportive atmosphere,” Payne says. “I always felt dumb asking questions at other places, but at PyLadies, you can ask any question you want and no one makes you feel stupid.”

When Payne returned home to Toronto, she tweeted about her experience at PyLadies and suggested that Toronto needed a similar workshop series. The idea had legs: She received a flood of retweets, and more than 80 people showed up at the first planning meeting – including several developers willing to teach classes. Thus Ladies Learning Code was born.

The project was immensely successful: The monthly workshops filled up so fast, the organizers had to start offering classes twice monthly. Almost 2,000 women have completed Ladies Learn Code workshops, and more than 400 developers have signed up for the volunteer mailing list. Payne says there’s never been a shortage of volunteer teachers. “There’s not that many ways for developers to give back to the community that take advantage of their skills but aren’t just unpaid freelance work,” Payne explains. “A lot of people jump at the chance to do something like this.”

Enroll in HackerYou

Now Payne, along with Breanna Hughes, Laura Plant and Melissa Crnic – the other three women behind the nonprofit Ladies Learning Code – are starting HackerYou, a for-profit company that will teach classes on design and development. Payne says that although Ladies Learn Code has been self-funding, it’s not enough to turn the project into a full-time job for any of HackerYou’s founders. In order to take the project to a the next level, and keep paying the rent, they had to start a for-profit company.

HackerYou will bring the same model used by Ladies Learning Code to its students, and all of its teachers have experience as volunteers for the nonprofit. HackerYou is guaranteeing a 10:1 student to teacher ratio, and is making project-based learning the core of its curriculum. But instead of single-day workshops, which Ladies Learning Code will continue to offer, HackerYou will offer ongoing courses. And while Ladies Learning Code has always allowed men to participate, the new company is expressly open to men. The first course will focus on Web development and will convene in Toronto, but Payne says the team plans to offer courses in other cities, both in Canada and the United States.

A university alternative

As to the need of a private alternative to the university system, Payne points to a survey finding high demand for software developers from startups. A paper presented at the European Conference on Information Systems in 2009 confirms the need for information technology workers, even in a down economy.

Still, a 2008 study found that enrollment in university computer science programs in all but one Canadian region was actually down between 36% and 64% from its peak in 2002.

Computer science education has its issues in the U.S., as well. The University of Florida planned to cut its computer science department, and though the most drastic version of that plan has since been withdrawn, students and faculty are still fight to save the department.

Regardless of what you think of the merits of universal code literacy, HackerYou and similar programs in other cities – such as Code Academy in Chicago, General Assembly in New York City and Dev Bootcamp in San Francisco – have an opportunity to help close the talent gap.

A talent gap – and a gender gap

But Payne thinks HackerYou also has an advantage in being able to close the gender gap. The European Conference on Information Systems paper notes that women are tremendously under represented in the IT industry, and as ReadWriteWeb has pointed out, this gap starts in education. Payne thinks the fact that the company’s founders are women, along with the collective experience they bring to the table from Ladies Learning Code, will help HackerYou reach a 50/50 gender split – a ratio unheard of in male-dominated university computer science programs.

(If you want to learn code and don’t live near of the cities mentioned above, you can check out services such as Codecademy, as well as the wealth of free e-books on programming available on the Web.)

Photo by Jon Lim.

The post Ladies Learning Code Team Aims to Fix Programmer Education – One City at a Time appeared first on ReadWrite.

]]>
Pexels
5 Ways to Tell Which Programming Languages are Most Popular https://readwrite.com/5-ways-to-tell-which-programming-lanugages-are-most-popular/ Tue, 05 Jun 2012 15:02:00 +0000 http://ci01b44d7c20048266

Are older programming languages like Java and Perl giving way to newer languages like Python and Ruby? Is HTML5/CSS3/JavaScript overtaking Flash and/or native mobile application development? Do Microsoft’s languages still have a large developer following, even as Microsoft promotes other languages as first-class citizens on platforms such as…

The post 5 Ways to Tell Which Programming Languages are Most Popular appeared first on ReadWrite.

]]>

Are older programming languages like Java and Perl giving way to newer languages like Python and Ruby? Is HTML5/CSS3/JavaScript overtaking Flash and/or native mobile application development? Do Microsoft’s languages still have a large developer following, even as Microsoft promotes other languages as first-class citizens on platforms such as Windows 8 and Azure? Finding the answer to these questions can be harder than you think.

In many cases, of course, the popularity of a given programming language may not matter. Many programmers try to use the best tool for the job, or when in doubt, use what they know best. But sometimes language popularity does matter:

  1. Companies deciding what language to use for greenfield projects. Attracting skilled developers can be difficult, so using languages that developers like and that lots of developers know can be helpful.
  2. Although learning a language for the sheer joy of it is great, many developers want to focus on learning marketable skills. Knowing what employers are looking for is helpful.
  3. Educators may want to avoid focusing on languages with shrinking usage, both to boost the employability of their students and to gain the largest pool of support from other developers.

There’s no definitive source of information on programming language usage and popularity, but looking at a cross-section of data sources can offer some ideas about overall trends, in terms of popularity with developers and popularity with employers.

1. StackExchange and Github

In 2010, Drew Conway and John Myles White had the idea of ranking programming languages by the number of projects in Github and the number of questions in StackOverflow and found that the results of the two sources were highly correlated. The developer-centric IT analyst firm RedMonk latched on to the idea and has continued collecting data from Github and StackOverflow to track language popularity. The most recent results, from February, are shown above.

Pros: This method draws on two different data sources, and reflects what developers choose to use on their own projects.

Cons: Because Github houses so many personal projects, these results don’t necessarily reflect what developers are actually being paid to use. Github may also favor newer languages, since many of the older projects using tried-and-true languages such as Java and Perl are still hosted at Sourceforge, Apache and elsewhere. Also, a high number of StackOverflow questions may be more of a reflection of the complexity of a language rather than its popularity. It may also skew toward newer languages that developers may have more questions about. And yes, perhaps RedMonk could have integrated Bitbucket projects into these rankings, as well.

2. Hacker News Survey

In April, a Hacker News user posted a reader poll asking “What’s your favorite programming language?” The results actually map pretty well to the RedMonk findings, though it’s surprising just how far ahead Python was in relation to everything else. Here are the top 20 as of June 4:

  1. Python (3,054)
  2. Ruby (1,723)
  3. JavaScript (1,415)
  4. C (970)
  5. C# (829)
  6. PHP (666)
  7. Java (551)
  8. C++ (529)
  9. Haskell (519)
  10. Clojure (459)
  11. CoffeeScript (362)
  12. Objective C (326)
  13. Lisp (322)
  14. Perl (311)
  15. Scala (233)
  16. Scheme (190)
  17. Other (188)
  18. Erlang (162)
  19. Lua (145)
  20. SQL (101)

Lisp, Scheme and Clojure have a combined 971 votes, which together would put Lisp just ahead of C. And combining CoffeeScript with JavaScript would put the two languages together just ahead of Ruby, though still far behind Python.

Pros: The poll explicitly asks about favorite programming languages, making this one of the best sources of information developers’ preferences. It’s also a pretty big sample.

Cons: Hacker News may not be representative of developers in general, and the sample wasn’t controlled. And its primary strength is also a weakness: It obviously doesn’t reflect what’s actually being used in production, just favorites.

3. Dice.com Job Listings

The above metrics don’t necessarily reflect real-world usage, though many corporations do use Github and many professionals ask questions on StackOverflow. To get a better reflection of where the paid programming jobs are, looking at job postings may be your best bet. Last year, Dennis B. Moore shared stats he collected from Dice.com on the number of job listings for various tech skills, including programming and markup languages and frameworks. Moore hasn’t posted an update, but here’s a current look at the search terms that Moore used previously, with the percentage change over last year:

  1. Java 17,599 (+8.96%)
  2. XML 10,780 (+11.70%)
  3. JavaScript 10,738 (+11.64%)
  4. HTML 9,587 (-1.53%)
  5. C# 9,293 (+17.04%)
  6. C++ 6,439 (+7.55%)
  7. AJAX 5,142 (+15.81%)
  8. Perl 5,107 (+3.21%)
  9. PHP 3,717 (+23%)
  10. Python 3,456 (+32.87%)
  11. Ruby 2,141 (+39.03%)
  12. HTML5 2,035 (+276.85%)
  13. Flash 1,261 (+95.2%)
  14. Silverlight 865 (-11.91%)
  15. COBOL 656 (-10.75%)
  16. Assembler 209 (-1.42%)
  17. PowerBuilder 126 (-18.71%)
  18. FORTRAN 45 (-33.82%)

PHP has impressive growth, but not as impressive as Python (which is now nearly as popular on Dice.com) and Ruby. Flash had a huge comeback, but HTML5 has surpassed both Flash and Objective C in demand. Legacy languages including COBOL and FORTRAN look like they’re finally starting to be replaced.

Since I’m not sure how Moore made his selections, and he included several keywords that aren’t programming languages, here are the top 18 from the Hacker News poll (minus C, which is hard to search for, and “other”) ranked by Dice.com search results:

  1. SQL (26,221)
  2. Java (17,599)
  3. JavaScript (10,738)
  4. C# (9,293)
  5. C++ (6,439)
  6. Perl (5,107)
  7. PHP (3,717)
  8. Python (3,456)
  9. Ruby (2,141)
  10. Objective C (824)
  11. Scala (151)
  12. Scheme (226)
  13. CoffeeScript (63)
  14. Erlang (48)
  15. Lua (48)
  16. Lisp (27)
  17. Clojure (25)
  18. Haskell (16)

SQL is over-represented here because of listings for system and database administrators. Scheme is also over represented, since many of the references to the word “scheme” don’t actually refer to the language.

Pros: These results are more indicative of what’s actually being used in “the real world” than other metrics.

Cons: As such, it doesn’t reflect programmers’ preference. Also, these search results are not direct representation of what’s actually being used. Further, Dice.com may not be reflective of the overall market.

4. Programming Book Sales

One interesting metric that intersects with both personal interest and corporate use is the sale of books on programming languages. As ReadWriteWeb’s Joe Brockmeier reported in April, Mike Hendrickson from O’Reilly posted data from the company’s book sales a few months ago, and the results are intriguing. As with the RedMonk rankings, the O’Reilly rankings break down into distinct tiers. The 11 most popular languages form the top tier, which Hendrickson calls “Large” programming languages:

  1. Java
  2. JavaScript
  3. C#
  4. Objective C
  5. C++
  6. PHP
  7. VBA
  8. Python
  9. SQL
  10. ActionScript

Ruby and Perl fall into the second tier, referred to as “major” languages.

Pros: Developers buy books for both pleasure and work, so these numbers could reflect a sweet spot between business and pleasure.

Cons: May skew against older languages like Perl, about which fewer new books may be published. This ranking also doesn’t factor in other publishers that may sell more books on particular languages.

5. Google Search Queries

TIOBE’s index is based on Google search trends on specific language names, plus the keyword “programming” (ex, “ruby programming,” “java programming”). ReadWriteWeb readers have said what they think of these ratings before (note: Your fellow readers are not impressed at with TIOBE.), so they’re included here only for the sake of completion. The May rankings don’t fit well with any of the data looked at here, with both Python and Ruby dropping in popularity.

Pros: ?

Cons: These results don’t reflect what developers like or use, just what terms people are searching for. Can be skewed by developers searching for more specific information (such as jQuery or Node.js instead of “JavaScript”).

Conclusions

Java is still top dog, and developers don’t seem to completely hate it, though it’s sure not their favorite. C and C++ remain popular, both with developers and employers. Python and C# also provide a good trade-off in terms of popularity with developers and employer demand.

Developers may love Lua and Lisp-y languages, but they don’t appear to have much mainstream use. Scala may be a better bet among functional/multiparadigm languages, at least in terms of employment opportunities.

Meanwhile, JavaScript remains wildly popular both in actual use and developer enthusiasm.

The post 5 Ways to Tell Which Programming Languages are Most Popular appeared first on ReadWrite.

]]>
Pexels
New Pipl API Pulls in a Staggering – and Creepy – Amount of People Data Into Your Apps https://readwrite.com/new-pipl-api-pulls-in-a-staggering-and-creepy-amount-of-people-data-into-your-apps/ Fri, 01 Jun 2012 12:00:00 +0000 http://ci01b44cb750056d19

People search engine Pipl's people search API is now out of beta and open to all developers. The API can be used to bring a variety of information about an individual, from social networks like Facebook and LinkedIn to government resources like the United States Patent and Trademark Office and county clerk offices, into any application.

The post New Pipl API Pulls in a Staggering – and Creepy – Amount of People Data Into Your Apps appeared first on ReadWrite.

]]>

People search engine Pipl‘s people search API is now out of beta and open to all developers. The API can be used to bring a variety of information about an individual, from social networks like Facebook and LinkedIn to government resources like the United States Patent and Trademark Office and county clerk offices, into any application.

Customer ID, Social Context and CRM

Pipl’s Chief Revenue Officer Jonathan N. Schreiber says the API could be used for customer identification or verification, or to add social context to applications, such as customer relation management (CRM) systems. In this way, Pipl will compete with people-data providers like Rapleaf, which powers services like Rapportive. But it’s a flexible API and could be used in a number of unforeseen ways.

The API, built using Mashery’s platform, is designed to let developers use the GET command to retrieve Pipl’s search results in JSON on XML format, says Schreiber. Developers can specify a specific type of info they want, such as a mailing address, or just the full search results. The results are time-stamped and include a score that reflects how confident the Pipl service is that it has the right person.

Much of the data that Pipl finds is not normally accessible through Web searches but is still publicly available. According to Schreiber, Pipl uses only publicly available, non-logged-in information and respects robots.txt instructions to avoid the collection of information that’s not meant to be crawlable.

Schreiber describes Pipl as a “real search engine,” not a metasearch engine. It doesn’t query each source for each search – it has already crawled and indexed all of this information. Pipl also performs recursive searches: Once it finds an email address associated with a person, it goes back and uses it to find more profiles and information associated with that email address.

Creepy or Not, Here It Comes

This may sound a bit creepy, but Schreiber also says that although Pipl will try to determine an individual’s email addresses, the search engine will never return email address results to users. In fact, Pipl may actually prove useful in cleaning up online profiles by exposing old profiles and information.

Nevertheless, services like Pipl and other people data search engines like Spokeo have proven controversial. See ReadWriteWeb’s recent post: Here Are 20 Companies Who Sell Your Data (& How To Stop Them). While there are plenty of innocent uses for an API like this, it’s not hard to imagine developers using this API to do some unsettling things.

Lead image courtesy of Shutterstock.

The post New Pipl API Pulls in a Staggering – and Creepy – Amount of People Data Into Your Apps appeared first on ReadWrite.

]]>
Pexels
MIT Brain Who Beat the Casinos Launches Service to Quantify Developer Performance https://readwrite.com/mit-brain-who-beat-the-casinos-launches-service-to-quantify-developer-performance/ Thu, 31 May 2012 18:30:00 +0000 http://ci01b44c7ae0018266

Jeff Ma, the MIT blackjack team member who served as the inspiration for Ben Mezrich’s book Bringing Down the House and the film 21, gave developers at the Atlassian Summit a glimpse of his new stealth startup: TenXer.

The post MIT Brain Who Beat the Casinos Launches Service to Quantify Developer Performance appeared first on ReadWrite.

]]>

Jeff Ma, the MIT blackjack team member who served as the inspiration for Ben Mezrich’s book Bringing Down the House and the film 21, gave developers at the Atlassian Summit a glimpse of his new stealth startup: TenXer.

TenXer is a tool for measuring employee performance, and is now available as a plugin for Atlassian’s bug-tracking tool JIRA via the relaunched Atlassian Marketplace. Atlassian makes a variety of tracking, collaboration and software development products.

Using the JIRA plugin, development teams can track their metrics and see a performance dashboard. This appears to be the first public release of TenXer, and it doesn’t seem to be accessible outside of JIRA yet.

Ma and his fellow MIT students earned big bucks with their card counting system in the 1990s, but were eventually banned from just about every blackjack table in the country. Since then, Ma has occupied his time founding companies like PROTRADE and Citizen Sports, which sold to Yahoo in 2010. He’s also been giving talks on teamwork at various conferences.

In his keynote at Atlassian Summit, Ma explained that he noticed that successful individuals and teams, from athletes to businesses, quantify their performance and measure progress toward specific goals. That led him to found TenXer to create a system tracking employee performance. To this end, the TenXer plugin for JIRA measures metrics – such as bugs closed, bugs fixed and work logged – to help quantify developer performance. The name TenXer comes from the idea that “great employees are 10x better than the average.”

According to Business Insider, Niel Robertson, co-founder of Trada, is also a co-founder of TenXer. AngelList cites David Jeske as an investor.

The Atlassian Marketplace is an app-store style service for purchasing and installing plugins and integrations for Atlassian products. It was formerly known as Atlassian Plugin Exchange and was relaunched today at the summit.

The post MIT Brain Who Beat the Casinos Launches Service to Quantify Developer Performance appeared first on ReadWrite.

]]>
Pexels
iPad for Business Round-Up: Presentation Link and More https://readwrite.com/ipad-for-business-round-up-6/ Fri, 12 Aug 2011 15:00:00 +0000 http://ci01b44e2f10066d19

The iPad isn't just a hot new consumer device, it's also an increasingly popular tool for business. Each week we take a look at the new or updated business apps for the iPad, and highlight trends in how tablets are being used in the enterprise.

This week we look at a new presentation app, a new project management app and the new version of Google…

The post iPad for Business Round-Up: Presentation Link and More appeared first on ReadWrite.

]]>

The iPad isn’t just a hot new consumer device, it’s also an increasingly popular tool for business. Each week we take a look at the new or updated business apps for the iPad, and highlight trends in how tablets are being used in the enterprise.

This week we look at a new presentation app, a new project management app and the new version of Google Plus for iOS.

Presentation Link

Presentation Link makes it possible for multiple people to view the same presentation on different iPads. Instead of giving an overhead presentation, participants can follow along on their own iPads. It also supports VGA and HDMI output so that you can present to external monitors or projects as well. You can either sync with Dropbox or access presentations via e-mail. It reminds me of Conference Pad, which we covered here.

For more presentation apps for the iPad, check out our round-up.

MAPM Project Manager

MAPM Project Manager is a project management app for iOS that focuses on requirements gathering and planning.

For more project management apps for the iPad, check our list.

Google Plus for iPad

Before this week, the Google Plus iOS app was unable to run on the iPad. this week’s update changed that, and brought additional fixes. However, you’ll still be stuck using it in an iPhone sized version on the iPad. Our Jon Mitchell writes that he still prefers the mobile Web version on the iPad to the iPhone-sized experience.

The post iPad for Business Round-Up: Presentation Link and More appeared first on ReadWrite.

]]>
Pexels
Poll: Can Big Data Be Democratized? https://readwrite.com/poll-can-big-data-be-democrati/ Fri, 12 Aug 2011 14:30:00 +0000 http://ci01b44c7400026d19

There are a number of projects out there that claim to be "democratizing" complex systems such as big data analysis, predictive analytics and business intelligence. Sometimes this means making tools free or cheap (such as Revolution Analytics). Other times, it just means making them more accessible to non-programmers, through either SQL-like query…

The post Poll: Can Big Data Be Democratized? appeared first on ReadWrite.

]]>

There are a number of projects out there that claim to be “democratizing” complex systems such as big data analysis, predictive analytics and business intelligence. Sometimes this means making tools free or cheap (such as Revolution Analytics). Other times, it just means making them more accessible to non-programmers, through either SQL-like query languages or drag and drop interfaces. A new example of the latter comes in the form of the service Radoop, which provides a Yahoo Pipes-like visual programming interface for Hadoop (it’s still in private beta).

But is it really possible to make complex tools like Apache Hadoop accessible to non-programmers?

Certainly it will be possible to simplify certain tasks. Microsoft’s Excel DataScope brings its distributed computing system Daytona into Excel. (Though some would argue that Excel isn’t particularly simple.) But I can’t help but wonder if anything that can be made simple enough to run through a beginner’s interface will actually justify using tools like Daytona in the first place. In other words, will you have to sacrifice so much power in the name of simplicity that you might as well use less powerful tools to begin with?

The other question is what is lost by glossing over lower level details. The Web has certainly become more democratized since its early, pre-Mosiac days – and all without sacrificing any power. But when I was still doing end-user support (less than a year ago) I frequently ran into people of all ages (i.e., not just “old people”) who lacked even a basic understanding of how the Web worked. It’s not uncommon to meet people who don’t know you can type a URL into the address bar of a browser.

I bring up the Web example because there are obviously extremes. It does seem excessive to insist that no one use Hadoop unless they know how to program in Java. But what gets lost as you abstract elements away?


Image by Adam T4

The post Poll: Can Big Data Be Democratized? appeared first on ReadWrite.

]]>
Pexels
5 Tools to Manage Code Tags in Websites https://readwrite.com/tools-to-manage-code-tags/ Fri, 12 Aug 2011 13:00:00 +0000 http://ci01b44e3df0046d19

How do you deal with all those Web analytics snippets, header tags for authenticating with various services (like Google Webmaster Central and Quantcast), A/B testing tags, etc.? Are you unsure which tags you still need, or what tags added by other collaborators actually do?

Several services have sprung-up to try to solve the problem of too…

The post 5 Tools to Manage Code Tags in Websites appeared first on ReadWrite.

]]>

How do you deal with all those Web analytics snippets, header tags for authenticating with various services (like Google Webmaster Central and Quantcast), A/B testing tags, etc.? Are you unsure which tags you still need, or what tags added by other collaborators actually do?

Several services have sprung-up to try to solve the problem of too many code snippets and tags. Here are a few.

Ubertags

Ubertags is a hosted service proves you with one single tag to put into websites that calls other tags, allowing you to manage the tags in one place. It also allows you to do things like prioritize the “firing order” of different tags, test tags before deploying and more. Pricing starts at $50 a month.

Tealium

Tealium is geared towards marketers instead of developers, but is based on much the same idea: put one code snippet on a site, then let the marketers manage those snippets from their own console.

One neat feature is Tealium is the ability to add tags from particular vendors without even having to copy and paste code. Users can just select a vendor from a list and Tealium will automatically add their codes.

OpenTag

QuBit OpenTag is an open core tag management system, with a free open source version that you host yourself and a paid hosted version with additional features. It seems to be targeted at both developers and marketers. It’s currently in beta.

Tagman

Tagman is also geared towards marketers, particularly those running large e-commerce sites that might be working more with their own tags rather than third-party tags.

Ensighten

Ensighten is another tag management platform. In addition to the ability to manage tags on websites, Ensighten offers tools specifically designed to manage tags in mobile applications as well as Flash and Flex applications.

Adobe Tag Manager

Adobe announced its own tag management tool as part of its Omniture product earlier this year: Adobe Tag Manager. A beta release was supposed to be available in June, but I haven’t been able to find it, or any more recent information. Still, for those that rely heavily on the Adobe stack of applications, this might be something worth looking into.

The post 5 Tools to Manage Code Tags in Websites appeared first on ReadWrite.

]]>
Pexels
Microsoft Bringing Hadoop Connectors to SQL Server https://readwrite.com/microsoft-bringing-hadoop-to-s/ Fri, 12 Aug 2011 12:30:00 +0000 http://ci01b44e49c0008266

This week Microsoft announced its intentions to bring Hadoop to SQL Server and Parallel Data Warehouse (PDW). PDW was introduced last year and brought centralized data warehousing capabilities to SQL Server.

"As a first step, we will soon release a Community Technology Preview (CTP) of two new Hadoop connectors - one for SQL Server and one for…

The post Microsoft Bringing Hadoop Connectors to SQL Server appeared first on ReadWrite.

]]>

This week Microsoft announced its intentions to bring Hadoop to SQL Server and Parallel Data Warehouse (PDW). PDW was introduced last year and brought centralized data warehousing capabilities to SQL Server.

“As a first step, we will soon release a Community Technology Preview (CTP) of two new Hadoop connectors – one for SQL Server and one for PDW,” the SQL Server Team blog says.

The connectors provide interoperability between SQL Server/PDW and Hadoop environments, enabling customers to transfer data between Hadoop and SQL Server/PDW. With these connectors, customers can more easily integrate Hadoop with their Microsoft Enterprise Data Warehouses and Business Intelligence solutions to gain deeper business insights from both structured and unstructured data.

Microsoft also has its own alternatives to Hadoop, such as Daytona and LINQ for HPC (formerly known as Dryad). It also has a BigTable/HBase alternative called Azure Table Storage.

However, as Hadoop adoption has continued to spread it’s smart of Microsoft to offer support for Hadoop. Other vendors, such as Pentaho and Jaspersoft have announced connectors for Hadoop this year.

Microsoft also announced the Dell Parallel Data Warehouse appliance.

The post Microsoft Bringing Hadoop Connectors to SQL Server appeared first on ReadWrite.

]]>
Pexels
From Big Data to NoSQL: The ReadWriteWeb Guide to Data Terminology (Part 3) https://readwrite.com/from-big-data-to-nosql-the-rea-2/ Fri, 12 Aug 2011 11:30:00 +0000 http://ci01b44d9450008266

It's hard to keep track of all the database-related terms you hear these days. What constitutes "big data"? What is NoSQL, and why are your developers so interested in it? And now "NewSQL"? Where do in-memory databases fit into all of this? In this series, we'll untangle the mess of terms and tell you what you need to know.

In Part One we…

The post From Big Data to NoSQL: The ReadWriteWeb Guide to Data Terminology (Part 3) appeared first on ReadWrite.

]]>

It’s hard to keep track of all the database-related terms you hear these days. What constitutes “big data”? What is NoSQL, and why are your developers so interested in it? And now “NewSQL”? Where do in-memory databases fit into all of this? In this series, we’ll untangle the mess of terms and tell you what you need to know.

In Part One we covered data, big data, databases, relational databases and other foundational issues. In Part Two we talked about data warehouses, ACID compliance, distributed databases and more. Now we’ll cover non-relational databases, NoSQL and related concepts.

Non-Relational Database

A non-relational databse is simply any type of database that doesn’t follow the relational model. See Part One for a full definition of relational database.. Several types of database get lumped into this category: document-oriented databases, key-value stores, BigTable-clones and graph databases are the main ones, but there are a few others.

We did an overview of the field a couple years ago, and have covered many databases that fit under this large umbrella.

Non-relational databases tend to be used for big data or unbounded data. Although caching and in-memory data can mitigate many of the problems a relational database may encounter, there are times when data is either being updated too quickly or the data sets are simply too large to be handled practically by a relational database.

Non-relational databases are usually thought of as not being ACID compliant, but some some are.

NoSQL

NoSQL is shorthand for non-relational database. Some have suggested that “no” should in this case stand for “not only.” According to the Wikipedia, the first known use was by Carlo Strozzi, but he was using it to refer to a relational database that didn’t expose a SQL interface. He later said that the way the term is used now is more accurately “NoREL,” not “NoSQL.” Perhaps the earliest use of the term with its current meaning was the first NOSQL Meetup.

CAP Theorem

According to Wikipedia, the CAP theorem states that a distributed computer system can’t guarantee all of the following:

  • Consistency, all nodes see the same data at the same time
  • Availability, a guarantee that every request receives a response about whether it was successful or failed
  • Partition tolerance, the system continues to operate despite arbitrary message loss

The CAP theorem was proposed by computer scientist Eric Brewer of University of California, Berkeley and later proved by Seth Gilbert and Nancy Lynch of MIT.

BASE and Eventual Consistency

Most of the non-relational databases that have become popular in recent years are capable of being constructed as distributed databases as well, and that’s often the reason that they are used. The CAP theorem tells us, however, that we can’t always have both ACID levels of consistency and high availability. Many non-relational databases therefore use a different standard for consistency: BASE, which stands for Basically Available Soft-state Eventually.

In a distributed database system, different copies of the same data set may exist on several servers. We of course want these data sets to stay consistent. But one of the main points of having multiple servers is to improve performance. We don’t necessarily want to tie up up each server every time a database table is updated. So we settle for “eventual consistency.” “Eventual” usually actually means less than a second. The concept is discussed in my greater depth here.

MapReduce and Apache Hadoop

Map and reduce are methods in computer science for manipulating data. MapReduce is a distributed computing system created by Google specifically for working with large data sets and distributed data stores. It’s named after these two computer science methods.

Apache Hadoop is an open source implementation of the ideas from a paper Google published on MapReduce. MapReduce is used in conjunction with a data store called BigTable, which we’ll explain below. Hadoop has its own data store called HBase, which is based on ideas explained in a paper on BigTable.

The collection of computers that comprise a distributed computing system is called a “cluster.” Each computer in the cluster is referred to as a “node.” Here’s how Wikipedia explains MapReduce:

  • “Map” step: The master node takes the input, partitions it up into smaller sub-problems, and distributes those to worker nodes. A worker node may do this again in turn, leading to a multi-level tree structure. The worker node processes that smaller problem, and passes the answer back to its master node.
  • “Reduce” step: The master node then takes the answers to all the sub-problems and combines them in some way to get the output – the answer to the problem it was originally trying to solve.

Map and reduce is a common system used for querying data in non-relational databases, but the approach may be very different from MapReduce. For example, this Apache CouchDB tutorial explains how to use JavaScript to write a map and reduce function that finds products and prices in a database. The map function in this example finds and returns a list of products and the reduce function checks to make sure there is a price for each result and returns the price.

Sometimes the term “MapReduce” may refer to this programming method, other times it may refer to Google/Hadoop distributed computing approach (which is a specific application of these methods).

Key-Value Store

Key-value stores are schema-less data stores. As Oren Eini writes, “The simplest No SQL databases are the Key/Value stores. They are simplest only in terms of their API, because the actual implementation may be quite complex.”

Using the blog example again (see the relational database section of Part One and the columnar database section of Part Two), a blog that uses a key-value store might store posts with just a key (say, a unique number for each post) and then everything else will be lumped together as the value. Here’s our blog example in a very simple key-value store:

The lack of a schema can make it much more difficult to create custom views of the data, which is one of the reasons map and reduce are used to query many non-relational databases.

Membase and Redis are examples of key-value stores.

Document Database

Document databases contain information stored in the form of documents. They are considered semi-structured. A document-oriented database is more complex than a key-value store, but simpler than a relational database.

Here’s the old blog database example again:

Notice that in this version, there’s no need for the “Categories” field to be set in the second document. Contrast this with the relational database, which had the field but left it blank.

This allows for more flexibility than a relational database, while providing more structure than a key-data store and making it easier to retrieve and work with the stored data. It would be much easier to create a list of posts with a common tag using a a document database than a plain key-value store.

Lotus Notes is an early example of a document-oriented database. Apache CouchDB and MongoDB are two more recent examples.

BigTable-clone, Tabular Stores or Column Family Database

BigTable is a column-oriented, distributed, non-relational data store created by Google. Like MapReduce, Google published an academic paper detailing its workings. That lead to a few clones, most notably HBase, the data store used with Apache Hadoop. Apache Cassandra is also influenced by BigTable. Some refer to them as “tabular stores.” Eini calls these “column family databases.”

BigTable-clones are actually very similar to relational databases, but do away with a few structural elements. This necessitates using complex search methods, but makes it possible to scale to petabytes of size. BigTable and its clones store data in columns, super-columns and column-families. We can think of super-columns and column-families as “columns of columns.”

If you want more information about how BigTable actually works, you can read Google’s paper or the short article Understanding HBase and BigTable by Jim R. Wilson.

Object Database

Object databases apply the principles of object-oriented programming to database design. What this means is programmers can store data in databases using the same structure that the computer programs that will eventually access the program use. This means the program doesn’t need to process the data into another structure when accessing the database. Instead of using a query language, such as SQL, a program can perform operations on the data immediately. One downside is that object databases are often tied to a specific programming language, such as Java or C++.

One of the most popular object databases is Objectivity/DB, which is used in applications ranging from computer aided drafting to telecommunications to scientific research.

More information on object databases can be found here.

Graph Database

Graph databases apply graph theory to the storage of information about the relationships between entries. The relationships between people in social networks is the most obvious example. The relationships between items and attributes in recommendation engines is another.

Yes, it has been noted by many that it’s ironic that relational databases aren’t good for storing relationship data. Adam Wiggins from Heroku has a lucid explanation of why that is. Short version: among other things, relationship queries in RDBSes can be complex, slow and unpredictable. Since graph databases are designed for this sort of thing, the queries are more reliable.

Popular examples include Neo4j and DEX.

We’re partial to this illustration from a presentation by Peter Neubauer, the COO of Neo4j sponsor company Neo Technologies, Neo4j works:

Another good example comes from structur, a content management management system that uses Neo4j. This illustration shows how the graph database model can be applied to content (to a blog system, for example):

NewSQL

NewSQL is a term coined by 451 Group analyst Matthew Aslett to describe a a new wave of software projects that try to make RDBMSes more scalable.

Examples include:

  • Drizzle, which tries to rebuild the popular RDBMS MySQL from the ground up.
  • HandlerSocket, a MySQL plugin that provides key-value store functionality.
  • VoltDB, an in-memory, distributed relational database that is fully ACID compliant.

Special thanks to Tyler Gillies for his help with this series

The post From Big Data to NoSQL: The ReadWriteWeb Guide to Data Terminology (Part 3) appeared first on ReadWrite.

]]>
Pexels
Free E-Book: The Art of Assembly Language Programming https://readwrite.com/free-e-book-the-art-of-assembly/ Fri, 12 Aug 2011 09:00:00 +0000 http://ci01b44dec40006d19

Nearly the entire text of The Art of Assembly Language Programming has been posted online for the Processing Systems and Structures course at Washington University. The book begins with machine organization and then works through basic to advanced assembly language.

A while back we asked whether all programmers should learn assembly language…

The post Free E-Book: The Art of Assembly Language Programming appeared first on ReadWrite.

]]>

Nearly the entire text of The Art of Assembly Language Programming has been posted online for the Processing Systems and Structures course at Washington University. The book begins with machine organization and then works through basic to advanced assembly language.

A while back we asked whether all programmers should learn assembly language. Most of you thought either all or most programmers should learn assembly.

From the introduction, here’s a list of why someone would want to learn assembly:

  • Your major requires a course in assembly language; i.e., you’re here against your will.
  • A programmer where you work quit. Most of the source code left behind was written in assembly language and you were elected to maintain it.
  • Your boss has the audacity to insist that you write your code in assembly against your strongest wishes.
  • Your programs run just a little too slow, or are a little too large and you think assembly language might help you get your project under control.
  • You want to understand how computers actually work.
  • You’re interested in learning how to write efficient code.
  • You want to try something new.

Programming from the Ground Up is another assembly language book available for free online.

The post Free E-Book: The Art of Assembly Language Programming appeared first on ReadWrite.

]]>
Pexels
Google Chrome Beta Now Supports C/C++ https://readwrite.com/google-officially-announces-cc/ Thu, 11 Aug 2011 19:30:00 +0000 http://ci01b44cd4f0008266

Google has been working on Native Client (aka NaCl), an SDK that brings C/C++ functionality to browsers since at least last year, and now the latest Google Chrome beta version includes NaCl. NaCl uses an API called "Pepper" that provides HTML5 bindings for C or C++ . (NaCl is the molecular formula for salt. Salt and pepper. Get it?)

Google has…

The post Google Chrome Beta Now Supports C/C++ appeared first on ReadWrite.

]]>

Google has been working on Native Client (aka NaCl), an SDK that brings C/C++ functionality to browsers since at least last year, and now the latest Google Chrome beta version includes NaCl. NaCl uses an API called “Pepper” that provides HTML5 bindings for C or C++ . (NaCl is the molecular formula for salt. Salt and pepper. Get it?)

Google has also promised to make NaCl available as a plugin for other browsers. What this means is that cloud-based applications may be able to execute code at a desktop level of sophistication, and that Google Chrome OS will soon be able to run these types of applications as well. It’s further blurring of the lines between Web/cloud and desktop applications.

According to Google’s announcement:

Native Client allows C and C++ code to be seamlessly executed inside the browser with security restrictions similar to JavaScript. Native Client apps use Pepper, a set of interfaces that provide C and C++ bindings to the capabilities of HTML5. As a result, developers can now leverage their native code libraries and expertise to deliver portable, high performance web apps.

Google also announced the Web Audio API, which brings advanced audio capabilities to JavaScript. This will further break down the barrier between what it is and isn’t possible for browser based applications to do.

Google first previewed NaCl for Chromium in May of 2010. Here’s a video explanation and demo:

The post Google Chrome Beta Now Supports C/C++ appeared first on ReadWrite.

]]>
Pexels
From Big Data to NoSQL: The ReadWriteWeb Guide to Data Terminology (Part 2) https://readwrite.com/from-big-data-to-nosql-the-rea-1/ Thu, 11 Aug 2011 14:30:00 +0000 http://ci01b44ca6e0006d19

It's hard to keep track of all the database-related terms you hear these days. What constitutes "big data"? What is NoSQL, and why are your developers so interested in it? And now "NewSQL"? Where do in-memory databases fit into all of this? In this series, we'll untangle the mess of terms and tell you what you need to know.

In Part One we…

The post From Big Data to NoSQL: The ReadWriteWeb Guide to Data Terminology (Part 2) appeared first on ReadWrite.

]]>

It’s hard to keep track of all the database-related terms you hear these days. What constitutes “big data”? What is NoSQL, and why are your developers so interested in it? And now “NewSQL”? Where do in-memory databases fit into all of this? In this series, we’ll untangle the mess of terms and tell you what you need to know.

In Part One we covered data, big data, databases, relational databases and other foundational issues. In this section we’ll talk about data warehouses, ACID compliance, distributed databases and more. In part three, we’ll cover non-relational databases, NoSQL and related concepts.

Data Warehouse

A data warehouse is a centralized database that is shared by an organization. According to Information Management, a data warehouse is “typically a subject database that allows users to tap into a company’s vast store of operational data to track and respond to business trends and facilitate forecasting and planning efforts.”

Analytics

Wikipedia defines analytics as “the application of computer technology, operational research, and statistics to solve problems in business and industry.” However there has been controversy over the definition of the expression. Some simply use it interchangeably with “statistics” or “data analysis.” Others believe analytics needs to have an automated component.

Many encounter the term for the first time to refer to Web analytics, which is the practice of collecting and analyzing data on the use of websites – including, but not limited to, traffic analysis.

Business Intelligence

Business intelligence refers to the use of software to analyze business data, usually data stored in a data warehouse. According to Information Management:

“Business intelligence serves two main purposes. It monitors the financial and operational health of the organization (reports, alerts, alarms, analysis tools, key performance indicators and dashboards). It also regulates the operation of the organization, providing two- way integration with operational systems and information feedback analysis.”

Some consider business intelligence to be a subcategory of “business analytics,” though IBM has been using the term “business analytics” to refer to automated business intelligence.

Data Mining

From the Wikipedia entry on data mining:

“Data mining (the analysis step of the Knowledge Discovery in Databases process, or KDD), a relatively young and interdisciplinary field of computer science, is the process of discovering new patterns from large data sets involving methods from statistics and artificial intelligence but also database management. In contrast to for example machine learning, the emphasis lies on the discovery of previously unknown patterns as opposed to generalizing known patterns to new data.

“The term is a buzzword, and is frequently misused to mean any form of large scale data or information processing (collection, extraction, warehousing, analysis and statistics) but also generalized to any kind of computer decision support system including artificial intelligence, machine learning and business intelligence. In the proper use of the word, the key term is discovery, commonly defined as “detecting something new”. Often the more general terms “(large scale) data analysis” or “analytics” are more appropriate.”

Columnar Database / Column-Oriented Database

Columnar databases differ from most traditional RDBMSes in that they store data primarily by column instead of row. To use our blog post example from the Relational Database section of Part One, the same example in a columnar database would look like:

Because data stored in a column-oriented database is usually quicker for a DBMS to read, columnar databases are popular for data warehouses. Columnar databases are usually relational databases, but need not be.

SybaseIQ may have been the first columnar database. Columnar databases have been a hot property. In the past two years SAP acquired Sybase, EMC acquired Greenplum, IBM acquired Netezza, HP acquired Vertica and Teradata acquired AsterData.

Distributed Database

A distributed database spreads data across multiple disks on multiple servers. Wikipedia describes some of the key challenges:

“To ensure that the distributive databases are up to date and current, there are two processes: replication and duplication. Replication involves using specialized software that looks for changes in the distributive database. Once the changes have been identified, the replication process makes all the databases look the same. The replication process can be very complex and time consuming depending on the size and number of the distributive databases. This process can also require a lot of time and computer resources. Duplication on the other hand is not as complicated. It basically identifies one database as a master and then duplicates that database. The duplication process is normally done at a set time after hours. This is to ensure that each distributed location has the same data. In the duplication process, changes to the master database only are allowed. This is to ensure that local data will not be overwritten. Both of the processes can keep the data current in all distributive locations.”

ACID Compliance

ACID, in this case, stands for “atomicity, consistency, isolation, durability.” These are the properties set down by computer scientist Jim Gray in the 70s as the essential to having a reliable database.

Here’s a perhaps oversimplified explanation of each component:

  • Atomicity means that each transaction is a “thing” in and of itself. If one part of the transaction fails, the entire transaction fails.
  • Consistency means that a database should stay in a consistent state from transaction to transaction. If a transaction fails, the database should be reverted to a pre-failure state, deleting all traces of the failed transaction.
  • Isolation means that data that is being modified during a transaction can’t be accessed or modified until the transaction is over.
  • Durability means that data is safe from various sorts of failures. A user shouldn’t have to worry about a failed transaction causing data from previously successful transactions to be lost.

As we’ll see later, these principles are difficult to maintain in distributed databases without making other sacrifices.

Sharding

Sharding refers to partitioning a database into multiple interdependent parts, typically to enable the creation of a distributed database. Sharding is used on row-oriented databases to split them up by row. Shards might be created based on a logical grouping, for example a sharded blog database may split the blog post table up by author. You can learn more about sharding, and some of the challenges it presents, here.

In-Memory Database

An in-memory database stores data in its RAM instead of on a disk. Reading from and writing to RAM is much faster than working with disks, but typically computers have far more disk storage than RAM. For example, the computer I’m writing this on has 4GB of RAM, but 500GB of hard disk space. Servers tend to have similar proportions. What this means is that you’ve either got to have enough RAM on a single server to run your software and store your data sets in memory, or you’ve got to distribute your data over multiple machines.

The other problem with in-memory databases is persistence. What if the DBMS crashes, or if the computer running it is turned off unexpectedly? There are various ways that in-memory databases or other in-memory data systems backup data to disk for such cases. We won’t go into that here.

Database Caching

Remember our example from the Relational Database section of Part One? Every time we pull up a blog post, the DBMS has to find the data from each column and assemble it into our blog post. On a busy site, this can create a burden on the server. If the database isn’t updated too often (by “often,” we mean every few seconds, or even multiple times per second), you could “cache” all the data from from those columns so that every time you pull up a post, you have all the columns assembled already. A cache, in this case, is essentially a snapshot of the query we want.

Memcached is a program that caches data in-memory, which can speed-up a disk-based RDBMS considerably. It was originally created at Live Journal and is now used by sites ranging from Reddit to Zynga to speed up sites and reduce the load on servers.

Next: NoSQL and NewSQL

In the third and final section we’ll talk about non-relational databases (also referred to as NoSQL databases) and the emerging category of data stores referred to as NewSQL. Watch for it tomorrow.

Special thanks to Tyler Gillies for his help with this series

The post From Big Data to NoSQL: The ReadWriteWeb Guide to Data Terminology (Part 2) appeared first on ReadWrite.

]]>
Pexels
MondoNet: Rutgers Academics Try to Build a New, Censorship-Proof Internet https://readwrite.com/mondonet/ Thu, 11 Aug 2011 13:00:00 +0000 http://ci01b44cb4d0036d19

Here's another one for our lists of government-less Internets: MondoNet. According to the MondoNet website: "The purpose of this project is to study the technological, social and regulatory feasibility of developing a peer-to-peer mesh networking protocol."

MondoNet was founded by academics at Rutgers University, and the university is…

The post MondoNet: Rutgers Academics Try to Build a New, Censorship-Proof Internet appeared first on ReadWrite.

]]>

Here’s another one for our lists of government-less Internets: MondoNet. According to the MondoNet website: “The purpose of this project is to study the technological, social and regulatory feasibility of developing a peer-to-peer mesh networking protocol.”

MondoNet was founded by academics at Rutgers University, and the university is supporting the team’s research. The project is close to being able to test its mesh networking protocol in actual, real-life communities.


Aram Sinnreich’s TEDx talk on MondoNet

In an interview with R.U. Sirius, MondoNet co-founder and Rutgers professor Aram Sinnreich said:

“While it’s true that these protocols are inherently decentralized and therefore very resistant to censorship, the problem comes at the infrastructural level, which is far more centralized. The Internet may have a billion nodes now, but only a handful of companies control the Internet’s “backbone,” the broadband ISP market and the wireless data services market (and two companies, AT&T and Verizon, are the dominant players in each of these sectors in the U.S.). That means that no two Internet users in the U.S. can communicate with one another without their data passing through the hands of one of these companies.

“Unless the data is encrypted (in which case, it can be dumped if the companies choose), it is vulnerable to packet-sniffing or other forms of inspection. This is not a hypothetical situation; these companies have long histories of inspecting packets for the purposes of (a) commercially preferred treatment, e.g. non-neutral network operations; (b) commercial exploitation, e.g. consumer profiling; and (c) political censorship and surveillance, either at the behest of the federal government (think NSA wiretaps) or for reasons of corporate ideology (e.g. AT&T censoring an Eddie Vedder webcast critical of President Bush; Verizon blocking text messages between pro-choice groups and their members).”

We’ve seen several of these projects crop-up over the past few years, and Sinnreich says MondoNet is in communication with many of them.

Unlike many other projects, which are often run by engineers, entrepreneurs and/or policy wonks, the founders of MondoNet are academics. Some might count that against them, Sinnreich believes this helps them bring in human-focused perspectives that might otherwise be overlooked. MondoNet begins with what tk describes as “social specifications.”

See also our coverage of the Decentralized Internet.

The post MondoNet: Rutgers Academics Try to Build a New, Censorship-Proof Internet appeared first on ReadWrite.

]]>
Pexels
Does Facebook Really Have the Worst API? https://readwrite.com/poll-does-facebook-really-have/ Thu, 11 Aug 2011 12:00:00 +0000 http://ci01b44cee80038266

Photo aggregation service Trove revealed results of a survey of

The post Does Facebook Really Have the Worst API? appeared first on ReadWrite.

]]>

Photo aggregation service Trove revealed results of a survey of Hacker News readers about API horrors and headaches.

Programmable Web (a site owned by ReadWriteWeb sponsor Alcatel-Lucent) counted up the mentions of specific APIs to try to determine which one drew the most ire from developers.

The verdict? Facebook is the worst. But actually, Facebook tied with “Other.” Given that Facebook is one of the most popular APIs, can we really conclude that Facebook has the worst API, or just the most commonly used?

Here’s a list of the most common gripes about APIs in general, from Trove’s blog post:

  • Poor documentation (how you loathe poor documentation)
  • OAuth (oh wow, do you hate OAuth)
  • Poor error handling
  • Lack of example code
  • Lack of test environments
  • Lack of standardized libraries across languages
  • APIs that change/break frequently (huge shout out to Facebook here, like you’re surprised)
  • Normalizing data to match internal data structures
  • Line between use and abuse
  • Arbitrary throttling (differences between services)
  • Differing standards (REST v SOAP v XML-RPC, XML v JSON v POST, versioning v not, etc.)
  • Getting services to talk to a dev machine behind a firewall

Most of these can apply to just about any API, not just Facebook. But as Programmable Web executive editor Adam DuVander notes, Facebook really is called out explicitly and often.

Is the Facebook API really so bad?

Image Credit: Massimo Barbieri

The post Does Facebook Really Have the Worst API? appeared first on ReadWrite.

]]>
Pexels
PouchDB: A Portable Implementation of CouchDB in JavaScript https://readwrite.com/pouchdb-a-portable-implementation-of-couchdb-in-javascript/ Thu, 11 Aug 2011 11:00:00 +0000 http://ci01b44dbb30048266

PouchDB is a new project from former CouchOne (now called Couchbase) employee Mikeal Rogers. It's an attempt to create a full JavaScript implementation of the CouchDB storage and views API to enable peer-to-peer replication with "real" CouchDB instances.

The current version supports the HTML5 data store IndexedDB, and Rogers plans to support…

The post PouchDB: A Portable Implementation of CouchDB in JavaScript appeared first on ReadWrite.

]]>

PouchDB is a new project from former CouchOne (now called Couchbase) employee Mikeal Rogers. It’s an attempt to create a full JavaScript implementation of the CouchDB storage and views API to enable peer-to-peer replication with “real” CouchDB instances.

The current version supports the HTML5 data store IndexedDB, and Rogers plans to support LevelDB in the future.

Here’s an explanation from the ReadMe as to the purpose of PouchDB:

Unlike the other current couch-like browser APIs built on WebStorage (http://dev.w3.org/html5/webstorage/) PouchDB’s goal is to maintain the same kinds of consistency guarantees Apache CouchDB provides across concurrent connections across the multiple-tabs a user might be using to concurrently access an PouchDB database. This is something that just isn’t possible with the BrowserStorage API previous libraries like BrowserCouch and lawnchair use.


BrowserCouch, created by Atul Varma, is a similar project. The PouchDB ReadMe notes that “After IndexedDatabase is more solidified it’s possible that BrowserCouch and PouchDB might merge to provide a simple fallback option for browsers the do not yet support IndexedDatabase.”

The post PouchDB: A Portable Implementation of CouchDB in JavaScript appeared first on ReadWrite.

]]>
Pexels
Box Expands Mobile Support, Validates the Mobile Enterprise https://readwrite.com/box-expands-tablet-support-add/ Thu, 11 Aug 2011 09:00:00 +0000 http://ci01b44c9210018266

Today, Box announced a tablet-optimized Android app, a PlayBook app (the company's first native app for any BlackBerry platform) and a new HTML5 mobile site. The Android version replaces the company's existing Android app and will work with both smartphones and tablets, optimizing the view depending on the device.

More interesting than the actual…

The post Box Expands Mobile Support, Validates the Mobile Enterprise appeared first on ReadWrite.

]]>

Today, Box announced a tablet-optimized Android app, a PlayBook app (the company’s first native app for any BlackBerry platform) and a new HTML5 mobile site. The Android version replaces the company’s existing Android app and will work with both smartphones and tablets, optimizing the view depending on the device.

More interesting than the actual app announcements, Box CEO Aaron Levie revealed that the company has seen a 600% increase in enterprise sales regarding mobile. And yes, that’s specifically enterprise sales, not overall sales. For example, Proctor and Gamble just became a Box customer based largely on the company’s mobile support.


Screenshot of the Box app on an Android tablet.

We’ve seen an explosion of enterprise mobile applications, especially tablet apps (as we’ve documented here on an at least weekly basis). But it hasn’t been clear to what degree enterprises are actually demanding and taking advantage of these apps. Box’s experience indicates that enterprises are indeed looking for these solutions.

In the past, I’ve wondered how Box would stand out in the market. Among large enterprises, SharePoint already has a huge marketshare, and companies like Newsgator and Harmon.ie are making it more palatable to end users. Now that you can upload any file format to Google Docs, Google Apps is shoring up a lot of the mid-market, and Dropbox and Google Docs have become the de facto standards for document sharing and collaboration between individual professionals. So where would Box, and its competitors like Huddle, fit into this (especially with Apple iCloud now on the scene)?

Box seems to have solved by building niche with its mobile support (the company received a leading position in the Forrester Wave on mobile collaboration) and possibly also through its integrations with Google Docs, SharePoint and various ECM systems. Box is now positioning itself as a way to glue together Google Docs and ECM systems and as a way to take documents mobile while maintaining enterprise security (thanks in part to its partnership with VMware).

Disclosure: VMware is a ReadWriteWeb sponsor

The post Box Expands Mobile Support, Validates the Mobile Enterprise appeared first on ReadWrite.

]]>
Pexels
Cloudera Launches New Partner and Certification Program https://readwrite.com/cloudera-expanding-its-partner/ Thu, 11 Aug 2011 05:35:00 +0000 http://ci01b44d6be0006d19

Following the announcement of its partnership with Dell, Cloudera announced a new partner program for resellers and professional services providers. Among the various elements of the Cloudera Connect Partner Program will be a certification program.

Cloudera sells enterprise support for Apache Hadoop and its own Cloudera Enterprise product. The…

The post Cloudera Launches New Partner and Certification Program appeared first on ReadWrite.

]]>

Following the announcement of its partnership with Dell, Cloudera announced a new partner program for resellers and professional services providers. Among the various elements of the Cloudera Connect Partner Program will be a certification program.

Cloudera sells enterprise support for Apache Hadoop and its own Cloudera Enterprise product. The company funds much Hadoop development, and employs Hadoop creator Doug Cutting. The new program is designed to expand Cloudera’s reach through partnerships with systems integrators and independent hardware and software vendors.

Some of the benefits Cloudera cites include:

  • Access to APIs and testing
  • Training
  • A self-certification program
  • Access to a Partner Portal, including a developer portal and knowledge base
  • Additional technical documentation

It now seems apparent that rather than being a precursor of an acquisition, the Dell partnership was a precursor of a much larger partnership program. In addition to Dell, Cloudera says Cisco, Fujitsu, Informatica, Teradata, IBM and others are on board. It’s particularly interesting that IBM is participating since it sells its own Hadoop solution.

EMC and HP are conspicuously absent from the list of partners. EMC is selling its own Hadoop appliance, based on MapR’s competing Hadoop implementation.

The post Cloudera Launches New Partner and Certification Program appeared first on ReadWrite.

]]>
Pexels
HTML5 Boiler Plate Hits 2.0 https://readwrite.com/html5-boiler-plate-hits-20/ Wed, 10 Aug 2011 18:45:00 +0000 http://ci01b44cd790048266

HTML5 Boiler Plate, a template for building HTML5 sites, has been updated to version 2.0. You can find it in GitHub here.

One particularly slick feature: it will prompt users of Internet Explorer 6 to install Google Chrome Frame, which no longer requires admin privileges to run.

The post HTML5 Boiler Plate Hits 2.0 appeared first on ReadWrite.

]]>

HTML5 Boiler Plate, a template for building HTML5 sites, has been updated to version 2.0. You can find it in GitHub here.

One particularly slick feature: it will prompt users of Internet Explorer 6 to install Google Chrome Frame, which no longer requires admin privileges to run.

Other new features include:

  • Uses normalize.css instead of the traditional CSS Reset stylesheet
  • A faster build script
  • Uses minified jQuery by default
  • Added Site Speed tracking for Google Analytics

You can find the whole list of changes here.

The post HTML5 Boiler Plate Hits 2.0 appeared first on ReadWrite.

]]>
Pexels