Categories
Feedhaus

An International Phenomenon

Feedhaus is making quite a splash internationally. Lately, we’ve gotten news coverage in German (of course), Spanish, French (again), Portuguese, Chinese and Japanese!

Categories
bdg dev2dev Featured Posts Plumtree • BEA AquaLogic Interaction • Oracle WebCenter Interaction

Write an ALUI IDS in Under 15 Lines Using Ruby on Rails

Not only is it possible to write an ALUI Identity Service in Ruby on Rails, it’s remarkably easy. I was able to do the entire authentication part in fewer than 15 lines of code! However, I ran into problems on the synchronization side and ended up writing that part in Java. Read on for all the gory details.

As part of building the suite of social applications for BEA Participate 2008, we’re designing a social application framework in Ruby on Rails and integrating it with ALI 6.5. Not being a big fan of LDAP, I decided to put the users of the social application framework in the database (which is MySQL). Now, when we integrate with ALI, we need to sync this user repository (just as many enterprises do with Active Directory or LDAP).

So I set out to build an IDS to pull in users, groups and memberships in Ruby on Rails.

It’s pretty obvious that Ruby on Rails favors REST over SOAP for their web service support. However, they still support SOAP for interoperability and it mostly works. I did have to make one patch to Ruby’s core XML processing libraries to get things humming along. I haven’t submitted the patch back to Ruby yet, but at some point I will. Basically, the problem was that the parser didn’t recognize the UTF-8 encoding if it was enclosed in quotes (“UTF-8”). This patch suggestion guided me in the right direction, but I ended up doing something a little different because the suggested patch didn’t work.

I changed line 27 of lib/ruby/1.8/rexml/encoding.rb as follows:

 enc = enc.nil? ? nil : enc.upcase.gsub('"','') #that's a double quote inside single quotes

Now that Ruby’s XML parser recognized UTF-8 as a valid format, it decided that it didn’t support UTF-8! To work around this, I installed iconv, which is available for Windows and *nix and works seamlessly with Ruby. In fact, after installation, all the XML parsing issues went bye-bye.

Now, on to the IDS code. From your rails project, type:

ruby script/generate web_service Authenticate

This creates app/apis/authenticate_api.rb. In that file, place the following lines of code:

class AuthenticateApi < ActionWebService::API::Base
 api_method :Authenticate, :expects => [{:Username =>
:string}, {:Password =>
:string}, {:NameValuePairs =>
[:string]}], :returns =>
[:string]
end

All you’re doing here is extending ActionWebService and declaring the input/output params for your web service. Now type the following command:

ruby script/generate controller Authenticate

This creates the controller, where, if you stick with direct dispatching (which I recommend), you’ll be doing all the heavy lifting. (And there isn’t much.) This file should contain the following:

class AuthenticateController < ApplicationController
 web_service_dispatching_mode :direct
 wsdl_service_name 'Authenticate'
 web_service_scaffold :invoke

 def Authenticate(username, password, nameValuePairs)
   if User.authenticate(username, password)
     return ""
   else
     raise "-102" #generic username/password failure code
   end
 end
end

Replace User.authenticate with whatever mechanism you’re using to authenticate your users. (I’m using the login_generator gem.) That’s all there is to it! Just point your AWS to http://localhost:3000/authenticate/api and you’re off to the races.

Now, if you want to do some functional testing (independently of the portal), rails sets up a nice web service scaffold UI to let you invoke your web service and examine the result. Just visit http://localhost:3000/authenticate/invoke to see all of that tasty goodness.

There you have it — a Ruby on Rails-based IDS for ALUI in fewer than 15 lines of code!

The synchronization side of the IDS was almost just as simple to write, but after countless hours of debugging, I gave up on it and re-wrote it in Java using the supported ALUI IDK. Although I never could quite put my finger on it, it seemed the problem had something to do with some subtleties about how BEA’s XML parser was handing UTF-8 newlines. I’ll post the code here just in case anyone has an interest in trying to get it to work. Caveat: this code is untested and currently it fails on the call to GetGroups because of the aforementioned problems.

In app/apis/synchronize_api.rb:

class SynchronizeApi < ActionWebService::API::Base
 api_method :Initialize, :expects =>
[{:NameValuePairs =>
[:string]}], :returns =>
[:integer]
 api_method :GetGroups, :returns =>
