My previous post was unclear. I'll try again. It shouldn't take a 70 line Ruby script or indeed procedural programming to generate a CSV file from a MongoDB database. So Lazy web :-) what's the best Best MongoDB to CSV tool to generate CSV files for graphing using one of the JS toolkits, Excel, etc so I don't have to write a 70 line Ruby script like getOneDayAnswerRate.rb?
how to develop software
In my not so humble opinion generating a graph like this from a database shouldn't require a 70 line ruby script!
Developers need to be on GitHub, period. - It's the Social Coding Era - Fork, branch, pull request or die :-) !
Amen! I remember pitching a talk with Jim Pick on Social Coding to the Vancouver 2009 Open Web Conference and being rejected. Our pitch was awful but our idea was right! Social coding via forking, changing stuff in your own branch and pull requests are the future of coding and if you want to be a real developer (heck even if you want to be a hobbyist "side project" developer like me :-) !!!!), you need have some public code on github ; otherwise more and more folks won't hire you and more importantly nobody can easily collaborate you in the 2011 github workflow for developers:
- fork a repo
- repeat until you get commit privileges on the repo:
- create a branch
- make some changes on your branch
- submit the changes in a pull request, get feedback from the person who owns the repo
- if your changes are approved delete your branch and re-pull your merged changes
- if your changes are not approved, try again :-)
Here are my notes (I attempted to pick out the nuggets of gold from the mailing list and forum (now closed, bring on the wiki please!)):
Lively Kernel Mailing List Notes
- http://livelykernel.sunlabs.com/pipermail/general/20080406/000058.html - console.log(<string expression>) print output of some methods to console window
- http://livelykernel.sunlabs.com/pipermail/general/20080521/000061.html - Roadmap May 21st, 2008
- 0.8.5 beta http://livelykernel.sunlabs.com/0.8.5/index.xhtml http://livelykernel.sunlaLKbs.com/pipermail/general/20080528/000062.html
- alt xml studio supports lively kernel: http://web.mac.com/altmobile/altmobile_blog/ALT_Mobile_Blog/Entries/2008/3/21_Announcing_XML_Studio_v7.3.html
- set rgb value has no effect instead this.setFill(new Color(1, 0, 0)); // We use 0..1 instead of 0..255 http://livelykernel.sunlabs.com/pipermail/general/20080324/000054.html
- how to run LK without using any other software other than apache on localhost: http://livelykernel.sunlabs.com/pipermail/general/20080301/000042.html - "the gestalt I am working toward is that each time you make a change, it becomes a new web page that you or anyone else can share and experiment with ."
- "SquiggleMorph (also 3 short methods -- it's just a sketch (get it?)) to let you make very basic freehand drawings. " - http://livelykernel.sunlabs.com/pipermail/general/20080208/000034.html
- needs of community and a history of LK - http://livelykernel.sunlabs.com/pipermail/general/20080201/000024.html
- first announcement of ALT mobile toolkit for LK i.e. HTML layout and rendering engine http://livelykernel.sunlabs.com/pipermail/general/20080127/000004.html
LK Forum Notes
- turn LK widgets into Leopard dashboard widgets aka Web Clips - https://research.sun.com/projects/lively/forums/viewtopic.php?t=13
- zip file to run from local (i think this is obsolete since it's from october 07, use sun zip file instead?) https://research.sun.com/projects/lively/forums/viewtopic.php?t=8
Facebook's RSS feeds leak confidential data! Fix it by using basic auth over SSL and flickr style revokable URLs
It's 2007 and a well funded company like Facebook can't implement secure RSS feeds (RSS feeds served over SSL and protected by HTTP Basic Authentication). Aaargh how many years have we been blogging about the need for secure RSS feeds and that security by obscurity doesn't work? (Answer: since at least 2004) (And I am not impressed by the Facebook Chief Privacy Officer's apologia; sorry the technology exists, 37 signals does it for example with Basecamp so implement it !). If RSS feeds over SSL with HTTP basic authentication are too much of a technological challenge :-), allow the feed URLs to be revoked like flickr does for its guest pass URLs.
So where’s the data leak? Here’s where. These feeds are public. All one needs in order to view and use them is the feed’s URI. There’s no requirement that a reader or user of the feed be the “friend” of individuals whose data is in the feed, or even that the person be logged into Facebook. Are you following me?
The iPhone has launched and despite all the doubters by and large works and is a success (at least in the USA). This is the future for the entire computer industry not just mobile devices. Touch and magical interfaces are in. Interfaces using a stylus and menus are out. And above all user experience is the driving force for selling anything with software from June 29, 2007 on. Thank goodness Apple is kickstarting user experience innovation in the computer industry again!
I finished Dreaming in Code several weeks ago. Amazing, must-read book for both people in the software industry and those not. I finally have a book that I can hand to my parents and other non software people and say: "Read this and you will finally be able to understand the crazy business I am in". Highly Recommended! I will now read everything Scott Rosenberg writes because I am a big fan of his insightful but easy to read prose!
Something for open source doubters to think about!
We shouldn’t dismiss lightly the propensity for opensource to innovate, to augment innovation and to accelerate innovation, for the following reasons:
The diversity inherent in the crowd creates long-tail effects, and this causes the bazaar to come up with stuff that the cathedral wouldn’t consider; in cases where the cathedral does consider the innovation, the bazaar is often faster and cheaper; and finally, while tight coordination by central authority seems a worthwhile thing, we should not forget the number of camels designed by committees.
In fact that’s one of the key stanchions of opensource communities. They don’t do camels.
At shdhvan on Friday, Liz Henry (who is most excellent and knowledgeable by the way!) and I started riffing on forums and communities and came up with the following pseudo-manifesto for social software:
- everything must be subscribable by RSS and email: i) author ii) tags iii) topics
- google like search of all the text
- everything must have permalinks with clean urls
- all urls must be hackable e.g. coolwiki.com/food/restaurants/vancouver/dona-cata - I should be able to remove 'dona-cata' and get a list of all Vancouver restaurants
Surprise, surprise, most wikis and most content management systems and blog systems like Socialtext, Drupal and Wordpress do most of the above things; most forums don't. Which is why forums make me uncomfortable; lots of forums have great content but they are impossible to follow, ugly and have really bad 1990s style URLs replete with question marks and ampersands which are not hackable.
I love Lightroom so much so that I am a 'small e' evangelist for Lightroom and hate Photoshop but like driving a car, I guess I'm going to get over my loathing of Photoshop's horrendous user interface and non digital photographer oriented features and eventually buy CS3. I am still hoping that Lightroom team eventually re-imagines Photoshop! And yes, I share Tim's ambivalence about Lightroom's non open sourced nature. I think that all apps like all mainstream operating systems will eventually be built around an open source core like Mac OS X is built around BSD and how Lightroom is built around Lua and sqlite.
Over the last few years, I’ve become something of an open-source triumphalist, drifting to the conclusion that (on the engineering side) it’s the best way to build software and (on the business side) it’s a better way to monetize it. I have to confess that Adobe Lightroom has kind of shaken my convictions. Certain elements of its UI and design (for example, the crop/rotate tool, and the nondestructive editing paradigm) are qualitative steps forward in the state of the art. Furthermore, I can’t think of a single good business reason for Adobe to open-source it. I guess the conclusion is obvious: for the foreseeable future, both models of software building and marketing are going to march along; neither is doomed.
Interesting idea for a sustainable model for Free and Open Source Software. Not sure it would work!
When commercial software is free software -- publicly licensed -- the customer for that software can always get what they want by working with a coop or NPO. This means that the customer can always get their software by paying a fair share of the cost of development.
It's very fine that the customer can always get the free software they need by paying a fair share of the cost of development but that is a problem for developers who want access to investment capital. A developer who wants access to investment capital must have a good chance of returning a profit -- not merely breaking even on cost of development.
So my proposal is that some developers can be paid in shares of their customer's stock instead of cash.
If you issue stock, it is usually easy to grant someone else some of your stock in a way that costs you less in cash than it would cost to buy that same stock.
Now if a developer, paid in stock, immediately sells that stock for cash -- they earn just the cost of production but no profit on top of that.
On the other hand, if a developer paid in stock holds on to that stock, and the customer of the developer's program flourishes, the stock will rise in value. Later in time, the developer can sell the stock and get back the cost of development, plus interest, *plus a profit*.
A free software developer who can make a profit that way has access to investment capital. Such a developer is truly on an equal footing with proprietary developers, from an economic perspective.
Awesome! I look forward to all Web 2.0 apps using cookie-less Ajax login code.
A few months ago a fellow named Jean-Michel Hiver posted that you could in fact do a clean and modern log-in browser interface using only AJAX methods. He didn't provide any code or much other information, but he did provide a few hints to show how it was possible to write code. I took about 45 minutes to trace his steps and verify that it was true, and it did indeed seem to be possible.
Awesome, I might actually check this out in my "copious free time"! Well I probably won't but I'd like to :-) !
Steve Litchfield presents an introduction to the latest (and potentially most powerful) way of creating S60 applications.
Not being a PHP Developer (but being an ex C/C++ developer for over 10 years), just a documenter/supporter/evangelist of Drupal which is a PHP website/webapp development framework whose core is very clean according to developers I respect, I can tell you that it's all about the apps!
Where is the flickr (flickr is mostly PHP with 10% Java and a bit of DHTML and flash) of Java? Where are the Drupal and Joomla and WordPress (just to cite content management) of Java? Java's great for enterprise apps developed in house which makes a lot of money for Java people now but in the areas I care about: web applications and applications that I run on my personal desktop, Java is dead.
It would have been impossible to (just to cite a few Vancouver based examples) for NowPublic, Project Opus, and Rental Monster to have been done in Java with the limited resources that they were started with. Java is just too heavyweight and hardware intensive and just not suited to incremental iterative development
Bold Prediction: key web apps and the next Microsoft, Google and Yahoo will continue to come out of PHP and its brethren of Python, Ruby, and Perl, not Java.
Bold assertion: flickrTime development is impossible in Java.
Finally, it's not a war or about vulnerability, it's about providing the coolest, most usable software to real people; and Java has failed miserably at that (maybe it'll happen on mobile phones but I am not holding my breath) and there is no sign of it starting to succeed.
From On PHP.:
Everyone agrees on PHP's upsides: it's written for the web, it's easy to deploy and get running, and it's pretty fast. Those are important advantages. And I'm sure that it's possible to write clean, comprehensible, maintainable, PHP; only apparently it's real easy not to. But PHP has competition, most obviously Rails; and don't write the Java EE crowd off, they're not stupid at all and they're trying to learn the lessons that PHP is trying to teach. So PHP has earned everyone's respect by getting where it is, and Sun should reach out to it more than we have. But in the big picture, it feels vulnerable to me.