Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I've been working for a few weeks now with the Google Maps API v3, and have done a good bit of development for the map I've been creating.
Some of the things I've done have had to be done to add usability where there previously was not any, at least not that I could find online. Essentially, I made a list of what had to be done, searched all over the web for the ways to do what I needed, and found that some were not(at the time) possible(in the "grab an example off the web" sense).
Thus, in my working on this map, I have created a number of very useful tools, which I would like to share with the development community.
Is there anywhere I could use as a hub, apart from my portfolio ( http://dougglover.com ), to allow people to view and recycle my work?
I know how hard it can be to need to do something, and be unable to find the solution elsewhere, and I don't think that if something has been done before, it should necessarily need to be written again and again. Hence open source code, right?
Firstly, I was considering coming on here and asking a question, and then just answering it. Problem there is I assume that would just look like a big reputation grab. If not, please let me know and I'll go ahead and do that so people here can see it. Other suggestions appreciated.
Some stuff I've made:
A (new and improved) LatLng generator
Works quicker, generates LatLng based on position of a draggable marker
Allows searching for an address to place the marker on/near the desired location(much better than having to scroll to your location all the way from Siberia)
Since it's a draggable marker, double-clicking zooms in, instead of creating a new LatLng marker like the one I was originally using
The ability to create entirely custom "Smart Paths"
Plot LatLng points on the map which connect to each other just like they do using the actual Google Maps
Using Dijkstra's algorithm with Javascript, the routing is intelligent and always gives the shortest possible route, using the points provided
Simple, easy to read multi-dimensional array system allows for easily adding new points to the grid
Any suggestions, etc. appreciated.
GitHub, CodePlex, Google Code, and BitBucket are the obvious choices for open-source hosting. (There's also SourceForge, but ewww, yuck.) Definitely go for a DVCS like git or Mercurial, which will make it easier for others to fork code and contribute back than something like SVN or CVS.
I don't think it's appropriate to use Stack Overflow to post "fake" questions about your project. It would be better to start a blog. If you write good content, people will find you.
On the other hand, I think it is appropriate to look for map-related questions on SO and answer them by saying "I implemented such-and-such algorithm in my BlahBlahBlah project, and you can view the code by clicking this link." Just make sure you are actually answering the questions with specific and relevant information.
You can host your code on SourceForge, github, Codeplex. I am sure there are many more, but those were the ones that came to mind
Thanks for wanting to give back!
GitHub or Google Code would be my first choices, in descending order.
Stay away from SourceForge. Although they are continuously improving, the interface (both for developers and for end users) is horrible, and the entire site is slow as hell.
SourceForge
This one is great for bigger open source apps, written in C, C++, Java ...
github
Here I would post Webapps (like yours).
Codeplex
.Net, JQuery and other Microsoft related stuff should go here. Plus anything you develop with Visual Studio.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
I'm looking for a free web-based solutions for little etl / mashup tasks.
An example could be:
connect to an api
filter response
using data as input to another api
It's something similar to now not working yahoo pipes and for me is important to have and interface for designers with little code ability (mostly javascript)
Note: I've found this paper with a lot of ideas on this field and some comparison between existing products
Pre warning - this is not a free solution - I did a lot of work around this about a year or so ago, and the free stuff at the time just would not do what I needed.
In the end I used Dell Boomi - now I know what you are thinking - Dell? that sounds horrendous, the manufacturer of crap laptops you say! Why yes….
Boomi came from a bunch of dudes who basically had (what I am assuming to be your problem) to connect a bunch of stuff together, in the cloud, without having to worry about how it all works behind the scenes. It has a fantastic user interface (all web based) - is completely cloud hosted (although you can run the endpoint on your server / computer if you so desire) and, if it all goes tits up with their inbuilt tooling (i.e. you can’t quite do what you need to) - you can run in-line Groovy (java) code within whatever ETL process you are having trouble with - i think this fits the bill for the user friendly designer stuff!
Boomi’s pedigree was and is connecting web services / rest API’s in a quick and easy way but also supports all the traditional stuff if you need it too (IBM MQ, blah blah)
The big downside is that it is not free - in fact quite expensive if this is not for a paid project
There is a 30 day free trial that i recommend you check out - I really did and do have a great time with Boomi for mashing endpoints together.
Now, at the time I also looked at Talend. IF i remember correctly this does not have a web interface, its all based in Eclipse, the problem with Talend when i looked at it was
You need to host the endpoint somewhere (this is usually true of all ETL however of course)
The UI was horrible at the time
Ultimately, finding free ‘ETL’ is nearly impossible - hence why pipes went down?
Sorry I can’t be of more help :(
Ballerina is a programming language custom built for integration, that includes a mature graphical syntax. It can easily be used to glue interfaces together. Since your requirement is to have such a mashup interface in the cloud you can utilize the WSO2 Integration Cloud free trial program to see if its right for you.
I've written a post here that demonstrates how easy it is to use Ballerina for scraping data from interfaces, you can create a service that's similar in logic and host it in the cloud. Find information on the WSO2 Integration Cloud usage here. Find information on serving a ballerina service from the cloud here.
Some more details would be helpful, such as which API you would like to connect to and how many requests you'd be making. Here's one way you might approach this with free tools:
Extract: An IFTTT integration plus their "Maker Channel" (Will post info from one of their 270+ integrations to an API)
Transform: Sheetsu, which turns a Google Spreadsheet into a restul API that you can post to. Transform the data and output it to another sheet.
Load: You can also make GET requests via Sheetsu, or just use the Google Spreadsheets API.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
im taking classes for programming for about 1,5 years now and started from 0. I must say for my feelings I already learned allot but still it is not enough to build anything complex on my own without using examples from the internet that I just modify and try to make it work.
I did some courses on CodeCademy and watch youtube guides and google allot, use certain websites like w3schools and more of that. But what is the best method to learn any givin language in a propper way. Im spending allot of time on searching and reading things that I never seem to fully understand, only sometimes some parts of it.
It does make me lose the hope that I wil ever be a good programmer and feel demotivated.
What are your expiriences and tips and tricks for a beginner like me ?
This question is rather opinionated, not sure it is suitable for StackOverflow.
For what its worth, this is my advice:
Ask lots of questions, make lots of mistakes and build things, keep challenging yourself. Never give up. Also, learn to use some frameworks, for PHP, Symfony, Yii, CakePHP, for example. For JavaScript, Angular, Backbone, Node.
PHP Manual and JQuery documentation are your best friends :)
Also, install a testing server on your local machine such as XAMPP.
Good luck!
I was in same situation as you before.
As mentioned already contributing to project is a good way to learn as it will give you motivation to push yourself forward and do it because you don't want to let your team down.
Another great way I have found for myself is to create a small projects yourself, for example:
I want to create my own website, what do I need? I need to know: html, css, js and php.
Okay so start with what I can do.
When you reach PHP and JS part, you will face problem which you can break down into smaller problems it will also develop your problem solving skill in IT.
As an intermediate programmer myself, I would say the best way to learn is to continue finding resources online and communicating with other programmers or developers.
Some words of advice:
1.) Never be afraid to ask for help
2.) Don't feel discouraged, feel inspired
3.) Believe in yourself
Also, this website is probably the best resource I've found, both for information and kind people.
You must have some idea's of something that you yourself miss on the internet. Start with that, work out that idea as a concept and then start it.
Read a lot of IT-related news items; they might inspire something for you to start thinking about doing.
Contributing to projects has already been mentioned, but I'll do it as well. It has many advantages, not in the least having people in the project focused on achieving whatever the project has set out to do, which might give specific insights in that field of the wild internet.
Get a part-time job at a web-developers company, it doesn't have to be big, but it does offer you opportunities to learn specific areas. There's always work in the IT sector.
Also, troll along the questions asked on Stackoverflow, see if you find something that might challenge you and go attempt to answer it. The questions are usually abstract enough that you can replicate the problem someone is having, then try and document your solution for them.
In my long (yet short ;-) ) programming experience, it's a matter of perspective. Some learn better learning the whole theory from books and then applying examples, and then making sample projects. In this case use JQuery, PHP and JavaScript tutorials for basic concepts and then make some examples of the methods, and then, try to make a project on your own. But then again, this is one perspective.
The other and it's been kind of direct to me, it's that if you have already some basic programming skills, go ahead and do something you like. When you have doubt about doing something, google it, read docs try, and try again. Why this is smooth? Because even though it's not as fast, the experience will remain solid. If you're the practical type of person, you won't easily forget when you learned something out of try & error.
There are other perspectives, but I'll leave it from here. I wanted to be helpful somehow on this because I had this same question before. But, faithful to the rules ^^u (yeah, rules... ¬¬u), if it's a question that derives from perspective, debate, or recommendation (like product benchmark, or best educational way of learning something) then should not be addressed here. A specific question for an specific answer. Try to make it specific, and search in the similar question matches just in case. Good luck =)
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
With the current state of html5/css3/javascript and the browsers support of it, do you think it is possible to create a fully functional word-processor (or document editor) like Microsoft Word or LibreOffice Writer with > 80% of its features? I'm talking about the rendering and editing engine, I think a server-side component for loading and saving documents to disk is always required because of security, conversion, etc.
Of course I am not talking about HTML-editors which are commonly available (e.g. CKEditor, TinyMCE, etc.) but I compare it with products like DevExpress DXRichEdit, Telerik RichTextBox and TX Text Control. Why would you at this moment still need technologies like Silverlight, ActiveX or Flash to create a webbased word-processor?
There are some initiatives regarding HTML5 document viewers, but besides Google Docs and Zoho Docs (which are limited in features compared to desktop based word-processors, and operate more like advanced HMTL editors) there is little available in regards to webbased word-processors.
Is there a reason there is no HTML5 word-processor yet? What do you think is still missing from the current technology to be able to create a webbased word-processor suitable as replacement for products like MS Word?
No if you think anything more advanced than a letter to your aunt.
HTML WYSIWYG components are horrible mess (contentEditable). You might almost success for one browser, but xplatform stuff (IE) just wont fly.
Google Docs is the best what money can buy today and it is flakey at the best.
However Silverlight or Adobe do not offer anything better.
The best bet is to hope that HTML5 APIs got to the point pure Javascript editor is possible. But they are not yet there.
ConstEdit at http://www.constedit.com may be such a word processor that satisfies your requirements on html5/css3, but not javascript.
It generates documents in the html format. Html5 sectioning elements tags are fully supported. There is an option to generate css stylesheets. It is not web-based. It runs locally on your pc.
You may give it a try. It is free for non-commercial users.
(Please note that I am the author of this software)
I am very interested in this issue, too. I want to be able to take templates and finalize my cover letters and similar format-critical documents via an online word processor.
I detest CKeditor and the other html editors. They are definitely not WYSIWYG.
The best one I've found so far is www.TeamLab.com I have no affiliation with them at all. I think they already recognize the monetary value of their online word processor. They are not giving out their API's and last time I spoke with them they said they will not do so for a number of months - presumably to assess how they want to charge for this valuable WP feature.
I am an attorney who needs to have proper looking letters and documents. I have my own online application, and the online word-processing feature is only one small - but very important - aspect that I want to add to my app for my staff attorneys to have.
I may be wrong but ConstEdit seemed to be just preliminary. If I am wrong, I would very much like to talk to you. I can give you good advice from a User's perspective.
Another group that I think is working on this concept is www.TheFormTool.com They indicated they have a secret project, and I suspect it is this very html5 word processor.
As a user it is my opinion that such a product would be very valuable. I encourage people to pursue this.
Only reliable way to find out is to attempt it yourself, and see if you're blocked by something missing in the tech stack you're using (in this case js/html5/css).
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
The community reviewed whether to reopen this question last year and left it closed:
Original close reason(s) were not resolved
Improve this question
This question is looking for a practical and easy way for drawing multigraphs using Javascript.
First of all look at this question. None of those libraries support Multigraphs (or Pseudographs ). I mean I can't generate graphs like this:
Is there any jQuery plugin (or javascript library) out there for this purpose ?
I thought i can use WolframAlpha's API and use its images, something like this:
but it have lots of problem:
I can't move nodes or add remove edges interactively.
Only 2000 API calls per month. Not enough.
I can't produce large or intermediate graphs.
They are really ugly!
Please help me if you know some javascript library in order to draw Multigraphs, or anyway to produce such graphs (something like Dracula Graph Library but with ability to draw Multigraphs).
Cytoscape.JS supports multigraphs, is pure Javascript, and uses the new HTML 5 Canvas for performance. Its design intent is general purpose graph visualization/manipulation.
https://js.cytoscape.org/
If you are allowed to use Google Charts API you may refer to this
http://code.google.com/apis/chart/image/docs/gallery/graphviz.html
Example:
https://chart.googleapis.com/chart?cht=gv&chl=graph{C_0--H_0[type=s];C_0--H_1[type=s];C_0--H_2[type=s];C_0--C_1[type=s];C_1--H_3[type=s];C_1--H_4[type=s];C_1--H_5[type=s]}
I'm affraid you will have to do some development yourself. Raphael.js is pretty capable in creating and manipulating svg - would be good starting point
Some of those graph visualization libraries (mentioned in this question) DO support Multigraphs and allow dragging/placement of nodes
jsplumb: http://jsplumb.org/jquery/stateMachineDemo.html
possibly http://js-graph-it.sourceforge.net/ may support multigraphs.
but as far as your issue
4- Its really ugly!
These may not appeal to your aesthetic.
I think paper.js (http://paperjs.org) will get you also pretty close.
You might want to check this one out: www.d3js.org
You'd have to do a lot yourself (make your own SVG and such), but the library is very powerful.
I recently used Graphviz to draw the connections between some authors pubblications.
Graphviz is open source graph visualization software. The Graphviz layout programs take descriptions of graphs in a simple text language, and make diagrams in useful formats, such as images and SVG for web pages, PDF or Postscript for inclusion in other documents; or display in an interactive graph browser.
For example i used a simple DOT file to write all the connection between the authors and I produced a PNG file.
http://www.graphviz.org/
Here there is all the documentation that you need and in the gallery section you can see a lot of output example.
Hoping it could be helpful.
In a commercial scenario, take a look at yFiles for HTML:
It easily supports multi-graphs and does not look too ugly, I believe:
(These graphs have been laid out automatically, manual placement is also possible.)
Of course this is a matter of taste, so if you don't like the look, you can change any aspect of the visualization, like in the style tutorial.
The API offers full interactive editing capabilities and being a pure client-side solution, of course there is no API call count limit.
Large graphs are still a problem with todays' Javascript engines, but only if "large" means more than thousands of elements. With virtualization (considering only what is currently visible in the viewport during rendering), you can get good performance with thousands of elements.
Disclaimer: I work for the company that creates the library, on SO/SE, however I do not represent my employer. My posts and comments are my own.
You can check jsnetworkx (http://jsnetworkx.org/)
It is a js version of python graph library which supports multi-graph. It has a draw function which visualizes the graph using D3.js. It is available for both browser and node.js.
Best bet would be to render them on the server (or use it as an applet) with JGraphT.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I'm doing some research for a Maps project I'll be starting soon, and I'm trying to evaluate which of the Map APIs will be best-suited to this project. I've worked pretty extensively with the Google Maps Javascript API, but no others. My basic requirements are, in no particular order:
Free: as in beer, not necessarily as in speech.
Web-based: Javascript, Flash/Flex, Silverlight, etc. are all okay.
Long-running and stable: the map needs to be able to live in a browser for days/weeks/months without gradually consuming too much memory or other system resources.
Fast: The map absolutely must be able to plot thousands of points (upwards of 10k points) with ease. Every few seconds I need to be able to update a small number of these (say, changing their color).
Other things I'd like to see:
Flexible: the Google Maps JS API is a good example of this. Basically this leads to lots of good things like numerous third-party plugins/extensions, and puts a lot of power in the devs' hands.
Well-documented and supported: again, the GMap JS API is a good example. If I'm going to start working with a new, rich API, I'm going to need to be able to find answers.
As of now, I'm inclined to use the Google Map Javascript API since I am familiar with it. However, the question of whether or not the Flash API might be able to handle many points more efficiently and gracefully prompted this SO question.
So, what have you had good or bad experiences with? Based on my criteria, which API would you recommend? I'm sure there are good ones out there that I just don't know about.
The Google Maps Javascript API has problems with your third and fourth requirements, unless you do some clever stuff to work round the problems.
(3) In badly written browsers (e.g. MSIE) a constantly updated Google Map will gradually require more and more memory. If you're careful to remove all references and event handlers on objects that you don't need, then in browsers with goof garbage collection routines, I believe that it is possible to write a page that will run for days, but not in MSIE.
The workround is to have a timer that does a complete reload of the page at regular intervals, using GUnload() on the way out to tidy the memory as much as possible.
(4) 10,000 GMarkers on a Google Map is out of the question. The number of GMarkers that you can get away with before the browser becomes unacceptably slow and uses 100% of the CPU varies depending on your CPU power and the browser. MSIE6 becomes unusably slow with a few hundred GMarkers, Google Chrome will cope with a few thousand.
The usual workround is to create tiles like the ones that Google uses for its GLayers. Because you're updating them every few seconds, you'd have to create them dynamically using a server-side graphics library like gd or ImageMagic. Display them on the client with a GTileLayerOverlay. Use GTileLayerOverlay.refresh() to call for an update.
The browser will attempt to cache the tiles and defeat your attempt to fetch new ones. In your case, the best solution is probably to arrange for your server to set the http headers to instruct the browser to never cache the tile images.
It also raises the question of whether the memory used to hold old copies of the tile images gets released properly. I've never heard of any reports on that, so you should probably do some experiments before you get too far into developing your project.
I've used OpenLayers in a project. It's a JavaScript API, but we were trying to use it via an incomplete/unsupported GWT wrapper - not an experience I'd recommend. As an API itself OpenLayers isn't too bad. It does have a few issues (such as consuming right-mouse clicks and converting them to left clicks, from memory), but was under active development. I'd say it's not as slick as Google Maps, but it did have the advantage of being able to host your own map server.
If you're willing to use a Java applet, you could try using GeoTools.
I'm a fan of Google Maps for their incredibly thorough documentation and resources, as well as the general ease of use of the GMaps API.
Also, if anybody can scale (and optimize code to meet high demand), it's Google.
I talk about my reasons for using the Google Maps API in this answer.
No matter which implementation you choose, you'll probably need to use server-side clustering if you want to display 10k points. Even the Flash API won't be able to handle that many individual points (non-clustered).