[[:string]]
 api_method :GetUsers, :returns =>
[[:string]]
 api_method :GetMembers, :expects =>
[{:GroupID => :string}], :returns =>
[[:string]]
 api_method :Shutdown
end

In app/controllers/synchronize_controller.rb:

class SynchronizeController < ApplicationController
  web_service_dispatching_mode :direct
  wsdl_service_name 'Synchronize'
  web_service_scaffold :invoke

  def Initialize(nameValuePairs)
    session['initialized'] = true
    return 2
  end

  def GetGroups()
    if session['initialized']
      session['initialized'] = false
      groups = Group.find_all
      
      groupNames = Array.new
      for group in groups
        groupNames << "<SecureObject Name=\"#{group.name}\" AuthName=\"#{group.name}\" UniqueName=\"#{group.id}\"/>" 
      end 
      return groupNames
    else
      return nil
    end
  end
  
  def GetUsers()
    if session['initialized']
      session['initialized'] = false
      users = User.find_all
      
      userNames = Array.new
      for user in users
        userNames << "<SecureObject Name=\"#{user.login}\" AuthName=\"#{user.login}\" UniqueName=\"#{user.id}\"/>" 
      end
      
      return userNames
    else
      return nil
    end
  end

  def Shutdown()
    return nil
  end
end

Comments

Comments are listed in date ascending order (oldest first)

  • Nice post, Chris. This is the first time I’ve seen this done!

    Posted by: dmeyer on January 20, 2008 at 4:16 PM

  • Thank you, David.I just noticed that part of my sync code was chomped off in the blog post because WordPress was assuming that was actually an opening HTML/XML tag. I made the correction so the above code now accurately reflects what I was testing.

    Posted by: bucchere on January 21, 2008 at 1:16 PM

Categories
Feedhaus

Feedhaus Featured on The Web 2.0 Show

Josh Owens and Chris Saylor of The Web 2.0 Show interviewed me for their podcast. Give it a listen.

Categories
bdg dev2dev Plumtree • BEA AquaLogic Interaction • Oracle WebCenter Interaction

One Portal to Rule Them All

I won’t rehash what’s already been said by everyone in the press and the blogosphere — Oracle is buying BEA. I wrote almost three years ago that this was inevitable, and now it’s upon us.

I’m hopeful that the BEA/Oracle management crew can take what they learned from the Plumtree, Fuego and Flashline (for BEA) and Siebel, PeopleSoft and Oblix (for Oracle) acquisitions and apply it to the challenges their own merger presents.

Over the past three years, Oracle has acquired dozens of companies. The most notable were probably PeopleSoft (which had just acquired JD Edwards, if I remember correctly), Siebel and Oblix, which gave them a great suite of HR apps, CRM apps and identity management, respectively. These were all enterprise software products that Oracle had, with a modicum of success, built on their own from the ground up, sold and supported as “Oracle Apps.”

Of course, with almost every major company they’ve acquired, Oracle has picked up a portal product. (And with BEA, there’s a special bonus — they get two: WLP and ALI.)

That’s going to create a portal soup consisting of at least the following ingredients:

  • Siebel Portal
  • JD Edwards Portal
  • PeopleSoft Portal
  • Oracle Portal (part of Oracle Fusion Middleware)
  • WLP
  • ALI

Oracle won’t want to endanger existing customer relationships by terminating support for the non-horizontal portals from Siebel, PeopleSoft, etc. Besides, the word “portal” really only loosely applies there, because those “portals” are really just web UIs into Siebel, PeopleSoft, etc.

But what about the horizontal portals: Oracle, WLP and ALI?

They are all playing in the same space. It’s already questionable that we need all three in the market now. And three under the same circle-shaped roof that is Oracle? Absurd.

What will Oracle do with this portal quandary?

Well, I think they’ll do the only thing they can do and support all the products. So that covers legacy customers, but what about future customers? If I’m an Oracle sales rep and my customer wants to buy a portal to front their SOA stack, what on earth do I sell them?

In my opinion, which is just that — my opinion — post-merger, there need to be some decisive acts from Oracle regarding the future direction of their portal strategy.

