Giter Club home page Giter Club logo

oolong's People

Contributors

chainsawriot avatar msaeltzer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

oolong's Issues

Keep docvars in Gold Standard Test

I think it would be useful to keep quanteda docvars that are already stored in a corpus in the gold_stadata, so it is easier to compare gold standard to already implemented variables. Gives more flexibility to workflows. Simply adding a docvars=T argument and conditioning it on quanteda corpus class would be sufficient...

Refactoring: organization of files

Previous refactoring (#18) has separated the logics for each topic model into its individual S3 method e.g. .extract_ingredients.input_model_s3_topicmodels. It would be better to extract them from oolong_tm.R and make them individual files, e.g. oolong_stm.R, so that if the support for stm doesn't work, we can know where to look and simply work on the oolong_stm.R file.

summarise_oolong() always sets target_value = NULL

First: thanks for the amazing package!

I just ran across a bug when using summarise_oolong() instead of summarize_oolong() for gold standard tests, as it will return an error, regardless if target values were passed or not:

summarise_oolong(gs_test, target_value = 1:20)
New names:
* NA -> ...1
Warning in .summarize_oolong_gs(..., target_value = target_value) :
  target_value is NULL, only the reliability of the answers from the coder(s) are studied.

This is because in lines 95-97 of oolong_summary.R, where the synonymous function is defined, the value of target_value is not passed to the actual function summarize_oolong(), but set to NULL in said function call.

summarise_oolong <- function(..., target_value = NULL) {
    summarize_oolong(..., target_value = NULL)
}

So, just changing this to

summarise_oolong <- function(..., target_value = NULL) {
    summarize_oolong(..., target_value = target_value)
}

should probably fix this, but let me know if I should properly test it and create a PR.

UI improvement: create_oolong

I like software with a unified interface. But it might make software difficult to use.

Currently, create_oolong needs a "truth-table" to describe its behaviors based on two parameters input_corpus and input_model. I think we should keep this. However, we can also provide simple, intuitive wrappers such as

Wrapper Meaning
create_wi(input_model) create_oolong(input_model, input_corpus = NULL)
create_witi(input_model, input_corpus) create_oolong(input_model, input_corpus)
create_gs(input_corpus) create_oolong(input_model = NULL, input_corpus)

Error when launching do_topic_intrusion_test()

First of all, thank you very much for developing this package! It will be very useful for validating outputs from quantitative text analysis. Unfortunately, the do_topic_intrusion_test() function fails to load on my machine and does not open the Shiny app. See a minimal working example with the error message and my sessionInfo() below. Do you know why this is the case and can you reproduce the error?

library(oolong)
oolong_test <- create_oolong(abstracts_stm, abstracts$text)
oolong_test
#> An oolong test object with k = 20, 0 coded.
#> Use the method $do_word_intrusion_test() to do word intrusion test.
#> With 25 cases of topic intrusion test. 0 coded.
#> Use the method $do_topic_intrusion_test() to do topic intrusion test.
#> Use the method $lock() to finalize this object and see the results.

oolong_test$do_topic_intrusion_test()

#   Listening on http://127.0.0.1:3999
#   Warning: Error in value[[3L]]: Couldn't normalize path in `addResourcePath`, with arguments: `prefix` = 'miniUI-0.1.1.1'; `directoryPath` = '/Volumes/Builds/packages/high-sierra-x86_64/Rlib/4.0/miniUI/www'
#   [No stack trace available]

sessionInfo()
#> R version 4.0.2 (2020-06-22)
#> Platform: x86_64-apple-darwin17.0 (64-bit)
#> Running under: macOS Catalina 10.15.7
#> 
#> Matrix products: default
#> BLAS:   /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRblas.dylib
#> LAPACK: /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRlapack.dylib
#> 
#> locale:
#> [1] en_IE.UTF-8/en_IE.UTF-8/en_IE.UTF-8/C/en_IE.UTF-8/en_IE.UTF-8
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> other attached packages:
#> [1] oolong_0.3.4
#> 
#> loaded via a namespace (and not attached):
#>  [1] Rcpp_1.0.5         quanteda_2.1.1     compiler_4.0.2     pillar_1.4.6      
#>  [5] highr_0.8          stopwords_2.0      tools_4.0.2        digest_0.6.25     
#>  [9] evaluate_0.14      lifecycle_0.2.0    tibble_3.0.3       gtable_0.3.0      
#> [13] lattice_0.20-41    pkgconfig_2.0.3    rlang_0.4.7        fastmatch_1.1-0   
#> [17] Matrix_1.2-18      yaml_2.2.1         stm_1.3.6          xfun_0.17         
#> [21] stringr_1.4.0      dplyr_1.0.2        knitr_1.29         fs_1.5.0          
#> [25] generics_0.0.2     vctrs_0.3.4        grid_4.0.2         tidyselect_1.1.0  
#> [29] data.table_1.13.0  glue_1.4.2         R6_2.4.1           rmarkdown_2.3     
#> [33] ggplot2_3.3.2      purrr_0.3.4        magrittr_1.5       matrixStats_0.56.0
#> [37] usethis_1.6.3      scales_1.1.1       htmltools_0.5.0    ellipsis_0.3.1    
#> [41] colorspace_1.4-1   stringi_1.5.3      RcppParallel_5.0.2 munsell_0.5.0     
#> [45] crayon_1.3.4

Using oolong on an rstudio.cloud session

Hi, I wanted to incorporate oolong in a lab for a class I'm teaching this summer using projects hosted on rstudio.cloud, but I can't seem to have it run on there.

Listening on http://127.0.0.1:4794
Warning: Error in value[[3L]]: Couldn't normalize path in `addResourcePath`, with arguments: `prefix` = 'miniUI-0.1.1.1'; `directoryPath` = '/tmp/work/miniUI/www'
  [No stack trace available]

Any thoughts on how to solve the issue? Here is the project https://rstudio.cloud/project/1450473

Thanks.

Cannot start test - Problem with shiny (I guess)

Hi, thanks for the oolong package, the demo and the description look really promising!

However, I cannot start a test. I tried the example from ?create_oolong:

> data(abstracts_stm)
> data(abstracts)
> oolong_test <- create_oolong(input_model = abstracts_stm, input_corpus = abstracts$text)
> oolong_test$do_word_intrusion_test()

Listening on http://127.0.0.1:6209
Warnung: Error in value[[3L]]: Couldn't normalize path in `addResourcePath`, with arguments: `prefix` = 'miniUI-0.1.1.1'; `directoryPath` = '/Volumes/SSD-Data/Builds/R-dev-web/QA/Simon/packages/el-capitan-x86_64/Rlib/3.6/miniUI/www'
  [No stack trace available]

The same error is also shown in the Viewer pane of RStudio:
"An error has occurred!
Couldn't normalize path in addResourcePath, with arguments: prefix = 'miniUI-0.1.1.1'; directoryPath = '/Volumes/SSD-Data/Builds/R-dev-web/QA/Simon/packages/el-capitan-x86_64/Rlib/3.6/miniUI/www'"

Thanks for looking into the issue. Let me know if you need any information.

Best,
Marko

Info

> sessionInfo()
R version 3.6.2 (2019-12-12)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Catalina 10.15.4

Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRlapack.dylib

locale:
[1] de_DE.UTF-8/de_DE.UTF-8/de_DE.UTF-8/C/de_DE.UTF-8/de_DE.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] shiny_1.5.0       oolong_0.3.4      furrr_0.1.0       future_1.16.0     tictoc_1.0        knitr_1.28       
 [7] lubridate_1.7.4   quanteda_2.0.0    tidytext_0.2.3    stminsights_0.4.0 stm_1.3.5         forcats_0.4.0    
[13] stringr_1.4.0     dplyr_0.8.4       purrr_0.3.3       readr_1.3.1       tidyr_1.0.2       tibble_2.1.3     
[19] ggplot2_3.3.1     tidyverse_1.3.0  

loaded via a namespace (and not attached):
 [1] nlme_3.1-142         matrixStats_0.55.0   fs_1.3.1             httr_1.4.1           SnowballC_0.6.0     
 [6] tools_3.6.2          backports_1.1.5      R6_2.4.1             DBI_1.1.0            colorspace_1.4-1    
[11] withr_2.2.0          tidyselect_1.0.0     gridExtra_2.3        compiler_3.6.2       cli_2.0.1           
[16] rvest_0.3.5          pacman_0.5.1         xml2_1.2.2           bookdown_0.17        scales_1.1.0        
[21] digest_0.6.25        shinyBS_0.61         rmarkdown_2.1        pkgconfig_2.0.3      htmltools_0.5.0     
[26] fastmap_1.0.1        dbplyr_1.4.2         rlang_0.4.6          readxl_1.3.1         rstudioapi_0.11     
[31] farver_2.0.3         generics_0.0.2       jsonlite_1.7.0       tokenizers_0.2.1     magrittr_1.5        
[36] Matrix_1.2-18        Rcpp_1.0.4           munsell_0.5.0        fansi_0.4.1          viridis_0.5.1       
[41] lifecycle_0.1.0      stringi_1.4.6        yaml_2.2.1           ggraph_2.0.1         MASS_7.3-51.4       
[46] grid_3.6.2           parallel_3.6.2       listenv_0.8.0        promises_1.1.1       ggrepel_0.8.1       
[51] shinydashboard_0.7.1 crayon_1.3.4         lattice_0.20-38      graphlayouts_0.5.0   haven_2.2.0         
[56] hms_0.5.3            pillar_1.4.3         igraph_1.2.4.2       codetools_0.2-16     stopwords_1.0       
[61] fastmatch_1.1-0      reprex_0.3.0         glue_1.4.1           packrat_0.5.0        evaluate_0.14       
[66] data.table_1.12.8    RcppParallel_4.4.4   modelr_0.1.6         vctrs_0.2.3          tweenr_1.0.1        
[71] httpuv_1.5.4         cellranger_1.1.0     gtable_0.3.0         polyclip_1.10-0      assertthat_0.2.1    
[76] xfun_0.12            ggforce_0.3.1        mime_0.9             xtable_1.8-4         broom_0.5.4         
[81] tidygraph_1.1.2      janeaustenr_0.1.5    later_1.1.0.1        viridisLite_0.3.0    globals_0.12.5   

New standard for oolong object

new oolong object should have the following slots:

  • userid (make it easier for deployment)
  • version (so that the old version will be automatically updated to the current version, akin quanteda)

Raterskipped one question -> error

Hi!
Thanks so much for creating this package!
For a scientific publication I use the oolong package to establish concurrent validity for a topic model.
One of the raters seems to have skipped one of the questions for the topic intrusion test, but was not redirected to the missing question when hitting "done". The test took 3 days and I really do not have the time to repeat the process again.
When using the summarize_oolong function on the locked test it throws me this error:
"Result 52 must be a single dounle. not a double vector of length 0".
Is there any way to let the rater do the missing question without having to repeat the entire process?

Thanks!

HUGH BUG: summarize_oolong mutates the oolong object.

> 
> obj1 <- create_oolong(newsgroup_stm, newsgroup5$text)
> obj2 <- clone_oolong(obj1)
> 
> genius_word <- function(obj) {
+     obj$.__enclos_env__$private$test_content$word$answer <- obj$.__enclos_env__$private$test_content$word$intruder
+     return(obj)
+ }
> 
> genius_topic <- function(obj) {
+     obj$.__enclos_env__$private$test_content$topic$answer <- obj$.__enclos_env__$private$test_content$topic$intruder
+     return(obj)
+ }
> 
> obj1 <- genius_topic(obj1)
> obj1 <- genius_word(obj1)
> 
> obj1$.__enclos_env__$private$test_content$topic$answer
 [1]  9  9  7  1  3  6  2 10  3  5  9  9  1  4  3  8 10  9  1  3  1  5  1  8 10  1  8  3 10  1  9  8  6  2  1  9
[37] 10  6  5  8  3
> obj1$.__enclos_env__$private$test_content$topic$answer[1] <- NA
> obj1$lock(force = TRUE)
> summarise_oolong(obj1)
Mean model precision: 1
K Precision: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
Mean TLO: 0
Median TLO: 0
Quantiles of TLO: 0, 0, 0, 0, 0
P-Value of the median TLO (H0: Median TLO is not better than random guess): 0
Warning message:
In .summarize_oolong_tm(...) :
  Some input objects were locked forcibly. Summary results might not make sense.
> obj1$.__enclos_env__$private$test_content$topic$answer
 [1]  9  8  7  2  4  8 10  2  9  2  9  9 10  7  7  3  9  7  2  3  9  7  1  8 10  1  6  9  7  1  9  8  7  6  8  5  8  9  2
[40]  6  7
> 

naming scheme: test_content

There are only two hard things in Computer Science: cache invalidation and naming things.

Currently, there are many inconsistencies in naming, especially things related to test_content. test_content can either be a slot in an oolong object or something process by different functions. It should also be fixed in 0.4.

  1. test_content means two things in the code: it means a singular data frame; or a list with one or more of these data frames. A better solution is to name the singular data frame test_items and the list remains test_content. Therefore: a test_content is a list of one or more test_items. One row in test_items is actually a test_item, although we might not need to name this.
  2. Historically, test_content (the list) has slots with names word, topic, gold_standard. The newly added is wsi. As the documentation, as well as the wrappers, are using wi, ti, gs and wsi; maybe it is a better idea to make them named consistently, i.e. test_content$wi

The implication is: we should provide a function to upgrade old oolong objects. It is planned anyway.

Error with do_word_intrustion_test()

Thank you for this great package! I'm really looking forward to using it. However, I am getting some errors.

When I run oolong_test$do_word_intrusion_test(), I get the following error in the console:

Listening on http://127.0.0.1:5612
Warning: Error in value[[3L]]: Couldn't normalize path in addResourcePath, with arguments: prefix = 'miniUI-0.1.1.1'; directoryPath = '/Volumes/Builds/packages/high-sierra-x86_64/Rlib/4.0/miniUI/www'
[No stack trace available]

And this one in the viewer:
An error has occurred!
Couldn't normalize path in addResourcePath, with arguments: prefix = 'miniUI-0.1.1.1'; directoryPath = '/Volumes/Builds/packages/high-sierra-x86_64/Rlib/4.0/miniUI/www'

And when I try to run, oolong_test$do_topic_intrusion_test() , it just times out.

Any thoughts about why this might be happening, and/or how to resolve this issue? Thank you so much!

Edge cases: Topic models with very small k

A user's e-mail raises the problem of topic models with a very small k (in his case k = 3).

n_top_topics by default is 3. So with his model, it should raise an error. This is correct because there is no additional intruder topic to toss in.

It should be able to handle n_top_topics <= 2. But oolong still raises an error. When n_top_topics = 1, the error message is different.

Chang et al do not say anything about the minimum number of n_top_topics. But I think it should be 1 (one top topic, one 'intruder').

witi when input_corpus is NULL

What should be the acceptable behavior of witi(abstracts_stm) or create_oolong(abstracts_stm, type = "witi")?

For old users, it should give you an oolong object with only wi because input_corpus is NULL. It is also the current behavior.

But it can be quite confusing if one asks for wi and ti but only be given an object with wi.

Issues related to quanteda 3.0.0

texts.corpus and dfm.corpus() are deprecated and they generate a lot of warning messages in tests. Mostly associated with .generate_test_content.

