Is Tinkerpop3 production ready? - graph

I am currently using Tinkerpop 2.5 in my application to represent a graph in-memory and gremlin to query it. This application will go into production at end of July 2015. I am confused if I should use 2.5 or 3. Currently Tinkerpop 3.0.0 is in M7 release. I don't see any information on the GA release schedule.

At this time, TinkerPop 2.x is basically in maintenance-mode only (i.e. we've generally frozen development short of major bug fixes). All effort is focused on TP3 and getting it to GA. GA has been somewhat delayed as TinkerPop moves to its new home as an Apache project: http://tinkerpop.incubator.apache.org/
Unfortunately, we can't provide much certainty for when GA will be available, so this leaves people starting a project and trying to make the choice between TP2 and TP3 a bit difficult. I can say that if you use TP2, it has good stability and a very wide number of vendors who support it. If you use TP3, expect some turmoil in the API on the way to GA and keep in mind that, at this time, you don't have a lot of vendor support for the interfaces though many vendors are committed to having TP3 implementations when GA is in place: http://www.tinkerpop.com/docs/3.0.0-SNAPSHOT/#_graph_vendors
UPDATE: TinkerPop 3.x was released into GA in July 2015 and can now be considered production-ready. There have been multiple releases since that initial one. Latest developments can be found on the project home page: http://tinkerpop.apache.org/

Related

Is using Titan Graph DB the right choice?

I am planning to use Titan Graph DB for my project.
The reason for selecting it is because it is the only graph database which can use DynamoDB as the storage backend. Thus I can free myself of the scalability/throughput worries.
But when I am trying to find any tutorial to get started with Titan, I am not finding many of them. This makes me doubt whether to use Titan or choose another graph database, like Neo4j or OrientDB.
Can someone tell me if Titan being used widely?
Is the community active?
Can I expect proper releases?
The last blogpost on ThinkAurelius is dated Feb 3, 2015 regarding acquisition by DataStax. DataStax website has no mentioning about Titan.
Your question is more of an opinion question which might be suited for a different forum, but I will attempt to answer the main questions you stated anyway.
Is Titan being used widely? This is hard to tell since Aurelius doesn't disclose much information publicly about their users other than their client list. The Amazon Fulfillment gave a session on their usage of Titan with DynamoDB. This blog post identifies NASA's Jet Propulsion Laboratory and AdAgility as users also.
Is the community active? Somewhat. There are discussions occurring on the Titan mailing list and new messages come in every day. Commits are being made on the titan11 stream in GitHub. The most recent commit was on April 4, 2016.
Can I expect proper releases? "Expecting" releases of software is not something I would recommend in general. Software (both open source and proprietary) is released when the maintainers think the code is ready. For Titan specifically, the core maintainers have largely been absent from the community because they are busy working on DataStax Enterprise Graph.

What if anything, is Symfony 3

I keep hearing about Symfony 3, in particular the new directory structure, but I can find nothing about a release date. Are there plans to release a new major iteration of symfony?
Yes there are plans but nothing definite yet.
The community section of the Symfony 2 site has plenty of information on these sorts of things.
From: http://symfony.com/doc/current/contributing/community/releases.html
The work on a new major version of Symfony starts whenever enough
major features breaking backward compatibility are waiting on the todo-list.
The next major version will be 3.0.
The next major long term release will be S2.7 schedule for May of 2015. I would not be surprised if serious work on S3.0 starts after that release but that is just a guess. Check the development mailing list and chat rooms for more information.

Is TideSDK defunct?

I am interested in creating a desktop application using HTML5+webkit, and I'd like to be able to build a stand-alone executables for various target platforms like a .exe file for Windows and a .dmg image for Mac OS. I have played around with node-webkit, which seems nice except for the packaging / distribution portion. I also stumbled on TideSDK, but that project seems to be inactive. For example, the latest release I saw was a beta from November of 2012. Yet, it seems the core developers have switched to developing TideKit instead.
Does anyone here know if TideKit is intended as a replacement for TideSDK? Is TideSDK going away? etc.
Well, TIDE is now officially a dead project. I just got this email about 15 minutes ago.
TideKit.com and TideKit have been discontinued.
TideKit was software for developing apps for all platforms
simultaneously with a single base of code written in JavaScript.
The scope and complexity of the product made it difficult to
assemble the platform all at once. This stemmed from a holistic
approach to app development for all platforms. While creating a
platform for JavaScript developers, much of the core engineering is in
a variety of lower level languages that affect the speed of
development. We considered delivering parts of our platform as we
reached milestones, but this was not suitable for the start of trials.
We were widely criticized for not revealing our technical innovation
in advance of our release. In a competitive environment, revealing
advantages as you go can also mean assimilation as you go. We had
already witnessed how quickly our technical advantages could be
assimilated by competitors to our open source TideSDK product.
Therefore, we held back with a view of delaying the duplication of
features by competitors, increasing our technical barriers and working
to protect our IP and business case until we felt we were ready.
In a startup, we talk about a Minimum Viable Product (MVP). In our
case, our minimum viable product was much larger and more difficult to
achieve. In total, approximately three years of research and
development was committed with multiple developers working greater
than full time hours. A factor that extended the development was an
expansion of scope that aimed to lower friction in the app development
process.
In Feb 2014, we created a system to queue developers with
reservation system for the earliest possible access to TideKit. Our
goal was to provide an early trial when it became available. Since the
development itself was complex, we could not provide a date when
ticket holders could start the trial process – but it would be
following our betas, then moving forward as we scaled the platform.
We were clear with our language on the site concerning reservations.
As a result, we expected little confusion about what was being
purchased, our expectations of timing to market, or the terms of
purchase for a reservation ticket. Purchasers were not paying for our
product at this point, but for their position in a queue for a trial
of our new technology. We also included a refund policy to ensure the
terms of purchase for your ticket were available. The wait has been
long, but not nearly as long as other difficult engineering challenges
including Myo that pre-sold their product and were also delayed before
successfully rolling out.
Throughout the development cycle we provided updates of our status
via posts roadmap page, email to our ticket holders and communications
on our social channels. We did our best as a team to open ourselves to
questions and maintain a social presence.
At the end of May 2015, we communicated our strategy to execute a
series of focused betas that would have seen the platform revealed
publicly and incrementally. We were at a stage that parts of the
platform needed developer feedback as we rolled these out
consecutively.
In the days preparing for our first public beta, we recognized the
extent to which our brand had been poisoned by our timing to market. A
campaign of negativity that had begun several months earlier with
followers and ticket holders had taken its toll on our team, brand,
and business.
We believed the beta releases would soon bring an end to the
negative talk. On July 8 and 9 we faced further eruptions on social
media that reached the tipping point. With the discussion no longer
about the product nor its future, this was far more serious.
We failed to bring the product quickly enough for you. As a result,
we came to the serious decision to discontinue TideKit and dissolve
our company.
We wish to thank everyone involved that worked on the product and with
our team. This includes businesses, entrepreneurs and supporters of
our vision for app development.
Your TideKit Team
you are right, TideSDK is aging and pretty inactive today. And you're also right, we as a core team completely focus on TideKit now. TideKit is the future!
If you want to know the full story about why we stopped working on TideSDK and started TideKit, I recommend you to read our first Q&A. There you'll also find an answer about how we compete with node-webkit:
https://blog.tidekit.com/post/your-questions-our-answers-01
We've just reached the highest HTML5 score any app development platform ever achieved. If you want to know more about builds, like the ones you mentioned for Windows and OS X, you should read this
Desktop Builds
https://blog.tidekit.com/post/from-a-desktop-perspective-tidekit-for-tidesdk-developers
There is a new kid on the block for this sort of projects: atom-shell Based in nodejs and used to create the great Atom editor
Technical differences with node-webkit: https://github.com/atom/atom-shell/blob/master/docs/development/atom-shell-vs-node-webkit.md
Presentation at JSLA about "Native NodeJS Apps": http://vimeo.com/97881078
If you look at this blog post, they talk about how unsustainable the economical situation is
http://www.tidesdk.org/blog/2013/04/11/tidesdk-in-numbers/
and I can't find the tweet that was stating the reasons behind the transition from one project to another. But I guess that the blogpost speaks for itself.
Anyway, I'm delivering a project written in node-webkit ( because I starded on Tide but for the obvious reasons I had to switch ) and I'm using grunt for packaging and in the end is not that bad.
Electron (http://electron.atom.io/) is the new way to go.
I also had an app running on TideSDK (https://github.com/vinyll/worktimer.titanium) and I'll have to migrate it to Electron.

Alfresco Community Enterprise Feature Comparison

I've seen this question but the answers are simply not good enough. I've searched the web and could find a clear listing of the main differences.
I am particularly surprised to see contradictions in the above link, that holds only 4 short answers.
So the question is, beyond support, what are (all) the differences between Alfresco Community and Enterprise editions (for the current versions of course)?
Are there functional or technical features that available in the Enterprise edition, that are not in the community edition?
I find it strange that it's so difficult to get a clear list. Looking at the forums to find this answer is not a serious option from a business perspective.
Until now, I found this link to be useful, but it's from 2009.
In particular, I find the platform support interesting, with the community edition supporting only lamp stuff:
Linux
MySQL
Tomcat
OpenLDAP
Firefox
And the enterprise edition supporting:
Windows
SQL Server
WebLogic, WebSphere
AD/Kerberos
IE and Safari
Apparently, these features are only available in the enterprise edition:
JMX monitoring
Runtime admininstration: What's that exactly? And what's in the community edition then?
Runtime indexing consistency check and update: What's in the community edition then?
High performance and availability: How is that implemented and what's in the community edition then?
Storage policies
Open source and proprietary technology stack support: which ones exaclty? Which ones are supported in the community edition?
If anyone could guide me towards serious documentation about these differences, that would be great.
I also went through the wiki but could not find an answer to my questions in there.
differences between Enterprise and Community vary in detail from version to version and are mainly visible for administrators. We see or maintain both flavors of Alfresco in midsize to very large environments and I would say it's more or less a question of taste and budget what the best decision / edition is for you. Excellent skills in infrastructure and java are highly advisable for both editions to run Alfresco in production.
The technical differences are not as dramatic as not being able to provide very similar functionality for the users - so if you're actually in a decision you should focus on a good technical partner, the support services and maybe the fact that you only get official patches in the Enterprise subscription, not on the Community. BTW Alfresco Enterprise is not Open Source but this is not a real point of interest for most end users. You can access the code as a subscription customer but it is not public available/accessible.
The main differences in features are already named more or less:
Administration
Enterprise has more views and setting in the admin web GUI. In Community you can access most configuration only from the command line. This may be a restriction but in real live Administrators prefer the command line and scripting automation.
Enterprise lets you change some Alfresco settings during runtime (most settings still require restart). Some can be change in the GUI and more in the jmx interface. Also you're able to stop and start subsystems like the CIFS protocol server. We use this feature to switch a system in read only mode. This point is meant with "runtime admininstration". Community requires restart of the service for most configuration changes. It is possible to work around this by advanced scripting like groovy or by implementing modules.
Indexing
Runtime indexing consistency check and update is not a self healing functionality as expected. You will have to learn (at least for now) that you have to recreate the Alfresco index from time to time even in Enterprise environments and that it is better to focus on good strategies how to speed recreation or how to setup standby indexes instead of hunting failed indexing transactions using the check and update methods. For major document model changes you need to recreate the index anyway.
High performance and availability
This is mainly the cluster and replication functionality which is no longer available in Community. It's similar to MS Clusters: It's a lot, lot work for very view more availability since some concepts are missing. The price is high in terms of complexity and can end up in loss of robustness. Even with enterprise support it's a hard job to keep a alfresco cluster running - so you need very good arguments why to go this way. But of course: its possible and available!
High performance: There shouldn't be any difference and if - I'm very curious about the explanation.
Technology stack
The main difference is the database support. In the Community you only can choose between MySQL and Postgres (No Oracle or MS SQL for Community). All other technologies are independent from Enterprise or Community (AD, Kerberos, OS, Browser, ...)
Java Container: I believe over 95% of all Alfresco installations run in tomcat. That's the configuration which is documented, tested and scales. Using WebLogic or WebSphere gives you no added value except new challenges - quite the contrary: You have to solve most issues for yourself and can't benefit from others experience.
Storage policies: I'm not pretty sure and should check in 4.2.x if the Content Store Selector / Storage policies is no longer available in the Community, but it was there in the 3.x versions.
[Edit]: storage policies have been removed in Community 4.2.x:
NoSuchBeanDefinitionException: No bean named 'storeSelectorContentStoreBase' is defined
If there is a really need for this functionality someone may re-enable that feature by coding a module for Community.
Regards
This page explains the difference between the editions:
https://wiki.alfresco.com/wiki/Enterprise_Edition
This page is the canonical, comprehensive list of the differences.
If you are considering an Enterprise Subscription and you have a question that isn't answered by what you can find on that page, you should talk to your account rep.
Well, regarding JMX monitoring:
Runtime administration: Alfresco enterprise allows to perform certain actions on Alfresco subsystems without restarting the server. This allows you to be very fast during debugging/developing and also making changes in production environment. Also you can access the JMX interface that supports JMX Remoting.
There is no consistency check or update, until you restart the server (during the startup you have to validate/check/rebuild your indexes). There is an option in alfresco.global.properties (or the original repository.properties config file) for that. If you have some inconsistencies in the Alfresco Community index, you're gonna have a bad time xD.
Alfresco Enterprise has specific license for clustering your architecture, the Community edition doesn't support those systems. Replicate and cluster Alfresco is one of the main improvements in performance/scalability/availability you could achieve.
The storage policies allow you to use Content Store selectors in Alfresco Enterprise. You can manage a primary and a secondary file store, and map/connect these stores in your architecture. The Community Edition allows you only to use one content store at a time.
These include everything inside Alfresco (Spring Framework, Apache-Lucene/Solr, Tomcat, and so on), because with the Enterprise license you have also the full support with everything inside the Alfresco package. The difference is that the Community is based on daily builds, supported by community, and therefor not guaranteed. The Enterprise support helps you resolve many problems that you might encounter during developing and in production environment, not only Alfresco related, but also on some configurations on supported platforms (Windows/Linux), your web application servers, and so on.
Hope it helps.

Silverlight Install Base - How big is it?

Silverlight v2.0 is getting closer and closer to RTM but I have yet to hear any stats as to how many browsers are running Silverlight. If I ask Adobe (by googling "Flash install base") they're only too happy to tell me that 97.7% of browsers are running Flash player 9 or better.
Not that I believe everything I read, but where are these statistics from Microsoft or some other vendor about Silverlight? I'm going to be making a technology choice soon and a little bit of empirical evidence would be an asset at this point...
All you Silverlight developers out there, show me your stats!
Quick Answer: www.riastats.com
This site compares the different RIA plugins using graphical charts and graphs.
It gets its data from small snippets of javascripts running on sites accross the web (approx 400,000 last time I looked)
At the time of this post, Silverlight 2 was sitting at close to 11%.
I would not take this as the end-all, be-all in RIA stats, but it's the best site I've found so far.
If you are developing something for a general audience, I would highly recommend against Silverlight as you immediately cut out Linux users.
I went to watch videos for the Olympics (and I run exclusively Linux), and I couldn't watch the video on their site because they were in Silverlight. On top of that, they actively removed all videos from YouTube, so I had no alternative but to try and scrounge up a Windows boot. This only served to give me a very negative opinion of NBC, and consider them quite amateurish to pick such a restricting technology for something that should be available for everyone.
While Flash has it's problems, it works fine in Linux, so I would say (at this point), it is a much superior technology choice.
If you KNOW your audience is entirely on Windows (maybe Mac).... then you can consider Silverlight with knowing you won't be cutting out part of your audience.
if you're that concerned about locking out potential users, you should be building a low-bandwidth HTML only version of your site anyways...regardless of whether you use Flash or Silverlight.
I struggled with this for a while. Ultimately, I chose to develop my site using Silverlight for the major components. I did a good bit of research, and I reached the following bottom-line conclusion:
If Silverlight fails, it will not
be for lack of installed base. There
are simply too many levers for MS to
pull (windows update, embedding it in
IE8, or even paying highly trafficed
sites to use it.
I will add this from Alexa - microsoft.com has pretty impressive daily reach and it uses SL on the main page. I would also not be surprised at all if Outlook Web Access is moved to Silverlight - thereby turning every single office outlook user who wants to access email from home/other into a roaming SL installer.
Alexa Link comparing microsoft.com/ebay.com/amazon.com
I will add this from ScottGu's blog entry:
In addition to powering the Olympics
experience in the US, Silverlight was
also used in France (by FranceTV), the
Netherlands (by NOS), Russia (by
Sportbox.ru) and Italy (by RAI). In
addition to video quality, a big
reason behind these broadcasters
decision to use Silverlight was the
TCO and streaming cost difference
Silverlight provided. In the August
2008 edition of Web Designer Magazine
(a Dutch publication) a NOS
representative reported that they were
able to serve 100,000 concurrent users
using Silverlight and 40 Windows Media
Servers, whereas it would have
required 270 servers if they had used
Flash Media Servers.
Over the last month we've seen several
major new deployments of Silverlight
for media scenarios. For example: CBS
College Sports is now using
Silverlight to stream NCAA events from
its 170 partner colleges and
university. Blockbuster is replacing
Flash with Silverlight for its
MovieLink application. And Netflix two
weeks ago rolled out its new Instant
Watch service using Silverlight.
At the 2009 Microsoft Professional Developers Conference, Scott Guthrie said that Silverlight was installed on "45% of the world's Internet-connected devices"
http://www.betanews.com/article/PDC-2009-Live-from-the-Day-2-keynote/1258561992 (quote taken from "9:28am PT") entry
This was the weekly poll over on CP a few weeks back. Out of the 1463 developers responding, aprox. 62% had Silverlight installed on at least one system.
So... if you're making a site targeted at Windows developers... and don't mind locking out a third of your potential market...
I haven't been able to get stats. I'd assume they might release some at PDC in late October. If you're building a site which needs to target a non-developer audience who won't want to install another plugin, you might want to wait for Silverlight.
I have done a good amount of testing with Moonlight on Linux, and it works well for sites which use either use Silverlight 1.0 functionality (pretty much 100% supported) or which happen to use the Silverlight 2.0 bits which Moonlight currently supports. The caveat is that some websites explicitly check the user agent and won't offer content if you're not on a "supported" platform. That's poor website coding, not a fault of the Silverlight plugin.
During the keynote # ReMIX UK when ScottGu gave the figure of 1.5 million installs/day I was sat next to Andrew Shorten, one of the Adobe platform evangelists (and also a good chum). He was telling me Adobe have independant evidence of an AVERAGE of 12 million installs a day, with over 40 million downloads.
It would appear 1.5 million is a tiny amount of what it could be.
Well 6 million watched the Olympics on NBC, which used a silverlight player. So at least 6 million. I've never seen exact stats, but you can be pretty certain that it is pretty small still.
Also, there is an implementation of silverlight for linux called moonlight.
I think an interesting stat comes from this site itself. Have a look at how many silverlight questions there are! And how many responses - it's not the most active topic!
I think you'll see a dramatic increase in the Silverlight install base after Silverlight 2.0 officially comes out. Right now it's still in beta. Silverlight 1.0 is out and runs quite well from what I've seen in Moonlight on Linux, but it's much harder to create full-scale applications for than version 2.0. According to Microsoft, Moonlight will be "100% compatible" at release time. See Scott Guthrie's blog (note: 2.0 was called 1.1 at the time).
Nick R, as for the fact that there isn't much Silverlight activity on these forums, I think the biggest reason for that is the very active community on the silverlight.net forums.
Scott Guthrie said (at Remix UK Sept 18 2008) that Silverlight is currently downloaded 1.5 million times per day. Over 115 million downloads since the version 1 release.
The Version 1 installed base will automatically update to version 2 when it is out of beta.
Wow! Scott said the same thing at Mix in February 08 about run rate - 1.5m. So it seems that a daily run rate of 1.5m per day for 6 months would add 270m installs to the installed base. So their numbers are not exactly clear in their meaning.
If one assumes the 115m installed base is correct, then it implies a run rate around 700k per day in the six months since SL2. Of course, many users are upgrading versions B1 to B2 as an example.
Either way, it is gaining some steady installs. It would be nice to see the run rate improve. By 2nd quarter of next year, it should be dramatically higher due to v2 shipment, application/web site adoption, pre-installation on various computers (like HP) and any unannounced distribution mechanisms.
While in general I support the idea of developing a site using silverlight and feel that that, depending on your audience, you should not have too much trouble getting users to download the plug in I would caution you against assuming that Microsoft will release the plugin built into IE or as a part of windows update.
I have had two separate Microsoft Technology Evangelists tell me that the company is reluctant to do that due to Anti-Trust reasons.
This was over a year ago and their strategy has probably evolved since then, but it enough to make me not count on that as an option for greater market penetration.
Don't forget that the Silverlight 2 install base will never include PPC Mac users. It doesn't look like the Moonlight people are targetting them at all, despite the heroic effort to add PIC streaming for Silverlight 1.0 users for the Obama inauguration.
The larger question is how many users will your site lose if implemented in Silverlight. And, it very much depends on your audience.
If you're running a site about the joys of Linux kernel hacking or the virtues of Internet security, you'll probably lose a significant chunk of your audience. If you're running a more mainstream site, my experience is that, sadly, people will download anything they're told to most of the time. That's why spyware and malware work. And, as the NBC/Olympics deal shows, Microsoft will aggressively push its partners to use Silverlight until it's fairly ubiquitous.
I won't be using Silverlight until it's more mature because I do cater to a fair number of Linux users, but I might for a less technically-oriented site.

Resources