From me at heyjay.com Wed Mar 16 09:31:10 2011 From: me at heyjay.com (Jay Strauss) Date: Wed, 16 Mar 2011 11:31:10 -0500 Subject: [Chicago-talk] Building a hierarchy Message-ID: Hi, I need to build a hierarchy out of some data to load into a RDBMS. The data looks like below. I need to convert it to more like: code, desc, parent_code (where code is like "193200000X") I'm struggling. I think I could do this in a rigid manner by saying I have 4 indexes or levels: upper case roman lower case alpha lower case roman numeric and keeping track where I am, and I the parent one level above. I'd like to do it flexibly, without having to know how many levels in advance (I get similarly structured data with # of levels and info from time to time). But I don't know: 1) whats the best structure for this (I'm thinking an array of arrays) 2) how to traverse the array without knowing my indexes, i.e. go one level up, go one level down Can anyone suggest ways to skin this cat? Thanks Jay I. Individual or Groups (of Individuals) a. Group i. Multi-Specialty - 193200000X ii. Single Specialty - 193400000X b. Allopathic & Osteopathic Physicians i. Allergy & Immunology - 207K00000X 1. Allergy - 207KA0200X 2. Clinical & Laboratory Immunology - 207KI0005X ii. Anesthesiology - 207L00000X 1. Addiction Medicine - 207LA0401X 2. Critical Care Medicine - 207LC0200X 3. Hospice and Palliative Medicine - 207LH0002X 4. Pain Medicine - 207LP2900X 5. Pediatric Anesthesiology - 207LP3000X iii. Clinical Pharmacology - 208U00000X iv. Colon & Rectal Surgery - 208C00000X v. Dermatology - 207N00000X 1. Clinical & Laboratory Dermatological Immunology - 207NI0002X 2. Dermatopathology - 207ND0900X 3. MOHS-Micrographic Surgery - 207ND0101X 4. Pediatric Dermatology - 207NP0225X 5. Procedural Dermatology - 207NS0135X vi. Electrodiagnostic Medicine - 204R00000X vii. Emergency Medicine - 207P00000X -------------- next part -------------- An HTML attachment was scrubbed... URL: From davidy at nationalcycle.com Wed Mar 16 09:48:12 2011 From: davidy at nationalcycle.com (David Young) Date: Wed, 16 Mar 2011 11:48:12 -0500 Subject: [Chicago-talk] Building a hierarchy In-Reply-To: References: Message-ID: >> 2) how to traverse the array without knowing my indexes, i.e. go one level up, go one level down Should be pretty easy to implement using recursion. If you come across a new line and it's a different "type" of prefix, recurse down if it looks like a lower level (a simple conditional or regex test), otherwise "return" to the previous level and let that level continue walking the hierarchy. ydy *David J. Young* IT Director * National Cycle, Inc.* *office +1-*708-343-0400 x103 davidy at nationalcycle.com On Wed, Mar 16, 2011 at 11:31 AM, Jay Strauss wrote: > Hi, > > I need to build a hierarchy out of some data to load into a RDBMS. The > data looks like below. I need to convert it to more like: > > code, desc, parent_code > > (where code is like "193200000X") > > I'm struggling. > > I think I could do this in a rigid manner by saying I have 4 indexes or > levels: > upper case roman > lower case alpha > lower case roman > numeric > > and keeping track where I am, and I the parent one level above. > > I'd like to do it flexibly, without having to know how many levels in > advance (I get similarly structured data with # of levels and info from time > to time). > > But I don't know: > > 1) whats the best structure for this (I'm thinking an array of arrays) > 2) how to traverse the array without knowing my indexes, i.e. go one level > up, go one level down > > Can anyone suggest ways to skin this cat? > > Thanks > Jay > > > I. Individual or Groups (of Individuals) > a. Group > i. Multi-Specialty - 193200000X > ii. Single Specialty - 193400000X > b. Allopathic & Osteopathic Physicians > i. Allergy & Immunology - 207K00000X > 1. Allergy - 207KA0200X > 2. Clinical & Laboratory Immunology - 207KI0005X > ii. Anesthesiology - 207L00000X > 1. Addiction Medicine - 207LA0401X > 2. Critical Care Medicine - 207LC0200X > 3. Hospice and Palliative Medicine - 207LH0002X > 4. Pain Medicine - 207LP2900X > 5. Pediatric Anesthesiology - 207LP3000X > iii. Clinical Pharmacology - 208U00000X > iv. Colon & Rectal Surgery - 208C00000X > v. Dermatology - 207N00000X > 1. Clinical & Laboratory Dermatological Immunology - 207NI0002X > 2. Dermatopathology - 207ND0900X > 3. MOHS-Micrographic Surgery - 207ND0101X > 4. Pediatric Dermatology - 207NP0225X > 5. Procedural Dermatology - 207NS0135X > vi. Electrodiagnostic Medicine - 204R00000X > vii. Emergency Medicine - 207P00000X > > _______________________________________________ > Chicago-talk mailing list > Chicago-talk at pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk > -------------- next part -------------- An HTML attachment was scrubbed... URL: From frag at ripco.com Wed Mar 16 09:53:28 2011 From: frag at ripco.com (Mike Fragassi) Date: Wed, 16 Mar 2011 11:53:28 -0500 (CDT) Subject: [Chicago-talk] Building a hierarchy In-Reply-To: References: Message-ID: Give Tree::DAG_Node a look. use Tree::DAG_Node; my $root = Tree::DAG_Node->new(); $root->name("I'm the tops"); my $new_daughter = $root->new_daughter; $new_daughter->name("More"); It includes accessor methods 'mother' and 'daughters', etc. From me at heyjay.com Wed Mar 16 10:06:39 2011 From: me at heyjay.com (Jay Strauss) Date: Wed, 16 Mar 2011 12:06:39 -0500 Subject: [Chicago-talk] Building a hierarchy In-Reply-To: References: Message-ID: Thanks On Wed, Mar 16, 2011 at 11:53 AM, Mike Fragassi wrote: > > Give Tree::DAG_Node a look. > > use Tree::DAG_Node; > my $root = Tree::DAG_Node->new(); > $root->name("I'm the tops"); > my $new_daughter = $root->new_daughter; > $new_daughter->name("More"); > > It includes accessor methods 'mother' and 'daughters', etc. > > _______________________________________________ > Chicago-talk mailing list > Chicago-talk at pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk > -------------- next part -------------- An HTML attachment was scrubbed... URL: From me at heyjay.com Wed Mar 16 10:16:35 2011 From: me at heyjay.com (Jay Strauss) Date: Wed, 16 Mar 2011 12:16:35 -0500 Subject: [Chicago-talk] Building a hierarchy In-Reply-To: References: Message-ID: I guess I'm fumbling around for a good way to determine if I'm at a higher or lower level. The best I can come up with is to test each type and assign a number like: $level; if ($index == "upper roman") { $level = 0} elsif ($index == "lower alpha") {level = 1} elsif ($index == "lower roman" {$level = 2} else ($index == "decimal" {$level = 3} Then do math against the previous level i.e. $current_level - $previous_level negative = move up to parent (n times) equal = sibling positive = child to determine how to either recurse or how many calls to Tree::DAG_Node It just seems brittle On Wed, Mar 16, 2011 at 11:48 AM, David Young wrote: > >> 2) how to traverse the array without knowing my indexes, i.e. go one > level up, go one level down > > Should be pretty easy to implement using recursion. If you come across a > new line and it's a different "type" of prefix, recurse down if it looks > like a lower level (a simple conditional or regex test), otherwise "return" > to the previous level and let that level continue walking the hierarchy. > > ydy > > *David J. Young* > IT Director > * National Cycle, Inc.* > *office +1-*708-343-0400 x103 > davidy at nationalcycle.com > > > > On Wed, Mar 16, 2011 at 11:31 AM, Jay Strauss wrote: > >> Hi, >> >> I need to build a hierarchy out of some data to load into a RDBMS. The >> data looks like below. I need to convert it to more like: >> >> code, desc, parent_code >> >> (where code is like "193200000X") >> >> I'm struggling. >> >> I think I could do this in a rigid manner by saying I have 4 indexes or >> levels: >> upper case roman >> lower case alpha >> lower case roman >> numeric >> >> and keeping track where I am, and I the parent one level above. >> >> I'd like to do it flexibly, without having to know how many levels in >> advance (I get similarly structured data with # of levels and info from time >> to time). >> >> But I don't know: >> >> 1) whats the best structure for this (I'm thinking an array of arrays) >> 2) how to traverse the array without knowing my indexes, i.e. go one level >> up, go one level down >> >> Can anyone suggest ways to skin this cat? >> >> Thanks >> Jay >> >> >> I. Individual or Groups (of Individuals) >> a. Group >> i. Multi-Specialty - 193200000X >> ii. Single Specialty - 193400000X >> b. Allopathic & Osteopathic Physicians >> i. Allergy & Immunology - 207K00000X >> 1. Allergy - 207KA0200X >> 2. Clinical & Laboratory Immunology - 207KI0005X >> ii. Anesthesiology - 207L00000X >> 1. Addiction Medicine - 207LA0401X >> 2. Critical Care Medicine - 207LC0200X >> 3. Hospice and Palliative Medicine - 207LH0002X >> 4. Pain Medicine - 207LP2900X >> 5. Pediatric Anesthesiology - 207LP3000X >> iii. Clinical Pharmacology - 208U00000X >> iv. Colon & Rectal Surgery - 208C00000X >> v. Dermatology - 207N00000X >> 1. Clinical & Laboratory Dermatological Immunology - 207NI0002X >> 2. Dermatopathology - 207ND0900X >> 3. MOHS-Micrographic Surgery - 207ND0101X >> 4. Pediatric Dermatology - 207NP0225X >> 5. Procedural Dermatology - 207NS0135X >> vi. Electrodiagnostic Medicine - 204R00000X >> vii. Emergency Medicine - 207P00000X >> >> _______________________________________________ >> Chicago-talk mailing list >> Chicago-talk at pm.org >> http://mail.pm.org/mailman/listinfo/chicago-talk >> > > > _______________________________________________ > Chicago-talk mailing list > Chicago-talk at pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk > -------------- next part -------------- An HTML attachment was scrubbed... URL: From briank at kappacs.com Wed Mar 16 18:31:07 2011 From: briank at kappacs.com (Brian Katzung) Date: Wed, 16 Mar 2011 20:31:07 -0500 Subject: [Chicago-talk] Building a hierarchy In-Reply-To: References: Message-ID: <4D81645B.6040302@kappacs.com> I would try very hard to find an alternative source data format (perhaps with level-dependent indentation?) if at all possible before spending a lot of time trying to parse this one because it's ambiguous. Consider an item on line "i." after an item on line "h.". Depending on the type of the subsequent line, you may ("ii.") or may not ("V.") be able to determine what type of line the "i." item is. - Brian On 2011-03-16 11:31, Jay Strauss wrote: > Hi, > > I need to build a hierarchy out of some data to load into a RDBMS. > The data looks like below. I need to convert it to more like: > > code, desc, parent_code > > (where code is like "193200000X") > > I'm struggling. > > I think I could do this in a rigid manner by saying I have 4 indexes > or levels: > upper case roman > lower case alpha > lower case roman > numeric > > and keeping track where I am, and I the parent one level above. > > I'd like to do it flexibly, without having to know how many levels in > advance (I get similarly structured data with # of levels and info > from time to time). > > But I don't know: > > 1) whats the best structure for this (I'm thinking an array of arrays) > 2) how to traverse the array without knowing my indexes, i.e. go one > level up, go one level down > > Can anyone suggest ways to skin this cat? > > Thanks > Jay > > > I.Individual or Groups (of Individuals) > a.Group > i.Multi-Specialty - 193200000X > ii.Single Specialty - 193400000X > b.Allopathic & Osteopathic Physicians > i.Allergy & Immunology - 207K00000X > 1.Allergy - 207KA0200X > 2.Clinical & Laboratory Immunology - 207KI0005X > ii.Anesthesiology - 207L00000X > 1.Addiction Medicine - 207LA0401X > 2.Critical Care Medicine - 207LC0200X > 3.Hospice and Palliative Medicine - 207LH0002X > 4.Pain Medicine - 207LP2900X > 5.Pediatric Anesthesiology - 207LP3000X > iii.Clinical Pharmacology - 208U00000X > iv.Colon & Rectal Surgery - 208C00000X > v.Dermatology - 207N00000X > 1.Clinical & Laboratory Dermatological Immunology - 207NI0002X > 2.Dermatopathology - 207ND0900X > 3.MOHS-Micrographic Surgery - 207ND0101X > 4.Pediatric Dermatology - 207NP0225X > 5.Procedural Dermatology - 207NS0135X > vi.Electrodiagnostic Medicine - 204R00000X > vii.Emergency Medicine - 207P00000X > > > _______________________________________________ > Chicago-talk mailing list > Chicago-talk at pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk -- Brian Katzung, Kappa Computer Solutions, LLC Leveraging UNIX, GNU/Linux, open source, and custom software solutions for business and beyond Phone: 877.367.8837 x1 http://www.kappacs.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From me at heyjay.com Sat Mar 19 07:00:04 2011 From: me at heyjay.com (Jay Strauss) Date: Sat, 19 Mar 2011 09:00:04 -0500 Subject: [Chicago-talk] Building a hierarchy In-Reply-To: <4D81645B.6040302@kappacs.com> References: <4D81645B.6040302@kappacs.com> Message-ID: Hi sorry for the delay. I know everyone is hanging on this thread with baited breath. I was trying to parse the data on: http://www.wpc-edi.com/codes/taxonomy I initially cut/paste into word to change the hierarchy, so I can probably reformat into something without the potential of dupes. I looked at the source of the webpage. Maybe there is a way I can parse the page directly for the hierarchy. Thanks Jay On Wed, Mar 16, 2011 at 8:31 PM, Brian Katzung wrote: > I would try very hard to find an alternative source data format (perhaps > with level-dependent indentation?) if at all possible before spending a lot > of time trying to parse this one because it's ambiguous. > > Consider an item on line "i." after an item on line "h.". Depending on the > type of the subsequent line, you may ("ii.") or may not ("V.") be able to > determine what type of line the "i." item is. > > - Brian > > > On 2011-03-16 11:31, Jay Strauss wrote: > > Hi, > > I need to build a hierarchy out of some data to load into a RDBMS. The > data looks like below. I need to convert it to more like: > > code, desc, parent_code > > (where code is like "193200000X") > > I'm struggling. > > I think I could do this in a rigid manner by saying I have 4 indexes or > levels: > upper case roman > lower case alpha > lower case roman > numeric > > and keeping track where I am, and I the parent one level above. > > I'd like to do it flexibly, without having to know how many levels in > advance (I get similarly structured data with # of levels and info from time > to time). > > But I don't know: > > 1) whats the best structure for this (I'm thinking an array of arrays) > 2) how to traverse the array without knowing my indexes, i.e. go one level > up, go one level down > > Can anyone suggest ways to skin this cat? > > Thanks > Jay > > > I. Individual or Groups (of Individuals) > a. Group > i. Multi-Specialty - 193200000X > ii. Single Specialty - 193400000X > b. Allopathic & Osteopathic Physicians > i. Allergy & Immunology - 207K00000X > 1. Allergy - 207KA0200X > 2. Clinical & Laboratory Immunology - 207KI0005X > ii. Anesthesiology - 207L00000X > 1. Addiction Medicine - 207LA0401X > 2. Critical Care Medicine - 207LC0200X > 3. Hospice and Palliative Medicine - 207LH0002X > 4. Pain Medicine - 207LP2900X > 5. Pediatric Anesthesiology - 207LP3000X > iii. Clinical Pharmacology - 208U00000X > iv. Colon & Rectal Surgery - 208C00000X > v. Dermatology - 207N00000X > 1. Clinical & Laboratory Dermatological Immunology - 207NI0002X > 2. Dermatopathology - 207ND0900X > 3. MOHS-Micrographic Surgery - 207ND0101X > 4. Pediatric Dermatology - 207NP0225X > 5. Procedural Dermatology - 207NS0135X > vi. Electrodiagnostic Medicine - 204R00000X > vii. Emergency Medicine - 207P00000X > > > _______________________________________________ > Chicago-talk mailing list > Chicago-talk at pm.orghttp://mail.pm.org/mailman/listinfo/chicago-talk > > > -- > Brian Katzung, Kappa Computer Solutions, LLC > Leveraging UNIX, GNU/Linux, open source, and custom > software solutions for business and beyond > Phone: 877.367.8837 x1 http://www.kappacs.com > > > _______________________________________________ > Chicago-talk mailing list > Chicago-talk at pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk > -------------- next part -------------- An HTML attachment was scrubbed... URL: From briank at kappacs.com Sat Mar 19 07:42:11 2011 From: briank at kappacs.com (Brian Katzung) Date: Sat, 19 Mar 2011 09:42:11 -0500 Subject: [Chicago-talk] Building a hierarchy In-Reply-To: References: <4D81645B.6040302@kappacs.com> Message-ID: <4D84C0C3.7020506@kappacs.com> Yes, I would probably parse UL#foldinglist (all of them! I guess the author doesn't quite understand the id attribute) from http://codelists.wpc-edi.com/wpc_taxonomy.asp. - Brian On 2011-03-19 09:00, Jay Strauss wrote: > Hi sorry for the delay. I know everyone is hanging on this thread > with baited breath. > > I was trying to parse the data on: http://www.wpc-edi.com/codes/taxonomy > > I initially cut/paste into word to change the hierarchy, so I can > probably reformat into something without the potential of dupes. I > looked at the source of the webpage. Maybe there is a way I can parse > the page directly for the hierarchy. > > Thanks > Jay > > On Wed, Mar 16, 2011 at 8:31 PM, Brian Katzung > wrote: > > I would try very hard to find an alternative source data format > (perhaps with level-dependent indentation?) if at all possible > before spending a lot of time trying to parse this one because > it's ambiguous. > > Consider an item on line "i." after an item on line "h.". > Depending on the type of the subsequent line, you may ("ii.") or > may not ("V.") be able to determine what type of line the "i." > item is. > > - Brian > > > On 2011-03-16 11:31, Jay Strauss wrote: >> Hi, >> >> I need to build a hierarchy out of some data to load into a >> RDBMS. The data looks like below. I need to convert it to more >> like: >> >> code, desc, parent_code >> >> (where code is like "193200000X") >> >> I'm struggling. >> >> I think I could do this in a rigid manner by saying I have 4 >> indexes or levels: >> upper case roman >> lower case alpha >> lower case roman >> numeric >> >> and keeping track where I am, and I the parent one level above. >> >> I'd like to do it flexibly, without having to know how many >> levels in advance (I get similarly structured data with # of >> levels and info from time to time). >> >> But I don't know: >> >> 1) whats the best structure for this (I'm thinking an array of >> arrays) >> 2) how to traverse the array without knowing my indexes, i.e. go >> one level up, go one level down >> >> Can anyone suggest ways to skin this cat? >> >> Thanks >> Jay >> >> >> I.Individual or Groups (of Individuals) >> a.Group >> i.Multi-Specialty - 193200000X >> ii. >> Single Specialty - 193400000X >> b.Allopathic & Osteopathic Physicians >> i.Allergy & Immunology - 207K00000X >> 1.Allergy - 207KA0200X >> 2.Clinical & Laboratory Immunology - 207KI0005X >> ii.Anesthesiology - 207L00000X >> 1.Addiction Medicine - 207LA0401X >> 2.Critical Care Medicine - 207LC0200X >> 3.Hospice and Palliative Medicine - 207LH0002X >> 4.Pain Medicine - 207LP2900X >> 5.Pediatric Anesthesiology - 207LP3000X >> iii. >> Clinical Pharmacology - 208U00000X >> iv.Colon & Rectal Surgery - 208C00000X >> v.Dermatology - 207N00000X >> 1.Clinical & Laboratory Dermatological Immunology - 207NI0002X >> 2.Dermatopathology - 207ND0900X >> 3.MOHS-Micrographic Surgery - 207ND0101X >> 4.Pediatric Dermatology - 207NP0225X >> 5.Procedural Dermatology - 207NS0135X >> vi. >> Electrodiagnostic Medicine - 204R00000X >> vii. >> Emergency Medicine - 207P00000X >> >> >> _______________________________________________ >> Chicago-talk mailing list >> Chicago-talk at pm.org >> http://mail.pm.org/mailman/listinfo/chicago-talk > > -- > Brian Katzung, Kappa Computer Solutions, LLC > Leveraging UNIX, GNU/Linux, open source, and custom > software solutions for business and beyond > Phone: 877.367.8837 x1http://www.kappacs.com > > > _______________________________________________ > Chicago-talk mailing list > Chicago-talk at pm.org > http://mail.pm.org/mailman/listinfo/chicago-talk > > -- Brian Katzung, Kappa Computer Solutions, LLC Leveraging UNIX, GNU/Linux, open source, and custom software solutions for business and beyond Phone: 877.367.8837 x1 http://www.kappacs.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From eviljoel at linux.com Wed Mar 30 19:53:44 2011 From: eviljoel at linux.com (eviljoel) Date: Wed, 30 Mar 2011 22:53:44 -0400 Subject: [Chicago-talk] Flourish Conference 2011 - April 1-3 - Chicago, IL Message-ID: Greetings, Many of you will probably be interested in the Flourish FREE open source conference we are holding this weekend. Please see the following for details. Thanks, Joel Luellwitz Flourish Conference 2011 - April 1-3 - Chicago, IL Flourish is a FREE conference hosted by the University of Illinois at Chicago Association for Computing Machinery (UIC-ACM) and the University of Illinois at Chicago Linux User Group (UIC-LUG). The goal of Flourish is to promote Free and Open Source Software and Open Culture. We have a variety of talks, sprints and other activities that you can participate in. Check out our website at http://www.flourishconf.com/. Dates and Venue: April 1st through 3rd at the University of Illinois at Chicago. More information about the venue is available here: http://www.flourishconf.com/2011/directions/. Our schedule is posted here: http://www.flourishconf.com/2011/schedule/. Highlights from our Speaker Line-up: We have an exceptional lineup of speakers this year: - Ryan "Icculus" Gordon - Will talk about Gaming on Linux - Italo Vignoli - Founder & Steering Committee member of The Document Foundation (LibreOffice) - Chris Palmer - From the Electronic Fronter Foundation - Mitch Altman - A famous open source hardware hacker and creator of the TV-B-Gone. - Chris McAvoy - VP of technology at Threadless and founder of the Chicago Python Users Group - Gregory Miller - From Open Source Digital Voting More speakers are listed on our website here: http://www.flourishconf.com/2011/speakers/. Panel Discussion: For our panel discussion this year, four of our top speakers will discuss the challenges for Open Source Software going forward. Our panel discussion is typically one of our better events and is one you will not want to miss. Lightning Talks: Got something to say? We'll give you five minutes to do it. The Flourish Lightning Talks is an hour set aside for our attendees to tell us about whatever they want. But you only have have 5 minutes to do it before we give the floor to someone else. Python Sprint: Flourish has teamed up with the Python Software Foundation (PSF) to host an official PSF sponsored Python Sprint! By participating in the Flourish Python Sprint, you'll have an opportunity to contribute to the Python language itself or to one of its popular frameworks. More information about the Python Sprint is available at http://www.flourishconf.com/2011/pythonsprint/. BSDA and LPI Exams: You will have the opportunity to take the BSDA or the LPI exams at Flourish. The LPI exam is being offered at a discounted rate. More information is available at http://www.flourishconf.com/2011/exams/. Ubuntu Global Jam: If the Python Sprint isn't your thing, consider participating in the Ubuntu Global Jam. Flourish 2011 is proud to provide the venue for Ubuntu Chicago's Ubuntu Global Jam! Please see http://www.flourishconf.com/2011/ubuntuglobaljam for more information. Flourish Mini-expo: Tables will be setup showcasing various open source related companies and non-profit organizations. Non-profit organizations can get an expo table for free. See our website for more information. After Party: After a long day of attending talks and coding at the Python Sprint, take a break at the Flourish After-party. The party will be held on Saturday, April 2nd at 7:00 PM. Separate registration is required on Eventbrite. More information is available at http://www.flourishconf.com/2011/afterparty/. Registration is Open: Registration is now open! You can register at http://www.flourishconf.com/2011/registration/. Registration and attendance is FREE! Flourish and Social Media: Flourish is on Facebook (http://www.facebook.com/flourishconf) and Twitter (http://twitter.com/flourishconf). If you are attending, please let other's know via the Facebook event page (http://tinyurl.com/45goqub). (Stating intentions of attendance on Facebook is NOT a substitute for registering on our website.) Thanks to our Sponsors: The Flourish Team would like to thank our sponsors: UIC SAFC, Orbitz, Linux Journal, Source Forge and Threadless.