Showing posts with label Programming. Show all posts
Showing posts with label Programming. Show all posts

Monday, July 30, 2012

Open Source Victory

Image representing MySQL as depicted in CrunchBase
Image via CrunchBase
There was a time when open source felt like a crusade. It was considered rebellious. Microsoft talked it down. Now the biggest corporations depend on open source to do cutting edge work. Open source is like this big ocean you fish in.

Open source won
open source is now mainstream and a new norm .... After more than a decade of the low-cost, lean startup culture successfully developing on open source tools, it’s clearly a legitimate, mainstream option for technology tools and innovation. ..... large organizations are actively adopting many of the open source technologies we track, e.g., web development frameworks, programming languages, content management, data management and analysis tools .... MySQL appears as popular as ever and remains open source after three years of Oracle control and Microsoft is pushing open source JavaScript as a key part of its web development environment and more explicit support for other open source languages. Oracle and Microsoft are not likely to radically change their business models, but their recent efforts show that open source can work in many business contexts. ..... open source permeates most interactions on the web. ..... the collaborative, sharing culture that permeates the open source community spreads to the enterprise and government with the same impact on innovation and productivity.
You have to ask, what drives and sustains the open source contributors? A lot of people toil on open source projects with no monetary return in sight or mind. I think they are responding to a basic creative urge.
Enhanced by Zemanta

Thursday, October 07, 2010

Al Wenger Wants To Learn Scala

And so should you.

I came across this post by Al on Tumblr - my idea of TV - not long back and was the first person to reblog it there. Yes!

It is an honest, relatable, inspiring post. And I said so in a comment.

To those of you who might not know - I do have a global audience - Al Wenger is a top notch VC in New York City.

I promptly created a Scala page. This is still early. I first blogged about Scala back in May, and Google still shows only a handful of websites dedicated to Scala. Wow.

Al, I am with you now.



Wait, did I just say a line from The Godfather?

I could hardly call Al a friend, we have met in person but once. And I am strict about using the family metaphor. Some weirdos in Kentucky spoiled it for me.

Al to me is a VC and a blogger, and that is good enough for me.

One small but not unimportant fact I learned about Al during my one meeting with him is that he is Mayor of some horse place upstate.

How My Grandfather Became Mayor The First Time
Scala - Wikipedia: Scala stands for "scalable language", signifying that it is designed to grow with the demands of its users..... Scala code can call Java libraries (or .NET libraries in the .NET implementation). ..... Scala's operational characteristics are the same as Java's. .... Scala is a pure object-oriented language in the sense that every value is an object. .... In April 2009 Twitter announced they had switched large portions of their backend from Ruby to Scala and intended to convert the rest. In addition Foursquare uses Scala and Lift


Enhanced by Zemanta

Tuesday, September 28, 2010

Techie, Tech Blogger, Iran Democracy Activist, New Yorker

"A former student asked me a few days ago how I learned Ruby on Rails. The answer was that I simply read a lot of great tutorials."


Techie, tech blogger, Iran democracy activist, New Yorker.

What do you want to be when you grow up? I just changed my Twitter and Facebook profiles to read the above. It used to be: Iran Democracy Activist, Tech Blogger, New Yorker.

And then there are distractions: The Movie Business.

Fundraising to be able to do full time Iran democracy work has not been easy: Selling 5% Of Nobel For 50K. I mean, if the Iranian American founder of eBay will not come along, who will?

Tweet 1, Tweet 2, Tweet 3, Tweet 4.

Not only do I not seem to have the knack for small dollar political donations, I think political work is meant to be public service, and so I am not going to discontinue my Iran work, I am going to do it on the side, part time. Insa-allah.

