Visual FoxPro with Mercurial? - mercurial

Could someone please tell any resources or links to learn usage of Mercurial with Visual FoxPro 9.0?

Ganapathy,
The white paper from my VFP Version Control with Mercurial session at Southwest Fox 2011 is now available for download as a PDF from the developers page of my website at http://www.ita-software.com/foxpage.aspx. The direct link to the paper is http://bit.ly/IgXzhM. This is introductory material intended as a jump start for VFP developers who have never used Mercurial, or perhaps not even any distributed version control system (DVCS). I hope you find it useful.
-Rick

Rick Borup (http://www.ita-software.com/foxpage.aspx) presented a pre-conference session on this topic at Southwest Fox 2011. He wrote a terrific 59-page paper for it.
I don't know whether he has published that paper elsewhere.
Tamar

Related

Netbeans Platform & Perspective?

Anyone had to program a perspective control with ability to setup the position of several views for Netbeans?
Do you know any libraries or have other info?
Thanks for any help!
Geertjan recently introduced this on his blog (here and here) but my understanding is that it will only be avalable in NetBeans 7.1
In the mean time there is a contrib module that Geertjan mentions that should put you on the road until roles(the NetBeans name for perspectives becomes available).
Also I'm not sure if this relates to what you're asking but NetBeans 7.1 is also going to introduce a Visual Designer for laying out modes.

Are there any inherent benefits or drawbacks to choosing Google Code vs. SourceForge vs. Codeplex? [duplicate]

This question already has answers here:
Where to host an Open Source Project: CodePlex, Google Code, SourceForge? [closed]
(4 answers)
Closed 8 years ago.
I've got a couple of different projects that I'd like to post up as open source. I've been trying to decide which of the three big open-source project hosting sites makes the most sense, or if I should just host it myself.
Are there any inherent drawbacks or benefits to these three? Is there a "best" place to host a project? Do different sites make more sense for different kinds of projects?
It's really a matter of personal taste. Google Code has a cleaner, simpler interface. Some also like the simplicity of creating projects, the ability to choose between Subversion and Mercurial, and also the Trac-like SCM-integrated wiki-style pages.
The only real criteria other than personal taste are: repository type and licensing. Sourceforge provides Subversion, Mercurial, Bazaar, Git and CVS. Google Code provides Git, Mercurial and Subversion. GitHub and Gitorious provide Git. I've never looked at CodePlex, so I don't know what they offer. Sourceforge hosts projects from a very wide range of open source licenses... it's actually quite daunting choosing a license from their list.
Google Code supports half a dozen licenses: Artistic/GPL, Apache, Eclipse, Gnu GPL, Gnu LGPL, MIT, Mozilla, New BSD. You can see them in the drop down of a new project: http://code.google.com/hosting/createProject
Don't forget github!
Wikipedia might be of help: Comparison of open source software hosting facilities
I think there are two angles to look at this, what development features each site offers, and what audience does each site reach.
From a development perspective, if you are interested in DVCS (Git or Mercurial) then CodePlex, GitHub, or Bitbucket are your best options. Google Code and SourceForge support DVCS as well, but their support for DVCS is not great. If you want Subversion, then Google Code is really the best Subversion host although SourceForge is reasonable, and CodePlex offers support for Subversion clients as well. Other core features (e.g bug tracking, forums/mailing lists, wiki, etc) are offered by all three but have some differences so perhaps more personal preference there.
From a site audience perspective there are big differences between the sites that can be important to your project. For example, if your project runs on Windows or other Microsoft technology, then CodePlex has a much higher concentration of Windows users so you are going to get higher downloads. For similar reasons, if you would like other developers to contribute to your project, CodePlex has a much higher concentration of Microsoft developers so you are more likely to get contributors. If your software runs on Linux then Google Code or SourceForge have a much larger Linux user base so you'd get more downloads/contributors there. If your software runs on Mac, I'm not as sure but I think GitHub might actually have the edge there.

Tips to get started with webdevelopment

I am very curious about what you think is the best approach for people that want to start webdevelopment. I'm now talking about people that finished their education and so want to start from scratch.
I still have questions like:
Where do you start?
What software gets involved in webdevelopment?
What tools / setup would you recommend?
Offcourse i'm interested to hear alot more then only the answers to those three questions.
I am not writing this to get a load of people react on my post, i am trully interested in knowing how much work and money it will cost a webdeveloper when starting from scratch.
I hope to get a clear view on how to approach and to maybe hear some best practices.
Well one thing's for sure, education isn't finished! There's a whole lot to learn, and the more we learn the more we seem to need to learn.
If you're really starting from having no programming background whatsoever then I think you'd be advised to take a staged approach. For example:
1). A web page with a few different text formats and pictures and colours. Here you're just learning HTML. For that any browser and a notepad editor would do, but probably a tool such as Eclipse that gives some HTML editing capability would help.
2). More adaptive HTML - stylesheets that let you change appearance without changing all the html. So that's CSS.
3). Using the above, improve your designs. There are loads of formatting tricks good web sites use and you'll need to learn those.
Note that by now we've done a lot of study and we have not actually written any programs!
4). Dynamic web pages. Now we move to the programming side, rather than just writing some HTML files write a program that delivers the HTML and in some way changes the content. Starting with something really simple such as including "today's date is ..." on the page. For that You would need to pick a server development technology such as Ruby/Rails or PHP or Java/JSP ... You'll get a lot of different advise about "best" for this.
5). Now you can start to work on accepting input from the user and doing something with it so that useful work gets done. Things such as databases start to become important.
There's a whole load more after that, JavaScript and so on. An experienced programmer can pick up this kind of stuff quite quickly, if you've never done any programming at all then you will need to be prepared to take a while before you can get to the level you probably target. I think the key is to acknowledge that a great commercial web site reflects a lot of collective wisdom and skill picked up over many years, and probably is the result of a multi-disciplinary team working together. For one person to match that is a big ask. For one person to produce something nice and useful is more practical, but still does need a lot of different skills. It's quite reasonable to specilaise in a subset of the skills. For example, good visual designers write little or no code but are highly valuable.
you need:
a browser, eg. FireFox, Internet Explorer. A webdeveloper toolbar might also be useful.
a webserver, eg. Apache, Tomcat, IIS
a programming environment, eg. Php or ASP.NET
a development tool, eg. Notepad, Notepad++, Visual Studio .NET, Eclipse
most of the times a database, eg. SQL Server, mySQL
I'd say it depends what you want them to master: the technologies only (up to which skill level ?) or the whole software engineering behind a web project
A sample and fast technologies learning tree could be:
1) HTML
2) CSS
3) HTTP
4) Server side programming (PHP ?): programming concepts, interacting with HTML/CSS, then PHP API
5) Databases (start simply with MySQL for instance) + SQL (CRUD with Joins, Subselect, Indexes, Views and Transactions)
6) Client side programming (JavaScript first then Ajax)
7) A web framework (ZEND ? cake ?) and a good IDE (lots of...)
Full-time learning those technologies requires at least 1.5 year , based on the experience I have with my students and people must be trained mainly on concrete projects.
Then people should learn software engineering (cf link text) covering at least
- software requirements
- software design
- software construction
- software testing
I think people can have useful experience in this software engineering tree in 1 year and can (should) combine learning technologies with learning software engineering.
For training someone from scratch (technologies + software engineering) I'd say a least 2 years if working on at least three 6-month projects
This answer is Microsoft specific.
For starters you'll need an editor, a (optional) database and a few starting points.
Microsoft supplies most of these for free: you can download the Visual Studio Webdeveloper 2008 Express Edition for free, this includes most of the stuff you'll need.
If you plan on developing database driven websites, and who isn't, you might want to use the free SQL Server 2008 Express Edition
When you have the tools setup it's time to download some samples and see see how they work. Again Microsoft supplies some for free. You can check out tutorials and samples at their Asp.Net site.
When you are ready for some more advanced stuff, check out ASP.NET MVC, again at Microsoft.
With these tools and examples you should be able to get started.
I just want to add that you will most likely also need Photoshop or other tool to create the graphics for your web sites.
In spite of java/.net/php,the HTML,CSS,JavaScript are the basic web development toolkit.
Get a job as a junior developer that will put you on a project that is developing a web application. I personally think it should involve one of the two most established platforms, Java or .Net. I know some will disagree, but these are good foundations to branch into other tech platforms later.
Make sure you open an IDE (e.g. Visual Studio or Eclipse) everyday and code something. If not, find a new job immediately.
Read religiously at night. Start with "Code Complete", then move on to other books.
Learn the fundamental technologies of the World Wide Web:
HTTP
HTML
CSS
JavaScript
DNS, URL's
Good luck and happy travels!!
you need:
a google chrome . This provide you some advantage like inspect option. A webdeveloper toolbar might also be useful.
2. Html, Css, JavaScript are the basic language that you should be know
a programming environment, eg. Php or ASP.NET is needed for storing data and making login type page
a Visual Code Studio is needed for coding. This provide you emmet facilities that suggest you while you are coding

