Erlang/OTP News feeds
This page hosts the latest entries from newsfeeds from software projects in our database. If you know know of any feeds that would fit here, please add them on this page.
September 01, 2010
Damien Katz
What's New in CouchDB 1.0 Security 'n Stuff
Today, I get a little help from Rebecca. She's writing a CouchApp, an application that is served right out of CouchDB and that lives in the browser. It has no middle tier application server in Ruby or Java. The application and display logic is written in JavaScript, the user interface is HTML & CSS, the backend is CouchDB and uses Ajax to shove JSON back and forth.
by Damien Katz at September 01, 2010 12:36 AM
August 27, 2010
Damien Katz
Why Large Hadron Collider Scientists are Using CouchDB
A nice article on ReadWriteWeb: http://www.readwriteweb.com/enterprise/2010/08/lhc-couchdb.php
And the case study: http://www.couch.io/case-study-cern
by Damien Katz at August 27, 2010 02:51 AM
August 21, 2010
Damien Katz
The Little Comedian
Gwen: Knock knock.
Me: Who's there?
Gwen: Knock knock.
Me: Who's there?
Gwen: Knock knock.
Me: Who's there?
Gwen: Banana!
Me: Banana who?
Gwen: Orange you glad I didn't say orange again?
Us: BWAHAHAHA!
by Damien Katz at August 21, 2010 01:53 AM
August 14, 2010
Erlware
ErlangCamp - Erlang and OTP Workshop in Chicago Oct 23 and 24
ErlangCamp is here! You may have seen the announcement on the erlang.org already. ErlangCamp is a two day hands on workshop for those interested in learning how to go from novices or experienced levels of programming Erlang to being able to confidently write production grade Erlang/OTP services. ErlangCamp is an opportunity to learn from those who have done a ton with OTP and Erlang and put many
by Martin J. Logan (martinjlogan@erlware.org) at August 14, 2010 01:18 PM
August 13, 2010
Damien Katz
WARNING: CouchDB 1.0.0 Data Loss bug
Update August 13, 2010. A data recovery tool now available: http://wiki.couchone.com/page/repair-tool
if you are running CouchDB 1.0.0 with the default delayed commit setting, you are subject to serious data loss on restart. See this page for instructions how to force all outstanding commits and configure your server at runtime to run in the safer full commit mode: http://couchdb.apache.org/notice/1.0.1.html
The page also includes details of the bug and a postmortem.
0.11.1 and earlier are unaffected. Servers with delayed commits turned off are unaffected. 1.0.1 will be coming shortly that fixes the problem in all configurations.
DO NOT COMPACT THE DATABASE! Compaction throws away any lost updates permanently.
Data recovery is coming. The CouchDB core contributors are working on a utility to reliably recover lost updates, so no data is lost as long the database file is not compacted.
by Damien Katz at August 13, 2010 06:42 PM
August 06, 2010
ejabberd@jabber.ru
ejabberd 3.0.0-alpha-1 - for alpha-testing only
This first alpha includes three major changes compared to ejabberd 2.1.5: exmpp library is used, gen_storage for a database abstraction layer, and Massive Hosting which isn't yet usable.
Many tables have changed both in Mnesia and MySQL/PgSQL/ODBC. Fortunately, now ejabberd is able to create tables, update the tables and reformat their content in Mnesia and also in external databases. Or at least it should do.
by badlop at August 06, 2010 10:01 PM
Damien Katz
CouchDB Diplom Thesis
It's whooping 163 pages containing all the nitty-gritty-researchy details on why CouchDB is the number one choice for writing distributed applications in both the small and large scale.
by Damien Katz at August 06, 2010 12:30 AM
August 04, 2010
Damien Katz
We are hiring open source contributors!
We are hiring front end and back end engineers, documentation writer, trainer, release engineer and managers. Must have an open source background. See our jobs page for more info:
by Damien Katz at August 04, 2010 11:36 PM
August 03, 2010
ejabberd@jabber.ru
ejabberd 2.1.5 - Fifth bugfix release
ejabberd 2.1.5 has been released. It contains several minor bugfixes and a few improvements.
This is a short list of changes:
- Erlang/OTP R12 support fixed
- Erlang/OTP R14A support added
- OpenSSL 0.9.8 or higher is required
- BOSH: New optional connection attribute process-delay
- C2S: Don't ask for client certificate when using tls
- C2S: Inform client that SSL session caching is disabled
by badlop at August 03, 2010 04:35 PM
August 01, 2010
Damien Katz
Getting Your Open Source Project to 1.0
The project I founded, Apache CouchDB, recently hit 1.0. I'm very proud :)