I have a LinkedIn email from Anu Shukla that has me psyched.
Location is southbay or virtual - exciting early stage opportunity. Will invest in training and ramp up for non Ruby engineering talent that are interested in learning. Competitive salary and stock.
This means, if I can get in, I get to telecommute from NYC, and I can spend the first few weeks learning Ruby. I am up for it. Besides this looks like might be Anu's new stealth startup. Anu is a serial entrepreneur. She is bigger than Sabeer Hotmail Bhatia because Bhatia basically disappeared after Hotmail, whereas Anu kept chugging all along, and with Anu it is like you ain't seen nothing yet. Her best is yet to come.
Image representing Anu Shukla as depicted in C...Image via CrunchBase
That is the impression I get. Offerpal Media is a bigger promise than the company she sold over a decade ago for was it 200 million dollars?

She is inspiring. I'd be honored to be part of her new stealth startup.

Mike Arrington Is A Sexist Pig: Say PeeeeG!
The Highlight Of My Internet Week
Anu Shukla Has Found The New Frontier In Advertising
I Just Became Friends With Anu Shukla

I might even be open to moving to the other coast. But for now I should stay put. I think I like the idea of staying put in NYC and visiting the Bay Area often enough. That would be a swell arrangement.

Ruby on Rails
Ruby on Rails: Download
Ruby on Rails Guides
Ruby on Rails - Wikipedia, the free encyclopedia
Ruby on Rails Documentation
Top 12 Ruby on Rails Tutorials
Ruby on rails: up and running - Google Books Result
Ruby on Rails Tutorials - Tutorialized
Dribbble: Dan Cederholm and Rich Thornett | the Ruby on Rails Podcast
rails's rails at master - GitHub
Ruby on Rails Tutorial
Tutorial
Ruby on Rails Guides: Getting Started with Rails
Ruby on Rails Tutorial: Learn Rails by Example | by Michael Hartl
Ruby on Rails: the Ultimate Beginner's Tutorial
Ruby on Rails programming tutorials2 - Meshplex
Ruby on Rails Tutorial

Languages: English, Hindi, Nepali, Maithili (very good). Bhojpuri, Awadhi, Tharu, Urdu (good). Bengali, Sanskrit (so so).


Paul Graham: What Happens At Y Combinator: a portrait of YC is in some ways the complement of a portrait of the average startup .... an event called Demo Day, at which the startups present to an audience that now includes most of the world's top startup investors. ..... the details people omit in more public talks tend to be the most interesting parts of their stories ...... you hear just how screwed up most of these successful startups were on the way up. ...... Startups modify or even replace their ideas much more than outsiders realize. ..... Usually we advise startups to launch fast and iterate. .... real users, whose often surprising reactions to your product teach you what you should have been building. ..... Since there are a large number of points on the perimeter of most existing technologies at which one could push outward to create a quantum blister, what to build first is one of the most important questions we talk about. ...... The larval product should also have a larval business model. ..... Most things that happen to newly launched startups are bad. But paradoxically, these disasters are precisely the reason to launch fast: they all represent problems you're going to need to solve eventually, and the only way even to find out what they are is to launch. In practice they vary from technological bottlenecks to threats of lawsuits, but the most common problem is that users don't like the product enough. ...... the search space is huge ..... Some startups are immediately attractive, and they'll find it easy to raise money. Others are ugly ducklings, who will grow into swans in time ...... because raising money is like choosing an angle of attack for a plane. If you try to climb too steeply you just stall. ....... Once you start to get hard commitments from investors, more investors want in. ....... We still talk regularly with founders from the first YC batch in the summer of 2005. ....... Occasionally investors will say "I'm in" at Demo Day, but most of the convincing happens in subsequent meetings. ....... Getting a startup set up correctly is a nontrivial problem. ...... mediating disputes between founders. ..... Now, 5 years later, the YC alumni network is probably the most powerful network in the startup world. ..... Starting a startup was a very lonely undertaking when we did it ourselves in Boston in 1995. One of the goals of YC's batch model was to fix that, by giving founders the colleagues one would otherwise lack as companies with just 2 or 3 people. ....... even the most ardent boosters of other cities wouldn't claim they're at parity with the Bay Area. All other things being equal, Silicon Valley is the best place to start a startup. ...... Founders from other places are almost always surprised when they get here by the breadth and depth of support for startups. The Bay Area is for startups what LA is for the film industry. ....... The kind of horror stories you hear about investors dicking over startups rarely happen to those we fund. We almost never see broken termsheets. ....... "One of my goals since my last job was to stop working with mediocrity and find/surround myself with people smarter than I. YC definitely provided the quality of people I needed to be around." ...... The only person who's funded more is Ron Conway, and he may not have had such close interactions with all of them. ...... the intensity of YC.
Enhanced by Zemanta

