Perl 6 - the future is here, just unevenly distributed

IRC log for #opentreeoflife, 2014-08-25

| Channels | #opentreeoflife index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
10:09 scrollback joined #opentreeoflife
12:08 josephwb joined #opentreeoflife
12:26 towodo joined #opentreeoflife
12:53 josephwb joined #opentreeoflife
13:10 josephwb joined #opentreeoflife
13:38 josephwb1 joined #opentreeoflife
13:41 josephwb1 joined #opentreeoflife
13:42 kcranstn joined #opentreeoflife
13:42 kcranstn Mornin! Just back from backpacking, and reviewed the OTU mapping UI
14:07 josephwb1 jimallman: just sent you an email
14:08 jimallman answer on the way
14:09 josephwb1 tahnsk
14:09 josephwb1 sorry for misunderstanding
14:11 jimallman no prob, it’s tricky stuff. it helps to know what we’re looking for, and check the .tgz with tar -t
14:14 jimallman kcranstn: thanks for thoughtful feedback! answer on the way..
14:32 kcranstn let’s think about this OTU mapping workflow
14:32 kcranstn the usual first step is to map everything without fuzzy matching, right?
14:33 jimallman kcranstn: :)  i was just thinking about this
14:34 kcranstn re: “In the current UI, this is complicated by tying together two aspects of behavior: quick vs. careful, and bulk vs. single-taxon mapping”
14:34 jimallman yes, it makes sense (assuming you’re looking at a wholly / largely unmapped study) to try an “optimistic” first pass with exact mapping.
14:35 jimallman also agreed that a “fuzzy matching” checkbox would help to communicate this
14:35 jimallman (off by default)
14:35 kcranstn perhaps better to think about this as actions (exact matching, fuzzy matching) and targets (which OTUs are selected)
14:36 kcranstn which is a common UI pattern - checkboxes beside items (OTUs) with a select all option
14:36 kcranstn and then apply-action-to-selected-items
14:36 jimallman interesting! currently the “target” is either a single taxon (obv) or all currently visible, unmapped taxa not marked as “failed”
14:37 jimallman agreed that a Select All button could mimic this behavior
14:37 kcranstn and for a study with no mapped OTUs, we want to make it really easy and obvious to apply exact matching to all taxa
14:38 jimallman agreed
14:38 kcranstn so perhaps auto-select all initially?
14:39 jimallman josephwb1 has been clear that efficiency is the most important thing, so for single-taxon mapping: (1) check a single taxon’s box, and (2) start/resume (auto)mapping seems clunky
14:39 jimallman yes, we can set things up in a “forward-leaning” way whenever they enter the OTU Mapping tab.
14:40 jimallman perhaps the answer is that mapping is always “on”. checking the box for any/all taxa makes them available for immediate mapping.
14:41 jimallman this is kind of the behavior now, auto-mapping is “greedy” and will seek out any available taxon (not mapped, not marked as “failed”) and try to map it.
14:41 kcranstn if we put a map-this-OTU button beside each OTU, then someone has to click each of these separately
14:41 kcranstn option to select only unmapped?
14:41 kcranstn and fuzzy match those?
14:41 jimallman i’m thinking that’s the default behavior (Select All really selects unmapped and not-yet-failed)
14:42 kcranstn default behaviour is that any mapping operation applies to all unmapped OTUs?
14:42 jimallman agreed that we need fuzzy bulk mapping
14:43 jimallman re: default behavior, the current behavior is we’ll try to auto-map any unmapped and not-failed OTU that’s visible in the current list.
14:43 kcranstn and it is the auto-mapping that is the problem
14:43 kcranstn or, more precisely, automatically accepting the proposed mapping
14:44 jimallman any changes to mapping hints (context, regexp, and presumably fuzzy on/off) will reset the “failed” OTUs and start fresh.
14:45 kcranstn that makes sense to me
14:45 jimallman currently, all proposed mappings require user acceptance, either by clicking the [check] next to the single match, or choosing a match from a list of options.
14:46 jimallman i think i see how an always-on, “greedy” mapper could do the job here.
14:46 jimallman with fuzzy on/off and checkboxes, we can easily handle single-taxon mapping without a lot of fuss.
14:47 kcranstn by default, does the “modified for mapping” column always contain the original OTU label?
14:47 jimallman yes
14:47 jimallman no, wait!
14:48 jimallman if a study was previously saved with mapping hints (ex: context = Insects, active regexp to remove strain ids), these will be applied when we re-open this study.
14:48 kcranstn ok
14:48 jimallman so the “modified for mapping” labels would (in this case) not have strain ids.
14:49 kcranstn it seems confusing to have a string in the “modified” columns when there is no different from the original label
14:49 kcranstn no difference
14:49 jimallman i can change that and see how it feels. we will sometimes have a mixed list, where (for example) some OTUs will have strain ids and some not (thus an empty space alongside).
14:50 jimallman but i see how it would reduce confusion and needless “scrutinizing”
14:50 jimallman i think at one time we had a placeholder string there, a faint “no change” or somesuch. not sure why that went away.
14:51 jimallman i can restore something like that on rollover of each row, in case someone is confused
14:52 kcranstn we could just leave it blank if there aren’t any modifications
14:52 jimallman agreed. i’m thinking a generic message on rollover of just this row (we already highlight/dim other buttons etc. on this event)
14:53 josephwb1 who is that jima_komanda person yesterday? hackathon participant?
14:53 jimallman sorry, that was me!
14:53 josephwb1 oh
14:53 josephwb1 were you talking to yourself?!?
14:54 jimallman yes. i was testing a new IRC client (http://komanda.io/) with some nifty GitHub integration.
14:54 towodo this is your jima.  this is your jima on komanda.
14:54 jimallman it’s not quite ready for prime time, but getting close.
14:54 josephwb1 ah. i missed part of the conversation.
14:54 jimallman which one is evil jima? on IRC, nobody can see the goatee
14:55 jimallman : {)>
14:56 jimallman kcranstn: i think this approach to mapping UI is clear enough to try building it on a feature branch.
14:57 kcranstn “this” = what is on devtree, or what we just discused?
14:57 jimallman just discussed
14:58 kcranstn sounds good
14:58 kcranstn I am around all week, so ping me with questions
14:58 jimallman thanks, i’ll bug you if things get weird (but i think this will simplify things without sacrificing power. woot!)
15:00 josephwb1 jimallman: can I push to ot19 without any change to my ssh config?
15:01 josephwb1 i.e. just ,making a new config in deployed-systems/development
15:01 jimallman josephwb1: you’ll need to add an entry just like one of the previous (or rename an old/unused entry)
15:02 towodo I wouldn’t put it in /development.  you can put the config file anywhere you like, but that dir is reserved for a different system
15:02 josephwb1 ok
15:02 josephwb1 where should i put it?
15:02 jimallman agreed. maybe deployed-systems/alt-taxonomy/
15:03 towodo not sure why you need special ssh config?
15:03 towodo I don’t use ssh configs at all.
15:03 towodo I guess you would if you were going to log in, but you shouldn’t need to log in
15:04 jimallman it pre-defines the username and key per server. saves a little time later, but it’s not necessary
15:04 josephwb1 i was referring to "opentree.pem"
15:04 towodo oh. the ssh key is the same as for development
15:04 jimallman oh! that should be the same on all the machines we set up.
15:04 josephwb1 and my config
15:04 towodo (not all machines - not on production)
15:04 * jimallman nods
15:04 josephwb1 *arg!*
15:05 josephwb1 in my config I define host ot10
15:05 jimallman this is ~/.ssh/config ?
15:05 josephwb1 do i need to do something like that for ot19?
15:05 josephwb1 yes
15:05 josephwb1 not sure if it is safe to paste here?
15:05 jimallman it will simplify your push.sh commands somewhat, and easy to do
15:05 towodo that’s fine, you can define ot19 similarly.  it’s not needed for push.sh, but is a convenience if you ever want to log in
15:05 jimallman just copy the entry for ot10 (or rename it to ot19, if it’s no longer used)
15:06 josephwb1 not sure about formatting
15:06 josephwb1 have:
15:06 josephwb1 host something
15:06 jimallman towodo: my bad, i could have sworn this was used by push.sh as well
15:06 josephwb1 spacespacespace paramters
15:07 josephwb1 do i just put a new host on a new line without preceeding spaces?
15:07 josephwb1 same Hostname?
15:07 jimallman each host defines a separate entry, with its own indented lines
15:08 josephwb1 ok, thanks
15:08 jimallman OR you can try adding a second hostname, like “host  ot10  ot19”
15:08 towodo man ssh_config
15:08 jimallman i believe that would work, essentially sharing the properties below
15:08 josephwb1 that sounds much easier
15:08 josephwb1 would man ssh_config, but trying to pay attention to workshot at same time.
15:09 josephwb1 :-#
15:32 josephwb1 jimallman: can i copy the ot10 config, and replace all instances of "ot10" with "ot19"?
15:32 josephwb1 i meant ot10.config
15:33 jimallman try copying from the asterales config, that defines a single box for all webaps and services.
15:33 josephwb1 ok, looking now
15:35 jimallman i’d suggest this for line 11:   OPENTREE_API_HOST=OPENTREE_HOST
15:36 towodo I would comment out anything having to do with the phylesystem-api or curation
15:36 towodo and change the taxomachine/oti host to be devapi.opentreeoflife.org
15:36 jimallman ah yes, good call
15:37 towodo TAXOMACHINE_BASE_URL=//devapi.opentreeoflife.org/taxomachine/v1
15:38 towodo similarly OPENTREE_API and OTI
15:38 towodo remove api, oti, taxomachine from OPENTREE_COMPONENTS list
15:39 jimallman towodo: will we need an oti indexed from the modified treemachine db? i guess not, for just the synth-tree viewer.
15:39 towodo not sure what OPENTREE_API_HOST should be. would need to read the docs
15:39 josephwb1 see more than one instance of "TAXOMACHINE_BASE_URL"
15:40 jimallman the name is outdated, but this refers to the phylesystem-api
15:40 towodo oti isn’t indexed from treemachine in any case
15:40 * jimallman was referring to OPENTREE_API_HOST
15:40 jimallman of course you’re right towodo
15:40 towodo oops. jwb is right, there’s a problem with TAXOMACHINE_BASE_URL.  don’t know how that happened
15:41 towodo my guess is delete the lower XXX_BASE_URL definitions.  let me check doc
15:41 jimallman same with TREEMACHINE_BASE_URL and OTI_BASE_URL
15:41 josephwb1 yes
15:42 jimallman we definitely want the no-scheme URLs, starting “//“
15:42 towodo jimallman, that may be true, but that’s not what the documentation says
15:42 towodo sample.config
15:43 jimallman thanks, i’ll fix that now.
15:43 jimallman in the asterales configuration, this worked because OPENTREE_API_HOST and OPENTREE_NEO4J_HOST are the same box (albeit by different names)
15:43 jimallman truly a fluke
15:43 towodo josephwb1, just delete the lower definitions of XXX_BASE_URL (the ones with http:)
15:44 josephwb1 done
15:44 josephwb1 OPENTREE_API_HOST=OPENTREE_HOST
15:44 josephwb1 OPENTREE_API_BASE_URL=//${OPENTREE_API_HOST}/phylesystem/v1
15:44 josephwb1 TREEMACHINE_BASE_URL=//${OPENTREE_API_HOST}/treemachine/v1
15:44 josephwb1 TAXOMACHINE_BASE_URL=//${OPENTREE_API_HOST}/taxomachine/v1
15:44 josephwb1 OTI_BASE_URL=//${OPENTREE_API_HOST}/oti/v1
15:44 towodo delete the definition of OPENTREE_DOCSTORE
15:45 josephwb1 done
15:45 towodo you changed TAXOMACHINE_BASE_URL to point to devapi, right? and OTI and OPENTREE_API ?
15:46 towodo TAXOMACHINE_BASE_URL=//devapi.opentreeoflife.org/taxomachine/v1
15:46 josephwb1 no
15:46 towodo using devapi instead of ot19 will save you a couple of hours of waiting around
15:46 josephwb1 ok, will do
15:47 josephwb1 just taxomachine?
15:47 josephwb1 OPENTREE_API_HOST=OPENTREE_HOST
15:47 josephwb1 OPENTREE_API_BASE_URL=//${OPENTREE_API_HOST}/phylesystem/v1
15:47 josephwb1 TREEMACHINE_BASE_URL=//${OPENTREE_API_HOST}/treemachine/v1
15:47 josephwb1 TAXOMACHINE_BASE_URL=//devapi.opentreeoflife.org/taxomachine/v1
15:47 josephwb1 OTI_BASE_URL=//${OPENTREE_API_HOST}/oti/v1
15:47 towodo no, all three: taxomachine, oti, and opentree_api
15:48 towodo otherwise you’ll have to set up these services on ot19 and it will take hours
15:49 josephwb1 so, just change "OPENTREE_API_HOST"?
15:49 towodo no, you can’t do that, since treemachine has to run locally
15:50 josephwb1 it is only used for treemachine, taxomachine, oti
15:50 josephwb1 oh, and OPENTREE_API_BASE_URL
15:52 towodo I don’t think anything cares what OPENTREE_API_HOST is.  the important thing is four the four BASE_URL parameters to be defined properly: three go to devapi, one (treemachine) goes locally (ot19)
15:52 josephwb1 OPENTREE_TAG=ot19
15:52 josephwb1 OPENTREE_HOST=ot19.opentreeoflife.org
15:52 josephwb1 OPENTREE_COMPONENTS='opentree api oti taxomachine treemachine'
15:52 josephwb1 OPENTREE_IDENTITY=~/.ssh/opentree/opentree.pem
15:52 josephwb1 OPENTREE_API_HOST=OPENTREE_HOST
15:52 josephwb1 OPENTREE_DEVAPI_HOST=devapi.opentreeoflife.org
15:52 josephwb1 OPENTREE_API_BASE_URL=//${OPENTREE_DEVAPI_HOST}/phylesystem/v1
15:52 josephwb1 TREEMACHINE_BASE_URL=//${OPENTREE_API_HOST}/treemachine/v1
15:52 josephwb1 TAXOMACHINE_BASE_URL=//${OPENTREE_DEVAPI_HOST}/taxomachine/v1
15:52 josephwb1 OTI_BASE_URL=//${OPENTREE_DEVAPI_HOST}/oti/v1
15:53 towodo Shouldn’t matter but please remove api, oti, and taxomachine from the OPENTREE_COMPONENTS list
15:54 towodo that should do the trick
15:54 josephwb1 done
15:54 towodo wait, you need $OPENTREE_HOST, not OPENTREE_HOST
15:54 josephwb1 OPENTREE_COMPONENTS is duplicated too
15:54 towodo OPENTREE_API_HOST=$OPENTREE_HOST
15:55 towodo I don’t see OPENTREE_COMPONENTS duplicated in ot17.config
15:56 josephwb1 ok, something is messed up with mine
16:04 josephwb1 okay, fixed problem, but find duplicate OPENTREE_API_BASE_URL?
16:04 towodo again, delete the lower one
16:04 josephwb1 ok
16:04 towodo the one with the http:
16:04 josephwb1 done
16:07 jimallman you can ignore GITHUB_CLIENT_ID and GITHUB_REDIRECT_URI too, as these are deprecated.
16:07 josephwb1 i pushed the config here: https://github.com/OpenTreeOfLife/deployed-systems/commit/41000906cf47d81d53998c1cee0f53af34a4f73e
16:08 jimallman There are two webapps with separate identities, so we use the newer CURATION_GITHUB_* and TREEVIEW_GITHUB_* variables to keep them separate. You should be able to ignore these if we’re not plannign to login to this site.
16:10 josephwb1 i might as well make this complete, right?
16:11 jimallman the trick is that these variables are used to work with GitHub’s OAuth, and that depends on having a registered app at a specific domain name.
16:11 josephwb1 ok, forget it then
16:12 josephwb1 so, I should be able to do the following?
16:12 towodo there’s no reason to enable curation on this site.
16:13 josephwb1 ./push.sh -c ot19.config pushdb /some_path/some_name.db.tgz treemachine
16:13 josephwb1 (tarred correctly, of course))
16:14 towodo yes, that is part of what you will need to do.  if I were you I’d install the browser and the treemachine plugin first
16:15 towodo installing treemachine will also install neo4j, which will pave the way for uploading the database
16:15 josephwb1 how do i do that?
16:16 josephwb1 ./push.sh -c {configfile} treemachine
16:16 josephwb1 ./push.sh -c {configfile} push-api
16:16 josephwb1 yes?
16:16 towodo no.  you really don’t want the api.
16:16 towodo ./push.sh -c {configfile} treemachine
16:16 josephwb1 oh, what is the browser then?
16:17 towodo that will install neo4j and treemachine.
16:17 josephwb1 ok
16:17 towodo the browser is called ‘opentree’
16:17 towodo ./push.sh -c {configfile} opentree
16:17 jimallman (that’s both webapps, but you can/should ignore curation)
16:17 josephwb1 ./push.sh -c {configfile} opentree
16:17 josephwb1 ./push.sh -c {configfile} treemachine
16:17 jimallman we can disable curation on this machine, if we want to avoid user confusion
16:18 josephwb1 ./push.sh -c ot19.config pushdb /some_path/some_name.db.tgz treemachine
16:18 towodo that looks right
16:18 josephwb1 ok, thanks for the help
16:22 josephwb joined #opentreeoflife
16:23 josephwb joined #opentreeoflife
16:29 josephwb jimallman: running into problems
16:29 josephwb cd opentree/deploy
16:30 josephwb ./push.sh ../../deployed-systems/mls/ot19.config opentree
16:30 josephwb get error:
16:30 josephwb ./push.sh: 19: ./push.sh: function: not found
16:30 josephwb Error: ../../deployed-systems/mls/ot19.config opentree
16:31 josephwb same error with treemachine
16:33 josephwb arg. forgot the -c
16:34 josephwb *trying again*
16:34 josephwb nope, still get the error:
16:34 josephwb ./push.sh -c ../../deployed-systems/mls/ot19.config opentree
16:34 josephwb ./push.sh: 19: ./push.sh: function: not found
16:34 josephwb Error: -c ../../deployed-systems/mls/ot19.config opentree
16:36 josephwb you there jimallman?
16:36 josephwb is anyone seeing this? afraid of network problems.
16:37 towodo i was eating lunch
16:37 kcranstn I am seeing it, but can’t be of much help
16:37 josephwb ok, i am getting through
16:37 * jimallman is back now, catching up
16:37 towodo are you using bash?
16:37 josephwb maybe something wrong with the ot19.config?
16:37 josephwb yes
16:37 josephwb yesm bash
16:38 josephwb huh. specifying bash made it work...
16:38 towodo “function: not found” sounds to me like it’s not bash
16:38 josephwb but i *am* using bash
16:39 towodo hmm.  top of push.sh says “/bin/sh”
16:39 towodo which seems wrong to me.
16:39 josephwb josephwb@WOPR:~$ echo $SHELL
16:39 josephwb /bin/bash
16:40 towodo I think it’s a bug in push.sh.  continue saying ‘bash push.sh’
16:40 josephwb ok
16:40 josephwb weird, tho
16:40 jimallman you might try    /bin/sh --version
16:40 towodo the problem is there’s no portable way to specify that push.sh is to be interpreted using bash, since bash is in different places on different systems
16:40 josephwb i usually put this in scrtips:
16:40 josephwb #!/bin/bash
16:41 towodo that will work most places, but not on some versions of unix
16:41 towodo i’ll change push.sh to say /bin/bash instead of /bin/sh
16:42 josephwb "In Ubuntu /bin/sh used to link to bash, typical behavior on Linux distributions, but now has changed to linking to https://wiki.ubuntu.com/DashAsBinSh"
16:43 josephwb seems like "bash" is the safer option
16:43 josephwb regardless, thanks for identifying the problem
16:45 towodo ok, fixed, tested, & pushed. sorry for the glitch
16:46 josephwb getting some errors, but maybe can ignore?
16:46 josephwb for example:
16:46 josephwb Syntax error on line 62 of /etc/apache2/sites-enabled/000-opentree:
16:46 josephwb SSLCertificateFile: file '/etc/ssl/certs/opentree/STAR_opentreeoflife_org.crt' does not exist or is empty
16:46 josephwb Action 'graceful' failed.
16:46 josephwb The Apache error log may have more information
16:47 josephwb that was for "opentree"
16:47 josephwb *brb. tea.*
16:51 jimallman josephwb: looks like we need to put the SSL certificates onto ot19. i can probably get this done during the call, if not before
16:52 josephwb ok, thanks
16:52 josephwb so, will i have to redo things?
16:52 josephwb i haven't copied over the DB yet
16:57 jimallman no, i’ll just upload certs then we can restart apache
16:57 jimallman no need to redo anything else
16:57 josephwb ok
16:57 josephwb i will start the DB upload then
16:59 josephwb *going*
17:03 josephwb *extracting*
17:04 josephwb jimallman: just checking, but name mapping on production is still the same, yes?
17:04 jimallman yes, we haven’t pushed the latest there yet
17:04 josephwb ok
17:05 jimallman so it will still have the problem of failed “quick mapping” if multiple hits are returned (since we don’t have the UI there yet to let ‘em choose)
17:05 josephwb right
17:05 jimallman hopefully this is not common, probably only for synonyms
17:05 josephwb all my trees are well-groomed, so i only need exact matching
17:05 josephwb within the context
17:06 josephwb woo-hoo
17:06 josephwb DB is over there
17:06 josephwb that was faster than i thought
17:06 jimallman oh, right. watch out for context. if a quick mapping fails, try it again from context “All life”
17:06 jimallman (this should avoid the duplicate matches)
17:07 josephwb again, i am afraid of matching typos for groups that i am not familiar with
17:08 jimallman conf call is starting now, so i’ll be moving slow for awhile
17:08 josephwb e.g. typo matches a taxon in some distant group
17:08 josephwb ok
17:08 josephwb me too
17:11 josephwb It works! http://ot19.opentreeoflife.org
17:17 jimallman odd
17:17 jimallman how is this starting, despite the missing SSL certs?
17:20 josephwb joined #opentreeoflife
17:21 josephwb1 joined #opentreeoflife
18:03 josephwb joined #opentreeoflife
18:03 jimallman josephwb: we’re wrapping up the call in a few, will move those certs right after. (this is brain-consuming)
18:04 josephwb great
18:13 towodo I don’t think you want ssl certs…
18:13 towodo the app should run fine without them
18:13 towodo and no one will need to log in, right? or is it that we want comments to work?
18:14 josephwb i don't think we want to bother with comments in the system
18:15 towodo if that’s the case, there’s no reason to have certs.
18:15 josephwb unless it is easy
18:15 towodo there may be a bug where the system doesn’t come up unless the cert is there
18:16 towodo in which case, you can either get the cert, or wait for the bug to get fixed
18:16 towodo i’ll look
18:18 towodo yep. it wrongly depends on certs
18:18 towodo i’ll file an issue.
18:23 towodo jimallman, https://github.com/OpenTreeOfLife/opentree/issues/409
18:24 jimallman OK, i’ll try checking for the certs before adding the apache SSL config. this is part of the more general “oh god why d we need all this stuff?” issue
18:26 towodo for me it’s about lowering the barrier to entry, and a necessary step on the way to well-mannered local or VM builds, CI, etc.
18:26 kcranstn yes
18:30 jimallman understood. fix on the way…
18:32 jimallman josephwb: if your server-config file is up-to-date on GitHub, I can test this from here
18:33 josephwb yup
18:38 jimallman OK, it’s working now. i’ve pushed the change to the master branch of opentree. it actively disables ssl if the STAR_opentreeoflife.crt cert is not found
18:39 josephwb wee! good work jimallman.
18:39 * jimallman had to push again
18:40 jimallman i’ll do more such fixes tonight..
18:40 towodo I was puzzled by your use of the sites-available directory. ‘opentree-config-shared’ is not a site…
18:41 jimallman i can move that, but having such a file avoids tons of duplication between SSL and non-SSL site definitions
18:41 towodo but why would apache even look at that file? it’s a very odd location for a subroutine
18:42 towodo it doesn’t read every file in the sites-available directory
18:43 towodo oh I see, there’s an Include
18:43 jimallman right, it’s included from both the “normal” vhosts. i could not find a more elegant way to do this.
18:44 towodo that means you get to decide where to put it.  I would just put it in /etc/apache2, or create a subdir of /etc/apache2
18:45 jimallman the name is clear enough (opentree-config-shared), so i’ll move this to /etc/apache2
18:45 towodo thanks
18:45 towodo omg the MSIE conditionalization is horrible
18:48 jimallman i will confess to voodoo copy+paste on that, from apache2 boilerplate ./sites-available/default-ssl
18:53 towodo understood.  I found this though: “You should probably remove this hack altogether. The ancient Internet Explorer 6’s marketshare is in decline, and there’s almost never any business reason to try to accommodate even older browsers. “
18:54 jimallman IE6 is certainly not in our target audience.
19:12 jimallman left #opentreeoflife
19:48 jimallman joined #opentreeoflife
19:56 kcranstn joined #opentreeoflife
21:58 towodo_ joined #opentreeoflife

| Channels | #opentreeoflife index | Today | | Search | Google Search | Plain-Text | summary