Guest User

Untitled

a guest
Sep 13th, 2019
209
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. {
  2. "session_events": [
  3. {
  4. "type": 4,
  5. "data": {
  6. "href": "http://localhost:5000/",
  7. "width": 1422,
  8. "height": 741
  9. },
  10. "timestamp": 1568366883621
  11. },
  12. {
  13. "type": 2,
  14. "data": {
  15. "node": {
  16. "type": 0,
  17. "childNodes": [
  18. {
  19. "type": 1,
  20. "name": "",
  21. "publicId": "",
  22. "systemId": "",
  23. "id": 2
  24. },
  25. {
  26. "type": 2,
  27. "tagName": "html",
  28. "attributes": {},
  29. "childNodes": [
  30. {
  31. "type": 2,
  32. "tagName": "head",
  33. "attributes": {},
  34. "childNodes": [
  35. {
  36. "type": 3,
  37. "textContent": "\n",
  38. "id": 5
  39. },
  40. {
  41. "type": 2,
  42. "tagName": "meta",
  43. "attributes": {
  44. "http-equiv": "content-type",
  45. "content": "text/html; charset=utf-8"
  46. },
  47. "childNodes": [],
  48. "id": 6
  49. },
  50. {
  51. "type": 3,
  52. "textContent": "\n",
  53. "id": 7
  54. },
  55. {
  56. "type": 2,
  57. "tagName": "title",
  58. "attributes": {},
  59. "childNodes": [
  60. {
  61. "type": 3,
  62. "textContent": "Short, Self Contained, Correct Example",
  63. "id": 9
  64. }
  65. ],
  66. "id": 8
  67. },
  68. {
  69. "type": 3,
  70. "textContent": "\n",
  71. "id": 10
  72. },
  73. {
  74. "type": 2,
  75. "tagName": "meta",
  76. "attributes": {
  77. "name": "author",
  78. "content": "Andrew Thompson edited by Ryan Stewart & Lewis Bloch"
  79. },
  80. "childNodes": [],
  81. "id": 11
  82. },
  83. {
  84. "type": 3,
  85. "textContent": "\n",
  86. "id": 12
  87. },
  88. {
  89. "type": 2,
  90. "tagName": "meta",
  91. "attributes": {
  92. "name": "description",
  93. "content": "Describes the short, self contained,\ncorrect example. A useful technique for debugging."
  94. },
  95. "childNodes": [],
  96. "id": 13
  97. },
  98. {
  99. "type": 3,
  100. "textContent": "\n",
  101. "id": 14
  102. },
  103. {
  104. "type": 2,
  105. "tagName": "meta",
  106. "attributes": {
  107. "name": "last-updated",
  108. "content": "2014-02-19"
  109. },
  110. "childNodes": [],
  111. "id": 15
  112. },
  113. {
  114. "type": 3,
  115. "textContent": "\n",
  116. "id": 16
  117. },
  118. {
  119. "type": 2,
  120. "tagName": "meta",
  121. "attributes": {
  122. "name": "keywords",
  123. "content": "bug, debug, problem, fix, help, example, source,\ncode, java, javascript, html, css, styles, layout"
  124. },
  125. "childNodes": [],
  126. "id": 17
  127. },
  128. {
  129. "type": 3,
  130. "textContent": "\n\n",
  131. "id": 18
  132. },
  133. {
  134. "type": 2,
  135. "tagName": "style",
  136. "attributes": {
  137. "type": "text/css"
  138. },
  139. "childNodes": [
  140. {
  141. "type": 3,
  142. "textContent": "\n.centerFooter {\n\ttext-align: center;\n\tfont-size: 90%;\n}\nbody {\n\tfont-size: 100%;\n\tfont-family: helvetica, arial, sans-serif;\n\tbackground-color: rgb(250,247,241);\n}\n",
  143. "isStyle": true,
  144. "id": 20
  145. }
  146. ],
  147. "id": 19
  148. },
  149. {
  150. "type": 3,
  151. "textContent": "\n\n\n",
  152. "id": 21
  153. },
  154. {
  155. "type": 2,
  156. "tagName": "script",
  157. "attributes": {
  158. "src": "https://cdn.jsdelivr.net/npm/rrweb@latest/dist/rrweb.min.js"
  159. },
  160. "childNodes": [],
  161. "id": 22
  162. },
  163. {
  164. "type": 3,
  165. "textContent": "\n",
  166. "id": 23
  167. },
  168. {
  169. "type": 2,
  170. "tagName": "script",
  171. "attributes": {
  172. "src": "http://cdnjs.cloudflare.com/ajax/libs/socket.io/2.2.0/socket.io.js",
  173. "integrity": "sha256-yr4fRk/GU1ehYJPAs8P4JlTgu0Hdsp4ZKrx8bDEDC3I=",
  174. "crossorigin": "anonymous"
  175. },
  176. "childNodes": [],
  177. "id": 24
  178. },
  179. {
  180. "type": 3,
  181. "textContent": "\n\n",
  182. "id": 25
  183. }
  184. ],
  185. "id": 4
  186. },
  187. {
  188. "type": 3,
  189. "textContent": "\n",
  190. "id": 26
  191. },
  192. {
  193. "type": 2,
  194. "tagName": "body",
  195. "attributes": {
  196. "class": "nopad"
  197. },
  198. "childNodes": [
  199. {
  200. "type": 3,
  201. "textContent": "\n\n",
  202. "id": 28
  203. },
  204. {
  205. "type": 2,
  206. "tagName": "h1",
  207. "attributes": {},
  208. "childNodes": [
  209. {
  210. "type": 3,
  211. "textContent": "The SSCCE",
  212. "id": 30
  213. }
  214. ],
  215. "id": 29
  216. },
  217. {
  218. "type": 3,
  219. "textContent": "\n",
  220. "id": 31
  221. },
  222. {
  223. "type": 2,
  224. "tagName": "h2",
  225. "attributes": {},
  226. "childNodes": [
  227. {
  228. "type": 3,
  229. "textContent": "Short, Self Contained, Correct (Compilable), Example",
  230. "id": 33
  231. }
  232. ],
  233. "id": 32
  234. },
  235. {
  236. "type": 3,
  237. "textContent": "\n",
  238. "id": 34
  239. },
  240. {
  241. "type": 2,
  242. "tagName": "p",
  243. "attributes": {},
  244. "childNodes": [
  245. {
  246. "type": 3,
  247. "textContent": "If you are having a problem with some code and seeking help,\npreparing a Short, Self Contained, Correct Example (",
  248. "id": 36
  249. },
  250. {
  251. "type": 2,
  252. "tagName": "abbr",
  253. "attributes": {
  254. "title": "Short, self contained, correct example"
  255. },
  256. "childNodes": [
  257. {
  258. "type": 3,
  259. "textContent": "SSCCE",
  260. "id": 38
  261. }
  262. ],
  263. "id": 37
  264. },
  265. {
  266. "type": 3,
  267. "textContent": ") is very\nuseful. But what is an SSCCE?",
  268. "id": 39
  269. }
  270. ],
  271. "id": 35
  272. },
  273. {
  274. "type": 2,
  275. "tagName": "p",
  276. "attributes": {},
  277. "childNodes": [
  278. {
  279. "type": 3,
  280. "textContent": "\n",
  281. "id": 41
  282. }
  283. ],
  284. "id": 40
  285. },
  286. {
  287. "type": 2,
  288. "tagName": "p",
  289. "attributes": {},
  290. "childNodes": [
  291. {
  292. "type": 3,
  293. "textContent": "It is all in the name, really. Take a look at each part. The\nversion prepared for others to see should be:",
  294. "id": 43
  295. }
  296. ],
  297. "id": 42
  298. },
  299. {
  300. "type": 3,
  301. "textContent": "\n",
  302. "id": 44
  303. },
  304. {
  305. "type": 2,
  306. "tagName": "ul",
  307. "attributes": {},
  308. "childNodes": [
  309. {
  310. "type": 3,
  311. "textContent": "\n",
  312. "id": 46
  313. },
  314. {
  315. "type": 2,
  316. "tagName": "li",
  317. "attributes": {},
  318. "childNodes": [
  319. {
  320. "type": 2,
  321. "tagName": "a",
  322. "attributes": {},
  323. "childNodes": [
  324. {
  325. "type": 3,
  326. "textContent": "Short",
  327. "id": 49
  328. }
  329. ],
  330. "id": 48
  331. },
  332. {
  333. "type": 3,
  334. "textContent": " (Small) - Minimise bandwidth for the example,\ndo not bore the audience.",
  335. "id": 50
  336. }
  337. ],
  338. "id": 47
  339. },
  340. {
  341. "type": 3,
  342. "textContent": "\n",
  343. "id": 51
  344. },
  345. {
  346. "type": 2,
  347. "tagName": "li",
  348. "attributes": {},
  349. "childNodes": [
  350. {
  351. "type": 2,
  352. "tagName": "a",
  353. "attributes": {},
  354. "childNodes": [
  355. {
  356. "type": 3,
  357. "textContent": "Self Contained",
  358. "id": 54
  359. }
  360. ],
  361. "id": 53
  362. },
  363. {
  364. "type": 3,
  365. "textContent": " - Ensure everything is included,\nready to go.",
  366. "id": 55
  367. }
  368. ],
  369. "id": 52
  370. },
  371. {
  372. "type": 3,
  373. "textContent": "\n",
  374. "id": 56
  375. },
  376. {
  377. "type": 2,
  378. "tagName": "li",
  379. "attributes": {},
  380. "childNodes": [
  381. {
  382. "type": 2,
  383. "tagName": "a",
  384. "attributes": {},
  385. "childNodes": [
  386. {
  387. "type": 3,
  388. "textContent": "Correct",
  389. "id": 59
  390. }
  391. ],
  392. "id": 58
  393. },
  394. {
  395. "type": 3,
  396. "textContent": " - Copy, paste, (compile,) see is the aim.",
  397. "id": 60
  398. }
  399. ],
  400. "id": 57
  401. },
  402. {
  403. "type": 3,
  404. "textContent": "\n",
  405. "id": 61
  406. },
  407. {
  408. "type": 2,
  409. "tagName": "li",
  410. "attributes": {},
  411. "childNodes": [
  412. {
  413. "type": 2,
  414. "tagName": "a",
  415. "attributes": {},
  416. "childNodes": [
  417. {
  418. "type": 3,
  419. "textContent": "Example",
  420. "id": 64
  421. }
  422. ],
  423. "id": 63
  424. },
  425. {
  426. "type": 3,
  427. "textContent": " - Displays the problem we are trying to solve.",
  428. "id": 65
  429. }
  430. ],
  431. "id": 62
  432. },
  433. {
  434. "type": 3,
  435. "textContent": "\n",
  436. "id": 66
  437. }
  438. ],
  439. "id": 45
  440. },
  441. {
  442. "type": 3,
  443. "textContent": "\n\n",
  444. "id": 67
  445. },
  446. {
  447. "type": 2,
  448. "tagName": "h2",
  449. "attributes": {},
  450. "childNodes": [
  451. {
  452. "type": 2,
  453. "tagName": "a",
  454. "attributes": {
  455. "id": "short",
  456. "rel": "nofollow"
  457. },
  458. "childNodes": [
  459. {
  460. "type": 3,
  461. "textContent": "Short",
  462. "id": 70
  463. }
  464. ],
  465. "id": 69
  466. }
  467. ],
  468. "id": 68
  469. },
  470. {
  471. "type": 3,
  472. "textContent": "\n",
  473. "id": 71
  474. },
  475. {
  476. "type": 2,
  477. "tagName": "p",
  478. "attributes": {},
  479. "childNodes": [
  480. {
  481. "type": 3,
  482. "textContent": "This depends on the group or forum. For a public forum,\nmost readers will stop reading by 100 lines of code,\nand start complaining at 250-300 lines of code.",
  483. "id": 73
  484. }
  485. ],
  486. "id": 72
  487. },
  488. {
  489. "type": 3,
  490. "textContent": "\n\n",
  491. "id": 74
  492. },
  493. {
  494. "type": 2,
  495. "tagName": "h3",
  496. "attributes": {},
  497. "childNodes": [
  498. {
  499. "type": 2,
  500. "tagName": "a",
  501. "attributes": {
  502. "id": "trim",
  503. "rel": "nofollow"
  504. },
  505. "childNodes": [
  506. {
  507. "type": 3,
  508. "textContent": "Tricks for Trimming",
  509. "id": 77
  510. }
  511. ],
  512. "id": 76
  513. }
  514. ],
  515. "id": 75
  516. },
  517. {
  518. "type": 3,
  519. "textContent": "\n",
  520. "id": 78
  521. },
  522. {
  523. "type": 2,
  524. "tagName": "p",
  525. "attributes": {},
  526. "childNodes": [
  527. {
  528. "type": 3,
  529. "textContent": "If the GUI has 40 buttons not related\nto the problem, remove them. If they ",
  530. "id": 80
  531. },
  532. {
  533. "type": 2,
  534. "tagName": "em",
  535. "attributes": {},
  536. "childNodes": [
  537. {
  538. "type": 3,
  539. "textContent": "are",
  540. "id": 82
  541. }
  542. ],
  543. "id": 81
  544. },
  545. {
  546. "type": 3,
  547. "textContent": "\nrelated to the problem (you remove them and the\nproblem disappears) put one or two back in,\nif the problem reappears, include ",
  548. "id": 83
  549. },
  550. {
  551. "type": 2,
  552. "tagName": "em",
  553. "attributes": {},
  554. "childNodes": [
  555. {
  556. "type": 3,
  557. "textContent": "only",
  558. "id": 85
  559. }
  560. ],
  561. "id": 84
  562. },
  563. {
  564. "type": 3,
  565. "textContent": "\nthose one or two buttons.",
  566. "id": 86
  567. }
  568. ],
  569. "id": 79
  570. },
  571. {
  572. "type": 3,
  573. "textContent": "\n",
  574. "id": 87
  575. },
  576. {
  577. "type": 2,
  578. "tagName": "p",
  579. "attributes": {},
  580. "childNodes": [
  581. {
  582. "type": 3,
  583. "textContent": "The array or table that is causing a problem\nmay have a hundred entries, but again, if the\nproblem can be seen with two or three entries,\ntrim the example to that alone.",
  584. "id": 89
  585. }
  586. ],
  587. "id": 88
  588. },
  589. {
  590. "type": 3,
  591. "textContent": "\n",
  592. "id": 90
  593. },
  594. {
  595. "type": 2,
  596. "tagName": "p",
  597. "attributes": {},
  598. "childNodes": [
  599. {
  600. "type": 3,
  601. "textContent": "If the problem is a GUI layout problem,\ntrim all the processes (JavaScript/Java methods\netc.) from behind it. On the other hand, if\nthe app. has a GUI but the problem ",
  602. "id": 92
  603. },
  604. {
  605. "type": 2,
  606. "tagName": "em",
  607. "attributes": {},
  608. "childNodes": [
  609. {
  610. "type": 3,
  611. "textContent": "is",
  612. "id": 94
  613. }
  614. ],
  615. "id": 93
  616. },
  617. {
  618. "type": 3,
  619. "textContent": "\nthe processing, trim the GUI to a minimal\nversion.",
  620. "id": 95
  621. }
  622. ],
  623. "id": 91
  624. },
  625. {
  626. "type": 3,
  627. "textContent": "\n",
  628. "id": 96
  629. },
  630. {
  631. "type": 2,
  632. "tagName": "p",
  633. "attributes": {},
  634. "childNodes": [
  635. {
  636. "type": 3,
  637. "textContent": "If trimming a very large amount\nif code for others to see, you might trim out\na part of it early on that you think is not\nrelated to the problem, yet the problem is fixed. ",
  638. "id": 98
  639. }
  640. ],
  641. "id": 97
  642. },
  643. {
  644. "type": 3,
  645. "textContent": "\n\n",
  646. "id": 99
  647. },
  648. {
  649. "type": 2,
  650. "tagName": "h3",
  651. "attributes": {},
  652. "childNodes": [
  653. {
  654. "type": 2,
  655. "tagName": "a",
  656. "attributes": {
  657. "id": "solution",
  658. "rel": "nofollow"
  659. },
  660. "childNodes": [
  661. {
  662. "type": 3,
  663. "textContent": "Problem Solved?",
  664. "id": 102
  665. }
  666. ],
  667. "id": 101
  668. }
  669. ],
  670. "id": 100
  671. },
  672. {
  673. "type": 3,
  674. "textContent": "\n",
  675. "id": 103
  676. },
  677. {
  678. "type": 2,
  679. "tagName": "p",
  680. "attributes": {},
  681. "childNodes": [
  682. {
  683. "type": 3,
  684. "textContent": "By identifying more clearly where the problem\noccurs, you have just made an important step toward\nsolving it. The process that highlights\nwhere a problem ",
  685. "id": 105
  686. },
  687. {
  688. "type": 2,
  689. "tagName": "em",
  690. "attributes": {},
  691. "childNodes": [
  692. {
  693. "type": 3,
  694. "textContent": "originates",
  695. "id": 107
  696. }
  697. ],
  698. "id": 106
  699. },
  700. {
  701. "type": 3,
  702. "textContent": " can, in itself,\nhelp to solve it. You might look more closely\nat the part cut out, and in doing so, spot the\nproblem.",
  703. "id": 108
  704. }
  705. ],
  706. "id": 104
  707. },
  708. {
  709. "type": 3,
  710. "textContent": "\n",
  711. "id": 109
  712. },
  713. {
  714. "type": 2,
  715. "tagName": "p",
  716. "attributes": {},
  717. "childNodes": [
  718. {
  719. "type": 3,
  720. "textContent": "Even if you cannot see why the\nproblem occurs, you have still made an\nimportant step: identifying (at least part)\nof the code involved. ",
  721. "id": 111
  722. }
  723. ],
  724. "id": 110
  725. },
  726. {
  727. "type": 3,
  728. "textContent": "\n",
  729. "id": 112
  730. },
  731. {
  732. "type": 2,
  733. "tagName": "p",
  734. "attributes": {},
  735. "childNodes": [
  736. {
  737. "type": 3,
  738. "textContent": "If the code being trimmed is now a concise\nexample of the problem, it is ready to present\nto others, if not, put the problem code back\nin and continue trimming other areas of the\ncode until it is.",
  739. "id": 114
  740. }
  741. ],
  742. "id": 113
  743. },
  744. {
  745. "type": 2,
  746. "tagName": "p",
  747. "attributes": {},
  748. "childNodes": [
  749. {
  750. "type": 3,
  751. "textContent": "\n\n",
  752. "id": 116
  753. }
  754. ],
  755. "id": 115
  756. },
  757. {
  758. "type": 2,
  759. "tagName": "h2",
  760. "attributes": {},
  761. "childNodes": [
  762. {
  763. "type": 2,
  764. "tagName": "a",
  765. "attributes": {
  766. "id": "selfcon",
  767. "rel": "nofollow"
  768. },
  769. "childNodes": [
  770. {
  771. "type": 3,
  772. "textContent": "Self Contained",
  773. "id": 119
  774. }
  775. ],
  776. "id": 118
  777. }
  778. ],
  779. "id": 117
  780. },
  781. {
  782. "type": 3,
  783. "textContent": "\n",
  784. "id": 120
  785. },
  786. {
  787. "type": 2,
  788. "tagName": "p",
  789. "attributes": {},
  790. "childNodes": [
  791. {
  792. "type": 3,
  793. "textContent": "It is important to ensure that the code\ngiven to others can be 'copied, pasted, compiled,\nrun' so that they can help quickly and\nwith a minimum of fuss.\n",
  794. "id": 122
  795. }
  796. ],
  797. "id": 121
  798. },
  799. {
  800. "type": 2,
  801. "tagName": "p",
  802. "attributes": {},
  803. "childNodes": [
  804. {
  805. "type": 3,
  806. "textContent": "This means that after the code has been\ncopied, pasted and compiled by those helping,\nthey can run it and ",
  807. "id": 124
  808. },
  809. {
  810. "type": 2,
  811. "tagName": "em",
  812. "attributes": {},
  813. "childNodes": [
  814. {
  815. "type": 3,
  816. "textContent": "see",
  817. "id": 126
  818. }
  819. ],
  820. "id": 125
  821. },
  822. {
  823. "type": 3,
  824. "textContent": " the results\nfor themselves. It is the ",
  825. "id": 127
  826. },
  827. {
  828. "type": 2,
  829. "tagName": "a",
  830. "attributes": {},
  831. "childNodes": [
  832. {
  833. "type": 3,
  834. "textContent": "example",
  835. "id": 129
  836. }
  837. ],
  838. "id": 128
  839. },
  840. {
  841. "type": 3,
  842. "textContent": " of\nthe problem.",
  843. "id": 130
  844. }
  845. ],
  846. "id": 123
  847. },
  848. {
  849. "type": 3,
  850. "textContent": "\n",
  851. "id": 131
  852. },
  853. {
  854. "type": 2,
  855. "tagName": "p",
  856. "attributes": {},
  857. "childNodes": [
  858. {
  859. "type": 3,
  860. "textContent": "You are much more likely to receive help if you do this.",
  861. "id": 133
  862. }
  863. ],
  864. "id": 132
  865. },
  866. {
  867. "type": 3,
  868. "textContent": "\n\n",
  869. "id": 134
  870. },
  871. {
  872. "type": 2,
  873. "tagName": "h3",
  874. "attributes": {},
  875. "childNodes": [
  876. {
  877. "type": 2,
  878. "tagName": "a",
  879. "attributes": {
  880. "id": "selfcontained",
  881. "rel": "nofollow"
  882. },
  883. "childNodes": [
  884. {
  885. "type": 3,
  886. "textContent": "How to make an example self contained.",
  887. "id": 137
  888. }
  889. ],
  890. "id": 136
  891. }
  892. ],
  893. "id": 135
  894. },
  895. {
  896. "type": 3,
  897. "textContent": "\n\n",
  898. "id": 138
  899. },
  900. {
  901. "type": 2,
  902. "tagName": "p",
  903. "attributes": {},
  904. "childNodes": [
  905. {
  906. "type": 3,
  907. "textContent": "If the code performs I/O to files,\nreplace the file I/O with dummy data structures in\nproblems that are unrelated to input/output.\n",
  908. "id": 140
  909. }
  910. ],
  911. "id": 139
  912. },
  913. {
  914. "type": 3,
  915. "textContent": "\n",
  916. "id": 141
  917. },
  918. {
  919. "type": 2,
  920. "tagName": "p",
  921. "attributes": {},
  922. "childNodes": [
  923. {
  924. "type": 3,
  925. "textContent": "If the problem ",
  926. "id": 143
  927. },
  928. {
  929. "type": 2,
  930. "tagName": "em",
  931. "attributes": {},
  932. "childNodes": [
  933. {
  934. "type": 3,
  935. "textContent": "is",
  936. "id": 145
  937. }
  938. ],
  939. "id": 144
  940. },
  941. {
  942. "type": 3,
  943. "textContent": " the input and textual input can be used, prepare\na short example that can be copied for the actual file data.\n",
  944. "id": 146
  945. }
  946. ],
  947. "id": 142
  948. },
  949. {
  950. "type": 3,
  951. "textContent": "\n",
  952. "id": 147
  953. },
  954. {
  955. "type": 2,
  956. "tagName": "p",
  957. "attributes": {},
  958. "childNodes": [
  959. {
  960. "type": 3,
  961. "textContent": "\nShould the problem happen\nonly under load, insert code to simulate\nthat load. If a layout problem only occurs\nunder particular circumstances,\n",
  962. "id": 149
  963. },
  964. {
  965. "type": 2,
  966. "tagName": "em",
  967. "attributes": {},
  968. "childNodes": [
  969. {
  970. "type": 3,
  971. "textContent": "force",
  972. "id": 151
  973. }
  974. ],
  975. "id": 150
  976. },
  977. {
  978. "type": 3,
  979. "textContent": " those things to happen, if\nit is practical to do so.\n",
  980. "id": 152
  981. }
  982. ],
  983. "id": 148
  984. },
  985. {
  986. "type": 3,
  987. "textContent": "\n",
  988. "id": 153
  989. },
  990. {
  991. "type": 2,
  992. "tagName": "p",
  993. "attributes": {},
  994. "childNodes": [
  995. {
  996. "type": 3,
  997. "textContent": "\nObviously there are things that cannot\nbe included in an example that is posted\nto a forum, 'a database' etcetera,\nbut many times you just need a bit of\nlateral thinking to come up with a way to\nreplace something you thought was 'vital'\nto demonstrate a problem.\n",
  998. "id": 155
  999. }
  1000. ],
  1001. "id": 154
  1002. },
  1003. {
  1004. "type": 3,
  1005. "textContent": "\n\n",
  1006. "id": 156
  1007. },
  1008. {
  1009. "type": 2,
  1010. "tagName": "p",
  1011. "attributes": {},
  1012. "childNodes": [
  1013. {
  1014. "type": 3,
  1015. "textContent": "One example of lateral thinking is 'images'.\nImages related to code problems might seem difficult\nto replace. But one trick is to link to an image\navailable on the web, one that displays the same problem.\nTry to make\nany web based images 'small' in bytes - if at all possible.\n",
  1016. "id": 158
  1017. }
  1018. ],
  1019. "id": 157
  1020. },
  1021. {
  1022. "type": 3,
  1023. "textContent": "\n\n",
  1024. "id": 159
  1025. },
  1026. {
  1027. "type": 2,
  1028. "tagName": "h2",
  1029. "attributes": {},
  1030. "childNodes": [
  1031. {
  1032. "type": 2,
  1033. "tagName": "a",
  1034. "attributes": {
  1035. "id": "co",
  1036. "rel": "nofollow"
  1037. },
  1038. "childNodes": [
  1039. {
  1040. "type": 3,
  1041. "textContent": "Correct",
  1042. "id": 162
  1043. }
  1044. ],
  1045. "id": 161
  1046. }
  1047. ],
  1048. "id": 160
  1049. },
  1050. {
  1051. "type": 3,
  1052. "textContent": "\n",
  1053. "id": 163
  1054. },
  1055. {
  1056. "type": 2,
  1057. "tagName": "blockquote",
  1058. "attributes": {},
  1059. "childNodes": [
  1060. {
  1061. "type": 3,
  1062. "textContent": "If my example was correct, ",
  1063. "id": 165
  1064. },
  1065. {
  1066. "type": 2,
  1067. "tagName": "em",
  1068. "attributes": {},
  1069. "childNodes": [
  1070. {
  1071. "type": 3,
  1072. "textContent": "what would I be doing here?",
  1073. "id": 167
  1074. }
  1075. ],
  1076. "id": 166
  1077. }
  1078. ],
  1079. "id": 164
  1080. },
  1081. {
  1082. "type": 3,
  1083. "textContent": "\n",
  1084. "id": 168
  1085. },
  1086. {
  1087. "type": 2,
  1088. "tagName": "p",
  1089. "attributes": {},
  1090. "childNodes": [
  1091. {
  1092. "type": 3,
  1093. "textContent": "(Laughs) No, that is not what 'correct' means in this context.\nIn this document, correct (or compilable, which particularly\nrelates to computer source code) means ensuring that\nthe example fits the accepted standards and protocols.\n",
  1094. "id": 170
  1095. }
  1096. ],
  1097. "id": 169
  1098. },
  1099. {
  1100. "type": 2,
  1101. "tagName": "p",
  1102. "attributes": {},
  1103. "childNodes": [
  1104. {
  1105. "type": 3,
  1106. "textContent": "\nTo achieve that, it is necessary to:\n",
  1107. "id": 172
  1108. }
  1109. ],
  1110. "id": 171
  1111. },
  1112. {
  1113. "type": 3,
  1114. "textContent": "\n",
  1115. "id": 173
  1116. },
  1117. {
  1118. "type": 2,
  1119. "tagName": "ul",
  1120. "attributes": {},
  1121. "childNodes": [
  1122. {
  1123. "type": 2,
  1124. "tagName": "li",
  1125. "attributes": {},
  1126. "childNodes": [
  1127. {
  1128. "type": 2,
  1129. "tagName": "a",
  1130. "attributes": {
  1131. "id": "linewidth",
  1132. "rel": "nofollow"
  1133. },
  1134. "childNodes": [
  1135. {
  1136. "type": 3,
  1137. "textContent": "Line width",
  1138. "id": 177
  1139. }
  1140. ],
  1141. "id": 176
  1142. },
  1143. {
  1144. "type": 3,
  1145. "textContent": "\nKeep the width of the lines in the\nexample to under 62 characters wide.\n(but please do ",
  1146. "id": 178
  1147. },
  1148. {
  1149. "type": 2,
  1150. "tagName": "b",
  1151. "attributes": {},
  1152. "childNodes": [
  1153. {
  1154. "type": 3,
  1155. "textContent": "not",
  1156. "id": 180
  1157. }
  1158. ],
  1159. "id": 179
  1160. },
  1161. {
  1162. "type": 3,
  1163. "textContent": " remove all line indents!)\nNewsreaders typically force a line wrap at\naround 72 characters (and it pays to 'play it safe\nby using less than that).\n",
  1164. "id": 181
  1165. },
  1166. {
  1167. "type": 2,
  1168. "tagName": "em",
  1169. "attributes": {},
  1170. "childNodes": [
  1171. {
  1172. "type": 3,
  1173. "textContent": "Sometimes",
  1174. "id": 183
  1175. }
  1176. ],
  1177. "id": 182
  1178. },
  1179. {
  1180. "type": 3,
  1181. "textContent": " line wrap does not\ncause any problem with the example, but\nit ",
  1182. "id": 184
  1183. },
  1184. {
  1185. "type": 2,
  1186. "tagName": "em",
  1187. "attributes": {},
  1188. "childNodes": [
  1189. {
  1190. "type": 3,
  1191. "textContent": "usually",
  1192. "id": 186
  1193. }
  1194. ],
  1195. "id": 185
  1196. },
  1197. {
  1198. "type": 3,
  1199. "textContent": " does, and means the\nlines need to be rejoined or reconstructed,\nbefore they work as intended.\n",
  1200. "id": 187
  1201. },
  1202. {
  1203. "type": 2,
  1204. "tagName": "br",
  1205. "attributes": {},
  1206. "childNodes": [],
  1207. "id": 188
  1208. },
  1209. {
  1210. "type": 3,
  1211. "textContent": "Most code/source editors will show a column width along the top of the editing area.\n",
  1212. "id": 189
  1213. }
  1214. ],
  1215. "id": 175
  1216. },
  1217. {
  1218. "type": 3,
  1219. "textContent": "\n",
  1220. "id": 190
  1221. },
  1222. {
  1223. "type": 2,
  1224. "tagName": "li",
  1225. "attributes": {},
  1226. "childNodes": [
  1227. {
  1228. "type": 2,
  1229. "tagName": "a",
  1230. "attributes": {
  1231. "id": "nameconvention",
  1232. "rel": "nofollow"
  1233. },
  1234. "childNodes": [
  1235. {
  1236. "type": 3,
  1237. "textContent": "Use the naming convention",
  1238. "id": 193
  1239. }
  1240. ],
  1241. "id": 192
  1242. },
  1243. {
  1244. "type": 3,
  1245. "textContent": ", if one exists.\nMost of the people willing to help will be\nusing hints from the formatting of upper\nand lower case letters, as well as their\ndescriptive names, to skim the code in\nthe hope of spotting the problem quickly.\nIf following the conventions the audience is\nused to, it helps them to do that.\n",
  1246. "id": 194
  1247. }
  1248. ],
  1249. "id": 191
  1250. },
  1251. {
  1252. "type": 3,
  1253. "textContent": "\n",
  1254. "id": 195
  1255. },
  1256. {
  1257. "type": 2,
  1258. "tagName": "li",
  1259. "attributes": {},
  1260. "childNodes": [
  1261. {
  1262. "type": 2,
  1263. "tagName": "a",
  1264. "attributes": {
  1265. "id": "valid",
  1266. "rel": "nofollow"
  1267. },
  1268. "childNodes": [
  1269. {
  1270. "type": 3,
  1271. "textContent": "Ensure the example is ",
  1272. "id": 198
  1273. },
  1274. {
  1275. "type": 2,
  1276. "tagName": "em",
  1277. "attributes": {},
  1278. "childNodes": [
  1279. {
  1280. "type": 3,
  1281. "textContent": "correct",
  1282. "id": 200
  1283. }
  1284. ],
  1285. "id": 199
  1286. },
  1287. {
  1288. "type": 3,
  1289. "textContent": ". ",
  1290. "id": 201
  1291. }
  1292. ],
  1293. "id": 197
  1294. },
  1295. {
  1296. "type": 3,
  1297. "textContent": "\nEither the example compiles cleanly, or causes the exact error message about which\nneeds solving.\n",
  1298. "id": 202
  1299. }
  1300. ],
  1301. "id": 196
  1302. },
  1303. {
  1304. "type": 3,
  1305. "textContent": "\n",
  1306. "id": 203
  1307. }
  1308. ],
  1309. "id": 174
  1310. },
  1311. {
  1312. "type": 3,
  1313. "textContent": "\n",
  1314. "id": 204
  1315. },
  1316. {
  1317. "type": 2,
  1318. "tagName": "p",
  1319. "attributes": {},
  1320. "childNodes": [
  1321. {
  1322. "type": 3,
  1323. "textContent": "Further tips:\n",
  1324. "id": 206
  1325. }
  1326. ],
  1327. "id": 205
  1328. },
  1329. {
  1330. "type": 3,
  1331. "textContent": "\n",
  1332. "id": 207
  1333. },
  1334. {
  1335. "type": 2,
  1336. "tagName": "ul",
  1337. "attributes": {},
  1338. "childNodes": [
  1339. {
  1340. "type": 3,
  1341. "textContent": "\n",
  1342. "id": 209
  1343. },
  1344. {
  1345. "type": 2,
  1346. "tagName": "li",
  1347. "attributes": {},
  1348. "childNodes": [
  1349. {
  1350. "type": 3,
  1351. "textContent": "Move all resources (CSS/JS/Java source, images etc.) to the same\ndirectory, so they are easier to administer, and easier to find.\n",
  1352. "id": 211
  1353. }
  1354. ],
  1355. "id": 210
  1356. },
  1357. {
  1358. "type": 2,
  1359. "tagName": "li",
  1360. "attributes": {},
  1361. "childNodes": [
  1362. {
  1363. "type": 3,
  1364. "textContent": "Remove package statements from Java code.\n",
  1365. "id": 213
  1366. }
  1367. ],
  1368. "id": 212
  1369. },
  1370. {
  1371. "type": 2,
  1372. "tagName": "li",
  1373. "attributes": {},
  1374. "childNodes": [
  1375. {
  1376. "type": 3,
  1377. "textContent": "Demote public Java classes to default. If the language\nspecifies only a single public class per source code\nfile, demote all the other classes to default. This\nallows the example to be compiled without being split\ninto separate files.\n",
  1378. "id": 215
  1379. }
  1380. ],
  1381. "id": 214
  1382. },
  1383. {
  1384. "type": 3,
  1385. "textContent": "\n",
  1386. "id": 216
  1387. },
  1388. {
  1389. "type": 2,
  1390. "tagName": "li",
  1391. "attributes": {},
  1392. "childNodes": [
  1393. {
  1394. "type": 3,
  1395. "textContent": "Validate the example, where a validator is available.\n",
  1396. "id": 218
  1397. },
  1398. {
  1399. "type": 2,
  1400. "tagName": "ul",
  1401. "attributes": {},
  1402. "childNodes": [
  1403. {
  1404. "type": 3,
  1405. "textContent": "\n",
  1406. "id": 220
  1407. },
  1408. {
  1409. "type": 2,
  1410. "tagName": "li",
  1411. "attributes": {},
  1412. "childNodes": [
  1413. {
  1414. "type": 2,
  1415. "tagName": "abbr",
  1416. "attributes": {
  1417. "title": "HyperText MarkUp Language"
  1418. },
  1419. "childNodes": [
  1420. {
  1421. "type": 3,
  1422. "textContent": "HTML",
  1423. "id": 223
  1424. }
  1425. ],
  1426. "id": 222
  1427. },
  1428. {
  1429. "type": 3,
  1430. "textContent": " ",
  1431. "id": 224
  1432. },
  1433. {
  1434. "type": 2,
  1435. "tagName": "a",
  1436. "attributes": {
  1437. "href": "http://validator.w3.org/",
  1438. "rel": "nofollow"
  1439. },
  1440. "childNodes": [
  1441. {
  1442. "type": 3,
  1443. "textContent": "validator",
  1444. "id": 226
  1445. }
  1446. ],
  1447. "id": 225
  1448. }
  1449. ],
  1450. "id": 221
  1451. },
  1452. {
  1453. "type": 3,
  1454. "textContent": "\n",
  1455. "id": 227
  1456. },
  1457. {
  1458. "type": 2,
  1459. "tagName": "li",
  1460. "attributes": {},
  1461. "childNodes": [
  1462. {
  1463. "type": 2,
  1464. "tagName": "abbr",
  1465. "attributes": {
  1466. "title": "Cascading Style Sheets"
  1467. },
  1468. "childNodes": [
  1469. {
  1470. "type": 3,
  1471. "textContent": "CSS",
  1472. "id": 230
  1473. }
  1474. ],
  1475. "id": 229
  1476. },
  1477. {
  1478. "type": 3,
  1479. "textContent": " ",
  1480. "id": 231
  1481. },
  1482. {
  1483. "type": 2,
  1484. "tagName": "a",
  1485. "attributes": {
  1486. "href": "http://jigsaw.w3.org/css-validator/",
  1487. "rel": "nofollow"
  1488. },
  1489. "childNodes": [
  1490. {
  1491. "type": 3,
  1492. "textContent": "validator",
  1493. "id": 233
  1494. }
  1495. ],
  1496. "id": 232
  1497. }
  1498. ],
  1499. "id": 228
  1500. },
  1501. {
  1502. "type": 3,
  1503. "textContent": "\n",
  1504. "id": 234
  1505. }
  1506. ],
  1507. "id": 219
  1508. },
  1509. {
  1510. "type": 3,
  1511. "textContent": "\n",
  1512. "id": 235
  1513. }
  1514. ],
  1515. "id": 217
  1516. },
  1517. {
  1518. "type": 3,
  1519. "textContent": "\n",
  1520. "id": 236
  1521. }
  1522. ],
  1523. "id": 208
  1524. },
  1525. {
  1526. "type": 3,
  1527. "textContent": "\n",
  1528. "id": 237
  1529. },
  1530. {
  1531. "type": 2,
  1532. "tagName": "h2",
  1533. "attributes": {},
  1534. "childNodes": [
  1535. {
  1536. "type": 2,
  1537. "tagName": "a",
  1538. "attributes": {
  1539. "id": "eg",
  1540. "rel": "nofollow"
  1541. },
  1542. "childNodes": [
  1543. {
  1544. "type": 3,
  1545. "textContent": "Example",
  1546. "id": 240
  1547. }
  1548. ],
  1549. "id": 239
  1550. }
  1551. ],
  1552. "id": 238
  1553. },
  1554. {
  1555. "type": 3,
  1556. "textContent": "\n\n",
  1557. "id": 241
  1558. },
  1559. {
  1560. "type": 2,
  1561. "tagName": "p",
  1562. "attributes": {},
  1563. "childNodes": [
  1564. {
  1565. "type": 2,
  1566. "tagName": "em",
  1567. "attributes": {},
  1568. "childNodes": [
  1569. {
  1570. "type": 3,
  1571. "textContent": "Make sure the posted code, displays the problem!",
  1572. "id": 244
  1573. }
  1574. ],
  1575. "id": 243
  1576. },
  1577. {
  1578. "type": 3,
  1579. "textContent": "\n",
  1580. "id": 245
  1581. }
  1582. ],
  1583. "id": 242
  1584. },
  1585. {
  1586. "type": 2,
  1587. "tagName": "p",
  1588. "attributes": {},
  1589. "childNodes": [
  1590. {
  1591. "type": 3,
  1592. "textContent": "\nYou have worked on the example for hours, perhaps\ndays. It feels like forever. Now is a good time to\ntake a breather, step back, stretch, perhaps go for a\nrefreshing walk.\n",
  1593. "id": 247
  1594. }
  1595. ],
  1596. "id": 246
  1597. },
  1598. {
  1599. "type": 2,
  1600. "tagName": "p",
  1601. "attributes": {},
  1602. "childNodes": [
  1603. {
  1604. "type": 3,
  1605. "textContent": "\n",
  1606. "id": 249
  1607. },
  1608. {
  1609. "type": 2,
  1610. "tagName": "em",
  1611. "attributes": {},
  1612. "childNodes": [
  1613. {
  1614. "type": 3,
  1615. "textContent": "Refresh the computer as well.",
  1616. "id": 251
  1617. }
  1618. ],
  1619. "id": 250
  1620. },
  1621. {
  1622. "type": 3,
  1623. "textContent": " Reboot it\nif necessary.\n",
  1624. "id": 252
  1625. }
  1626. ],
  1627. "id": 248
  1628. },
  1629. {
  1630. "type": 2,
  1631. "tagName": "p",
  1632. "attributes": {},
  1633. "childNodes": [
  1634. {
  1635. "type": 3,
  1636. "textContent": "\nNow open the pages, or program, where the problem\noccurs. Is it still there?\n",
  1637. "id": 254
  1638. }
  1639. ],
  1640. "id": 253
  1641. },
  1642. {
  1643. "type": 2,
  1644. "tagName": "p",
  1645. "attributes": {},
  1646. "childNodes": [
  1647. {
  1648. "type": 3,
  1649. "textContent": "\nPerhaps 99% of the time it is (maybe less if\nusing a less reliable operating system).\n",
  1650. "id": 256
  1651. }
  1652. ],
  1653. "id": 255
  1654. },
  1655. {
  1656. "type": 2,
  1657. "tagName": "p",
  1658. "attributes": {},
  1659. "childNodes": [
  1660. {
  1661. "type": 3,
  1662. "textContent": "\nNow, if the problem is still there, post the example.\n",
  1663. "id": 258
  1664. }
  1665. ],
  1666. "id": 257
  1667. },
  1668. {
  1669. "type": 3,
  1670. "textContent": "\n\n",
  1671. "id": 259
  1672. },
  1673. {
  1674. "type": 2,
  1675. "tagName": "h3",
  1676. "attributes": {},
  1677. "childNodes": [
  1678. {
  1679. "type": 2,
  1680. "tagName": "a",
  1681. "attributes": {
  1682. "id": "extra",
  1683. "rel": "nofollow"
  1684. },
  1685. "childNodes": [
  1686. {
  1687. "type": 3,
  1688. "textContent": "Example - Extra Points",
  1689. "id": 262
  1690. }
  1691. ],
  1692. "id": 261
  1693. }
  1694. ],
  1695. "id": 260
  1696. },
  1697. {
  1698. "type": 3,
  1699. "textContent": "\n",
  1700. "id": 263
  1701. },
  1702. {
  1703. "type": 2,
  1704. "tagName": "p",
  1705. "attributes": {},
  1706. "childNodes": [
  1707. {
  1708. "type": 3,
  1709. "textContent": "We wish we had a dollar for every person who asked\nfor help about a web page or the stylesheet for one,\nsome JavaScript code, or a Java Applet - and did not\nprovide a link. We would not need to supply and maintain this document,\ninstead we would be sunning ourselves on a beach in an exotic\nlocation, drinking still more exotic cocktails.",
  1710. "id": 265
  1711. }
  1712. ],
  1713. "id": 264
  1714. },
  1715. {
  1716. "type": 3,
  1717. "textContent": "\n",
  1718. "id": 266
  1719. },
  1720. {
  1721. "type": 2,
  1722. "tagName": "p",
  1723. "attributes": {},
  1724. "childNodes": [
  1725. {
  1726. "type": 3,
  1727. "textContent": "Why do people miss such an opportunity? Very\nfew things are as tempting as a link to the problem.\nTo a seasoned forum helper, it is almost as\ntempting as a small bottle with the vague\nmessage 'drink me', ..or an exotic cocktail.",
  1728. "id": 268
  1729. }
  1730. ],
  1731. "id": 267
  1732. },
  1733. {
  1734. "type": 3,
  1735. "textContent": "\n",
  1736. "id": 269
  1737. },
  1738. {
  1739. "type": 2,
  1740. "tagName": "p",
  1741. "attributes": {},
  1742. "childNodes": [
  1743. {
  1744. "type": 3,
  1745. "textContent": "Having a group of people look at the problem\nhelps to identify and solve the problem at hand,\nas well as ",
  1746. "id": 271
  1747. },
  1748. {
  1749. "type": 2,
  1750. "tagName": "em",
  1751. "attributes": {},
  1752. "childNodes": [
  1753. {
  1754. "type": 3,
  1755. "textContent": "compatibility problems",
  1756. "id": 273
  1757. }
  1758. ],
  1759. "id": 272
  1760. },
  1761. {
  1762. "type": 3,
  1763. "textContent": " (which\nmight be the cause of the problem all along).",
  1764. "id": 274
  1765. }
  1766. ],
  1767. "id": 270
  1768. },
  1769. {
  1770. "type": 3,
  1771. "textContent": "\n\n",
  1772. "id": 275
  1773. },
  1774. {
  1775. "type": 2,
  1776. "tagName": "h3",
  1777. "attributes": {},
  1778. "childNodes": [
  1779. {
  1780. "type": 2,
  1781. "tagName": "a",
  1782. "attributes": {
  1783. "id": "standards",
  1784. "rel": "nofollow"
  1785. },
  1786. "childNodes": [
  1787. {
  1788. "type": 3,
  1789. "textContent": "Standards on the Internet",
  1790. "id": 278
  1791. }
  1792. ],
  1793. "id": 277
  1794. }
  1795. ],
  1796. "id": 276
  1797. },
  1798. {
  1799. "type": 3,
  1800. "textContent": "\n",
  1801. "id": 279
  1802. },
  1803. {
  1804. "type": 2,
  1805. "tagName": "p",
  1806. "attributes": {},
  1807. "childNodes": [
  1808. {
  1809. "type": 3,
  1810. "textContent": "\nTherein lies another 'gotcha' when dealing with\nmost things related to the internet.\nThe internet, as well as most things\nassociated with it, is just a little bit wild.\nFor every standard there are two alternates.\nFor every rule there are at least three exceptions\nto the rule.\n",
  1811. "id": 281
  1812. }
  1813. ],
  1814. "id": 280
  1815. },
  1816. {
  1817. "type": 3,
  1818. "textContent": "\n",
  1819. "id": 282
  1820. },
  1821. {
  1822. "type": 2,
  1823. "tagName": "p",
  1824. "attributes": {},
  1825. "childNodes": [
  1826. {
  1827. "type": 3,
  1828. "textContent": "To start with, browsers do not work the same.\nWe are not just referring to differences between\nIE and Netscape, or old and new browsers, but 'Internet\nExplorer 5' for the Macintosh, for example, is a\n(significantly) different browser from 'Internet\nExplorer 5' for Windows.",
  1829. "id": 284
  1830. }
  1831. ],
  1832. "id": 283
  1833. },
  1834. {
  1835. "type": 3,
  1836. "textContent": "\n",
  1837. "id": 285
  1838. },
  1839. {
  1840. "type": 2,
  1841. "tagName": "p",
  1842. "attributes": {},
  1843. "childNodes": [
  1844. {
  1845. "type": 3,
  1846. "textContent": "People asking for help on web-design groups are often\nsurprised to hear that the problem they are\nexperiencing with a web page does not even\nshow for others using different browsers.",
  1847. "id": 287
  1848. }
  1849. ],
  1850. "id": 286
  1851. },
  1852. {
  1853. "type": 3,
  1854. "textContent": "\n\n",
  1855. "id": 288
  1856. },
  1857. {
  1858. "type": 2,
  1859. "tagName": "h3",
  1860. "attributes": {},
  1861. "childNodes": [
  1862. {
  1863. "type": 2,
  1864. "tagName": "a",
  1865. "attributes": {
  1866. "id": "devapplet",
  1867. "rel": "nofollow"
  1868. },
  1869. "childNodes": [
  1870. {
  1871. "type": 3,
  1872. "textContent": "Java Applets",
  1873. "id": 291
  1874. }
  1875. ],
  1876. "id": 290
  1877. }
  1878. ],
  1879. "id": 289
  1880. },
  1881. {
  1882. "type": 3,
  1883. "textContent": "\n",
  1884. "id": 292
  1885. },
  1886. {
  1887. "type": 2,
  1888. "tagName": "p",
  1889. "attributes": {},
  1890. "childNodes": [
  1891. {
  1892. "type": 3,
  1893. "textContent": "\nAnother level of complexity, and more chance\nof problems, is introduced when Applets are\nin the web page. How the random clutch of browsers mentioned\nabove will react to (often poorly formed) html and styles,\nwith Applets thrown into the mix as well, is another\nmatter again. Here is just one example.\n",
  1894. "id": 294
  1895. }
  1896. ],
  1897. "id": 293
  1898. },
  1899. {
  1900. "type": 3,
  1901. "textContent": "\n",
  1902. "id": 295
  1903. },
  1904. {
  1905. "type": 2,
  1906. "tagName": "p",
  1907. "attributes": {},
  1908. "childNodes": [
  1909. {
  1910. "type": 3,
  1911. "textContent": "\nFor a long time MicroSoft was shipping the\nInternet Explorer browser with an ",
  1912. "id": 297
  1913. },
  1914. {
  1915. "type": 2,
  1916. "tagName": "em",
  1917. "attributes": {},
  1918. "childNodes": [
  1919. {
  1920. "type": 3,
  1921. "textContent": "older version of Java",
  1922. "id": 299
  1923. }
  1924. ],
  1925. "id": 298
  1926. },
  1927. {
  1928. "type": 3,
  1929. "textContent": "\n(a version 1.1\n",
  1930. "id": 300
  1931. },
  1932. {
  1933. "type": 2,
  1934. "tagName": "abbr",
  1935. "attributes": {
  1936. "title": "Java Virtual Machine, the emulator in which Java Applets run."
  1937. },
  1938. "childNodes": [
  1939. {
  1940. "type": 3,
  1941. "textContent": "\nJVM",
  1942. "id": 302
  1943. }
  1944. ],
  1945. "id": 301
  1946. },
  1947. {
  1948. "type": 3,
  1949. "textContent": ").\nAfter some events happened, MS put\nthe ",
  1950. "id": 303
  1951. },
  1952. {
  1953. "type": 2,
  1954. "tagName": "em",
  1955. "attributes": {},
  1956. "childNodes": [
  1957. {
  1958. "type": 3,
  1959. "textContent": "latest Java",
  1960. "id": 305
  1961. }
  1962. ],
  1963. "id": 304
  1964. },
  1965. {
  1966. "type": 3,
  1967. "textContent": " engines into its browsers. Soon\nafter that, they began to supply the IE with ",
  1968. "id": 306
  1969. },
  1970. {
  1971. "type": 2,
  1972. "tagName": "em",
  1973. "attributes": {},
  1974. "childNodes": [
  1975. {
  1976. "type": 3,
  1977. "textContent": "no JVM\nat all",
  1978. "id": 308
  1979. }
  1980. ],
  1981. "id": 307
  1982. },
  1983. {
  1984. "type": 3,
  1985. "textContent": ".\n",
  1986. "id": 309
  1987. }
  1988. ],
  1989. "id": 296
  1990. },
  1991. {
  1992. "type": 3,
  1993. "textContent": "\n",
  1994. "id": 310
  1995. },
  1996. {
  1997. "type": 2,
  1998. "tagName": "p",
  1999. "attributes": {},
  2000. "childNodes": [
  2001. {
  2002. "type": 3,
  2003. "textContent": "\nGiven the possible complications with Applets,\nit is fortunate that they are so easy to check\nwhen on they are on the internet. A few clicks\nand someone on the other side of the planet\ncan be reading the output from the Java console\nof ",
  2004. "id": 312
  2005. },
  2006. {
  2007. "type": 2,
  2008. "tagName": "em",
  2009. "attributes": {},
  2010. "childNodes": [
  2011. {
  2012. "type": 3,
  2013. "textContent": "their own browser",
  2014. "id": 314
  2015. }
  2016. ],
  2017. "id": 313
  2018. },
  2019. {
  2020. "type": 3,
  2021. "textContent": " or, sometimes, see the Applet\nworking perfectly.\n",
  2022. "id": 315
  2023. }
  2024. ],
  2025. "id": 311
  2026. },
  2027. {
  2028. "type": 3,
  2029. "textContent": "\n",
  2030. "id": 316
  2031. },
  2032. {
  2033. "type": 2,
  2034. "tagName": "p",
  2035. "attributes": {},
  2036. "childNodes": [
  2037. {
  2038. "type": 3,
  2039. "textContent": "\nIf the Applet that fails for you works in someone else's browser,\nit helps to quickly narrow the scope of the problem to the html,\nthe applet tag, or the JVM installed in the browser\n(or complete lack of one).\n",
  2040. "id": 318
  2041. }
  2042. ],
  2043. "id": 317
  2044. },
  2045. {
  2046. "type": 3,
  2047. "textContent": "\n\n",
  2048. "id": 319
  2049. },
  2050. {
  2051. "type": 2,
  2052. "tagName": "h2",
  2053. "attributes": {},
  2054. "childNodes": [
  2055. {
  2056. "type": 2,
  2057. "tagName": "a",
  2058. "attributes": {
  2059. "id": "bother",
  2060. "rel": "nofollow"
  2061. },
  2062. "childNodes": [
  2063. {
  2064. "type": 3,
  2065. "textContent": "Why bother?",
  2066. "id": 322
  2067. }
  2068. ],
  2069. "id": 321
  2070. }
  2071. ],
  2072. "id": 320
  2073. },
  2074. {
  2075. "type": 3,
  2076. "textContent": "\n",
  2077. "id": 323
  2078. },
  2079. {
  2080. "type": 2,
  2081. "tagName": "p",
  2082. "attributes": {},
  2083. "childNodes": [
  2084. {
  2085. "type": 3,
  2086. "textContent": "A very good question. Why go to all this effort?\n",
  2087. "id": 325
  2088. }
  2089. ],
  2090. "id": 324
  2091. },
  2092. {
  2093. "type": 3,
  2094. "textContent": "\n",
  2095. "id": 326
  2096. },
  2097. {
  2098. "type": 2,
  2099. "tagName": "p",
  2100. "attributes": {},
  2101. "childNodes": [
  2102. {
  2103. "type": 3,
  2104. "textContent": "\nPerhaps someone can understand the problem\nyou describe from the description you give.\nMaybe it is one of those things that a\nthousand people before have stumbled on.\n",
  2105. "id": 328
  2106. }
  2107. ],
  2108. "id": 327
  2109. },
  2110. {
  2111. "type": 3,
  2112. "textContent": "\n",
  2113. "id": 329
  2114. },
  2115. {
  2116. "type": 2,
  2117. "tagName": "p",
  2118. "attributes": {},
  2119. "childNodes": [
  2120. {
  2121. "type": 3,
  2122. "textContent": "\nIf you have already checked the FAQ,\nGoogled the forum, read the ..flaming\nmanual it is unlikely that an answer\nwill pop up that easily. You ",
  2123. "id": 331
  2124. },
  2125. {
  2126. "type": 2,
  2127. "tagName": "em",
  2128. "attributes": {},
  2129. "childNodes": [
  2130. {
  2131. "type": 3,
  2132. "textContent": "have",
  2133. "id": 333
  2134. }
  2135. ],
  2136. "id": 332
  2137. },
  2138. {
  2139. "type": 3,
  2140. "textContent": "\ndone those things, haven't you?\n",
  2141. "id": 334
  2142. }
  2143. ],
  2144. "id": 330
  2145. },
  2146. {
  2147. "type": 3,
  2148. "textContent": "\n",
  2149. "id": 335
  2150. },
  2151. {
  2152. "type": 2,
  2153. "tagName": "p",
  2154. "attributes": {},
  2155. "childNodes": [
  2156. {
  2157. "type": 3,
  2158. "textContent": "\nIf wasting the time and bandwidth of\nthe other members of a public forum, you\nrisk members of the group delivering\nshort sharp rebukes.\n",
  2159. "id": 337
  2160. }
  2161. ],
  2162. "id": 336
  2163. },
  2164. {
  2165. "type": 3,
  2166. "textContent": "\n",
  2167. "id": 338
  2168. },
  2169. {
  2170. "type": 2,
  2171. "tagName": "p",
  2172. "attributes": {},
  2173. "childNodes": [
  2174. {
  2175. "type": 3,
  2176. "textContent": "\nThe people who contribute to the groups\ngive a wide range of advice. Sometimes\nthe advice works, sometimes it does not,\nbut either way, the advice is free.\n",
  2177. "id": 340
  2178. }
  2179. ],
  2180. "id": 339
  2181. },
  2182. {
  2183. "type": 3,
  2184. "textContent": "\n",
  2185. "id": 341
  2186. },
  2187. {
  2188. "type": 2,
  2189. "tagName": "p",
  2190. "attributes": {},
  2191. "childNodes": [
  2192. {
  2193. "type": 3,
  2194. "textContent": "\nContributors do so for a variety of reasons,\nincluding the nice feeling they get when\nthey can pass on a piece of knowledge relating\nto their chosen field to someone who is learning.\n",
  2195. "id": 343
  2196. }
  2197. ],
  2198. "id": 342
  2199. },
  2200. {
  2201. "type": 3,
  2202. "textContent": "\n",
  2203. "id": 344
  2204. },
  2205. {
  2206. "type": 2,
  2207. "tagName": "p",
  2208. "attributes": {},
  2209. "childNodes": [
  2210. {
  2211. "type": 3,
  2212. "textContent": "\nUnfortunately, if someone asks to be\nspoon fed information that is contained\nin a basic tutorial, it is a strong indication\nthat the questioner does not so much want\nto learn as get others to do work they should\nbe doing themselves.\n",
  2213. "id": 346
  2214. }
  2215. ],
  2216. "id": 345
  2217. },
  2218. {
  2219. "type": 3,
  2220. "textContent": "\n",
  2221. "id": 347
  2222. },
  2223. {
  2224. "type": 2,
  2225. "tagName": "p",
  2226. "attributes": {},
  2227. "childNodes": [
  2228. {
  2229. "type": 3,
  2230. "textContent": "\nIf there is a piece of code\nand you wish to have it written, finished\nor fixed by others, there are plenty of\navenues to achieve that. For a modest amount of\nmoney, you can get most IT work completed (or done)\nthrough a number of internet based outsourcing\ncompanies.\nThat is what such companies specialize in.",
  2231. "id": 349
  2232. }
  2233. ],
  2234. "id": 348
  2235. },
  2236. {
  2237. "type": 3,
  2238. "textContent": "\n",
  2239. "id": 350
  2240. },
  2241. {
  2242. "type": 2,
  2243. "tagName": "p",
  2244. "attributes": {},
  2245. "childNodes": [
  2246. {
  2247. "type": 3,
  2248. "textContent": "Free forums are for\npeople to learn.",
  2249. "id": 352
  2250. }
  2251. ],
  2252. "id": 351
  2253. },
  2254. {
  2255. "type": 3,
  2256. "textContent": "\n",
  2257. "id": 353
  2258. },
  2259. {
  2260. "type": 2,
  2261. "tagName": "p",
  2262. "attributes": {},
  2263. "childNodes": [
  2264. {
  2265. "type": 3,
  2266. "textContent": "Having said that:\n",
  2267. "id": 355
  2268. }
  2269. ],
  2270. "id": 354
  2271. },
  2272. {
  2273. "type": 3,
  2274. "textContent": "\n",
  2275. "id": 356
  2276. },
  2277. {
  2278. "type": 2,
  2279. "tagName": "p",
  2280. "attributes": {},
  2281. "childNodes": [
  2282. {
  2283. "type": 3,
  2284. "textContent": "\nLet us assume you are indeed genuine\nin your learning, you have a huge, complex system\nwith an occasional, unpredictable bug, and you\n",
  2285. "id": 358
  2286. },
  2287. {
  2288. "type": 2,
  2289. "tagName": "em",
  2290. "attributes": {},
  2291. "childNodes": [
  2292. {
  2293. "type": 3,
  2294. "textContent": "have",
  2295. "id": 360
  2296. }
  2297. ],
  2298. "id": 359
  2299. },
  2300. {
  2301. "type": 3,
  2302. "textContent": " searched the FAQ & Group,\nstudied the manual or documentation and not\nproduced an answer.\n",
  2303. "id": 361
  2304. }
  2305. ],
  2306. "id": 357
  2307. },
  2308. {
  2309. "type": 3,
  2310. "textContent": "\n",
  2311. "id": 362
  2312. },
  2313. {
  2314. "type": 2,
  2315. "tagName": "p",
  2316. "attributes": {},
  2317. "childNodes": [
  2318. {
  2319. "type": 3,
  2320. "textContent": "\nFeel free to describe the problem to the\ngroup; perhaps it is a basic\nmisunderstanding on your part\nthat can easily be cleared up.\n",
  2321. "id": 364
  2322. }
  2323. ],
  2324. "id": 363
  2325. },
  2326. {
  2327. "type": 3,
  2328. "textContent": "\n",
  2329. "id": 365
  2330. },
  2331. {
  2332. "type": 2,
  2333. "tagName": "p",
  2334. "attributes": {},
  2335. "childNodes": [
  2336. {
  2337. "type": 2,
  2338. "tagName": "b",
  2339. "attributes": {},
  2340. "childNodes": [
  2341. {
  2342. "type": 2,
  2343. "tagName": "a",
  2344. "attributes": {
  2345. "id": "compulsory",
  2346. "rel": "nofollow"
  2347. },
  2348. "childNodes": [
  2349. {
  2350. "type": 3,
  2351. "textContent": "We",
  2352. "id": 369
  2353. }
  2354. ],
  2355. "id": 368
  2356. },
  2357. {
  2358. "type": 2,
  2359. "tagName": "a",
  2360. "attributes": {
  2361. "id": "every",
  2362. "rel": "nofollow"
  2363. },
  2364. "childNodes": [],
  2365. "id": 370
  2366. },
  2367. {
  2368. "type": 3,
  2369. "textContent": " are not proposing that every single\nproblem needs a SSCCE in order to be\nsolved. We are also not suggesting an\nexample is, or should be, compulsory.",
  2370. "id": 371
  2371. }
  2372. ],
  2373. "id": 367
  2374. }
  2375. ],
  2376. "id": 366
  2377. },
  2378. {
  2379. "type": 3,
  2380. "textContent": "\n",
  2381. "id": 372
  2382. },
  2383. {
  2384. "type": 2,
  2385. "tagName": "p",
  2386. "attributes": {},
  2387. "childNodes": [
  2388. {
  2389. "type": 3,
  2390. "textContent": "It will, however, make people\nmuch ",
  2391. "id": 374
  2392. },
  2393. {
  2394. "type": 2,
  2395. "tagName": "em",
  2396. "attributes": {},
  2397. "childNodes": [
  2398. {
  2399. "type": 3,
  2400. "textContent": "more likely to help",
  2401. "id": 376
  2402. }
  2403. ],
  2404. "id": 375
  2405. },
  2406. {
  2407. "type": 3,
  2408. "textContent": ", and will\ntherefore ",
  2409. "id": 377
  2410. },
  2411. {
  2412. "type": 2,
  2413. "tagName": "em",
  2414. "attributes": {},
  2415. "childNodes": [
  2416. {
  2417. "type": 3,
  2418. "textContent": "increase the chance of\nfinding a solution",
  2419. "id": 379
  2420. }
  2421. ],
  2422. "id": 378
  2423. },
  2424. {
  2425. "type": 3,
  2426. "textContent": ".",
  2427. "id": 380
  2428. }
  2429. ],
  2430. "id": 373
  2431. },
  2432. {
  2433. "type": 3,
  2434. "textContent": "\n\n\n",
  2435. "id": 381
  2436. },
  2437. {
  2438. "type": 2,
  2439. "tagName": "div",
  2440. "attributes": {
  2441. "class": "centerFooter"
  2442. },
  2443. "childNodes": [
  2444. {
  2445. "type": 3,
  2446. "textContent": "\nWeb hosting compliments of\n",
  2447. "id": 383
  2448. },
  2449. {
  2450. "type": 2,
  2451. "tagName": "a",
  2452. "attributes": {
  2453. "href": "http://evolutionhosting.com/pub/evolution.jsp"
  2454. },
  2455. "childNodes": [
  2456. {
  2457. "type": 3,
  2458. "textContent": "Evolution Hosting",
  2459. "id": 385
  2460. }
  2461. ],
  2462. "id": 384
  2463. },
  2464. {
  2465. "type": 3,
  2466. "textContent": " and ",
  2467. "id": 386
  2468. },
  2469. {
  2470. "type": 2,
  2471. "tagName": "a",
  2472. "attributes": {
  2473. "href": "https://coderanch.com/"
  2474. },
  2475. "childNodes": [
  2476. {
  2477. "type": 3,
  2478. "textContent": "CodeRanch",
  2479. "id": 388
  2480. }
  2481. ],
  2482. "id": 387
  2483. },
  2484. {
  2485. "type": 3,
  2486. "textContent": ".",
  2487. "id": 389
  2488. },
  2489. {
  2490. "type": 2,
  2491. "tagName": "br",
  2492. "attributes": {},
  2493. "childNodes": [],
  2494. "id": 390
  2495. },
  2496. {
  2497. "type": 3,
  2498. "textContent": "\n",
  2499. "id": 391
  2500. }
  2501. ],
  2502. "id": 382
  2503. },
  2504. {
  2505. "type": 3,
  2506. "textContent": "\n\n\n\n\n",
  2507. "id": 392
  2508. },
  2509. {
  2510. "type": 2,
  2511. "tagName": "script",
  2512. "attributes": {
  2513. "type": "text/javascript",
  2514. "charset": "utf-8"
  2515. },
  2516. "childNodes": [
  2517. {
  2518. "type": 3,
  2519. "textContent": "SCRIPT_PLACEHOLDER",
  2520. "id": 394
  2521. }
  2522. ],
  2523. "id": 393
  2524. },
  2525. {
  2526. "type": 3,
  2527. "textContent": "\n\n\n\n\n\n",
  2528. "id": 395
  2529. }
  2530. ],
  2531. "id": 27
  2532. }
  2533. ],
  2534. "id": 3
  2535. }
  2536. ],
  2537. "id": 1
  2538. },
  2539. "initialOffset": {
  2540. "left": 0,
  2541. "top": 0
  2542. }
  2543. },
  2544. "timestamp": 1568366883629
  2545. },
  2546. {
  2547. "type": 3,
  2548. "data": {
  2549. "source": 1,
  2550. "positions": [
  2551. {
  2552. "x": 894,
  2553. "y": 181,
  2554. "id": 196,
  2555. "timeOffset": 0
  2556. }
  2557. ]
  2558. },
  2559. "timestamp": 1568366883644
  2560. },
  2561. {
  2562. "type": 3,
  2563. "data": {
  2564. "source": 1,
  2565. "positions": [
  2566. {
  2567. "x": 894,
  2568. "y": 180,
  2569. "id": 196,
  2570. "timeOffset": -420
  2571. }
  2572. ]
  2573. },
  2574. "timestamp": 1568366884144
  2575. },
  2576. {
  2577. "type": 3,
  2578. "data": {
  2579. "source": 1,
  2580. "positions": [
  2581. {
  2582. "x": 1222,
  2583. "y": 177,
  2584. "id": 196,
  2585. "timeOffset": 0
  2586. }
  2587. ]
  2588. },
  2589. "timestamp": 1568366886988
  2590. },
  2591. {
  2592. "type": 3,
  2593. "data": {
  2594. "source": 3,
  2595. "id": 1,
  2596. "x": 0,
  2597. "y": 1240
  2598. },
  2599. "timestamp": 1568366887396
  2600. },
  2601. {
  2602. "type": 3,
  2603. "data": {
  2604. "source": 1,
  2605. "positions": [
  2606. {
  2607. "x": 1310,
  2608. "y": 187,
  2609. "id": 196,
  2610. "timeOffset": -437
  2611. },
  2612. {
  2613. "x": 1310,
  2614. "y": 188,
  2615. "id": 196,
  2616. "timeOffset": -369
  2617. },
  2618. {
  2619. "x": 1302,
  2620. "y": 185,
  2621. "id": 196,
  2622. "timeOffset": -303
  2623. },
  2624. {
  2625. "x": 1297,
  2626. "y": 183,
  2627. "id": 196,
  2628. "timeOffset": -253
  2629. },
  2630. {
  2631. "x": 1296,
  2632. "y": 183,
  2633. "id": 196,
  2634. "timeOffset": -181
  2635. },
  2636. {
  2637. "x": 1294,
  2638. "y": 182,
  2639. "id": 27,
  2640. "timeOffset": -69
  2641. }
  2642. ]
  2643. },
  2644. "timestamp": 1568366887489
  2645. },
  2646. {
  2647. "type": 3,
  2648. "data": {
  2649. "source": 3,
  2650. "id": 1,
  2651. "x": 0,
  2652. "y": 1340
  2653. },
  2654. "timestamp": 1568366887497
  2655. },
  2656. {
  2657. "type": 3,
  2658. "data": {
  2659. "source": 3,
  2660. "id": 1,
  2661. "x": 0,
  2662. "y": 1676.666748046875
  2663. },
  2664. "timestamp": 1568366887598
  2665. },
  2666. {
  2667. "type": 3,
  2668. "data": {
  2669. "source": 3,
  2670. "id": 1,
  2671. "x": 0,
  2672. "y": 1796.666748046875
  2673. },
  2674. "timestamp": 1568366887698
  2675. },
  2676. {
  2677. "type": 3,
  2678. "data": {
  2679. "source": 3,
  2680. "id": 1,
  2681. "x": 0,
  2682. "y": 1710
  2683. },
  2684. "timestamp": 1568366887800
  2685. },
  2686. {
  2687. "type": 3,
  2688. "data": {
  2689. "source": 3,
  2690. "id": 1,
  2691. "x": 0,
  2692. "y": 1683.3333740234375
  2693. },
  2694. "timestamp": 1568366887901
  2695. },
  2696. {
  2697. "type": 3,
  2698. "data": {
  2699. "source": 1,
  2700. "positions": [
  2701. {
  2702. "x": 1293,
  2703. "y": 182,
  2704. "id": 27,
  2705. "timeOffset": -337
  2706. },
  2707. {
  2708. "x": 1292,
  2709. "y": 182,
  2710. "id": 27,
  2711. "timeOffset": -221
  2712. }
  2713. ]
  2714. },
  2715. "timestamp": 1568366887990
  2716. },
  2717. {
  2718. "type": 3,
  2719. "data": {
  2720. "source": 3,
  2721. "id": 1,
  2722. "x": 0,
  2723. "y": 1637.77783203125
  2724. },
  2725. "timestamp": 1568366888001
  2726. },
  2727. {
  2728. "type": 3,
  2729. "data": {
  2730. "source": 3,
  2731. "id": 1,
  2732. "x": 0,
  2733. "y": 1328.888916015625
  2734. },
  2735. "timestamp": 1568366888102
  2736. },
  2737. {
  2738. "type": 3,
  2739. "data": {
  2740. "source": 3,
  2741. "id": 1,
  2742. "x": 0,
  2743. "y": 1238.888916015625
  2744. },
  2745. "timestamp": 1568366888203
  2746. },
  2747. {
  2748. "type": 3,
  2749. "data": {
  2750. "source": 3,
  2751. "id": 1,
  2752. "x": 0,
  2753. "y": 1001.1111450195312
  2754. },
  2755. "timestamp": 1568366888304
  2756. },
  2757. {
  2758. "type": 3,
  2759. "data": {
  2760. "source": 3,
  2761. "id": 1,
  2762. "x": 0,
  2763. "y": 392.22222900390625
  2764. },
  2765. "timestamp": 1568366888405
  2766. },
  2767. {
  2768. "type": 3,
  2769. "data": {
  2770. "source": 1,
  2771. "positions": [
  2772. {
  2773. "x": 1291,
  2774. "y": 181,
  2775. "id": 196,
  2776. "timeOffset": -288
  2777. },
  2778. {
  2779. "x": 1291,
  2780. "y": 178,
  2781. "id": 175,
  2782. "timeOffset": -222
  2783. }
  2784. ]
  2785. },
  2786. "timestamp": 1568366888491
  2787. },
  2788. {
  2789. "type": 3,
  2790. "data": {
  2791. "source": 3,
  2792. "id": 1,
  2793. "x": 0,
  2794. "y": 86.66667175292969
  2795. },
  2796. "timestamp": 1568366888506
  2797. },
  2798. {
  2799. "type": 3,
  2800. "data": {
  2801. "source": 3,
  2802. "id": 1,
  2803. "x": 0,
  2804. "y": 0
  2805. },
  2806. "timestamp": 1568366888607
  2807. },
  2808. {
  2809. "type": 3,
  2810. "data": {
  2811. "source": 1,
  2812. "positions": [
  2813. {
  2814. "x": 1291,
  2815. "y": 177,
  2816. "id": 47,
  2817. "timeOffset": -439
  2818. },
  2819. {
  2820. "x": 1290,
  2821. "y": 177,
  2822. "id": 27,
  2823. "timeOffset": -307
  2824. },
  2825. {
  2826. "x": 1288,
  2827. "y": 177,
  2828. "id": 27,
  2829. "timeOffset": -237
  2830. },
  2831. {
  2832. "x": 1280,
  2833. "y": 181,
  2834. "id": 27,
  2835. "timeOffset": -173
  2836. },
  2837. {
  2838. "x": 1264,
  2839. "y": 185,
  2840. "id": 47,
  2841. "timeOffset": -106
  2842. }
  2843. ]
  2844. },
  2845. "timestamp": 1568366888992
  2846. },
  2847. {
  2848. "type": 3,
  2849. "data": {
  2850. "source": 1,
  2851. "positions": [
  2852. {
  2853. "x": 1265,
  2854. "y": 303,
  2855. "id": 27,
  2856. "timeOffset": 0
  2857. }
  2858. ]
  2859. },
  2860. "timestamp": 1568366895212
  2861. },
  2862. {
  2863. "type": 3,
  2864. "data": {
  2865. "source": 3,
  2866. "id": 1,
  2867. "x": 0,
  2868. "y": 1.1111111640930176
  2869. },
  2870. "timestamp": 1568366895435
  2871. },
  2872. {
  2873. "type": 3,
  2874. "data": {
  2875. "source": 3,
  2876. "id": 1,
  2877. "x": 0,
  2878. "y": 71.11111450195312
  2879. },
  2880. "timestamp": 1568366895535
  2881. },
  2882. {
  2883. "type": 3,
  2884. "data": {
  2885. "source": 3,
  2886. "id": 1,
  2887. "x": 0,
  2888. "y": 168.88890075683594
  2889. },
  2890. "timestamp": 1568366895636
  2891. },
  2892. {
  2893. "type": 3,
  2894. "data": {
  2895. "source": 1,
  2896. "positions": [
  2897. {
  2898. "x": 1421,
  2899. "y": 335,
  2900. "id": 3,
  2901. "timeOffset": -444
  2902. },
  2903. {
  2904. "x": 1418,
  2905. "y": 338,
  2906. "id": 3,
  2907. "timeOffset": -379
  2908. },
  2909. {
  2910. "x": 1417,
  2911. "y": 338,
  2912. "id": 3,
  2913. "timeOffset": -325
  2914. },
  2915. {
  2916. "x": 1414,
  2917. "y": 338,
  2918. "id": 3,
  2919. "timeOffset": -262
  2920. },
  2921. {
  2922. "x": 1415,
  2923. "y": 340,
  2924. "id": 3,
  2925. "timeOffset": -46
  2926. }
  2927. ]
  2928. },
  2929. "timestamp": 1568366895713
  2930. },
  2931. {
  2932. "type": 3,
  2933. "data": {
  2934. "source": 3,
  2935. "id": 1,
  2936. "x": 0,
  2937. "y": 460
  2938. },
  2939. "timestamp": 1568366895736
  2940. },
  2941. {
  2942. "type": 3,
  2943. "data": {
  2944. "source": 3,
  2945. "id": 1,
  2946. "x": 0,
  2947. "y": 555.5555419921875
  2948. },
  2949. "timestamp": 1568366895837
  2950. },
  2951. {
  2952. "type": 3,
  2953. "data": {
  2954. "source": 1,
  2955. "positions": [
  2956. {
  2957. "x": 1414,
  2958. "y": 340,
  2959. "id": 3,
  2960. "timeOffset": -413
  2961. },
  2962. {
  2963. "x": 1388,
  2964. "y": 341,
  2965. "id": 135,
  2966. "timeOffset": -363
  2967. },
  2968. {
  2969. "x": 1285,
  2970. "y": 341,
  2971. "id": 135,
  2972. "timeOffset": -313
  2973. }
  2974. ]
  2975. },
  2976. "timestamp": 1568366896213
  2977. },
  2978. {
  2979. "type": 3,
  2980. "data": {
  2981. "source": 1,
  2982. "positions": [
  2983. {
  2984. "x": 433,
  2985. "y": 33,
  2986. "id": 100,
  2987. "timeOffset": 0
  2988. }
  2989. ]
  2990. },
  2991. "timestamp": 1568366905068
  2992. },
  2993. {
  2994. "type": 3,
  2995. "data": {
  2996. "source": 1,
  2997. "positions": [
  2998. {
  2999. "x": 401,
  3000. "y": 27,
  3001. "id": 100,
  3002. "timeOffset": -375
  3003. },
  3004. {
  3005. "x": 376,
  3006. "y": 34,
  3007. "id": 100,
  3008. "timeOffset": -295
  3009. },
  3010. {
  3011. "x": 356,
  3012. "y": 17,
  3013. "id": 100,
  3014. "timeOffset": -237
  3015. },
  3016. {
  3017. "x": 340,
  3018. "y": 8,
  3019. "id": 27,
  3020. "timeOffset": -187
  3021. }
  3022. ]
  3023. },
  3024. "timestamp": 1568366905571
  3025. },
  3026. {
  3027. "type": 3,
  3028. "data": {
  3029. "source": 1,
  3030. "positions": [
  3031. {
  3032. "x": 892,
  3033. "y": 4,
  3034. "id": 27,
  3035. "timeOffset": 0
  3036. }
  3037. ]
  3038. },
  3039. "timestamp": 1568366983516
  3040. },
  3041. {
  3042. "type": 3,
  3043. "data": {
  3044. "source": 3,
  3045. "id": 1,
  3046. "x": 0,
  3047. "y": 556.6666870117188
  3048. },
  3049. "timestamp": 1568366983804
  3050. },
  3051. {
  3052. "type": 3,
  3053. "data": {
  3054. "source": 3,
  3055. "id": 1,
  3056. "x": 0,
  3057. "y": 657.7777709960938
  3058. },
  3059. "timestamp": 1568366983905
  3060. },
  3061. {
  3062. "type": 3,
  3063. "data": {
  3064. "source": 3,
  3065. "id": 1,
  3066. "x": 0,
  3067. "y": 966.6666870117188
  3068. },
  3069. "timestamp": 1568366984005
  3070. },
  3071. {
  3072. "type": 3,
  3073. "data": {
  3074. "source": 1,
  3075. "positions": [
  3076. {
  3077. "x": 738,
  3078. "y": 144,
  3079. "id": 113,
  3080. "timeOffset": -433
  3081. },
  3082. {
  3083. "x": 690,
  3084. "y": 212,
  3085. "id": 27,
  3086. "timeOffset": -367
  3087. },
  3088. {
  3089. "x": 690,
  3090. "y": 213,
  3091. "id": 123,
  3092. "timeOffset": -134
  3093. },
  3094. {
  3095. "x": 690,
  3096. "y": 216,
  3097. "id": 27,
  3098. "timeOffset": 0
  3099. }
  3100. ]
  3101. },
  3102. "timestamp": 1568366984016
  3103. },
  3104. {
  3105. "type": 3,
  3106. "data": {
  3107. "source": 3,
  3108. "id": 1,
  3109. "x": 0,
  3110. "y": 1000
  3111. },
  3112. "timestamp": 1568366984106
  3113. },
  3114. {
  3115. "type": 3,
  3116. "data": {
  3117. "source": 3,
  3118. "id": 1,
  3119. "x": 0,
  3120. "y": 1160
  3121. },
  3122. "timestamp": 1568366984206
  3123. },
  3124. {
  3125. "type": 3,
  3126. "data": {
  3127. "source": 3,
  3128. "id": 1,
  3129. "x": 0,
  3130. "y": 1555.5555419921875
  3131. },
  3132. "timestamp": 1568366984307
  3133. },
  3134. {
  3135. "type": 3,
  3136. "data": {
  3137. "source": 1,
  3138. "positions": [
  3139. {
  3140. "x": 691,
  3141. "y": 214,
  3142. "id": 27,
  3143. "timeOffset": -161
  3144. },
  3145. {
  3146. "x": 692,
  3147. "y": 213,
  3148. "id": 27,
  3149. "timeOffset": -101
  3150. },
  3151. {
  3152. "x": 694,
  3153. "y": 212,
  3154. "id": 27,
  3155. "timeOffset": -50
  3156. }
  3157. ]
  3158. },
  3159. "timestamp": 1568366984517
  3160. },
  3161. {
  3162. "type": 3,
  3163. "data": {
  3164. "source": 1,
  3165. "positions": [
  3166. {
  3167. "x": 1016,
  3168. "y": 31,
  3169. "id": 221,
  3170. "timeOffset": 0
  3171. }
  3172. ]
  3173. },
  3174. "timestamp": 1568366987332
  3175. },
  3176. {
  3177. "type": 3,
  3178. "data": {
  3179. "source": 1,
  3180. "positions": [
  3181. {
  3182. "x": 1021,
  3183. "y": 0,
  3184. "id": 217,
  3185. "timeOffset": 0
  3186. }
  3187. ]
  3188. },
  3189. "timestamp": 1568366993013
  3190. },
  3191. {
  3192. "type": 3,
  3193. "data": {
  3194. "source": 1,
  3195. "positions": [
  3196. {
  3197. "x": 1184,
  3198. "y": 28,
  3199. "id": 221,
  3200. "timeOffset": 0
  3201. }
  3202. ]
  3203. },
  3204. "timestamp": 1568367000668
  3205. },
  3206. {
  3207. "type": 3,
  3208. "data": {
  3209. "source": 1,
  3210. "positions": [
  3211. {
  3212. "x": 1207,
  3213. "y": 6,
  3214. "id": 217,
  3215. "timeOffset": -438
  3216. }
  3217. ]
  3218. },
  3219. "timestamp": 1568367001168
  3220. },
  3221. {
  3222. "type": 4,
  3223. "data": {
  3224. "href": "http://localhost:5000/",
  3225. "width": 1422,
  3226. "height": 741
  3227. },
  3228. "timestamp": 1568367155696
  3229. },
  3230. {
  3231. "type": 2,
  3232. "data": {
  3233. "node": {
  3234. "type": 0,
  3235. "childNodes": [
  3236. {
  3237. "type": 1,
  3238. "name": "",
  3239. "publicId": "",
  3240. "systemId": "",
  3241. "id": 2
  3242. },
  3243. {
  3244. "type": 2,
  3245. "tagName": "html",
  3246. "attributes": {},
  3247. "childNodes": [
  3248. {
  3249. "type": 2,
  3250. "tagName": "head",
  3251. "attributes": {},
  3252. "childNodes": [
  3253. {
  3254. "type": 3,
  3255. "textContent": "\n",
  3256. "id": 5
  3257. },
  3258. {
  3259. "type": 2,
  3260. "tagName": "meta",
  3261. "attributes": {
  3262. "http-equiv": "content-type",
  3263. "content": "text/html; charset=utf-8"
  3264. },
  3265. "childNodes": [],
  3266. "id": 6
  3267. },
  3268. {
  3269. "type": 3,
  3270. "textContent": "\n",
  3271. "id": 7
  3272. },
  3273. {
  3274. "type": 2,
  3275. "tagName": "title",
  3276. "attributes": {},
  3277. "childNodes": [
  3278. {
  3279. "type": 3,
  3280. "textContent": "Short, Self Contained, Correct Example",
  3281. "id": 9
  3282. }
  3283. ],
  3284. "id": 8
  3285. },
  3286. {
  3287. "type": 3,
  3288. "textContent": "\n",
  3289. "id": 10
  3290. },
  3291. {
  3292. "type": 2,
  3293. "tagName": "meta",
  3294. "attributes": {
  3295. "name": "author",
  3296. "content": "Andrew Thompson edited by Ryan Stewart & Lewis Bloch"
  3297. },
  3298. "childNodes": [],
  3299. "id": 11
  3300. },
  3301. {
  3302. "type": 3,
  3303. "textContent": "\n",
  3304. "id": 12
  3305. },
  3306. {
  3307. "type": 2,
  3308. "tagName": "meta",
  3309. "attributes": {
  3310. "name": "description",
  3311. "content": "Describes the short, self contained,\ncorrect example. A useful technique for debugging."
  3312. },
  3313. "childNodes": [],
  3314. "id": 13
  3315. },
  3316. {
  3317. "type": 3,
  3318. "textContent": "\n",
  3319. "id": 14
  3320. },
  3321. {
  3322. "type": 2,
  3323. "tagName": "meta",
  3324. "attributes": {
  3325. "name": "last-updated",
  3326. "content": "2014-02-19"
  3327. },
  3328. "childNodes": [],
  3329. "id": 15
  3330. },
  3331. {
  3332. "type": 3,
  3333. "textContent": "\n",
  3334. "id": 16
  3335. },
  3336. {
  3337. "type": 2,
  3338. "tagName": "meta",
  3339. "attributes": {
  3340. "name": "keywords",
  3341. "content": "bug, debug, problem, fix, help, example, source,\ncode, java, javascript, html, css, styles, layout"
  3342. },
  3343. "childNodes": [],
  3344. "id": 17
  3345. },
  3346. {
  3347. "type": 3,
  3348. "textContent": "\n\n",
  3349. "id": 18
  3350. },
  3351. {
  3352. "type": 2,
  3353. "tagName": "style",
  3354. "attributes": {
  3355. "type": "text/css"
  3356. },
  3357. "childNodes": [
  3358. {
  3359. "type": 3,
  3360. "textContent": "\n.centerFooter {\n\ttext-align: center;\n\tfont-size: 90%;\n}\nbody {\n\tfont-size: 100%;\n\tfont-family: helvetica, arial, sans-serif;\n\tbackground-color: rgb(250,247,241);\n}\n",
  3361. "isStyle": true,
  3362. "id": 20
  3363. }
  3364. ],
  3365. "id": 19
  3366. },
  3367. {
  3368. "type": 3,
  3369. "textContent": "\n\n\n",
  3370. "id": 21
  3371. },
  3372. {
  3373. "type": 2,
  3374. "tagName": "script",
  3375. "attributes": {
  3376. "src": "https://cdn.jsdelivr.net/npm/rrweb@latest/dist/rrweb.min.js"
  3377. },
  3378. "childNodes": [],
  3379. "id": 22
  3380. },
  3381. {
  3382. "type": 3,
  3383. "textContent": "\n",
  3384. "id": 23
  3385. },
  3386. {
  3387. "type": 2,
  3388. "tagName": "script",
  3389. "attributes": {
  3390. "src": "http://cdnjs.cloudflare.com/ajax/libs/socket.io/2.2.0/socket.io.js",
  3391. "integrity": "sha256-yr4fRk/GU1ehYJPAs8P4JlTgu0Hdsp4ZKrx8bDEDC3I=",
  3392. "crossorigin": "anonymous"
  3393. },
  3394. "childNodes": [],
  3395. "id": 24
  3396. },
  3397. {
  3398. "type": 3,
  3399. "textContent": "\n\n",
  3400. "id": 25
  3401. }
  3402. ],
  3403. "id": 4
  3404. },
  3405. {
  3406. "type": 3,
  3407. "textContent": "\n",
  3408. "id": 26
  3409. },
  3410. {
  3411. "type": 2,
  3412. "tagName": "body",
  3413. "attributes": {
  3414. "class": "nopad"
  3415. },
  3416. "childNodes": [
  3417. {
  3418. "type": 3,
  3419. "textContent": "\n\n",
  3420. "id": 28
  3421. },
  3422. {
  3423. "type": 2,
  3424. "tagName": "h1",
  3425. "attributes": {},
  3426. "childNodes": [
  3427. {
  3428. "type": 3,
  3429. "textContent": "The SSCCE",
  3430. "id": 30
  3431. }
  3432. ],
  3433. "id": 29
  3434. },
  3435. {
  3436. "type": 3,
  3437. "textContent": "\n",
  3438. "id": 31
  3439. },
  3440. {
  3441. "type": 2,
  3442. "tagName": "h2",
  3443. "attributes": {},
  3444. "childNodes": [
  3445. {
  3446. "type": 3,
  3447. "textContent": "Short, Self Contained, Correct (Compilable), Example",
  3448. "id": 33
  3449. }
  3450. ],
  3451. "id": 32
  3452. },
  3453. {
  3454. "type": 3,
  3455. "textContent": "\n",
  3456. "id": 34
  3457. },
  3458. {
  3459. "type": 2,
  3460. "tagName": "p",
  3461. "attributes": {},
  3462. "childNodes": [
  3463. {
  3464. "type": 3,
  3465. "textContent": "If you are having a problem with some code and seeking help,\npreparing a Short, Self Contained, Correct Example (",
  3466. "id": 36
  3467. },
  3468. {
  3469. "type": 2,
  3470. "tagName": "abbr",
  3471. "attributes": {
  3472. "title": "Short, self contained, correct example"
  3473. },
  3474. "childNodes": [
  3475. {
  3476. "type": 3,
  3477. "textContent": "SSCCE",
  3478. "id": 38
  3479. }
  3480. ],
  3481. "id": 37
  3482. },
  3483. {
  3484. "type": 3,
  3485. "textContent": ") is very\nuseful. But what is an SSCCE?",
  3486. "id": 39
  3487. }
  3488. ],
  3489. "id": 35
  3490. },
  3491. {
  3492. "type": 2,
  3493. "tagName": "p",
  3494. "attributes": {},
  3495. "childNodes": [
  3496. {
  3497. "type": 3,
  3498. "textContent": "\n",
  3499. "id": 41
  3500. }
  3501. ],
  3502. "id": 40
  3503. },
  3504. {
  3505. "type": 2,
  3506. "tagName": "p",
  3507. "attributes": {},
  3508. "childNodes": [
  3509. {
  3510. "type": 3,
  3511. "textContent": "It is all in the name, really. Take a look at each part. The\nversion prepared for others to see should be:",
  3512. "id": 43
  3513. }
  3514. ],
  3515. "id": 42
  3516. },
  3517. {
  3518. "type": 3,
  3519. "textContent": "\n",
  3520. "id": 44
  3521. },
  3522. {
  3523. "type": 2,
  3524. "tagName": "ul",
  3525. "attributes": {},
  3526. "childNodes": [
  3527. {
  3528. "type": 3,
  3529. "textContent": "\n",
  3530. "id": 46
  3531. },
  3532. {
  3533. "type": 2,
  3534. "tagName": "li",
  3535. "attributes": {},
  3536. "childNodes": [
  3537. {
  3538. "type": 2,
  3539. "tagName": "a",
  3540. "attributes": {},
  3541. "childNodes": [
  3542. {
  3543. "type": 3,
  3544. "textContent": "Short",
  3545. "id": 49
  3546. }
  3547. ],
  3548. "id": 48
  3549. },
  3550. {
  3551. "type": 3,
  3552. "textContent": " (Small) - Minimise bandwidth for the example,\ndo not bore the audience.",
  3553. "id": 50
  3554. }
  3555. ],
  3556. "id": 47
  3557. },
  3558. {
  3559. "type": 3,
  3560. "textContent": "\n",
  3561. "id": 51
  3562. },
  3563. {
  3564. "type": 2,
  3565. "tagName": "li",
  3566. "attributes": {},
  3567. "childNodes": [
  3568. {
  3569. "type": 2,
  3570. "tagName": "a",
  3571. "attributes": {},
  3572. "childNodes": [
  3573. {
  3574. "type": 3,
  3575. "textContent": "Self Contained",
  3576. "id": 54
  3577. }
  3578. ],
  3579. "id": 53
  3580. },
  3581. {
  3582. "type": 3,
  3583. "textContent": " - Ensure everything is included,\nready to go.",
  3584. "id": 55
  3585. }
  3586. ],
  3587. "id": 52
  3588. },
  3589. {
  3590. "type": 3,
  3591. "textContent": "\n",
  3592. "id": 56
  3593. },
  3594. {
  3595. "type": 2,
  3596. "tagName": "li",
  3597. "attributes": {},
  3598. "childNodes": [
  3599. {
  3600. "type": 2,
  3601. "tagName": "a",
  3602. "attributes": {},
  3603. "childNodes": [
  3604. {
  3605. "type": 3,
  3606. "textContent": "Correct",
  3607. "id": 59
  3608. }
  3609. ],
  3610. "id": 58
  3611. },
  3612. {
  3613. "type": 3,
  3614. "textContent": " - Copy, paste, (compile,) see is the aim.",
  3615. "id": 60
  3616. }
  3617. ],
  3618. "id": 57
  3619. },
  3620. {
  3621. "type": 3,
  3622. "textContent": "\n",
  3623. "id": 61
  3624. },
  3625. {
  3626. "type": 2,
  3627. "tagName": "li",
  3628. "attributes": {},
  3629. "childNodes": [
  3630. {
  3631. "type": 2,
  3632. "tagName": "a",
  3633. "attributes": {},
  3634. "childNodes": [
  3635. {
  3636. "type": 3,
  3637. "textContent": "Example",
  3638. "id": 64
  3639. }
  3640. ],
  3641. "id": 63
  3642. },
  3643. {
  3644. "type": 3,
  3645. "textContent": " - Displays the problem we are trying to solve.",
  3646. "id": 65
  3647. }
  3648. ],
  3649. "id": 62
  3650. },
  3651. {
  3652. "type": 3,
  3653. "textContent": "\n",
  3654. "id": 66
  3655. }
  3656. ],
  3657. "id": 45
  3658. },
  3659. {
  3660. "type": 3,
  3661. "textContent": "\n\n",
  3662. "id": 67
  3663. },
  3664. {
  3665. "type": 2,
  3666. "tagName": "h2",
  3667. "attributes": {},
  3668. "childNodes": [
  3669. {
  3670. "type": 2,
  3671. "tagName": "a",
  3672. "attributes": {
  3673. "id": "short",
  3674. "rel": "nofollow"
  3675. },
  3676. "childNodes": [
  3677. {
  3678. "type": 3,
  3679. "textContent": "Short",
  3680. "id": 70
  3681. }
  3682. ],
  3683. "id": 69
  3684. }
  3685. ],
  3686. "id": 68
  3687. },
  3688. {
  3689. "type": 3,
  3690. "textContent": "\n",
  3691. "id": 71
  3692. },
  3693. {
  3694. "type": 2,
  3695. "tagName": "p",
  3696. "attributes": {},
  3697. "childNodes": [
  3698. {
  3699. "type": 3,
  3700. "textContent": "This depends on the group or forum. For a public forum,\nmost readers will stop reading by 100 lines of code,\nand start complaining at 250-300 lines of code.",
  3701. "id": 73
  3702. }
  3703. ],
  3704. "id": 72
  3705. },
  3706. {
  3707. "type": 3,
  3708. "textContent": "\n\n",
  3709. "id": 74
  3710. },
  3711. {
  3712. "type": 2,
  3713. "tagName": "h3",
  3714. "attributes": {},
  3715. "childNodes": [
  3716. {
  3717. "type": 2,
  3718. "tagName": "a",
  3719. "attributes": {
  3720. "id": "trim",
  3721. "rel": "nofollow"
  3722. },
  3723. "childNodes": [
  3724. {
  3725. "type": 3,
  3726. "textContent": "Tricks for Trimming",
  3727. "id": 77
  3728. }
  3729. ],
  3730. "id": 76
  3731. }
  3732. ],
  3733. "id": 75
  3734. },
  3735. {
  3736. "type": 3,
  3737. "textContent": "\n",
  3738. "id": 78
  3739. },
  3740. {
  3741. "type": 2,
  3742. "tagName": "p",
  3743. "attributes": {},
  3744. "childNodes": [
  3745. {
  3746. "type": 3,
  3747. "textContent": "If the GUI has 40 buttons not related\nto the problem, remove them. If they ",
  3748. "id": 80
  3749. },
  3750. {
  3751. "type": 2,
  3752. "tagName": "em",
  3753. "attributes": {},
  3754. "childNodes": [
  3755. {
  3756. "type": 3,
  3757. "textContent": "are",
  3758. "id": 82
  3759. }
  3760. ],
  3761. "id": 81
  3762. },
  3763. {
  3764. "type": 3,
  3765. "textContent": "\nrelated to the problem (you remove them and the\nproblem disappears) put one or two back in,\nif the problem reappears, include ",
  3766. "id": 83
  3767. },
  3768. {
  3769. "type": 2,
  3770. "tagName": "em",
  3771. "attributes": {},
  3772. "childNodes": [
  3773. {
  3774. "type": 3,
  3775. "textContent": "only",
  3776. "id": 85
  3777. }
  3778. ],
  3779. "id": 84
  3780. },
  3781. {
  3782. "type": 3,
  3783. "textContent": "\nthose one or two buttons.",
  3784. "id": 86
  3785. }
  3786. ],
  3787. "id": 79
  3788. },
  3789. {
  3790. "type": 3,
  3791. "textContent": "\n",
  3792. "id": 87
  3793. },
  3794. {
  3795. "type": 2,
  3796. "tagName": "p",
  3797. "attributes": {},
  3798. "childNodes": [
  3799. {
  3800. "type": 3,
  3801. "textContent": "The array or table that is causing a problem\nmay have a hundred entries, but again, if the\nproblem can be seen with two or three entries,\ntrim the example to that alone.",
  3802. "id": 89
  3803. }
  3804. ],
  3805. "id": 88
  3806. },
  3807. {
  3808. "type": 3,
  3809. "textContent": "\n",
  3810. "id": 90
  3811. },
  3812. {
  3813. "type": 2,
  3814. "tagName": "p",
  3815. "attributes": {},
  3816. "childNodes": [
  3817. {
  3818. "type": 3,
  3819. "textContent": "If the problem is a GUI layout problem,\ntrim all the processes (JavaScript/Java methods\netc.) from behind it. On the other hand, if\nthe app. has a GUI but the problem ",
  3820. "id": 92
  3821. },
  3822. {
  3823. "type": 2,
  3824. "tagName": "em",
  3825. "attributes": {},
  3826. "childNodes": [
  3827. {
  3828. "type": 3,
  3829. "textContent": "is",
  3830. "id": 94
  3831. }
  3832. ],
  3833. "id": 93
  3834. },
  3835. {
  3836. "type": 3,
  3837. "textContent": "\nthe processing, trim the GUI to a minimal\nversion.",
  3838. "id": 95
  3839. }
  3840. ],
  3841. "id": 91
  3842. },
  3843. {
  3844. "type": 3,
  3845. "textContent": "\n",
  3846. "id": 96
  3847. },
  3848. {
  3849. "type": 2,
  3850. "tagName": "p",
  3851. "attributes": {},
  3852. "childNodes": [
  3853. {
  3854. "type": 3,
  3855. "textContent": "If trimming a very large amount\nif code for others to see, you might trim out\na part of it early on that you think is not\nrelated to the problem, yet the problem is fixed. ",
  3856. "id": 98
  3857. }
  3858. ],
  3859. "id": 97
  3860. },
  3861. {
  3862. "type": 3,
  3863. "textContent": "\n\n",
  3864. "id": 99
  3865. },
  3866. {
  3867. "type": 2,
  3868. "tagName": "h3",
  3869. "attributes": {},
  3870. "childNodes": [
  3871. {
  3872. "type": 2,
  3873. "tagName": "a",
  3874. "attributes": {
  3875. "id": "solution",
  3876. "rel": "nofollow"
  3877. },
  3878. "childNodes": [
  3879. {
  3880. "type": 3,
  3881. "textContent": "Problem Solved?",
  3882. "id": 102
  3883. }
  3884. ],
  3885. "id": 101
  3886. }
  3887. ],
  3888. "id": 100
  3889. },
  3890. {
  3891. "type": 3,
  3892. "textContent": "\n",
  3893. "id": 103
  3894. },
  3895. {
  3896. "type": 2,
  3897. "tagName": "p",
  3898. "attributes": {},
  3899. "childNodes": [
  3900. {
  3901. "type": 3,
  3902. "textContent": "By identifying more clearly where the problem\noccurs, you have just made an important step toward\nsolving it. The process that highlights\nwhere a problem ",
  3903. "id": 105
  3904. },
  3905. {
  3906. "type": 2,
  3907. "tagName": "em",
  3908. "attributes": {},
  3909. "childNodes": [
  3910. {
  3911. "type": 3,
  3912. "textContent": "originates",
  3913. "id": 107
  3914. }
  3915. ],
  3916. "id": 106
  3917. },
  3918. {
  3919. "type": 3,
  3920. "textContent": " can, in itself,\nhelp to solve it. You might look more closely\nat the part cut out, and in doing so, spot the\nproblem.",
  3921. "id": 108
  3922. }
  3923. ],
  3924. "id": 104
  3925. },
  3926. {
  3927. "type": 3,
  3928. "textContent": "\n",
  3929. "id": 109
  3930. },
  3931. {
  3932. "type": 2,
  3933. "tagName": "p",
  3934. "attributes": {},
  3935. "childNodes": [
  3936. {
  3937. "type": 3,
  3938. "textContent": "Even if you cannot see why the\nproblem occurs, you have still made an\nimportant step: identifying (at least part)\nof the code involved. ",
  3939. "id": 111
  3940. }
  3941. ],
  3942. "id": 110
  3943. },
  3944. {
  3945. "type": 3,
  3946. "textContent": "\n",
  3947. "id": 112
  3948. },
  3949. {
  3950. "type": 2,
  3951. "tagName": "p",
  3952. "attributes": {},
  3953. "childNodes": [
  3954. {
  3955. "type": 3,
  3956. "textContent": "If the code being trimmed is now a concise\nexample of the problem, it is ready to present\nto others, if not, put the problem code back\nin and continue trimming other areas of the\ncode until it is.",
  3957. "id": 114
  3958. }
  3959. ],
  3960. "id": 113
  3961. },
  3962. {
  3963. "type": 2,
  3964. "tagName": "p",
  3965. "attributes": {},
  3966. "childNodes": [
  3967. {
  3968. "type": 3,
  3969. "textContent": "\n\n",
  3970. "id": 116
  3971. }
  3972. ],
  3973. "id": 115
  3974. },
  3975. {
  3976. "type": 2,
  3977. "tagName": "h2",
  3978. "attributes": {},
  3979. "childNodes": [
  3980. {
  3981. "type": 2,
  3982. "tagName": "a",
  3983. "attributes": {
  3984. "id": "selfcon",
  3985. "rel": "nofollow"
  3986. },
  3987. "childNodes": [
  3988. {
  3989. "type": 3,
  3990. "textContent": "Self Contained",
  3991. "id": 119
  3992. }
  3993. ],
  3994. "id": 118
  3995. }
  3996. ],
  3997. "id": 117
  3998. },
  3999. {
  4000. "type": 3,
  4001. "textContent": "\n",
  4002. "id": 120
  4003. },
  4004. {
  4005. "type": 2,
  4006. "tagName": "p",
  4007. "attributes": {},
  4008. "childNodes": [
  4009. {
  4010. "type": 3,
  4011. "textContent": "It is important to ensure that the code\ngiven to others can be 'copied, pasted, compiled,\nrun' so that they can help quickly and\nwith a minimum of fuss.\n",
  4012. "id": 122
  4013. }
  4014. ],
  4015. "id": 121
  4016. },
  4017. {
  4018. "type": 2,
  4019. "tagName": "p",
  4020. "attributes": {},
  4021. "childNodes": [
  4022. {
  4023. "type": 3,
  4024. "textContent": "This means that after the code has been\ncopied, pasted and compiled by those helping,\nthey can run it and ",
  4025. "id": 124
  4026. },
  4027. {
  4028. "type": 2,
  4029. "tagName": "em",
  4030. "attributes": {},
  4031. "childNodes": [
  4032. {
  4033. "type": 3,
  4034. "textContent": "see",
  4035. "id": 126
  4036. }
  4037. ],
  4038. "id": 125
  4039. },
  4040. {
  4041. "type": 3,
  4042. "textContent": " the results\nfor themselves. It is the ",
  4043. "id": 127
  4044. },
  4045. {
  4046. "type": 2,
  4047. "tagName": "a",
  4048. "attributes": {},
  4049. "childNodes": [
  4050. {
  4051. "type": 3,
  4052. "textContent": "example",
  4053. "id": 129
  4054. }
  4055. ],
  4056. "id": 128
  4057. },
  4058. {
  4059. "type": 3,
  4060. "textContent": " of\nthe problem.",
  4061. "id": 130
  4062. }
  4063. ],
  4064. "id": 123
  4065. },
  4066. {
  4067. "type": 3,
  4068. "textContent": "\n",
  4069. "id": 131
  4070. },
  4071. {
  4072. "type": 2,
  4073. "tagName": "p",
  4074. "attributes": {},
  4075. "childNodes": [
  4076. {
  4077. "type": 3,
  4078. "textContent": "You are much more likely to receive help if you do this.",
  4079. "id": 133
  4080. }
  4081. ],
  4082. "id": 132
  4083. },
  4084. {
  4085. "type": 3,
  4086. "textContent": "\n\n",
  4087. "id": 134
  4088. },
  4089. {
  4090. "type": 2,
  4091. "tagName": "h3",
  4092. "attributes": {},
  4093. "childNodes": [
  4094. {
  4095. "type": 2,
  4096. "tagName": "a",
  4097. "attributes": {
  4098. "id": "selfcontained",
  4099. "rel": "nofollow"
  4100. },
  4101. "childNodes": [
  4102. {
  4103. "type": 3,
  4104. "textContent": "How to make an example self contained.",
  4105. "id": 137
  4106. }
  4107. ],
  4108. "id": 136
  4109. }
  4110. ],
  4111. "id": 135
  4112. },
  4113. {
  4114. "type": 3,
  4115. "textContent": "\n\n",
  4116. "id": 138
  4117. },
  4118. {
  4119. "type": 2,
  4120. "tagName": "p",
  4121. "attributes": {},
  4122. "childNodes": [
  4123. {
  4124. "type": 3,
  4125. "textContent": "If the code performs I/O to files,\nreplace the file I/O with dummy data structures in\nproblems that are unrelated to input/output.\n",
  4126. "id": 140
  4127. }
  4128. ],
  4129. "id": 139
  4130. },
  4131. {
  4132. "type": 3,
  4133. "textContent": "\n",
  4134. "id": 141
  4135. },
  4136. {
  4137. "type": 2,
  4138. "tagName": "p",
  4139. "attributes": {},
  4140. "childNodes": [
  4141. {
  4142. "type": 3,
  4143. "textContent": "If the problem ",
  4144. "id": 143
  4145. },
  4146. {
  4147. "type": 2,
  4148. "tagName": "em",
  4149. "attributes": {},
  4150. "childNodes": [
  4151. {
  4152. "type": 3,
  4153. "textContent": "is",
  4154. "id": 145
  4155. }
  4156. ],
  4157. "id": 144
  4158. },
  4159. {
  4160. "type": 3,
  4161. "textContent": " the input and textual input can be used, prepare\na short example that can be copied for the actual file data.\n",
  4162. "id": 146
  4163. }
  4164. ],
  4165. "id": 142
  4166. },
  4167. {
  4168. "type": 3,
  4169. "textContent": "\n",
  4170. "id": 147
  4171. },
  4172. {
  4173. "type": 2,
  4174. "tagName": "p",
  4175. "attributes": {},
  4176. "childNodes": [
  4177. {
  4178. "type": 3,
  4179. "textContent": "\nShould the problem happen\nonly under load, insert code to simulate\nthat load. If a layout problem only occurs\nunder particular circumstances,\n",
  4180. "id": 149
  4181. },
  4182. {
  4183. "type": 2,
  4184. "tagName": "em",
  4185. "attributes": {},
  4186. "childNodes": [
  4187. {
  4188. "type": 3,
  4189. "textContent": "force",
  4190. "id": 151
  4191. }
  4192. ],
  4193. "id": 150
  4194. },
  4195. {
  4196. "type": 3,
  4197. "textContent": " those things to happen, if\nit is practical to do so.\n",
  4198. "id": 152
  4199. }
  4200. ],
  4201. "id": 148
  4202. },
  4203. {
  4204. "type": 3,
  4205. "textContent": "\n",
  4206. "id": 153
  4207. },
  4208. {
  4209. "type": 2,
  4210. "tagName": "p",
  4211. "attributes": {},
  4212. "childNodes": [
  4213. {
  4214. "type": 3,
  4215. "textContent": "\nObviously there are things that cannot\nbe included in an example that is posted\nto a forum, 'a database' etcetera,\nbut many times you just need a bit of\nlateral thinking to come up with a way to\nreplace something you thought was 'vital'\nto demonstrate a problem.\n",
  4216. "id": 155
  4217. }
  4218. ],
  4219. "id": 154
  4220. },
  4221. {
  4222. "type": 3,
  4223. "textContent": "\n\n",
  4224. "id": 156
  4225. },
  4226. {
  4227. "type": 2,
  4228. "tagName": "p",
  4229. "attributes": {},
  4230. "childNodes": [
  4231. {
  4232. "type": 3,
  4233. "textContent": "One example of lateral thinking is 'images'.\nImages related to code problems might seem difficult\nto replace. But one trick is to link to an image\navailable on the web, one that displays the same problem.\nTry to make\nany web based images 'small' in bytes - if at all possible.\n",
  4234. "id": 158
  4235. }
  4236. ],
  4237. "id": 157
  4238. },
  4239. {
  4240. "type": 3,
  4241. "textContent": "\n\n",
  4242. "id": 159
  4243. },
  4244. {
  4245. "type": 2,
  4246. "tagName": "h2",
  4247. "attributes": {},
  4248. "childNodes": [
  4249. {
  4250. "type": 2,
  4251. "tagName": "a",
  4252. "attributes": {
  4253. "id": "co",
  4254. "rel": "nofollow"
  4255. },
  4256. "childNodes": [
  4257. {
  4258. "type": 3,
  4259. "textContent": "Correct",
  4260. "id": 162
  4261. }
  4262. ],
  4263. "id": 161
  4264. }
  4265. ],
  4266. "id": 160
  4267. },
  4268. {
  4269. "type": 3,
  4270. "textContent": "\n",
  4271. "id": 163
  4272. },
  4273. {
  4274. "type": 2,
  4275. "tagName": "blockquote",
  4276. "attributes": {},
  4277. "childNodes": [
  4278. {
  4279. "type": 3,
  4280. "textContent": "If my example was correct, ",
  4281. "id": 165
  4282. },
  4283. {
  4284. "type": 2,
  4285. "tagName": "em",
  4286. "attributes": {},
  4287. "childNodes": [
  4288. {
  4289. "type": 3,
  4290. "textContent": "what would I be doing here?",
  4291. "id": 167
  4292. }
  4293. ],
  4294. "id": 166
  4295. }
  4296. ],
  4297. "id": 164
  4298. },
  4299. {
  4300. "type": 3,
  4301. "textContent": "\n",
  4302. "id": 168
  4303. },
  4304. {
  4305. "type": 2,
  4306. "tagName": "p",
  4307. "attributes": {},
  4308. "childNodes": [
  4309. {
  4310. "type": 3,
  4311. "textContent": "(Laughs) No, that is not what 'correct' means in this context.\nIn this document, correct (or compilable, which particularly\nrelates to computer source code) means ensuring that\nthe example fits the accepted standards and protocols.\n",
  4312. "id": 170
  4313. }
  4314. ],
  4315. "id": 169
  4316. },
  4317. {
  4318. "type": 2,
  4319. "tagName": "p",
  4320. "attributes": {},
  4321. "childNodes": [
  4322. {
  4323. "type": 3,
  4324. "textContent": "\nTo achieve that, it is necessary to:\n",
  4325. "id": 172
  4326. }
  4327. ],
  4328. "id": 171
  4329. },
  4330. {
  4331. "type": 3,
  4332. "textContent": "\n",
  4333. "id": 173
  4334. },
  4335. {
  4336. "type": 2,
  4337. "tagName": "ul",
  4338. "attributes": {},
  4339. "childNodes": [
  4340. {
  4341. "type": 2,
  4342. "tagName": "li",
  4343. "attributes": {},
  4344. "childNodes": [
  4345. {
  4346. "type": 2,
  4347. "tagName": "a",
  4348. "attributes": {
  4349. "id": "linewidth",
  4350. "rel": "nofollow"
  4351. },
  4352. "childNodes": [
  4353. {
  4354. "type": 3,
  4355. "textContent": "Line width",
  4356. "id": 177
  4357. }
  4358. ],
  4359. "id": 176
  4360. },
  4361. {
  4362. "type": 3,
  4363. "textContent": "\nKeep the width of the lines in the\nexample to under 62 characters wide.\n(but please do ",
  4364. "id": 178
  4365. },
  4366. {
  4367. "type": 2,
  4368. "tagName": "b",
  4369. "attributes": {},
  4370. "childNodes": [
  4371. {
  4372. "type": 3,
  4373. "textContent": "not",
  4374. "id": 180
  4375. }
  4376. ],
  4377. "id": 179
  4378. },
  4379. {
  4380. "type": 3,
  4381. "textContent": " remove all line indents!)\nNewsreaders typically force a line wrap at\naround 72 characters (and it pays to 'play it safe\nby using less than that).\n",
  4382. "id": 181
  4383. },
  4384. {
  4385. "type": 2,
  4386. "tagName": "em",
  4387. "attributes": {},
  4388. "childNodes": [
  4389. {
  4390. "type": 3,
  4391. "textContent": "Sometimes",
  4392. "id": 183
  4393. }
  4394. ],
  4395. "id": 182
  4396. },
  4397. {
  4398. "type": 3,
  4399. "textContent": " line wrap does not\ncause any problem with the example, but\nit ",
  4400. "id": 184
  4401. },
  4402. {
  4403. "type": 2,
  4404. "tagName": "em",
  4405. "attributes": {},
  4406. "childNodes": [
  4407. {
  4408. "type": 3,
  4409. "textContent": "usually",
  4410. "id": 186
  4411. }
  4412. ],
  4413. "id": 185
  4414. },
  4415. {
  4416. "type": 3,
  4417. "textContent": " does, and means the\nlines need to be rejoined or reconstructed,\nbefore they work as intended.\n",
  4418. "id": 187
  4419. },
  4420. {
  4421. "type": 2,
  4422. "tagName": "br",
  4423. "attributes": {},
  4424. "childNodes": [],
  4425. "id": 188
  4426. },
  4427. {
  4428. "type": 3,
  4429. "textContent": "Most code/source editors will show a column width along the top of the editing area.\n",
  4430. "id": 189
  4431. }
  4432. ],
  4433. "id": 175
  4434. },
  4435. {
  4436. "type": 3,
  4437. "textContent": "\n",
  4438. "id": 190
  4439. },
  4440. {
  4441. "type": 2,
  4442. "tagName": "li",
  4443. "attributes": {},
  4444. "childNodes": [
  4445. {
  4446. "type": 2,
  4447. "tagName": "a",
  4448. "attributes": {
  4449. "id": "nameconvention",
  4450. "rel": "nofollow"
  4451. },
  4452. "childNodes": [
  4453. {
  4454. "type": 3,
  4455. "textContent": "Use the naming convention",
  4456. "id": 193
  4457. }
  4458. ],
  4459. "id": 192
  4460. },
  4461. {
  4462. "type": 3,
  4463. "textContent": ", if one exists.\nMost of the people willing to help will be\nusing hints from the formatting of upper\nand lower case letters, as well as their\ndescriptive names, to skim the code in\nthe hope of spotting the problem quickly.\nIf following the conventions the audience is\nused to, it helps them to do that.\n",
  4464. "id": 194
  4465. }
  4466. ],
  4467. "id": 191
  4468. },
  4469. {
  4470. "type": 3,
  4471. "textContent": "\n",
  4472. "id": 195
  4473. },
  4474. {
  4475. "type": 2,
  4476. "tagName": "li",
  4477. "attributes": {},
  4478. "childNodes": [
  4479. {
  4480. "type": 2,
  4481. "tagName": "a",
  4482. "attributes": {
  4483. "id": "valid",
  4484. "rel": "nofollow"
  4485. },
  4486. "childNodes": [
  4487. {
  4488. "type": 3,
  4489. "textContent": "Ensure the example is ",
  4490. "id": 198
  4491. },
  4492. {
  4493. "type": 2,
  4494. "tagName": "em",
  4495. "attributes": {},
  4496. "childNodes": [
  4497. {
  4498. "type": 3,
  4499. "textContent": "correct",
  4500. "id": 200
  4501. }
  4502. ],
  4503. "id": 199
  4504. },
  4505. {
  4506. "type": 3,
  4507. "textContent": ". ",
  4508. "id": 201
  4509. }
  4510. ],
  4511. "id": 197
  4512. },
  4513. {
  4514. "type": 3,
  4515. "textContent": "\nEither the example compiles cleanly, or causes the exact error message about which\nneeds solving.\n",
  4516. "id": 202
  4517. }
  4518. ],
  4519. "id": 196
  4520. },
  4521. {
  4522. "type": 3,
  4523. "textContent": "\n",
  4524. "id": 203
  4525. }
  4526. ],
  4527. "id": 174
  4528. },
  4529. {
  4530. "type": 3,
  4531. "textContent": "\n",
  4532. "id": 204
  4533. },
  4534. {
  4535. "type": 2,
  4536. "tagName": "p",
  4537. "attributes": {},
  4538. "childNodes": [
  4539. {
  4540. "type": 3,
  4541. "textContent": "Further tips:\n",
  4542. "id": 206
  4543. }
  4544. ],
  4545. "id": 205
  4546. },
  4547. {
  4548. "type": 3,
  4549. "textContent": "\n",
  4550. "id": 207
  4551. },
  4552. {
  4553. "type": 2,
  4554. "tagName": "ul",
  4555. "attributes": {},
  4556. "childNodes": [
  4557. {
  4558. "type": 3,
  4559. "textContent": "\n",
  4560. "id": 209
  4561. },
  4562. {
  4563. "type": 2,
  4564. "tagName": "li",
  4565. "attributes": {},
  4566. "childNodes": [
  4567. {
  4568. "type": 3,
  4569. "textContent": "Move all resources (CSS/JS/Java source, images etc.) to the same\ndirectory, so they are easier to administer, and easier to find.\n",
  4570. "id": 211
  4571. }
  4572. ],
  4573. "id": 210
  4574. },
  4575. {
  4576. "type": 2,
  4577. "tagName": "li",
  4578. "attributes": {},
  4579. "childNodes": [
  4580. {
  4581. "type": 3,
  4582. "textContent": "Remove package statements from Java code.\n",
  4583. "id": 213
  4584. }
  4585. ],
  4586. "id": 212
  4587. },
  4588. {
  4589. "type": 2,
  4590. "tagName": "li",
  4591. "attributes": {},
  4592. "childNodes": [
  4593. {
  4594. "type": 3,
  4595. "textContent": "Demote public Java classes to default. If the language\nspecifies only a single public class per source code\nfile, demote all the other classes to default. This\nallows the example to be compiled without being split\ninto separate files.\n",
  4596. "id": 215
  4597. }
  4598. ],
  4599. "id": 214
  4600. },
  4601. {
  4602. "type": 3,
  4603. "textContent": "\n",
  4604. "id": 216
  4605. },
  4606. {
  4607. "type": 2,
  4608. "tagName": "li",
  4609. "attributes": {},
  4610. "childNodes": [
  4611. {
  4612. "type": 3,
  4613. "textContent": "Validate the example, where a validator is available.\n",
  4614. "id": 218
  4615. },
  4616. {
  4617. "type": 2,
  4618. "tagName": "ul",
  4619. "attributes": {},
  4620. "childNodes": [
  4621. {
  4622. "type": 3,
  4623. "textContent": "\n",
  4624. "id": 220
  4625. },
  4626. {
  4627. "type": 2,
  4628. "tagName": "li",
  4629. "attributes": {},
  4630. "childNodes": [
  4631. {
  4632. "type": 2,
  4633. "tagName": "abbr",
  4634. "attributes": {
  4635. "title": "HyperText MarkUp Language"
  4636. },
  4637. "childNodes": [
  4638. {
  4639. "type": 3,
  4640. "textContent": "HTML",
  4641. "id": 223
  4642. }
  4643. ],
  4644. "id": 222
  4645. },
  4646. {
  4647. "type": 3,
  4648. "textContent": " ",
  4649. "id": 224
  4650. },
  4651. {
  4652. "type": 2,
  4653. "tagName": "a",
  4654. "attributes": {
  4655. "href": "http://validator.w3.org/",
  4656. "rel": "nofollow"
  4657. },
  4658. "childNodes": [
  4659. {
  4660. "type": 3,
  4661. "textContent": "validator",
  4662. "id": 226
  4663. }
  4664. ],
  4665. "id": 225
  4666. }
  4667. ],
  4668. "id": 221
  4669. },
  4670. {
  4671. "type": 3,
  4672. "textContent": "\n",
  4673. "id": 227
  4674. },
  4675. {
  4676. "type": 2,
  4677. "tagName": "li",
  4678. "attributes": {},
  4679. "childNodes": [
  4680. {
  4681. "type": 2,
  4682. "tagName": "abbr",
  4683. "attributes": {
  4684. "title": "Cascading Style Sheets"
  4685. },
  4686. "childNodes": [
  4687. {
  4688. "type": 3,
  4689. "textContent": "CSS",
  4690. "id": 230
  4691. }
  4692. ],
  4693. "id": 229
  4694. },
  4695. {
  4696. "type": 3,
  4697. "textContent": " ",
  4698. "id": 231
  4699. },
  4700. {
  4701. "type": 2,
  4702. "tagName": "a",
  4703. "attributes": {
  4704. "href": "http://jigsaw.w3.org/css-validator/",
  4705. "rel": "nofollow"
  4706. },
  4707. "childNodes": [
  4708. {
  4709. "type": 3,
  4710. "textContent": "validator",
  4711. "id": 233
  4712. }
  4713. ],
  4714. "id": 232
  4715. }
  4716. ],
  4717. "id": 228
  4718. },
  4719. {
  4720. "type": 3,
  4721. "textContent": "\n",
  4722. "id": 234
  4723. }
  4724. ],
  4725. "id": 219
  4726. },
  4727. {
  4728. "type": 3,
  4729. "textContent": "\n",
  4730. "id": 235
  4731. }
  4732. ],
  4733. "id": 217
  4734. },
  4735. {
  4736. "type": 3,
  4737. "textContent": "\n",
  4738. "id": 236
  4739. }
  4740. ],
  4741. "id": 208
  4742. },
  4743. {
  4744. "type": 3,
  4745. "textContent": "\n",
  4746. "id": 237
  4747. },
  4748. {
  4749. "type": 2,
  4750. "tagName": "h2",
  4751. "attributes": {},
  4752. "childNodes": [
  4753. {
  4754. "type": 2,
  4755. "tagName": "a",
  4756. "attributes": {
  4757. "id": "eg",
  4758. "rel": "nofollow"
  4759. },
  4760. "childNodes": [
  4761. {
  4762. "type": 3,
  4763. "textContent": "Example",
  4764. "id": 240
  4765. }
  4766. ],
  4767. "id": 239
  4768. }
  4769. ],
  4770. "id": 238
  4771. },
  4772. {
  4773. "type": 3,
  4774. "textContent": "\n\n",
  4775. "id": 241
  4776. },
  4777. {
  4778. "type": 2,
  4779. "tagName": "p",
  4780. "attributes": {},
  4781. "childNodes": [
  4782. {
  4783. "type": 2,
  4784. "tagName": "em",
  4785. "attributes": {},
  4786. "childNodes": [
  4787. {
  4788. "type": 3,
  4789. "textContent": "Make sure the posted code, displays the problem!",
  4790. "id": 244
  4791. }
  4792. ],
  4793. "id": 243
  4794. },
  4795. {
  4796. "type": 3,
  4797. "textContent": "\n",
  4798. "id": 245
  4799. }
  4800. ],
  4801. "id": 242
  4802. },
  4803. {
  4804. "type": 2,
  4805. "tagName": "p",
  4806. "attributes": {},
  4807. "childNodes": [
  4808. {
  4809. "type": 3,
  4810. "textContent": "\nYou have worked on the example for hours, perhaps\ndays. It feels like forever. Now is a good time to\ntake a breather, step back, stretch, perhaps go for a\nrefreshing walk.\n",
  4811. "id": 247
  4812. }
  4813. ],
  4814. "id": 246
  4815. },
  4816. {
  4817. "type": 2,
  4818. "tagName": "p",
  4819. "attributes": {},
  4820. "childNodes": [
  4821. {
  4822. "type": 3,
  4823. "textContent": "\n",
  4824. "id": 249
  4825. },
  4826. {
  4827. "type": 2,
  4828. "tagName": "em",
  4829. "attributes": {},
  4830. "childNodes": [
  4831. {
  4832. "type": 3,
  4833. "textContent": "Refresh the computer as well.",
  4834. "id": 251
  4835. }
  4836. ],
  4837. "id": 250
  4838. },
  4839. {
  4840. "type": 3,
  4841. "textContent": " Reboot it\nif necessary.\n",
  4842. "id": 252
  4843. }
  4844. ],
  4845. "id": 248
  4846. },
  4847. {
  4848. "type": 2,
  4849. "tagName": "p",
  4850. "attributes": {},
  4851. "childNodes": [
  4852. {
  4853. "type": 3,
  4854. "textContent": "\nNow open the pages, or program, where the problem\noccurs. Is it still there?\n",
  4855. "id": 254
  4856. }
  4857. ],
  4858. "id": 253
  4859. },
  4860. {
  4861. "type": 2,
  4862. "tagName": "p",
  4863. "attributes": {},
  4864. "childNodes": [
  4865. {
  4866. "type": 3,
  4867. "textContent": "\nPerhaps 99% of the time it is (maybe less if\nusing a less reliable operating system).\n",
  4868. "id": 256
  4869. }
  4870. ],
  4871. "id": 255
  4872. },
  4873. {
  4874. "type": 2,
  4875. "tagName": "p",
  4876. "attributes": {},
  4877. "childNodes": [
  4878. {
  4879. "type": 3,
  4880. "textContent": "\nNow, if the problem is still there, post the example.\n",
  4881. "id": 258
  4882. }
  4883. ],
  4884. "id": 257
  4885. },
  4886. {
  4887. "type": 3,
  4888. "textContent": "\n\n",
  4889. "id": 259
  4890. },
  4891. {
  4892. "type": 2,
  4893. "tagName": "h3",
  4894. "attributes": {},
  4895. "childNodes": [
  4896. {
  4897. "type": 2,
  4898. "tagName": "a",
  4899. "attributes": {
  4900. "id": "extra",
  4901. "rel": "nofollow"
  4902. },
  4903. "childNodes": [
  4904. {
  4905. "type": 3,
  4906. "textContent": "Example - Extra Points",
  4907. "id": 262
  4908. }
  4909. ],
  4910. "id": 261
  4911. }
  4912. ],
  4913. "id": 260
  4914. },
  4915. {
  4916. "type": 3,
  4917. "textContent": "\n",
  4918. "id": 263
  4919. },
  4920. {
  4921. "type": 2,
  4922. "tagName": "p",
  4923. "attributes": {},
  4924. "childNodes": [
  4925. {
  4926. "type": 3,
  4927. "textContent": "We wish we had a dollar for every person who asked\nfor help about a web page or the stylesheet for one,\nsome JavaScript code, or a Java Applet - and did not\nprovide a link. We would not need to supply and maintain this document,\ninstead we would be sunning ourselves on a beach in an exotic\nlocation, drinking still more exotic cocktails.",
  4928. "id": 265
  4929. }
  4930. ],
  4931. "id": 264
  4932. },
  4933. {
  4934. "type": 3,
  4935. "textContent": "\n",
  4936. "id": 266
  4937. },
  4938. {
  4939. "type": 2,
  4940. "tagName": "p",
  4941. "attributes": {},
  4942. "childNodes": [
  4943. {
  4944. "type": 3,
  4945. "textContent": "Why do people miss such an opportunity? Very\nfew things are as tempting as a link to the problem.\nTo a seasoned forum helper, it is almost as\ntempting as a small bottle with the vague\nmessage 'drink me', ..or an exotic cocktail.",
  4946. "id": 268
  4947. }
  4948. ],
  4949. "id": 267
  4950. },
  4951. {
  4952. "type": 3,
  4953. "textContent": "\n",
  4954. "id": 269
  4955. },
  4956. {
  4957. "type": 2,
  4958. "tagName": "p",
  4959. "attributes": {},
  4960. "childNodes": [
  4961. {
  4962. "type": 3,
  4963. "textContent": "Having a group of people look at the problem\nhelps to identify and solve the problem at hand,\nas well as ",
  4964. "id": 271
  4965. },
  4966. {
  4967. "type": 2,
  4968. "tagName": "em",
  4969. "attributes": {},
  4970. "childNodes": [
  4971. {
  4972. "type": 3,
  4973. "textContent": "compatibility problems",
  4974. "id": 273
  4975. }
  4976. ],
  4977. "id": 272
  4978. },
  4979. {
  4980. "type": 3,
  4981. "textContent": " (which\nmight be the cause of the problem all along).",
  4982. "id": 274
  4983. }
  4984. ],
  4985. "id": 270
  4986. },
  4987. {
  4988. "type": 3,
  4989. "textContent": "\n\n",
  4990. "id": 275
  4991. },
  4992. {
  4993. "type": 2,
  4994. "tagName": "h3",
  4995. "attributes": {},
  4996. "childNodes": [
  4997. {
  4998. "type": 2,
  4999. "tagName": "a",
  5000. "attributes": {
  5001. "id": "standards",
  5002. "rel": "nofollow"
  5003. },
  5004. "childNodes": [
  5005. {
  5006. "type": 3,
  5007. "textContent": "Standards on the Internet",
  5008. "id": 278
  5009. }
  5010. ],
  5011. "id": 277
  5012. }
  5013. ],
  5014. "id": 276
  5015. },
  5016. {
  5017. "type": 3,
  5018. "textContent": "\n",
  5019. "id": 279
  5020. },
  5021. {
  5022. "type": 2,
  5023. "tagName": "p",
  5024. "attributes": {},
  5025. "childNodes": [
  5026. {
  5027. "type": 3,
  5028. "textContent": "\nTherein lies another 'gotcha' when dealing with\nmost things related to the internet.\nThe internet, as well as most things\nassociated with it, is just a little bit wild.\nFor every standard there are two alternates.\nFor every rule there are at least three exceptions\nto the rule.\n",
  5029. "id": 281
  5030. }
  5031. ],
  5032. "id": 280
  5033. },
  5034. {
  5035. "type": 3,
  5036. "textContent": "\n",
  5037. "id": 282
  5038. },
  5039. {
  5040. "type": 2,
  5041. "tagName": "p",
  5042. "attributes": {},
  5043. "childNodes": [
  5044. {
  5045. "type": 3,
  5046. "textContent": "To start with, browsers do not work the same.\nWe are not just referring to differences between\nIE and Netscape, or old and new browsers, but 'Internet\nExplorer 5' for the Macintosh, for example, is a\n(significantly) different browser from 'Internet\nExplorer 5' for Windows.",
  5047. "id": 284
  5048. }
  5049. ],
  5050. "id": 283
  5051. },
  5052. {
  5053. "type": 3,
  5054. "textContent": "\n",
  5055. "id": 285
  5056. },
  5057. {
  5058. "type": 2,
  5059. "tagName": "p",
  5060. "attributes": {},
  5061. "childNodes": [
  5062. {
  5063. "type": 3,
  5064. "textContent": "People asking for help on web-design groups are often\nsurprised to hear that the problem they are\nexperiencing with a web page does not even\nshow for others using different browsers.",
  5065. "id": 287
  5066. }
  5067. ],
  5068. "id": 286
  5069. },
  5070. {
  5071. "type": 3,
  5072. "textContent": "\n\n",
  5073. "id": 288
  5074. },
  5075. {
  5076. "type": 2,
  5077. "tagName": "h3",
  5078. "attributes": {},
  5079. "childNodes": [
  5080. {
  5081. "type": 2,
  5082. "tagName": "a",
  5083. "attributes": {
  5084. "id": "devapplet",
  5085. "rel": "nofollow"
  5086. },
  5087. "childNodes": [
  5088. {
  5089. "type": 3,
  5090. "textContent": "Java Applets",
  5091. "id": 291
  5092. }
  5093. ],
  5094. "id": 290
  5095. }
  5096. ],
  5097. "id": 289
  5098. },
  5099. {
  5100. "type": 3,
  5101. "textContent": "\n",
  5102. "id": 292
  5103. },
  5104. {
  5105. "type": 2,
  5106. "tagName": "p",
  5107. "attributes": {},
  5108. "childNodes": [
  5109. {
  5110. "type": 3,
  5111. "textContent": "\nAnother level of complexity, and more chance\nof problems, is introduced when Applets are\nin the web page. How the random clutch of browsers mentioned\nabove will react to (often poorly formed) html and styles,\nwith Applets thrown into the mix as well, is another\nmatter again. Here is just one example.\n",
  5112. "id": 294
  5113. }
  5114. ],
  5115. "id": 293
  5116. },
  5117. {
  5118. "type": 3,
  5119. "textContent": "\n",
  5120. "id": 295
  5121. },
  5122. {
  5123. "type": 2,
  5124. "tagName": "p",
  5125. "attributes": {},
  5126. "childNodes": [
  5127. {
  5128. "type": 3,
  5129. "textContent": "\nFor a long time MicroSoft was shipping the\nInternet Explorer browser with an ",
  5130. "id": 297
  5131. },
  5132. {
  5133. "type": 2,
  5134. "tagName": "em",
  5135. "attributes": {},
  5136. "childNodes": [
  5137. {
  5138. "type": 3,
  5139. "textContent": "older version of Java",
  5140. "id": 299
  5141. }
  5142. ],
  5143. "id": 298
  5144. },
  5145. {
  5146. "type": 3,
  5147. "textContent": "\n(a version 1.1\n",
  5148. "id": 300
  5149. },
  5150. {
  5151. "type": 2,
  5152. "tagName": "abbr",
  5153. "attributes": {
  5154. "title": "Java Virtual Machine, the emulator in which Java Applets run."
  5155. },
  5156. "childNodes": [
  5157. {
  5158. "type": 3,
  5159. "textContent": "\nJVM",
  5160. "id": 302
  5161. }
  5162. ],
  5163. "id": 301
  5164. },
  5165. {
  5166. "type": 3,
  5167. "textContent": ").\nAfter some events happened, MS put\nthe ",
  5168. "id": 303
  5169. },
  5170. {
  5171. "type": 2,
  5172. "tagName": "em",
  5173. "attributes": {},
  5174. "childNodes": [
  5175. {
  5176. "type": 3,
  5177. "textContent": "latest Java",
  5178. "id": 305
  5179. }
  5180. ],
  5181. "id": 304
  5182. },
  5183. {
  5184. "type": 3,
  5185. "textContent": " engines into its browsers. Soon\nafter that, they began to supply the IE with ",
  5186. "id": 306
  5187. },
  5188. {
  5189. "type": 2,
  5190. "tagName": "em",
  5191. "attributes": {},
  5192. "childNodes": [
  5193. {
  5194. "type": 3,
  5195. "textContent": "no JVM\nat all",
  5196. "id": 308
  5197. }
  5198. ],
  5199. "id": 307
  5200. },
  5201. {
  5202. "type": 3,
  5203. "textContent": ".\n",
  5204. "id": 309
  5205. }
  5206. ],
  5207. "id": 296
  5208. },
  5209. {
  5210. "type": 3,
  5211. "textContent": "\n",
  5212. "id": 310
  5213. },
  5214. {
  5215. "type": 2,
  5216. "tagName": "p",
  5217. "attributes": {},
  5218. "childNodes": [
  5219. {
  5220. "type": 3,
  5221. "textContent": "\nGiven the possible complications with Applets,\nit is fortunate that they are so easy to check\nwhen on they are on the internet. A few clicks\nand someone on the other side of the planet\ncan be reading the output from the Java console\nof ",
  5222. "id": 312
  5223. },
  5224. {
  5225. "type": 2,
  5226. "tagName": "em",
  5227. "attributes": {},
  5228. "childNodes": [
  5229. {
  5230. "type": 3,
  5231. "textContent": "their own browser",
  5232. "id": 314
  5233. }
  5234. ],
  5235. "id": 313
  5236. },
  5237. {
  5238. "type": 3,
  5239. "textContent": " or, sometimes, see the Applet\nworking perfectly.\n",
  5240. "id": 315
  5241. }
  5242. ],
  5243. "id": 311
  5244. },
  5245. {
  5246. "type": 3,
  5247. "textContent": "\n",
  5248. "id": 316
  5249. },
  5250. {
  5251. "type": 2,
  5252. "tagName": "p",
  5253. "attributes": {},
  5254. "childNodes": [
  5255. {
  5256. "type": 3,
  5257. "textContent": "\nIf the Applet that fails for you works in someone else's browser,\nit helps to quickly narrow the scope of the problem to the html,\nthe applet tag, or the JVM installed in the browser\n(or complete lack of one).\n",
  5258. "id": 318
  5259. }
  5260. ],
  5261. "id": 317
  5262. },
  5263. {
  5264. "type": 3,
  5265. "textContent": "\n\n",
  5266. "id": 319
  5267. },
  5268. {
  5269. "type": 2,
  5270. "tagName": "h2",
  5271. "attributes": {},
  5272. "childNodes": [
  5273. {
  5274. "type": 2,
  5275. "tagName": "a",
  5276. "attributes": {
  5277. "id": "bother",
  5278. "rel": "nofollow"
  5279. },
  5280. "childNodes": [
  5281. {
  5282. "type": 3,
  5283. "textContent": "Why bother?",
  5284. "id": 322
  5285. }
  5286. ],
  5287. "id": 321
  5288. }
  5289. ],
  5290. "id": 320
  5291. },
  5292. {
  5293. "type": 3,
  5294. "textContent": "\n",
  5295. "id": 323
  5296. },
  5297. {
  5298. "type": 2,
  5299. "tagName": "p",
  5300. "attributes": {},
  5301. "childNodes": [
  5302. {
  5303. "type": 3,
  5304. "textContent": "A very good question. Why go to all this effort?\n",
  5305. "id": 325
  5306. }
  5307. ],
  5308. "id": 324
  5309. },
  5310. {
  5311. "type": 3,
  5312. "textContent": "\n",
  5313. "id": 326
  5314. },
  5315. {
  5316. "type": 2,
  5317. "tagName": "p",
  5318. "attributes": {},
  5319. "childNodes": [
  5320. {
  5321. "type": 3,
  5322. "textContent": "\nPerhaps someone can understand the problem\nyou describe from the description you give.\nMaybe it is one of those things that a\nthousand people before have stumbled on.\n",
  5323. "id": 328
  5324. }
  5325. ],
  5326. "id": 327
  5327. },
  5328. {
  5329. "type": 3,
  5330. "textContent": "\n",
  5331. "id": 329
  5332. },
  5333. {
  5334. "type": 2,
  5335. "tagName": "p",
  5336. "attributes": {},
  5337. "childNodes": [
  5338. {
  5339. "type": 3,
  5340. "textContent": "\nIf you have already checked the FAQ,\nGoogled the forum, read the ..flaming\nmanual it is unlikely that an answer\nwill pop up that easily. You ",
  5341. "id": 331
  5342. },
  5343. {
  5344. "type": 2,
  5345. "tagName": "em",
  5346. "attributes": {},
  5347. "childNodes": [
  5348. {
  5349. "type": 3,
  5350. "textContent": "have",
  5351. "id": 333
  5352. }
  5353. ],
  5354. "id": 332
  5355. },
  5356. {
  5357. "type": 3,
  5358. "textContent": "\ndone those things, haven't you?\n",
  5359. "id": 334
  5360. }
  5361. ],
  5362. "id": 330
  5363. },
  5364. {
  5365. "type": 3,
  5366. "textContent": "\n",
  5367. "id": 335
  5368. },
  5369. {
  5370. "type": 2,
  5371. "tagName": "p",
  5372. "attributes": {},
  5373. "childNodes": [
  5374. {
  5375. "type": 3,
  5376. "textContent": "\nIf wasting the time and bandwidth of\nthe other members of a public forum, you\nrisk members of the group delivering\nshort sharp rebukes.\n",
  5377. "id": 337
  5378. }
  5379. ],
  5380. "id": 336
  5381. },
  5382. {
  5383. "type": 3,
  5384. "textContent": "\n",
  5385. "id": 338
  5386. },
  5387. {
  5388. "type": 2,
  5389. "tagName": "p",
  5390. "attributes": {},
  5391. "childNodes": [
  5392. {
  5393. "type": 3,
  5394. "textContent": "\nThe people who contribute to the groups\ngive a wide range of advice. Sometimes\nthe advice works, sometimes it does not,\nbut either way, the advice is free.\n",
  5395. "id": 340
  5396. }
  5397. ],
  5398. "id": 339
  5399. },
  5400. {
  5401. "type": 3,
  5402. "textContent": "\n",
  5403. "id": 341
  5404. },
  5405. {
  5406. "type": 2,
  5407. "tagName": "p",
  5408. "attributes": {},
  5409. "childNodes": [
  5410. {
  5411. "type": 3,
  5412. "textContent": "\nContributors do so for a variety of reasons,\nincluding the nice feeling they get when\nthey can pass on a piece of knowledge relating\nto their chosen field to someone who is learning.\n",
  5413. "id": 343
  5414. }
  5415. ],
  5416. "id": 342
  5417. },
  5418. {
  5419. "type": 3,
  5420. "textContent": "\n",
  5421. "id": 344
  5422. },
  5423. {
  5424. "type": 2,
  5425. "tagName": "p",
  5426. "attributes": {},
  5427. "childNodes": [
  5428. {
  5429. "type": 3,
  5430. "textContent": "\nUnfortunately, if someone asks to be\nspoon fed information that is contained\nin a basic tutorial, it is a strong indication\nthat the questioner does not so much want\nto learn as get others to do work they should\nbe doing themselves.\n",
  5431. "id": 346
  5432. }
  5433. ],
  5434. "id": 345
  5435. },
  5436. {
  5437. "type": 3,
  5438. "textContent": "\n",
  5439. "id": 347
  5440. },
  5441. {
  5442. "type": 2,
  5443. "tagName": "p",
  5444. "attributes": {},
  5445. "childNodes": [
  5446. {
  5447. "type": 3,
  5448. "textContent": "\nIf there is a piece of code\nand you wish to have it written, finished\nor fixed by others, there are plenty of\navenues to achieve that. For a modest amount of\nmoney, you can get most IT work completed (or done)\nthrough a number of internet based outsourcing\ncompanies.\nThat is what such companies specialize in.",
  5449. "id": 349
  5450. }
  5451. ],
  5452. "id": 348
  5453. },
  5454. {
  5455. "type": 3,
  5456. "textContent": "\n",
  5457. "id": 350
  5458. },
  5459. {
  5460. "type": 2,
  5461. "tagName": "p",
  5462. "attributes": {},
  5463. "childNodes": [
  5464. {
  5465. "type": 3,
  5466. "textContent": "Free forums are for\npeople to learn.",
  5467. "id": 352
  5468. }
  5469. ],
  5470. "id": 351
  5471. },
  5472. {
  5473. "type": 3,
  5474. "textContent": "\n",
  5475. "id": 353
  5476. },
  5477. {
  5478. "type": 2,
  5479. "tagName": "p",
  5480. "attributes": {},
  5481. "childNodes": [
  5482. {
  5483. "type": 3,
  5484. "textContent": "Having said that:\n",
  5485. "id": 355
  5486. }
  5487. ],
  5488. "id": 354
  5489. },
  5490. {
  5491. "type": 3,
  5492. "textContent": "\n",
  5493. "id": 356
  5494. },
  5495. {
  5496. "type": 2,
  5497. "tagName": "p",
  5498. "attributes": {},
  5499. "childNodes": [
  5500. {
  5501. "type": 3,
  5502. "textContent": "\nLet us assume you are indeed genuine\nin your learning, you have a huge, complex system\nwith an occasional, unpredictable bug, and you\n",
  5503. "id": 358
  5504. },
  5505. {
  5506. "type": 2,
  5507. "tagName": "em",
  5508. "attributes": {},
  5509. "childNodes": [
  5510. {
  5511. "type": 3,
  5512. "textContent": "have",
  5513. "id": 360
  5514. }
  5515. ],
  5516. "id": 359
  5517. },
  5518. {
  5519. "type": 3,
  5520. "textContent": " searched the FAQ & Group,\nstudied the manual or documentation and not\nproduced an answer.\n",
  5521. "id": 361
  5522. }
  5523. ],
  5524. "id": 357
  5525. },
  5526. {
  5527. "type": 3,
  5528. "textContent": "\n",
  5529. "id": 362
  5530. },
  5531. {
  5532. "type": 2,
  5533. "tagName": "p",
  5534. "attributes": {},
  5535. "childNodes": [
  5536. {
  5537. "type": 3,
  5538. "textContent": "\nFeel free to describe the problem to the\ngroup; perhaps it is a basic\nmisunderstanding on your part\nthat can easily be cleared up.\n",
  5539. "id": 364
  5540. }
  5541. ],
  5542. "id": 363
  5543. },
  5544. {
  5545. "type": 3,
  5546. "textContent": "\n",
  5547. "id": 365
  5548. },
  5549. {
  5550. "type": 2,
  5551. "tagName": "p",
  5552. "attributes": {},
  5553. "childNodes": [
  5554. {
  5555. "type": 2,
  5556. "tagName": "b",
  5557. "attributes": {},
  5558. "childNodes": [
  5559. {
  5560. "type": 2,
  5561. "tagName": "a",
  5562. "attributes": {
  5563. "id": "compulsory",
  5564. "rel": "nofollow"
  5565. },
  5566. "childNodes": [
  5567. {
  5568. "type": 3,
  5569. "textContent": "We",
  5570. "id": 369
  5571. }
  5572. ],
  5573. "id": 368
  5574. },
  5575. {
  5576. "type": 2,
  5577. "tagName": "a",
  5578. "attributes": {
  5579. "id": "every",
  5580. "rel": "nofollow"
  5581. },
  5582. "childNodes": [],
  5583. "id": 370
  5584. },
  5585. {
  5586. "type": 3,
  5587. "textContent": " are not proposing that every single\nproblem needs a SSCCE in order to be\nsolved. We are also not suggesting an\nexample is, or should be, compulsory.",
  5588. "id": 371
  5589. }
  5590. ],
  5591. "id": 367
  5592. }
  5593. ],
  5594. "id": 366
  5595. },
  5596. {
  5597. "type": 3,
  5598. "textContent": "\n",
  5599. "id": 372
  5600. },
  5601. {
  5602. "type": 2,
  5603. "tagName": "p",
  5604. "attributes": {},
  5605. "childNodes": [
  5606. {
  5607. "type": 3,
  5608. "textContent": "It will, however, make people\nmuch ",
  5609. "id": 374
  5610. },
  5611. {
  5612. "type": 2,
  5613. "tagName": "em",
  5614. "attributes": {},
  5615. "childNodes": [
  5616. {
  5617. "type": 3,
  5618. "textContent": "more likely to help",
  5619. "id": 376
  5620. }
  5621. ],
  5622. "id": 375
  5623. },
  5624. {
  5625. "type": 3,
  5626. "textContent": ", and will\ntherefore ",
  5627. "id": 377
  5628. },
  5629. {
  5630. "type": 2,
  5631. "tagName": "em",
  5632. "attributes": {},
  5633. "childNodes": [
  5634. {
  5635. "type": 3,
  5636. "textContent": "increase the chance of\nfinding a solution",
  5637. "id": 379
  5638. }
  5639. ],
  5640. "id": 378
  5641. },
  5642. {
  5643. "type": 3,
  5644. "textContent": ".",
  5645. "id": 380
  5646. }
  5647. ],
  5648. "id": 373
  5649. },
  5650. {
  5651. "type": 3,
  5652. "textContent": "\n\n\n",
  5653. "id": 381
  5654. },
  5655. {
  5656. "type": 2,
  5657. "tagName": "div",
  5658. "attributes": {
  5659. "class": "centerFooter"
  5660. },
  5661. "childNodes": [
  5662. {
  5663. "type": 3,
  5664. "textContent": "\nWeb hosting compliments of\n",
  5665. "id": 383
  5666. },
  5667. {
  5668. "type": 2,
  5669. "tagName": "a",
  5670. "attributes": {
  5671. "href": "http://evolutionhosting.com/pub/evolution.jsp"
  5672. },
  5673. "childNodes": [
  5674. {
  5675. "type": 3,
  5676. "textContent": "Evolution Hosting",
  5677. "id": 385
  5678. }
  5679. ],
  5680. "id": 384
  5681. },
  5682. {
  5683. "type": 3,
  5684. "textContent": " and ",
  5685. "id": 386
  5686. },
  5687. {
  5688. "type": 2,
  5689. "tagName": "a",
  5690. "attributes": {
  5691. "href": "https://coderanch.com/"
  5692. },
  5693. "childNodes": [
  5694. {
  5695. "type": 3,
  5696. "textContent": "CodeRanch",
  5697. "id": 388
  5698. }
  5699. ],
  5700. "id": 387
  5701. },
  5702. {
  5703. "type": 3,
  5704. "textContent": ".",
  5705. "id": 389
  5706. },
  5707. {
  5708. "type": 2,
  5709. "tagName": "br",
  5710. "attributes": {},
  5711. "childNodes": [],
  5712. "id": 390
  5713. },
  5714. {
  5715. "type": 3,
  5716. "textContent": "\n",
  5717. "id": 391
  5718. }
  5719. ],
  5720. "id": 382
  5721. },
  5722. {
  5723. "type": 3,
  5724. "textContent": "\n\n\n\n\n",
  5725. "id": 392
  5726. },
  5727. {
  5728. "type": 2,
  5729. "tagName": "script",
  5730. "attributes": {
  5731. "type": "text/javascript",
  5732. "charset": "utf-8"
  5733. },
  5734. "childNodes": [
  5735. {
  5736. "type": 3,
  5737. "textContent": "SCRIPT_PLACEHOLDER",
  5738. "id": 394
  5739. }
  5740. ],
  5741. "id": 393
  5742. },
  5743. {
  5744. "type": 3,
  5745. "textContent": "\n\n\n\n\n\n",
  5746. "id": 395
  5747. }
  5748. ],
  5749. "id": 27
  5750. }
  5751. ],
  5752. "id": 3
  5753. }
  5754. ],
  5755. "id": 1
  5756. },
  5757. "initialOffset": {
  5758. "left": 0,
  5759. "top": 0
  5760. }
  5761. },
  5762. "timestamp": 1568367155701
  5763. },
  5764. {
  5765. "type": 4,
  5766. "data": {
  5767. "href": "http://localhost:5000/",
  5768. "width": 1422,
  5769. "height": 741
  5770. },
  5771. "timestamp": 1568367268696
  5772. },
  5773. {
  5774. "type": 2,
  5775. "data": {
  5776. "node": {
  5777. "type": 0,
  5778. "childNodes": [
  5779. {
  5780. "type": 1,
  5781. "name": "",
  5782. "publicId": "",
  5783. "systemId": "",
  5784. "id": 2
  5785. },
  5786. {
  5787. "type": 2,
  5788. "tagName": "html",
  5789. "attributes": {},
  5790. "childNodes": [
  5791. {
  5792. "type": 2,
  5793. "tagName": "head",
  5794. "attributes": {},
  5795. "childNodes": [
  5796. {
  5797. "type": 3,
  5798. "textContent": "\n",
  5799. "id": 5
  5800. },
  5801. {
  5802. "type": 2,
  5803. "tagName": "meta",
  5804. "attributes": {
  5805. "http-equiv": "content-type",
  5806. "content": "text/html; charset=utf-8"
  5807. },
  5808. "childNodes": [],
  5809. "id": 6
  5810. },
  5811. {
  5812. "type": 3,
  5813. "textContent": "\n",
  5814. "id": 7
  5815. },
  5816. {
  5817. "type": 2,
  5818. "tagName": "title",
  5819. "attributes": {},
  5820. "childNodes": [
  5821. {
  5822. "type": 3,
  5823. "textContent": "Short, Self Contained, Correct Example",
  5824. "id": 9
  5825. }
  5826. ],
  5827. "id": 8
  5828. },
  5829. {
  5830. "type": 3,
  5831. "textContent": "\n",
  5832. "id": 10
  5833. },
  5834. {
  5835. "type": 2,
  5836. "tagName": "meta",
  5837. "attributes": {
  5838. "name": "author",
  5839. "content": "Andrew Thompson edited by Ryan Stewart & Lewis Bloch"
  5840. },
  5841. "childNodes": [],
  5842. "id": 11
  5843. },
  5844. {
  5845. "type": 3,
  5846. "textContent": "\n",
  5847. "id": 12
  5848. },
  5849. {
  5850. "type": 2,
  5851. "tagName": "meta",
  5852. "attributes": {
  5853. "name": "description",
  5854. "content": "Describes the short, self contained,\ncorrect example. A useful technique for debugging."
  5855. },
  5856. "childNodes": [],
  5857. "id": 13
  5858. },
  5859. {
  5860. "type": 3,
  5861. "textContent": "\n",
  5862. "id": 14
  5863. },
  5864. {
  5865. "type": 2,
  5866. "tagName": "meta",
  5867. "attributes": {
  5868. "name": "last-updated",
  5869. "content": "2014-02-19"
  5870. },
  5871. "childNodes": [],
  5872. "id": 15
  5873. },
  5874. {
  5875. "type": 3,
  5876. "textContent": "\n",
  5877. "id": 16
  5878. },
  5879. {
  5880. "type": 2,
  5881. "tagName": "meta",
  5882. "attributes": {
  5883. "name": "keywords",
  5884. "content": "bug, debug, problem, fix, help, example, source,\ncode, java, javascript, html, css, styles, layout"
  5885. },
  5886. "childNodes": [],
  5887. "id": 17
  5888. },
  5889. {
  5890. "type": 3,
  5891. "textContent": "\n\n",
  5892. "id": 18
  5893. },
  5894. {
  5895. "type": 2,
  5896. "tagName": "style",
  5897. "attributes": {
  5898. "type": "text/css"
  5899. },
  5900. "childNodes": [
  5901. {
  5902. "type": 3,
  5903. "textContent": "\n.centerFooter {\n\ttext-align: center;\n\tfont-size: 90%;\n}\nbody {\n\tfont-size: 100%;\n\tfont-family: helvetica, arial, sans-serif;\n\tbackground-color: rgb(250,247,241);\n}\n",
  5904. "isStyle": true,
  5905. "id": 20
  5906. }
  5907. ],
  5908. "id": 19
  5909. },
  5910. {
  5911. "type": 3,
  5912. "textContent": "\n\n\n",
  5913. "id": 21
  5914. },
  5915. {
  5916. "type": 2,
  5917. "tagName": "script",
  5918. "attributes": {
  5919. "src": "https://cdn.jsdelivr.net/npm/rrweb@latest/dist/rrweb.min.js"
  5920. },
  5921. "childNodes": [],
  5922. "id": 22
  5923. },
  5924. {
  5925. "type": 3,
  5926. "textContent": "\n",
  5927. "id": 23
  5928. },
  5929. {
  5930. "type": 2,
  5931. "tagName": "script",
  5932. "attributes": {
  5933. "src": "http://cdnjs.cloudflare.com/ajax/libs/socket.io/2.2.0/socket.io.js",
  5934. "integrity": "sha256-yr4fRk/GU1ehYJPAs8P4JlTgu0Hdsp4ZKrx8bDEDC3I=",
  5935. "crossorigin": "anonymous"
  5936. },
  5937. "childNodes": [],
  5938. "id": 24
  5939. },
  5940. {
  5941. "type": 3,
  5942. "textContent": "\n\n",
  5943. "id": 25
  5944. }
  5945. ],
  5946. "id": 4
  5947. },
  5948. {
  5949. "type": 3,
  5950. "textContent": "\n",
  5951. "id": 26
  5952. },
  5953. {
  5954. "type": 2,
  5955. "tagName": "body",
  5956. "attributes": {
  5957. "class": "nopad"
  5958. },
  5959. "childNodes": [
  5960. {
  5961. "type": 3,
  5962. "textContent": "\n\n",
  5963. "id": 28
  5964. },
  5965. {
  5966. "type": 2,
  5967. "tagName": "h1",
  5968. "attributes": {},
  5969. "childNodes": [
  5970. {
  5971. "type": 3,
  5972. "textContent": "The SSCCE",
  5973. "id": 30
  5974. }
  5975. ],
  5976. "id": 29
  5977. },
  5978. {
  5979. "type": 3,
  5980. "textContent": "\n",
  5981. "id": 31
  5982. },
  5983. {
  5984. "type": 2,
  5985. "tagName": "h2",
  5986. "attributes": {},
  5987. "childNodes": [
  5988. {
  5989. "type": 3,
  5990. "textContent": "Short, Self Contained, Correct (Compilable), Example",
  5991. "id": 33
  5992. }
  5993. ],
  5994. "id": 32
  5995. },
  5996. {
  5997. "type": 3,
  5998. "textContent": "\n",
  5999. "id": 34
  6000. },
  6001. {
  6002. "type": 2,
  6003. "tagName": "p",
  6004. "attributes": {},
  6005. "childNodes": [
  6006. {
  6007. "type": 3,
  6008. "textContent": "If you are having a problem with some code and seeking help,\npreparing a Short, Self Contained, Correct Example (",
  6009. "id": 36
  6010. },
  6011. {
  6012. "type": 2,
  6013. "tagName": "abbr",
  6014. "attributes": {
  6015. "title": "Short, self contained, correct example"
  6016. },
  6017. "childNodes": [
  6018. {
  6019. "type": 3,
  6020. "textContent": "SSCCE",
  6021. "id": 38
  6022. }
  6023. ],
  6024. "id": 37
  6025. },
  6026. {
  6027. "type": 3,
  6028. "textContent": ") is very\nuseful. But what is an SSCCE?",
  6029. "id": 39
  6030. }
  6031. ],
  6032. "id": 35
  6033. },
  6034. {
  6035. "type": 2,
  6036. "tagName": "p",
  6037. "attributes": {},
  6038. "childNodes": [
  6039. {
  6040. "type": 3,
  6041. "textContent": "\n",
  6042. "id": 41
  6043. }
  6044. ],
  6045. "id": 40
  6046. },
  6047. {
  6048. "type": 2,
  6049. "tagName": "p",
  6050. "attributes": {},
  6051. "childNodes": [
  6052. {
  6053. "type": 3,
  6054. "textContent": "It is all in the name, really. Take a look at each part. The\nversion prepared for others to see should be:",
  6055. "id": 43
  6056. }
  6057. ],
  6058. "id": 42
  6059. },
  6060. {
  6061. "type": 3,
  6062. "textContent": "\n",
  6063. "id": 44
  6064. },
  6065. {
  6066. "type": 2,
  6067. "tagName": "ul",
  6068. "attributes": {},
  6069. "childNodes": [
  6070. {
  6071. "type": 3,
  6072. "textContent": "\n",
  6073. "id": 46
  6074. },
  6075. {
  6076. "type": 2,
  6077. "tagName": "li",
  6078. "attributes": {},
  6079. "childNodes": [
  6080. {
  6081. "type": 2,
  6082. "tagName": "a",
  6083. "attributes": {},
  6084. "childNodes": [
  6085. {
  6086. "type": 3,
  6087. "textContent": "Short",
  6088. "id": 49
  6089. }
  6090. ],
  6091. "id": 48
  6092. },
  6093. {
  6094. "type": 3,
  6095. "textContent": " (Small) - Minimise bandwidth for the example,\ndo not bore the audience.",
  6096. "id": 50
  6097. }
  6098. ],
  6099. "id": 47
  6100. },
  6101. {
  6102. "type": 3,
  6103. "textContent": "\n",
  6104. "id": 51
  6105. },
  6106. {
  6107. "type": 2,
  6108. "tagName": "li",
  6109. "attributes": {},
  6110. "childNodes": [
  6111. {
  6112. "type": 2,
  6113. "tagName": "a",
  6114. "attributes": {},
  6115. "childNodes": [
  6116. {
  6117. "type": 3,
  6118. "textContent": "Self Contained",
  6119. "id": 54
  6120. }
  6121. ],
  6122. "id": 53
  6123. },
  6124. {
  6125. "type": 3,
  6126. "textContent": " - Ensure everything is included,\nready to go.",
  6127. "id": 55
  6128. }
  6129. ],
  6130. "id": 52
  6131. },
  6132. {
  6133. "type": 3,
  6134. "textContent": "\n",
  6135. "id": 56
  6136. },
  6137. {
  6138. "type": 2,
  6139. "tagName": "li",
  6140. "attributes": {},
  6141. "childNodes": [
  6142. {
  6143. "type": 2,
  6144. "tagName": "a",
  6145. "attributes": {},
  6146. "childNodes": [
  6147. {
  6148. "type": 3,
  6149. "textContent": "Correct",
  6150. "id": 59
  6151. }
  6152. ],
  6153. "id": 58
  6154. },
  6155. {
  6156. "type": 3,
  6157. "textContent": " - Copy, paste, (compile,) see is the aim.",
  6158. "id": 60
  6159. }
  6160. ],
  6161. "id": 57
  6162. },
  6163. {
  6164. "type": 3,
  6165. "textContent": "\n",
  6166. "id": 61
  6167. },
  6168. {
  6169. "type": 2,
  6170. "tagName": "li",
  6171. "attributes": {},
  6172. "childNodes": [
  6173. {
  6174. "type": 2,
  6175. "tagName": "a",
  6176. "attributes": {},
  6177. "childNodes": [
  6178. {
  6179. "type": 3,
  6180. "textContent": "Example",
  6181. "id": 64
  6182. }
  6183. ],
  6184. "id": 63
  6185. },
  6186. {
  6187. "type": 3,
  6188. "textContent": " - Displays the problem we are trying to solve.",
  6189. "id": 65
  6190. }
  6191. ],
  6192. "id": 62
  6193. },
  6194. {
  6195. "type": 3,
  6196. "textContent": "\n",
  6197. "id": 66
  6198. }
  6199. ],
  6200. "id": 45
  6201. },
  6202. {
  6203. "type": 3,
  6204. "textContent": "\n\n",
  6205. "id": 67
  6206. },
  6207. {
  6208. "type": 2,
  6209. "tagName": "h2",
  6210. "attributes": {},
  6211. "childNodes": [
  6212. {
  6213. "type": 2,
  6214. "tagName": "a",
  6215. "attributes": {
  6216. "id": "short",
  6217. "rel": "nofollow"
  6218. },
  6219. "childNodes": [
  6220. {
  6221. "type": 3,
  6222. "textContent": "Short",
  6223. "id": 70
  6224. }
  6225. ],
  6226. "id": 69
  6227. }
  6228. ],
  6229. "id": 68
  6230. },
  6231. {
  6232. "type": 3,
  6233. "textContent": "\n",
  6234. "id": 71
  6235. },
  6236. {
  6237. "type": 2,
  6238. "tagName": "p",
  6239. "attributes": {},
  6240. "childNodes": [
  6241. {
  6242. "type": 3,
  6243. "textContent": "This depends on the group or forum. For a public forum,\nmost readers will stop reading by 100 lines of code,\nand start complaining at 250-300 lines of code.",
  6244. "id": 73
  6245. }
  6246. ],
  6247. "id": 72
  6248. },
  6249. {
  6250. "type": 3,
  6251. "textContent": "\n\n",
  6252. "id": 74
  6253. },
  6254. {
  6255. "type": 2,
  6256. "tagName": "h3",
  6257. "attributes": {},
  6258. "childNodes": [
  6259. {
  6260. "type": 2,
  6261. "tagName": "a",
  6262. "attributes": {
  6263. "id": "trim",
  6264. "rel": "nofollow"
  6265. },
  6266. "childNodes": [
  6267. {
  6268. "type": 3,
  6269. "textContent": "Tricks for Trimming",
  6270. "id": 77
  6271. }
  6272. ],
  6273. "id": 76
  6274. }
  6275. ],
  6276. "id": 75
  6277. },
  6278. {
  6279. "type": 3,
  6280. "textContent": "\n",
  6281. "id": 78
  6282. },
  6283. {
  6284. "type": 2,
  6285. "tagName": "p",
  6286. "attributes": {},
  6287. "childNodes": [
  6288. {
  6289. "type": 3,
  6290. "textContent": "If the GUI has 40 buttons not related\nto the problem, remove them. If they ",
  6291. "id": 80
  6292. },
  6293. {
  6294. "type": 2,
  6295. "tagName": "em",
  6296. "attributes": {},
  6297. "childNodes": [
  6298. {
  6299. "type": 3,
  6300. "textContent": "are",
  6301. "id": 82
  6302. }
  6303. ],
  6304. "id": 81
  6305. },
  6306. {
  6307. "type": 3,
  6308. "textContent": "\nrelated to the problem (you remove them and the\nproblem disappears) put one or two back in,\nif the problem reappears, include ",
  6309. "id": 83
  6310. },
  6311. {
  6312. "type": 2,
  6313. "tagName": "em",
  6314. "attributes": {},
  6315. "childNodes": [
  6316. {
  6317. "type": 3,
  6318. "textContent": "only",
  6319. "id": 85
  6320. }
  6321. ],
  6322. "id": 84
  6323. },
  6324. {
  6325. "type": 3,
  6326. "textContent": "\nthose one or two buttons.",
  6327. "id": 86
  6328. }
  6329. ],
  6330. "id": 79
  6331. },
  6332. {
  6333. "type": 3,
  6334. "textContent": "\n",
  6335. "id": 87
  6336. },
  6337. {
  6338. "type": 2,
  6339. "tagName": "p",
  6340. "attributes": {},
  6341. "childNodes": [
  6342. {
  6343. "type": 3,
  6344. "textContent": "The array or table that is causing a problem\nmay have a hundred entries, but again, if the\nproblem can be seen with two or three entries,\ntrim the example to that alone.",
  6345. "id": 89
  6346. }
  6347. ],
  6348. "id": 88
  6349. },
  6350. {
  6351. "type": 3,
  6352. "textContent": "\n",
  6353. "id": 90
  6354. },
  6355. {
  6356. "type": 2,
  6357. "tagName": "p",
  6358. "attributes": {},
  6359. "childNodes": [
  6360. {
  6361. "type": 3,
  6362. "textContent": "If the problem is a GUI layout problem,\ntrim all the processes (JavaScript/Java methods\netc.) from behind it. On the other hand, if\nthe app. has a GUI but the problem ",
  6363. "id": 92
  6364. },
  6365. {
  6366. "type": 2,
  6367. "tagName": "em",
  6368. "attributes": {},
  6369. "childNodes": [
  6370. {
  6371. "type": 3,
  6372. "textContent": "is",
  6373. "id": 94
  6374. }
  6375. ],
  6376. "id": 93
  6377. },
  6378. {
  6379. "type": 3,
  6380. "textContent": "\nthe processing, trim the GUI to a minimal\nversion.",
  6381. "id": 95
  6382. }
  6383. ],
  6384. "id": 91
  6385. },
  6386. {
  6387. "type": 3,
  6388. "textContent": "\n",
  6389. "id": 96
  6390. },
  6391. {
  6392. "type": 2,
  6393. "tagName": "p",
  6394. "attributes": {},
  6395. "childNodes": [
  6396. {
  6397. "type": 3,
  6398. "textContent": "If trimming a very large amount\nif code for others to see, you might trim out\na part of it early on that you think is not\nrelated to the problem, yet the problem is fixed. ",
  6399. "id": 98
  6400. }
  6401. ],
  6402. "id": 97
  6403. },
  6404. {
  6405. "type": 3,
  6406. "textContent": "\n\n",
  6407. "id": 99
  6408. },
  6409. {
  6410. "type": 2,
  6411. "tagName": "h3",
  6412. "attributes": {},
  6413. "childNodes": [
  6414. {
  6415. "type": 2,
  6416. "tagName": "a",
  6417. "attributes": {
  6418. "id": "solution",
  6419. "rel": "nofollow"
  6420. },
  6421. "childNodes": [
  6422. {
  6423. "type": 3,
  6424. "textContent": "Problem Solved?",
  6425. "id": 102
  6426. }
  6427. ],
  6428. "id": 101
  6429. }
  6430. ],
  6431. "id": 100
  6432. },
  6433. {
  6434. "type": 3,
  6435. "textContent": "\n",
  6436. "id": 103
  6437. },
  6438. {
  6439. "type": 2,
  6440. "tagName": "p",
  6441. "attributes": {},
  6442. "childNodes": [
  6443. {
  6444. "type": 3,
  6445. "textContent": "By identifying more clearly where the problem\noccurs, you have just made an important step toward\nsolving it. The process that highlights\nwhere a problem ",
  6446. "id": 105
  6447. },
  6448. {
  6449. "type": 2,
  6450. "tagName": "em",
  6451. "attributes": {},
  6452. "childNodes": [
  6453. {
  6454. "type": 3,
  6455. "textContent": "originates",
  6456. "id": 107
  6457. }
  6458. ],
  6459. "id": 106
  6460. },
  6461. {
  6462. "type": 3,
  6463. "textContent": " can, in itself,\nhelp to solve it. You might look more closely\nat the part cut out, and in doing so, spot the\nproblem.",
  6464. "id": 108
  6465. }
  6466. ],
  6467. "id": 104
  6468. },
  6469. {
  6470. "type": 3,
  6471. "textContent": "\n",
  6472. "id": 109
  6473. },
  6474. {
  6475. "type": 2,
  6476. "tagName": "p",
  6477. "attributes": {},
  6478. "childNodes": [
  6479. {
  6480. "type": 3,
  6481. "textContent": "Even if you cannot see why the\nproblem occurs, you have still made an\nimportant step: identifying (at least part)\nof the code involved. ",
  6482. "id": 111
  6483. }
  6484. ],
  6485. "id": 110
  6486. },
  6487. {
  6488. "type": 3,
  6489. "textContent": "\n",
  6490. "id": 112
  6491. },
  6492. {
  6493. "type": 2,
  6494. "tagName": "p",
  6495. "attributes": {},
  6496. "childNodes": [
  6497. {
  6498. "type": 3,
  6499. "textContent": "If the code being trimmed is now a concise\nexample of the problem, it is ready to present\nto others, if not, put the problem code back\nin and continue trimming other areas of the\ncode until it is.",
  6500. "id": 114
  6501. }
  6502. ],
  6503. "id": 113
  6504. },
  6505. {
  6506. "type": 2,
  6507. "tagName": "p",
  6508. "attributes": {},
  6509. "childNodes": [
  6510. {
  6511. "type": 3,
  6512. "textContent": "\n\n",
  6513. "id": 116
  6514. }
  6515. ],
  6516. "id": 115
  6517. },
  6518. {
  6519. "type": 2,
  6520. "tagName": "h2",
  6521. "attributes": {},
  6522. "childNodes": [
  6523. {
  6524. "type": 2,
  6525. "tagName": "a",
  6526. "attributes": {
  6527. "id": "selfcon",
  6528. "rel": "nofollow"
  6529. },
  6530. "childNodes": [
  6531. {
  6532. "type": 3,
  6533. "textContent": "Self Contained",
  6534. "id": 119
  6535. }
  6536. ],
  6537. "id": 118
  6538. }
  6539. ],
  6540. "id": 117
  6541. },
  6542. {
  6543. "type": 3,
  6544. "textContent": "\n",
  6545. "id": 120
  6546. },
  6547. {
  6548. "type": 2,
  6549. "tagName": "p",
  6550. "attributes": {},
  6551. "childNodes": [
  6552. {
  6553. "type": 3,
  6554. "textContent": "It is important to ensure that the code\ngiven to others can be 'copied, pasted, compiled,\nrun' so that they can help quickly and\nwith a minimum of fuss.\n",
  6555. "id": 122
  6556. }
  6557. ],
  6558. "id": 121
  6559. },
  6560. {
  6561. "type": 2,
  6562. "tagName": "p",
  6563. "attributes": {},
  6564. "childNodes": [
  6565. {
  6566. "type": 3,
  6567. "textContent": "This means that after the code has been\ncopied, pasted and compiled by those helping,\nthey can run it and ",
  6568. "id": 124
  6569. },
  6570. {
  6571. "type": 2,
  6572. "tagName": "em",
  6573. "attributes": {},
  6574. "childNodes": [
  6575. {
  6576. "type": 3,
  6577. "textContent": "see",
  6578. "id": 126
  6579. }
  6580. ],
  6581. "id": 125
  6582. },
  6583. {
  6584. "type": 3,
  6585. "textContent": " the results\nfor themselves. It is the ",
  6586. "id": 127
  6587. },
  6588. {
  6589. "type": 2,
  6590. "tagName": "a",
  6591. "attributes": {},
  6592. "childNodes": [
  6593. {
  6594. "type": 3,
  6595. "textContent": "example",
  6596. "id": 129
  6597. }
  6598. ],
  6599. "id": 128
  6600. },
  6601. {
  6602. "type": 3,
  6603. "textContent": " of\nthe problem.",
  6604. "id": 130
  6605. }
  6606. ],
  6607. "id": 123
  6608. },
  6609. {
  6610. "type": 3,
  6611. "textContent": "\n",
  6612. "id": 131
  6613. },
  6614. {
  6615. "type": 2,
  6616. "tagName": "p",
  6617. "attributes": {},
  6618. "childNodes": [
  6619. {
  6620. "type": 3,
  6621. "textContent": "You are much more likely to receive help if you do this.",
  6622. "id": 133
  6623. }
  6624. ],
  6625. "id": 132
  6626. },
  6627. {
  6628. "type": 3,
  6629. "textContent": "\n\n",
  6630. "id": 134
  6631. },
  6632. {
  6633. "type": 2,
  6634. "tagName": "h3",
  6635. "attributes": {},
  6636. "childNodes": [
  6637. {
  6638. "type": 2,
  6639. "tagName": "a",
  6640. "attributes": {
  6641. "id": "selfcontained",
  6642. "rel": "nofollow"
  6643. },
  6644. "childNodes": [
  6645. {
  6646. "type": 3,
  6647. "textContent": "How to make an example self contained.",
  6648. "id": 137
  6649. }
  6650. ],
  6651. "id": 136
  6652. }
  6653. ],
  6654. "id": 135
  6655. },
  6656. {
  6657. "type": 3,
  6658. "textContent": "\n\n",
  6659. "id": 138
  6660. },
  6661. {
  6662. "type": 2,
  6663. "tagName": "p",
  6664. "attributes": {},
  6665. "childNodes": [
  6666. {
  6667. "type": 3,
  6668. "textContent": "If the code performs I/O to files,\nreplace the file I/O with dummy data structures in\nproblems that are unrelated to input/output.\n",
  6669. "id": 140
  6670. }
  6671. ],
  6672. "id": 139
  6673. },
  6674. {
  6675. "type": 3,
  6676. "textContent": "\n",
  6677. "id": 141
  6678. },
  6679. {
  6680. "type": 2,
  6681. "tagName": "p",
  6682. "attributes": {},
  6683. "childNodes": [
  6684. {
  6685. "type": 3,
  6686. "textContent": "If the problem ",
  6687. "id": 143
  6688. },
  6689. {
  6690. "type": 2,
  6691. "tagName": "em",
  6692. "attributes": {},
  6693. "childNodes": [
  6694. {
  6695. "type": 3,
  6696. "textContent": "is",
  6697. "id": 145
  6698. }
  6699. ],
  6700. "id": 144
  6701. },
  6702. {
  6703. "type": 3,
  6704. "textContent": " the input and textual input can be used, prepare\na short example that can be copied for the actual file data.\n",
  6705. "id": 146
  6706. }
  6707. ],
  6708. "id": 142
  6709. },
  6710. {
  6711. "type": 3,
  6712. "textContent": "\n",
  6713. "id": 147
  6714. },
  6715. {
  6716. "type": 2,
  6717. "tagName": "p",
  6718. "attributes": {},
  6719. "childNodes": [
  6720. {
  6721. "type": 3,
  6722. "textContent": "\nShould the problem happen\nonly under load, insert code to simulate\nthat load. If a layout problem only occurs\nunder particular circumstances,\n",
  6723. "id": 149
  6724. },
  6725. {
  6726. "type": 2,
  6727. "tagName": "em",
  6728. "attributes": {},
  6729. "childNodes": [
  6730. {
  6731. "type": 3,
  6732. "textContent": "force",
  6733. "id": 151
  6734. }
  6735. ],
  6736. "id": 150
  6737. },
  6738. {
  6739. "type": 3,
  6740. "textContent": " those things to happen, if\nit is practical to do so.\n",
  6741. "id": 152
  6742. }
  6743. ],
  6744. "id": 148
  6745. },
  6746. {
  6747. "type": 3,
  6748. "textContent": "\n",
  6749. "id": 153
  6750. },
  6751. {
  6752. "type": 2,
  6753. "tagName": "p",
  6754. "attributes": {},
  6755. "childNodes": [
  6756. {
  6757. "type": 3,
  6758. "textContent": "\nObviously there are things that cannot\nbe included in an example that is posted\nto a forum, 'a database' etcetera,\nbut many times you just need a bit of\nlateral thinking to come up with a way to\nreplace something you thought was 'vital'\nto demonstrate a problem.\n",
  6759. "id": 155
  6760. }
  6761. ],
  6762. "id": 154
  6763. },
  6764. {
  6765. "type": 3,
  6766. "textContent": "\n\n",
  6767. "id": 156
  6768. },
  6769. {
  6770. "type": 2,
  6771. "tagName": "p",
  6772. "attributes": {},
  6773. "childNodes": [
  6774. {
  6775. "type": 3,
  6776. "textContent": "One example of lateral thinking is 'images'.\nImages related to code problems might seem difficult\nto replace. But one trick is to link to an image\navailable on the web, one that displays the same problem.\nTry to make\nany web based images 'small' in bytes - if at all possible.\n",
  6777. "id": 158
  6778. }
  6779. ],
  6780. "id": 157
  6781. },
  6782. {
  6783. "type": 3,
  6784. "textContent": "\n\n",
  6785. "id": 159
  6786. },
  6787. {
  6788. "type": 2,
  6789. "tagName": "h2",
  6790. "attributes": {},
  6791. "childNodes": [
  6792. {
  6793. "type": 2,
  6794. "tagName": "a",
  6795. "attributes": {
  6796. "id": "co",
  6797. "rel": "nofollow"
  6798. },
  6799. "childNodes": [
  6800. {
  6801. "type": 3,
  6802. "textContent": "Correct",
  6803. "id": 162
  6804. }
  6805. ],
  6806. "id": 161
  6807. }
  6808. ],
  6809. "id": 160
  6810. },
  6811. {
  6812. "type": 3,
  6813. "textContent": "\n",
  6814. "id": 163
  6815. },
  6816. {
  6817. "type": 2,
  6818. "tagName": "blockquote",
  6819. "attributes": {},
  6820. "childNodes": [
  6821. {
  6822. "type": 3,
  6823. "textContent": "If my example was correct, ",
  6824. "id": 165
  6825. },
  6826. {
  6827. "type": 2,
  6828. "tagName": "em",
  6829. "attributes": {},
  6830. "childNodes": [
  6831. {
  6832. "type": 3,
  6833. "textContent": "what would I be doing here?",
  6834. "id": 167
  6835. }
  6836. ],
  6837. "id": 166
  6838. }
  6839. ],
  6840. "id": 164
  6841. },
  6842. {
  6843. "type": 3,
  6844. "textContent": "\n",
  6845. "id": 168
  6846. },
  6847. {
  6848. "type": 2,
  6849. "tagName": "p",
  6850. "attributes": {},
  6851. "childNodes": [
  6852. {
  6853. "type": 3,
  6854. "textContent": "(Laughs) No, that is not what 'correct' means in this context.\nIn this document, correct (or compilable, which particularly\nrelates to computer source code) means ensuring that\nthe example fits the accepted standards and protocols.\n",
  6855. "id": 170
  6856. }
  6857. ],
  6858. "id": 169
  6859. },
  6860. {
  6861. "type": 2,
  6862. "tagName": "p",
  6863. "attributes": {},
  6864. "childNodes": [
  6865. {
  6866. "type": 3,
  6867. "textContent": "\nTo achieve that, it is necessary to:\n",
  6868. "id": 172
  6869. }
  6870. ],
  6871. "id": 171
  6872. },
  6873. {
  6874. "type": 3,
  6875. "textContent": "\n",
  6876. "id": 173
  6877. },
  6878. {
  6879. "type": 2,
  6880. "tagName": "ul",
  6881. "attributes": {},
  6882. "childNodes": [
  6883. {
  6884. "type": 2,
  6885. "tagName": "li",
  6886. "attributes": {},
  6887. "childNodes": [
  6888. {
  6889. "type": 2,
  6890. "tagName": "a",
  6891. "attributes": {
  6892. "id": "linewidth",
  6893. "rel": "nofollow"
  6894. },
  6895. "childNodes": [
  6896. {
  6897. "type": 3,
  6898. "textContent": "Line width",
  6899. "id": 177
  6900. }
  6901. ],
  6902. "id": 176
  6903. },
  6904. {
  6905. "type": 3,
  6906. "textContent": "\nKeep the width of the lines in the\nexample to under 62 characters wide.\n(but please do ",
  6907. "id": 178
  6908. },
  6909. {
  6910. "type": 2,
  6911. "tagName": "b",
  6912. "attributes": {},
  6913. "childNodes": [
  6914. {
  6915. "type": 3,
  6916. "textContent": "not",
  6917. "id": 180
  6918. }
  6919. ],
  6920. "id": 179
  6921. },
  6922. {
  6923. "type": 3,
  6924. "textContent": " remove all line indents!)\nNewsreaders typically force a line wrap at\naround 72 characters (and it pays to 'play it safe\nby using less than that).\n",
  6925. "id": 181
  6926. },
  6927. {
  6928. "type": 2,
  6929. "tagName": "em",
  6930. "attributes": {},
  6931. "childNodes": [
  6932. {
  6933. "type": 3,
  6934. "textContent": "Sometimes",
  6935. "id": 183
  6936. }
  6937. ],
  6938. "id": 182
  6939. },
  6940. {
  6941. "type": 3,
  6942. "textContent": " line wrap does not\ncause any problem with the example, but\nit ",
  6943. "id": 184
  6944. },
  6945. {
  6946. "type": 2,
  6947. "tagName": "em",
  6948. "attributes": {},
  6949. "childNodes": [
  6950. {
  6951. "type": 3,
  6952. "textContent": "usually",
  6953. "id": 186
  6954. }
  6955. ],
  6956. "id": 185
  6957. },
  6958. {
  6959. "type": 3,
  6960. "textContent": " does, and means the\nlines need to be rejoined or reconstructed,\nbefore they work as intended.\n",
  6961. "id": 187
  6962. },
  6963. {
  6964. "type": 2,
  6965. "tagName": "br",
  6966. "attributes": {},
  6967. "childNodes": [],
  6968. "id": 188
  6969. },
  6970. {
  6971. "type": 3,
  6972. "textContent": "Most code/source editors will show a column width along the top of the editing area.\n",
  6973. "id": 189
  6974. }
  6975. ],
  6976. "id": 175
  6977. },
  6978. {
  6979. "type": 3,
  6980. "textContent": "\n",
  6981. "id": 190
  6982. },
  6983. {
  6984. "type": 2,
  6985. "tagName": "li",
  6986. "attributes": {},
  6987. "childNodes": [
  6988. {
  6989. "type": 2,
  6990. "tagName": "a",
  6991. "attributes": {
  6992. "id": "nameconvention",
  6993. "rel": "nofollow"
  6994. },
  6995. "childNodes": [
  6996. {
  6997. "type": 3,
  6998. "textContent": "Use the naming convention",
  6999. "id": 193
  7000. }
  7001. ],
  7002. "id": 192
  7003. },
  7004. {
  7005. "type": 3,
  7006. "textContent": ", if one exists.\nMost of the people willing to help will be\nusing hints from the formatting of upper\nand lower case letters, as well as their\ndescriptive names, to skim the code in\nthe hope of spotting the problem quickly.\nIf following the conventions the audience is\nused to, it helps them to do that.\n",
  7007. "id": 194
  7008. }
  7009. ],
  7010. "id": 191
  7011. },
  7012. {
  7013. "type": 3,
  7014. "textContent": "\n",
  7015. "id": 195
  7016. },
  7017. {
  7018. "type": 2,
  7019. "tagName": "li",
  7020. "attributes": {},
  7021. "childNodes": [
  7022. {
  7023. "type": 2,
  7024. "tagName": "a",
  7025. "attributes": {
  7026. "id": "valid",
  7027. "rel": "nofollow"
  7028. },
  7029. "childNodes": [
  7030. {
  7031. "type": 3,
  7032. "textContent": "Ensure the example is ",
  7033. "id": 198
  7034. },
  7035. {
  7036. "type": 2,
  7037. "tagName": "em",
  7038. "attributes": {},
  7039. "childNodes": [
  7040. {
  7041. "type": 3,
  7042. "textContent": "correct",
  7043. "id": 200
  7044. }
  7045. ],
  7046. "id": 199
  7047. },
  7048. {
  7049. "type": 3,
  7050. "textContent": ". ",
  7051. "id": 201
  7052. }
  7053. ],
  7054. "id": 197
  7055. },
  7056. {
  7057. "type": 3,
  7058. "textContent": "\nEither the example compiles cleanly, or causes the exact error message about which\nneeds solving.\n",
  7059. "id": 202
  7060. }
  7061. ],
  7062. "id": 196
  7063. },
  7064. {
  7065. "type": 3,
  7066. "textContent": "\n",
  7067. "id": 203
  7068. }
  7069. ],
  7070. "id": 174
  7071. },
  7072. {
  7073. "type": 3,
  7074. "textContent": "\n",
  7075. "id": 204
  7076. },
  7077. {
  7078. "type": 2,
  7079. "tagName": "p",
  7080. "attributes": {},
  7081. "childNodes": [
  7082. {
  7083. "type": 3,
  7084. "textContent": "Further tips:\n",
  7085. "id": 206
  7086. }
  7087. ],
  7088. "id": 205
  7089. },
  7090. {
  7091. "type": 3,
  7092. "textContent": "\n",
  7093. "id": 207
  7094. },
  7095. {
  7096. "type": 2,
  7097. "tagName": "ul",
  7098. "attributes": {},
  7099. "childNodes": [
  7100. {
  7101. "type": 3,
  7102. "textContent": "\n",
  7103. "id": 209
  7104. },
  7105. {
  7106. "type": 2,
  7107. "tagName": "li",
  7108. "attributes": {},
  7109. "childNodes": [
  7110. {
  7111. "type": 3,
  7112. "textContent": "Move all resources (CSS/JS/Java source, images etc.) to the same\ndirectory, so they are easier to administer, and easier to find.\n",
  7113. "id": 211
  7114. }
  7115. ],
  7116. "id": 210
  7117. },
  7118. {
  7119. "type": 2,
  7120. "tagName": "li",
  7121. "attributes": {},
  7122. "childNodes": [
  7123. {
  7124. "type": 3,
  7125. "textContent": "Remove package statements from Java code.\n",
  7126. "id": 213
  7127. }
  7128. ],
  7129. "id": 212
  7130. },
  7131. {
  7132. "type": 2,
  7133. "tagName": "li",
  7134. "attributes": {},
  7135. "childNodes": [
  7136. {
  7137. "type": 3,
  7138. "textContent": "Demote public Java classes to default. If the language\nspecifies only a single public class per source code\nfile, demote all the other classes to default. This\nallows the example to be compiled without being split\ninto separate files.\n",
  7139. "id": 215
  7140. }
  7141. ],
  7142. "id": 214
  7143. },
  7144. {
  7145. "type": 3,
  7146. "textContent": "\n",
  7147. "id": 216
  7148. },
  7149. {
  7150. "type": 2,
  7151. "tagName": "li",
  7152. "attributes": {},
  7153. "childNodes": [
  7154. {
  7155. "type": 3,
  7156. "textContent": "Validate the example, where a validator is available.\n",
  7157. "id": 218
  7158. },
  7159. {
  7160. "type": 2,
  7161. "tagName": "ul",
  7162. "attributes": {},
  7163. "childNodes": [
  7164. {
  7165. "type": 3,
  7166. "textContent": "\n",
  7167. "id": 220
  7168. },
  7169. {
  7170. "type": 2,
  7171. "tagName": "li",
  7172. "attributes": {},
  7173. "childNodes": [
  7174. {
  7175. "type": 2,
  7176. "tagName": "abbr",
  7177. "attributes": {
  7178. "title": "HyperText MarkUp Language"
  7179. },
  7180. "childNodes": [
  7181. {
  7182. "type": 3,
  7183. "textContent": "HTML",
  7184. "id": 223
  7185. }
  7186. ],
  7187. "id": 222
  7188. },
  7189. {
  7190. "type": 3,
  7191. "textContent": " ",
  7192. "id": 224
  7193. },
  7194. {
  7195. "type": 2,
  7196. "tagName": "a",
  7197. "attributes": {
  7198. "href": "http://validator.w3.org/",
  7199. "rel": "nofollow"
  7200. },
  7201. "childNodes": [
  7202. {
  7203. "type": 3,
  7204. "textContent": "validator",
  7205. "id": 226
  7206. }
  7207. ],
  7208. "id": 225
  7209. }
  7210. ],
  7211. "id": 221
  7212. },
  7213. {
  7214. "type": 3,
  7215. "textContent": "\n",
  7216. "id": 227
  7217. },
  7218. {
  7219. "type": 2,
  7220. "tagName": "li",
  7221. "attributes": {},
  7222. "childNodes": [
  7223. {
  7224. "type": 2,
  7225. "tagName": "abbr",
  7226. "attributes": {
  7227. "title": "Cascading Style Sheets"
  7228. },
  7229. "childNodes": [
  7230. {
  7231. "type": 3,
  7232. "textContent": "CSS",
  7233. "id": 230
  7234. }
  7235. ],
  7236. "id": 229
  7237. },
  7238. {
  7239. "type": 3,
  7240. "textContent": " ",
  7241. "id": 231
  7242. },
  7243. {
  7244. "type": 2,
  7245. "tagName": "a",
  7246. "attributes": {
  7247. "href": "http://jigsaw.w3.org/css-validator/",
  7248. "rel": "nofollow"
  7249. },
  7250. "childNodes": [
  7251. {
  7252. "type": 3,
  7253. "textContent": "validator",
  7254. "id": 233
  7255. }
  7256. ],
  7257. "id": 232
  7258. }
  7259. ],
  7260. "id": 228
  7261. },
  7262. {
  7263. "type": 3,
  7264. "textContent": "\n",
  7265. "id": 234
  7266. }
  7267. ],
  7268. "id": 219
  7269. },
  7270. {
  7271. "type": 3,
  7272. "textContent": "\n",
  7273. "id": 235
  7274. }
  7275. ],
  7276. "id": 217
  7277. },
  7278. {
  7279. "type": 3,
  7280. "textContent": "\n",
  7281. "id": 236
  7282. }
  7283. ],
  7284. "id": 208
  7285. },
  7286. {
  7287. "type": 3,
  7288. "textContent": "\n",
  7289. "id": 237
  7290. },
  7291. {
  7292. "type": 2,
  7293. "tagName": "h2",
  7294. "attributes": {},
  7295. "childNodes": [
  7296. {
  7297. "type": 2,
  7298. "tagName": "a",
  7299. "attributes": {
  7300. "id": "eg",
  7301. "rel": "nofollow"
  7302. },
  7303. "childNodes": [
  7304. {
  7305. "type": 3,
  7306. "textContent": "Example",
  7307. "id": 240
  7308. }
  7309. ],
  7310. "id": 239
  7311. }
  7312. ],
  7313. "id": 238
  7314. },
  7315. {
  7316. "type": 3,
  7317. "textContent": "\n\n",
  7318. "id": 241
  7319. },
  7320. {
  7321. "type": 2,
  7322. "tagName": "p",
  7323. "attributes": {},
  7324. "childNodes": [
  7325. {
  7326. "type": 2,
  7327. "tagName": "em",
  7328. "attributes": {},
  7329. "childNodes": [
  7330. {
  7331. "type": 3,
  7332. "textContent": "Make sure the posted code, displays the problem!",
  7333. "id": 244
  7334. }
  7335. ],
  7336. "id": 243
  7337. },
  7338. {
  7339. "type": 3,
  7340. "textContent": "\n",
  7341. "id": 245
  7342. }
  7343. ],
  7344. "id": 242
  7345. },
  7346. {
  7347. "type": 2,
  7348. "tagName": "p",
  7349. "attributes": {},
  7350. "childNodes": [
  7351. {
  7352. "type": 3,
  7353. "textContent": "\nYou have worked on the example for hours, perhaps\ndays. It feels like forever. Now is a good time to\ntake a breather, step back, stretch, perhaps go for a\nrefreshing walk.\n",
  7354. "id": 247
  7355. }
  7356. ],
  7357. "id": 246
  7358. },
  7359. {
  7360. "type": 2,
  7361. "tagName": "p",
  7362. "attributes": {},
  7363. "childNodes": [
  7364. {
  7365. "type": 3,
  7366. "textContent": "\n",
  7367. "id": 249
  7368. },
  7369. {
  7370. "type": 2,
  7371. "tagName": "em",
  7372. "attributes": {},
  7373. "childNodes": [
  7374. {
  7375. "type": 3,
  7376. "textContent": "Refresh the computer as well.",
  7377. "id": 251
  7378. }
  7379. ],
  7380. "id": 250
  7381. },
  7382. {
  7383. "type": 3,
  7384. "textContent": " Reboot it\nif necessary.\n",
  7385. "id": 252
  7386. }
  7387. ],
  7388. "id": 248
  7389. },
  7390. {
  7391. "type": 2,
  7392. "tagName": "p",
  7393. "attributes": {},
  7394. "childNodes": [
  7395. {
  7396. "type": 3,
  7397. "textContent": "\nNow open the pages, or program, where the problem\noccurs. Is it still there?\n",
  7398. "id": 254
  7399. }
  7400. ],
  7401. "id": 253
  7402. },
  7403. {
  7404. "type": 2,
  7405. "tagName": "p",
  7406. "attributes": {},
  7407. "childNodes": [
  7408. {
  7409. "type": 3,
  7410. "textContent": "\nPerhaps 99% of the time it is (maybe less if\nusing a less reliable operating system).\n",
  7411. "id": 256
  7412. }
  7413. ],
  7414. "id": 255
  7415. },
  7416. {
  7417. "type": 2,
  7418. "tagName": "p",
  7419. "attributes": {},
  7420. "childNodes": [
  7421. {
  7422. "type": 3,
  7423. "textContent": "\nNow, if the problem is still there, post the example.\n",
  7424. "id": 258
  7425. }
  7426. ],
  7427. "id": 257
  7428. },
  7429. {
  7430. "type": 3,
  7431. "textContent": "\n\n",
  7432. "id": 259
  7433. },
  7434. {
  7435. "type": 2,
  7436. "tagName": "h3",
  7437. "attributes": {},
  7438. "childNodes": [
  7439. {
  7440. "type": 2,
  7441. "tagName": "a",
  7442. "attributes": {
  7443. "id": "extra",
  7444. "rel": "nofollow"
  7445. },
  7446. "childNodes": [
  7447. {
  7448. "type": 3,
  7449. "textContent": "Example - Extra Points",
  7450. "id": 262
  7451. }
  7452. ],
  7453. "id": 261
  7454. }
  7455. ],
  7456. "id": 260
  7457. },
  7458. {
  7459. "type": 3,
  7460. "textContent": "\n",
  7461. "id": 263
  7462. },
  7463. {
  7464. "type": 2,
  7465. "tagName": "p",
  7466. "attributes": {},
  7467. "childNodes": [
  7468. {
  7469. "type": 3,
  7470. "textContent": "We wish we had a dollar for every person who asked\nfor help about a web page or the stylesheet for one,\nsome JavaScript code, or a Java Applet - and did not\nprovide a link. We would not need to supply and maintain this document,\ninstead we would be sunning ourselves on a beach in an exotic\nlocation, drinking still more exotic cocktails.",
  7471. "id": 265
  7472. }
  7473. ],
  7474. "id": 264
  7475. },
  7476. {
  7477. "type": 3,
  7478. "textContent": "\n",
  7479. "id": 266
  7480. },
  7481. {
  7482. "type": 2,
  7483. "tagName": "p",
  7484. "attributes": {},
  7485. "childNodes": [
  7486. {
  7487. "type": 3,
  7488. "textContent": "Why do people miss such an opportunity? Very\nfew things are as tempting as a link to the problem.\nTo a seasoned forum helper, it is almost as\ntempting as a small bottle with the vague\nmessage 'drink me', ..or an exotic cocktail.",
  7489. "id": 268
  7490. }
  7491. ],
  7492. "id": 267
  7493. },
  7494. {
  7495. "type": 3,
  7496. "textContent": "\n",
  7497. "id": 269
  7498. },
  7499. {
  7500. "type": 2,
  7501. "tagName": "p",
  7502. "attributes": {},
  7503. "childNodes": [
  7504. {
  7505. "type": 3,
  7506. "textContent": "Having a group of people look at the problem\nhelps to identify and solve the problem at hand,\nas well as ",
  7507. "id": 271
  7508. },
  7509. {
  7510. "type": 2,
  7511. "tagName": "em",
  7512. "attributes": {},
  7513. "childNodes": [
  7514. {
  7515. "type": 3,
  7516. "textContent": "compatibility problems",
  7517. "id": 273
  7518. }
  7519. ],
  7520. "id": 272
  7521. },
  7522. {
  7523. "type": 3,
  7524. "textContent": " (which\nmight be the cause of the problem all along).",
  7525. "id": 274
  7526. }
  7527. ],
  7528. "id": 270
  7529. },
  7530. {
  7531. "type": 3,
  7532. "textContent": "\n\n",
  7533. "id": 275
  7534. },
  7535. {
  7536. "type": 2,
  7537. "tagName": "h3",
  7538. "attributes": {},
  7539. "childNodes": [
  7540. {
  7541. "type": 2,
  7542. "tagName": "a",
  7543. "attributes": {
  7544. "id": "standards",
  7545. "rel": "nofollow"
  7546. },
  7547. "childNodes": [
  7548. {
  7549. "type": 3,
  7550. "textContent": "Standards on the Internet",
  7551. "id": 278
  7552. }
  7553. ],
  7554. "id": 277
  7555. }
  7556. ],
  7557. "id": 276
  7558. },
  7559. {
  7560. "type": 3,
  7561. "textContent": "\n",
  7562. "id": 279
  7563. },
  7564. {
  7565. "type": 2,
  7566. "tagName": "p",
  7567. "attributes": {},
  7568. "childNodes": [
  7569. {
  7570. "type": 3,
  7571. "textContent": "\nTherein lies another 'gotcha' when dealing with\nmost things related to the internet.\nThe internet, as well as most things\nassociated with it, is just a little bit wild.\nFor every standard there are two alternates.\nFor every rule there are at least three exceptions\nto the rule.\n",
  7572. "id": 281
  7573. }
  7574. ],
  7575. "id": 280
  7576. },
  7577. {
  7578. "type": 3,
  7579. "textContent": "\n",
  7580. "id": 282
  7581. },
  7582. {
  7583. "type": 2,
  7584. "tagName": "p",
  7585. "attributes": {},
  7586. "childNodes": [
  7587. {
  7588. "type": 3,
  7589. "textContent": "To start with, browsers do not work the same.\nWe are not just referring to differences between\nIE and Netscape, or old and new browsers, but 'Internet\nExplorer 5' for the Macintosh, for example, is a\n(significantly) different browser from 'Internet\nExplorer 5' for Windows.",
  7590. "id": 284
  7591. }
  7592. ],
  7593. "id": 283
  7594. },
  7595. {
  7596. "type": 3,
  7597. "textContent": "\n",
  7598. "id": 285
  7599. },
  7600. {
  7601. "type": 2,
  7602. "tagName": "p",
  7603. "attributes": {},
  7604. "childNodes": [
  7605. {
  7606. "type": 3,
  7607. "textContent": "People asking for help on web-design groups are often\nsurprised to hear that the problem they are\nexperiencing with a web page does not even\nshow for others using different browsers.",
  7608. "id": 287
  7609. }
  7610. ],
  7611. "id": 286
  7612. },
  7613. {
  7614. "type": 3,
  7615. "textContent": "\n\n",
  7616. "id": 288
  7617. },
  7618. {
  7619. "type": 2,
  7620. "tagName": "h3",
  7621. "attributes": {},
  7622. "childNodes": [
  7623. {
  7624. "type": 2,
  7625. "tagName": "a",
  7626. "attributes": {
  7627. "id": "devapplet",
  7628. "rel": "nofollow"
  7629. },
  7630. "childNodes": [
  7631. {
  7632. "type": 3,
  7633. "textContent": "Java Applets",
  7634. "id": 291
  7635. }
  7636. ],
  7637. "id": 290
  7638. }
  7639. ],
  7640. "id": 289
  7641. },
  7642. {
  7643. "type": 3,
  7644. "textContent": "\n",
  7645. "id": 292
  7646. },
  7647. {
  7648. "type": 2,
  7649. "tagName": "p",
  7650. "attributes": {},
  7651. "childNodes": [
  7652. {
  7653. "type": 3,
  7654. "textContent": "\nAnother level of complexity, and more chance\nof problems, is introduced when Applets are\nin the web page. How the random clutch of browsers mentioned\nabove will react to (often poorly formed) html and styles,\nwith Applets thrown into the mix as well, is another\nmatter again. Here is just one example.\n",
  7655. "id": 294
  7656. }
  7657. ],
  7658. "id": 293
  7659. },
  7660. {
  7661. "type": 3,
  7662. "textContent": "\n",
  7663. "id": 295
  7664. },
  7665. {
  7666. "type": 2,
  7667. "tagName": "p",
  7668. "attributes": {},
  7669. "childNodes": [
  7670. {
  7671. "type": 3,
  7672. "textContent": "\nFor a long time MicroSoft was shipping the\nInternet Explorer browser with an ",
  7673. "id": 297
  7674. },
  7675. {
  7676. "type": 2,
  7677. "tagName": "em",
  7678. "attributes": {},
  7679. "childNodes": [
  7680. {
  7681. "type": 3,
  7682. "textContent": "older version of Java",
  7683. "id": 299
  7684. }
  7685. ],
  7686. "id": 298
  7687. },
  7688. {
  7689. "type": 3,
  7690. "textContent": "\n(a version 1.1\n",
  7691. "id": 300
  7692. },
  7693. {
  7694. "type": 2,
  7695. "tagName": "abbr",
  7696. "attributes": {
  7697. "title": "Java Virtual Machine, the emulator in which Java Applets run."
  7698. },
  7699. "childNodes": [
  7700. {
  7701. "type": 3,
  7702. "textContent": "\nJVM",
  7703. "id": 302
  7704. }
  7705. ],
  7706. "id": 301
  7707. },
  7708. {
  7709. "type": 3,
  7710. "textContent": ").\nAfter some events happened, MS put\nthe ",
  7711. "id": 303
  7712. },
  7713. {
  7714. "type": 2,
  7715. "tagName": "em",
  7716. "attributes": {},
  7717. "childNodes": [
  7718. {
  7719. "type": 3,
  7720. "textContent": "latest Java",
  7721. "id": 305
  7722. }
  7723. ],
  7724. "id": 304
  7725. },
  7726. {
  7727. "type": 3,
  7728. "textContent": " engines into its browsers. Soon\nafter that, they began to supply the IE with ",
  7729. "id": 306
  7730. },
  7731. {
  7732. "type": 2,
  7733. "tagName": "em",
  7734. "attributes": {},
  7735. "childNodes": [
  7736. {
  7737. "type": 3,
  7738. "textContent": "no JVM\nat all",
  7739. "id": 308
  7740. }
  7741. ],
  7742. "id": 307
  7743. },
  7744. {
  7745. "type": 3,
  7746. "textContent": ".\n",
  7747. "id": 309
  7748. }
  7749. ],
  7750. "id": 296
  7751. },
  7752. {
  7753. "type": 3,
  7754. "textContent": "\n",
  7755. "id": 310
  7756. },
  7757. {
  7758. "type": 2,
  7759. "tagName": "p",
  7760. "attributes": {},
  7761. "childNodes": [
  7762. {
  7763. "type": 3,
  7764. "textContent": "\nGiven the possible complications with Applets,\nit is fortunate that they are so easy to check\nwhen on they are on the internet. A few clicks\nand someone on the other side of the planet\ncan be reading the output from the Java console\nof ",
  7765. "id": 312
  7766. },
  7767. {
  7768. "type": 2,
  7769. "tagName": "em",
  7770. "attributes": {},
  7771. "childNodes": [
  7772. {
  7773. "type": 3,
  7774. "textContent": "their own browser",
  7775. "id": 314
  7776. }
  7777. ],
  7778. "id": 313
  7779. },
  7780. {
  7781. "type": 3,
  7782. "textContent": " or, sometimes, see the Applet\nworking perfectly.\n",
  7783. "id": 315
  7784. }
  7785. ],
  7786. "id": 311
  7787. },
  7788. {
  7789. "type": 3,
  7790. "textContent": "\n",
  7791. "id": 316
  7792. },
  7793. {
  7794. "type": 2,
  7795. "tagName": "p",
  7796. "attributes": {},
  7797. "childNodes": [
  7798. {
  7799. "type": 3,
  7800. "textContent": "\nIf the Applet that fails for you works in someone else's browser,\nit helps to quickly narrow the scope of the problem to the html,\nthe applet tag, or the JVM installed in the browser\n(or complete lack of one).\n",
  7801. "id": 318
  7802. }
  7803. ],
  7804. "id": 317
  7805. },
  7806. {
  7807. "type": 3,
  7808. "textContent": "\n\n",
  7809. "id": 319
  7810. },
  7811. {
  7812. "type": 2,
  7813. "tagName": "h2",
  7814. "attributes": {},
  7815. "childNodes": [
  7816. {
  7817. "type": 2,
  7818. "tagName": "a",
  7819. "attributes": {
  7820. "id": "bother",
  7821. "rel": "nofollow"
  7822. },
  7823. "childNodes": [
  7824. {
  7825. "type": 3,
  7826. "textContent": "Why bother?",
  7827. "id": 322
  7828. }
  7829. ],
  7830. "id": 321
  7831. }
  7832. ],
  7833. "id": 320
  7834. },
  7835. {
  7836. "type": 3,
  7837. "textContent": "\n",
  7838. "id": 323
  7839. },
  7840. {
  7841. "type": 2,
  7842. "tagName": "p",
  7843. "attributes": {},
  7844. "childNodes": [
  7845. {
  7846. "type": 3,
  7847. "textContent": "A very good question. Why go to all this effort?\n",
  7848. "id": 325
  7849. }
  7850. ],
  7851. "id": 324
  7852. },
  7853. {
  7854. "type": 3,
  7855. "textContent": "\n",
  7856. "id": 326
  7857. },
  7858. {
  7859. "type": 2,
  7860. "tagName": "p",
  7861. "attributes": {},
  7862. "childNodes": [
  7863. {
  7864. "type": 3,
  7865. "textContent": "\nPerhaps someone can understand the problem\nyou describe from the description you give.\nMaybe it is one of those things that a\nthousand people before have stumbled on.\n",
  7866. "id": 328
  7867. }
  7868. ],
  7869. "id": 327
  7870. },
  7871. {
  7872. "type": 3,
  7873. "textContent": "\n",
  7874. "id": 329
  7875. },
  7876. {
  7877. "type": 2,
  7878. "tagName": "p",
  7879. "attributes": {},
  7880. "childNodes": [
  7881. {
  7882. "type": 3,
  7883. "textContent": "\nIf you have already checked the FAQ,\nGoogled the forum, read the ..flaming\nmanual it is unlikely that an answer\nwill pop up that easily. You ",
  7884. "id": 331
  7885. },
  7886. {
  7887. "type": 2,
  7888. "tagName": "em",
  7889. "attributes": {},
  7890. "childNodes": [
  7891. {
  7892. "type": 3,
  7893. "textContent": "have",
  7894. "id": 333
  7895. }
  7896. ],
  7897. "id": 332
  7898. },
  7899. {
  7900. "type": 3,
  7901. "textContent": "\ndone those things, haven't you?\n",
  7902. "id": 334
  7903. }
  7904. ],
  7905. "id": 330
  7906. },
  7907. {
  7908. "type": 3,
  7909. "textContent": "\n",
  7910. "id": 335
  7911. },
  7912. {
  7913. "type": 2,
  7914. "tagName": "p",
  7915. "attributes": {},
  7916. "childNodes": [
  7917. {
  7918. "type": 3,
  7919. "textContent": "\nIf wasting the time and bandwidth of\nthe other members of a public forum, you\nrisk members of the group delivering\nshort sharp rebukes.\n",
  7920. "id": 337
  7921. }
  7922. ],
  7923. "id": 336
  7924. },
  7925. {
  7926. "type": 3,
  7927. "textContent": "\n",
  7928. "id": 338
  7929. },
  7930. {
  7931. "type": 2,
  7932. "tagName": "p",
  7933. "attributes": {},
  7934. "childNodes": [
  7935. {
  7936. "type": 3,
  7937. "textContent": "\nThe people who contribute to the groups\ngive a wide range of advice. Sometimes\nthe advice works, sometimes it does not,\nbut either way, the advice is free.\n",
  7938. "id": 340
  7939. }
  7940. ],
  7941. "id": 339
  7942. },
  7943. {
  7944. "type": 3,
  7945. "textContent": "\n",
  7946. "id": 341
  7947. },
  7948. {
  7949. "type": 2,
  7950. "tagName": "p",
  7951. "attributes": {},
  7952. "childNodes": [
  7953. {
  7954. "type": 3,
  7955. "textContent": "\nContributors do so for a variety of reasons,\nincluding the nice feeling they get when\nthey can pass on a piece of knowledge relating\nto their chosen field to someone who is learning.\n",
  7956. "id": 343
  7957. }
  7958. ],
  7959. "id": 342
  7960. },
  7961. {
  7962. "type": 3,
  7963. "textContent": "\n",
  7964. "id": 344
  7965. },
  7966. {
  7967. "type": 2,
  7968. "tagName": "p",
  7969. "attributes": {},
  7970. "childNodes": [
  7971. {
  7972. "type": 3,
  7973. "textContent": "\nUnfortunately, if someone asks to be\nspoon fed information that is contained\nin a basic tutorial, it is a strong indication\nthat the questioner does not so much want\nto learn as get others to do work they should\nbe doing themselves.\n",
  7974. "id": 346
  7975. }
  7976. ],
  7977. "id": 345
  7978. },
  7979. {
  7980. "type": 3,
  7981. "textContent": "\n",
  7982. "id": 347
  7983. },
  7984. {
  7985. "type": 2,
  7986. "tagName": "p",
  7987. "attributes": {},
  7988. "childNodes": [
  7989. {
  7990. "type": 3,
  7991. "textContent": "\nIf there is a piece of code\nand you wish to have it written, finished\nor fixed by others, there are plenty of\navenues to achieve that. For a modest amount of\nmoney, you can get most IT work completed (or done)\nthrough a number of internet based outsourcing\ncompanies.\nThat is what such companies specialize in.",
  7992. "id": 349
  7993. }
  7994. ],
  7995. "id": 348
  7996. },
  7997. {
  7998. "type": 3,
  7999. "textContent": "\n",
  8000. "id": 350
  8001. },
  8002. {
  8003. "type": 2,
  8004. "tagName": "p",
  8005. "attributes": {},
  8006. "childNodes": [
  8007. {
  8008. "type": 3,
  8009. "textContent": "Free forums are for\npeople to learn.",
  8010. "id": 352
  8011. }
  8012. ],
  8013. "id": 351
  8014. },
  8015. {
  8016. "type": 3,
  8017. "textContent": "\n",
  8018. "id": 353
  8019. },
  8020. {
  8021. "type": 2,
  8022. "tagName": "p",
  8023. "attributes": {},
  8024. "childNodes": [
  8025. {
  8026. "type": 3,
  8027. "textContent": "Having said that:\n",
  8028. "id": 355
  8029. }
  8030. ],
  8031. "id": 354
  8032. },
  8033. {
  8034. "type": 3,
  8035. "textContent": "\n",
  8036. "id": 356
  8037. },
  8038. {
  8039. "type": 2,
  8040. "tagName": "p",
  8041. "attributes": {},
  8042. "childNodes": [
  8043. {
  8044. "type": 3,
  8045. "textContent": "\nLet us assume you are indeed genuine\nin your learning, you have a huge, complex system\nwith an occasional, unpredictable bug, and you\n",
  8046. "id": 358
  8047. },
  8048. {
  8049. "type": 2,
  8050. "tagName": "em",
  8051. "attributes": {},
  8052. "childNodes": [
  8053. {
  8054. "type": 3,
  8055. "textContent": "have",
  8056. "id": 360
  8057. }
  8058. ],
  8059. "id": 359
  8060. },
  8061. {
  8062. "type": 3,
  8063. "textContent": " searched the FAQ & Group,\nstudied the manual or documentation and not\nproduced an answer.\n",
  8064. "id": 361
  8065. }
  8066. ],
  8067. "id": 357
  8068. },
  8069. {
  8070. "type": 3,
  8071. "textContent": "\n",
  8072. "id": 362
  8073. },
  8074. {
  8075. "type": 2,
  8076. "tagName": "p",
  8077. "attributes": {},
  8078. "childNodes": [
  8079. {
  8080. "type": 3,
  8081. "textContent": "\nFeel free to describe the problem to the\ngroup; perhaps it is a basic\nmisunderstanding on your part\nthat can easily be cleared up.\n",
  8082. "id": 364
  8083. }
  8084. ],
  8085. "id": 363
  8086. },
  8087. {
  8088. "type": 3,
  8089. "textContent": "\n",
  8090. "id": 365
  8091. },
  8092. {
  8093. "type": 2,
  8094. "tagName": "p",
  8095. "attributes": {},
  8096. "childNodes": [
  8097. {
  8098. "type": 2,
  8099. "tagName": "b",
  8100. "attributes": {},
  8101. "childNodes": [
  8102. {
  8103. "type": 2,
  8104. "tagName": "a",
  8105. "attributes": {
  8106. "id": "compulsory",
  8107. "rel": "nofollow"
  8108. },
  8109. "childNodes": [
  8110. {
  8111. "type": 3,
  8112. "textContent": "We",
  8113. "id": 369
  8114. }
  8115. ],
  8116. "id": 368
  8117. },
  8118. {
  8119. "type": 2,
  8120. "tagName": "a",
  8121. "attributes": {
  8122. "id": "every",
  8123. "rel": "nofollow"
  8124. },
  8125. "childNodes": [],
  8126. "id": 370
  8127. },
  8128. {
  8129. "type": 3,
  8130. "textContent": " are not proposing that every single\nproblem needs a SSCCE in order to be\nsolved. We are also not suggesting an\nexample is, or should be, compulsory.",
  8131. "id": 371
  8132. }
  8133. ],
  8134. "id": 367
  8135. }
  8136. ],
  8137. "id": 366
  8138. },
  8139. {
  8140. "type": 3,
  8141. "textContent": "\n",
  8142. "id": 372
  8143. },
  8144. {
  8145. "type": 2,
  8146. "tagName": "p",
  8147. "attributes": {},
  8148. "childNodes": [
  8149. {
  8150. "type": 3,
  8151. "textContent": "It will, however, make people\nmuch ",
  8152. "id": 374
  8153. },
  8154. {
  8155. "type": 2,
  8156. "tagName": "em",
  8157. "attributes": {},
  8158. "childNodes": [
  8159. {
  8160. "type": 3,
  8161. "textContent": "more likely to help",
  8162. "id": 376
  8163. }
  8164. ],
  8165. "id": 375
  8166. },
  8167. {
  8168. "type": 3,
  8169. "textContent": ", and will\ntherefore ",
  8170. "id": 377
  8171. },
  8172. {
  8173. "type": 2,
  8174. "tagName": "em",
  8175. "attributes": {},
  8176. "childNodes": [
  8177. {
  8178. "type": 3,
  8179. "textContent": "increase the chance of\nfinding a solution",
  8180. "id": 379
  8181. }
  8182. ],
  8183. "id": 378
  8184. },
  8185. {
  8186. "type": 3,
  8187. "textContent": ".",
  8188. "id": 380
  8189. }
  8190. ],
  8191. "id": 373
  8192. },
  8193. {
  8194. "type": 3,
  8195. "textContent": "\n\n\n",
  8196. "id": 381
  8197. },
  8198. {
  8199. "type": 2,
  8200. "tagName": "div",
  8201. "attributes": {
  8202. "class": "centerFooter"
  8203. },
  8204. "childNodes": [
  8205. {
  8206. "type": 3,
  8207. "textContent": "\nWeb hosting compliments of\n",
  8208. "id": 383
  8209. },
  8210. {
  8211. "type": 2,
  8212. "tagName": "a",
  8213. "attributes": {
  8214. "href": "http://evolutionhosting.com/pub/evolution.jsp"
  8215. },
  8216. "childNodes": [
  8217. {
  8218. "type": 3,
  8219. "textContent": "Evolution Hosting",
  8220. "id": 385
  8221. }
  8222. ],
  8223. "id": 384
  8224. },
  8225. {
  8226. "type": 3,
  8227. "textContent": " and ",
  8228. "id": 386
  8229. },
  8230. {
  8231. "type": 2,
  8232. "tagName": "a",
  8233. "attributes": {
  8234. "href": "https://coderanch.com/"
  8235. },
  8236. "childNodes": [
  8237. {
  8238. "type": 3,
  8239. "textContent": "CodeRanch",
  8240. "id": 388
  8241. }
  8242. ],
  8243. "id": 387
  8244. },
  8245. {
  8246. "type": 3,
  8247. "textContent": ".",
  8248. "id": 389
  8249. },
  8250. {
  8251. "type": 2,
  8252. "tagName": "br",
  8253. "attributes": {},
  8254. "childNodes": [],
  8255. "id": 390
  8256. },
  8257. {
  8258. "type": 3,
  8259. "textContent": "\n",
  8260. "id": 391
  8261. }
  8262. ],
  8263. "id": 382
  8264. },
  8265. {
  8266. "type": 3,
  8267. "textContent": "\n\n\n\n\n",
  8268. "id": 392
  8269. },
  8270. {
  8271. "type": 2,
  8272. "tagName": "script",
  8273. "attributes": {
  8274. "type": "text/javascript",
  8275. "charset": "utf-8"
  8276. },
  8277. "childNodes": [
  8278. {
  8279. "type": 3,
  8280. "textContent": "SCRIPT_PLACEHOLDER",
  8281. "id": 394
  8282. }
  8283. ],
  8284. "id": 393
  8285. },
  8286. {
  8287. "type": 3,
  8288. "textContent": "\n\n\n\n\n\n",
  8289. "id": 395
  8290. }
  8291. ],
  8292. "id": 27
  8293. }
  8294. ],
  8295. "id": 3
  8296. }
  8297. ],
  8298. "id": 1
  8299. },
  8300. "initialOffset": {
  8301. "left": 0,
  8302. "top": 0
  8303. }
  8304. },
  8305. "timestamp": 1568367268700
  8306. }
  8307. ]
  8308. }
RAW Paste Data