Learning resources for developing custom TinkerPop Vertex Programs - graph

I have read the TinkerPop official docs and provided tutorials on their website. I am looking for further learning resources on developing custom Vertex Programs that cover the fundamentals and anatomy of such programs. Thank you.

There aren't many resources on this topic. Generally speaking you should be comfortable in your understanding of BSP, which is the general processing model that GraphComputer is built on and you should look at the code for the various VertexProgram implementations that already exist in TinkerPop. Finally, I wrote a tutorial on this topic which might be helpful which was inspired by this StackOverflow question.

Related

Resources to learn SuiteCRM?

I am a developer who has no experience working with CRM systems. I want to build a simple system using SuiteCRM. But I can't find a single tutorial for SuiteCRM in the internet. Believe me I spent several days searching for tutorials but I couldn't find. The official Userguides documentation is absolutely useless for development purposes. I found this book SuiteCRM For Developers but it is not suitable for a beginner. And it doesn't cover most of the basic stuff. Please suggest me a good tutorial(document/video) which covers topics such as creating custom entities(operations with custom entities), workflows and REST api.
If you're new to CRM world, as I was a couple of years ago, Id suggest doing the following:
Get a copy of SugarCRM for Dummies. It gives you an overview of the built in modules and functions of SugarCRM.
Watch how-to videos on SugarCRM for more in-depth details on particular modules.
Get a copy of SuiteCRM for Developers by Jim Mackin. This was a game changer for me. it's straight forward but breaks down the essentials of SuiteCRM.
From there, it's all about googling and practice. The more you play with the code, the more it starts making sense.
Welcome to world of CRM !!
First learn the flow of modules which are available in CRM and then go ahead with the development part. So I will suggest you to learn SugarCRM first. As coding standards and execution flow of SuiteCRM and SugarCRM is same.
Download SugarCRM CE
Install the CRM in your machine as described here
Once installed play with modules. Getting_Started SugarCRM
Take an overview on admin features of SugarCRM as described in detail here
Try to create new modules as per described here
I've been digging into some SUiteCRM work also lately, and the SugarCRM info is very helpful. The SuiteCRM forums have been getting some more traction lately.
https://suitecrm.com/forum/developer-help/10338-how-to-create-a-custom-module-from-scratch
I am also going to buy this book, looks like a great resource! https://leanpub.com/suitecrmfordevelopers
This book you mention (https://leanpub.com/suitecrmfordevelopers) is worth investing in. It's the right stuff in one place.
SugarCRM resources and references are ok, however, SuiteCRM and SugarCRM are gradually going in different directions. If you rely on forums and generic blogs, even SOF, the 'Sugar' solution not always maps to a suite-solution. It can be close, but that last 5% of difference can be a headache to work through.
Anyhow, that's my plug/recommendation for that book.

Point Cloud data - learning sources

What are the best learning sources and study materials for Point Cloud data and Point cloud Library ?
So far I came across PCL Documentation.
There is a git hub repository existing (which was last edited in 2013 :-( ). Maybe it helps you a little bit.
In addition there exists a user forum where you can ask questions for sure.
In addition there are a few resources on the web:
PDF explaining the PCL (in german though)
Another PDF explaining PCL
Tutorial for PCL,
Another Tutorial for PCL,
This PDF is best to understand Point cloud.
And The documentation you mention is good if you know the basic flow.So My opinion is to start with given PDF and then continue with official documentation.
That exactly what I am doing :)

Can meteor.js web framework support a social networking architecture effectively?

So I'm new to node.js, javascript frameworks, and meteor.com. I'm trying to learn how to build social networks, and I'm naive/struggling to understand why Meteor.js (meteor.com) wouldn't be able to do all the great things you see now that twitter, facebook, instagram are doing?
There's the comet technology between client/server, authentication configs, asynchronous coding for scaling and performance, and built on top of node.js.
I'm trying to learn more about long polling, comet, gridFS or how files are stored, and in general things like replication sets, and sharding to help with performance (esp since Redhat has this openshift platform that we can build our own private clouds with).
I have some computer science background, but it seems like magic, so what am I missing? If you all could think of a few buzz words that make a social network tick that Meteor.js doesn't support, what would it be?
I hear things about parallel and concurrency (webworkers fixes that in part, no?), websockets, that high level languages like python or java are better off supporting. There's only one to learn my answers, and thats by doing, but thought someone could sway me one way or the other via this thread. Thanks!
This question encompasses a really broad idea and just focusing on using meteor alone would solve this issue. Here are a few points to consider:
I don't think this framework would be a good starting point to learn long-polling, gridFS, etc etc. Meteor aims to be a framework that tends to be more of an ecosystem of packages e.g. you can certainly roll your own aformentioned strategies -- however for dynamic updates, Meteor uses its own Data Delivery Protocol (DDP) supported/implemented by (surprise) a good bunch of core packages such as Spark.
Parallel processing and concurrency can be better off done using other languages, but why not with? Since Meteor is largely based on node.js, and node.js is really good with the aforementioned stuff plus it can play very well with other languages so you could integrate smoothly. Meteor doesn't really require you purely rely on it, as other languages would say the same thing. It's all in the general engineering / planning for your project. There are already lots of really good stuff out there that rely on Meteor, join in! don't be afraid. It all boils down to planning (and the courage/perseverance to pull it off, of course).
Right now, we cannot tell if Meteor would be incapable of the usual great stuff by gigantic websites. Sure, we can do live updates, (its own kind of) publish/subscribe patterns, and powerful stuff to boost development (look at the seven core concepts of meteor to best understand this). It is not impossible to replicate what is already out there, really. We can only say it with uncertainty at the moment mainly because.. (see next point)
The framework is so young! it's still at 0.6.x at the time of writing. Please take time to look at the Meteor Roadmap to see how things are going in terms of broader support for persistence/databases, performance considerations, and the official DDP specification.
I hope I have answered your enquiry (and more, I hope). I'm really excited for meteor myself as it could easily be the next big thing. We have a couple of (for-)production projects using Meteor as well, so you're getting direct insight from a person who has done quite a bit of hacking (and tons of research and first-hand experience) in Meteor. Not that i'm saying i'm an expert or so, it's just so much fun to work with Meteor and i'm totally not kidding you.
Hope this helps!
P.S.: Fair warning though, resources and documentation is really sparse at this point. I try to contribute to the community as much as I can about it (one of my starting points is here, on SO).

Any recommendations for learning the basics of event-driven programming?

My task for today is to fully understand event-driven programming and how it works. Now there are several ways this can be achieved. The first one is to actually program a basic program that covers the key concepts, and the second approach is to watch a video that explains the key concepts in a way I can understand. Which approach do people recommend?
Does anyone have videos/program demos they found useful and could recommend to me? My major experiences are with ASP.NET MVC, so it would be best if the tutorial were with WebForms ASP.NET.
Event-based programming

Why is Peer-to-Peer programming a hard topic to obtain good research for?

After reading a bit more about how Gnutella and other P2P networks function, I wanted to start my own peer-to-peer system. I went in thinking that I would find plenty of tutorials and language-agnostic guidelines which could be applied, however I was met with a vague simplistic overview.
I could only find very small, precise P2P code which didn't do much more than use client/server architecture on all users, which wasn't really what I was looking for. I wanted something like Gnutella, but there doesn't seem to be any articles out in the open for joining the network.
RFC 4981, with its huge bibliography, could be a very good starting point.
I had to write a basic Gnutella client in C# using Web Services and I think the class notes on the P2P stuff are still available here and here.
You might have better success researching Bittorrent, I believe that the creator has written some papers, and it seems others are as well.
BitTyrant
Bittorent.org, see the developers section
I don't know what platform you are trying to use, but here is a decent article on the subject for .NET.
I've found the TheoryOrg Unofficial BitTorrent Specification to be the best online source for Bittorrent information. Also, the Monotorrent code is fairly simple and easy to understand. There's also a project called "GCT" which implements JGroups style P2P for LAN/Multicast environments, and its code is similarly easy to understand (if a bit buggy).
You can try to read Gnutella2 and try to implement messaging. For reading conceptual material you can read Distributed Systems by Andrew Tannenbaum.
You can have a look at JXTA. It's intention was to be a generic, platform agnostic p2p framework, in contrast to other p2p implementations which are usually for a very specific purpose (such as Gnutella).
Don't be fooled by it's Java appearance, there are binding available for C/C++/C#, but the core protocols are implemented in XML which should translate to any language.
You can also download a free book here.

Resources