Awesome 1.0 cupcakes from Sauce Labs.
It's been a long time, but we finally produced a release that's complete, performs well and is rock solid.
Already CouchDB is on over 10 million machines. It's used by big respected websites (like the BBC) and groundbreaking organizations (Mozilla and Canonical). We run on most *nix, OS X, Windows, and even Android phones. Have dozens of frameworks and client libraries available. There are 2 books available for sale right now. There is a venture capital backed startup, Cloudant, that offers CouchDB hosting and scales to huge datasets. And I'm CEO of another venture backed ($2 million invested) 12 person start-up, Couchio.
So how did I get here? It took a lot of time and effort (almost 5 years!), and the help of a lot of people. Here are some tips of what it took to get CouchDB to 1.0.
Why?
Successful open source projects need a reason for being. You need to decide why you are creating a project and what problems it solves. Whether it's one or many reasons, you need to figure out what they are and explain them.
Perhaps you are making something new, that hasn't existed. Why hasn't it existed it before? No had the idea? No one had the will to carry it through? Or maybe you are making something that's already in existence, like an HTTP server. What are your reasons? Simpler, faster, more features, different license?
If you are just doing it as a learning exercise, that's fine. But don't expect to attract a community until you can explain why it's useful beyond you own personal goals.
With CouchDB, my reasons were:
1. A schemaless document database with views, bi-directional replication and conflict detection to enable disconnected operation would be really useful.
2. I wanted to understand more about creating distributed systems and database internals.
No one cares about reason #2 except for me. But the first reason is compelling.
Make sure you can tell people why your project exists and what it's good for. And put the reasons on your project site where people can find them.
Code Comes First
Don't start a project unless you have a deep commitment to being a strong coder.
Now I'm not saying you must be a strong coder to participate in a project. Not at all. I'm saying that you must be strong coder to lead one. Maybe you'll get lucky and somehow attract a some really good coders to your project. But most really good coders go to projects with already solid codebases, or start their own.
Also, you don't have to be a strong coder when you start out, but you should know the basics and have a strong desire to learn and get better. Don't expect to attract anyone to your project until you have a substantial amount of working code that isn't a big ball of spaghetti.
With CouchDB, I always emphasized the quality of the high-level design and code implementation. We cannot under any circumstances lose or corrupt your committed data, or get things into an inconsistent state. Reliability and durability are absolutely imperative. Any design or implementation that doesn't meet these goals doesn't make it into the project.
Some projects might not have an emphasis on the reliability, but on absolute performance. That's a fine choice to make, but make sure your users know what they are trading off. And then actually deliver on the performance.
As the project moves along, you will need to ensure the code quality (reliability, performance, resource, usage, etc) is improving over time. If you aren't a good coder, you won't be able to do this.
Know What You Aren't
Almost as important as knowing what your project is trying to accomplish, is know what it isn't trying to accomplish.
When your project starts to get traction, but before it's done, you'll get a lot of people who want the project to work more like things they've used in the past. New users might think your goals and abilities are cool, but they'd trade it all for just a little more. They'll want everything your project does, plus a pony.
The problem is feature and scope creep. Even if you are successfully keeping the project on track, the community may get slowed down dealing with people trying to make it something it's not. Stating clearly what your project isn't trying to do or be helps make it much easier to explain what you can't implement or change.
Now, you can't define everything your project isn't. (It's not a video game. It's not accounting software. It's not a banana. It's not a rainbow. etc.). But you can find the things it's related to, overlaps with, or might be confused with, and explicitly say it's not those things.
With CouchDB, because we are a database, people often asked us to add features that were in traditional RDBMS's, but didn't fit well with the CouchDB data model. Not being intimately familiar with CouchDB's model and how it all fits together, they don't realize that what they're asking for simply doesn't work. But because we explicitly stated on the project site we aren't a relational database and aren't trying to replace relational databases, it made it much easier to explain why those features weren't a good fit for what CouchDB is trying to accomplish.
So if you don't clearly define what your project isn't, often people will try to make it into those things. This can damage the community, as moving forward is slower and people feel like they aren't being listened to. Be explicit what you aren't, and it makes it much easier to focus on what you actually are.
Don't Do Everything (Well)
So you are superstar coder, your code is clear and concise and high quality, you write clear complete documentation, your create all the tests, and you fix every bug. You are awesome!
Thing is, you might be awesome, but until you actually get a community behind the project, the project will be limited in an absolute sense by what a single person can produce. And if you are doing everything, that's not a whole lot. Trying to do everything well means you'll probably never actually release anything.
Unfortunately, at first, you _will_ need to do everything. But just don't do everything really well. Instead, you'll have do some things crappily, and then move on. In addition to writing all the code, you'll need to: Create a project site. Explain your project. Write documentation. Do the releases. Start a bug tracker. Create a mailing list and answer questions. And you'll have to do most of these things poorly if you want to keep moving the ball forward.
You'll have to do some things poorly. But you'll need to pick a few things that you do really well and execute on those things. (The code should be one of the things you do well).
And everything you do, you'll need to make it easy for others to participate. To add patches, to update and create documentation, make bug reports and send patches. And make it clear that help is desired.
Don't get hung up on trying to make everything perfect. That just paralyzes you. But by picking a few things to do well, you will attract people to help you with the things you aren't doing well.
Community Wants to Help
Open Source is awesome in the way it attracts people who just want to help make something cool. Many people want to contribute their time, but only if they think their help will amount to something in the long run. They don't want to spend time and effort on something that doesn't yet show potential or might be abandoned if the creators lose interest.
If you have a solid codebase, then it becomes much easier to attract people to your community. If people can recognize there is at least something high quality about your project, but it's lacking in some areas, people will want to help you in those areas. But you have to have the high quality pieces in place. People don't want to be the one excellent contributor to dreck. They'd rather not have their efforts associated at all.
They do want to be a part of something great. They want to add their work and make it even better. They want to contribute to projects where the total excellence of the project reflects well on them and their efforts. They want to make the world a better place, and don't want their efforts wasted.
And people who like making the world a better place are exactly the kind of people you want to attract. You want people to have pride in their contributions, and to feel like they are really positively affecting the things they care about. Those people have lots of projects to choose where they can add their time and talents. If they feel their efforts on your project are wasted, they are gone. Make sure the people who show a strong desire to contribute aren't ignored, and feel like their efforts will eventually amount to something.
Being a part of Apache has helped CouchDB tremendously. Partially it's because Apache has helped our visibility and credibility. But it's also because we've adopted the "Apache Way", which is more focused on the community aspects of a project than on any specific contributor. Without our amazingly active community, CouchDB would be far behind where it is now.
Community Is Often Incompetent
Unfortunately, many people who will want to help you will produce contributions of poor quality. You will have deal with this "help", and do so diplomatically. The best way to point out the shortcomings with their contributions is to identify what needs improvement without denigrating their overall effort. This can be hard, and many don't want to hear why their efforts aren't up to the project's standards.
Sometimes you have to hurt peoples feelings. But it's better to be honest then to have the quality of your project brought down. If they can't handle the feedback, so be it. The good news is the people who do listen to constructive criticism and actually improve the quality of their contributions are incredibly valuable. Look for these people and nurture their involvement.
With CouchDB, we try to listen to all members of our community, but we only grant commit access to the ones who have shown high quality contributions. Our committers are our first line of defense against poor code and design.
Paul Graham Was Right
It seems to make sense to choose a mainstream language for your project. The more mainstream it is, the larger the potential community you can attract. While that's true to an extent, the quality of the community is more important than its absolute size. Much more important.
Using a mainstream language means you are also competing for contributor's time from other projects in the same language. So the pool is large, but in the end, you still have to attract quality developers from other things competing for their attention. And the competition might actually be stronger in that larger pool.
The more mainstream a language, the more likely it is that a random developer knows it because it's what they use at work. They aren't necessarily interested in being more productive, being more reliable, or whatever. They are interested in getting paid, and they choose their language not for elegance, power or performance, but for the number of job openings available.
If you pick a non-mainstream, more esoteric language, you tend to get a higher quality of developer. You tend to find people who absolutely love programming and building, and choose their languages not based on the scale of pay, but because they make the developers and projects more powerful. So while the total pool of contributors is smaller, they tend to give a higher quality of contribution. You get a much better signal to noise ratio.
As Paul Graham explained in Beating the Averages, the exotic languages tend to attract devs who love to learn and expand their toolbox. You'll attract more of the types of devs who don't mind creating new code to fill in the gaps, or diving into source to find a bug. They aren't afraid of what they don't know, they actually get excited by the chance to learn and do something new.
But if you pick enterprisey language X, you might find you are spending more of your time fixing problems and dealing with developers who just don't "get it". If you aren't careful, this can drown your project and bring the total code quality down to the point where you can't find good devs to help you anymore. With the less popular, esoteric languages, that tends to be less of a problem and you get a higher quality of contribution in general.
Use Your Brain
I can keep listing all the stuff we did, but you aren't creating the same project under the same circumstances. Pretty much everything I've said here, we've not followed at some point during the project. Often it was to the detriment of the project, but sometimes it just didn't make sense to blindly follow a rule or guideline.
You have a brain, and using it is the most important thing to remember at anytime. Projects can't follow cookie cutter rules. Even the "Apache Way", as I've discovered, means different things to different people, often at different times.
So take my advice here with a grain of salt, and use your brain to figure out what's actually important to you, your project and it's community. Good luck!
by Damien Katz at August 01, 2010 05:38 PM
July 26, 2010
Damien Katz
CouchCamp is Coming Soon!
This is the place to be to learn and hack on Apache CouchDB. In honor of the recent 1.0 release, for a limited time it's only $500, with accommodations.
In addition to unconference style discussions, we've got some great speakers: Selena Deckelman, Stuart Langridge, Ted Leung, Josh Berkus, Dion Almaer and me :)
One thing I'm really excited to talk about is our work porting CouchDB to mobile platforms. Android, iOS, RIM, etc. We've got some very cool stuff coming :)
by Damien Katz at July 26, 2010 05:10 PM
July 08, 2010
Erlware
A Brief Overview of Concurrency.
Introduction Over the last few weeks I have had several conversations with people about concurrency, more specifically the ways in which shared information is handled in concurrent languages. I have gotten the impression that there isn't really a good understanding of whats out there in the world of concurrency. That being the case it would be a good idea to just give a quick overview of some of
by Eric Merritt (noreply@blogger.com) at July 08, 2010 04:33 PM
June 22, 2010
Damien Katz
Migrating From MySQL to CouchDB
Here is a detailed white paper from John P. Woods of Interactive Mediums, going into depth about their migration of their mobile marketing archive from MySQL to CouchDB.
http://www.couch.io/migrating-to-couchdb
by Damien Katz at June 22, 2010 06:08 PM
CouchCamp, aka BurningCouch!
.
Registration for CouchCamp is now open. CouchCamp is our conference about CouchDB, September 8th - 10th 2010 at Walker Creek Ranch, north of the Bay area.
This is the event to learn all about CouchDB and it's innards, the community, and how much beer I can drink before hurling. It's going to be fun!
by Damien Katz at June 22, 2010 05:12 PM
June 19, 2010
Erlang Eclipse IDE
[erlide] Regular update site upgraded
The regular update site at http://erlide.org has been updated to the now not so new p2 update manager format. Only the latest 0.8.3 build is available there.
Older stable releases are to be found at http://erlide.org/update_classic, if needed.
This is so that we can appear on the Eclipse marketplace, which will be integrated in Eclipse in the upcoming 3.6 version.
regards,
Vlad
by vladdu@users.sourceforge.net (Vlad Dumitrescu) at June 19, 2010 08:21 PM
June 18, 2010
Damien Katz
How Software Is Built: Apache CouchDB
Here is a detailed interview I recently did for HowSoftwareIsBuilt.com about CouchDB, document databases, cloud and replication:
http://howsoftwareisbuilt.com/2010/06/18/interview-with-damien-katz-apache-couchdb/
by Damien Katz at June 18, 2010 06:31 PM
June 17, 2010
Erlang Eclipse IDE
[erlide] Dropped support for R11
Version 0.8.1.201005250801 is the last to support R11, unless it will be required by enough users (or payed for with enough beers!) This is because R14 can no longer load R11 beam files and we don't have resources to keep two tracks alive.
Version 0.8.3.201006171129 is functionally identical except that the Erlang code is compiled with R12.
regards,
Vlad
by vladdu@users.sourceforge.net (Vlad Dumitrescu) at June 17, 2010 12:51 PM
June 16, 2010
Erlware
Build Process Integration
IntroductionThis post isn't going to be Erlang or Language oriented at all. One of my other hobbies revolves around the build process and build process tools. Over the last few years I have been spending a lot of time thinking about improving them, making the build process more transparent etc. I have a way to do that, I believe. Unfortunately, it would take the cooperation of build too
by Eric Merritt (noreply@blogger.com) at June 16, 2010 08:52 AM
June 15, 2010
Damien Katz
Miscellaneous CouchDB News
Awesome New Hires: We've recently hired Volker Mische of GeoCouch, and CouchDB contributor Filipe Manana. These guys are damn good!
--
"It was difficult to continue programming at times, as I could hardly see through the tears of joy."- Jon Adams, Chief Architect of Anologue
--
CouchCamp: September 8th - 10th 2010 Registration will open soon.
by Damien Katz at June 15, 2010 04:58 PM
June 04, 2010
Damien Katz
CouchDB on your TV
After initially getting rejected for sound issues, Google Ads has finally approved our awesome Couchio commercial.
So we've aired this commercial 11 times so far, 5 times during Robot Chicken, twice duringAqua Teen Hunger Force, once during Tim and Eric's Awesome Show, Great Job! and 3 times on VH1.
It has gone to a total of 321,253 impressions, which means 321,253 people have seen Chris running like a lunatic around the streets of Oakland, singing the CouchDB praises.
This has cost us a total of $709.57!
Just saw a commercial for CouchDB. Seriously. I'm at a loss for words. #couchdb #couchio
Someday CouchDB will actually be inside your TV, you can watch CouchDB while watching your CouchDB TV from your couch.Yo dawg.
by Damien Katz at June 04, 2010 12:53 AM
June 02, 2010
ejabberd@jabber.ru
ejabberd 2.1.4 - Fourth bugfix release
ejabberd 2.1.4 has been released. It contains many bugfixes and some improvements.
This is a short list of changes:
- Bounce messages when closing c2s session
- Bugfixes when handling Service Discovery to contacts
- Don't send error stanza as reply to error stanza
- Don't store blocked messages in offline queue
- Extauth: Optionally cache extauth users in mnesia
- Full support for XEP-0115 Entity Capabilities v1.5
- HTTP-Bind (BOSH): Remove unneeded 100 ms delay, and export functions to facilitate prebinding methods
by badlop at June 02, 2010 04:29 PM
May 27, 2010
Erlware
Why Not To Use Distributed Supervision
Let's take the example of distributed supervision. Let's say we have one supervisor on node A that supervises children on node B and node C. What happens if network throughput slows down on the connection from Node A to Node B? This isn't transparent to the Supervisor on Node A. What should the supervisor on Node A do in this case? It has no contact with node B, so it's unsure whether or not the
by Eric Merritt (noreply@blogger.com) at May 27, 2010 09:52 AM
May 25, 2010
Damien Katz
High Performance CouchDB
At Couchio we are working with a company that makes high performance database appliances. These are complete system stacks where all the components, software and interconnects are carefully chosen, modified and optimized. They can deliver performance and scalability that's often an order of magnitude better than what can be accomplished by assembling your own systems with commodity components, and reducing overall hardware and admin costs.
So if you are a user of Apache CouchDB and are interested in high performance CouchDB servers, we'd love to talk with you to help us shape our plans and offerings, and potentially join an early adopters program. Email me at damien@couch.io.
by Damien Katz at May 25, 2010 06:47 PM
May 21, 2010
Damien Katz
I'm in your phone

