Posts Tagged Software
Book Notes -> Beautiful Teams
Posted by Will Eatherton in Uncategorized on June 7th, 2009

Beautiful Teams
by Andrew Stellman; Jennifer Greene
Publisher: O’Reilly Media, Inc.
Pub Date: March 27, 2009
Print ISBN-13: 978-0-596-51802-8
Pages: 512
Review :
This is a book about Software teams, and is a set of essays by different authors. I recognize first chapters authoer (O’Reilly), and another author Scott Berkun who wrote an easy to ready book about software program management.
Overall decent book (didnt feel great to me). Very specific examples for software programmers mostly in small groups within large company (which of course covers 100k’s of folks if not milliones on planet at this point).
What i took Away from Book :
I wouldn’t mind reading through some of the stories in more detail when I have time. More of a relaxtion type thing then taking notes type of actvity.
– would make a good audio book to listen too at some point
Book Notes :




Introduction - Leadership - Tim O’Reilly
– quote “The skill of mgmt is achieving your objectives through efforts of others”
– talks about how some devices have ‘truths’ in them that is the right way ti shoudl be. Touch screen on ipod, EVDO in kindle. Can’t imagine it any other way
– talks about open source quite a bit
– having systems architected right, dont want team overtly dependent on single vision or leader
– calls out importance of aesthetic in business and in software
+ goal of science/religon is to build vision of an aesthetic people can believe in
+ gives examples of relationships with people that have common views of truths and aesthetics and how it helps build you up since you share accomplishments
–
Chapter 2 - Why Ugly Teams Win - Scott Berkun
– “Team comprimishing only of 4.0 GPA prodigies will never get ugly. Will never take big risks, never make big mistakes. Deep personal trust can not grow without mistakes, risks. For a team to make something beautiful there must be ugliness along the way. A team of beautiful perfect people, when face with pressure their selfish drives willt ear the team apart.
– Only use of beauty applied to teams taht makes sense is japanese concept of Wabi-sabi // special beauty found in things that have been used
Chatper 5 - What makes developers Tick - Andy Lester, Interview format,
– on Perl develoepr team
– ”geeks don’t gauge their audience well generally“
Part III - Practicies
– Two big risks that teams face when trying to adopt a new practice
1) practice is stupid, but person pushing it doesnt know it. e.g. useless status meetings
2) practice is good, but team doesnt get it, e.g. code reviews
– to put new practice in place need to convince everyone worth doing, and those that have to ‘pay’ either in $$ , in time, or other to see value.
Talk about extremen programming and agile programming
Chatper 21 - Teams and Tools - Karl Fogel
– impact of good tools on team’s ability to collaborate
– example tool for helping to detail quickly the contributions of an invidiual on open source projects - automated dashboard
– example showing that adding a few seconds overhead to a common task is enough to make the task uncommon
+ in code review email, have everything needed to minimize effort
–
Chapter on Google
Chapter on Boeing Software design
Book Notes -> Cloud Computing: Web-Based Applications That Change the Way You Work and Collaborate Online
Posted by Will Eatherton in Uncategorized on June 7th, 2009
Cloud Computing: Web-Based Applications That Change the Way You Work and Collaborate Online
by Michael Miller
Publisher: Que
Pub Date: August 11, 2008
Print ISBN-10: 0-7897-3803-1
Print ISBN-13: 978-0-7897-3803-5
Web ISBN-10: 0-7686-8622-9
Web ISBN-13: 978-0-7686-8622-7
Pages: 312