And, again, IMO, this is where the ALI portal and the ALUI suite of products (formerly Plumtree) can really shine. Why? Because not only can you front Java, .NET, Rails, PHP and any other web application stack with ALI, but ALI already has integration kits for Siebel, PeopleSoft, JSR-168, WSRP and five different flavors of SSO, including Oblix! (Not to mention the obvious fact that since day one, ALI has run beautifully on Windows and *nix systems using Oracle’s bread-and-butter product, their database.) So naturally, if you’re an Oracle shop running a clustered Oracle DB for storage, Siebel for CRM, PeopelSoft for HR, Oracle Financials for the books and Oblix Identity Management, no other product under the sun has more pre-packaged, no-brainer integration and integration options than ALI.

It may be a hard, bloody battle to get Oracle to drop it’s own beloved portal product in favor of AquaLogic Interaction, but I think it’s a battle that needs to be fought.

Same goes for WLP. In fact, I think every product acquired by Oracle has to fight for it’s life and fight to be the #1 product in the space, retiring the others to “maintenance and support” but focusing all futures on the product that is rightfully #1. And I think — and hope — that Oracle has the good sense and the wherewithal to encourage this.

It may cause some near term pain, but taking a longer-term view it’s the right thing to do.

Comments

Comments are listed in date ascending order (oldest first)

  • Interesting post, Chris. Obviously this is something we ALUI consultants have been considering in the past few days. One monkeywrench I have for you: as far as I know, Oracle offers their portal product for free to existing customers, whereas we (obviously) charge for it. I wonder how that kind of business model might change the landscape of how the ALUI portal is distributed/used.

    Posted by: rbrodbec on January 18, 2008 at 7:02 AM

  • Funny you should mention the price issue. About two years ago, we had a customer switch from ALI to Oracle portal for that exact reason. Why pay for licenses and support for ALUI products when Oracle gives you the portal for free? That customer still calls on us for ALUI support, so apparently the migration hasn’t gone exactly as planned.Two old adages come to mind here:
    1. You get what you pay for.
    2. There’s no such thing as a free lunch.

    Regarding #1, the products really don’t cover the same feature set — Oracle portal cannot be the gateway to SOA that we all know ALUI is, so it’s really not an apples-to-apples comparison.

    Regarding #2, with any free software, whether it’s from a large company like Oracle or from the Apache Software Foundation, you always need to think about Total Cost of Ownership (TCO). If you need to build services integration points in Oracle Portal to talk to all of Oracle’s other products, that adds to your TCO. Moreover, if somebody is giving something away, what sort of quality expectations do you have about the product? What happens if you need to request support from Oracle or ask them to develop a patch for you? All of a sudden, the fact that you didn’t pay for the software comes back and bites you in the butt. 🙂

    Posted by: bucchere on January 18, 2008 at 7:23 AM

  • I guess I agree with you, since I’m not an Oracle portal consultant (not yet, anyway); but I think the bigger question is how Oracle will assimilate these new portals given its current pricing strategy (aka – the bloody war you speak of). If I were an existing Oracle customer, the first question I’d ask is “how come I can get XYZ portal for free but not ABC portal”. And if I’m Oracle product management, I’m thinking about how my current “free portal” strategy has been working out for me versus the ALUI model of charging for it.

    Posted by: rbrodbec on January 18, 2008 at 8:22 AM

  • You’re right — the big issue is how will Oracle deal with the portals they’re acquiring and will there be a shakedown or more of a graceful assimilation.There’s a similar issue with WLS and Oracle’s application server, although I think in that case the answer is a little less complicated. 😉

    Posted by: bucchere on January 18, 2008 at 8:32 AM

  • Of course you completely forgot to mention Oracle WebCenter. In spite of your assertions, there are only 2 portal products at Oracle. Oracle Portal and WebCenter. WebCenter is the future “face” of Fusion Applications, so any integration of portal products will move in that direction. IMHO….plumtree is as proprietary as Oracle Portal, and its dead. WLP and the folks on the WebCenter team will need to figure out how to integrate the code bases of those two products since they are the most similar in their support of Web 2.0 futures.

    Posted by: Dr. BEA Good on January 20, 2008 at 11:44 AM

  • Thanks for the correction about Oracle WebCenter — I’m not too familiar with Oracle products other than the DB and I should have done more homework before posting this!However, I still disagree that there are only two portals at Oracle. I’m not too sure about JDE, but I remember with 100% certainty that PeopleSoft and Siebel called their UIs “portals.” They’re not truly portals in a horizontal sense like Oracle Portal, WebCenter, WLP and ALUI and I don’t think they’re actually relevant to this discussion, so it’s a moot point.

    Now, given the four remaining portal products, I challenge your assertion that WebCenter and WLP “support Web 2.0 futures” and I’d like to see some examples that support that claim. As far as I know, the only products coming out of BEA that deserve the “Web 2.0” label are AquaLogic Pages, Ensemble and Pathways. (Note I don’t include ALI itself as a Web 2.0 product, despite the fact that ALI 6.5 has some pretty slick social features that might someday earn it that distinction.)

    I also take issue with your calling Plumtree/ALUI proprietary and I’m not sure what makes you make that claim. It’s written in Java and ported to C#.net, so it runs “natively” on IIS (which no other products from BEA or Oracle can do). Its Java version (from the same source base), runs on WebSphere, WLS, Tomcat and probably JBoss and other app servers and it supports both Oracle and SQL Server, so in terms of how and where you can run it, it’s probably the most open and flexible product in the entire 40+ product lineup that BEA boasts.

    That’s just one side of the proprietary vs. open argument. The other is how well one supports standards for plugging in functionality. In those terms, I think ALUI stands out from the pack as well. It supports portlets over two very well supported standards: HTTP and HTML, which again makes it the most flexible portlet development environment on the market. (You can develop ALI portlets using ANY web server that speaks HTTP and I’ve personally done so using Java, .NET, LAMP, Ruby on Rails, Groovy on Grails and even Domino if you can believe that.) It also supports JSR-168 and WSRP. (In reading about WebCenter, all portlet development documentation was Java-centric, so I’m not sure if they support any other kind of portlet development, e.g. .NET. It’s crucial that any product which claims to be the “face of SOA” supports at least Java and .NET development and plugins; however, many would argue that you need to support much more — e.g. Ruby on Rails, PHP, etc.)

    Leaving portlets out of the picture for a moment, consider the other ALUI integration points: AWS, PWS, CWS and SWS. All of them use SOAP, which is a documented open standard. In fact, in my next blog post (which went up last night), I talk about how I integrated a custom MySQL/Ruby on Rails user store with ALI using a Rails-based SOAP-driven web service to interface with ALI’s user management system. It just doesn’t get any more open than that. At last year’s Participate conference, I demonstrated how you could use the ALI “face” to front WLS applications written to run on the WL message bus and communicating with data stores using DSP, proving that you integrate ALUI products with pretty much anything. I would like to see how a WebCenter consultant or a WLS guy would approach integrating Siebel or PeopleSoft, two products now in the Oracle family.

    I may make many “assertions” (as you call them), but they’re backed up by solid facts. I’m open to continuing this dialog because I want to hear more facts about 1) how you perceive ALUI as a proprietary technology and 2) how WLP and WebCenter claim to support “Web 2.0.”

    Posted by: bucchere on January 20, 2008 at 6:10 PM

  • Out of respect of SEC rules, I won’t touch the Oracle topic. But as for WebLogic Portal (WLP)…2) how WLP … claim to support “Web 2.0.”There are a bunch of features that contribute to the overall Web 2.0 story for WLP. Look at the WLP Groupspace application, for example. Web 2.0 is about publishing social applications that get better the more people use them. Groupspace is such an app. It is first a packaged social app ready to go out of the box, but secondly shows off many of the WLP features in the area of “Web 2.0”.

    Groupspace doc link (community framework, RSS, Groupnotes (think wiki), discussion forums, shared document repository, calendar, contacts, etc, etc).

    Also, read up on Josh Lannin’s blog to see what will be out shortly in terms of WLP and REST, more Ajax, more Portlet Publishing (Google Gadgets, RoR, PHP, etc). Lannin’s WLP futures

    Cheers – PJL

    Posted by: plaird on January 21, 2008 at 8:30 PM