Open-source EDA project

Do you know any open-source project in EDA (Electronic Design Automation) looking for C++ programmers?
You might be able to get into gEDA if you hang out on their mailing list. Details: http://www.gpleda.org/developer.html
I dig up this old topic, but we from the KiCad EDA project still searching for new developers and testers. KiCad is a GPL'ed suite for drawing schematics, printed circuit boards and viewing gerbers. Its written in C++ with the wxWidgets toolkit and is able to work native on Windows, Linux/BSD and Mac OSX.
Read more about the project at:
http://www.kicad-eda.org
And the project is now hosted at launchpad.
You might want to talk to the owners of Icarus Verilog or Verilator. There are a host of other tools on freshmeat too which are into EDA and open source.
We extensively used Electric during our VLSI and Microelectronics classes. The project is sponsored by Sun and may soon get orphaned in the post Oracle days. It will be worthwhile contacting them and offering assistance. It is a great tool worth supporting.
I don't know of any that are actively looking for C++ software developers.
However, if you implement or improve a feature, or fix a bug, you can make a pull request from their open-source repository. E.g., take a conference paper from DAC/ICCAD, implement it and integrate it into the open-source repository.
Some examples below are stuff to experiment with and learn from.
Xyce (best open-source circuit simulator): https://xyce.sandia.gov/index.html
The EPFL Logic Synthesis Libraries: https://github.com/lsils/lstools-showcase
EDA projects that are part of the OpenROAD program/initiative: https://theopenroadproject.org/
If you check out research papers from DAC, ICCAD, and DATE (the top research conferences in EDA), you can find some software developments releasing their work as open source on Github or elsewhere.