by Damien Katz at May 21, 2010 12:53 AM
CouchDB Rap
Premiered today on The H. Nice.
by Damien Katz at May 21, 2010 12:44 AM
May 06, 2010
Damien Katz
CouchDB Case Studies
We've just put up our new CouchDB case studies page. So far we have the BBC, Assay Depot and Interactive Mediums, and more in the works. And if you are interested in being profiled for a case study, see this post.
by Damien Katz at May 06, 2010 09:10 PM
May 05, 2010
Damien Katz
Announcing New Erlang Native GeoCouch
An idea has become reality. Exactly two years after the blog post with the initial vision, a new version of GeoCouch is finished. It's a huge step forward. The first time the dependencies were narrowed down to CouchDB itself. No Python, no SpatiaLite any longer, it's pure Erlang. GeoCouch is tightly integrated with CouchDB, so you'll get all the nice features you love about CouchDB.
Awesome work Volker!
by Damien Katz at May 05, 2010 10:25 PM
April 30, 2010
Damien Katz
Create a Custom CouchDB indexer
Recently I worked with Volker Mische to help him create a new R-Tree geo-spacial indexer for CouchDB, the details of which he'll be announcing soon.
And not only that, he took the time to write up a tutorial how to create you own customer indexer. If you wanted to write a new full text indexer in Erlang for CouchDB, this tutorial is the place to start. Awesome work!
http://vmx.cx/couchdb/tutorial/indexer.html
by Damien Katz at April 30, 2010 02:43 AM
April 21, 2010
Erlang Announce List
Erlang announce mailing list :: Erlang/OTP now at Github
Author: Anonymous
Subject: Erlang/OTP now at Github
Posted: Wed Nov 25, 2009 2:14 pm (GMT 0)
Topic Replies: 0
The official git repository for Erlang/OTP can now be found at Github:
http://github.com/erlang/otp
Build instructions can be found at:
http://wiki.github.com/erlang/otp
We plan to add more wiki pages with additional information in the
near future.
--
Björn Gustavsson, Erlang/OTP, Ericsson AB
________________________________________________________________
erlang-announce mailing list. See http://www.erlang.org/faq.html
erlang-announce (at) erlang.org
Post received from mailinglist
Erlang announce mailing list :: Erlang/OTP R13B03 has been released
Author: Anonymous
Subject: Erlang/OTP R13B03 has been released
Posted: Wed Nov 25, 2009 1:56 pm (GMT 0)
Topic Replies: 0
Bug fix release : otp_src_R13B03
Build date : 2009-11-23
This is R13B03, the third maintenance release for the R13B major release.
You can find the README file for the release at
http://www.erlang.org/download/otp_src_R13B03.readme
The source distribution and binary distribution for Windows can be
downloaded from
http://www.erlang.org/download/otp_src_R13B03.tar.gz
http://www.erlang.org/download/otp_win32_R13B03.exe
The distribution can also be downloaded using the BitTorrent
protocol. Use the following torrent files to download the source
distribution and binary distribution for Windows:
http://www.erlang.org/download/otp_src_R13B03.tar.gz.torrent
http://www.erlang.org/download/otp_win32_R13B03.exe.torrent
Note: To unpack the TAR archive you need a GNU TAR compatible program.
For installation instructions please read the README file that is part
of the distribution.
The on-line documentation can be found at: http://www.erlang.org/doc/
You can also download the complete HTML documentation or the Unix manual files
http://www.erlang.org/download/otp_doc_html_R13B03.tar.gz
http://www.erlang.org/download/otp_doc_man_R13B03.tar.gz
We also want to thank those that sent us patches, suggestions and bug
reports,
The OTP Team
--
Björn Gustavsson, Erlang/OTP, Ericsson AB
________________________________________________________________
erlang-announce mailing list. See http://www.erlang.org/faq.html
erlang-announce (at) erlang.org
Post received from mailinglist
April 17, 2010
Damien Katz
Why is this man so damn happy?
by Damien Katz at April 17, 2010 07:34 PM
April 14, 2010
Damien Katz
Oaklandish
Go to Tai Chi at 4 pm Tues. & Thurs. at Gold's Gym Oakland. http://www.goldsgym.com/gyms/calendar.php?gymID=0339
by Damien Katz at April 14, 2010 04:26 PM
April 01, 2010
Erlware
SF Erlang Factory Talks and Slides
For those of you who would like to view the presentation slides from the speakers, these are now available here: http://www.erlang-factory.com/conference/SFBay2010/talks (please click on the icon underneath the individual talk description). Erlang Solutions have posted most of the photos from the conference on Flickr: http://www.flickr.com/photos/erlang-consulting/collections/72157623733690054/
by Martin J. Logan (martinjlogan@erlware.org) at April 01, 2010 01:03 PM
March 31, 2010
Erlware
Erlang Factory: Steve Vinoski: Using Erlang in a Carrier Grade Media Distribution Switch
Steve spent his first 6 years as a hardware test engineer. Spent 17 years doing enterprise middlware with, horrors, corba. Left that world and discovered Erlang - became depressed when he saw how much easier the previous 17 years could have been. Part of the reason that he left and joined Verivue, the media delivery startup he is currently with, was because of Erlang. Verivue runs a managed
by Martin J. Logan (martinjlogan@erlware.org) at March 31, 2010 02:55 PM
March 26, 2010
Erlware
Erlang Factory: Martin Logan, Eric Merritt, Richard Carlson: Writing a Technical Book
<!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } --> Where to start Writing a technical book is at least as hard as you think it is, porbably even more. The main prerequisite is believing you have something important and worth saying. After that the next thing to do is to choose a medium. In this case a publisher. They chose manning. The first step is writing
by Jordan Wilberding (noreply@blogger.com) at March 26, 2010 02:59 PM
Erlang Factory: Michael Truog The Cloud as an Interface
A Cloud as an Interface - http://cloudi.org/Cloudi - not for webapps or data cloud, but for processing. For managing processes and making sure they are fault tolerant.Cloudi is a flexible framework for private cloud computing. Its dynamically loud balanced and scheduled. Distributed execution of C/C++ work.Cloudi is an alternative to paying for a blackbox commercial cloud.Erlang coordinates all
by Tristan Sloughter (noreply@blogger.com) at March 26, 2010 12:35 PM
Riak Search
Riak SearchPresented by John Muellerteile from Basho.Fulltext and general indexing methods.Agenda* Intro* A search Tale* Riak search"I used to make stuff" (but now I'm a database hacker)Got sick of having to roll own indexes.Act 1: I love luceneLife is good, fast and predictable.Act 2: Cluster LuckA few shards, good performance.Act 3: SANFULots of shards. Operational nightmare. Diminishing
by Tristan Sloughter (noreply@blogger.com) at March 26, 2010 12:19 PM
Git Basics
Mastering Git BasicsGiven by @mojombo the cofounder and cto of github.Initial Config:git config --global user.name [NAME]git config --global user.email [EMAIL]git config --global color.ui trueLast one gives nice colors for diffs and such.Creating and CommittingMake a dir for your project:$ cd patch/to/repos$ mkdir hello$ cd hellogit init$ git init # converts empty directory into a git repo.
by Tristan Sloughter (noreply@blogger.com) at March 26, 2010 12:18 PM
Erlang Factory: Jack Moffit: Erlang Is Our Superpower
<!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } --> Introduction to Erlang Started as a game, chess park. Play chess online. Were python guys, so wrote it in python. Decided to use XMPP for all the wonderful features it has. Started using jabbberd. Weren't happy with it. Decided to look at ejabberd, which led them to Erlang. New Product Wanted to have a
by Jordan Wilberding (noreply@blogger.com) at March 26, 2010 12:09 PM
Erlang Factory: Tony Garnock-Jones: What is messaging and why should we care?
<!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } --> Why messaging? Scaling, load balancing Delayed jobs, task queues Multicast and broadcast Trusted store-and-forward Management monitoring Decoupling of components What is messaging? Messaging involves relaying, filtering, buffering, queueing, and transfer of responsibility. Where is messaging? See it in
by Jordan Wilberding (noreply@blogger.com) at March 26, 2010 10:51 AM
Erlang Factory: Yogish Baliga, Mark Zweifel: Deploying Erlang at Yahoo - A Case Study
We are going to do this collaboratively. We have worked together for over a year, we talk a lot together and thats what we are going to do here. When you try to bring in a new language to a new company you don't want to be tagged as someone who chose something to be clever. So we did something in three stages. We will give you the back ground as well as what we did. The critical thing here is to
by Eric (noreply@blogger.com) at March 26, 2010 10:51 AM
Erlang Factory: Joe Armstrong: Keynote - What are the Important Ideas in Erlang?
<!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } --> Plan -History -3 things missing -1 big mistake -2 good ideas -3 great ideas Erlang crawled along starting from 1986. Picked up in 1996-1998, then died out for a bit, and now is becoming popular once again. 1986-89 were productive years. 1989-96 was at war with the world. 1996-98 peace broke out. 1998-2000
by Jordan Wilberding (noreply@blogger.com) at March 26, 2010 10:00 AM
March 25, 2010
Erlware
Erlang Factory: Mats Cronqvist :The nine nines and how to get there
Rumination, a calm and lengthy intent consideration. Mats will rumnate on 9 9s of uptime. We will cover debugging the axd switch and generally on debugging Erlang itself.Mats is going to pick on Joe Armstrong because he does not care... all these internet sites talk about 9 9s of uptime. It is based on an internal Ericsson slide that you can't find on the internet. This slide had to do with some
by Martin J. Logan (martinjlogan@erlware.org) at March 25, 2010 05:28 PM
Erlang Factory: Kenji Rikitake: Erlang Secure RPC and the SSH module
My Erlang ActivitiesDiscovered erlang in 2008, via Joe's book. Patches accepted, TAI leap second, SSH aes123-cbc, backporting freebsd patches, there for quite a long time. First I am going to talk about the security weakness in erlang in general and then why ssh is needing and finally an ssh protocol review, four how erlang supports ssh, six prototype implementation and support. Lets talk about
by Eric (noreply@blogger.com) at March 25, 2010 05:24 PM
Erlang Factory: Todd Lipcon: Thrift Avro/Erlang bindings
Thrift and avro bindings with Erlang. Previously Todd built many websites in the standard languages for doing such things. He worked for Amie Street and Songza which is where he had the chance to work with Erlang. This talk is really not for those doing hobby websites. This talk is for those doing enterprize level websites. This is for websites with multi functional teams. Popular Web
by Martin J. Logan (martinjlogan@erlware.org) at March 25, 2010 04:44 PM
Erlang Factory: Kresten Thorup: Erjang
This is my project to learn Erlang. There are a lot of questions in the community about wether this is possible at all. This ignited me, so I had to go prove that it is possible. I have a software company of around a 100 people and we are mostly doing java. We are the goto guys for java in denmark. We where a very early adapter of java. We have been very successful with that. Recently I have been
by Eric (noreply@blogger.com) at March 25, 2010 04:32 PM
Erlang Factory: Chad DePue: Lua Integration with Erlang
Problems we start having with it is when you start running multiple servers (monit). A couple of cool things about monit and god, nice because its turing complete, monitor with distributed monitoring like with m/monit. Problem with it is that its running in ruby. Erlang, monitoring code is in erlang, configuration in lua. connected nodes share the same configuration. How does that interact with
by Eric (noreply@blogger.com) at March 25, 2010 04:17 PM
Erlang Factory: Patrick Nyblom: Erlang SMP Support - Behind the Scenes
Erlang Multicore SupportIf you went to EUC this year, this is a good time to take a nap. This talk will be very similar to that one. The erlang multicore support has been in the product for a couple of releases. we started five or six years ago with the single cpu virtual machine. Its still there, if you start on a single core machine you get the single threaded virtual machine. Now we have
by Eric (noreply@blogger.com) at March 25, 2010 03:21 PM
Erlang Factory: Sean Cribbs: Achieving Parsing Sanity with Neotoma
CucumberSean worked on a testing framework for doing acceptance testing called cucumber. Cucumber let you write agile stories that were executable. Sean had a thought, why not write cucumber in Erlang? Gherkin uses TreetopA simple language for expressing tests. Why not use leex and yecc to do the parser generation for handling Gherkin/Treetop. The problem with using leex and yecc was that the
by Martin J. Logan (martinjlogan@erlware.org) at March 25, 2010 02:52 PM
Erlang Factory: Cliff Moon: Fast Enough
I had a bunch of slow erlang that I ported to C and now I have two problems. So we are going to talk about how to be fast enough.Performance Tuning, Profiling all the things you need to do before this point. Through put, Online transaction processing, 99.9% latency. These are the things that typically matter. How do we go about profiling.Identify bottle necks. Optimize algorithmsPort critical
by Eric (noreply@blogger.com) at March 25, 2010 01:24 PM
Erlang Factory: Andy Gross: Distributed Erlang Systems In Operation: Patterns and Pitfalls
Andy is the VP of engineering and social media liability at Basho Technologies. He has been doing work on distributed systems ever since he worked at akami for 7 years. He really wished he knew about Erlang back then. After moving to apple he wrote distributed systems in objective c and so on. After getting sick of that he went to work at mochi media and fell in love with Erlang. Now at basho
by Martin J. Logan (martinjlogan@erlware.org) at March 25, 2010 12:56 PM
Erlang Factory: Bjarne Däcker: discussion of basic vs. applied research in the software domain and the creation of Erlang
CSLab and all that ...How many at Erlang factory in london last summer (few), not exactly the same talk as then. (microphone issues). Reason for this talk is to explain the background to Erlang. It wasn't just something that fell out of the sky. There was a lot of thinking behind it. At a big company like Ericsson there are research activities that are structured into laboratories. We went to
by Eric (noreply@blogger.com) at March 25, 2010 11:13 AM
Erlang Factory: Welcome - Francesco Cesarini
Growth in the Erlang Comunity. His first consulting gig in the US was in 2002 in chicago. At that point not more then 10 companies using Erlang in the US. One of those companies was Cellpoint, which eventually brought Erlang to South Africa, where it has grown tremendously. Other non-Ericsson companies using Erlang Telia (sweden) Bluetail (sweden) Cellpoint (sweden, Uk, US) One 2 On (UK) IdealX (
by Eric (noreply@blogger.com) at March 25, 2010 09:23 AM
Erlang Factory - San Francisco 2010 Live Blogging
Your Erlware Devs are attending the Erlang Factory 2010 in San Francisco. Both Eric and Martin are Track Hosts and speakers for this event. We are going to do our best to live blog the various talks and events starting this morning. We will have live updates of the talks on the Erlware blog.Update - that is 2010 not 2009 as the original title indicated - obviously
by Eric (noreply@blogger.com) at March 25, 2010 09:18 AM
March 23, 2010
Damien Katz
Replication

Some cool Apache CouchDB replication related links:
- What's new in Apache CouchDB 0.11 -- Part Three: Replication
- Extreme CouchDB Replication
- CouchDB Clustering
by Damien Katz at March 23, 2010 09:57 PM
March 15, 2010
Damien Katz
O'Reilly's CouchDB: The Definitive Guide for $9.99 Today Only!
Use this discount code: DDCDB
by Damien Katz at March 15, 2010 07:00 PM
March 12, 2010
ejabberd@jabber.ru
ejabberd 2.1.3 - Third bugfix release
ejabberd 2.1.3 has been released. It contains many bugfixes and some improvements.
This is a short list of changes:
- New ejabberd_c2s option: max_fsm_queue
- ejabberdctl: Support concurrent connections with bound connection names
- Cross-domain HTTP-Bind support (EJAB-1168)
- Hibernate http-bind process after handling a request
by badlop at March 12, 2010 04:28 PM
March 11, 2010
Damien Katz
Win a Nexus One from Couchio
Port CouchDB to an Android app and get our phone! Details.
by Damien Katz at March 11, 2010 01:58 AM
March 06, 2010
Damien Katz
CouchDB Case Study: Assay Depot
Apache CouchDB Case Study: Assay Depot
...replication give this ability that would have been much more difficult to accomplish in MySQL. We could have done this in a relational manner but it would have been very challenging, very custom. CouchDB give a lot of the benefits for free.
CouchDB has changed the way I think about developing web applications
by Damien Katz at March 06, 2010 11:40 PM
March 03, 2010
Erlware
Erlware on R13B04
Erlware tools are now running on R13B04 for Mac OSX Leopard (Intel and PowerMac)Mac OSX Snow LeopardLinux i686Linux x86_64To install the 'erl' shell and start playing use 'faxien install-release erl'Note* escript still needs an update - contributions welcome.
by Martin J. Logan (martinjlogan@erlware.org) at March 03, 2010 06:15 PM



Digg It
Del.icio.us
Reddit
Facebook
Stumble Upon
Technorati
Click here to order from amazon.com