Categories
bdg Plumtree • BEA AquaLogic Interaction • Oracle WebCenter Interaction

More on BEA Participate 2008

BEA executive Jay Simons just posted more details about Participate 2008 on the en.terpri.se blog and, needless to say, all of us here at bdg are very excited about the event.

Last year’s event in Atlanta was a raging success. Over 1000 attendees came to hear BEA employees, customers and partners describe their experiences with AquaLogic User Interaction and AquaLogic BPM. For our part, we had the usual partner/sponsor booth, we gave away a Video iPod and hundreds of fun USB-powered laptop lights. We also presented a very well-received demo showing how to integrate ALI, ALSB and ALDSP.

In 2008 we’re upping the ante. BEA has contracted the development team here at bdg to build a suite of social applications for AquaLogic Interaction (formerly known as the Plumtree Portal) that will allow conference attendees to network with one another on iPod Touches that BEA will be providing at the conference.

(BTW, our applications will run in a normal web browser just like every other ALI-powered application, but they’ll also be optimized for the iPod Touch form factor.)

They’ll be much more info to come on these great ALI-powered applications that we’re building for Participate, so watch this space and my dev2dev blog as well. To give you a little taste, think Facebook tuned for the enterprise with the specific goal of conference social networking in mind. Rich user profiles; mini- and aggregate feeds; user, session and group walls; private messaging/poking; tagging and other popular Facebook-like functionality will all be included.