Sunday, May 30, 2010

One Programming Language

Scala logoImage via Wikipedia
I was over at Hacker News, and came across this wonderful blog post by Babu Srinivasan: If You Had To Learn Just One Programming Language. He lists all the languages and he lists 13 criteria with which to measure them. Then he starts eliminating languages.

List 1: Common Lisp, Scheme, Fortran, Smalltalk, C, C++, Objective C, Ada, Java, Javascript, C#, D, Prolog, Perl, PHP, Python, Ruby, Groovy, Clojure, Lua, Forth, Factor, Erlang, OCaml, F#, Clean, Haskell, Scala.

List 2: Python, Ruby, Groovy, Clojure, Erlang, OCaml, F#, Clean, Haskell and Scala.

List 3: Clojure, Erlang, OCaml, Clean, Haskell and Scala.

List 4: Clojure, OCaml, Haskell/Clean and Scala.

List 5: OCaml, Haskell/Clean and Scala.

Winner: Scala.
Functions are values and values are objects. Therefore functions are objects. Unlike Java which has primitive types int, float etc, Scala is completely object oriented. Numbers, characters, booleans, functions are just objects ..... A big deal is made of duck typing in languages such as Python and Ruby. In Scala you have “Structural typing” which is Duck Typing done right. ..... Scala is a huge language with lots of features: traits, abstract types, higher order functions, closures, native threads, concurrency (Actors), xml processing, implicits, pattern matching, partial functions, monads. You can start using it right away and slowly learn about the more powerful constructs. You can easily write a DSL (Domain Specific Language) using scala...... The extensive set of Java libraries can be put to use...... Scala is much easier to learn for the majority of programmers who have been programming in the imperative style........ With Scala, you can start with imperative or object-oriented style of programming (think of it Java without the verbosity) and migrate slowly to the functional features. ....... Lift is a web framework written in Scala. You can create web apps as easily as you can do with Rails and Django but it will typically run 4 to 6 times faster, use less CPU and it will be lot more scalable.
Reblog this post [with Zemanta]

Wednesday, November 11, 2009

C++ plus Python = Google GO

Image representing Google as depicted in Crunc...Image via CrunchBase
Why was this not talked about before Google actually did it? I am surprised Mashable and TechCrunch have the story, but it is not yet out there on the official Google blog.

Let the guessing game begin. What will be the next big thing Google will do? As big as a new programming language, as big as a new operating system.

To launch a new programming language is a big deal. This is like when Sun came up with Java.

Google Open Source Blog: Ho! Ho! Let's Go!




Reblog this post [with Zemanta]

Monday, June 15, 2009

Lessons From The Open Source Community For The Wave Community