Review :
Overall didnt care for this book. Trying to merge business aspects of cloud computing from an IT perspective with a book talking about how to use cloud computing at home with your family (e.g. family email) seems silly. There were a couple very small sections that were directly useful below but rest was waste of time overall.
What i took Away from Book :
Book Notes :
Discovering Cloud Services Development Services and Tools
So let’s settle back and take a look at who is offering what in terms of cloud service development. It’s an interesting mix of companies and services.
Amazon
The service in question is called the Elastic Compute Cloud, also known as EC2. This is a commercial web service that allows developers and companies to rent capacity on Amazon’s proprietary cloud of servers—which happens to be one of the biggest server farms in the world. EC2 enables scalable deployment of applications by letting customers request a set number of virtual machines, onto which they can load any application of their choice. Thus, customers can create, launch, and terminate server instances on demand, creating a truly “elastic” operation.
Amazon’s service lets customers choose from three sizes of virtual servers:
* Small, which offers the equivalent of a system with 1.7GB of memory, 160GB of storage, and one virtual 32-bit core processor
* Large, which offers the equivalent of a system with 7.5GB of memory, 850GB of storage, and two 64-bit virtual core processors
* Extra large, which offers the equivalent of a system with 15GB of memory, 1.7TB of storage, and four virtual 64-bit core processors
In other words, you pick the size and power you want for your virtual server, and Amazon does the rest.
EC2 is just part of Amazon’s Web Services (AWS) set of offerings, which provides developers with direct access to Amazon’s software and machines. By tapping into the computing power that Amazon has already constructed, developers can build reliable, powerful, and low-cost web-based applications. Amazon provides the cloud (and access to it), and developers provide the rest. They pay only for the computing power that they use.
AWS is perhaps the most popular cloud computing service to date. Amazon claims a market of more than 330,000 customers—a combination of developers, start-ups, and established companies.
Note
For more information about Amazon Web Services, go to aws.amazon.com.
Google App Engine
Google is a leader in web-based applications, so it’s not surprising that the company also offers cloud development services. These services come in the form of the Google App Engine, which enables developers to build their own web applications utilizing the same infrastructure that powers Google’s powerful applications.
The Google App Engine provides a fully integrated application environment. Using Google’s development tools and computing cloud, App Engine applications are easy to build, easy to maintain, and easy to scale. All you have to do is develop your application (using Google’s APIs and the Python programming language) and upload it to the App Engine cloud; from there, it’s ready to serve your users.
As you might suspect, Google offers a robust cloud development environment. It includes the following features:
* Dynamic web serving
* Full support for all common web technologies
*Persistent storage with queries, sorting, and transactions
* Automatic scaling and load balancing
*APIs for authenticating users and sending email using Google Accounts
In addition, Google provides a fully featured local development environment that simulates the Google App Engine on any desktop computer.
And here’s one of the best things about Google’s offering: Unlike most other cloud hosting solutions, Google App Engine is completely free to use—at a basic level, anyway. A free App Engine account gets up to 500MB of storage and enough CPU strength and bandwidth for about 5 million page views a month. If you need more storage, power, or capacity, Google intends to offer additional resources (for a charge) in the near future.
Note
For more information about the Google App Engine, go to code.google.com/appengine/.
IBM
It’s not surprising, given the company’s strength in enterprise-level computer hardware, that IBM is offering a cloud computing solution. The company is targeting small- and medium-sized businesses with a suite of cloud-based on-demand services via its Blue Cloud initiative.
Blue Cloud is a series of cloud computing offerings that enables enterprises to distribute their computing needs across a globally accessible resource grid. One such offering is the Express Advantage suite, which includes data backup and recovery, email continuity and archiving, and data security functionality—some of the more data-intensive processes handled by a typical IT department.
To manage its cloud hardware, IBM provides open source workload-scheduling software called Hadoop, which is based on the MapReduce software used by Google in its offerings. Also included are PowerVM and Xen virtualization tools, along with IBM’s Tivoli data center management software.
Note
For more information about IBM’s Blue Cloud initiative, go to www.ibm.com.
Salesforce.com
Salesforce.com is probably best known for its sales management SaaS, but it’s also a leader in cloud computing development. The company’s cloud computing architecture is dubbed Force.com. The platform as a service is entirely on-demand, running across the Internet. Salesforce provides its own Force.com API and developer’s toolkit. Pricing is on a per log-in basis.
Supplementing Force.com is AppExchange, a directory of web-based applications. Developers can use AppExchange applications uploaded by others, share their own applications in the directory, or publish private applications accessible only by authorized companies or clients. Many applications in the AppExchange library are free, and others can be purchased or licensed from the original developers.
Not unexpectedly, most existing AppExchange applications are sales related—sales analysis tools, email marketing systems, financial analysis apps, and so forth. But companies can use the Force.com platform to develop any type of application. In fact, many small businesses have already jumped on the Force.com bandwagon.
For example, an April 2008 article in PC World magazine quoted Jonathan Snyder, CTO of Dreambuilder Investments, a 10-person mortgage investment company in New York. “We’re a small company,” Snyder said, “we don’t have the resources to focus on buying servers and developing from scratch. For us, Force.com was really a jump-start.”
Note
For more information about Force.com and AppExchange, go to www.salesforce.com.
Other Cloud Services Development Tools
Amazon, Google, IBM, and Salesforce.com aren’t the only companies offering tools for cloud services developers. There are also a number of smaller companies working in this space that developers should evaluate, and that end users may eventually become familiar with. These companies include the following:
* 3tera (www.3tera.com), which offers the AppLogic grid operating system and Cloudware architecture for on-demand computing.
* 10gen (www.10gen.com), which provides a platform for developers to build scalable web-based applications.
* Cohesive Flexible Technologies (www.cohesiveft.com), which offers the Elastic Server On-Demand virtual server platform.
*Joyent (www.joyent.com), which delivers the Accelerator scalable on-demand infrastructure for web application developers, as well as the Connector suite of easy-to-use web applications for small businesses.
*Mosso (www.mosso.com), which provides an enterprise-level cloud hosting service with automatic scaling.
* Nirvanix (www.nirvanix.com), which offers a cloud storage platform for developers, as well as Nirvanix Web Services, which provides file management and other common operations via a standards-based API.
* Skytap (www.skytap.com), which provides the Virtual Lab on-demand web-based automation solution that enables developers to build and configure lab environments using pre-configured virtual machines.
* StrikeIron (www.strikeiron.com), which offers the IronCloud cloud-based platform for the delivery of web services, along with various Live Data services that developers can integrate into their own applications.
In addition, Sun Microsystems has an R&D project, dubbed Project Caroline (www.projectcaroline.net), that provides an open source hosting platform for the development and delivery of web-based applications. Access to Project Caroline’s grid is free to the general public.
The Maturity Level of Cloud Services
To understand where the web-based applications we call cloud services stand in the evolution of hosted computer software, we turn to our good friends at Microsoft, who defined four primary maturity levels.
The first level of maturity defines the traditional application service provider (ASP) model of software delivery, and dates back to the 1990s. At this level, each user has his own customized version of the hosted application and runs his own instance of the application on the host server.
The second level of maturity occurs when the vendor hosts a separate instance of the application for each customer. At this level, all instances use the same implementation; the code is not customized for each user, as it is in a level-one application. Instead, user personalization is provided by detailed configuration options within the application itself.
The third level of maturity signals a major change in how the application is hosted. At this level, the vendor runs a single instance of the application that serves every user. A unique user experience is provided via configurable metadata, and authorization and security policies ensure that each user’s data is kept separate from that of other users.
At the fourth and final level of maturity, the vendor hosts multiple users on a load-balanced farm of identical instances. Because the number of servers (and instances) can be increased or decreased as necessary to match demand, this type of system is scalable to a large number of users. In addition, patches and upgrades can be rolled out to the entire user base as easily as to a single user. It is to this level that cloud services aspire.
MacJournal
Posted by Will Eatherton in Uncategorized on May 16th, 2009
Q. When I publish to iweb what about tag ?
Answer : no tags on iweb, infact I won’t try and use mac journal with iweb (poor interface and manual)
Q. What if i want to publish blog directly to html and link in from web page
– THat is what I am doing now
Q. What if I create entry without making it blog entry and then do publish of blog entries for will’s journal as a whole ?
– the new entry is made into blog entry, so either never do general publish of journal, or create separate journals for internal Vs publication
– Maybe make one for video
Q. What if I delete entry will it delete on web ?
– it will explictly ask you on delete
Q. How does export of Video work to blog entry ?
– first of all if you just record video but don’t insert into entry it won’t export
– 2nd the html generated for the video seems limited
+ as shown below the diary entry has limited box size
+ here is html generated : <p><embed autoplay=”false” src=”http://www.eathertons.com/blog/wp-content/uploads/2009/05/0f7b26d5-b298-4800-be5f-d704b201ba65.mov”></embed></p>

Q. If edit old entry does it update any info on the blog page about new date/time ?
– no
Q. how do I remove blog entry from web, but keep entry in MacJournal ?