Imagine this: instead of raising your hand to ask a question, use your WiFi-enabled iPod Touch to post the question on the session’s wall while the session is in progress. Then, at the end of the session, the presenter can pull up the session’s wall on the projector and field the questions. Like the presenter? Ask him or her to be your contact or join one of your groups! Meet an influential C-level executive who’s an expert in SOA governance and want to get to know him better? You can poke him or leave a message on his wall.

Leave your business cards at home — instead use these great bdg built/ALI-powered applications!

This is revolutionary, game-changing stuff. And this is why we’re excited about Participate 2008. We hope you are too.

Categories
bdg dev2dev Plumtree • BEA AquaLogic Interaction • Oracle WebCenter Interaction

Getting Social at BEA Participate 2008

This week BEA launched the Participate 2008 blog and revealed more about their plans for what is shaping up to be a great event. Perhaps the most exciting news is that BEA will be using the conference to unveil a suite of social applications running on a soon-to-be-released version of ALI 6.5 and coded by the developers here at bdg.

Jay Simons writes, in this first post on the Participate blog:

Mobile, social experiment: conference attendees will be provided an iPod Touch (more on this later), and we’re unveiling a suite of applications (built on the soon-to-be-released version of AquaLogic Interaction by partner BDG) that attendees will be able to interact with through the Touch. The applications will be inherently social, allowing you to engage one another directly at the event, in sessions, in hallways, you name it. Social networking, on a mobile device, powered by AquaLogic User Interaction. That’s hot!

Hot is an understatement. Imagine the possibilities. . . .

Instead of raising your hand to ask a question, use your WiFi-enabled iPod Touch to post the question on the session’s wall while the session is in progress. Then, at the end of the session, the presenter can pull up the session’s wall on the projector and field the questions. Like the presenter? Ask him or her to be your contact or join one of your groups! Meet an influential C-level executive who’s an expert in SOA governance and want to get to know him better? You can poke him or leave a message on his wall.

Leave your business cards at home — instead use these great bdg-built/ALI-powered applications!

They’ll be much more info to come on this “social experiment,” so watch this space in the upcoming weeks and months. To give you a little taste, think Facebook tuned for the enterprise with the specific goal of conference social networking in mind. Rich user profiles; mini- and aggregate feeds; user, session and group walls; private messaging/poking; tagging and other popular Facebook-like functionality will all be included.

This is revolutionary, game-changing stuff. And this is why we’re excited about Participate 2008. We hope you are too.

Comments

Comments are listed in date ascending order (oldest first)

  • Sounds like you could start a spinoff company just on this product! I bet it would be a fun (and useful) tool at ANY type of conference! Where can I find out more information about the “social applications running on a soon-to-be-released version of ALI 6.5”. Any sneak peeks? Are these built upon the Pages/Ensemble/Pathways components or are they new standalone features? Will they be included with upgrades or have any additional cost? Any release date projected? Keep up the good work Chris – you guys inspire us all to want to do more!

    Posted by: geoffgarcia on January 17, 2008 at 1:29 PM

  • Hi again Geoff! Thanks for your kind words. After a hard day of slaving away at code that doesn’t work (yet) and then two hours of driving through ice and slush, there’s nothing like coming home from work and finding nice comments on my blog. 🙂

    As for your questions, I don’t want to speak out of turn because BEA at this point is probably limited in what they can (and want) to say about ALUI 6.5. But I will answer them as much as I can in a follow-up post, after I seek BEA’s approval.

    So, long story short, watch this space and there will be much more, including, at some point, screenshots. Of course, if you want to see the The Full Monty, you’ll need to register for the conference.

    Posted by: bucchere on January 17, 2008 at 6:53 PM

