A complete Google AppEngine + YUI Mashup with Adsense included.
Code, demo and more information at http://lamp.techbirbal.com/2008/04/09/google-appengine-yui-mashup/
The 6.0 release includes significant enhancements and new features, including a completely rewritten editor infrastructure, support for additional languages, new productivity features, and a simplified installation process that allows you to easily install and configure the IDE to meet your exact needs.
It’s a common misconception that Java has no pointers. It’s not exactly true. Java has pointers, they’re just not explicit. Every object is a reference to a location making it a pointer… you just can’t manipulate the pointers directly.
Which approach is better.. explicit or not? Well, that very much depends on the context and scope of the application. I’m sure everyone who ever went through learning C will however agree that non-explicit pointers are sure as hell easier to comprehend for someone who is just learning programming.
Update: fixed some spelling mistakes.
Today I recieved an email from 'barcamp_delhi', one of my subscribed mailing list on Yahoo Groups. It was about a friend of someone asking about a problem existing in the mindset of "Indian Programmers". It was a long email, but the whole point is summarized in just one paragraph.
She(some one not from India, actually China) had observed that in India Guys have this strange notion that Coding is only real test of knowledge . so untill your manager can't sit with you and punch-in a syntactically right code . your team will not listen to you . design, UI,Usability,Business Logic are looked down . guys who write code consider these things as gimmicks and want to do Pure Computer Sc which in there opinion is only Prog /coding .
It is funny and ironic, at the same time. Funny because this person(who said the above verses) is some one who is actually leading a team of tech guys and Ironic because non tech managers normally misunderstand geeks too much.
The root of all evil:
Basically, almost all geeks and nerds are creative and artistics people, who know that they are creativity. This creativity, along with self conciousness about the same, brings along arrogance. So it is quite natural to look down upon people from other fields mostly management. Now, managers will argue that management is also a creative job. I do not disagree, but it is like my "field of art is better than yours" situation. Painter think they are better than scluptors, scluptors think they are better than wood carvers and so on. But, this a universal problem, not with Indian programmers(until and unless you mean Indians are better programmers ;)).
But, problem lies in the management of technical guys(I have to say that). Most of the time, geeks are managed by people who don't even know the 'P' of programming. Even worse most of the time, they do not know the real power and limitations of technology. Managers set non-sense deadlines on programmers, keep interuppting them by the famous Project Manager punch line "What is the status", keep insisting on mailing the daily status reports when same information is already present in support tools like issue tracker, project management app etc. This is what leads to all the problems.
Design, Business Logic solvers are looked down upon by programmer, only when design, UI, usability etc are done by some one who are morons when it comes to programming. By the way, what makes you think that a programmer who can convert you design into code cannot design and develop business logic.
The solution:
Best solution to this problem is to "let the geeks be happy in their geekdom". Do not try to tell them there are people better than them in other fields. Such a faith keeps things going and your programmers happy and super charged. In other words, "Do not break their moral".
Try to get a project manager who has a background in technology, even better if he is a programmer himself. That way your team can always look up to him. It is a kind of satisfaction to have someone on your team who know more than you and can help you if you get stuck. If your project manager's answer to every technical query is "I don't know, I am not a programmer", GOD help your team. Remember, we are programmers and we are the best community when it comes to learning fromeach other.
Let your geeks do the design and time estimate for their work. After all it is them who has to do it not the Project Manager. Your geeks are best estimators of time. Only bargain on it later when they come up with their designs and estimates. They will love your comments and most of the time accept them(if your comments are worthy). Trust plays an important role here. Trust you programmer, they will in turn trust you. Moreover, it lets your programmers feel that they are in control, means moral goes up, meaning productivity goes up, meaning quality goes up, meaning projects are on time, meaning clients are happy, meaning more money comes, meaning organization grows.
Remember, in software business, programmers are the most important assets, not your managers. It is comparatively easier to find good managers than good programmers.
Remember there are only to types of programmers, 'God' and 'Bad'. God programmer are futher categorized in beginners, intermediate, advance, expert, wizard, etc. Bad programmers are just bad. There is no such thing a beginner bad programmer, advance bad programmer etc.
In the end, to implement all these solutions, just get an agile development process set up in your organization. Take a look Extereme Programming. You will get all these benifits in one go.
What ever I have said above, comes from personal expereince from my running own company, XenSoft Labs(http://www.xensoftlabs.com) and from one of the best place to work at, Tekriti Software(http://www.tekritisoftware.com/), where I worked previously. People there, took care of all the above stated things very carefully and very "implicitly", without a single programmer ever noticing it. I, myself realized this when I started my own venture. Bieng implicit is very important. Don't go one touting the trumpet and boasting your programmer that you are taking care of them, make them feel it without ever saying a single word.
Moreover, there is a great essay on Eric Raymonds web page about managing programmers. Read it. Though, I do not agree on everything Eric says in it(thats a different story, altogether), you will still learn much more about managing programmers. There is another article for programmers, teaching programmers how to deal with managers. Make your programmers read it. But for god sake don't ask your managers to tell the programmers to read it and vice versa. You will make it sound bad. This is something a programmer's mentor should do(hope you have the mentoring system for your programmers).
powered by performancing firefox
These debates are enormously fun and a total and utter waste of time, because the bottom line is that there are three and a half platforms (C#, Java, PHP, and a half Python) that are all equally likely to make you successful, an infinity of platforms where you're pretty much guaranteed to fail spectacularly when it's too late to change anything (Lisp, ISAPI DLLs written in C, Perl), and a handful of platforms where The Jury Is Not In, So Why Take The Risk When Your Job Is On The Line? (Ruby on Rails)
I am a Java proponent and have been following Ruby for some time. I agree that Ruby on Rails is a great platform, and that Ruby is a great language. However, I have a few reservations because of which I have not converted over:
Here is a chance for you to learn Ruby and Rails for free via the internet and with a trainer to help answer your queries, doubts as you learn. This is brought to you courtesy PuneRuby the largest Ruby User Group (RUG) in the world. Click here for more details.
Hi,
I thought of sharing this to you all on ITvidya community. I had opportunity to undergo couple of soft skill programs from Mr. Pramod Palekar (Sumances consultrainers) which is really helping me out for effective communication in different areas of my life.
I believe IT professionals can enhance their skills and marketability by going thru such programs. It can largely boost confidence to communicate effectively thus leading to higher positions in the company and also opportunity to deal confidently with international clients. Also these skills are very important for entrepreneurs.
The folks at 37signals.com have released a book that encompasses their business philosophy that is very innovative and agile. The book is called Getting Real and is available at http://gettingreal.37signals.com It is a fairly quick read and is easy-to-read even for the non-technical readers.
This current month's issue of BusinessWeek also has a feature on 37signals and their approach to go from concept to released product in 3 and a half-months or less. I am a big advocate of their philosophy because it can be a great mantra for Indian IT start-ups. The book professes a low-cost and lean approach to starting up that enables you to move quickly and engage customers early. Other key points in the book include the technique of being customer-centric in your product design and starting at the market-end, not at the engineering-end. They also list pitfalls that web-application-developing entrepreneurs commonly run into, and suggest how those can be avoided.
IndicThreads has just published the interview I took of David Hansson, the inventor of 'Ruby on Rails'.
Next week, I shall be interviewing the people involved with the creation of 'Ruby on Rails' for a well known Java portal. This is a God-send for the Ruby and RoR community in India and would request you to email me (satish.talim@gmail.com) your questions. I would like the focus of the questions to be RoR and it's future in India and not technical queries.
Based on your feedback, I shall shortlist and add your questions to my own questions. ITVidya is also promoting Ruby in a big way and the future for Ruby and RoR in India looks very promising.
What have I found out so far?
Having come from a Java background, I thought these series of slides - 10 Things Every Java Programmer Should Know About Ruby, would be useful. I went through them but did not follow much, for now. I shall come back to this later.
I started off by making a search for "Ruby Quick Start" on the Google search engine. This returned me a list of around 15 sites but unluckily I could not find anything that could get me quickly started on Ruby. I then searched for "Ruby" and amongst the 1000's of listed sites, I chose Ruby: Programmer's Best Friend and Ruby Central. My main problem was to try and figure out the official Ruby site. Update: (31st Oct.) I finally realised that this is the Official Ruby Home Page.
Today, I came across this article on OnJava - Technologies to Watch: A Look at Four That May Challenge Java's Development Dominance by Bruce A. Tate. Bruce Tate has an amazing track record when it comes to identifying successful technologies. He was one of the early developers who
In his new book Beyond Java, Bruce looks at languages and technologies that may challenge Java's dominance in some development niches. In the above mentioned article, Bruce covers four important emerging technologies -
Over the past 25 years, I have moved on from programming languages like Assembly, Fortran, BASIC, COBOL, C, C++, C# to Java. Bruce mentions that "Java has been an outstanding development language for the industry because it's brought a remarkable unity and attention to important standards where practically none existed before. But like all programming languages, Java will too fade in time."
My Quick Ruby blog records my progress of learning Ruby and later Ruby On Rails.