I'm starting an opensource project. Any advice? [closed]

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 7 years ago.
Improve this question
First of all, I reviewed this question, but I think I need a little more information since I've never worked on an opensource project before.
I'm starting an opensource project, currently hosted on Google code. It is a framework for creating flash games in ActionScript3 (programmer oriented). So far, so good, but I want to start building a community around it. The project is 60% finished from it's first official stable release (I am using Scrum to guide the development process, currently we are 3 people on the development team). By the way, the project has the MIT licence.
Do you have any advice on how to guide the development, any tools that I should look at?
Assembla vs Google code vs Trac vs Pivotal tracker?
What are you experiences on this?
If you're looking to build a community, it's not always about the tools, more about the processes you can use to build a community. There are plenty of people who will use whatever tool you give them or will choose (or refuse) to participate in a project based on the tools, but if the community stinks very few people will hang around.
I'd recommend spending some time thinking about how you're going to embrace a community. Are you ready to take the time to respond to bug reports? How will you handle enhancement requests? Are you willing to let something into the code if several people want it, but you don't? These are all critical issues that in the end will be far more important then Assmebla vs Trac.
You may want to check out Karl Fogel's book Producing Open Source Software or Jono Bacon's The Art of Community for more hints on managing and building a community.
First, big obvious download buttons so that a person can download your project, make it just plain easy. Secondly, forums so that people can give you feedback good and bad about the project.
Good luck on your project!
I would suggest checking out this book: http://producingoss.com/
I believe there is a free online and pdf version.
I have messed around with Trac some and it can certainly get the job done but if you are already doing an agile development process I would check out Pivotal Tracker. I use it on a side project and it's pretty slick, not to mention free to use. Pivotal has all the things you would expect: stories, backlog, velocity calculation, a few charts, etc.
Strive for adoption. The more users you get, the more people will contribute back.
Include lots of code samples on the wiki and let users download a sample application.
Make sure your API is well-documented with ASDoc.
Provide a roadmap to so that potential users can see your direction and intentions.
Be diligent about prioritizing feature requests and bugs. You and your team don't have time to do everything.
Make integration as seamless as possible. Hopefully users will be able to simply download a .swc (Flash library) and link it into their application.
Release early, release often. I hate having to download and use the HEAD revision from a repository because a team has only officially released one version of their project and it's a year old.
To me, guiding the development is more a matter of prioritizing what has to be done so I'm tempted to say: why don't you just use Google Code issue tracker as your project is already hosted there? I think it's offering all you need. Customize it to add a Estimates field if you want (for Scrum) and there you go.
Why do you think you would need something else? You already have a source repository, code reviews facilities, a wiki, mailing lists, an issue tracker, secured access for contributors. You don't need much more for collaborative work. What are you missing? Instant Messaging? Use Skype or Gtalk. IRC? You don't need it for now. No, really, I don't think a tool is gonna solve anything more here (even if you can't draw your burndown chart, not a big deal for a non full time project IMO).
So, because any other tool would be less well integrated with other Google Code services (e.g. I like to link my commits to issues using "Issue #ID" in comments which is automatically linked), I'd stick with what you currently have (maybe just add Gtalk/Skype to ease the communication/collaboration) and I'd start creating issues and prioritizing them. Good prioritization of work is the key to a successful project, there is no silver bullet tool that will do this for you. Then, plan fixed date milestones (releases) and assign most important issues to the upcoming milestone. Close as many issues as you can before the deadline. When the release time has come, release what has been done, postpone non implemented issue to the next milestone and start again.
If you need a software to support your scrum project... agile42 offers free Licenses of Agilo for Scrum Pro for open source projects.
Don't host your code on codeplex. I recently started an open source project as the basis of an article series on DotNetSlackers.com to show people how to build a site like SO. I mistakenly hosted this project on CodePlex. My automated build will periodically send me broken build emails as CodePlex will randomly go down for hours at a time. IT DRIVES ME NUTS!
If you plan to develop code that is free to the world but don't plan on letting anyone and everyone submit code to your project...host your own source control (perforce is free for a couple of users) or use something like google to host your code.