Lessons on Community Management from the Open Source World, Angela ... Fostering the Drupal community is actually more important than managing the code base. ........ the success of healthy open source projects defies all logic. Scores of individuals from all over the world, all of whom have different skill levels, use cases, experience, native languages, and time zones, collaborate together in order to help make a project succeed. ........... How is it that all of this chaos comes together and creates something wonderful and useful? ........ a diverse, passionate, and vibrant global community. ......... Create a Great Community and Great Code Will Follow .......... the project's developers, but also to those who report bugs, review fixes, answer support requests, design interfaces, provide translations, help with marketing and evangelism, and write and edit documentation. ............. Many key individuals who are driving forces within open source projects got their start by fixing typos in documentation or answering other users' support questions. ......... A culture that values a well-written tutorial as much as a well-written application programming interface (API) is much more likely to attract and retain newcomers than a culture that values seasoned developers, or the marketing team, at the expense of everyone else. ............... the difficulty in managing a community of strongly independent individuals, each with their own motivations. .......... contributing can directly or indirectly lead to paid work which acts as another long-term retention tool. ............ people won't get the peer reviews they require to accomplish their goals by being arrogant, insulting, and demeaning towards others. ............ The sooner a frustrated user realizes that there is only a collective “we" where each contributes whatever they can to make the project better, the sooner the transformation into contributor can take place. Users then learn to channel their frustration into an effective force for change. ............ The same peer review process that lends itself to building a strong community and great software can be terrifying to newcomers. .......... The natural problem-solving methodology for perfectionists tends to be withdrawal from the community and working quietly in isolation until they believe they've achieved something that is immune to criticism. This brings with it a whole host of problems ........................ their work can get permanently trapped in "analysis paralysis" and never see the light of day. ........... Working in isolation eliminates transparency ........... In a worst-case scenario, the larger community has already developed a solution to a problem in parallel by the time the perfectionist is finished, leading the perfectionist to extreme frustration, particularly if coupled with a deep attachment to their own solution. ........................... vital to establish a strong culture of “release early, release often” ............ a lack of attachment to any one solution so that the best possible solution is found. ...... The key difference that separates healthy perfectionist contributors from unhealthy ones is the participation in a collaborative problem-solving process, rather than an introverted one. ................ Focus on the people, not the product. A team that enjoys working with one another will naturally be more productive. Take a "mental health" check of the people on your team. Is there animosity brewing between two or more groups that could be solved by them working more closely together? Is decision-making in the hands of a single individual, hampering the feeling of ownership by other, capable people? Resolving these kinds of issues should take precedence over anything else. ............. fight red tape in all of its forms. Remember that a frustrated person is often best poised to lead revolutionizing changes for the better as they have the motivation. Get the road blocks out of their way and empower them to get to work. ........... Put processes in place that help prevent perfectionists from getting trapped in their own heads, and get them working with others instead."
I have been part of a conversation at the Google Wave API Google Group where I have been trying to suggest community is as important as code, and so there has to be talk of the culture of the Wave developer community. Many have disagreed saying code is all that matters. Some have said community also matters but maybe you don't know enough to be talking community either. I don't know what I don't know. But vision and group dynamics are specialties all their own.

The last suggestion I made was, let's have 100 threads on purely technical issues, and I hope to develop my technical chops along the way, but let's have one thread where we talk about fluffy issues like vision and community. Code and community do belong at the same forum.

Once it is established that both code and community are important, we can then move on to studying the lessons of the open source communities past so as to distill from their best practices, because the Wave developer community, culturally speaking, has more in common with the open source communities than any of the corporate ones.

Building a community of developers is not just about code.

I am not trying to lead or follow. I am just trying to be part of the conversation, to learn from the conversation, to contribute to the conversation.

Google Wave Developer Community: Asking For A Culture?
The Google Corporate Culture
Google Wave: Organizations Will Go Topsy Turvy
Google Wave: Enormous Buzz
Possible Google Wave Applications And Innovations
Google Wave Architecture: Designed For Mass, Massive, Global Innovation
The Google Wave Architecture
Google Wave Ripples
Is Google Wave Social Enough To Challenge Facebook, Twitter?
Of Waves And Tsunamis
Google Wave: Wave Of The Future?
Google Wave: If Email Were Invented Today

From The Google Blogs

1 Wave Sandbox, 5 Hours, 17 Awesome Demos
The Making of the Sudoku Gadget
Google Wave API Office Hours
Google Wave team heads to Google Developer Days in Asia
Introducing the Google Wave APIs: what can you build?
Went Walkabout. Brought back Google Wave.





Reblog this post [with Zemanta]

Wednesday, August 03, 2005

Google And Languages

And I am not talking Visual Basic and C++ here. I am talking Bengali and Maithili. "The goal is to make the Internet language-independent." Wow. That would be cool, real cool. Google's on it. It also is in news that it will offer something in the PayPal category. Cool. Well, folks, what about MathML! "At the UN, it doesn't matter whether you speak only French and the orator is waxing eloquent in Chinese. The Web will be the same way." Wow.



Reblog this post [with Zemanta]