phasing out miniUI

  • For one, it has not been updated since 2018
  • It creates this problem (#37 and many more); and seriously, there is no guaranteed fix. Attached screen shot is from a dockerized version of oolong.

Screenshot from 2021-06-03 12-30-31

  • It doesn't make sense anymore to use miniUI in deployed tests. Clicking "Done" will stop the shiny server (at least on a self-host shiny server).

Documentation & Co.

  • Entries about the 2 oolong objects
  • Entries about the 2 oolong summary objects.
  • Create a Vignette similar to Github's RMD.

Summary function for multiple oolong objects

In the original Chang et al paper, the test was administered to multiple raters.

The API can be something like this. All oolong objects in the ... must be locked and have the same private$hash (i.e. generated with the same dataset and same conditions, e.g. random seed).

oolong_summary(..., plot = FALSE)

The summary should give a list

$overall_precision

mean / median / 95% percentile of model precision

$k_precision

precision for each k, as a vector

$overall_tlo

mean / median / 95% percentile of TLO, if available, NULL otherwise.

Rewrite the vignette as a JOSS article

The original plan is to write an article for a communication journal. But given the long publication cycle (and probably the low return), it might be a better idea to write it as a JOSS article instead.

Converting oolong questions into a data frame

Ref this tweet

The original question asks for exporting to csv. I think a much better way is to export it to a "tidy" data frame / tibble so that the user can export it to whatever format using write.csv or rio or whatnot.

The problems

  1. How to prevent cheating (exporting the data frame to read the answers)
  2. The data frame stored in an oolong test is not "tidy" (it has list columns); but it can be easily fixed.

Error creating oolong using 'topicmodels' object

Replication:

library(topicmodels)
data("AssociatedPress")
lda <- LDA(AssociatedPress[1:20,], k = 5)
oolong_test <- create_oolong(lda)

Error Message
Error in map(.x, .f, ...) : object 'K' not found

Session Info:

> sessionInfo()
R version 3.6.0 (2019-04-26)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.2

Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods  
[7] base     

other attached packages:
[1] topicmodels_0.2-9 oolong_0.1.0      quanteda_1.5.2   

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.3         lubridate_1.7.4    lattice_0.20-38   
 [4] prettyunits_1.0.2  ps_1.3.0           assertthat_0.2.1  
 [7] rprojroot_1.3-2    digest_0.6.23      slam_0.1-47       
[10] R6_2.4.1           backports_1.1.4    stats4_3.6.0      
[13] ggplot2_3.2.1      pillar_1.4.3       rlang_0.4.4       
[16] lazyeval_0.2.2     curl_4.3           rstudioapi_0.10   
[19] data.table_1.12.8  callr_3.2.0        Matrix_1.2-17     
[22] desc_1.2.0         devtools_2.0.2     stringr_1.4.0     
[25] munsell_0.5.0      compiler_3.6.0     spacyr_1.2        
[28] xfun_0.7           pkgconfig_2.0.3    pkgbuild_1.0.3    
[31] tidyselect_0.2.5   tibble_2.1.3       crayon_1.3.4      
[34] dplyr_0.8.3        withr_2.1.2        grid_3.6.0        
[37] gtable_0.3.0       lifecycle_0.1.0    magrittr_1.5      
[40] scales_1.1.0       RcppParallel_4.4.4 cli_2.0.1         
[43] stringi_1.4.5      fs_1.3.1           remotes_2.0.4     
[46] NLP_0.2-0          testthat_2.1.1     xml2_1.2.2        
[49] stopwords_1.0      fastmatch_1.1-0    tools_3.6.0       
[52] glue_1.3.1         purrr_0.3.3        parallel_3.6.0    
[55] processx_3.3.1     pkgload_1.0.2      yaml_2.2.1        
[58] tm_0.7-7           colorspace_1.4-1   sessioninfo_1.1.1 
[61] memoise_1.1.0      knitr_1.23         usethis_1.5.0     
[64] modeltools_0.2-22 

Preparing for CRAN release: Solving CHECK issues

Issues

  • Depends on R >= 3.5 (Which is okay)
  • Data size / Non-ascii characters in the data
  • S3 generic
  • Triple-colon operator
  • base functions
  • Missing documentation
  • purrr's map_df functions depend on dplyr (suggested solution: tidyverse/purrr#692)
Writing NAMESPACE
Writing NAMESPACE
── Building ────────────────────────────────────────────────────────── oolong ──
Setting env vars:darkgrey
● CFLAGS    : -Wall -pedantic
● CXXFLAGS  : -Wall -pedantic
● CXX11FLAGS: -Wall -pedantic
────────────────────────────────────────────────────────────────────────────────
  
   checking for file β€˜/home/hong/dev/oolong/DESCRIPTION’ ...
  
βœ”  checking for file β€˜/home/hong/dev/oolong/DESCRIPTION’

  
─  preparing β€˜oolong’:

  
   checking DESCRIPTION meta-information ...
  
βœ”  checking DESCRIPTION meta-information

  
─  checking for LF line-endings in source and make files and shell scripts

  
─  checking for empty or unneeded directories
   Removed empty directory β€˜oolong/experimental’
─  looking to see if a β€˜data/datalist’ file should be added

  
     NB: this package now depends on R (>= 3.5.0)

  
     WARNING: Added dependency on R >= 3.5.0 because serialized objects in  serialize/load version 3 cannot be read in older versions of R.  File(s) containing such objects: 'oolong/trump_coded.RDS'  'oolong/trump_eval.RDS'
─  building 'oolong_0.2.2.tar.gz'

  
   

── Checking ────────────────────────────────────────────────────────── oolong ──
Setting env vars:darkgrey
● _R_CHECK_CRAN_INCOMING_USE_ASPELL_: TRUE
● _R_CHECK_CRAN_INCOMING_REMOTE_    : FALSE
● _R_CHECK_CRAN_INCOMING_           : FALSE
● _R_CHECK_FORCE_SUGGESTS_          : FALSE
── R CMD check ─────────────────────────────────────────────────────────────────
  
─  using log directory β€˜/tmp/RtmpW6ZC82/oolong.Rcheck’

  
─  using R version 3.6.2 (2019-12-12)
─  using platform: x86_64-pc-linux-gnu (64-bit)
─  using session charset: UTF-8

  
─  using options β€˜--no-manual --as-cran’ (417ms)

  
βœ”  checking for file β€˜oolong/DESCRIPTION’
─  this is package β€˜oolong’ version β€˜0.2.2’
─  package encoding: UTF-8
   checking package namespace information ...
  
βœ”  checking package namespace information
   checking package dependencies ...
  
βœ”  checking package dependencies (723ms)
   checking if this is a source package ...
  
βœ”  checking if this is a source package
βœ”  checking if there is a namespace

  
   checking for executable files ...
  
βœ”  checking for executable files

  
βœ”  checking for hidden files and directories
   checking for portable file names ...
  
βœ”  checking for portable file names
   checking for sufficient/correct file permissions ...
  
βœ”  checking for sufficient/correct file permissions

  
   checking whether package β€˜oolong’ can be installed ...
  
βœ”  checking whether package β€˜oolong’ can be installed (7.1s)

  
   checking installed package size ...
  
N  checking installed package size
     installed size is  9.9Mb

  
     sub-directories of 1Mb or more:

  
       data   9.5Mb

  
   checking package directory ...
  
βœ”  checking package directory
   checking for future file timestamps ...
  
βœ”  checking for future file timestamps (702ms)

  
   checking DESCRIPTION meta-information ...
  
βœ”  checking DESCRIPTION meta-information

  
N  checking top-level files
   Non-standard files/directories found at top level:
     β€˜README.html’ β€˜testlog.txt’ β€˜trump_coded.RDS’ β€˜trump_eval.RDS’
βœ”  checking for left-over files
βœ”  checking index information

  
   checking package subdirectories ...
  
βœ”  checking package subdirectories

  
   checking R files for non-ASCII characters ...
  
βœ”  checking R files for non-ASCII characters

  
   checking R files for syntax errors ...
  
βœ”  checking R files for syntax errors

  
   checking whether the package can be loaded ...
  
βœ”  checking whether the package can be loaded

  
   checking whether the package can be loaded with stated dependencies ...
  
βœ”  checking whether the package can be loaded with stated dependencies

  
   checking whether the package can be unloaded cleanly ...
  
βœ”  checking whether the package can be unloaded cleanly

  
   checking whether the namespace can be loaded with stated dependencies ...
  
βœ”  checking whether the namespace can be loaded with stated dependencies

  
   checking whether the namespace can be unloaded cleanly ...
  
βœ”  checking whether the namespace can be unloaded cleanly

  
   checking loading without being on the library search path ...
  
βœ”  checking loading without being on the library search path

  
   checking dependencies in R code ...
  
N  checking dependencies in R code (1.4s)
   Unexported object imported by a ':::' call: β€˜quanteda:::print.corpus’
     See the note in ?`:::` about the use of this operator.

  
   checking S3 generic/method consistency ...
  
W  checking S3 generic/method consistency (1.9s)
   print:
     function(x, ...)
   print.oolong_gold_standard:
     function(obj)
   
   print:
     function(x, ...)
   print.oolong_summary:
     function(oolong_summary)
   
   plot:
     function(x, ...)
   plot.oolong_summary:
     function(oolong_summary)
   

  
   See section β€˜Generic functions and methods’ in the β€˜Writing R
   Extensions’ manual.
   checking replacement functions ...
  
βœ”  checking replacement functions

  
   checking foreign function calls ...
  
βœ”  checking foreign function calls

  
   checking R code for possible problems ...
  
N  checking R code for possible problems (2.2s)
   .ba_plot: no visible global function definition for β€˜sd’
   .ba_plot: no visible binding for global variable β€˜meanxy’
   .ba_plot: no visible binding for global variable β€˜diffxy’
   .combine_p_fisher: no visible global function definition for β€˜pchisq’
   .cook_plot: no visible global function definition for β€˜lm’
   .cook_plot: no visible global function definition for β€˜cooks.distance’
   .cook_plot: no visible binding for global variable β€˜index’
   .cook_plot: no visible binding for global variable β€˜cookd’
   .corr_plot: no visible global function definition for β€˜%>%’
   .corr_plot: no visible binding for global variable β€˜avg_answer’
   .corr_plot: no visible binding for global variable β€˜lm’
   .generate_candidates: no visible global function definition for β€˜head’
   .generate_candidates: no visible global function definition for
     β€˜quantile’
   .length_plot: no visible binding for global variable β€˜word_length’
   .length_plot: no visible binding for global variable β€˜lm’
   .monkey_median: no visible global function definition for β€˜median’
   .print_oolong_summary_tm: no visible global function definition for
     β€˜quantile’
   .print_oolong_summary_tm: no visible global function definition for
     β€˜median’
   .summarize_oolong_gs: no visible global function definition for
     β€˜cor.test’
   .summarize_oolong_tm: no visible global function definition for
     β€˜median’
   Undefined global functions or variables:
     %>% avg_answer cookd cooks.distance cor.test diffxy head index lm
     meanxy median pchisq quantile sd word_length
   Consider adding
     importFrom("stats", "cooks.distance", "cor.test", "lm", "median",
                "pchisq", "quantile", "sd")
     importFrom("utils", "head")
   to your NAMESPACE file.

  
   checking Rd files ...
  
βœ”  checking Rd files

  
   checking Rd metadata ...
  
βœ”  checking Rd metadata

  
   checking Rd line widths ...
  
βœ”  checking Rd line widths

  
   checking Rd cross-references ...
  
βœ”  checking Rd cross-references

  
   checking for missing documentation entries ...
  
W  checking for missing documentation entries
   Undocumented code objects:
     β€˜afinn’ β€˜newsgroup_stm’ β€˜newsgroup_topicmodels’ β€˜newsgroup_warplda’
     β€˜newsgroup5_dfm’ β€˜summarise_oolong’ β€˜summarize_oolong’ β€˜trump2k’
   Undocumented data sets:
     β€˜afinn’ β€˜newsgroup5_dfm’ β€˜newsgroup_stm’ β€˜newsgroup_topicmodels’
     β€˜newsgroup_warplda’ β€˜trump2k’

  
   All user-level objects in a package should have documentation entries.
   See chapter β€˜Writing R documentation files’ in the β€˜Writing R
   Extensions’ manual.
   checking for code/documentation mismatches ...
  
βœ”  checking for code/documentation mismatches (1.9s)

  
   checking Rd \usage sections ...
  
W  checking Rd \usage sections
   Undocumented arguments in documentation object 'create_oolong'
     β€˜bottom_terms_percentile’ β€˜n_top_topics’ β€˜target_value’ β€˜construct’
   Documented arguments not in \usage in documentation object 'create_oolong':
     β€˜bottm_terms_percentile’ β€˜n_top_topic’
   

  
   Functions with \usage entries need to have the appropriate \alias
   entries, and all their arguments documented.
   The \usage entries must correspond to syntactically valid R code.
   See chapter β€˜Writing R documentation files’ in the β€˜Writing R
   Extensions’ manual.

  
   checking Rd contents ...
  
βœ”  checking Rd contents (1.9s)

  
   checking for unstated dependencies in examples ...
  
βœ”  checking for unstated dependencies in examples

  
βœ”  checking contents of β€˜data’ directory

  
   checking data for non-ASCII characters ...
  
W  checking data for non-ASCII characters (3.3s)

  
     Warning: found non-ASCII strings
     'Yes! what you are saying is absolutey true, but what you fail to mention is the
     fact that the LCIII uses the new 72 pin simms which allow 32 bit access to
     each simm. In the case of the LC III, it only has one simm slot, but accesses will
     be 32 bits wides.
     ***************************************************************************
      The views expressed in this posting those of the individual author only. 
     [BBS Number:(613) 848-1346      MacContent is Victoria<c3><95>s first Iconic BBS!]
     ***************************************************************************
     
     ' in object 'newsgroup5'
     'Hi !!! This is the response for Wayne Michael...and certainly for other-one :-)
     
     
     I'm sorry for...
     
         1)  The late of the answer but I couldn't find xv221 for msdos 'cause 
     	I forgot the address...but I've retrieve it..
     
         2)  Posting this answer here in comp.graphics 'cause I can't use e-mail,
     	not yet....
     
        2) My bad english 'cause I'm a Swiss and my language is french....
     
     
     After a long time I retrieve the address where you can find XV for Dos...
     
     	Site	: omnigate.clarkson.edu
     	Aliases	: grape.ecs.clarkson.edu
     	Number	: 128.153.4.2
     
     	/pub/msdos/djgpp/pub
     
     	it's xv221.zip (?) I think...
     
     
     Certainly you read the other answer from Kevin Martin... He write about DV/X 
     (?). 
     
         What is it ?????? Could Someone answer ????
     	
     	Thanx in advance.... 
     
     -- 
     ---------------------------------------------------------------------
     *								    *
     *  Pascal PERRET     		|	[email protected]         *
     *  Ecole d'ing<c3><a9>nieur ETS	|	(Not Available at this time)*
     *  2400 Le LOCLE		|				    *
     *  Suisse 							    *
     *		     !!!! Enjoy COMPUTER !!!!			    *
     *								    *' in object 'newsgroup5'
     'Hi ... Recently I found XV for MS-DOS in a subdirectory of GNU-CC (GNUISH). I 
     use frequently XV on a Sun Spark Station 1 and I never had problems, but when I
   
  
     start it on my computer with -h option, it display the help menu and when I
     start it with a GIF-File my Hard disk turns 2 or 3 seconds and the prompt come
     back.
     
     My computer is a little 386/25 with copro, 4 Mega rams, Tseng 4000 (1M) running
     MS-DOS 5.0 with HIMEM.SYS and no EMM386.SYS. I had the GO32.EXE too... but no
     driver who run with it.
     
     Do somenone know the solution to run XV ??? any help would be apprecied..
     		
     	Thanx in advance !!!! 
                  
     -- 
     ---------------------------------------------------------------------
     *								    *
     *  Pascal PERRET     		|	[email protected]         *
     *  Ecole d'ing<c3><a9>nieur ETS	|	(Not Available at this time)*
     *  2400 Le LOCLE		|				    *
     *  Suisse 							    *
     *		     !!!! Enjoy COMPUTER !!!!			    *
     *								    *' in object 'newsgroup5'
     '
     KY>To all those who have PASSATs, do you recommend using Super Unleaded or just
     KY>regular Unleaded Gasoline. I have been using Regular Unleaded. A friend of mine has
     KY>a Jetta and has always used Super Unleaded and thinks I should be using the same;
     KY>however, I believe the advantages of Super Unleaded for CARs $30000 and under
     KY>has been overplayed by guess who: the companies who sell them, because that is
     KY>where they make the most PROFIT. A Ralph Nader report and other consumer advocates
     KY>have in the past spoken against those oil companies.
     
     Your Passat VR6 is designed to run on premium gasoline, however the
     engine electronics will retard the timing so that no harm wil be done
     to the engine with lower octane fuel.
     
     You will likely, however, get somewhat more power and fuel mileage
     (especially in hot weather) out of this particular engine if you do
     run it on premium. 
     
     Tom Neumann
     ---
      <c3><be> DeLuxe<c3><bd> 1.25 #350 <c3><be> I sell Volkswagens.' in object 'newsgroup5'
     '
     IMHO this whole discussion named ""Motif looks like MS-Windogs"" is totally
   stupid. The only thing remotely influen
  
     stupid. The only thing remotely influenced here can be the Motif Window
     Manager, that features an arrangement of buttons and menus somewhat
     similiar to this of the MS-W windowmanaging agent, however its name is.
     But MWM is only a SMALL part of Motif, in fact, MWM and Motif can work
     without each other, and if one doesn't like MWMs outfit for some reason,
     he switches to another windowmanager. All this doesn't influence Motif,
     which is a toolkit of widgets to write applications, and this toolkit
     is IMHO uncomparable to MS-W, because it is much more wellorganized and
     features alot of goodies more than the MS-W interface.
     
     You cannot say ""A Porsche looks like a VW K<c3><a4>fer"" ONLY because they have the
     wheel and the gear at the same position. Motif and MS-W are complete
     different worlds, only one element of the Motif world has some gear and wheel
     at the same position as MS-W.
     ' in object 'newsgroup5'
     'Hello,  I am not sure if this is the right conference to ask this
     question, however, Here I go..  I am a commercial fisherman and I 
     fell about 3 weeks ago down into the hold of the boat and broke or
     cracked a rib and wrenched and bruised my back and left arm.
       My question,  I have been to a doctor and was told that it was 
     best to do nothing and it would heal up with no long term effect, and 
     indeed I am about 60 % better, however, the work I do is very 
     hard and I am still not able to go back to work.  The thing that worries me
     is the movement or ""clunking"" I feel and hear back there when I move 
     certain ways...  I heard some one talking about the rib they broke 
     years ago and that it still bothers them.<c3><bf>.  any opinions?
     thanx and cheers' in object 'newsgroup5'
     ': 
     : Can you please point to something, anything, that proves to me that
     : the universe cannot possibly be explained without accepting as a fact
     : the existence of a god in precisely the way your holy book describes?
     : 
   : Can you please convince me that your religion is more 
  
     : Can you please convince me that your religion is more than a very
     : cleverly-constructed fable, and that it does indeed have some bearing
     : on my own personal day-to-day life?
     
     Would you consider the word of an eye-witness (Peter) to testify to the
     events surrounding Jesus' life?
     
     
      2Pe 1 16 <c2><b6> We did not follow cleverly invented stories when we told you
      about the power and coming of our Lord Jesus Christ, but we were 
      eyewitnesses of his majesty.
     
      2Pe 1 17 For he received honor and glory from God the Father when the
      voice came to him from the Majestic Glory, saying, ""This is my Son, whom 
      I love; with him I am well pleased.""<c2><b9>
     
      2Pe 1 18 We ourselves heard this voice that came from heaven when we
      were with him on the sacred mountain.
     
      2Pe 1 19 <c2><b6> And we have the word of the prophets made more certain, and
      you will do well to pay attention to it, as to a light shining in a dark
      place, until the day dawns and the morning star rises in your hearts.
     
     This is a documented testimony. Perhaps further research on your part is
     warranted before making more statements. There is considerably more to study
     in Peters' two books of testimony regarding the Messiah. It is well worth 
     your time, Mr. Brian.' in object 'newsgroup5'
     '{Send follow ups to comp.sys.mac.advocacy. Sorry about the header but the 
     Pnews here does not let one easily change the headers and I gave up after a 
     year of trying. This sheet is also available by FTP on sumex-aim.stanford.edu 
     (36.44.0.6) in the info-mac/report as mac-ibm-compare177.txt.}
     Mac & IBM Info-Version 1.7.7
     
     The reason for this general data sheet is to consolidate and condense the 
     information out there, so that people in both camps can be clear and accurate 
     about what they are saying about their machines.  Since computer technology 
     is always changing there are always going to be points in which the sheet will 
     be lacking or incorrect on information.  So, please just don't say the sheet 
   is
  
     is incomplete or incorrect but also give me clear and concise information to 
     make the needed corrections.  All prices are in US dollars.
     To keep this data sheet organized please provide, if possible, article 
     citations for the information provided or corrected and keep the opinions to 
     a minimum.  As this is a general data sheet, keep the info provided simple so 
     I can understand what is being talked about and can explain it to others. 
     Finally, keep the information relevant to the section corrected {For example, 
     OS code in ROM is software contained in hardware, so no more of the 'but it 
     is supported in OS disk software' data for the hardware section, please}. 
     Thank you.
     Note:  for proper reading off line this document should be in 9 point Monaco.
     
     Special thanks to [email protected] (Chihuahua Charlie), 
     [email protected] (Andrew Klossner), [email protected] (Peter Bell), 
     [email protected] (Bill Coleman), [email protected] (Carl B Jabido), d88-
     [email protected] (Jon Wtte) [email protected] (Ephraim Vishniac), 
     [email protected] (Faisal Nameer Jawdat), [email protected] 
     (Gabriel Sidler), [email protected] (Julian Harris), 
     [email protected], [email protected], 
     [email protected] (Matt Healy), [email protected] (Mark Allerton), 
     [email protected] (John H. Kim), [email protected] (Mel 
     Martinez), [email protected] (Nan Zou), pwagner%us.oracle.com, 
     [email protected], [email protected] (Wolfgang Strobl), 
     [email protected], [email protected], 
     [email protected], [email protected] (Jay C. Beavers), Lewis 
     [email protected], [email protected] (Bradley Lamont), 
     [email protected] (""Cerro, Joseph A""), [email protected] (Mel Park), 
     [email protected] (Jeff Logullo), [email protected] (Robert 
   Irlbeck), and [email protected] for providing some of the information that m
  
     Irlbeck), and [email protected] for providing some of the information that made 
     this list possible.
      Contents
     CPUs
     Hardware
      Monitor support
      Expansion
     Operating system
      OS Number Crunching
     Networking & Printing
     
     The CPUs
      Note: I am only showing Motorola & Intel CPUs used in Mac and most IBM/PC 
     clone machines. For example, since Apple never used the Motorola 68008 and 
     68010 in the Mac these chips are not listed. Years only appear with dead CPUs 
     and indicate first to last year used as a CPU.
     Cache note:  both IBM and Mac use caches external to the CPUs. These external 
     caches increase the speed of the CPU but are not a part of it.  In most of 
     the present Macs there are external caches built-in while with IBM they are 
     optional {Though machines are generally sold with them installed}.  Since 
     there are many different external caches {CPU-Mac and IBM; SCSI, video, disk 
     and static RAM-Mac}, each having a different effect on CPU performance, and 
     they are machine {32KB static RAM cache in IIci, IIfx, and IIvx}, seller 
     {cache card installed in some IIcis} or expansion {IIci cache cards go up to 
     128KB} dependent, I have decided to leave them out of the list.
     Note:  ALU is industry's de-facto standard for CPU bit classification.
     IBM     ALU  Registers    External     CPU     Features/
     CPU                     bus  address  cache    Notes
     8088(6) 16      16    8 (16)   20     none     {1981-9} {198?-9}
     80186   16      16      16     20     none     {198?-9?} segmenting
     80286   16      16      16     24     none     80186 + Protected Mode
     80386   32      32      32     32     none     MMU & 32-bit Protected Mode 
     486sx   32      32      32     32    one 8K    80486 - FPU
     80486   32      32      32     32    one 8K    80386 & FPU
     486dx2  32      32      32     32    one 8K    doubled internal clock rate*
     486dx3  being demoed. 20/60 MHz, 25/75 MHz, and 33/99 MHz planned.
     Pentium 32      32      64     32    16K code, CISC chip with RISC-like  
      5                        
  
        5                                 16K data  features, 2-issue superscalar, 
      [P 5]                                         386 Write-Back, 64-bit
                                                    FPU path, pipelining; Speed:
                                                    SPECint92: 64.5; SPECfp92:
                                                    56.9**
     
     386sx: 386 chip with 32-bit internal/16-bit external architecture.
     286 and 386sx chips can address to 16MB maximum RAM.
     386sl: low power(3.3V) 386sx with built-in power management.  Used mainly on 
     laptops.
     386slc: IBM 5V 386sx with a 16k on-chip cache added (John H. Kim).  As far as 
     John H. Kim knows it is only used on IBM models.
     486slc: Neither of two chips that have this name have a FPU.  Cyrix: basically 
     486sx in 386sx socket with 1k cache and improved integer math speed.  IBM: 
     equivalent to the 486sx except it has a 16k on-chip cache.
     
     * ex. for 486dx2/50, chip runs 50 MHz rest of machine runs at 25 MHz.
     ***(PC Week 04/12/93; PC Mag 4/27/93:138) ""The latest in a line of CISC chips"" 
     (PC Mag 4/27/93:110)  Samples released March 22, 1993, but machines will not 
     be announced until at least May 1993 (PC Week 2/08/93).  $1000 a CPU; systems 
     $5000 and up (PC Mag 4/27/93:110). 
     
     Mac     ALU  Registers    External     CPU     Features/
     CPU                     bus  address  cache*   Notes
     68000   16      32      16     24      none    {1984-1993} 16MB limit**
     68020   32      32      32     32    256 code  {1987-1992} parallel processing
     68030   32      32      32     32    two 256   68020 + MMU, 16K burst mode
     68LC040 32      32      32     32     two 4K   68040 - FPU
     68040   32      32      32     32     two 4K   MMU, FPU, pipelining, doubled 
                                                    internal clock rate***
     68050	development discontinued in favor of 68060
     68060   32      32      32     32     Branch   68040 + a better FPU,  
                                         target   sup
  
                                           target   superscaler pipelining, cache 
                                                    line bursts, equivalent 
                                                    capabilities & speeds to 
                                                    Pentium*#
     
     *includes data and instruction {code} caches.  The 68030, 68LC040, & 68040 
     have built-in caches for both.
     **68000 Mac designs created a 4MB limit.
     ***The 040 has 2 clocks, an internal processor clock [PCLK] that is 2x freq of 
     external bus clock [BCLK] which is the one used to rate the chips 
     (Bradley Lamont; Motorola 68040 data book).  Some compilers produce programs 
     sensitive to the PCLK and so they act as if the 68040 was a clock doubler 
     chip, but this very compiler and program dependent.  Compliers maybe written 
     to allow programs to take consitant advantage of the 68040's PCLK in the 
     future.  As it is now, studies such as one in a Byte article {which showed 
     040/25 ~486/50 and roughly ~486dx2/50} are very dependent on the machine, OS, 
     and programs tested and as such are not representative of general performance.
     *#Motorola claims (PC Week 09/07/92; 09/14/92).
     
     As the PowerPCs are to be in both IBM and Mac machines I have listed them 
     separately to eliminate redundancy.  They are Motorola CPU RISC chips.
     
     PowerPC ALU  Registers    External     CPU     Features/
     CPU                     bus  address  cache    Notes
     MC98601 32      32    32 int   64     32K      Speed:  SPECint92: 50; 
      [601]                32 fp         combined   SPECfp92: 80*
                                           I/D      
     MC98603: low power MC98601 for desktop & portable systems. Out by end of 1993.
      [603]
     MC98604: high performance MC98601 for high end machines. Out by 1st Q 1994.
      [604]
     MC98620 64      64    32 int   64     32K      Out by mid 1994.
      [620]                32 fp         combined    
                                           I/D      
     
   *(PC Week 04/12/93; PC Mag 4/27/93:138).  Select
  
     *(PC Week 04/12/93; PC Mag 4/27/93:138).  Select venders were sent sample 
     MC98601 chips by Motorola 2/93 (PC Week 2/08/93), and some NuBus boards 
     containing early samples of PowerPC 601 have been given to Apple's ""A-list"" 
     developers (PC Week 12/7/92; MacWeek 12/14/92).  MC98601/50MHz-$280;
     MC98601/66MHz-$374 (PC Week 4/12/93).  Systems: ~$3500 with ~$2000 versions
     out by mid 1994 (PC Week 4/12/93).
     
     CPUs Comparison List
     As a general rule of thumb Motorola chips are faster than Intel chips at the 
     same frequency {030/25 ~= 386/33; 040/25 ~= 486dx/50}, but Intel has chips at 
     higher frequencies than Motorola, so this evens out.  The Macintosh Bible 4th 
     ed. supports the comparisons between Intel and Motorola chips for the 68020 
     and above.
     
     <=80186    ~ 68000 {16-bit vs 16/24/32-bit chip [data path/address 
     lines/data & address registers].  The 4MB limit on the 68000 Macs brings it 
     down to the 80186 and lower chips, otherwise it would compare to the 80286.}
     
     286        ~ 68020 {hardware segmenting vs. 68020's 32-bit ALU and these chips 
     come have no usable built-in MMU unlike their successors [80386, 68030].  The 
     hardware segmenting's protected mode is used by OS/2 1.0 => and Windows 3.X. 
     The use of the hardware segmenting and their 16-bit nature put the 286 between 
     the 60000 and 68030 in features and the LC's 16-bit data path strenghthens the 
     286 ~ 68020 comparison.}
     
     386       ~ 68030 {Two 32-bit chips with MMUs, and protected memory.  A/UX 3.0 
     is at present the only Mac OS to use the 68030's protected memory feature for 
     apps.  System 7.x uses this feature to protect a RAM disk created by the 
     Memory control panel but this is supported only on Powerbooks and Quadras.  
     The Color Classic and LCII 16-bit hardware data paths makes the 68030s in them 
     comparative to 386sxs.}
     
     486sx   ~ 68LC040 {same as 486 and 68040 without the FPU; used as a low cost 
     solution for people who do not need the FPU.  Only with programs sensitive to  
   PCLK & 
  
     PCLK & pipelining does the 68LC040 behave like 486dx2 - FPU or a '486dx2sx'.}
     
     486     ~ 68040 {two 32-bit microprocessors with built-in FPU, MMU, 8K 
     internal cache (which is implemented as two 4K caches in the 68040 and one in 
     the 486).  Only with programs sensitive to PCLK & pipelining does the 68040 
     behave like a 486dx2.}
     
     Pentium   ~ 68060 {Both are planned to be superscalar but both have heat 
     problems.  These chips may flounder against the cheaper (PC Week 3/08/93; 
     4/12/93; PC Mag 4/27/93:110), earlier released (PC Week 12/7/92; MacWeek 
     12/14/92; PC Week 2/08/93), less leat producing {160 degrees F for Pentium
     (PC Mag 4/27/93:118)}, and partly ported to PowerPC chips.} 
     
     PowerPC   = PowerPC {This CPU line is planned to run programs from DOS, 
     Windows 3.x, OS/2 and Mac OS on top of PowerOpen-A/UX 4.0 [UNIX] and later 
     Pink [Taligent OS] by using emulators or, if necessary, the OSes themselves in 
     a 'shell' a.k. how SoftPC or OS/2 does DOS.}
     
     Hardware 
     {In an effort to remove the 'reconfiguring the system almost every time you 
     add something' requirement for add-in cards, drivers, video, and operating 
     systems in the IBM world, Intel, Microsoft and 12 other hardware and software 
     developers are working out 'plug and play' standards (PC Week 03/08/93).}
     Color Support/Display
      Mac: 30.24 MHz Pixel Clock standard.  All present Macs support the use of 
     32-bit color through 32-bit color QuickDraw in ROM.  32-bit color QuickDraw 
     allows an almost transparent capability to display and edit X-bit images in Y-
     bit color and retain ALL the colors of Y-bit color [Where X and Y 
     independently are 1, 2, 4, 8, 16, or 32] regardless of monitor resolution {63 
     dpi [12"" color] to 94 dpi [PaletteBook]} or monitor type {including 
     autosynchronous VGA, MCGA and SVGA monitors with ranges including 66.7 hz 
     vertically and 35 kHz horizontally and only a hardware video adaptor (MacUser 
   Aug 1992: 158-176).  Older machines t
  
     Aug 1992: 158-176).  Older machines that supported color {SE/30, II, IIX, and 
     IIcx} had only 8-bit color in ROM and needed a software patch to use 32-bit 
     color (MacUser Special 1993:28-29).  
     To keep costs down and speed up most Macs have only 8 or 16 bit display 
     capability built-in, but most of those can be expanded to display 24-bit 
     color.    Presently QuickDraw is optimized for 72 dpi display; QuickDraw QX 
     will change this.
     In addition, QuickDraw allows, in Macs with a NuBus slot, more then one 
     monitor to be used in any combination, from two monitors showing the same 
     thing to multiple monitors acting as one large large monitor with any degree 
     of overlap of the pictures.
     VRAM: Video RAM.  Standard for present non-PowerBook Mac's handling of 
      built-in video {from a 32-bit color palette}. VRAM provided runs a 8-bit
      color 640x480 display; expandable to 16-bit color or a 8-bit 832x624 display. 
     Sound output:  Standard in all Macs since the 128K.  Stereo sound became 
      standard with the SE/30.
     
     IBM:  Even though PCs have ROM BIOS definitions of how the operating system 
     interacts with the video hardware (Nan Zou), the use of drivers bypassing 
     BIOS, video hareware inconsitancies {see Super VGA below} and nonstanderzation
     of clone BIOS have left resolution of video display hardware, OS and program 
     interaction up to the OS and video hardware in question (Faisal Nameer 
     Jawdat). In addition, IBM and clone makers never bothered to provide a 
     standard hardware mechanism for software to determine what display mode is 
     actually present (Matt Healy) nor a standardized screen-drawing toolbox {like 
     Mac's QD}. As a result the OS must be very well written to detect some modes, 
     especially with some third party cards or to use them consitantly {At present 
     things are so dependent on the interaction of the program, OS, print driver 
     and monitor card that editing 32-bit pictures regardless of color mode, OS, 
   and monitor type/card combination as one c
  
     and monitor type/card combination as one can do on the Mac is impossible with 
     an IBM.  For example, one cannot edit a 32-bit color picture done on a OS/2 
     486 with a SVGA monitor on a 386 with VGA {18-bit color palette} and DOS 5.0 
     and still have ALL the colors one started out with}.
     Later IBM machines will have integrated graphics accelerators, faster 
     processors, and modular upgradeability and may have built-in sound cards, CD 
     ROM, and Ethernet (PC Week 12/14/92).  
     MDA: Monocrome Display Adapter
      original character-mapped video mode, no graphics, 80x25 text.
     CGA: Color Graphics Array
      320x200 4 colors or 640x200 b/w, 16 color palette, bad for the eyes.
     EGA:  Enhanced Graphics Array
      640x350 16 colors from 64 color palette [and some lower res]; some versions 
      could run at 256 colors, bearable on the eyes.
     VGA:  Video Graphics Array*
      320x200 at 256 colors, 640x480 at 16 colors, and some others, these two are 
      the most commonly used.  All modes have a 256K CLUT, from a 
      18 to 24-bit {IBM} or a 32-bit {Mac} color palette.  25.175 MHz Pixel Clock
      (Mel Martinez).  Monitors use analog input, incompatible with TTL signals
      from EGA/CGA etc. 
     MCGA:  Multi-Color Graphics Array*
      subset of VGA that provides all the features of MDA & CGA, but lacks some EGA 
      and VGA modes, like VGA 640x480x16 (Dictionary of Computer Terms-DCT).  
      Common on the initial PS/1 implementation from IBM and some PS/2 Models.
     SVGA:  Super VGA*
      This is not a standard in the way the others were, but instead was a 'catch 
      all' category for a group of video cards.  As such, with each manufacturer 
      using their own implementation scheme, SVGA was chaos with people debating
      as to what is SVGA and what is not.  In an effort to make SVGA more of a 
      standard VESA was established and is used in the newer units, but things
      are still a mess.  Video is either 512K [~1990] or 1M [today], resolution
      of 800x600 and 1024x768 at 16 and 256 colors are common, newer ones [since 
    1
  
      1990] have the Sierra HiColor RAMDAC, giving 15-bit 32,768 colors at 800x600, 
      some of the very newer ones [~6/92] can do 24 bits per pixel [usually 
      at 640x480].  Speedwise, too much variation, some very slow [Western Digital 
      Paradise based, for example], some very fast [S3 86C911 based, for example], 
      some are so-so [like Tseng ET4000, a very popular chipset].  Some limiting 
      factors overcome by 40MHz VL Bus & 386's linear address mapping were: 
      8.33 MHz ISA bus, AT architecture where the CPU looks at the card through a 
      64K ""window"", etc.
     Other non-SVGA standards: 
     8514/a:
      IBM's own standard, interlacing graphics accelerator with graphics functions 
      like linedraw, polygon fill, etc. in hardware. Some clone implementations 
      from ATI are the fastest video available today, though some clone models do 
      not have interlacing. 
     TMS34010/34020: high end graphics co-processors, usually >$1000, some
      do 24-bit, speeds up vector-oriented graphics like CAD.
     XGA:  eXtended Graphics Array
      newer and faster than 8514/a, only available for MCA bus-based PS/2s, clones 
      are coming out soon.  Emulates VGA, EGA, and CGA (DCT).  Max resolution at 
      1024x768x8b, same as 8514/a, also some 16 bpp modes.
     XGA-2
      Accelerates graphics functions up to 20 times faster than standard VGA in
      Windows and OS/2, including line draws, bit and pixel-block transfers, area
      fills, masking and X/Y addressing. Has an intelligent way to detect and co-
      exist with other XGA-2 cards, so multiple desktops like on the Mac may not be 
      far away.  Since this is an architecture, its resolution and color depth 
      isn't fixed {IBM implements only 16-bit [65,536] color, while other 
      companies can have 24-bit color through IBM technical licenses}. Refresh 
      rates up to 75 Hz, ensures flicker free, rock solid images to reduce visual 
      discomfort, and is VGA compatible. Up to 1280x1024 on OS/2.
   *some monitor types usable by Mac-See Mac section 
  
     *some monitor types usable by Mac-See Mac section above for specific details.
     
     Expansion
     Both Mac & IBM
     SCSI: only external device expansion interface common to both Mac and IBM.
      Allows the use of any device: hard drive, printer, scanner, Nubus card 
      expansion {Mac Plus only}, some monitors, and CD-ROM.  
      Main problem:  there are a lot of external devices which are internal 
      terminated which causes problems for more then two devises off the SCSI port 
      {A SCSI chain is supposed to be terminated ONLY at the begining and at the 
      end.  Any other set up causes problems for either Mac or IBM}. 
     SCSI-1:  7 devices per SCSI controller.  8-bit asynchronous {~1.5MB/s ave}
      and synchronous {5MB/s max} transfers.  Difference is due to SCSI-1 software
      drivers.  ""Fast SCSI-1"" is a misname for 8-bit SCSI-2 in SCSI-1 mode
      {see SCSI-2 for details}.
     SCSI-2: 10 devices per SCSI controller in SCSI-2 mode.  SCSI-2 is fully
      SCSI-1 compliant and 8-bit SCSI-2 tends to be implemented as a very fast
      SCSI-1 since it does not require the different controller interfaces in  
      hardware and software that 16 and 32-bit SCSI-2 do.  Transfer speeds are
      4-6MB/s with 10MB/s burst {8-bit}, 8-12MB/s with 20MB/s burst {16-bit}, and
      15-20MB/s with 40MB/s burst {32-bit/wide and fast}.  Since 8-bit SCSI-2 can
      use SCSI-1 software drivers and hardware at 8-bit SCSI-2 speeds and as such
      is limited to 7 devices sometimes it is mistakenly called ""fast SCSI-1"". 
      16-bit fast SCSI-2 requires a SCSI-2 software driver and SCSI-2 electronics
      but can still use the SCSI-1 ports.  Wide 16-bit and 32-bit SCSI-2 require a
      different SCSI port, electronics, and software driver from SCSI-1 {Which
      makes them more expensive than other SCSI interfaces}.
     Mac SCSI: asynchronous SCSI-1 built-in standard since the Plus.  Even though 
      Apple developed some specifications for SCSI controlers, the OS SCSI Manager
      needs to be rewritten to take full advantage of the features of both SCSI
    interfaces.  As 
  
      interfaces.  As a result present SCSI-2 Macs use 8-bit SCSI-2 as a fast 
      asynchronous SCSI-1.  Presently Quadras are the only Macs with a SCSI-2
      controller chip built-in (Digital Review, Oct 21, 1991 v8 n33 p8(1)) 
      though they lack some other parts of the hardware, like the wide SCSI-2 port 
      interface.  Since other Macs require a NuBus card to use SCSI-2, older NuBus 
      Macs had a bottleneck due to the speed of the NuBus and CPU.  Rumor-some
      Cyclone Macs {June} will come with a wide & fast SCSI-2 port standard 
      and have a rewritten OS SCSI manager.
     IBM SCSI:  SCSI-1 is not too wide spread yet, generally not bundled with 
      systems, except as add-on {EISA and VESA Local Bus adapters avalable}.
      Like the Mac, 8-bit SCSI-2 is used as a very fast SCSI-1 by most controllers
      out there.  Unlike the Mac, IBM has no exact SCSI controller specifications
      which results in added incompatibilities for SCSI.
     
     Mac
     Memory expansion: with a few exceptions the Mac has used non-parity 30-pin 
      8-bit SIMM memory expansion since the Plus.  While 32-pin 9-bit parity SIMMs
      could be used in these Macs, only special IIcis could make use of the parity 
      feature {By convension both SIMM types are called 32-pin SIMMs}.  The IIfx 
      used 64-pin parity SIMMs.  The LC III, C610/650 and Q800 all use a new 
      72-pin SIMM that is accessable by 32-bits at a time and is used in IBMs.
      The Mac does a complete memory check at startup by writing/reading every
      memory location; if something is seriously wrong with a SIMM the Mac will
      not boot and give a sound chord indicating what the problem is.
      Since Macs made before Feb 15, 1993 managed memory baced on data path, SIMMs 
      had to be installed in pairs {16-bit} or in sets of 4 {32-bit}.  The Centris 
      650 and Quadra 800 eliminate this with a new memory management setup that 
      allows memory to be upgraded one SIMM at a time.  If the SIMMs are the same 
    size are used then the memory is 'interleaved' across the 
  
      size are used then the memory is 'interleaved' across the two SIMMs resulting 
      in a 10-15% performance boost on RAM access (MacWorld Apr 93: 108-109).
     Printers, ADBs, and modems: built-in interfaces standard.
     Monitor interface and sound input: built-in on most present macs. 
     PDS: Available in SE & all present non-Powerbook Macs. 16-bit {SE, 
      Portable, LC, LC II, Classic line} and 32-bit.  Operates at CPU's MHz.  
      Maximum through put: data path in bytes*CPU's MHz {Q700/900 & C650: 
      4 * 25Mhz = 100MB/s; Q800 & Q950: 4 * 33Mhz = 132MB/s}. Standardized with
      the LC and 040 bus designs.  With an adapter one NuBus card can be used in 
      IIsi and C610.  Problem: some cards have timing dependency which slows 
      through put down.
     NuBus Mac II: 32-bit, 10 MHz bus clock, 1-to-1 transaction/bus cycle ratio,
      and contiguous, hand-shake transactions at ~10-20MB/s; theoretical peak:
      40MB/s.  Built-in on all Modular Macs except the LC series, C610, and 
      Performa 400.  The SE/30 could be adapted to use this and there was even a 
      Mac Plus SCSI NuBus.  Supports every possible expansion from CPU to Ethernet 
      to DMA.
     NuBus 90: NuBus Mac II back compatable. 20MHz bus clock, avg throughput:
      ~30MB/s; burst mode: 80MB/s.  Future card designs will be 7"" instead of the 
      old 12"".
     QuickRing:  A peer-to-peer bus used in parallel with NuBus 90.  Apple's 
      VLBus - ""Architecture is identical to that of VLBus"" (Byte 10/92:128).
      Burst mode: 350MB/s (Byte 10/92:128). In development.
     CPU expansion: handled either through the PDS or the NuBus.  Unlike PDS,  
      Nubus CPU cards {example-Radius Rocket} allow use of multiple processors at 
      the same time.  This is like having two or more Macs in the same box able to 
      dual task or joinly process depending on the card or software involved {Each 
      NuBus card needs its own memory but most NuBus cards of this type come with 
      8MB RAM SIMMs on the card standard}.
     
     IBM
     Memory expansion:  parity SIMMs, non-parity SIMMs {some newer models do a Mac-

  
     like SIMM memory check}, or a dozen or so different types of memory boards.
     
     HD Interfaces {limited to hard drives by design or lack of development}: 
     MFM:  Modified Frequency Modulation, RLL:  Run Length Limited
      only used with smaller [<c2><b2> 60mb] hard drives.
     IDE:  Integrated Device Electronics 
      Asynchronous {~5MB/s max} and synchronous {8.3MB/s max} transfer.
      currently the most common standard, and is mainly used for medium sized 
      drives. Can have more than one hard drive. 
     ESDI:  Enhanced Small Device Interface
      ~1.25MB/s throughput. generally considered better interface than SCSI-1 in
      many ways but not common enough for practical consideration.  Outside of
      hard drives, device choices are very limited compared to SCSI-1. 
     
     BUS interfaces
     {New 'plug and play' ISA and EISA compatable cards may have problems working 
     with old cards (InfoWorld; PC Week 03/08/93; Vaporware 4/93).}
     ISA
      8 & 16-bit interfaces common. Has 24-bit data path limit {which produces a
      16MB limit for which there are software workarounds} (PC Mag 4/27/93:105).
      1.5 MB/s (Byte 3/93:132).  Uses edge-triggered interrupts, can't share them,
      hence comes the IRQ conflict.  Limited busmastering capabilities, some cards
      aren't bandwidth limited {COM  ports, LPT ports, game ports, MIDI card, etc.}
      while others are {video and disk controllers}.  Dominant factor, but it's
      showing its age.  Most ISA motherboard designs are 16-bit
      (PC World Feb 1993: 144-5)}.  
     MCA {Micro Channel}
      IBM's 16 and 32-bit bus; ""allows use of more than one CPU in a computer"" 
      (DCT) and anything can talk to anything, as fast as the two components 
      involved can handle it. Never took off because it was incompatible with ISA 
      and EISA.  Planned to be bus interface of IBM PowerPC 601 (Carl Jabido).
     EISA {NuBus Mac II is closest Mac equivalent}
      32-bit, 8.33 MHz, burst mode: 33MB/s.  It also has the ability to 
    self-configure cards like MCA and al
  
      self-configure cards like MCA and allows multiple bus masters, sharable 
      interrupt and DMA channels and multiple CPU use.
     VESA Local Bus: VLB {Sometimes mistakenly refereed to as PDS}
      Local Bus standard. Runs at CPU clock rate,  Burst modes: ~130 MB/s{32-bit}
      250 MB/s{64-bit} (Byte 10/92:128).  Limited to three slots but allows bus 
      mastering and will coexist with either ISA or EISA. Consitered ideal for 
      video and disk I/O.  DELL has filled a claim that this violates one of
      their patents (Mel Martinez).
     QuickRing: Apple's faster {350 MB/s burst} version of VLB architecture
      (Byte 10/92:132).  Might show up in some IBM and PowerPC machines
      (Byte 10/92:132-133). In development.
     PCI
      Intel's version of Local Bus that is intended to totally replace 
      ISA/EISA/MCA.  In development.
     
     OSes {assumes full installation [print drivers, fonts, Multifinder, etc.]
     and multiple application use.}
     Mac
     512K to 1MB of OS and hardware commands have been put into ROM.  This allows 
     Apple to control its machine by putting key hooks for the Mac OS {QuickDraw, 
     menu commands, print, mouse, SCSI & sound drivers, etc} in ROM, which require 
     clone makers to use the ROM chip or read ROM on to disks {Which requires 
     access to the proper Mac since different Macs have slightly different ROM 
     chips; Plus vs Classic for example.}  With key hooks for the OS support 
     interface in ROM, programers do not have to worry as much whether the disk OS 
     has the necessary hardware commands or that those commands are consitant and 
     therefore can write smaller programs.  This also allows Apple greater control 
     over hardware-software standards and that the disk OS can be smaller and, with 
     some of the tookbox command code in ROM, with lower RAM requirements then a 
     totally disk based OS.  Macs use Masked ROM which is as fast as DRAM (Jon 
     Wtte).
     6.0.7: Single program usage base requirements: 1 MB and DD floppy, 
    cooperatively-multitasking base requirements: 2MB and HD floppy. 
  
      cooperatively-multitasking base requirements: 2MB and HD floppy.  
      Features a GUI, cooperative-multitasker [MultiFinder], standard program 
      interface, & standard stereo sound support [snd]. Network receiving part of 
      AppleShare software is bundled with the OS. Has a 8MB RAM barrier and is a 
      24-bit OS. Some third party products allow 14MB of Virtual Memory as long as 
      real RAM is below 8MB.
     6.0.8: 6.0.7 with 7.0.0 print drivers.
     6.0.8L:  System 6 for some Macs that require System 7.0.X.
     7.0.X: Base requirements: 2MB, 40MB Hard Drive, and 68000; De-facto standard 
      to run all features well: 4MB, 80MB Hard Drive, and 68030 {lowest present 
      non-portable Mac configuration}.  Using up to 10.08MB {This is EVERYTHING on
      system disks} of hard disk space this has 6.0.7 features plus program linking 
      within and between computers [IAC], built-in server capabilities {Filesharing 
      can be used by older OSes using AppleShare Client software and can be 
      accessed by 10 macs max; 4-5 is more speed practical, IAC requires 7.X}, 
      Virtual Memory in machines with MMU{1.6 times real RAM for least noticeable 
      IIsi speed degradation}, drag and drop, QuickTime & built-in TrueType 
      support.  Supports sound input [AIFF and snd formats] for most present 
      machines.  Can access up to 1GB of true RAM and 4GB of virtual memory and is 
      both a 24 and 32-bit OS.  To use real RAM beyond 8MB it must be in 32-bit 
      mode and on older machines requires the 'Mode 32' extension.  Apple's last 
      'free' OS.
     7.1.0: 7.0.1 with WorldScript support, speedier, and less RAM usage than 
      7.0.dot (MacWeek 8/24/92; 9/14/92; PC Week 9/7/92). To run in 32-bit mode 
      on older machines it requires the 'Mode 32' or '32-Bit Enabler' extension. 
      Marks the start of Apple saling its Mac OS instead of allowing free upgrades
      {Bundled with new machines, $49 for 7.0.X upgrades, $99 otherwise}.
      [The installer has a bug that when upgrading it may keep some old system 
    fonts from the previous system inside the system file.  
  
      fonts from the previous system inside the system file.  This can eat up any 
      RAM benefits and cause other problems.  Apple itself recommends removing all 
      fonts from the system file.]
     A/UX 3.0 [UNIX]: Needs 8MB RAM {12-20MB suggested}, 160MB hard drive, and 
      a 68030 or 68040 equivalent to run.  This 32-bit preemptive multitasking OS 
      is large due to being UNIX and needing translators between it and the Mac 
      ROMs.  Price: $709.
     Note: sound output was supported in OSes 3.2 to 6.0.5 by many formats 
     including the following:  snd, WAVE, ASND, FSSD, QSSN, SMSD, SOUN, dc2d, and 
     DCFL.  In 6.0.7 the sound manager was optimized for the sound standards 'snd' 
     and AIFF which causes some playback problems for the old formats, though most 
     still play.
     
     IBM
      Machiness have little GUI code, data, and hooks present in hardware for 
     programmers to work with, so most of the coding must be provided in the OS.  
     Since hard disks were slow the disk OS code is read into RAM.  In addition, 
     what little ROM code there is also read into RAM {a process called Shadow ROM}  
     This results in faster implementation since RAM is faster then PROMS or 
     EPROMS.  Having most of the OS code on disk has the advantage of being able to 
     better optimize the code given a certain piece or collection of hardware which 
     is harder with a ROM based system due to the 'patches' needed.  In addition it 
     reduces the need for and size of patches if a major revision of the hardware 
     support is needed.
     Side note:  The FTC charged that MicroSoft formed a OS trust by not providing 
     all feature documentation for its OSes to developers outside MS and designing 
     its Windows and DOS apps to fail under OS/2 (""Undocumented Windows"") and 
     ""There is deliberate code in [Windows] NT Beta which causes the install to 
     abort if OS/2 Boot Manager is present"" (Gregory Hicks, Info-IBMPC Digest V92 
     #201).  Due to a conflict of intrest by one member the vote of the FTC 
   judicial council for action against Microsoft was a ti
  
     judicial council for action against Microsoft was a tie which resulted in no 
     action.  Rumors-the FTC will presue the matter, likely to the point of 
     choosing a new member or whole new council.  In addition the government has 
     turned down Microsoft's copyright of ""Windows"" which would allow it to charge 
     a fee for developers using their hooks (PC Week 03/08/93).
     MicroSoft OSes
     DOS 5.0: Has a 640K barrier with its own memory manager, a 1 MB barrier 
      with third party memory managers.  This 16-bit OS requires that each program 
      must provide its own print drivers and be 16-bit {Programs need to be DOS 
      Protected Mode Interface (DPMI) compliant and running on a 386dx [32-bit 
      Protected Mode] to break these barriers}.  Contains the GUI shell present in
      DOS 4.0.
     DOS 6.0: DOS 5.0 with the added features of a built-in file compresion, disk 
      defragmenter, debugger for the CONFIG.SYS file. It needs a $80 module for 
      networking {Cost: $50 through 5/93, after that $129.99} 
      (Byte April 1993:44-46).
     DOS 7.0: 32-bit DOS. In development (PC Week 04/05/93).
     Window 3.0: Runs on top of DOS.  Breaks 640K and 1M barriers but still has to 
      deal with DOS file structure.  Base requirements: 1MB, floppy and 286; to
      run well 2MB, hard drive, 386sx and fast display adapter {> 8-bit}.  Has the
      equivalent of Mac's QD called Windows GDI [Graphics Device Interface].
      This does not have a consistent application interface {Like early Mac
      programs  (1984-1985)} nor a very large program base {compared to DOS} and
      still tends to slow the machine down (Info-IBMPC Digest V92 #186) with speed
      is more dependent on the display adapter then on the CPU (Bill Coleman).
      Window programs tend to be disk and memory hogs compared to their DOS
      counterparts (Byte April 1993:98-108).
     Window 3.1: A faster version of Window 3.0 with better memory managment. Base 
      requirements 1 MB, hard drive and a 286 ;to run well 2MB, hard drive, 386sx. 
    Apple plans to release its print drivers for this (PC We
  
      Apple plans to release its print drivers for this (PC Week 12/28/92).
     Windows for Workgroups:  To run well: 4MB RAM and 386dx (PC World Feb/93:160).  
      Intermediary between Win 3.1 and Windows NT.  It is basically Windows 3.1 
      with built-in peer to peer networking support.
     Windows NT:  Beta release takes about 50MB of disk space [including the 
      swap file], and 12MB RAM {Betas are notorious for RAM usage especially in 
      the interaction between debuging code and program compliers, hence the 
      reports of 24MB requirements}.  Released version supposed to need 8MB RAM 
      but, Gates himself now recommends 16MB RAM (PC Week 04/15/92).
      This 32-bit OS has Protected mode multitasking, multithreading, symmetric 
      multiprocessing, a recoverable file system, and 32-bit GDI.  Has built in
      networking that is OSF DCE compliant and can handle up to 4GB of RAM.  Even
      though some people see a July 4 release date (InfoWorld Nov 16/92), rumor
      is that the final version will not be available before Oct 1993
      (InfoWorld May 25/92; July 6/92; Vaporware 07/92; 08/92) or 4th quarter 1993
      (PC Week 09/28/92). Windows upgrades will be $295, otherwise $495
      (PC Week 04/15/92; 03/15/93).
     Other OSes
     PC-DOS 6.0: IBM's version of DOS 6.0.  It runs Windows much faster then DOS 
      6.0 due to faster file I/O and video handling (InfoWorld Feb 1, 93).
     DR DOS 6.0: same as DOS 5.0 with some extras {like built-in data compression} 
      and memory management enhancements. Still has 640K/1MB barrier.  A later 
      version {Novell DOS} of this may use a version of the Mac finder and Apple 
      file management system (PC Week 12/14/92; InfoWorld Dec 14/92).
     OS/2 2.0: Unix like features and unix like requirements; 8-16MB RAM,
      60MB {uses 17-33MB} hard drive, and 386dx CPU. This 32-bit multithreaded, 
      multitasking OS can address up to 4GB of RAM but has to use a fast swap file 
      to use more than 16 MB RAM on ISA systems using DMA {Direct Memory Access}. 
      IBM plans to use Taligent's OOPS in future versions of this 
  
  
      (InfoWorld Oct 26/92).
     AIX:  IBM's UNIX system, planned to be a subset of PowerOpen and Taligent OS.
     NeXTStep: GUI UNIX to provide NeXT features on IBM machines.  Beta out, final 
      version to be out by May 25, 1993.
     Solaris OS for x86: a SunSoft port.  A 32-bit OS with symmetric 
      multiprocessing and multithreading, built-in networking capabilities with 
      tools to allow remote configuring and adminstration features, and 
      communication package.  Client: $795,  50 users server: $1,995, 1000s users
      server: $5,995.  Developer kits-software: $495, hardware: $195.
     Mac 7.1 [working name: Star Trek]:  Apple had System 7.0 running off Intel 
      Chips and is looking at making a 7.1 version available for IBM 
      (ComputerWorld Nov 2/92; MacWeek 03/22/93). At present this is planned to run 
      on top of Novell's DR DOS, require a 486 or equivalent to run and that apps 
      will need to be recompiled (MacWeek 03/22/93).  Viewed as Novell's answer to 
      Windows NT.  The complexity of PC hardware set ups is one reason for slow 
      progress {This seems to Apple/IBM's way of leading to the PowerPC line out in 
      late 1993/early 1994 and Pink OS in late 1994-early 1995.}
     
     PowerPC
     Rumor-IBM will build its PowerPC 601 by late 1993 (InfoWorld June 8 & 15, 92; 
     MacWeek 7/13/92; PC Week 3/15/93).  It will have MicroChannel bus and XGA 
     video (Carl B Jabido), and will run native version AIX and Mac apps (PC Week 
     3/15/93); there have been no comments on compatablity of DOS or Windows apps.
     Apple's PowerPC 601 machine {Tesseract} is planned to be out Jan 24, 1994 and 
     to have MC98601/50 MHz, 4/8MB RAM, a 2.8-Mbyte floppy drive and expected to 
     sale near LC line prices {~$2000, down from projections of ~$3000 (MacUser 
     9/92:146)}
     (MacWeek 3/22/93).
     PowerOpen [A/UX 4.0]: A 32-bit preemtive multitasking OS planned to run on
      PowerPCs and 68030/40 Macs (MacWeek 7/13/92).  Intel compatibility uncertain
    (See Mac 7.1 above).  Planned base require
  
      (See Mac 7.1 above).  Planned base requirements:  68030, 8MB RAM, 80MB hard
      drive (MacWeek 4/19/93). Rumor-ahead of schedule; COULD be out by mid 1993.
      Rumor-this could be the OS for IBM's PowerPC 601 which is due by late 1993.
     Pink [Taligent OS]: Expecting delivery in 1994 (Wall Street Journal 1/12/92) 
      and may have some parts shipping in OS/2 and AIX in 1993 and Mac OS and 
      PowerOpen with the PowerPCs (MacWeek 01/25/93).
     Windows NT: Possible port (MacWeek 04/05/93).  See IBM OS section for details.
     Solaris OS: Version of this Sun Microsystems Inc UNIX OS to run on the
      Power PCs in 1994 (MacWeek 04/05/93).  One of the few OSes to directly state 
      that it will run Windows/DOS programs.  IBM OS section for details
     NeXTStep: possible port see IBM OS section for details.
     
     OS Number Crunching (Mel Park)
     Mac
      Arithmetic is done in a consistent numerical environment {SANE or Standard 
     Apple Numerics Environment}. Floating point numbers are 96 bits long when an 
     FPU is present and 80 bits otherwise. Exceptions, such as dividing by zero or 
     taking the square root of a negative number, do not cause an abort but are 
     handled in a logically consistent manner. 1/0 produces the internal 
     representation for infinity (INF).  1/(1/0) produces zero. The above treatment 
     of 1/(1/0) occurs in an FPU-equipped machine even when SANE is bypassed and 
     the FPU programmed directly.
     
     IBM
      Floating point numbers are 80-bits with a hardware FPU, 64-bits when 
     emulated.  The way they are handled is dependent on the coding of whatever 
     compiler or assembler was used for a program. On older DOS complilers 
     exceptions could cause program aborts; 1/0 and 1/(1/0) would abort to the DOS 
     prompt at the point where they occured.  Most present compilers handle this 
     better.  Result: there is little consistent handling of numbers between DOS, 
     Windows and OS/2 programs nor between programs for just one OS.
     
     Networking [Includes printing]
   WYSIWYG printing can be a problem with
  
     WYSIWYG printing can be a problem with either Mac of IBM machines especially 
     if one sends TrueType fonts to a older style PostScript printer.
     Mac
     Hardware: Built-in LocalTalk network port and a built-in printer port.  
     LocalTalk has moderate speeds (230.4 Kb/s) requires special connectors for 
     each machine ($15 and up) and can be run off of either the printer port {to 
     include very old macs} or the network port {standard today}.  Built-in 
     Ethernet is becoming common but many older Macs require a PDS or Nubus card at 
     about $150-$300 for each machine.  These cards provide three connectors and 
     transceivers {thick, thin, and 10BaseT} for Ethernet.
     The Macintosh Quadra family and some Centris models includes Ethernet 
     interface on motherboard, with transceivers available. TokenRing has been a 
     network option since 1989.
     Software: AppleTalk {the suite of protocols} standard with Mac OS, which can 
     use variety of media types.  AppleShare client software included with the OS 
     as well and can connect to file servers such as Novell Netware, 3Com 3+Open, 
     Banyan Vines, DEC Pathworks, Apple's AppleShare servers, System 7 File Sharing 
     machines, and AFP servers running on variety of UNIX hosts.  MacTCP allows 
     typical TCP/IP communications (telnet, ftp, NFS, rlogin).  A later version 
     will have Unix X/Open Transport Interface (XTI) built-in by the end of 1993 
     (MacWeek 04/12/93).  Third-party software to connect to NFS servers.  DEC 
     Pathworks provides DECnet support.  Peer-to-peer file sharing software 
     built-in to System 7.1 (See OS section).  Full server software is extra. 
     Printing requires connection of the printer and the printer being selected in 
     the chooser.  Changing printers is by selecting a different name in the 
     chooser.  The same is true of connecting to servers.
     Printing bugs:  Monaco TrueType font is different then the screen bitmap font.
      {QuickDraw QX is suppossed to fix this and similar problems.}
     
     IBM  
   Hardware: LocalTalk [not wide
  
     Hardware: LocalTalk [not widely used], Ethernet,  and TokenRing.
     Software: Novell Netware, Banyan Vines, DECNet, Windows/Work Groups, AppleTalk 
     protocols, and AppleShare {subset of AppleTalk}.
     Each of the MS-DOS networking schemes are, in general, totally incompatible 
     with the others. Once you have chosen one, you are pretty much locked-in to 
     that product line from then on.  Windows/Work Groups is a little more 
     forgiving and removes some of this problem.  Novell Netware is the biggest, 
     {~80 percent of the corporate market.} and in general is more powerful and 
     offers better control/management/security than AppleShare, but it's also more 
     complex to set up and manage.  This will change due to the use of the Mac 
     finder and file management system by Novell. (PC Week 12/14/92 & 12/28/92;  
     InfoWorld Dec 14/92; MacWeek 3/22/93)
     Printing {Very OS dependent}
     DOS: If it's a single user, then you plug the printer into the parallel port, 
      and don't worry about it {Tweeking may be needed with poorly written 
      software}.  Network Printing is not controlled by the system, but is mostly 
      implemented by the actual program, therefore performance varies from one 
      software program to the next.
     Windows 3.x: supports standard drivers and can do a good job of showing ""jobs"" 
      in the print queue, but it always lists printers as ""active""... even if they 
      are not.  This becomes a problem if there are several incompatible printers 
      on the same net, because there's no way for software to reliably determine 
      which printer is active right now.  Windows for Workgroups is more Mac-like 
      and intelligent about this.
     OS/2: Mac-like; the os deals with printers, with apps making calls to the OS.
     Printing bugs: due to poor programing some programs for all the above OSes do 
     not have WYSIWYG printing.  This is the fault of the programs in question and 
     not that of the OS involved.
     
   Price issue: This is very dynamic with Mac providing more build-in features 
  
     Price issue: This is very dynamic with Mac providing more build-in features 
     than IBM and IBM being more 'get only what you need' then Mac and price wars 
     by both worlds.
     The IBM machines' modualar nature prevents any kind of true hardware 
     standarization, which in turn requires OSes and programs to be very complex to 
     handle ALL the variation in hardware.  When one adds all the standard Mac 
     hardware features to an IBM {built-in input/output sound support, SCSI, PDS,  
     built-in monitor support, built-in networking, standard mouse interface, and 
     NuBus 90 in higher machines} the Mac tends to be cheaper then an equivalent 
     equipted IBM machine {Especially since some IBM monitors can be used with Macs 
     which cuts some more of the Mac's cost (MacUser Aug 1992:158-176)}.
      Some prices using some of the info in this sheet and MacUser April 1993.
     All Macs below come with a PDS slot, VRAM, and SCSI-1 built in.  Except where 
     noted, monitor is extra and a built-in monitor interface is provided {no card 
     needed except for 24-bit color display}.
     IBM planned a $1,200 386SLC/25MHz model with a 60MB hard drive and color VGA 
     monitor {~VRAM} (MacWeek 8/17/92) {sounds like a Color Classic without SCSI-1, 
     sound support, built-in network support, FPU socket, built-in expansion to 
     16-bit color, etc}.
     Color Classic:  $1,389 - 030/16MHz with 16-bit data bus {~386sx/20MHz 
     equivalent}, 4/80, FPU socket, and built-in monitor.
     LCIII: $1,499 - 030/25MHz {~386dx/33MHz equivalent}, and 4/160.
     Centris 610: $2,899 - 68LC040/20MHz {Depending on the program ~486sx/40 or 
     ~'486dx2sx'/20[40]MHz equivalent}, 8/230, built-in ethernet, 300i CD-ROM, a 
     PDS/NuBus 90 slot and VRAM for 16-bit color.
     Centris 650: 040/25MHz {Depending on the program ~486dx/50 MHz or 486dx2/50 
     MHz equivalent} with a PDS and 3 NuBus 90 slots. $3,189 {ethernet, 8/80}; 
     $3,559 {ethernet, 8/230}; $3,999 {ethernet, 8/230, CD-ROM, VRAM for 16-bit 
     color}
     
     Bibliography notes
   'Vaporware' is available in the digest/vapor directory by FTP on sum
  
     'Vaporware' is available in the digest/vapor directory by FTP on sumex-
     aim.stanford.edu [36.44.0.6] and was by Murphy Sewall {last issue: April 93.}
     'Info-IBMPC Digest' back issues are available from wsmr-simtel20.army.mil in 
     directory PD2:<ARCHIVES.IBMPC>
     'Dictionary of Computer Terms 3rd ed.' (ISBM 0-8120-4824-5)
     
     These are the facts as they were known to me on 4/15/93 and may be changed by 
     new developments, announcements, or corrections.  Corrections to the 
     information are welcome.
     Please email corrections to 
     CompuServe ID: 72130,3557
     AOL: BruceG6069
     Internet:  [email protected]
     
     Final note: Since there is NO comp.sys.ibm.pc.advocacy group this has been 
     posted to the closest relevent groups {comp.os.ms-windows.advocacy, 
     comp.os.os2.advocacy, and comp.sys.ibm.pc.misc}.  Also since some Mac vs IBM 
     articles have been showing up in comp.sys.mac.hardware I have included that 
     newsgroup in the posting. {Don't site the comp.sys.mac.* FAQ as a reason not 
     to post to comp.sys.mac.hardware, since the FAQ itself does not follow 
     internet guidelines, especially the de-facto ""[all] the FAQs for a newgroup 
     hierarchy should be posted to ALL newsgroups in the hierarchy"" standard.}
     
     ""Eliminate the impossible and what ever remains, no matter how improbable,
     is the truth"" -- Sir Arthur Conan Doyle through Sherlock Holmes in The 
     Adventure of the Beryl Coronet, The Adventure of the Blanched Soldier, Sign of 
     Four and The Adventure of the Bruce-Partington Plans.' in object 'newsgroup5'
     'To the best of my knowledge there aren't any problems with Quadras and
     blind transfers.  Trouble with blind transfers usually means the programmer
     screwed up the TIBs or didn't test their driver with the device in question.
     Well designed TIBs poll or loop at every point where delays of >16<c2><b5>sec occur.
     This usually occurs at the first byte of each block of a transfer but some
     devices can ""hiccup"" in the middle of blocks.  If this happens in the middle
   of a blind transfer there is
  
     of a blind transfer there is the possibility of losing or gaining a byte
     depending on which direction the tranfer was going.  In anycase the SCSI Manager
     will eventually return a phase error at the end of the transaction because
     it is out of sync.  Actual data loss would only occur if the driver didn't
     pay attention to the errors coming back.
     
     Note that this effect is not caused by anything actually on the SCSI Bus but
     rather by the transfer loops inside the SCSI Manager.  The problem occurs when
     the processor bus errors trying to access the SCSI chip when the next byte
     hasn't been clocked yet.  Also note that the Bus Error is dealt with by a bus
     error handler and doesn't crash the machine...' in object 'newsgroup5'
     ' 
     For your information, Lankford is injured (I think it is his shoulder or rib
     cage), so he could not use him as a pinch hitter.
      
     I do believe that Whiten was a very good aquisition for the Cards.  He does
     not have too much offensive capabilities, but he is an awesome defensively.
     Since when have the Cardnials actually thought of offense instead of defense?:)
     I forgot who St. Louis gave up for him, but it was not too much.
      
     As far as Gilkey is concerned, he is a leftfielder and so is Brian Jordan, who
     beat him out.  I expect to see a Gilkey/Jordan platoon in LF.
      
     I agree with you on this one.  As soon as Larkin threw that ball, I knew that
     Lankford was a dead bird.  But how could Dent have known that Larkin would make
     a perfect throw?
      
     I strongly believe that Torre is one of the best managers in baseball.  Don't
     forget the overachieving Cards of '91 that won all those close games and went
     from last place to second place (although they were oveshadowed by the Braves/
     Twins last to first climb).  He won a division title, and barely lost a pennant
     race when he was with the Braves (why Atlanta ever even considered firing him I
     will never understand).  With Torre at the controls, the Cardinals are heading
   in the righ
  
     in the right direction.
      
     One more thing, one game does not make a season.  Yes, they lost to the Reds,
     but with the second best pitching staff in the National League (first in the
     East), and a pretty good offense, the Redbirds will win a lot more than they
     lose.  Maybe this is the year that they will go all the way.
      
     Charles, a very enthusiastic Cardnials fan
      
       -----------------------------------------------------------------
       <c2><ba> Charles Rosen            <c2><ba>      THIRTY-FOUR TO THIRTEEN!!!    <c2><ba>
       <c2><ba> University of Alabama    <c2><ba>   NATIONAL CHAMPS!!!  ROLL TIDE!!! <c2><ba>
       <c2><ba> Tuscaloosa, AL           <c2><ba>         (Need I Say More?)         <c2><ba>' in object 'newsgroup5'
     ': 
     : I am a Mormon.  I believe in Christ, that he is alive.  He raised himself
     : [Text deleted]
     :
     : I learned that the concept of the Holy Trinity was never taught by Jesus
     : Christ, that it was ""agreed to"" by a council of clergymen long after Christ
     : was ascended, men who had no authority to speak for him.
     :
     If Jesus never taught the concept of the Trinity, how do you deal with the 
     following:   
     
        Mat 28 18 Then Jesus came to them and said, ""All authority in heaven
        and on earth has been given to me.
     
        Mat 28 19 Therefore go and make disciples of all nations, baptizing
        them in<c2><b9> the name of the Father and of the Son and of the Holy Spirit,
     
        Mat 28 20 and teaching them to obey everything I have commanded you.
        And surely I am with you always, to the very end of the age."" 
     
     Also Jesus speaking:
     
        Act 1 5 For John baptized with<c2><b9> water, but in a few days you will
        be baptized with the Holy Spirit.""
     
     I believe that you may have overlooked some key verses, that are crucial to
     the Christian faith. ' in object 'newsgroup5'
   checking data for ASCII and uncompressed saves ...
  
βœ”  checking data for ASCII and uncompressed saves

  
   checking examples ...
  
─  checking examples ... NONE

  
   checking for unstated dependencies in β€˜tests’ ...
  
βœ”  checking for unstated dependencies in β€˜tests’

  
   checking tests ...
  
─  checking tests

  
   Running β€˜testthat.R’
  

  
E  Running β€˜testthat.R’ (4.7s)

  
   Running the tests in β€˜tests/testthat.R’ failed.
   Last 13 lines of output:
     ══ testthat results  ═══════════════════════════════════════════════════════════
     [ OK: 4 | SKIPPED: 0 | WARNINGS: 0 | FAILED: 19 ]
     1. Error: locking (@test-defensive_programming.R#22) 
     2. Error: cloning (@test-defensive_programming.R#35) 
     3. Error: Can't launch $do_topic_intrusion_test() when no test content (@test-defensive_programming.R#52) 
     4. Error: generate_test_content (@test-generate_test_content.R#4) 
     5. Error: check_complete (@test-generate_test_content.R#11) 
     6. Error: generate_topic_content (@test-generate_test_content.R#29) 
     7. Error: defensive programming (@test-multiple_objs.R#14) 
     8. Error: Correct UI (@test-summarize_oolong.R#14) 
     9. Error: check_calculation_word_intrusion_multiobject (@test-summarize_oolong.R#27) 
     1. ...
     
     Error: testthat unit tests failed
     Execution halted
βœ”  checking for detritus in the temp directory

  
   
   See
     β€˜/tmp/RtmpW6ZC82/oolong.Rcheck/00check.log’
   for details.
   

── R CMD check results ─────────────────────────────────────── oolong 0.2.2 ────
Duration: 29.5s

❯ checking tests ...
  See below...

❯ checking S3 generic/method consistency ... WARNING
  print:
    function(x, ...)
  print.oolong_gold_standard:
    function(obj)
  
  print:
    function(x, ...)
  print.oolong_summary:
    function(oolong_summary)
  
  plot:
    function(x, ...)
  plot.oolong_summary:
    function(oolong_summary)
  
  See section β€˜Generic functions and methods’ in the β€˜Writing R
  Extensions’ manual.

❯ checking for missing documentation entries ... WARNING
  Undocumented code objects:
    β€˜afinn’ β€˜newsgroup_stm’ β€˜newsgroup_topicmodels’ β€˜newsgroup_warplda’
    β€˜newsgroup5_dfm’ β€˜summarise_oolong’ β€˜summarize_oolong’ β€˜trump2k’
  Undocumented data sets:
    β€˜afinn’ β€˜newsgroup5_dfm’ β€˜newsgroup_stm’ β€˜newsgroup_topicmodels’
    β€˜newsgroup_warplda’ β€˜trump2k’
  All user-level objects in a package should have documentation entries.
  See chapter β€˜Writing R documentation files’ in the β€˜Writing R
  Extensions’ manual.

❯ checking Rd \usage sections ... WARNING
  Undocumented arguments in documentation object 'create_oolong'
    β€˜bottom_terms_percentile’ β€˜n_top_topics’ β€˜target_value’ β€˜construct’
  Documented arguments not in \usage in documentation object 'create_oolong':
    β€˜bottm_terms_percentile’ β€˜n_top_topic’
  
  Functions with \usage entries need to have the appropriate \alias
  entries, and all their arguments documented.
  The \usage entries must correspond to syntactically valid R code.
  See chapter β€˜Writing R documentation files’ in the β€˜Writing R
  Extensions’ manual.

❯ checking data for non-ASCII characters ... WARNING
    Warning: found non-ASCII strings
    'Yes! what you are saying is absolutey true, but what you fail to mention is the
    fact that the LCIII uses the new 72 pin simms which allow 32 bit access to
    each simm. In the case of the LC III, it only has one simm slot, but accesses will
    be 32 bits wides.
    ***************************************************************************
     The views expressed in this posting those of the individual author only. 
    [BBS Number:(613) 848-1346      MacContent is Victoria<c3><95>s first Iconic BBS!]
    ***************************************************************************
    
    ' in object 'newsgroup5'
    'Hi !!! This is the response for Wayne Michael...and certainly for other-one :-)
    
    
    I'm sorry for...
    
        1)  The late of the answer but I couldn't find xv221 for msdos 'cause 
    	I forgot the address...but I've retrieve it..
    
        2)  Posting this answer here in comp.graphics 'cause I can't use e-mail,
    	not yet....
    
       2) My bad english 'cause I'm a Swiss and my language is french....
    
    
    After a long time I retrieve the address where you can find XV for Dos...
    
    	Site	: omnigate.clarkson.edu
    	Aliases	: grape.ecs.clarkson.edu
    	Number	: 128.153.4.2
    
    	/pub/msdos/djgpp/pub
    
    	it's xv221.zip (?) I think...
    
    
    Certainly you read the other answer from Kevin Martin... He write about DV/X 
    (?). 
    
        What is it ?????? Could Someone answer ????
    	
    	Thanx in advance.... 
    
    -- 
    ---------------------------------------------------------------------
    *								    *
    *  Pascal PERRET     		|	[email protected]         *
    *  Ecole d'ing<c3><a9>nieur ETS	|	(Not Available at this time)*
    *  2400 Le LOCLE		|				    *
    *  Suisse 							    *
    *		     !!!! Enjoy COMPUTER !!!!			    *
    *								    *' in object 'newsgroup5'
    'Hi ... Recently I found XV for MS-DOS in a subdirectory of GNU-CC (GNUISH). I 
    use frequently XV on a Sun Spark Station 1 and I never had problems, but when I
    start it on my computer with -h option, it display the help menu and when I
    start it with a GIF-File my Hard disk turns 2 or 3 seconds and the prompt come
    back.
    
    My computer is a little 386/25 with copro, 4 Mega rams, Tseng 4000 (1M) running
    MS-DOS 5.0 with HIMEM.SYS and no EMM386.SYS. I had the GO32.EXE too... but no
    driver who run with it.
    
    Do somenone know the solution to run XV ??? any help would be apprecied..
    		
    	Thanx in advance !!!! 
                 
    -- 
    ---------------------------------------------------------------------
    *								    *
    *  Pascal PERRET     		|	[email protected]         *
    *  Ecole d'ing<c3><a9>nieur ETS	|	(Not Available at this time)*
    *  2400 Le LOCLE		|				    *
    *  Suisse 							    *
    *		     !!!! Enjoy COMPUTER !!!!			    *
    *								    *' in object 'newsgroup5'
    '
    KY>To all those who have PASSATs, do you recommend using Super Unleaded or just
    KY>regular Unleaded Gasoline. I have been using Regular Unleaded. A friend of mine has
    KY>a Jetta and has always used Super Unleaded and thinks I should be using the same;
    KY>however, I believe the advantages of Super Unleaded for CARs $30000 and under
    KY>has been overplayed by guess who: the companies who sell them, because that is
    KY>where they make the most PROFIT. A Ralph Nader report and other consumer advocates
    KY>have in the past spoken against those oil companies.
    
    Your Passat VR6 is designed to run on premium gasoline, however the
    engine electronics will retard the timing so that no harm wil be done
    to the engine with lower octane fuel.
    
    You will likely, however, get somewhat more power and fuel mileage
    (especially in hot weather) out of this particular engine if you do
    run it on premium. 
    
    Tom Neumann
    ---
     <c3><be> DeLuxe<c3><bd> 1.25 #350 <c3><be> I sell Volkswagens.' in object 'newsgroup5'
    '
    IMHO this whole discussion named ""Motif looks like MS-Windogs"" is totally
    stupid. The only thing remotely influenced here can be the Motif Window
    Manager, that features an arrangement of buttons and menus somewhat
    similiar to this of the MS-W windowmanaging agent, however its name is.
    But MWM is only a SMALL part of Motif, in fact, MWM and Motif can work
    without each other, and if one doesn't like MWMs outfit for some reason,
    he switches to another windowmanager. All this doesn't influence Motif,
    which is a toolkit of widgets to write applications, and this toolkit
    is IMHO uncomparable to MS-W, because it is much more wellorganized and
    features alot of goodies more than the MS-W interface.
    
    You cannot say ""A Porsche looks like a VW K<c3><a4>fer"" ONLY because they have the
    wheel and the gear at the same position. Motif and MS-W are complete
    different worlds, only one element of the Motif world has some gear and wheel
    at the same position as MS-W.
    ' in object 'newsgroup5'
    'Hello,  I am not sure if this is the right conference to ask this
    question, however, Here I go..  I am a commercial fisherman and I 
    fell about 3 weeks ago down into the hold of the boat and broke or
    cracked a rib and wrenched and bruised my back and left arm.
      My question,  I have been to a doctor and was told that it was 
    best to do nothing and it would heal up with no long term effect, and 
    indeed I am about 60 % better, however, the work I do is very 
    hard and I am still not able to go back to work.  The thing that worries me
    is the movement or ""clunking"" I feel and hear back there when I move 
    certain ways...  I heard some one talking about the rib they broke 
    years ago and that it still bothers them.<c3><bf>.  any opinions?
    thanx and cheers' in object 'newsgroup5'
    ': 
    : Can you please point to something, anything, that proves to me that
    : the universe cannot possibly be explained without accepting as a fact
    : the existence of a god in precisely the way your holy book describes?
    : 
    : Can you please convince me that your religion is more than a very
    : cleverly-constructed fable, and that it does indeed have some bearing
    : on my own personal day-to-day life?
    
    Would you consider the word of an eye-witness (Peter) to testify to the
    events surrounding Jesus' life?
    
    
     2Pe 1 16 <c2><b6> We did not follow cleverly invented stories when we told you
     about the power and coming of our Lord Jesus Christ, but we were 
     eyewitnesses of his majesty.
    
     2Pe 1 17 For he received honor and glory from God the Father when the
     voice came to him from the Majestic Glory, saying, ""This is my Son, whom 
     I love; with him I am well pleased.""<c2><b9>
    
     2Pe 1 18 We ourselves heard this voice that came from heaven when we
     were with him on the sacred mountain.
    
     2Pe 1 19 <c2><b6> And we have the word of the prophets made more certain, and
     you will do well to pay attention to it, as to a light shining in a dark
     place, until the day dawns and the morning star rises in your hearts.
    
    This is a documented testimony. Perhaps further research on your part is
    warranted before making more statements. There is considerably more to study
    in Peters' two books of testimony regarding the Messiah. It is well worth 
    your time, Mr. Brian.' in object 'newsgroup5'
    '{Send follow ups to comp.sys.mac.advocacy. Sorry about the header but the 
    Pnews here does not let one easily change the headers and I gave up after a 
    year of trying. This sheet is also available by FTP on sumex-aim.stanford.edu 
    (36.44.0.6) in the info-mac/report as mac-ibm-compare177.txt.}
    Mac & IBM Info-Version 1.7.7
    
    The reason for this general data sheet is to consolidate and condense the 
    information out there, so that people in both camps can be clear and accurate 
    about what they are saying about their machines.  Since computer technology 
    is always changing there are always going to be points in which the sheet will 
    be lacking or incorrect on information.  So, please just don't say the sheet 
    is incomplete or incorrect but also give me clear and concise information to 
    make the needed corrections.  All prices are in US dollars.
    To keep this data sheet organized please provide, if possible, article 
    citations for the information provided or corrected and keep the opinions to 
    a minimum.  As this is a general data sheet, keep the info provided simple so 
    I can understand what is being talked about and can explain it to others. 
    Finally, keep the information relevant to the section corrected {For example, 
    OS code in ROM is software contained in hardware, so no more of the 'but it 
    is supported in OS disk software' data for the hardware section, please}. 
    Thank you.
    Note:  for proper reading off line this document should be in 9 point Monaco.
    
    Special thanks to [email protected] (Chihuahua Charlie), 
    [email protected] (Andrew Klossner), [email protected] (Peter Bell), 
    [email protected] (Bill Coleman), [email protected] (Carl B Jabido), d88-
    [email protected] (Jon Wtte) [email protected] (Ephraim Vishniac), 
    [email protected] (Faisal Nameer Jawdat), [email protected] 
    (Gabriel Sidler), [email protected] (Julian Harris), 
    [email protected], [email protected], 
    [email protected] (Matt Healy), [email protected] (Mark Allerton), 
    [email protected] (John H. Kim), [email protected] (Mel 
    Martinez), [email protected] (Nan Zou), pwagner%us.oracle.com, 
    [email protected], [email protected] (Wolfgang Strobl), 
    [email protected], [email protected], 
    [email protected], [email protected] (Jay C. Beavers), Lewis 
    [email protected], [email protected] (Bradley Lamont), 
    [email protected] (""Cerro, Joseph A""), [email protected] (Mel Park), 
    [email protected] (Jeff Logullo), [email protected] (Robert 
    Irlbeck), and [email protected] for providing some of the information that made 
    this list possible.
     Contents
    CPUs
    Hardware
     Monitor support
     Expansion
    Operating system
     OS Number Crunching
    Networking & Printing
    
    The CPUs
     Note: I am only showing Motorola & Intel CPUs used in Mac and most IBM/PC 
    clone machines. For example, since Apple never used the Motorola 68008 and 
    68010 in the Mac these chips are not listed. Years only appear with dead CPUs 
    and indicate first to last year used as a CPU.
    Cache note:  both IBM and Mac use caches external to the CPUs. These external 
    caches increase the speed of the CPU but are not a part of it.  In most of 
    the present Macs there are external caches built-in while with IBM they are 
    optional {Though machines are generally sold with them installed}.  Since 
    there are many different external caches {CPU-Mac and IBM; SCSI, video, disk 
    and static RAM-Mac}, each having a different effect on CPU performance, and 
    they are machine {32KB static RAM cache in IIci, IIfx, and IIvx}, seller 
    {cache card installed in some IIcis} or expansion {IIci cache cards go up to 
    128KB} dependent, I have decided to leave them out of the list.
    Note:  ALU is industry's de-facto standard for CPU bit classification.
    IBM     ALU  Registers    External     CPU     Features/
    CPU                     bus  address  cache    Notes
    8088(6) 16      16    8 (16)   20     none     {1981-9} {198?-9}
    80186   16      16      16     20     none     {198?-9?} segmenting
    80286   16      16      16     24     none     80186 + Protected Mode
    80386   32      32      32     32     none     MMU & 32-bit Protected Mode 
    486sx   32      32      32     32    one 8K    80486 - FPU
    80486   32      32      32     32    one 8K    80386 & FPU
    486dx2  32      32      32     32    one 8K    doubled internal clock rate*
    486dx3  being demoed. 20/60 MHz, 25/75 MHz, and 33/99 MHz planned.
    Pentium 32      32      64     32    16K code, CISC chip with RISC-like  
       5                                 16K data  features, 2-issue superscalar, 
     [P 5]                                         386 Write-Back, 64-bit
                                                   FPU path, pipelining; Speed:
                                                   SPECint92: 64.5; SPECfp92:
                                                   56.9**
    
    386sx: 386 chip with 32-bit internal/16-bit external architecture.
    286 and 386sx chips can address to 16MB maximum RAM.
    386sl: low power(3.3V) 386sx with built-in power management.  Used mainly on 
    laptops.
    386slc: IBM 5V 386sx with a 16k on-chip cache added (John H. Kim).  As far as 
    John H. Kim knows it is only used on IBM models.
    486slc: Neither of two chips that have this name have a FPU.  Cyrix: basically 
    486sx in 386sx socket with 1k cache and improved integer math speed.  IBM: 
    equivalent to the 486sx except it has a 16k on-chip cache.
    
    * ex. for 486dx2/50, chip runs 50 MHz rest of machine runs at 25 MHz.
    ***(PC Week 04/12/93; PC Mag 4/27/93:138) ""The latest in a line of CISC chips"" 
    (PC Mag 4/27/93:110)  Samples released March 22, 1993, but machines will not 
    be announced until at least May 1993 (PC Week 2/08/93).  $1000 a CPU; systems 
    $5000 and up (PC Mag 4/27/93:110). 
    
    Mac     ALU  Registers    External     CPU     Features/
    CPU                     bus  address  cache*   Notes
    68000   16      32      16     24      none    {1984-1993} 16MB limit**
    68020   32      32      32     32    256 code  {1987-1992} parallel processing
    68030   32      32      32     32    two 256   68020 + MMU, 16K burst mode
    68LC040 32      32      32     32     two 4K   68040 - FPU
    68040   32      32      32     32     two 4K   MMU, FPU, pipelining, doubled 
                                                   internal clock rate***
    68050	development discontinued in favor of 68060
    68060   32      32      32     32     Branch   68040 + a better FPU,  
                                          target   superscaler pipelining, cache 
                                                   line bursts, equivalent 
                                                   capabilities & speeds to 
                                                   Pentium*#
    
    *includes data and instruction {code} caches.  The 68030, 68LC040, & 68040 
    have built-in caches for both.
    **68000 Mac designs created a 4MB limit.
    ***The 040 has 2 clocks, an internal processor clock [PCLK] that is 2x freq of 
    external bus clock [BCLK] which is the one used to rate the chips 
    (Bradley Lamont; Motorola 68040 data book).  Some compilers produce programs 
    sensitive to the PCLK and so they act as if the 68040 was a clock doubler 
    chip, but this very compiler and program dependent.  Compliers maybe written 
    to allow programs to take consitant advantage of the 68040's PCLK in the 
    future.  As it is now, studies such as one in a Byte article {which showed 
    040/25 ~486/50 and roughly ~486dx2/50} are very dependent on the machine, OS, 
    and programs tested and as such are not representative of general performance.
    *#Motorola claims (PC Week 09/07/92; 09/14/92).
    
    As the PowerPCs are to be in both IBM and Mac machines I have listed them 
    separately to eliminate redundancy.  They are Motorola CPU RISC chips.
    
    PowerPC ALU  Registers    External     CPU     Features/
    CPU                     bus  address  cache    Notes
    MC98601 32      32    32 int   64     32K      Speed:  SPECint92: 50; 
     [601]                32 fp         combined   SPECfp92: 80*
                                          I/D      
    MC98603: low power MC98601 for desktop & portable systems. Out by end of 1993.
     [603]
    MC98604: high performance MC98601 for high end machines. Out by 1st Q 1994.
     [604]
    MC98620 64      64    32 int   64     32K      Out by mid 1994.
     [620]                32 fp         combined    
                                          I/D      
    
    *(PC Week 04/12/93; PC Mag 4/27/93:138).  Select venders were sent sample 
    MC98601 chips by Motorola 2/93 (PC Week 2/08/93), and some NuBus boards 
    containing early samples of PowerPC 601 have been given to Apple's ""A-list"" 
    developers (PC Week 12/7/92; MacWeek 12/14/92).  MC98601/50MHz-$280;
    MC98601/66MHz-$374 (PC Week 4/12/93).  Systems: ~$3500 with ~$2000 versions
    out by mid 1994 (PC Week 4/12/93).
    
    CPUs Comparison List
    As a general rule of thumb Motorola chips are faster than Intel chips at the 
    same frequency {030/25 ~= 386/33; 040/25 ~= 486dx/50}, but Intel has chips at 
    higher frequencies than Motorola, so this evens out.  The Macintosh Bible 4th 
    ed. supports the comparisons between Intel and Motorola chips for the 68020 
    and above.
    
    <=80186    ~ 68000 {16-bit vs 16/24/32-bit chip [data path/address 
    lines/data & address registers].  The 4MB limit on the 68000 Macs brings it 
    down to the 80186 and lower chips, otherwise it would compare to the 80286.}
    
    286        ~ 68020 {hardware segmenting vs. 68020's 32-bit ALU and these chips 
    come have no usable built-in MMU unlike their successors [80386, 68030].  The 
    hardware segmenting's protected mode is used by OS/2 1.0 => and Windows 3.X. 
    The use of the hardware segmenting and their 16-bit nature put the 286 between 
    the 60000 and 68030 in features and the LC's 16-bit data path strenghthens the 
    286 ~ 68020 comparison.}
    
    386       ~ 68030 {Two 32-bit chips with MMUs, and protected memory.  A/UX 3.0 
    is at present the only Mac OS to use the 68030's protected memory feature for 
    apps.  System 7.x uses this feature to protect a RAM disk created by the 
    Memory control panel but this is supported only on Powerbooks and Quadras.  
    The Color Classic and LCII 16-bit hardware data paths makes the 68030s in them 
    comparative to 386sxs.}
    
    486sx   ~ 68LC040 {same as 486 and 68040 without the FPU; used as a low cost 
    solution for people who do not need the FPU.  Only with programs sensitive to  
    PCLK & pipelining does the 68LC040 behave like 486dx2 - FPU or a '486dx2sx'.}
    
    486     ~ 68040 {two 32-bit microprocessors with built-in FPU, MMU, 8K 
    internal cache (which is implemented as two 4K caches in the 68040 and one in 
    the 486).  Only with programs sensitive to PCLK & pipelining does the 68040 
    behave like a 486dx2.}
    
    Pentium   ~ 68060 {Both are planned to be superscalar but both have heat 
    problems.  These chips may flounder against the cheaper (PC Week 3/08/93; 
    4/12/93; PC Mag 4/27/93:110), earlier released (PC Week 12/7/92; MacWeek 
    12/14/92; PC Week 2/08/93), less leat producing {160 degrees F for Pentium
    (PC Mag 4/27/93:118)}, and partly ported to PowerPC chips.} 
    
    PowerPC   = PowerPC {This CPU line is planned to run programs from DOS, 
    Windows 3.x, OS/2 and Mac OS on top of PowerOpen-A/UX 4.0 [UNIX] and later 
    Pink [Taligent OS] by using emulators or, if necessary, the OSes themselves in 
    a 'shell' a.k. how SoftPC or OS/2 does DOS.}
    
    Hardware 
    {In an effort to remove the 'reconfiguring the system almost every time you 
    add something' requirement for add-in cards, drivers, video, and operating 
    systems in the IBM world, Intel, Microsoft and 12 other hardware and software 
    developers are working out 'plug and play' standards (PC Week 03/08/93).}
    Color Support/Display
     Mac: 30.24 MHz Pixel Clock standard.  All present Macs support the use of 
    32-bit color through 32-bit color QuickDraw in ROM.  32-bit color QuickDraw 
    allows an almost transparent capability to display and edit X-bit images in Y-
    bit color and retain ALL the colors of Y-bit color [Where X and Y 
    independently are 1, 2, 4, 8, 16, or 32] regardless of monitor resolution {63 
    dpi [12"" color] to 94 dpi [PaletteBook]} or monitor type {including 
    autosynchronous VGA, MCGA and SVGA monitors with ranges including 66.7 hz 
    vertically and 35 kHz horizontally and only a hardware video adaptor (MacUser 
    Aug 1992: 158-176).  Older machines that supported color {SE/30, II, IIX, and 
    IIcx} had only 8-bit color in ROM and needed a software patch to use 32-bit 
    color (MacUser Special 1993:28-29).  
    To keep costs down and speed up most Macs have only 8 or 16 bit display 
    capability built-in, but most of those can be expanded to display 24-bit 
    color.    Presently QuickDraw is optimized for 72 dpi display; QuickDraw QX 
    will change this.
    In addition, QuickDraw allows, in Macs with a NuBus slot, more then one 
    monitor to be used in any combination, from two monitors showing the same 
    thing to multiple monitors acting as one large large monitor with any degree 
    of overlap of the pictures.
    VRAM: Video RAM.  Standard for present non-PowerBook Mac's handling of 
     built-in video {from a 32-bit color palette}. VRAM provided runs a 8-bit
     color 640x480 display; expandable to 16-bit color or a 8-bit 832x624 display. 
    Sound output:  Standard in all Macs since the 128K.  Stereo sound became 
     standard with the SE/30.
    
    IBM:  Even though PCs have ROM BIOS definitions of how the operating system 
    interacts with the video hardware (Nan Zou), the use of drivers bypassing 
    BIOS, video hareware inconsitancies {see Super VGA below} and nonstanderzation
    of clone BIOS have left resolution of video display hardware, OS and program 
    interaction up to the OS and video hardware in question (Faisal Nameer 
    Jawdat). In addition, IBM and clone makers never bothered to provide a 
    standard hardware mechanism for software to determine what display mode is 
    actually present (Matt Healy) nor a standardized screen-drawing toolbox {like 
    Mac's QD}. As a result the OS must be very well written to detect some modes, 
    especially with some third party cards or to use them consitantly {At present 
    things are so dependent on the interaction of the program, OS, print driver 
    and monitor card that editing 32-bit pictures regardless of color mode, OS, 
    and monitor type/card combination as one can do on the Mac is impossible with 
    an IBM.  For example, one cannot edit a 32-bit color picture done on a OS/2 
    486 with a SVGA monitor on a 386 with VGA {18-bit color palette} and DOS 5.0 
    and still have ALL the colors one started out with}.
    Later IBM machines will have integrated graphics accelerators, faster 
    processors, and modular upgradeability and may have built-in sound cards, CD 
    ROM, and Ethernet (PC Week 12/14/92).  
    MDA: Monocrome Display Adapter
     original character-mapped video mode, no graphics, 80x25 text.
    CGA: Color Graphics Array
     320x200 4 colors or 640x200 b/w, 16 color palette, bad for the eyes.
    EGA:  Enhanced Graphics Array
     640x350 16 colors from 64 color palette [and some lower res]; some versions 
     could run at 256 colors, bearable on the eyes.
    VGA:  Video Graphics Array*
     320x200 at 256 colors, 640x480 at 16 colors, and some others, these two are 
     the most commonly used.  All modes have a 256K CLUT, from a 
     18 to 24-bit {IBM} or a 32-bit {Mac} color palette.  25.175 MHz Pixel Clock
     (Mel Martinez).  Monitors use analog input, incompatible with TTL signals
     from EGA/CGA etc. 
    MCGA:  Multi-Color Graphics Array*
     subset of VGA that provides all the features of MDA & CGA, but lacks some EGA 
     and VGA modes, like VGA 640x480x16 (Dictionary of Computer Terms-DCT).  
     Common on the initial PS/1 implementation from IBM and some PS/2 Models.
    SVGA:  Super VGA*
     This is not a standard in the way the others were, but instead was a 'catch 
     all' category for a group of video cards.  As such, with each manufacturer 
     using their own implementation scheme, SVGA was chaos with people debating
     as to what is SVGA and what is not.  In an effort to make SVGA more of a 
     standard VESA was established and is used in the newer units, but things
     are still a mess.  Video is either 512K [~1990] or 1M [today], resolution
     of 800x600 and 1024x768 at 16 and 256 colors are common, newer ones [since 
     1990] have the Sierra HiColor RAMDAC, giving 15-bit 32,768 colors at 800x600, 
     some of the very newer ones [~6/92] can do 24 bits per pixel [usually 
     at 640x480].  Speedwise, too much variation, some very slow [Western Digital 
     Paradise based, for example], some very fast [S3 86C911 based, for example], 
     some are so-so [like Tseng ET4000, a very popular chipset].  Some limiting 
     factors overcome by 40MHz VL Bus & 386's linear address mapping were: 
     8.33 MHz ISA bus, AT architecture where the CPU looks at the card through a 
     64K ""window"", etc.
    Other non-SVGA standards: 
    8514/a:
     IBM's own standard, interlacing graphics accelerator with graphics functions 
     like linedraw, polygon fill, etc. in hardware. Some clone implementations 
     from ATI are the fastest video available today, though some clone models do 
     not have interlacing. 
    TMS34010/34020: high end graphics co-processors, usually >$1000, some
     do 24-bit, speeds up vector-oriented graphics like CAD.
    XGA:  eXtended Graphics Array
     newer and faster than 8514/a, only available for MCA bus-based PS/2s, clones 
     are coming out soon.  Emulates VGA, EGA, and CGA (DCT).  Max resolution at 
     1024x768x8b, same as 8514/a, also some 16 bpp modes.
    XGA-2
     Accelerates graphics functions up to 20 times faster than standard VGA in
     Windows and OS/2, including line draws, bit and pixel-block transfers, area
     fills, masking and X/Y addressing. Has an intelligent way to detect and co-
     exist with other XGA-2 cards, so multiple desktops like on the Mac may not be 
     far away.  Since this is an architecture, its resolution and color depth 
     isn't fixed {IBM implements only 16-bit [65,536] color, while other 
     companies can have 24-bit color through IBM technical licenses}. Refresh 
     rates up to 75 Hz, ensures flicker free, rock solid images to reduce visual 
     discomfort, and is VGA compatible. Up to 1280x1024 on OS/2.
    *some monitor types usable by Mac-See Mac section above for specific details.
    
    Expansion
    Both Mac & IBM
    SCSI: only external device expansion interface common to both Mac and IBM.
     Allows the use of any device: hard drive, printer, scanner, Nubus card 
     expansion {Mac Plus only}, some monitors, and CD-ROM.  
     Main problem:  there are a lot of external devices which are internal 
     terminated which causes problems for more then two devises off the SCSI port 
     {A SCSI chain is supposed to be terminated ONLY at the begining and at the 
     end.  Any other set up causes problems for either Mac or IBM}. 
    SCSI-1:  7 devices per SCSI controller.  8-bit asynchronous {~1.5MB/s ave}
     and synchronous {5MB/s max} transfers.  Difference is due to SCSI-1 software
     drivers.  ""Fast SCSI-1"" is a misname for 8-bit SCSI-2 in SCSI-1 mode
     {see SCSI-2 for details}.
    SCSI-2: 10 devices per SCSI controller in SCSI-2 mode.  SCSI-2 is fully
     SCSI-1 compliant and 8-bit SCSI-2 tends to be implemented as a very fast
     SCSI-1 since it does not require the different controller interfaces in  
     hardware and software that 16 and 32-bit SCSI-2 do.  Transfer speeds are
     4-6MB/s with 10MB/s burst {8-bit}, 8-12MB/s with 20MB/s burst {16-bit}, and
     15-20MB/s with 40MB/s burst {32-bit/wide and fast}.  Since 8-bit SCSI-2 can
     use SCSI-1 software drivers and hardware at 8-bit SCSI-2 speeds and as such
     is limited to 7 devices sometimes it is mistakenly called ""fast SCSI-1"". 
     16-bit fast SCSI-2 requires a SCSI-2 software driver and SCSI-2 electronics
     but can still use the SCSI-1 ports.  Wide 16-bit and 32-bit SCSI-2 require a
     different SCSI port, electronics, and software driver from SCSI-1 {Which
     makes them more expensive than other SCSI interfaces}.
    Mac SCSI: asynchronous SCSI-1 built-in standard since the Plus.  Even though 
     Apple developed some specifications for SCSI controlers, the OS SCSI Manager
     needs to be rewritten to take full advantage of the features of both SCSI
     interfaces.  As a result present SCSI-2 Macs use 8-bit SCSI-2 as a fast 
     asynchronous SCSI-1.  Presently Quadras are the only Macs with a SCSI-2
     controller chip built-in (Digital Review, Oct 21, 1991 v8 n33 p8(1)) 
     though they lack some other parts of the hardware, like the wide SCSI-2 port 
     interface.  Since other Macs require a NuBus card to use SCSI-2, older NuBus 
     Macs had a bottleneck due to the speed of the NuBus and CPU.  Rumor-some
     Cyclone Macs {June} will come with a wide & fast SCSI-2 port standard 
     and have a rewritten OS SCSI manager.
    IBM SCSI:  SCSI-1 is not too wide spread yet, generally not bundled with 
     systems, except as add-on {EISA and VESA Local Bus adapters avalable}.
     Like the Mac, 8-bit SCSI-2 is used as a very fast SCSI-1 by most controllers
     out there.  Unlike the Mac, IBM has no exact SCSI controller specifications
     which results in added incompatibilities for SCSI.
    
    Mac
    Memory expansion: with a few exceptions the Mac has used non-parity 30-pin 
     8-bit SIMM memory expansion since the Plus.  While 32-pin 9-bit parity SIMMs
     could be used in these Macs, only special IIcis could make use of the parity 
     feature {By convension both SIMM types are called 32-pin SIMMs}.  The IIfx 
     used 64-pin parity SIMMs.  The LC III, C610/650 and Q800 all use a new 
     72-pin SIMM that is accessable by 32-bits at a time and is used in IBMs.
     The Mac does a complete memory check at startup by writing/reading every
     memory location; if something is seriously wrong with a SIMM the Mac will
     not boot and give a sound chord indicating what the problem is.
     Since Macs made before Feb 15, 1993 managed memory baced on data path, SIMMs 
     had to be installed in pairs {16-bit} or in sets of 4 {32-bit}.  The Centris 
     650 and Quadra 800 eliminate this with a new memory management setup that 
     allows memory to be upgraded one SIMM at a time.  If the SIMMs are the same 
     size are used then the memory is 'interleaved' across the two SIMMs resulting 
     in a 10-15% performance boost on RAM access (MacWorld Apr 93: 108-109).
    Printers, ADBs, and modems: built-in interfaces standard.
    Monitor interface and sound input: built-in on most present macs. 
    PDS: Available in SE & all present non-Powerbook Macs. 16-bit {SE, 
     Portable, LC, LC II, Classic line} and 32-bit.  Operates at CPU's MHz.  
     Maximum through put: data path in bytes*CPU's MHz {Q700/900 & C650: 
     4 * 25Mhz = 100MB/s; Q800 & Q950: 4 * 33Mhz = 132MB/s}. Standardized with
     the LC and 040 bus designs.  With an adapter one NuBus card can be used in 
     IIsi and C610.  Problem: some cards have timing dependency which slows 
     through put down.
    NuBus Mac II: 32-bit, 10 MHz bus clock, 1-to-1 transaction/bus cycle ratio,
     and contiguous, hand-shake transactions at ~10-20MB/s; theoretical peak:
     40MB/s.  Built-in on all Modular Macs except the LC series, C610, and 
     Performa 400.  The SE/30 could be adapted to use this and there was even a 
     Mac Plus SCSI NuBus.  Supports every possible expansion from CPU to Ethernet 
     to DMA.
    NuBus 90: NuBus Mac II back compatable. 20MHz bus clock, avg throughput:
     ~30MB/s; burst mode: 80MB/s.  Future card designs will be 7"" instead of the 
     old 12"".
    QuickRing:  A peer-to-peer bus used in parallel with NuBus 90.  Apple's 
     VLBus - ""Architecture is identical to that of VLBus"" (Byte 10/92:128).
     Burst mode: 350MB/s (Byte 10/92:128). In development.
    CPU expansion: handled either through the PDS or the NuBus.  Unlike PDS,  
     Nubus CPU cards {example-Radius Rocket} allow use of multiple processors at 
     the same time.  This is like having two or more Macs in the same box able to 
     dual task or joinly process depending on the card or software involved {Each 
     NuBus card needs its own memory but most NuBus cards of this type come with 
     8MB RAM SIMMs on the card standard}.
    
    IBM
    Memory expansion:  parity SIMMs, non-parity SIMMs {some newer models do a Mac-
    like SIMM memory check}, or a dozen or so different types of memory boards.
    
    HD Interfaces {limited to hard drives by design or lack of development}: 
    MFM:  Modified Frequency Modulation, RLL:  Run Length Limited
     only used with smaller [<c2><b2> 60mb] hard drives.
    IDE:  Integrated Device Electronics 
     Asynchronous {~5MB/s max} and synchronous {8.3MB/s max} transfer.
     currently the most common standard, and is mainly used for medium sized 
     drives. Can have more than one hard drive. 
    ESDI:  Enhanced Small Device Interface
     ~1.25MB/s throughput. generally considered better interface than SCSI-1 in
     many ways but not common enough for practical consideration.  Outside of
     hard drives, device choices are very limited compared to SCSI-1. 
    
    BUS interfaces
    {New 'plug and play' ISA and EISA compatable cards may have problems working 
    with old cards (InfoWorld; PC Week 03/08/93; Vaporware 4/93).}
    ISA
     8 & 16-bit interfaces common. Has 24-bit data path limit {which produces a
     16MB limit for which there are software workarounds} (PC Mag 4/27/93:105).
     1.5 MB/s (Byte 3/93:132).  Uses edge-triggered interrupts, can't share them,
     hence comes the IRQ conflict.  Limited busmastering capabilities, some cards
     aren't bandwidth limited {COM  ports, LPT ports, game ports, MIDI card, etc.}
     while others are {video and disk controllers}.  Dominant factor, but it's
     showing its age.  Most ISA motherboard designs are 16-bit
     (PC World Feb 1993: 144-5)}.  
    MCA {Micro Channel}
     IBM's 16 and 32-bit bus; ""allows use of more than one CPU in a computer"" 
     (DCT) and anything can talk to anything, as fast as the two components 
     involved can handle it. Never took off because it was incompatible with ISA 
     and EISA.  Planned to be bus interface of IBM PowerPC 601 (Carl Jabido).
    EISA {NuBus Mac II is closest Mac equivalent}
     32-bit, 8.33 MHz, burst mode: 33MB/s.  It also has the ability to 
     self-configure cards like MCA and allows multiple bus masters, sharable 
     interrupt and DMA channels and multiple CPU use.
    VESA Local Bus: VLB {Sometimes mistakenly refereed to as PDS}
     Local Bus standard. Runs at CPU clock rate,  Burst modes: ~130 MB/s{32-bit}
     250 MB/s{64-bit} (Byte 10/92:128).  Limited to three slots but allows bus 
     mastering and will coexist with either ISA or EISA. Consitered ideal for 
     video and disk I/O.  DELL has filled a claim that this violates one of
     their patents (Mel Martinez).
    QuickRing: Apple's faster {350 MB/s burst} version of VLB architecture
     (Byte 10/92:132).  Might show up in some IBM and PowerPC machines
     (Byte 10/92:132-133). In development.
    PCI
     Intel's version of Local Bus that is intended to totally replace 
     ISA/EISA/MCA.  In development.
    
    OSes {assumes full installation [print drivers, fonts, Multifinder, etc.]
    and multiple application use.}
    Mac
    512K to 1MB of OS and hardware commands have been put into ROM.  This allows 
    Apple to control its machine by putting key hooks for the Mac OS {QuickDraw, 
    menu commands, print, mouse, SCSI & sound drivers, etc} in ROM, which require 
    clone makers to use the ROM chip or read ROM on to disks {Which requires 
    access to the proper Mac since different Macs have slightly different ROM 
    chips; Plus vs Classic for example.}  With key hooks for the OS support 
    interface in ROM, programers do not have to worry as much whether the disk OS 
    has the necessary hardware commands or that those commands are consitant and 
    therefore can write smaller programs.  This also allows Apple greater control 
    over hardware-software standards and that the disk OS can be smaller and, with 
    some of the tookbox command code in ROM, with lower RAM requirements then a 
    totally disk based OS.  Macs use Masked ROM which is as fast as DRAM (Jon 
    Wtte).
    6.0.7: Single program usage base requirements: 1 MB and DD floppy, 
     cooperatively-multitasking base requirements: 2MB and HD floppy.  
     Features a GUI, cooperative-multitasker [MultiFinder], standard program 
     interface, & standard stereo sound support [snd]. Network receiving part of 
     AppleShare software is bundled with the OS. Has a 8MB RAM barrier and is a 
     24-bit OS. Some third party products allow 14MB of Virtual Memory as long as 
     real RAM is below 8MB.
    6.0.8: 6.0.7 with 7.0.0 print drivers.
    6.0.8L:  System 6 for some Macs that require System 7.0.X.
    7.0.X: Base requirements: 2MB, 40MB Hard Drive, and 68000; De-facto standard 
     to run all features well: 4MB, 80MB Hard Drive, and 68030 {lowest present 
     non-portable Mac configuration}.  Using up to 10.08MB {This is EVERYTHING on
     system disks} of hard disk space this has 6.0.7 features plus program linking 
     within and between computers [IAC], built-in server capabilities {Filesharing 
     can be used by older OSes using AppleShare Client software and can be 
     accessed by 10 macs max; 4-5 is more speed practical, IAC requires 7.X}, 
     Virtual Memory in machines with MMU{1.6 times real RAM for least noticeable 
     IIsi speed degradation}, drag and drop, QuickTime & built-in TrueType 
     support.  Supports sound input [AIFF and snd formats] for most present 
     machines.  Can access up to 1GB of true RAM and 4GB of virtual memory and is 
     both a 24 and 32-bit OS.  To use real RAM beyond 8MB it must be in 32-bit 
     mode and on older machines requires the 'Mode 32' extension.  Apple's last 
     'free' OS.
    7.1.0: 7.0.1 with WorldScript support, speedier, and less RAM usage than 
     7.0.dot (MacWeek 8/24/92; 9/14/92; PC Week 9/7/92). To run in 32-bit mode 
     on older machines it requires the 'Mode 32' or '32-Bit Enabler' extension. 
     Marks the start of Apple saling its Mac OS instead of allowing free upgrades
     {Bundled with new machines, $49 for 7.0.X upgrades, $99 otherwise}.
     [The installer has a bug that when upgrading it may keep some old system 
     fonts from the previous system inside the system file.  This can eat up any 
     RAM benefits and cause other problems.  Apple itself recommends removing all 
     fonts from the system file.]
    A/UX 3.0 [UNIX]: Needs 8MB RAM {12-20MB suggested}, 160MB hard drive, and 
     a 68030 or 68040 equivalent to run.  This 32-bit preemptive multitasking OS 
     is large due to being UNIX and needing translators between it and the Mac 
     ROMs.  Price: $709.
    Note: sound output was supported in OSes 3.2 to 6.0.5 by many formats 
    including the following:  snd, WAVE, ASND, FSSD, QSSN, SMSD, SOUN, dc2d, and 
    DCFL.  In 6.0.7 the sound manager was optimized for the sound standards 'snd' 
    and AIFF which causes some playback problems for the old formats, though most 
    still play.
    
    IBM
     Machiness have little GUI code, data, and hooks present in hardware for 
    programmers to work with, so most of the coding must be provided in the OS.  
    Since hard disks were slow the disk OS code is read into RAM.  In addition, 
    what little ROM code there is also read into RAM {a process called Shadow ROM}  
    This results in faster implementation since RAM is faster then PROMS or 
    EPROMS.  Having most of the OS code on disk has the advantage of being able to 
    better optimize the code given a certain piece or collection of hardware which 
    is harder with a ROM based system due to the 'patches' needed.  In addition it 
    reduces the need for and size of patches if a major revision of the hardware 
    support is needed.
    Side note:  The FTC charged that MicroSoft formed a OS trust by not providing 
    all feature documentation for its OSes to developers outside MS and designing 
    its Windows and DOS apps to fail under OS/2 (""Undocumented Windows"") and 
    ""There is deliberate code in [Windows] NT Beta which causes the install to 
    abort if OS/2 Boot Manager is present"" (Gregory Hicks, Info-IBMPC Digest V92 
    #201).  Due to a conflict of intrest by one member the vote of the FTC 
    judicial council for action against Microsoft was a tie which resulted in no 
    action.  Rumors-the FTC will presue the matter, likely to the point of 
    choosing a new member or whole new council.  In addition the government has 
    turned down Microsoft's copyright of ""Windows"" which would allow it to charge 
    a fee for developers using their hooks (PC Week 03/08/93).
    MicroSoft OSes
    DOS 5.0: Has a 640K barrier with its own memory manager, a 1 MB barrier 
     with third party memory managers.  This 16-bit OS requires that each program 
     must provide its own print drivers and be 16-bit {Programs need to be DOS 
     Protected Mode Interface (DPMI) compliant and running on a 386dx [32-bit 
     Protected Mode] to break these barriers}.  Contains the GUI shell present in
     DOS 4.0.
    DOS 6.0: DOS 5.0 with the added features of a built-in file compresion, disk 
     defragmenter, debugger for the CONFIG.SYS file. It needs a $80 module for 
     networking {Cost: $50 through 5/93, after that $129.99} 
     (Byte April 1993:44-46).
    DOS 7.0: 32-bit DOS. In development (PC Week 04/05/93).
    Window 3.0: Runs on top of DOS.  Breaks 640K and 1M barriers but still has to 
     deal with DOS file structure.  Base requirements: 1MB, floppy and 286; to
     run well 2MB, hard drive, 386sx and fast display adapter {> 8-bit}.  Has the
     equivalent of Mac's QD called Windows GDI [Graphics Device Interface].
     This does not have a consistent application interface {Like early Mac
     programs  (1984-1985)} nor a very large program base {compared to DOS} and
     still tends to slow the machine down (Info-IBMPC Digest V92 #186) with speed
     is more dependent on the display adapter then on the CPU (Bill Coleman).
     Window programs tend to be disk and memory hogs compared to their DOS
     counterparts (Byte April 1993:98-108).
    Window 3.1: A faster version of Window 3.0 with better memory managment. Base 
     requirements 1 MB, hard drive and a 286 ;to run well 2MB, hard drive, 386sx. 
     Apple plans to release its print drivers for this (PC Week 12/28/92).
    Windows for Workgroups:  To run well: 4MB RAM and 386dx (PC World Feb/93:160).  
     Intermediary between Win 3.1 and Windows NT.  It is basically Windows 3.1 
     with built-in peer to peer networking support.
    Windows NT:  Beta release takes about 50MB of disk space [including the 
     swap file], and 12MB RAM {Betas are notorious for RAM usage especially in 
     the interaction between debuging code and program compliers, hence the 
     reports of 24MB requirements}.  Released version supposed to need 8MB RAM 
     but, Gates himself now recommends 16MB RAM (PC Week 04/15/92).
     This 32-bit OS has Protected mode multitasking, multithreading, symmetric 
     multiprocessing, a recoverable file system, and 32-bit GDI.  Has built in
     networking that is OSF DCE compliant and can handle up to 4GB of RAM.  Even
     though some people see a July 4 release date (InfoWorld Nov 16/92), rumor
     is that the final version will not be available before Oct 1993
     (InfoWorld May 25/92; July 6/92; Vaporware 07/92; 08/92) or 4th quarter 1993
     (PC Week 09/28/92). Windows upgrades will be $295, otherwise $495
     (PC Week 04/15/92; 03/15/93).
    Other OSes
    PC-DOS 6.0: IBM's version of DOS 6.0.  It runs Windows much faster then DOS 
     6.0 due to faster file I/O and video handling (InfoWorld Feb 1, 93).
    DR DOS 6.0: same as DOS 5.0 with some extras {like built-in data compression} 
     and memory management enhancements. Still has 640K/1MB barrier.  A later 
     version {Novell DOS} of this may use a version of the Mac finder and Apple 
     file management system (PC Week 12/14/92; InfoWorld Dec 14/92).
    OS/2 2.0: Unix like features and unix like requirements; 8-16MB RAM,
     60MB {uses 17-33MB} hard drive, and 386dx CPU. This 32-bit multithreaded, 
     multitasking OS can address up to 4GB of RAM but has to use a fast swap file 
     to use more than 16 MB RAM on ISA systems using DMA {Direct Memory Access}. 
     IBM plans to use Taligent's OOPS in future versions of this 
     (InfoWorld Oct 26/92).
    AIX:  IBM's UNIX system, planned to be a subset of PowerOpen and Taligent OS.
    NeXTStep: GUI UNIX to provide NeXT features on IBM machines.  Beta out, final 
     version to be out by May 25, 1993.
    Solaris OS for x86: a SunSoft port.  A 32-bit OS with symmetric 
     multiprocessing and multithreading, built-in networking capabilities with 
     tools to allow remote configuring and adminstration features, and 
     communication package.  Client: $795,  50 users server: $1,995, 1000s users
     server: $5,995.  Developer kits-software: $495, hardware: $195.
    Mac 7.1 [working name: Star Trek]:  Apple had System 7.0 running off Intel 
     Chips and is looking at making a 7.1 version available for IBM 
     (ComputerWorld Nov 2/92; MacWeek 03/22/93). At present this is planned to run 
     on top of Novell's DR DOS, require a 486 or equivalent to run and that apps 
     will need to be recompiled (MacWeek 03/22/93).  Viewed as Novell's answer to 
     Windows NT.  The complexity of PC hardware set ups is one reason for slow 
     progress {This seems to Apple/IBM's way of leading to the PowerPC line out in 
     late 1993/early 1994 and Pink OS in late 1994-early 1995.}
    
    PowerPC
    Rumor-IBM will build its PowerPC 601 by late 1993 (InfoWorld June 8 & 15, 92; 
    MacWeek 7/13/92; PC Week 3/15/93).  It will have MicroChannel bus and XGA 
    video (Carl B Jabido), and will run native version AIX and Mac apps (PC Week 
    3/15/93); there have been no comments on compatablity of DOS or Windows apps.
    Apple's PowerPC 601 machine {Tesseract} is planned to be out Jan 24, 1994 and 
    to have MC98601/50 MHz, 4/8MB RAM, a 2.8-Mbyte floppy drive and expected to 
    sale near LC line prices {~$2000, down from projections of ~$3000 (MacUser 
    9/92:146)}
    (MacWeek 3/22/93).
    PowerOpen [A/UX 4.0]: A 32-bit preemtive multitasking OS planned to run on
     PowerPCs and 68030/40 Macs (MacWeek 7/13/92).  Intel compatibility uncertain
     (See Mac 7.1 above).  Planned base requirements:  68030, 8MB RAM, 80MB hard
     drive (MacWeek 4/19/93). Rumor-ahead of schedule; COULD be out by mid 1993.
     Rumor-this could be the OS for IBM's PowerPC 601 which is due by late 1993.
    Pink [Taligent OS]: Expecting delivery in 1994 (Wall Street Journal 1/12/92) 
     and may have some parts shipping in OS/2 and AIX in 1993 and Mac OS and 
     PowerOpen with the PowerPCs (MacWeek 01/25/93).
    Windows NT: Possible port (MacWeek 04/05/93).  See IBM OS section for details.
    Solaris OS: Version of this Sun Microsystems Inc UNIX OS to run on the
     Power PCs in 1994 (MacWeek 04/05/93).  One of the few OSes to directly state 
     that it will run Windows/DOS programs.  IBM OS section for details
    NeXTStep: possible port see IBM OS section for details.
    
    OS Number Crunching (Mel Park)
    Mac
     Arithmetic is done in a consistent numerical environment {SANE or Standard 
    Apple Numerics Environment}. Floating point numbers are 96 bits long when an 
    FPU is present and 80 bits otherwise. Exceptions, such as dividing by zero or 
    taking the square root of a negative number, do not cause an abort but are 
    handled in a logically consistent manner. 1/0 produces the internal 
    representation for infinity (INF).  1/(1/0) produces zero. The above treatment 
    of 1/(1/0) occurs in an FPU-equipped machine even when SANE is bypassed and 
    the FPU programmed directly.
    
    IBM
     Floating point numbers are 80-bits with a hardware FPU, 64-bits when 
    emulated.  The way they are handled is dependent on the coding of whatever 
    compiler or assembler was used for a program. On older DOS complilers 
    exceptions could cause program aborts; 1/0 and 1/(1/0) would abort to the DOS 
    prompt at the point where they occured.  Most present compilers handle this 
    better.  Result: there is little consistent handling of numbers between DOS, 
    Windows and OS/2 programs nor between programs for just one OS.
    
    Networking [Includes printing]
    WYSIWYG printing can be a problem with either Mac of IBM machines especially 
    if one sends TrueType fonts to a older style PostScript printer.
    Mac
    Hardware: Built-in LocalTalk network port and a built-in printer port.  
    LocalTalk has moderate speeds (230.4 Kb/s) requires special connectors for 
    each machine ($15 and up) and can be run off of either the printer port {to 
    include very old macs} or the network port {standard today}.  Built-in 
    Ethernet is becoming common but many older Macs require a PDS or Nubus card at 
    about $150-$300 for each machine.  These cards provide three connectors and 
    transceivers {thick, thin, and 10BaseT} for Ethernet.
    The Macintosh Quadra family and some Centris models includes Ethernet 
    interface on motherboard, with transceivers available. TokenRing has been a 
    network option since 1989.
    Software: AppleTalk {the suite of protocols} standard with Mac OS, which can 
    use variety of media types.  AppleShare client software included with the OS 
    as well and can connect to file servers such as Novell Netware, 3Com 3+Open, 
    Banyan Vines, DEC Pathworks, Apple's AppleShare servers, System 7 File Sharing 
    machines, and AFP servers running on variety of UNIX hosts.  MacTCP allows 
    typical TCP/IP communications (telnet, ftp, NFS, rlogin).  A later version 
    will have Unix X/Open Transport Interface (XTI) built-in by the end of 1993 
    (MacWeek 04/12/93).  Third-party software to connect to NFS servers.  DEC 
    Pathworks provides DECnet support.  Peer-to-peer file sharing software 
    built-in to System 7.1 (See OS section).  Full server software is extra. 
    Printing requires connection of the printer and the printer being selected in 
    the chooser.  Changing printers is by selecting a different name in the 
    chooser.  The same is true of connecting to servers.
    Printing bugs:  Monaco TrueType font is different then the screen bitmap font.
     {QuickDraw QX is suppossed to fix this and similar problems.}
    
    IBM  
    Hardware: LocalTalk [not widely used], Ethernet,  and TokenRing.
    Software: Novell Netware, Banyan Vines, DECNet, Windows/Work Groups, AppleTalk 
    protocols, and AppleShare {subset of AppleTalk}.
    Each of the MS-DOS networking schemes are, in general, totally incompatible 
    with the others. Once you have chosen one, you are pretty much locked-in to 
    that product line from then on.  Windows/Work Groups is a little more 
    forgiving and removes some of this problem.  Novell Netware is the biggest, 
    {~80 percent of the corporate market.} and in general is more powerful and 
    offers better control/management/security than AppleShare, but it's also more 
    complex to set up and manage.  This will change due to the use of the Mac 
    finder and file management system by Novell. (PC Week 12/14/92 & 12/28/92;  
    InfoWorld Dec 14/92; MacWeek 3/22/93)
    Printing {Very OS dependent}
    DOS: If it's a single user, then you plug the printer into the parallel port, 
     and don't worry about it {Tweeking may be needed with poorly written 
     software}.  Network Printing is not controlled by the system, but is mostly 
     implemented by the actual program, therefore performance varies from one 
     software program to the next.
    Windows 3.x: supports standard drivers and can do a good job of showing ""jobs"" 
     in the print queue, but it always lists printers as ""active""... even if they 
     are not.  This becomes a problem if there are several incompatible printers 
     on the same net, because there's no way for software to reliably determine 
     which printer is active right now.  Windows for Workgroups is more Mac-like 
     and intelligent about this.
    OS/2: Mac-like; the os deals with printers, with apps making calls to the OS.
    Printing bugs: due to poor programing some programs for all the above OSes do 
    not have WYSIWYG printing.  This is the fault of the programs in question and 
    not that of the OS involved.
    
    Price issue: This is very dynamic with Mac providing more build-in features 
    than IBM and IBM being more 'get only what you need' then Mac and price wars 
    by both worlds.
    The IBM machines' modualar nature prevents any kind of true hardware 
    standarization, which in turn requires OSes and programs to be very complex to 
    handle ALL the variation in hardware.  When one adds all the standard Mac 
    hardware features to an IBM {built-in input/output sound support, SCSI, PDS,  
    built-in monitor support, built-in networking, standard mouse interface, and 
    NuBus 90 in higher machines} the Mac tends to be cheaper then an equivalent 
    equipted IBM machine {Especially since some IBM monitors can be used with Macs 
    which cuts some more of the Mac's cost (MacUser Aug 1992:158-176)}.
     Some prices using some of the info in this sheet and MacUser April 1993.
    All Macs below come with a PDS slot, VRAM, and SCSI-1 built in.  Except where 
    noted, monitor is extra and a built-in monitor interface is provided {no card 
    needed except for 24-bit color display}.
    IBM planned a $1,200 386SLC/25MHz model with a 60MB hard drive and color VGA 
    monitor {~VRAM} (MacWeek 8/17/92) {sounds like a Color Classic without SCSI-1, 
    sound support, built-in network support, FPU socket, built-in expansion to 
    16-bit color, etc}.
    Color Classic:  $1,389 - 030/16MHz with 16-bit data bus {~386sx/20MHz 
    equivalent}, 4/80, FPU socket, and built-in monitor.
    LCIII: $1,499 - 030/25MHz {~386dx/33MHz equivalent}, and 4/160.
    Centris 610: $2,899 - 68LC040/20MHz {Depending on the program ~486sx/40 or 
    ~'486dx2sx'/20[40]MHz equivalent}, 8/230, built-in ethernet, 300i CD-ROM, a 
    PDS/NuBus 90 slot and VRAM for 16-bit color.
    Centris 650: 040/25MHz {Depending on the program ~486dx/50 MHz or 486dx2/50 
    MHz equivalent} with a PDS and 3 NuBus 90 slots. $3,189 {ethernet, 8/80}; 
    $3,559 {ethernet, 8/230}; $3,999 {ethernet, 8/230, CD-ROM, VRAM for 16-bit 
    color}
    
    Bibliography notes
    'Vaporware' is available in the digest/vapor directory by FTP on sumex-
    aim.stanford.edu [36.44.0.6] and was by Murphy Sewall {last issue: April 93.}
    'Info-IBMPC Digest' back issues are available from wsmr-simtel20.army.mil in 
    directory PD2:<ARCHIVES.IBMPC>
    'Dictionary of Computer Terms 3rd ed.' (ISBM 0-8120-4824-5)
    
    These are the facts as they were known to me on 4/15/93 and may be changed by 
    new developments, announcements, or corrections.  Corrections to the 
    information are welcome.
    Please email corrections to 
    CompuServe ID: 72130,3557
    AOL: BruceG6069
    Internet:  [email protected]
    
    Final note: Since there is NO comp.sys.ibm.pc.advocacy group this has been 
    posted to the closest relevent groups {comp.os.ms-windows.advocacy, 
    comp.os.os2.advocacy, and comp.sys.ibm.pc.misc}.  Also since some Mac vs IBM 
    articles have been showing up in comp.sys.mac.hardware I have included that 
    newsgroup in the posting. {Don't site the comp.sys.mac.* FAQ as a reason not 
    to post to comp.sys.mac.hardware, since the FAQ itself does not follow 
    internet guidelines, especially the de-facto ""[all] the FAQs for a newgroup 
    hierarchy should be posted to ALL newsgroups in the hierarchy"" standard.}
    
    ""Eliminate the impossible and what ever remains, no matter how improbable,
    is the truth"" -- Sir Arthur Conan Doyle through Sherlock Holmes in The 
    Adventure of the Beryl Coronet, The Adventure of the Blanched Soldier, Sign of 
    Four and The Adventure of the Bruce-Partington Plans.' in object 'newsgroup5'
    'To the best of my knowledge there aren't any problems with Quadras and
    blind transfers.  Trouble with blind transfers usually means the programmer
    screwed up the TIBs or didn't test their driver with the device in question.
    Well designed TIBs poll or loop at every point where delays of >16<c2><b5>sec occur.
    This usually occurs at the first byte of each block of a transfer but some
    devices can ""hiccup"" in the middle of blocks.  If this happens in the middle
    of a blind transfer there is the possibility of losing or gaining a byte
    depending on which direction the tranfer was going.  In anycase the SCSI Manager
    will eventually return a phase error at the end of the transaction because
    it is out of sync.  Actual data loss would only occur if the driver didn't
    pay attention to the errors coming back.
    
    Note that this effect is not caused by anything actually on the SCSI Bus but
    rather by the transfer loops inside the SCSI Manager.  The problem occurs when
    the processor bus errors trying to access the SCSI chip when the next byte
    hasn't been clocked yet.  Also note that the Bus Error is dealt with by a bus
    error handler and doesn't crash the machine...' in object 'newsgroup5'
    ' 
    For your information, Lankford is injured (I think it is his shoulder or rib
    cage), so he could not use him as a pinch hitter.
     
    I do believe that Whiten was a very good aquisition for the Cards.  He does
    not have too much offensive capabilities, but he is an awesome defensively.
    Since when have the Cardnials actually thought of offense instead of defense?:)
    I forgot who St. Louis gave up for him, but it was not too much.
     
    As far as Gilkey is concerned, he is a leftfielder and so is Brian Jordan, who
    beat him out.  I expect to see a Gilkey/Jordan platoon in LF.
     
    I agree with you on this one.  As soon as Larkin threw that ball, I knew that
    Lankford was a dead bird.  But how could Dent have known that Larkin would make
    a perfect throw?
     
    I strongly believe that Torre is one of the best managers in baseball.  Don't
    forget the overachieving Cards of '91 that won all those close games and went
    from last place to second place (although they were oveshadowed by the Braves/
    Twins last to first climb).  He won a division title, and barely lost a pennant
    race when he was with the Braves (why Atlanta ever even considered firing him I
    will never understand).  With Torre at the controls, the Cardinals are heading
    in the right direction.
     
    One more thing, one game does not make a season.  Yes, they lost to the Reds,
    but with the second best pitching staff in the National League (first in the
    East), and a pretty good offense, the Redbirds will win a lot more than they
    lose.  Maybe this is the year that they will go all the way.
     
    Charles, a very enthusiastic Cardnials fan
     
      -----------------------------------------------------------------
      <c2><ba> Charles Rosen            <c2><ba>      THIRTY-FOUR TO THIRTEEN!!!    <c2><ba>
      <c2><ba> University of Alabama    <c2><ba>   NATIONAL CHAMPS!!!  ROLL TIDE!!! <c2><ba>
      <c2><ba> Tuscaloosa, AL           <c2><ba>         (Need I Say More?)         <c2><ba>' in object 'newsgroup5'
    ': 
    : I am a Mormon.  I believe in Christ, that he is alive.  He raised himself
    : [Text deleted]
    :
    : I learned that the concept of the Holy Trinity was never taught by Jesus
    : Christ, that it was ""agreed to"" by a council of clergymen long after Christ
    : was ascended, men who had no authority to speak for him.
    :
    If Jesus never taught the concept of the Trinity, how do you deal with the 
    following:   
    
       Mat 28 18 Then Jesus came to them and said, ""All authority in heaven
       and on earth has been given to me.
    
       Mat 28 19 Therefore go and make disciples of all nations, baptizing
       them in<c2><b9> the name of the Father and of the Son and of the Holy Spirit,
    
       Mat 28 20 and teaching them to obey everything I have commanded you.
       And surely I am with you always, to the very end of the age."" 
    
    Also Jesus speaking:
    
       Act 1 5 For John baptized with<c2><b9> water, but in a few days you will
       be baptized with the Holy Spirit.""
    
    I believe that you may have overlooked some key verses, that are crucial to
    the Christian faith. ' in object 'newsgroup5'

❯ checking installed package size ... NOTE
    installed size is  9.9Mb
    sub-directories of 1Mb or more:
      data   9.5Mb

❯ checking top-level files ... NOTE
  Non-standard files/directories found at top level:
    β€˜README.html’ β€˜testlog.txt’ β€˜trump_coded.RDS’ β€˜trump_eval.RDS’

❯ checking dependencies in R code ... NOTE
  Unexported object imported by a ':::' call: β€˜quanteda:::print.corpus’
    See the note in ?`:::` about the use of this operator.

❯ checking R code for possible problems ... NOTE
  .ba_plot: no visible global function definition for β€˜sd’
  .ba_plot: no visible binding for global variable β€˜meanxy’
  .ba_plot: no visible binding for global variable β€˜diffxy’
  .combine_p_fisher: no visible global function definition for β€˜pchisq’
  .cook_plot: no visible global function definition for β€˜lm’
  .cook_plot: no visible global function definition for β€˜cooks.distance’
  .cook_plot: no visible binding for global variable β€˜index’
  .cook_plot: no visible binding for global variable β€˜cookd’
  .corr_plot: no visible global function definition for β€˜%>%’
  .corr_plot: no visible binding for global variable β€˜avg_answer’
  .corr_plot: no visible binding for global variable β€˜lm’
  .generate_candidates: no visible global function definition for β€˜head’
  .generate_candidates: no visible global function definition for
    β€˜quantile’
  .length_plot: no visible binding for global variable β€˜word_length’
  .length_plot: no visible binding for global variable β€˜lm’
  .monkey_median: no visible global function definition for β€˜median’
  .print_oolong_summary_tm: no visible global function definition for
    β€˜quantile’
  .print_oolong_summary_tm: no visible global function definition for
    β€˜median’
  .summarize_oolong_gs: no visible global function definition for
    β€˜cor.test’
  .summarize_oolong_tm: no visible global function definition for
    β€˜median’
  Undefined global functions or variables:
    %>% avg_answer cookd cooks.distance cor.test diffxy head index lm
    meanxy median pchisq quantile sd word_length
  Consider adding
    importFrom("stats", "cooks.distance", "cor.test", "lm", "median",
               "pchisq", "quantile", "sd")
    importFrom("utils", "head")
  to your NAMESPACE file.

── Test failures ───────────────────────────────────────────────── testthat ────

> library(testthat)
> library(oolong)
> 
> test_check("oolong")
── 1. Error: locking (@test-defensive_programming.R#22)  ───────────────────────
`map_df()` requires dplyr
1: create_oolong(newsgroup_stm) at testthat/test-defensive_programming.R:22
2: Oolong_test_tm$new(input_model = input_model, input_corpus = input_corpus, n_top_terms = n_top_terms, 
       bottom_terms_percentile = bottom_terms_percentile, exact_n = exact_n, frac = frac, 
       n_top_topics = n_top_topics, n_topiclabel_words = n_topiclabel_words, difficulty = difficulty, 
       use_frex_words = use_frex_words, input_dfm = input_dfm)
3: .subset2(public_bind_env, "initialize")(...)
4: .generate_test_content(input_model, input_corpus, n_top_terms, bottom_terms_percentile, 
       exact_n, frac, n_top_topics, n_topiclabel_words, difficulty, use_frex_words = use_frex_words, 
       input_dfm = input_dfm)
5: .generate_word_intrusion_test(input_model, n_top_terms = n_top_terms, bottom_terms_percentile = bottom_terms_percentile, 
       difficulty = difficulty, use_frex_words = use_frex_words)
6: purrr::map_dfr(seq_len(K), .generate_candidates, terms = terms, all_terms = all_terms, 
       bottom_terms_percentile = bottom_terms_percentile)
7: abort("`map_df()` requires dplyr")
8: signal_abort(cnd)

── 2. Error: cloning (@test-defensive_programming.R#35)  ───────────────────────
`map_df()` requires dplyr
1: create_oolong(newsgroup_stm) at testthat/test-defensive_programming.R:35
2: Oolong_test_tm$new(input_model = input_model, input_corpus = input_corpus, n_top_terms = n_top_terms, 
       bottom_terms_percentile = bottom_terms_percentile, exact_n = exact_n, frac = frac, 
       n_top_topics = n_top_topics, n_topiclabel_words = n_topiclabel_words, difficulty = difficulty, 
       use_frex_words = use_frex_words, input_dfm = input_dfm)
3: .subset2(public_bind_env, "initialize")(...)
4: .generate_test_content(input_model, input_corpus, n_top_terms, bottom_terms_percentile, 
       exact_n, frac, n_top_topics, n_topiclabel_words, difficulty, use_frex_words = use_frex_words, 
       input_dfm = input_dfm)
5: .generate_word_intrusion_test(input_model, n_top_terms = n_top_terms, bottom_terms_percentile = bottom_terms_percentile, 
       difficulty = difficulty, use_frex_words = use_frex_words)
6: purrr::map_dfr(seq_len(K), .generate_candidates, terms = terms, all_terms = all_terms, 
       bottom_terms_percentile = bottom_terms_percentile)
7: abort("`map_df()` requires dplyr")
8: signal_abort(cnd)

── 3. Error: Can't launch $do_topic_intrusion_test() when no test content (@test
`map_df()` requires dplyr
1: create_oolong(newsgroup_stm) at testthat/test-defensive_programming.R:52
2: Oolong_test_tm$new(input_model = input_model, input_corpus = input_corpus, n_top_terms = n_top_terms, 
       bottom_terms_percentile = bottom_terms_percentile, exact_n = exact_n, frac = frac, 
       n_top_topics = n_top_topics, n_topiclabel_words = n_topiclabel_words, difficulty = difficulty, 
       use_frex_words = use_frex_words, input_dfm = input_dfm)
3: .subset2(public_bind_env, "initialize")(...)
4: .generate_test_content(input_model, input_corpus, n_top_terms, bottom_terms_percentile, 
       exact_n, frac, n_top_topics, n_topiclabel_words, difficulty, use_frex_words = use_frex_words, 
       input_dfm = input_dfm)
5: .generate_word_intrusion_test(input_model, n_top_terms = n_top_terms, bottom_terms_percentile = bottom_terms_percentile, 
       difficulty = difficulty, use_frex_words = use_frex_words)
6: purrr::map_dfr(seq_len(K), .generate_candidates, terms = terms, all_terms = all_terms, 
       bottom_terms_percentile = bottom_terms_percentile)
7: abort("`map_df()` requires dplyr")
8: signal_abort(cnd)

── 4. Error: generate_test_content (@test-generate_test_content.R#4)  ──────────
`map_df()` requires dplyr
1: oolong:::.generate_test_content(newsgroup_stm) at testthat/test-generate_test_content.R:4
2: .generate_word_intrusion_test(input_model, n_top_terms = n_top_terms, bottom_terms_percentile = bottom_terms_percentile, 
       difficulty = difficulty, use_frex_words = use_frex_words)
3: purrr::map_dfr(seq_len(K), .generate_candidates, terms = terms, all_terms = all_terms, 
       bottom_terms_percentile = bottom_terms_percentile)
4: abort("`map_df()` requires dplyr")
5: signal_abort(cnd)

── 5. Error: check_complete (@test-generate_test_content.R#11)  ────────────────
`map_df()` requires dplyr
1: oolong:::.generate_test_content(newsgroup_stm) at testthat/test-generate_test_content.R:11
2: .generate_word_intrusion_test(input_model, n_top_terms = n_top_terms, bottom_terms_percentile = bottom_terms_percentile, 
       difficulty = difficulty, use_frex_words = use_frex_words)
3: purrr::map_dfr(seq_len(K), .generate_candidates, terms = terms, all_terms = all_terms, 
       bottom_terms_percentile = bottom_terms_percentile)
4: abort("`map_df()` requires dplyr")
5: signal_abort(cnd)

── 6. Error: generate_topic_content (@test-generate_test_content.R#29)  ────────
`map_df()` requires dplyr
1: expect_warning(oolong:::.generate_test_content(newsgroup_topicmodels, newsgroup5$text[1:10], 
       exact_n = 12)) at testthat/test-generate_test_content.R:29
2: quasi_capture(enquo(object), label, capture_warnings)
3: .capture(act$val <- eval_bare(get_expr(.quo), get_env(.quo)), ...)
4: withCallingHandlers(code, warning = function(condition) {
       out$push(condition)
       invokeRestart("muffleWarning")
   })
5: eval_bare(get_expr(.quo), get_env(.quo))
6: oolong:::.generate_test_content(newsgroup_topicmodels, newsgroup5$text[1:10], exact_n = 12)
7: .generate_word_intrusion_test(input_model, n_top_terms = n_top_terms, bottom_terms_percentile = bottom_terms_percentile, 
       difficulty = difficulty, use_frex_words = use_frex_words)
8: purrr::map_dfr(seq_len(K), .generate_candidates, terms = terms, all_terms = all_terms, 
       bottom_terms_percentile = bottom_terms_percentile)
9: abort("`map_df()` requires dplyr")
10: signal_abort(cnd)

── 7. Error: defensive programming (@test-multiple_objs.R#14)  ─────────────────
`map_df()` requires dplyr
1: create_oolong(newsgroup_stm) at testthat/test-multiple_objs.R:14
2: Oolong_test_tm$new(input_model = input_model, input_corpus = input_corpus, n_top_terms = n_top_terms, 
       bottom_terms_percentile = bottom_terms_percentile, exact_n = exact_n, frac = frac, 
       n_top_topics = n_top_topics, n_topiclabel_words = n_topiclabel_words, difficulty = difficulty, 
       use_frex_words = use_frex_words, input_dfm = input_dfm)
3: .subset2(public_bind_env, "initialize")(...)
4: .generate_test_content(input_model, input_corpus, n_top_terms, bottom_terms_percentile, 
       exact_n, frac, n_top_topics, n_topiclabel_words, difficulty, use_frex_words = use_frex_words, 
       input_dfm = input_dfm)
5: .generate_word_intrusion_test(input_model, n_top_terms = n_top_terms, bottom_terms_percentile = bottom_terms_percentile, 
       difficulty = difficulty, use_frex_words = use_frex_words)
6: purrr::map_dfr(seq_len(K), .generate_candidates, terms = terms, all_terms = all_terms, 
       bottom_terms_percentile = bottom_terms_percentile)
7: abort("`map_df()` requires dplyr")
8: signal_abort(cnd)

── 8. Error: Correct UI (@test-summarize_oolong.R#14)  ─────────────────────────
`map_df()` requires dplyr
1: create_oolong(newsgroup_stm) at testthat/test-summarize_oolong.R:14
2: Oolong_test_tm$new(input_model = input_model, input_corpus = input_corpus, n_top_terms = n_top_terms, 
       bottom_terms_percentile = bottom_terms_percentile, exact_n = exact_n, frac = frac, 
       n_top_topics = n_top_topics, n_topiclabel_words = n_topiclabel_words, difficulty = difficulty, 
       use_frex_words = use_frex_words, input_dfm = input_dfm)
3: .subset2(public_bind_env, "initialize")(...)
4: .generate_test_content(input_model, input_corpus, n_top_terms, bottom_terms_percentile, 
       exact_n, frac, n_top_topics, n_topiclabel_words, difficulty, use_frex_words = use_frex_words, 
       input_dfm = input_dfm)
5: .generate_word_intrusion_test(input_model, n_top_terms = n_top_terms, bottom_terms_percentile = bottom_terms_percentile, 
       difficulty = difficulty, use_frex_words = use_frex_words)
6: purrr::map_dfr(seq_len(K), .generate_candidates, terms = terms, all_terms = all_terms, 
       bottom_terms_percentile = bottom_terms_percentile)
7: abort("`map_df()` requires dplyr")
8: signal_abort(cnd)

── 9. Error: check_calculation_word_intrusion_multiobject (@test-summarize_oolon
`map_df()` requires dplyr
1: create_oolong(newsgroup_stm) at testthat/test-summarize_oolong.R:27
2: Oolong_test_tm$new(input_model = input_model, input_corpus = input_corpus, n_top_terms = n_top_terms, 
       bottom_terms_percentile = bottom_terms_percentile, exact_n = exact_n, frac = frac, 
       n_top_topics = n_top_topics, n_topiclabel_words = n_topiclabel_words, difficulty = difficulty, 
       use_frex_words = use_frex_words, input_dfm = input_dfm)
3: .subset2(public_bind_env, "initialize")(...)
4: .generate_test_content(input_model, input_corpus, n_top_terms, bottom_terms_percentile, 
       exact_n, frac, n_top_topics, n_topiclabel_words, difficulty, use_frex_words = use_frex_words, 
       input_dfm = input_dfm)
5: .generate_word_intrusion_test(input_model, n_top_terms = n_top_terms, bottom_terms_percentile = bottom_terms_percentile, 
       difficulty = difficulty, use_frex_words = use_frex_words)
6: purrr::map_dfr(seq_len(K), .generate_candidates, terms = terms, all_terms = all_terms, 
       bottom_terms_percentile = bottom_terms_percentile)
7: abort("`map_df()` requires dplyr")
8: signal_abort(cnd)

── 10. Error: check_calculation_word_intrusion_single_object (@test-summarize_oo
`map_df()` requires dplyr
1: create_oolong(newsgroup_stm) at testthat/test-summarize_oolong.R:48
2: Oolong_test_tm$new(input_model = input_model, input_corpus = input_corpus, n_top_terms = n_top_terms, 
       bottom_terms_percentile = bottom_terms_percentile, exact_n = exact_n, frac = frac, 
       n_top_topics = n_top_topics, n_topiclabel_words = n_topiclabel_words, difficulty = difficulty, 
       use_frex_words = use_frex_words, input_dfm = input_dfm)
3: .subset2(public_bind_env, "initialize")(...)
4: .generate_test_content(input_model, input_corpus, n_top_terms, bottom_terms_percentile, 
       exact_n, frac, n_top_topics, n_topiclabel_words, difficulty, use_frex_words = use_frex_words, 
       input_dfm = input_dfm)
5: .generate_word_intrusion_test(input_model, n_top_terms = n_top_terms, bottom_terms_percentile = bottom_terms_percentile, 
       difficulty = difficulty, use_frex_words = use_frex_words)
6: purrr::map_dfr(seq_len(K), .generate_candidates, terms = terms, all_terms = all_terms, 
       bottom_terms_percentile = bottom_terms_percentile)
7: abort("`map_df()` requires dplyr")
8: signal_abort(cnd)

── 11. Error: check_calculation_topic_intrusion_single_object (@test-summarize_o
`map_df()` requires dplyr
1: create_oolong(newsgroup_stm, newsgroup5$text) at testthat/test-summarize_oolong.R:55
2: Oolong_test_tm$new(input_model = input_model, input_corpus = input_corpus, n_top_terms = n_top_terms, 
       bottom_terms_percentile = bottom_terms_percentile, exact_n = exact_n, frac = frac, 
       n_top_topics = n_top_topics, n_topiclabel_words = n_topiclabel_words, difficulty = difficulty, 
       use_frex_words = use_frex_words, input_dfm = input_dfm)
3: .subset2(public_bind_env, "initialize")(...)
4: .generate_test_content(input_model, input_corpus, n_top_terms, bottom_terms_percentile, 
       exact_n, frac, n_top_topics, n_topiclabel_words, difficulty, use_frex_words = use_frex_words, 
       input_dfm = input_dfm)
5: .generate_word_intrusion_test(input_model, n_top_terms = n_top_terms, bottom_terms_percentile = bottom_terms_percentile, 
       difficulty = difficulty, use_frex_words = use_frex_words)
6: purrr::map_dfr(seq_len(K), .generate_candidates, terms = terms, all_terms = all_terms, 
       bottom_terms_percentile = bottom_terms_percentile)
7: abort("`map_df()` requires dplyr")
8: signal_abort(cnd)

── 12. Error: check_calculation_topic_intrusion_multiobject (@test-summarize_ool
`map_df()` requires dplyr
1: create_oolong(newsgroup_stm, newsgroup5$text, exact_n = 100) at testthat/test-summarize_oolong.R:63
2: Oolong_test_tm$new(input_model = input_model, input_corpus = input_corpus, n_top_terms = n_top_terms, 
       bottom_terms_percentile = bottom_terms_percentile, exact_n = exact_n, frac = frac, 
       n_top_topics = n_top_topics, n_topiclabel_words = n_topiclabel_words, difficulty = difficulty, 
       use_frex_words = use_frex_words, input_dfm = input_dfm)
3: .subset2(public_bind_env, "initialize")(...)
4: .generate_test_content(input_model, input_corpus, n_top_terms, bottom_terms_percentile, 
       exact_n, frac, n_top_topics, n_topiclabel_words, difficulty, use_frex_words = use_frex_words, 
       input_dfm = input_dfm)
5: .generate_word_intrusion_test(input_model, n_top_terms = n_top_terms, bottom_terms_percentile = bottom_terms_percentile, 
       difficulty = difficulty, use_frex_words = use_frex_words)
6: purrr::map_dfr(seq_len(K), .generate_candidates, terms = terms, all_terms = all_terms, 
       bottom_terms_percentile = bottom_terms_percentile)
7: abort("`map_df()` requires dplyr")
8: signal_abort(cnd)

── 13. Error: Forcibly locking (@test-summarize_oolong.R#77)  ──────────────────
`map_df()` requires dplyr
1: create_oolong(newsgroup_stm, newsgroup5$text, exact_n = 100) at testthat/test-summarize_oolong.R:77
2: Oolong_test_tm$new(input_model = input_model, input_corpus = input_corpus, n_top_terms = n_top_terms, 
       bottom_terms_percentile = bottom_terms_percentile, exact_n = exact_n, frac = frac, 
       n_top_topics = n_top_topics, n_topiclabel_words = n_topiclabel_words, difficulty = difficulty, 
       use_frex_words = use_frex_words, input_dfm = input_dfm)
3: .subset2(public_bind_env, "initialize")(...)
4: .generate_test_content(input_model, input_corpus, n_top_terms, bottom_terms_percentile, 
       exact_n, frac, n_top_topics, n_topiclabel_words, difficulty, use_frex_words = use_frex_words, 
       input_dfm = input_dfm)
5: .generate_word_intrusion_test(input_model, n_top_terms = n_top_terms, bottom_terms_percentile = bottom_terms_percentile, 
       difficulty = difficulty, use_frex_words = use_frex_words)
6: purrr::map_dfr(seq_len(K), .generate_candidates, terms = terms, all_terms = all_terms, 
       bottom_terms_percentile = bottom_terms_percentile)
7: abort("`map_df()` requires dplyr")
8: signal_abort(cnd)

── 14. Error: Monkeying problem #14 (@test-summarize_oolong.R#91)  ─────────────
`map_df()` requires dplyr
1: create_oolong(newsgroup_stm, newsgroup5$text) at testthat/test-summarize_oolong.R:91
2: Oolong_test_tm$new(input_model = input_model, input_corpus = input_corpus, n_top_terms = n_top_terms, 
       bottom_terms_percentile = bottom_terms_percentile, exact_n = exact_n, frac = frac, 
       n_top_topics = n_top_topics, n_topiclabel_words = n_topiclabel_words, difficulty = difficulty, 
       use_frex_words = use_frex_words, input_dfm = input_dfm)
3: .subset2(public_bind_env, "initialize")(...)
4: .generate_test_content(input_model, input_corpus, n_top_terms, bottom_terms_percentile, 
       exact_n, frac, n_top_topics, n_topiclabel_words, difficulty, use_frex_words = use_frex_words, 
       input_dfm = input_dfm)
5: .generate_word_intrusion_test(input_model, n_top_terms = n_top_terms, bottom_terms_percentile = bottom_terms_percentile, 
       difficulty = difficulty, use_frex_words = use_frex_words)
6: purrr::map_dfr(seq_len(K), .generate_candidates, terms = terms, all_terms = all_terms, 
       bottom_terms_percentile = bottom_terms_percentile)
7: abort("`map_df()` requires dplyr")
8: signal_abort(cnd)

── 15. Error: generate_test_content (@test-topicmodels.R#14)  ──────────────────
`map_df()` requires dplyr
1: oolong:::.generate_test_content(newsgroup_topicmodels) at testthat/test-topicmodels.R:14
2: .generate_word_intrusion_test(input_model, n_top_terms = n_top_terms, bottom_terms_percentile = bottom_terms_percentile, 
       difficulty = difficulty, use_frex_words = use_frex_words)
3: purrr::map_dfr(seq_len(K), .generate_candidates, terms = terms, all_terms = all_terms, 
       bottom_terms_percentile = bottom_terms_percentile)
4: abort("`map_df()` requires dplyr")
5: signal_abort(cnd)

── 16. Error: check_complete (@test-topicmodels.R#21)  ─────────────────────────
`map_df()` requires dplyr
1: oolong:::.generate_test_content(newsgroup_topicmodels) at testthat/test-topicmodels.R:21
2: .generate_word_intrusion_test(input_model, n_top_terms = n_top_terms, bottom_terms_percentile = bottom_terms_percentile, 
       difficulty = difficulty, use_frex_words = use_frex_words)
3: purrr::map_dfr(seq_len(K), .generate_candidates, terms = terms, all_terms = all_terms, 
       bottom_terms_percentile = bottom_terms_percentile)
4: abort("`map_df()` requires dplyr")
5: signal_abort(cnd)

── 17. Failure: github issue #8 - word (@test-topicmodels.R#39)  ───────────────
`create_oolong(lda)` threw an error.
Message: `map_df()` requires dplyr
Class:   rlang_error/error/condition

── 18. Failure: github issue #8 - topic (@test-topicmodels.R#49)  ──────────────
`create_oolong(lda, newsgroup5$text[1:10], exact_n = 5)` threw an error.
Message: `map_df()` requires dplyr
Class:   rlang_error/error/condition

── 19. Error: generate_test_content (@test-warplda.R#3)  ───────────────────────
`map_df()` requires dplyr
1: oolong:::.generate_test_content(newsgroup_warplda) at testthat/test-warplda.R:3
2: .generate_word_intrusion_test(input_model, n_top_terms = n_top_terms, bottom_terms_percentile = bottom_terms_percentile, 
       difficulty = difficulty, use_frex_words = use_frex_words)
3: purrr::map_dfr(seq_len(K), .generate_candidates, terms = terms, all_terms = all_terms, 
       bottom_terms_percentile = bottom_terms_percentile)
4: abort("`map_df()` requires dplyr")
5: signal_abort(cnd)

══ testthat results  ═══════════════════════════════════════════════════════════
[ OK: 4 | SKIPPED: 0 | WARNINGS: 0 | FAILED: 19 ]
1. Error: locking (@test-defensive_programming.R#22) 
2. Error: cloning (@test-defensive_programming.R#35) 
3. Error: Can't launch $do_topic_intrusion_test() when no test content (@test-defensive_programming.R#52) 
4. Error: generate_test_content (@test-generate_test_content.R#4) 
5. Error: check_complete (@test-generate_test_content.R#11) 
6. Error: generate_topic_content (@test-generate_test_content.R#29) 
7. Error: defensive programming (@test-multiple_objs.R#14) 
8. Error: Correct UI (@test-summarize_oolong.R#14) 
9. Error: check_calculation_word_intrusion_multiobject (@test-summarize_oolong.R#27) 
1. ...

Error: testthat unit tests failed
Execution halted

1 error βœ– | 4 warnings βœ– | 4 notes βœ–

Web-based data collection

  • Make oolong tests deployable to Shiny server such as shinyapps.io
  • The deployed version should have a way to download the results as a finalized oolong object.
  • USER ID
  • Optional: permanent storage

n_top_terms has no effect (or documentation of n_top_terms may be misleading)

Hi again,
I started testing oolong now and I really like it. However, I am not sure whether I fully understand the behavior of the n_top_terms argument to create_oolong(). In my understanding, n_top_terms would define the number of "correct" terms in the word intrusion tests. The total number of words in the test would then be n_top_terms plus one intruder word. Yet changing n_top_terms does not change the number of words in the test.

oolong_test <- create_oolong(input_model = abstracts_stm, input_corpus = abstracts$text, n_top_terms = 5)
oolong_test$do_word_intrusion_test()

Bildschirmfoto 2020-07-03 um 10 26 45

oolong_test <- create_oolong(input_model = abstracts_stm, input_corpus = abstracts$text, n_top_terms = 10)
oolong_test$do_word_intrusion_test()

Bildschirmfoto 2020-07-03 um 10 27 25

So I am not sure whether always showing 5+1 words is the intended behavior and I misunderstood the description in ?create_oolong or whether this is a bug.

More defensive for wrappers

userid

wsi(abtracts_stm, abstracts$text)

This runs (it maps abtracts$text to userid) but it hangs the printing method.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.