Categories
Software Development

Why I. . . .

whyiA couple weeks ago I teamed up with college buddy, recent Kellogg grad and former PayPal/eBay product manager Chris Gregory to design and write a fun little Facebook application called WhyI.

He did the design and product management, my wife Allison did the logo design and I wrote the code. After a few weeks of hacking in Ruby on Rails (using RFacebook) and many hours of Skyping between Chris and Chris, I’m very pleased to announce that we’re done and the application is live on Facebook!

You can use the app to share five-word WhyI “taglines” about your passions on your profile. You can also ask other people to create taglines by asking them “Why do you?” questions.

If you have any questions or feedback on the application, please comment here or send a note to [email protected].

Categories
Feedhaus

Introducing the Feedhaus Newsroom

Team Feedhaus is very pleased to announce the launch of the Feedhaus Newsroom. Powered by feedhaus but integrated seamlessly with meebo, the newsroom gives you a forum to chat with your friends while constantly being updated with the latest news from the hottest tags on feedhaus.

You can recommend stories and tags to your chat buddies and they can do the same to you, which I’m sure will result in some lively discussions!

To access the newsroom, sign into meebo.com using your credentials from AOL, Yahoo!, MSN, GTalk or ICQ and then invite one of your buddies to chat. Witin the chat window, click on the rocket ship. Scroll down to “news & entertainment” and then click on “Feedhaus News.”

This will invite your chat buddy to the newsroom — which works even if your friend isn’t using meebo — enjoy!

Categories
Feedhaus

My Love Affair with Instant Messaging

Do you love instant messaging? I do.

In fact, I remember the first time I used a chat room when my parents signed us up for AppleLink, a BBS (remember those?) that we could access using the modem on my first computer, the ill-fated special “Woz” edition Apple IIGS (remember THOSE?). The year was 1986 and I was in the 5th grade. In 1989, AppleLink was bought by a little-known company called Quantum (by a little-known person named Steve Case), who later rebranded the service as America Online. I remember when the service changed and how excited I was because it meant one thing — even more chat rooms!

In my high school and college days, I would telnet into academic Unix servers and talk to my friends on ytalk and later on PCs using AOL Instant messenger, Yahoo! Messenger, MSN Messenger and GTalk. The only chat service I never got into was ICQ, although I did log in once in a blue moon for a special purpose chat on one topic or another.

So, long story short, I love chat rooms and the whole concept of chatting online. But, circa 2000 or so, all my friends were on different chat networks! At one point, I was running three chat clients on my machine — what a waste of resources. Enter Trillian (and Adium for the Mac, Gaim for Linux, etc.): now I could manage all my buddies in one place.

Then came that fateful day in 2004 when the client site I’ve been visiting since August of 2003 shut down all chat ports and banned Trillian from our desktops.

For the first time in my life, I was a man without a chat room.

Then, in 2005, a new Sequoia-baked web site went into alpha. I immediately jumped in and registered for this new chat room, called meebo, which offered the ability to combine all my buddies and chat across all the networks (like Trillian) but do so under the guise of a normal web site running on port 80. This of course allowed me to bypass the chat port and client software restrictions.

Fast forward to the end of 2007, and meebo now features rooms (how nostalgic) along with an open API, for which various companies have built a plethora of applications ranging from chess to speed dating to video chat.

So why did I just chronicle my love affair with chat in all of its gory detail? And no less, why did I do so on the Feedhaus blog?

Stay tuned, because tomorrow we’re going to announce a very cool new part of feedhaus that will truly change the way people consume news on the internet . . . and how they partake in discussions about current events.

Watch this space — and I promise — you won’t be disappointed!

Categories
Feedhaus

feedhaus sponsors MashMeet Chicago

We’re pleased to announce that we’re sponsoring Chicago’s first MashMeet, an event designed to bring Chicago’s best Web 2.0 startups together for a night of social networking (the in-person variety, not the online kind).

Here are the details:

MashMeet Chicago

7:00 – 10:00 PM, November 29th, 2007
Fulton Lounge, 955 West Fulton Market, Chicago, IL

The event is open to all and no RSVP is required. Hope to see you there!