From cd054d3437f57ed32e9022be03d60a0b625474d2 Mon Sep 17 00:00:00 2001 From: turtle89431 Date: Tue, 5 May 2026 04:40:22 -0700 Subject: [PATCH] Scrape wikipedia-science: 10277 new, 3589 updated, 14227 total (kb-cron) --- _index.db | Bin 101191680 -> 101257216 bytes data/en.wikipedia.org/wiki/RFPolicy-0.md | 21 ++ data/en.wikipedia.org/wiki/ROAM-0.md | 24 ++ .../wiki/Replicator_(cellular_automaton)-0.md | 22 ++ .../wiki/Resource_contention-0.md | 26 ++ .../wiki/Retrenchment_(computing)-0.md | 16 + .../en.wikipedia.org/wiki/Reverse_lookup-0.md | 24 ++ .../wiki/Room_synchronization-0.md | 22 ++ .../wiki/Rough_fuzzy_hybridization-0.md | 16 + .../wiki/Row_data_gateway-0.md | 14 + .../wiki/Run-to-completion_scheduling-0.md | 20 + data/en.wikipedia.org/wiki/SIGSAM-0.md | 28 ++ .../wiki/SPARQL_Syntax_Expressions-0.md | 25 ++ data/en.wikipedia.org/wiki/SSLIOP-0.md | 17 + data/en.wikipedia.org/wiki/STRIDE_model-0.md | 26 ++ data/en.wikipedia.org/wiki/Satplan-0.md | 27 ++ data/en.wikipedia.org/wiki/Scalable_TCP-0.md | 28 ++ .../wiki/Schema_evolution-0.md | 25 ++ ...mputer_Science,_University_of_Bristol-0.md | 52 +++ .../wiki/Secure_Operations_Language-0.md | 17 + .../wiki/Secure_environment-0.md | 25 ++ .../Security_Protocols_Open_Repository-0.md | 30 ++ .../wiki/Segment_descriptor-0.md | 162 ++++++++ .../Self-management_(computer_science)-0.md | 35 ++ .../wiki/Semantic_URL_attack-0.md | 35 ++ .../wiki/Semantic_computing-0.md | 41 ++ .../wiki/Semantic_dictionary_encoding-0.md | 26 ++ .../wiki/Semantic_resolution_tree-0.md | 14 + .../en.wikipedia.org/wiki/Semantometrics-0.md | 18 + ...-oriented_development_of_applications-0.md | 27 ++ .../wiki/Services_computing-0.md | 26 ++ data/en.wikipedia.org/wiki/Session_type-0.md | 170 +++++++++ data/en.wikipedia.org/wiki/Sign_bit-0.md | 35 ++ .../wiki/Simple_HTML_Ontology_Extensions-0.md | 31 ++ .../wiki/Single-user_mode-0.md | 30 ++ .../wiki/Single_pushout_graph_rewriting-0.md | 18 + .../wiki/Single_version_of_the_truth-0.md | 39 ++ .../wiki/Skin_friction_line-0.md | 23 ++ .../wiki/Snapshot_algorithm-0.md | 26 ++ .../wiki/SoftWare_Hash_IDentifier-0.md | 44 +++ data/en.wikipedia.org/wiki/Soft_state-0.md | 20 + .../wiki/Software_metering-0.md | 32 ++ data/en.wikipedia.org/wiki/Spacefiller-0.md | 15 + data/en.wikipedia.org/wiki/SpatiaLite-0.md | 52 +++ .../wiki/Speedup_theorem-0.md | 22 ++ .../Spoiler_(security_vulnerability)-0.md | 41 ++ .../en.wikipedia.org/wiki/Stable_storage-0.md | 21 ++ .../wiki/Stochastic_probe-0.md | 14 + data/en.wikipedia.org/wiki/Stooge_sort-0.md | 81 ++++ .../wiki/Storage_violation-0.md | 51 +++ .../wiki/Strangler_fig_pattern-0.md | 34 ++ .../Streamlet_(scientific_visualization)-0.md | 14 + data/en.wikipedia.org/wiki/Streamsurface-0.md | 18 + .../wiki/Stride_scheduling-0.md | 17 + .../wiki/Structured_content-0.md | 19 + .../wiki/Stutter_bisimulation-0.md | 357 ++++++++++++++++++ .../wiki/Summer_School_Marktoberdorf-0.md | 30 ++ data/en.wikipedia.org/wiki/SureType-0.md | 22 ++ data/en.wikipedia.org/wiki/Surfel-0.md | 20 + data/en.wikipedia.org/wiki/SxS-0.md | 29 ++ .../wiki/Symbolic_simulation-0.md | 21 ++ .../wiki/Symbolic_trajectory_evaluation-0.md | 15 + ...elism_in_Algorithms_and_Architectures-0.md | 29 ++ .../wiki/Synchronous_Data_Flow-0.md | 36 ++ .../wiki/Syntactic_noise-0.md | 14 + .../wiki/Syntax_Definition_Formalism-0.md | 68 ++++ .../wiki/System_Fault_Tolerance-0.md | 20 + .../wiki/System_migration-0.md | 26 ++ .../en.wikipedia.org/wiki/System_on_TPTP-0.md | 16 + .../wiki/Table_data_gateway-0.md | 14 + .../wiki/Technical_informatics-0.md | 29 ++ data/en.wikipedia.org/wiki/Tensor_glyph-0.md | 38 ++ data/en.wikipedia.org/wiki/Test_bench-0.md | 23 ++ .../wiki/Texture_advection-0.md | 30 ++ .../wiki/Theory_of_regions-0.md | 119 ++++++ .../wiki/Thomas_write_rule-0.md | 219 +++++++++++ .../en.wikipedia.org/wiki/Thought_vector-0.md | 14 + .../wiki/Timer_coalescing-0.md | 24 ++ .../wiki/Tombstone_diagram-0.md | 19 + .../wiki/Trace-based_simulation-0.md | 21 ++ .../wiki/Transaction_data-0.md | 35 ++ .../Transit_route_network_design_problem-0.md | 20 + .../wiki/Traversed_edges_per_second-0.md | 24 ++ .../wiki/Trellis_quantization-0.md | 17 + .../wiki/Truncation_selection-0.md | 31 ++ data/en.wikipedia.org/wiki/Turing_Talk-0.md | 48 +++ .../wiki/Turnaround_document-0.md | 15 + .../wiki/Twin_vector_quantization-0.md | 15 + .../wiki/Two-level_scheduling-0.md | 23 ++ data/en.wikipedia.org/wiki/Type_erasure-0.md | 28 ++ .../wiki/Typed_assembly_language-0.md | 24 ++ .../wiki/Unidirectional_data_flow-0.md | 26 ++ .../wiki/Uniform_consensus-0.md | 21 ++ .../wiki/VCN_ExecuVision-0.md | 15 + .../wiki/VICAR_file_format-0.md | 19 + data/en.wikipedia.org/wiki/Variadic-0.md | 22 ++ .../Verification_condition_generator-0.md | 15 + .../Very_high-level_programming_language-0.md | 25 ++ .../wiki/Video_imprint_(computer_vision)-0.md | 20 + .../wiki/Virtual_Object_System-0.md | 16 + .../wiki/Virtual_environment-0.md | 15 + 101 files changed, 3483 insertions(+) create mode 100644 data/en.wikipedia.org/wiki/RFPolicy-0.md create mode 100644 data/en.wikipedia.org/wiki/ROAM-0.md create mode 100644 data/en.wikipedia.org/wiki/Replicator_(cellular_automaton)-0.md create mode 100644 data/en.wikipedia.org/wiki/Resource_contention-0.md create mode 100644 data/en.wikipedia.org/wiki/Retrenchment_(computing)-0.md create mode 100644 data/en.wikipedia.org/wiki/Reverse_lookup-0.md create mode 100644 data/en.wikipedia.org/wiki/Room_synchronization-0.md create mode 100644 data/en.wikipedia.org/wiki/Rough_fuzzy_hybridization-0.md create mode 100644 data/en.wikipedia.org/wiki/Row_data_gateway-0.md create mode 100644 data/en.wikipedia.org/wiki/Run-to-completion_scheduling-0.md create mode 100644 data/en.wikipedia.org/wiki/SIGSAM-0.md create mode 100644 data/en.wikipedia.org/wiki/SPARQL_Syntax_Expressions-0.md create mode 100644 data/en.wikipedia.org/wiki/SSLIOP-0.md create mode 100644 data/en.wikipedia.org/wiki/STRIDE_model-0.md create mode 100644 data/en.wikipedia.org/wiki/Satplan-0.md create mode 100644 data/en.wikipedia.org/wiki/Scalable_TCP-0.md create mode 100644 data/en.wikipedia.org/wiki/Schema_evolution-0.md create mode 100644 data/en.wikipedia.org/wiki/School_of_Computer_Science,_University_of_Bristol-0.md create mode 100644 data/en.wikipedia.org/wiki/Secure_Operations_Language-0.md create mode 100644 data/en.wikipedia.org/wiki/Secure_environment-0.md create mode 100644 data/en.wikipedia.org/wiki/Security_Protocols_Open_Repository-0.md create mode 100644 data/en.wikipedia.org/wiki/Segment_descriptor-0.md create mode 100644 data/en.wikipedia.org/wiki/Self-management_(computer_science)-0.md create mode 100644 data/en.wikipedia.org/wiki/Semantic_URL_attack-0.md create mode 100644 data/en.wikipedia.org/wiki/Semantic_computing-0.md create mode 100644 data/en.wikipedia.org/wiki/Semantic_dictionary_encoding-0.md create mode 100644 data/en.wikipedia.org/wiki/Semantic_resolution_tree-0.md create mode 100644 data/en.wikipedia.org/wiki/Semantometrics-0.md create mode 100644 data/en.wikipedia.org/wiki/Service-oriented_development_of_applications-0.md create mode 100644 data/en.wikipedia.org/wiki/Services_computing-0.md create mode 100644 data/en.wikipedia.org/wiki/Session_type-0.md create mode 100644 data/en.wikipedia.org/wiki/Sign_bit-0.md create mode 100644 data/en.wikipedia.org/wiki/Simple_HTML_Ontology_Extensions-0.md create mode 100644 data/en.wikipedia.org/wiki/Single-user_mode-0.md create mode 100644 data/en.wikipedia.org/wiki/Single_pushout_graph_rewriting-0.md create mode 100644 data/en.wikipedia.org/wiki/Single_version_of_the_truth-0.md create mode 100644 data/en.wikipedia.org/wiki/Skin_friction_line-0.md create mode 100644 data/en.wikipedia.org/wiki/Snapshot_algorithm-0.md create mode 100644 data/en.wikipedia.org/wiki/SoftWare_Hash_IDentifier-0.md create mode 100644 data/en.wikipedia.org/wiki/Soft_state-0.md create mode 100644 data/en.wikipedia.org/wiki/Software_metering-0.md create mode 100644 data/en.wikipedia.org/wiki/Spacefiller-0.md create mode 100644 data/en.wikipedia.org/wiki/SpatiaLite-0.md create mode 100644 data/en.wikipedia.org/wiki/Speedup_theorem-0.md create mode 100644 data/en.wikipedia.org/wiki/Spoiler_(security_vulnerability)-0.md create mode 100644 data/en.wikipedia.org/wiki/Stable_storage-0.md create mode 100644 data/en.wikipedia.org/wiki/Stochastic_probe-0.md create mode 100644 data/en.wikipedia.org/wiki/Stooge_sort-0.md create mode 100644 data/en.wikipedia.org/wiki/Storage_violation-0.md create mode 100644 data/en.wikipedia.org/wiki/Strangler_fig_pattern-0.md create mode 100644 data/en.wikipedia.org/wiki/Streamlet_(scientific_visualization)-0.md create mode 100644 data/en.wikipedia.org/wiki/Streamsurface-0.md create mode 100644 data/en.wikipedia.org/wiki/Stride_scheduling-0.md create mode 100644 data/en.wikipedia.org/wiki/Structured_content-0.md create mode 100644 data/en.wikipedia.org/wiki/Stutter_bisimulation-0.md create mode 100644 data/en.wikipedia.org/wiki/Summer_School_Marktoberdorf-0.md create mode 100644 data/en.wikipedia.org/wiki/SureType-0.md create mode 100644 data/en.wikipedia.org/wiki/Surfel-0.md create mode 100644 data/en.wikipedia.org/wiki/SxS-0.md create mode 100644 data/en.wikipedia.org/wiki/Symbolic_simulation-0.md create mode 100644 data/en.wikipedia.org/wiki/Symbolic_trajectory_evaluation-0.md create mode 100644 data/en.wikipedia.org/wiki/Symposium_on_Parallelism_in_Algorithms_and_Architectures-0.md create mode 100644 data/en.wikipedia.org/wiki/Synchronous_Data_Flow-0.md create mode 100644 data/en.wikipedia.org/wiki/Syntactic_noise-0.md create mode 100644 data/en.wikipedia.org/wiki/Syntax_Definition_Formalism-0.md create mode 100644 data/en.wikipedia.org/wiki/System_Fault_Tolerance-0.md create mode 100644 data/en.wikipedia.org/wiki/System_migration-0.md create mode 100644 data/en.wikipedia.org/wiki/System_on_TPTP-0.md create mode 100644 data/en.wikipedia.org/wiki/Table_data_gateway-0.md create mode 100644 data/en.wikipedia.org/wiki/Technical_informatics-0.md create mode 100644 data/en.wikipedia.org/wiki/Tensor_glyph-0.md create mode 100644 data/en.wikipedia.org/wiki/Test_bench-0.md create mode 100644 data/en.wikipedia.org/wiki/Texture_advection-0.md create mode 100644 data/en.wikipedia.org/wiki/Theory_of_regions-0.md create mode 100644 data/en.wikipedia.org/wiki/Thomas_write_rule-0.md create mode 100644 data/en.wikipedia.org/wiki/Thought_vector-0.md create mode 100644 data/en.wikipedia.org/wiki/Timer_coalescing-0.md create mode 100644 data/en.wikipedia.org/wiki/Tombstone_diagram-0.md create mode 100644 data/en.wikipedia.org/wiki/Trace-based_simulation-0.md create mode 100644 data/en.wikipedia.org/wiki/Transaction_data-0.md create mode 100644 data/en.wikipedia.org/wiki/Transit_route_network_design_problem-0.md create mode 100644 data/en.wikipedia.org/wiki/Traversed_edges_per_second-0.md create mode 100644 data/en.wikipedia.org/wiki/Trellis_quantization-0.md create mode 100644 data/en.wikipedia.org/wiki/Truncation_selection-0.md create mode 100644 data/en.wikipedia.org/wiki/Turing_Talk-0.md create mode 100644 data/en.wikipedia.org/wiki/Turnaround_document-0.md create mode 100644 data/en.wikipedia.org/wiki/Twin_vector_quantization-0.md create mode 100644 data/en.wikipedia.org/wiki/Two-level_scheduling-0.md create mode 100644 data/en.wikipedia.org/wiki/Type_erasure-0.md create mode 100644 data/en.wikipedia.org/wiki/Typed_assembly_language-0.md create mode 100644 data/en.wikipedia.org/wiki/Unidirectional_data_flow-0.md create mode 100644 data/en.wikipedia.org/wiki/Uniform_consensus-0.md create mode 100644 data/en.wikipedia.org/wiki/VCN_ExecuVision-0.md create mode 100644 data/en.wikipedia.org/wiki/VICAR_file_format-0.md create mode 100644 data/en.wikipedia.org/wiki/Variadic-0.md create mode 100644 data/en.wikipedia.org/wiki/Verification_condition_generator-0.md create mode 100644 data/en.wikipedia.org/wiki/Very_high-level_programming_language-0.md create mode 100644 data/en.wikipedia.org/wiki/Video_imprint_(computer_vision)-0.md create mode 100644 data/en.wikipedia.org/wiki/Virtual_Object_System-0.md create mode 100644 data/en.wikipedia.org/wiki/Virtual_environment-0.md diff --git a/_index.db b/_index.db index 1dc2fbdc1825374f51428eedd2f11ca195c66bd3..349700875684b573d498c3cebc3204a7f8aa8982 100644 GIT binary patch delta 248067 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

C}SUW2q>X=b`b6#3@GmiHF2sI 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

UTNE*Y-snM<}; zCIh@zOAIB+E%rgeuckfd>6YLqD0veQJ;45~mids+x6S)FswkW&9HxmmyJ;+q-t6dF zgT39YpA1=_vq-mRU89u;qOwu7bSzxSa(6DPs%K;K`E6dBS7u#u6l^z{ zNraO-(79|Ph=8cO{Y1_frT9O^&@|JgHTmAZiH?^RMibR8mrf=HniztRI?zLDxVqG2 z@9MhGb5p0>V)=H`_aB+V)JzUbxY>zfueu;9ifP^ozjdK*Cuw#iBcvpYWA>l;@PloK>wj8|+id7Cl$X zkm0lOWXrUKp$Nz^n8Thx3-#~xfNjA(pLcBf9x3xq{yK^kO{7KdCeF~rLt|ZM0*Mj2 zebMYrc5_17kUWn9?Sp=xgc@K^3nP3-G%v*s&lz|H$&WF1JV1~$1lBJv2HVSJ-j)2> zF9l}H6Un*Y;v;mqnwnsAy=+`cylJ7}M?ntz*On{`wHA;v6U}!fP=4GahV4#lGree# z);oi|@w9VUo&Q~9YM4Hy$!j*d-f=lIe1DnYt9xeQ-jVauFja0fU}+Y(%9};>?t8_p zw#$wXd`--j3t_v@_eI3pfw}QIHasKTi4N+$vVMd9V+PvOm`KUA;kdMbn??TBaWlYd zZTUI~lnc@=E$2h~dwW|Bhz|YYz2Y|VN&Js>X-m1ur8wb{u1|n_t%in;Lf*!`4uL?i zrZikMj&@FHJuS&Y;^9j}v7+bWuwH7>+iVZIJ4!nx>)K-!o(to8wOJmjPNA`f@nl4> zXr&*Pmd4A&l_7L+w0OMz;Xz&yR)@l7twtHTBrcV)CSY$M27n@VW$Xl1q68SO+MwJW zrRuo3lbJC9di{8`pE6}%x#3Y5Kzs^{Wr zog{#W$zg=B3K=^H(&ul-+rM`H;_d$1!attm6CW!;11rG4iwkL)HuhcOS$8LpbN|7;t;?j6Qf4I zNd%?yzNHAY1f!+Ktdp*9V0f^sNipoNzw-@)SLH_qy@5rkpKWpl#pA`EF38{{^e~cE zwCFSA^(VEgQE0pqOB3NMt$6vRIOugj{Ecr#GDueeFGfX>XRL|m&TMtz#Nx5zCyp&G z9HJl4;ibdr@TW1|%djDYcoAg9(6vFIU3O`PMwW_RR(bP14SG4`hh(^6PDo5Z!1DRM z62~?3b6G4EPu=VU+h@Hzq*RI1>;#;w-x#kH0@5g$vaM(~Id8HuLxY1kFUw0)qovP5>RGrXh<932!LOkTj>@IiY`hE3UV1KC{Jw*6(6_t#_>@ zZeKu|FfL~VJFhM8A8|C%?sQWf;jUc2Ua&8jSPWVV1!HHDkBUYpbv5K+b&-^#lShQ! z#a6wM*i5E0jhP(XzNWgoF0fOZGoSjJL|2HJqQ1?V_FCZZlVoBeI)bl*5))-5GNQqwURdBPN7@$oBEv_&u#gla~!Uhe)Y zm&+wfXBaT@%Vc!7j! zXY|fJPK7r>>;&8(wV!FLV~ktlC@w2HJX4L<>_uAV26~uT4>ihb#Nu@eq1JZq71l3w zi#~=cK{U6%cf{rq+b|T4$m^4+3{Oe~TOP$^Wtw79Mr+7&e0pa~ zw9c+?xi^G-;{)MQN8R=d)GQ+yMiw;9ZN|%rlIzkUS|&4Gof58`)izT4R~gh!c{L&x zdl5851&0y}B?v>RyKTt7Y_R-2gFLW_L{j2rE4;Yam)R^G2&z= zzNHca%uJxxpFlNBF?2#{Q7n&2XV7P3}Wg)J6(>Rro zn{vVeBS9d%L#nhcKM{N;{S$i1EE6x9TH2wQ-q(Y`5z!qGR6&~>=(bH$K=vf-0jZ8K z-7*rTyKfZl5cW+v%uDQ#mGaT}Zqm#jCq?&hGnfO#tWV`)($p-f1X=;~l22EH@Tzp1 zY`FnF$Yk5aVk75=6sHNIv06k5SW(8TeIxXPZOg;i*`2Qp&lJkzSb;Lx0x^)eC@d7i zTrH>-I#^JovK1SJ!bn38mV>;^vBTi!SkNsex$#CPr!NYN)qH7MBetX3Sg~H7w@mDU zCR3X;&nk^_Gw;`7CLK0269xn{1|dzPfn=S(`4x`&GM0&Ooiz5J5s8`BxeGYGyP+&DWX)wAgONk85_F+d;FO3y~R-7*e$BPx6%7YYaQ;Xv*j(SMK%RfP zwt;ddrmICL9!2YugJ6-7;l_i@UcDzN6n*@a_VD#ULuAW21He__ykuo)-oEs zl4`^&^m#17yuGd2H5I5GBj{v(RjzXfdd{emQ2B<4<)-lLrEd-;4PsF-Ljucw_JH=W z_K7g>iHPCeNwVrdP;;<9Bv``CO=77XUnY}8qjqe+L|_RpXXk8cGik|nf%wgu20SOM z7|rwVD_xNQgzaNs%^+Qfg_w`bz`v}%E|d2>m8Y}AyUM9lv#W)(cI z!fLq=Ys*{Vv-OYrdn0);MSI8mK-XSlkejk&9oT0^U1gl@o^t%h;LNJTBbUqPf8R0; z@)fKx4~c>r(2@lllU5yIoxzqB9CTk<9A@}ym`@gLR|<`&w#O z>oq}xZe zc(h!_r5?3wv^Q_WSPf`kUM;nVv2Vn+iF%8ic+&Wzc&O3jF%s}g@mMnqqp2$D{rUd+ z>Ih%9!){!vjfCa!dDJSEhHE7}_@xFqdep$I(3xtN8KY4fu9o;K#f_sR3Ph9TDiHz1 z1eB<4PkjF{iasUq<3`C8`uN3;_{A?hs$Kp!|4V0KGV>%z{+PF%{J`JwbA88-?48O2 zL8r2}ISU(LVEX8L<^7A&0choS0~&s{HAyX%tsIH^7*&?Nsl9g8Dm-<=ajWW0gp?(i_jJQjhg$kX(1hEkQKIsERol z$p06M(7G%*^TKhFoo|hi(z%8Gw$!+}hq|7&Dk0{4yOQDa9ZSf(yuGsm!uIQg9W+ea zLm-5_t77l7OdJdpGF=;_)9Cq0t?A8Q;&W0RAbr?< qArt(8cZh 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 diff --git a/data/en.wikipedia.org/wiki/RFPolicy-0.md b/data/en.wikipedia.org/wiki/RFPolicy-0.md new file mode 100644 index 000000000..c67fab044 --- /dev/null +++ b/data/en.wikipedia.org/wiki/RFPolicy-0.md @@ -0,0 +1,21 @@ +--- +title: "RFPolicy" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/RFPolicy" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:24.396199+00:00" +instance: "kb-cron" +--- + +The RFPolicy outlines a method for contacting vendors about security vulnerabilities found in their products. It was initially written in 2000 by hacker and security consultant Rain Forest Puppy. It was perhaps the second disclosure policy, following Simple Nomad's. +The policy gives the vendor five working days to respond to the reporter of the bug. If the vendor fails to contact the reporter within those five days, the issue is recommended to be disclosed to the general community. The reporter should help the vendor reproduce the bug and work out a fix. The reporter should delay notifying the general community about the bug if the vendor provides feasible reasons for requiring so. +If the vendor fails to respond or shuts down communication with the reporter of the problem within five working days, the reporter should disclose the issue to the general community. When issuing an alert or fix, the vendor should give the reporter proper credit for reporting the bug. +Context for the history of vulnerability disclosure is available in a history article. + + +== References == + + +== External links == +RFPolicy v2.0 \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/ROAM-0.md b/data/en.wikipedia.org/wiki/ROAM-0.md new file mode 100644 index 000000000..7ab248a70 --- /dev/null +++ b/data/en.wikipedia.org/wiki/ROAM-0.md @@ -0,0 +1,24 @@ +--- +title: "ROAM" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/ROAM" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:25.584232+00:00" +instance: "kb-cron" +--- + +In 3D computer graphics and solid modeling, real-time optimally adapting mesh (ROAM) is a continuous level of detail algorithm that optimizes terrain meshes. On modern computers, sometimes it is more effective to send a small amount of unneeded polygons to the GPU, rather than burden the CPU with LOD (Level of Detail) calculations—making algorithms like geomipmapping more effective than ROAM. This technique is used by graphics programmers +in order to produce high quality displays while being able to maintain real-time frame rates. Algorithms such as ROAM exist to provide a control over scene quality versus performance in order to provide HQ scenes while retaining real-time frame rates on hardware. ROAM largely aims toward terrain visualization, but various elements from ROAM are difficult to place within a game system. +To assist regional geological mapping, more abundant and visualized expression forms are highly needs. Thus, the 3D terrain model is adopted as the carrier for the demands in many correlative fields. Based on the regular grid DEM (Digital Elevation Model) in DRGS, ROAM algorithm is applied to create a more dynamic model, which will give consideration to the importance of different features and select correspondence level of detail. +The algorithm was introduced in a paper in the Proceedings of IEEE Visualization 1997 by M. Duchaineau and others. + + +== References == + + +== External links == +ROAM:Terrain Visualization in Games +ROAM homepage +ROAM white paper (PDF) +Fast Terrain Rendering using Geometrical Mipmapping Willem H. de Boer \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Replicator_(cellular_automaton)-0.md b/data/en.wikipedia.org/wiki/Replicator_(cellular_automaton)-0.md new file mode 100644 index 000000000..e0a31385c --- /dev/null +++ b/data/en.wikipedia.org/wiki/Replicator_(cellular_automaton)-0.md @@ -0,0 +1,22 @@ +--- +title: "Replicator (cellular automaton)" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Replicator_(cellular_automaton)" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:19.585345+00:00" +instance: "kb-cron" +--- + +In cellular automata, a replicator is a pattern that produces copies of itself. +In the one-dimensional Rule 90 cellular automaton, every pattern is a replicator. The same is true in the life-like cellular automaton rule Replicator (B1357/S1357). +Highlife (B36/S23) rule has a simple replicator. +On November 23, 2013, Dave Greene built the first replicator in Conway's Game of Life (B3/S23). + + +== References == + + +== External links == +Cellular Automata: Replicators +Life lexicon: replicator \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Resource_contention-0.md b/data/en.wikipedia.org/wiki/Resource_contention-0.md new file mode 100644 index 000000000..04caea639 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Resource_contention-0.md @@ -0,0 +1,26 @@ +--- +title: "Resource contention" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Resource_contention" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:20.841160+00:00" +instance: "kb-cron" +--- + +In computer science, resource contention is a conflict over access to a shared resource such as random access memory, disk storage, cache memory, internal buses or external network devices. A resource experiencing ongoing contention can be described as oversubscribed. +Resolving resource contention problems is one of the basic functions of operating systems. Various low-level mechanisms can be used to aid this, including locks, semaphores, mutexes and queues. The other techniques that can be applied by the operating systems include intelligent scheduling, application mapping decisions, and page coloring. +Access to resources is also sometimes regulated by queuing; in the case of computing time on a CPU the controlling algorithm of the task queue is called a scheduler. +Failure to properly resolve resource contention problems may result in a number of problems, including deadlock, livelock, and thrashing. +Resource contention results when multiple processes attempt to use the same shared resource. Access to memory areas is often controlled by semaphores, which allows a pathological situation called a deadlock, when different threads or processes try to allocate resources already allocated by each other. A deadlock usually leads to a program becoming partially or completely unresponsive. +In recent years, research on the contention is focused more on the resources in the memory hierarchy, e.g., last-level caches, front-side bus, and memory socket connection. + + +== See also == +Bus contention +Cache coherence +Collision avoidance (networking) +Resource allocation + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Retrenchment_(computing)-0.md b/data/en.wikipedia.org/wiki/Retrenchment_(computing)-0.md new file mode 100644 index 000000000..71d5dba80 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Retrenchment_(computing)-0.md @@ -0,0 +1,16 @@ +--- +title: "Retrenchment (computing)" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Retrenchment_(computing)" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:22.021054+00:00" +instance: "kb-cron" +--- + +Retrenchment is a technique associated with formal methods that was introduced to address some of the perceived limitations of formal, model based refinement, for situations in which refinement might be regarded as desirable in principle, but turned out to be unusable, or nearly unusable, in practice. It was primarily developed at the School of Computer Science, University of Manchester. The most up to date perspective is in the ACM TOSEM article below. + + +== External links == +The Retrenchment Homepage +R. Banach, Graded Refinement, Retrenchment and Simulation, ACM Trans. Soft. Eng. Meth., 32, 1-69 (2023) \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Reverse_lookup-0.md b/data/en.wikipedia.org/wiki/Reverse_lookup-0.md new file mode 100644 index 000000000..541cd14f2 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Reverse_lookup-0.md @@ -0,0 +1,24 @@ +--- +title: "Reverse lookup" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Reverse_lookup" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:23.196965+00:00" +instance: "kb-cron" +--- + +Reverse lookup is a procedure of using a value to retrieve a unique key in an associative array. +Applications of reverse lookup include + +reverse DNS lookup, which provides the domain name associated with a particular IP address, +reverse telephone directory, which provides the name of the entity associated with a particular telephone number, +reverse image search, which provides similar images to the one provided. + + +== See also == +Inverse function +Reverse dictionary + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Room_synchronization-0.md b/data/en.wikipedia.org/wiki/Room_synchronization-0.md new file mode 100644 index 000000000..cd362122e --- /dev/null +++ b/data/en.wikipedia.org/wiki/Room_synchronization-0.md @@ -0,0 +1,22 @@ +--- +title: "Room synchronization" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Room_synchronization" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:26.816881+00:00" +instance: "kb-cron" +--- + +The room synchronization technique is a form of concurrency control in computer science. +The room synchronization problem involves supporting a set of m mutually exclusive "rooms" where any number of users can execute code simultaneously in a shared room (any one of them), but no two users can simultaneously execute code in separate rooms. +Room synchronization can be used to implement asynchronous parallel queues and stacks with constant time access (assuming a fetch-and-add operation). + + +== References == +G.E. Blelloch, P. Cheng, P.B. Gibbons, Room synchronizations, Annual ACM Symposium on Parallel Algorithms and Architectures 2001, 122–133 [1] + + +== See also == +Monitor (synchronization). +The Single Threaded Apartment Model in Microsoft's Component Object Model#Threading, as used by Visual Basic. \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Rough_fuzzy_hybridization-0.md b/data/en.wikipedia.org/wiki/Rough_fuzzy_hybridization-0.md new file mode 100644 index 000000000..39a9077cb --- /dev/null +++ b/data/en.wikipedia.org/wiki/Rough_fuzzy_hybridization-0.md @@ -0,0 +1,16 @@ +--- +title: "Rough fuzzy hybridization" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Rough_fuzzy_hybridization" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:28.018967+00:00" +instance: "kb-cron" +--- + +Rough fuzzy hybridization is a method of hybrid intelligent system or soft computing, where Fuzzy set theory is used for linguistic representation of patterns, leading to a fuzzy granulation of the feature space. Rough set theory is used to obtain dependency rules which model informative regions in the granulated feature space. + + +== External links == +Case generation +A textbook \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Row_data_gateway-0.md b/data/en.wikipedia.org/wiki/Row_data_gateway-0.md new file mode 100644 index 000000000..d413fcbc2 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Row_data_gateway-0.md @@ -0,0 +1,14 @@ +--- +title: "Row data gateway" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Row_data_gateway" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:29.195484+00:00" +instance: "kb-cron" +--- + +Row Data Gateway is a design pattern in which an object acts as a gateway to a single database row. + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Run-to-completion_scheduling-0.md b/data/en.wikipedia.org/wiki/Run-to-completion_scheduling-0.md new file mode 100644 index 000000000..ef3abedcf --- /dev/null +++ b/data/en.wikipedia.org/wiki/Run-to-completion_scheduling-0.md @@ -0,0 +1,20 @@ +--- +title: "Run-to-completion scheduling" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Run-to-completion_scheduling" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:30.349964+00:00" +instance: "kb-cron" +--- + +Run-to-completion scheduling or nonpreemptive scheduling is a scheduling model in which each task runs until it either finishes, or explicitly yields control back to the scheduler. Run-to-completion systems typically have an event queue which is serviced either in strict order of admission by an event loop, or by an admission scheduler which is capable of scheduling events out of order, based on other constraints such as deadlines. +Some preemptive multitasking scheduling systems behave as run-to-completion schedulers in regard to scheduling tasks at one particular process priority level, at the same time as those processes still preempt other lower priority tasks and are themselves preempted by higher priority tasks. + + +== See also == +Preemptive multitasking +Cooperative multitasking + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/SIGSAM-0.md b/data/en.wikipedia.org/wiki/SIGSAM-0.md new file mode 100644 index 000000000..e90af5ce0 --- /dev/null +++ b/data/en.wikipedia.org/wiki/SIGSAM-0.md @@ -0,0 +1,28 @@ +--- +title: "SIGSAM" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/SIGSAM" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:53.159000+00:00" +instance: "kb-cron" +--- + +SIGSAM is the ACM Special Interest Group on Symbolic and Algebraic Manipulation. It publishes the ACM Communications in Computer Algebra and often sponsors the International Symposium on Symbolic and Algebraic Computation (ISSAC). + + +== External links == +ACM Official SIGSAM web site +ISSAC 2009, Seoul, Korea +ISSAC 2008, ("RISC Linz"), Hagenberg, Austria +ISSAC 2007, Waterloo, Ontario +ISSAC 2006, Genoa +ISSAC 2005, Beijing +ISSAC 2004, Santander, Cantabria +ISSAC 2003, Philadelphia +ISSAC 2002, Lille +ISSAC 2001, London, Ontario +ISSAC 2000, St. Andrews +ISSAC 1999, Vancouver +ISSAC 1998, Rostock +ISSAC 1997, Maui \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/SPARQL_Syntax_Expressions-0.md b/data/en.wikipedia.org/wiki/SPARQL_Syntax_Expressions-0.md new file mode 100644 index 000000000..0199f707b --- /dev/null +++ b/data/en.wikipedia.org/wiki/SPARQL_Syntax_Expressions-0.md @@ -0,0 +1,25 @@ +--- +title: "SPARQL Syntax Expressions" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/SPARQL_Syntax_Expressions" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:06.429333+00:00" +instance: "kb-cron" +--- + +SPARQL Syntax Expressions (alternatively, SPARQL S-Expressions) is a parse tree (a.k.a. concrete syntax) for representing SPARQL Algebra expressions. + + +== Application == +They have been used to apply the BERT language model to create SPARQL queries from natural language questions. + + +== External links == +SPARQL Algebra in the W3C SPARQL Query Specification +SPARQL Syntax Expressions in the ARQ query engine +SPARQL Validator that can also print the Algebra expressions +SPARQL Syntax Expressions translations of the DAWG test suite Archived 2015-06-07 at the Wayback Machine + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/SSLIOP-0.md b/data/en.wikipedia.org/wiki/SSLIOP-0.md new file mode 100644 index 000000000..9069f5d99 --- /dev/null +++ b/data/en.wikipedia.org/wiki/SSLIOP-0.md @@ -0,0 +1,17 @@ +--- +title: "SSLIOP" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/SSLIOP" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:11.358145+00:00" +instance: "kb-cron" +--- + +In distributed computing, SSLIOP is an Internet Inter-ORB Protocol (IIOP) over Secure Sockets Layer (SSL), providing confidentiality and authentication. +As of January 2007, SSLIOP is implemented by (at least) TAO, JacORB, OpenORB [1], and MICO [2]. + + +== See also == +CSIv2 +SECIOP \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/STRIDE_model-0.md b/data/en.wikipedia.org/wiki/STRIDE_model-0.md new file mode 100644 index 000000000..515f76b1e --- /dev/null +++ b/data/en.wikipedia.org/wiki/STRIDE_model-0.md @@ -0,0 +1,26 @@ +--- +title: "STRIDE model" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/STRIDE_model" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:20.858005+00:00" +instance: "kb-cron" +--- + +STRIDE (Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, Elevation of privilege) is a threat model for identifying computer security threats. STRIDE modelling anticipates threats to the target system and builds upon an overarching model of the system often via analysis of data-flow diagrams, which may include a breakdown into processes, data stores, data flows, and trust boundaries. +Developed by Praerit Garg and Loren Kohnfelder at Microsoft, it provides a mnemonic for security threats in six categories. Each STRIDE category corresponds to a core principle of information security: Authenticity, Integrity, Non-repudiability, Confidentiality, Availability and Authorization. + + +== See also == +Attack tree – another approach to security threat modeling, stemming from dependency analysis +DREAD – a classification system for security threats +OWASP – an organization devoted to improving web application security through education +CIA also known as AIC – another mnemonic for a security model to build security in IT systems + + +== References == + + +== External links == +Uncover Security Design Flaws Using The STRIDE Approach \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Satplan-0.md b/data/en.wikipedia.org/wiki/Satplan-0.md new file mode 100644 index 000000000..0b6808db6 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Satplan-0.md @@ -0,0 +1,27 @@ +--- +title: "Satplan" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Satplan" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:31.562055+00:00" +instance: "kb-cron" +--- + +Satplan (better known as Planning as Satisfiability) is a method for automated planning. It converts the planning problem instance into an instance of the Boolean satisfiability problem (SAT), which is then solved using a method for establishing satisfiability such as the DPLL algorithm or WalkSAT. + + +== Methodology == +The process encodes key elements of the planning problem—initial state, available actions, goal state, and a maximum plan length (horizon length)—into a logical formula. This formula is satisfiable if and only if a valid sequence of actions exists that transforms the initial state into the goal state within the given horizon. This concept is similar to Cook's theorem, where Turing machine computations are represented as SAT formulas. +To find a plan, Satplan iteratively tests formulas with increasing horizon lengths. It starts with a horizon length of 0 (no actions) and incrementally increases it (1, 2, 3, etc.). For each horizon, a corresponding SAT formula is generated and checked by a SAT solver. If satisfiable, the solver’s output reveals the action sequence. If unsatisfiable, the process continues until a valid plan is found. While this simple approach can be inefficient, more advanced search strategies can improve performance, but the fundamental idea remains the same: reducing planning to satisfiability. + + +== See also == +Graphplan + + +== References == + +H. A. Kautz and B. Selman (1992). Planning as satisfiability. In Proceedings of the Tenth European Conference on Artificial Intelligence (ECAI'92), pages 359–363. +H. A. Kautz and B. Selman (1996). Pushing the envelope: planning, propositional logic, and stochastic search. In Proceedings of the Thirteenth National Conference on Artificial Intelligence (AAAI'96), pages 1194–1201. +J. Rintanen (2009). Planning and SAT. In A. Biere, H. van Maaren, M. Heule and Toby Walsh, Eds., Handbook of Satisfiability, pages 483–504, IOS Press. ISBN 978-1-58603-929-5. \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Scalable_TCP-0.md b/data/en.wikipedia.org/wiki/Scalable_TCP-0.md new file mode 100644 index 000000000..000293267 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Scalable_TCP-0.md @@ -0,0 +1,28 @@ +--- +title: "Scalable TCP" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Scalable_TCP" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:32.754857+00:00" +instance: "kb-cron" +--- + +Type of Transmission Control Protocol which is designed to provide much higher throughput and scalability. +Standard TCP recommendations as per RFC 2581 and RFC 5681 call for congestion window to be halved for each packet lost. Effectively, this process keeps halving the throughput until packet loss stops. Once the packet loss subsides, slow start kicks in to ramp the speed back up. When the window sizes are small, say 1 Mbit/s @ 200 ms round trip time and the window is about 20 packets, this recovery time is quite fast—on the order of a few seconds. But as transfer speeds approach 1 Gbit/s, the recovery time becomes half an hour and for 10 Gbit/s it's over 4 hours. + + +== Procedure == +Scalable TCP modifies the congestion control algorithm. Instead of halving the congestion window size, each packet loss decreases the congestion window by a small fraction (a factor of 1/8 instead of Standard TCP's 1/2) until packet loss stops. When packet loss stops, the rate is ramped up at a slow fixed rate (one packet is added for every one hundred successful acknowledgements) instead of the Standard TCP rate that's the inverse of the congestion window size (thus very large windows take a long time to recover). This helps reduce the recovery time on 10 Gbit/s links from 4+ hours (using Standard TCP) to less than 15 seconds when the round trip time is 200 milliseconds. + + +== See also == +UDP-based Data Transfer Protocol + + +== References == + + +== External links == +Scalable TCP Details +CERN Paper About Scalable TCP \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Schema_evolution-0.md b/data/en.wikipedia.org/wiki/Schema_evolution-0.md new file mode 100644 index 000000000..b87dcca04 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Schema_evolution-0.md @@ -0,0 +1,25 @@ +--- +title: "Schema evolution" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Schema_evolution" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:33.967653+00:00" +instance: "kb-cron" +--- + +In computer science, schema versioning and schema evolution, deal with the need to retain current data and software system functionality in the face of changing database structure. The problem is not limited to the modification of the schema. It, in fact, affects the data stored under the given schema and the queries (and thus the applications) posed on that schema. +A database design is sometimes created as a "as of now" instance and thus schema evolution is not considered. (This is different but related to where a database is designed as a "one size fits all" which doesn't cover attribute volatility). This assumption, almost unrealistic in the context of traditional information systems, becomes unacceptable in the context of systems that retain large volumes of historical information or those such as web information systems, that due to the distributed and cooperative nature of their development, are subject of an even stronger pressure toward change (from 39% to over 500% more intense than in traditional settings). Due to this historical heritage the process of schema evolution as of 2008 a particularly taxing one. It is, in fact, widely acknowledged that the data management core of an applications is one of the most difficult and critical components to evolve. The key problem is the impact +of the schema evolution on queries and applications. As shown in the article Schema Evolution in Wikipedia - Toward a Web Information System Benchmark (2008) (which provides an analysis of the MediaWiki evolution) each evolution step might affect up to 70% of the queries operating on the schema, that must be manually reworked consequently. +In 2008, the problem has been recognized as a pressing one by the database community for more than 12 years. Supporting schema evolution is a difficult problem involving complex mapping among schema versions and the tool support has been so far very limited. The recent theoretical advances on mapping composition and mapping invertibility, which represent the core problems underlying the schema evolution remains almost inaccessible to the large public. The issue is particular felt by temporal databases. + + +== Related works == +A rich bibliography on Schema Evolution is collected at: http://se-pubs.dbs.uni-leipzig.de/pubs/results/taxonomy%3A100 +UCLA university carried out an analysis of the MediaWiki Schema Evolution: Schema Evolution Benchmark +PRISM, a tool to support graceful relational schema evolution: Prism: schema evolution tool +PRIMA, a tool supporting transaction time databases under schema evolution PRIMA: supporting transaction-time DB under schema evolution +Pario and deltasql are examples of software development tools that include fully automated schema evolution. + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/School_of_Computer_Science,_University_of_Bristol-0.md b/data/en.wikipedia.org/wiki/School_of_Computer_Science,_University_of_Bristol-0.md new file mode 100644 index 000000000..0fddc195c --- /dev/null +++ b/data/en.wikipedia.org/wiki/School_of_Computer_Science,_University_of_Bristol-0.md @@ -0,0 +1,52 @@ +--- +title: "School of Computer Science, University of Bristol" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/School_of_Computer_Science,_University_of_Bristol" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:35.170064+00:00" +instance: "kb-cron" +--- + +The School of Computer Science of the University of Bristol, formerly the Department of Computer Science, is the computer science school of the University of Bristol and is based in the Merchant Venturers building on Woodland Road, close to Bristol city centre. As of 2026 the department is home to 177 academic staff, researchers, and PhD students. + + +== Research == +Research in the department is organised around 10 research groups, which focus on cryptography, algorithms, Human–computer interaction (HCI), computer vision, artificial intelligence (AI), verification, computational neuroscience, cybersecurity, robotics, high-performance computing, and programming languages. + + +== History == +The Department of Computer Science was formally established around 1984. Its heads of department include + +Professor Mike Rogers (1984-1995) +Professor David May (1995-2006) +Professor Nigel Smart (2006-2008) +Professor Nishan Canagarajah (2008- ?) +Dr Neill Campbell (?-2011) +Dr Ian Holyer (2011-?) +Professor Andrew Calway (?-2016) +Professor Seth Bullock (2016-2020) +Professor Christian Allen (2020-2021) +Dr. Aisling O'Kane (2021-) + + +== Notable faculty members == +As of 2021 the department employs fourteen Professors, shown below: + +Professor Awais Rashid +Professor Dave Cliff +Professor Peter Flach +Professor Majid Mirmehdi +Professor Seth Bullock +Professor Kerstin Eder +Professor Walterio Mayol-Cuevas +Professor Simon McIntosh-Smith +Professor Andrew Calway +Professor Kirsten Cater +Professor Ian Nabney +Professor Chris Preist +Professor Bogdan Warinschi +Professor Dima Damen + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Secure_Operations_Language-0.md b/data/en.wikipedia.org/wiki/Secure_Operations_Language-0.md new file mode 100644 index 000000000..153ba51d6 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Secure_Operations_Language-0.md @@ -0,0 +1,17 @@ +--- +title: "Secure Operations Language" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Secure_Operations_Language" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:37.531189+00:00" +instance: "kb-cron" +--- + +The Secure Operations Language (SOL) was developed jointly by the United States Naval Research Laboratory and Utah State University in the United States. SOL is a domain-specific synchronous programming language for developing distributed applications and is based on software engineering principles developed in the Software Cost Reduction project at the Naval Research Laboratory in the late 1970s and early 1980s. SOL is intended to be a domain-specific language for developing service-based systems. Concurrently, a domain-specific extension of Java (SOLj) is being developed (FTDCS 2007) +Application domains include sensor networks, defense and space systems, healthcare delivery, power control, etc. +The investigators of the project are Dr. Ramesh Bharadwaj from the Naval Research Laboratory and Dr. Supratik Mukhopadhyay from Utah State University. + + +== References == +Bharadwaj, Ramesh (2002). "SOL: A Verifiable Synchronous Language for Reactive Systems". Electronic Notes in Theoretical Computer Science. 65 (5): 140. doi:10.1016/S1571-0661(05)82565-4. \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Secure_environment-0.md b/data/en.wikipedia.org/wiki/Secure_environment-0.md new file mode 100644 index 000000000..75ccb6fad --- /dev/null +++ b/data/en.wikipedia.org/wiki/Secure_environment-0.md @@ -0,0 +1,25 @@ +--- +title: "Secure environment" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Secure_environment" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:36.335514+00:00" +instance: "kb-cron" +--- + +In computing, a secure environment is any system which implements the controlled storage and use of information. In the event of computing data loss, a secure environment is used to protect personal or confidential data. It may also be known as a trusted execution environment (TEE). +Often, secure environments employ cryptography as a means to protect information. This is typically used for processing confidential or restricted information. +Some secure environments employ cryptographic hashing, simply to verify that the information has not been altered since it was last modified. + + +== See also == +Backup +Data recovery +Cleanroom +Mandatory access control (MAC) +Trusted computing +Homomorphic encryption + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Security_Protocols_Open_Repository-0.md b/data/en.wikipedia.org/wiki/Security_Protocols_Open_Repository-0.md new file mode 100644 index 000000000..c06acf811 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Security_Protocols_Open_Repository-0.md @@ -0,0 +1,30 @@ +--- +title: "Security Protocols Open Repository" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Security_Protocols_Open_Repository" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:38.740149+00:00" +instance: "kb-cron" +--- + +SPORE, the Security Protocols Open Repository, is an online library of security protocols with comments and links to papers. Each protocol is downloadable in a variety of formats, including rules for use with automatic protocol verification tools. All protocols are described using BAN logic or the style used by Clark and Jacob, and their goals. The database includes details on formal proofs or known attacks, with references to comments, analysis & papers. A large number of protocols are listed, including many which have been shown to be insecure. +It is a continuation of the seminal work by John Clark and Jeremy Jacob. +They seek contributions for new protocols, links and comments. + + +== See also == +Cryptographic nonce +Cryptography +List of cryptography topics. +Public-key cryptography +Short and long lists of cryptographers. +Symmetric-key algorithm + + +== References == + + +== External links == +SPORE – Security Protocols Open Repository (2008) +SPORE – Security Protocols Open Repository (2025) \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Segment_descriptor-0.md b/data/en.wikipedia.org/wiki/Segment_descriptor-0.md new file mode 100644 index 000000000..996295369 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Segment_descriptor-0.md @@ -0,0 +1,162 @@ +--- +title: "Segment descriptor" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Segment_descriptor" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:40.000592+00:00" +instance: "kb-cron" +--- + +In memory addressing for computer architectures, segment descriptors are a part of the segmentation unit, used for translating a logical address to a linear address or to the address of a page table. Segment descriptors describe the memory segment referred to in the logical address. + + +== Structure == +The segment descriptor contains the following fields: + +A segment base address or page table address +The segment limit which specifies the segment size +Access rights information containing the protection mechanism information +Control bits + + +=== Intel === +The segment descriptor is 8 bytes long in 80286 and later. + + +==== The 80286 segment descriptor ==== +The 80286 segment descriptor has the following form: + + +==== The x86 and x86-64 segment descriptor ==== +The x86 and x86-64 segment descriptor has the following form: + +What the fields stand for: + +Base Address +Starting memory address of the segment. Its length is 32 bits and it is created from the lower part bits 16 to 31, and the upper part bits 0 to 7, followed by bits 24 to 31. +Segment Limit +Its length is 20 bits and is created from the lower part bits 0 to 15 and the upper part bits 16 to 19. It defines the address of the last accessible data. The length is one more than the value stored here. How exactly this should be interpreted depends on the Granularity bit of the segment descriptor. +G=Granularity +If clear, the limit is in units of bytes, with a maximum of 220 bytes. If set, the limit is in units of 4096-byte pages, for a maximum of 232 bytes. +D/B +D = Default operand size : If clear, this is a 16-bit code segment; if set, this is a 32-bit segment. +B = Big: If set, the maximum offset size for a data segment is increased to 32-bit 0xffffffff. Otherwise it's the 16-bit max 0x0000ffff. Essentially the same meaning as "D". +L=Long +If set, this is a 64-bit segment (and D must be zero), and code in this segment uses the 64-bit instruction encoding. "L" cannot be set at the same time as "D" aka "B". (Bit 21 in the image) +AVL=Available +For software use, not used by hardware (Bit 20 in the image with the label A) +P=Present +If clear, a "segment not present" exception is generated on any reference to this segment +DPL=Descriptor privilege level +Privilege level (ring) required to access this descriptor +S=System Segment +If clear, this is system segment, used to handle interrupts or store LDT segment descriptors. If 1, this is Code/Data segment. +Type +If set, this is a code segment descriptor. If clear, this is a data/stack segment descriptor, which has "D" replaced by "B", "C" replaced by "E"and "R" replaced by "W". This is in fact a special case of the 2-bit type field, where the preceding bit 12 cleared as "0" refers to more internal system descriptors, for LDT, LSS, and gates. +C=Conforming +Code in this segment may be called from less-privileged levels. +E=Expand-Down +If clear, the segment expands from base address up to base+limit. If set, it expands from maximum offset down to limit, a behavior usually used for stacks. +R=Readable +If clear, the segment may be executed but not read from. +W=Writable +If clear, the data segment may be read but not written to. +A=Accessed +This bit is set to 1 by hardware when the segment is accessed, and cleared by software. + + +=== IBM S/370 and successors === + +The S/370, S/370-XA, ESA/370 and ESA/390 segment table entries (STEs) are one word long. All processors running in S/370 mode used the same format, but not all supported the common-segment facility and the protected segment facility. XA introduced a new format and replaced segment protection with page protection. +With z/Architecture the STE is a doubleword. + + +==== The S/370 segment-table entry ==== +The segment-table entry for the S/370 has the following form + +Page-Table Origin +Left 21 bits of Page Table Origin (PTO), has 3 zero bits appended +TBL +Table length in units that are 1⁄16 of the maximum allowed size, offset by one unit. +P +Segment-Protection Bit +C +Common-Segment Bit +I +Segment-Invalid Bit + + +==== The S/370-XA through S/390 segment-table entry ==== +The segment-table entry for the S/370-XA, ESA/370 and ESA/390 has the following form + +Page-Table Origin +Left 25 bits of PTO, has 6 zero bits appended +I +Invalid +C +Common-Segment Bit +TBL +Table length in 64-byte units, offset by one unit + + +==== The z/Architecture segment-table entry ==== +In the original z/Architecture, a segment is always subject to paging and the Segment-Table Entry always points to a page table. However, on a model equipped with the Enhanced-DAT Facility 1, the Enhanced-DAT-enablement control (bit 40) o +The segment-table entry for the z/Architecture has the following forms + +Page-Table Origin +Left 53 bits of PTO, has 11 zero bits appended +FC=0 +Format Control - paged segment +P +DAT-protection (fetch protect) +I +Segment-Invalid Bit +CS +Common-Segment Bit +TT=00 +Table Type Segment + +ACCF-Validity Control (AV) +Use ACC to check key +ACC +Access control key +F +Fetch protection when AV=1 +FC=1 +Format Control - points to absolute address +P +DAT-protection (fetch protect) +Instruction-Execution-Protection (IEP) Control +Instruction execution prohibited +I +Segment-Invalid Bit +CS +Common-Segment Bit +TT=00 +Table Type Segment + + +== See also == +Burroughs large systems descriptors +Memory segment +Memory address + + +== Notes == + + +== References == +z-14 +z/Architecture Principles of Operation (PDF) (Fifteenth ed.). IBM. April 2025. SA22-7832-14. Retrieved July 3, 2025. + +Tabak, Daniel (1991). Advanced Microprocessors. McGraw Hill and Co. ISBN 9780070628076. +Hall, Douglas. Microprocessors and Interfacing. McGraw Hill Publications. + + +== Further reading == +Robert R. Collins (August 1998). "The Segment Descriptor Cache". Dr Dobb's Journal. + + +== External links == +Intel 80386 Reference Programmer's Manual - Segment Translation \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Self-management_(computer_science)-0.md b/data/en.wikipedia.org/wiki/Self-management_(computer_science)-0.md new file mode 100644 index 000000000..e0d51322c --- /dev/null +++ b/data/en.wikipedia.org/wiki/Self-management_(computer_science)-0.md @@ -0,0 +1,35 @@ +--- +title: "Self-management (computer science)" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Self-management_(computer_science)" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:41.232950+00:00" +instance: "kb-cron" +--- + +Self-management is the process by which computer systems manage their own operation without human intervention. Self-management technologies are expected to pervade the next generation of network management systems. +The growing complexity of modern networked computer systems is a limiting factor in their expansion. The increasing heterogeneity of corporate computer systems, the inclusion of mobile computing devices, and the combination of different networking technologies like WLAN, cellular phone networks, and mobile ad hoc networks make the conventional, manual management difficult, time-consuming, and error-prone. More recently, self-management has been suggested as a solution to increasing complexity in cloud computing. +An industrial initiative towards realizing self-management is the Autonomic Computing Initiative (ACI) started by IBM in 2001. The ACI defines the following four functional areas: + +Self-configuration +Auto-configuration of components +Self-healing +Automatic discovery, and correction of faults; automatically applying all necessary actions to bring system back to normal operation +Self-optimization +Automatic monitoring and control of resources to ensure the optimal functioning with respect to the defined requirements +Self-protection +Proactive identification and protection from arbitrary attacks + + +== See also == +Fault tolerance +Resilience (network) +Robustness (computer science) + + +== References == + + +== External links == +Practical Autonomic Computing - Roadmap to Self Managing Technology \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Semantic_URL_attack-0.md b/data/en.wikipedia.org/wiki/Semantic_URL_attack-0.md new file mode 100644 index 000000000..7462eb295 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Semantic_URL_attack-0.md @@ -0,0 +1,35 @@ +--- +title: "Semantic URL attack" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Semantic_URL_attack" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:46.009149+00:00" +instance: "kb-cron" +--- + +In a semantic URL attack, a client manually adjusts the parameters of its request by maintaining the URL's syntax but altering its semantic meaning. This attack is primarily used against CGI driven websites. +A similar attack involving web browser cookies is commonly referred to as cookie poisoning. + + +== Example == +Consider a web-based e-mail application where users can reset their password by answering the security question correctly, and allows the users to send the password +to the e-mail address of their choosing. After they answer the security question correctly, the web page will arrive to the following web form where the users can enter their alternative e-mail address: + +The receiving page, resetpassword.php, has all the information it needs to send the password to the new e-mail. The hidden variable username contains the value user001, which is the username of the e-mail account. +Because this web form is using the GET data method, when the user submits alternative@emailexample.com as the e-mail address where the user wants the password to be sent to, +the user then arrives at the following URL: + +http://semanticurlattackexample.com/resetpassword.php?username=user001&altemail=alternative%40emailexample.com +This URL appears in the location bar of the browser, so the user can identify the username and the e-mail address through the URL parameters. The user may decide to steal other people's (user002) e-mail address by visiting the following URL as an experiment: + +http://semanticurlattackexample.com/resetpassword.php?username=user002&altemail=alternative%40emailexample.com +If resetpassword.php accepts these values, it is vulnerable to a semantic URL attack. The new password of user002's e-mail address will be generated and sent to alternative@emailexample.com which causes user002's e-mail account to be stolen. +One method of avoiding semantic URL attacks is by using session variables. However, session variables can be vulnerable to other types of attacks such as session hijacking and cross-site scripting. + + +== References == + + +== See also == +Query string \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Semantic_computing-0.md b/data/en.wikipedia.org/wiki/Semantic_computing-0.md new file mode 100644 index 000000000..f2c45abbe --- /dev/null +++ b/data/en.wikipedia.org/wiki/Semantic_computing-0.md @@ -0,0 +1,41 @@ +--- +title: "Semantic computing" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Semantic_computing" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:42.419596+00:00" +instance: "kb-cron" +--- + +Semantic computing is a field of computing that combines elements of semantic analysis, natural language processing, data mining, knowledge graphs, and related fields. +Semantic computing addresses three core problems: + +Understanding the (possibly naturally-expressed) intentions (semantics) of users and expressing them in a machine-processable format +Understanding the meanings (semantics) of computational content (of various sorts, including, but is not limited to, text, video, audio, process, network, software and hardware) and expressing them in a machine-processable format +Mapping the semantics of user with that of content for the purpose of content retrieval, management, creation, etc. +The IEEE has held an International Conference on Semantic Computing since 2007. A conference on Knowledge Graphs and Semantic Computing has been held since 2015. + + +== Background == +The field of Semantic Computing was coined by Phillip Sheu in 2007 when he launched the first IEEE International Conference on Semantic Computing (ICSC) and the International Journal of Semantic Computing (IJSC). As stated in the inaugural issue of IJSC, "..., the field Semantic Computing addresses the computing technologies, and their interactions, that may be used to extract or process the Contents and Semantics of active services and passive data that are unstructured, semi-structured as well as structured,... Semantic Computing extends Semantic Web (in the narrow sense of ontology-based augmentation of web pages) both in breadth (to include multimedia and services as well as structured data that may or may not be web-based) and depth (to address the access, use, synthesis, integration as well as analysis of data and services). Semantic Computing bridges, and integrates, technologies such as soft-ware engineering, user interface, natural-language processing, artificial intelligence, programming language, grid computing and pervasive computing, among others, into a complete theme." +The article defines Semantic Computing as a multi-layered architecture designed to process, integrate, and utilize semantic information. Initially, it describes four layers: Semantic Analysis, which interprets signals such as pixels and words to extract meaning; Semantic Integration, which unifies contents and semantics from diverse sources; Applications, which leverage these contents and semantics to solve problems and may also provide services to other applications; and Semantic Interface, which enables users to access and manipulate semantic content across sources. The architecture was later revised into a five-layer model, where the original Applications layer was divided into Semantic Services—which address specific problems through web search, question answering, content-based multimedia retrieval, and semantic synthesis—and Service Integration, which coordinates multiple semantic services to offer more comprehensive and interoperable solutions. + + +== See also == +Computational semantics +Semantic audio +Semantic compression +Semantic technology +Semantic network + + +== References == + + +== External links == +IEEE International Conference on Semantic Computing +IEEE International School on Semantic Computing +International Journal of Semantic Computing +Semantic Computing Research Group +Semantic Link Network \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Semantic_dictionary_encoding-0.md b/data/en.wikipedia.org/wiki/Semantic_dictionary_encoding-0.md new file mode 100644 index 000000000..dc972590e --- /dev/null +++ b/data/en.wikipedia.org/wiki/Semantic_dictionary_encoding-0.md @@ -0,0 +1,26 @@ +--- +title: "Semantic dictionary encoding" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Semantic_dictionary_encoding" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:43.602705+00:00" +instance: "kb-cron" +--- + +Semantic dictionary encoding (SDE) preserves the full semantic context of source programs while adding further information that can be used for accelerating the speed of code generation. SDE forms a code-generating loader. It is a form of bytecode combined with a JIT compiler. It is code generation at load time. +In an elementary form, the dictionary entries represent nodes in a directed acyclic graph (DAG), that describes the actions of the program, as an abstract syntax tree (AST) in tabular form. +It uses an intermediate representation (IR), that is based on the encoded abstract syntax tree and symbol table of a program. + + +== See also == +Semantics encoding +Code generation +Software portability + + +== References == + + +== External links == +A brief introduction to Semantic Dictionary Encoding \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Semantic_resolution_tree-0.md b/data/en.wikipedia.org/wiki/Semantic_resolution_tree-0.md new file mode 100644 index 000000000..1af7744b7 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Semantic_resolution_tree-0.md @@ -0,0 +1,14 @@ +--- +title: "Semantic resolution tree" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Semantic_resolution_tree" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:44.804898+00:00" +instance: "kb-cron" +--- + +A semantic resolution tree is a tree used for the definition of the semantics of a programming language. They have often been used as a theoretical tool for showing the unsatisfiability of clauses in first-order predicate logic. + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Semantometrics-0.md b/data/en.wikipedia.org/wiki/Semantometrics-0.md new file mode 100644 index 000000000..ed612f78c --- /dev/null +++ b/data/en.wikipedia.org/wiki/Semantometrics-0.md @@ -0,0 +1,18 @@ +--- +title: "Semantometrics" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Semantometrics" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:47.199064+00:00" +instance: "kb-cron" +--- + +Semantometrics is a tool for evaluating research. It is functionally an extension of tools such as bibliometrics, webometrics, and altmetrics, but instead of just evaluating citations – which entails relying on outside evidence – it uses a semantic evaluation of the full text of the research paper being evaluated. + + +== References == + + +== External links == +Python toolset by Digital Humanities Lab of Utrecht University] \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Service-oriented_development_of_applications-0.md b/data/en.wikipedia.org/wiki/Service-oriented_development_of_applications-0.md new file mode 100644 index 000000000..7c40d3ba0 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Service-oriented_development_of_applications-0.md @@ -0,0 +1,27 @@ +--- +title: "Service-oriented development of applications" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Service-oriented_development_of_applications" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:48.386387+00:00" +instance: "kb-cron" +--- + +In the field of software application development, service-oriented development of applications (or SODA) +is a way of producing service-oriented architecture applications. Use of the term SODA was first used by the Gartner research firm. +SODA represents one possible activity for company to engage in when making the transition to service-oriented architecture (SOA). However, it has been argued that an overreliance on SODA can reduce overall system flexibility, reuse, and business agility. This danger is greater for sites that use an application server, which could diminish flexibility in redeployment and composition of services. + + +== See also == +Enterprise service bus +Service-oriented modeling + + +== References == + + +== External links == +Gartner articles on the ROI aspects of SODA (Registration and fee required.) +Pillars of Service-Oriented development +What's the Big Deal About SOA \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Services_computing-0.md b/data/en.wikipedia.org/wiki/Services_computing-0.md new file mode 100644 index 000000000..0d3dfadb1 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Services_computing-0.md @@ -0,0 +1,26 @@ +--- +title: "Services computing" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Services_computing" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:49.563099+00:00" +instance: "kb-cron" +--- + +Services Computing has become a cross-discipline that covers the science and technology of bridging the gap between business services and IT services. The underlying technology suite includes Web services and service-oriented architecture (SOA), cloud computing, business consulting methodology and utilities, business process modeling, transformation and integration. This scope of Services Computing covers the whole life-cycle of service provision that includes business componentization, services modeling, services creation, services realization, services annotation, services deployment, services discovery, services composition, services delivery, service-to-service collaboration, services monitoring, services optimization, as well as services management. The goal of Services Computing is to enable IT services and computing technology to perform business services more efficiently and effectively. + + +== References == + + +== External links == +Technical Committee on Services Computing, IEEE Computer Society (TCSVC) +IEEE Transactions on Services Computing (TSC) +IEEE World Congress on Services (SERVICES) +IEEE International Conference on Cloud Computing (CLOUD) +IEEE International Conference on Edge Computing (EDGE) +IEEE International Conference on Digital Health (ICDH) +IEEE International Conference on Web Services (ICWS) +IEEE International Conference on Services Computing (SCC) +IEEE International Conference on Smart Data Services (SMDS) \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Session_type-0.md b/data/en.wikipedia.org/wiki/Session_type-0.md new file mode 100644 index 000000000..37f3c8fac --- /dev/null +++ b/data/en.wikipedia.org/wiki/Session_type-0.md @@ -0,0 +1,170 @@ +--- +title: "Session type" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Session_type" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:50.796683+00:00" +instance: "kb-cron" +--- + +In type theory, session types are used to ensure correctness in concurrent programs. They guarantee that messages sent and received between concurrent programs are in the expected order and of the expected type. Session type systems have been adapted for both channel and actor systems. +Session types are used to ensure desirable properties in concurrent and distributed systems, i.e. absence of communication errors or deadlocks, and protocol conformance. + + +== Binary versus multiparty session types == +Interaction between two processes can be checked using binary session types, while interactions between more than two processes can be checked using multiparty session types. In multiparty session types interactions between all participants are described using a global type, which is then projected into local types that describe communication from the local view of each participant. Importantly, the global type encodes the sequencing information of the communication, which would be lost if we were to use binary session types to encode the same communication. + + +== Formal definition of binary session types == +Binary session types can be described using send operations ( + + + + ! + + + {\displaystyle !} + +), receive operations ( + + + + ? + + + {\displaystyle ?} + +), branches ( + + + + & + + + {\displaystyle \&} + +), selections ( + + + + ⊕ + + + {\displaystyle \oplus } + +), recursion ( + + + + r + e + c + + + {\displaystyle rec} + +) and termination ( + + + + e + n + d + + + {\displaystyle end} + +). +For example, + + + + S + = + + ! + b + o + o + l + . + ? + i + n + t + . + e + n + d + + + {\displaystyle S=\;!bool.?int.end} + + represents a session type + + + + S + + + {\displaystyle S} + + which first sends a boolean ( + + + + ! + b + o + o + l + + + {\displaystyle !bool} + +), then receives an integer ( + + + + ? + i + n + t + + + {\displaystyle ?int} + +) before finally terminating ( + + + + e + n + d + + + {\displaystyle end} + +). + + +== Implementations == +Session types have been adapted for several existing programming languages, including: + +lchannels (Scala) +Effpi (Scala) +STMonitor (Scala) +EnsembleS +Session-types (Rust) +sesh (Rust) +Session Actors (Python) +Monitored Session Erlang (Erlang) +FuSe (OCaml) +session-ocaml (OCaml) +Priority Sesh (Haskell) +Java Typestate Checker (Java) +Swift Sessions (Swift) + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Sign_bit-0.md b/data/en.wikipedia.org/wiki/Sign_bit-0.md new file mode 100644 index 000000000..cbe89419a --- /dev/null +++ b/data/en.wikipedia.org/wiki/Sign_bit-0.md @@ -0,0 +1,35 @@ +--- +title: "Sign bit" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Sign_bit" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:51.996562+00:00" +instance: "kb-cron" +--- + +In computer science, the sign bit is a bit in a signed number representation that indicates the sign of a number. Although only signed numeric data types have a sign bit, it is invariably located in the most significant bit position, so the term may be used interchangeably with "most significant bit" in some contexts. +Almost always, if the sign bit is 0, the number is non-negative (positive or zero). If the sign bit is 1 then the number is negative. Formats other than two's complement integers allow a signed zero: distinct "positive zero" and "negative zero" representations, the latter of which does not correspond to the mathematical concept of a negative number. +When using a complement representation, to convert a signed number to a wider format the additional bits must be filled with copies of the sign bit in order to preserve its numerical value, a process called sign extension or sign propagation. + + +== Sign bit weight in Two's complement == + +Two's complement is by far the most common format for signed integers. In Two's complement, the sign bit has the weight -2w-1 where w is equal to the bits position in the number. With an 8-bit integer, the sign bit would have the value of -28-1, or -128. Due to this value being larger than all the other bits combined, having this bit set would ultimately make the number negative, thus changing the sign. + + +== Sign bit weight in Ones' complement == + +Ones' complement is similar to Two's Complement, but the sign bit has the weight -(2w-1 +1) where w is equal to the bits position in the number. With an 8-bit integer, the sign bit would have a value of -(28-1 +1), or -127. This allows for two types of zero: positive and negative, which is not possible with Two's complement. + + +== Sign bit in sign magnitude integers == + +Using sign magnitude, the sign bit directly determines the sign. If the sign bit is 0, the number is positive; if the sign bit is 1, the number is negative. Similarly with Ones' Complement, this allows for both a positive and a negative zero. + + +== Sign bit in floating-point numbers == +Floating-point numbers, such as IEEE format, IBM format, VAX format, and even the format used by the Zuse Z1 and Z3 use a Sign and magnitude representation. + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Simple_HTML_Ontology_Extensions-0.md b/data/en.wikipedia.org/wiki/Simple_HTML_Ontology_Extensions-0.md new file mode 100644 index 000000000..95842bfbf --- /dev/null +++ b/data/en.wikipedia.org/wiki/Simple_HTML_Ontology_Extensions-0.md @@ -0,0 +1,31 @@ +--- +title: "Simple HTML Ontology Extensions" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Simple_HTML_Ontology_Extensions" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:54.369817+00:00" +instance: "kb-cron" +--- + +In the semantic web, Simple HTML Ontology Extensions are a small set of HTML extensions designed to give web pages semantic meaning by allowing information such as class, subclass and property relationships. +SHOE was developed around 1996 by Sean Luke, Lee Spector, James Hendler, Jeff Heflin, and David Rager at the University of Maryland, College Park. + + +== See also == +Microformat +Microdata (HTML) + + +== References == +Luke, S., Spector, L, and Rager, D. Ontology-Based Knowledge Discovery on the World-Wide Web. Workshop on Internet-Based Information Systems at the 13th National Conference on Artificial Intelligence. 1996. +Luke, S. and Hendler, J. Web Agents that Work. IEEE MultiMedia 4:3. 1997. +Luke, S., Spector, L., Rager, D., and Hendler, J. Ontology-based Web Agents. Proceedings of the First International Conference on Autonomous Agents. 1997. +Heflin, J., Hendler, J., and Luke, S. SHOE: A Knowledge Representation Language for Internet Applications. Technical Report CS-TR-4078 (UMIACS TR-99-71), Dept. of Computer Science, University of Maryland at College Park. 1999. +Heflin, J. and Hendler, J. Searching the Web with SHOE. In Artificial Intelligence for Web Search. Papers from the AAAI Workshop. WS-00-01. AAAI Press, Menlo Park, CA, 2000. pp. 35–40. +Heflin, J. Towards the Semantic Web: Knowledge Representation in a Dynamic, Distributed Environment. Ph.D. Thesis, University of Maryland, College Park. 2001. +Heflin, J. and Hendler, J. A Portrait of the Semantic Web in Action. IEEE Intelligent Systems, 16(2):54-59, 2001. + + +== External links == +UMD SHOE web page \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Single-user_mode-0.md b/data/en.wikipedia.org/wiki/Single-user_mode-0.md new file mode 100644 index 000000000..9ffe68544 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Single-user_mode-0.md @@ -0,0 +1,30 @@ +--- +title: "Single-user mode" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Single-user_mode" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:56.797507+00:00" +instance: "kb-cron" +--- + +Single-user mode is a mode in which a multiuser computer operating system boots into a single administrator user, instead of the normal system. It is mainly used for maintenance of multi-user environments, including network servers, where operating on the normal system would be difficult or impossible – for example, some tasks may require exclusive access to resources that are shared, like repairing a broken filesystem used for a network share. This mode can also be used for security purposes, as network services are not run, eliminating the possibility of outside interference. On some systems, a forgotten superuser password can be changed in single-user mode, although not asking for the password in this case is viewed as a security vulnerability. + + +== Unix family == +Unix-like operating systems provide single-user mode functionality either through the System V-style runlevels, BSD-style boot-loader options, or other boot-time options. +In systems using System V-style runlevels, the runlevel is usually changed using the init command. Selecting a runlevel of 1, or S, will boot into single-user mode. +Boot-loader options can be changed during startup before the execution of the kernel. +In FreeBSD and DragonFly BSD, it can be changed before rebooting the system with the command nextboot -o "-s" -k kernel, and its bootloader offers the option on boot to start in single-user mode. In Solaris, the command reboot -- -s will cause a reboot into single-user mode. +In OS X El Capitan and later releases of macOS, a userspace reboot to single-user mode can be performed with the command sudo launchctl reboot userspace -s in Terminal, and the system can be fully rebooted in single-user mode with the command sudo launchctl reboot system -s. On macOS High Sierra and earlier versions, a user can also enter single user mode by holding down ⌘ S at startup, which may require entering a password set in the firmware. Single-user mode is different from safe mode in that the system goes directly to the console instead of starting up the core elements of macOS (items in /System/Library/, ignoring /Library/, ~/Library/, et al.). From there users are encouraged by a prompt to run fsck or other command line utilities as needed (or installed). + + +== Microsoft Windows == +Microsoft Windows provides Recovery Console, Last Known Good Configuration, Safe Mode and recently the Windows Recovery Environment as standard recovery means. Bootable BartPE-based third-party recovery discs are available. +The Recovery Console and recovery discs are different from single-user modes in other operating systems because they are independent of the main operating system, whereas single-user mode is the same system operating in a different mode. + + +== References == + +"What is a runlevel?". Retrieved November 17, 2010. +UNIX Research System Programmer's Manual \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Single_pushout_graph_rewriting-0.md b/data/en.wikipedia.org/wiki/Single_pushout_graph_rewriting-0.md new file mode 100644 index 000000000..f443d24a8 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Single_pushout_graph_rewriting-0.md @@ -0,0 +1,18 @@ +--- +title: "Single pushout graph rewriting" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Single_pushout_graph_rewriting" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:55.571765+00:00" +instance: "kb-cron" +--- + +In computer science, a single pushout graph rewriting or SPO graph rewriting refers to a mathematical framework for graph rewriting, and is used in contrast to the double-pushout approach of graph rewriting. + + +== References == + + +== Further reading == +Ehrig, H.; R. Heckel; M. Korff; M. Löwe; L. Ribeiro; A. Wagner; A. Corradini (1997). "Chapter 4. Algebraic approaches to graph transformation. Part II: single pushout approach and comparison with double pushout approach". In Grzegorz Rozenberg (ed.). Handbook of Graph Grammars and Computing by Graph Transformation. World Scientific. pp. 247–312. CiteSeerX 10.1.1.72.1644. ISBN 978-981-238-472-0. \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Single_version_of_the_truth-0.md b/data/en.wikipedia.org/wiki/Single_version_of_the_truth-0.md new file mode 100644 index 000000000..705b3d07b --- /dev/null +++ b/data/en.wikipedia.org/wiki/Single_version_of_the_truth-0.md @@ -0,0 +1,39 @@ +--- +title: "Single version of the truth" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Single_version_of_the_truth" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:58.007631+00:00" +instance: "kb-cron" +--- + +In computerized business management, single version of the truth (SVOT), is a technical concept describing the data warehousing ideal of having either a single centralised database, or at least a distributed synchronised database, which stores all of an organisation's data in a consistent and non-redundant form. This contrasts with the related concept of single source of truth (SSOT), which refers to a data storage principle to always source a particular piece of information from one place. + + +== Applied to message sequencing == +In some systems and in the context of message processing systems (often real-time systems), this term also refers to the goal of establishing a single agreed sequence of messages within a database formed by a particular but arbitrary sequencing of records. The key concept is that data combined in a certain sequence is a "truth" which may be analyzed and processed giving particular results, and that although the sequence is arbitrary (and thus another correct but equally arbitrary sequencing would ultimately provide different results in any analysis), it is desirable to agree that the sequence enshrined in the "single version of the truth" is the version that will be considered "the truth", and that any conclusions drawn from analysis of the database are valid and unarguable, and (in a technical context) the database may be duplicated to a backup environment to ensure a persistent record is kept of the "single version of the truth". +The key point is when the database is created using an external data source (such as a sequence of trading messages from a stock exchange) an arbitrary selection is made of one possibility from two or more equally valid representations of the input data, but henceforth the decision sets "in stone" one and only one version of the truth. + + +== As applied to message sequencing == +Critics of SVOT as applied to message sequencing argue that this concept is not scalable. As the world moves towards systems spread over many processing nodes, the effort involved in negotiating a single agreed-upon sequence becomes prohibitive. +But as pointed out by Owen Rubel at his API World talk 'The New API Pattern', the SVOT is always going to be the service layer in a distributed architecture where input/output (I/O) meet; this also is where the endpoint binding belongs to allow for modularization and better abstraction of the I/O data across the architecture to avoid the architectural cross cutting concern. + + +== See also == +Closed world assumption, formal-logic assumption that any statement that is not known to be true, is considered false +Open world assumption, formal-logic assumption that the truth-value of a statement is independent of whether it is known to be true by any single observer or agent +The Kimball lifecycle, a high-level sequence tasks used to design, develop and deploy a data warehouse or business intelligence system +Dimensional modeling, a "bottom-up" approach to data warehousing pioneered by Ralph Kimball, in contrast to the older Bill Inmon method "top-down" approach + + +== References == + + +== Bibliography == +King, Julia (2003-12-22). "Business Intelligence: One Version of the Truth". ComputerWorld. +Lamport, Leslie (July 1978). "Time, Clocks, and the Ordering of Events in a Distributed System" (PDF). Communications of the ACM. 21 (7): 558–565. doi:10.1145/359545.359563. S2CID 215822405. +Inmon, Bill (2004-09-09). "The Single Version Of The Truth". Business Intelligence Network. Powell Media. +https://web.archive.org/web/20061015232747/http://www.industryweek.com/EventDetail.aspx?EventID=179 +Chisholm, Malcolm (December 2006), "There is No Single Version of the Truth", Information Management Magazine, retrieved 2010-03-15 \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Skin_friction_line-0.md b/data/en.wikipedia.org/wiki/Skin_friction_line-0.md new file mode 100644 index 000000000..1dd61b213 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Skin_friction_line-0.md @@ -0,0 +1,23 @@ +--- +title: "Skin friction line" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Skin_friction_line" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:38:59.204729+00:00" +instance: "kb-cron" +--- + +In scientific visualization skin friction lines are used to visualize flows on 3D-surfaces. They are obtained by calculating the streamlines of a derived vector field on the surface, the wall shear stress. Skin friction arises from the friction of the fluid against the "skin" of the object that is moving through it and forms a vector at each point on the surface. A skin friction line is a curve on the surface tangent to skin friction vectors. A limit streamline is a streamline where the distance normal to the surface tends to zero. Limit streamlines and skin friction lines coincide. +The lines can be visualized by placing a viscous film on the surface. +The skin friction lines may exhibit a number of different types of singularities: attachment nodes, detachment nodes, isotropic nodes, saddle points, and foci. + + +== References == +Jean Delery's Separation in Three-Dimensional Flow: Critical Points, Separation Lines, and Vortecies + + +=== Additional sources === +Chapman, G. T. Topological classification of flow separation on three-dimensional bodies AIAA, Aerospace Sciences Meeting, 24th, Reno, NV, Jan. 6–9, 1986. 22 p.[1] +Skin friction lines | CSA +New developments and applications of skin-friction measuring techniques - Abstract - Measurement Science and Technology - IOPscience \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Snapshot_algorithm-0.md b/data/en.wikipedia.org/wiki/Snapshot_algorithm-0.md new file mode 100644 index 000000000..fd7821643 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Snapshot_algorithm-0.md @@ -0,0 +1,26 @@ +--- +title: "Snapshot algorithm" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Snapshot_algorithm" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:00.397326+00:00" +instance: "kb-cron" +--- + +A snapshot algorithm is used to create a consistent snapshot of the global state of a distributed system. Due to the lack of globally shared memory and a global clock, this is not trivially possible. + + +== Example == +Several computers work together in a distributed system. Each of them represents a bank account holding a certain amount of money. The participants can transfer money between their accounts by exchanging the messages. +To calculate the overall balance, just requesting the balance of each participant can lead to an incorrect result, as different accounts might be recorded before or after any transfers in progress. But a snapshot algorithm would avoid this as it makes sure to record the whole state in a point in time. + + +== Algorithms == +Chandy–Lamport algorithm +Lai–Yang algorithm +Spezialetti–Kearns algorithm +Mattern's algorithm + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/SoftWare_Hash_IDentifier-0.md b/data/en.wikipedia.org/wiki/SoftWare_Hash_IDentifier-0.md new file mode 100644 index 000000000..0b06bb40e --- /dev/null +++ b/data/en.wikipedia.org/wiki/SoftWare_Hash_IDentifier-0.md @@ -0,0 +1,44 @@ +--- +title: "SoftWare Hash IDentifier" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/SoftWare_Hash_IDentifier" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:02.839370+00:00" +instance: "kb-cron" +--- + +The SoftWare Hash IDentifier (SWHID) is a persistent identifier used to uniquely identify a particular piece of software source code and its version. SWHID is a standard similar to the DOI, but is tailored specifically for software source code, compatible with versioning software such as git. +An SWHID can be used to point to different components or versions of the source code of a software package. The SWHID is an intrinsic identifier in the sense that it describes the software based only on the software's intrinsic properties, with no reliance on an external register. + + +== Format == +The SWHID specification allows identifying different components of software source code. Object types relating to the software version are labelled as "snapshot", "release" or "revision"; a "directory" of files and possibly subdirectories can be identified; and a specific piece of a specific version of source code can be labelled as "content". These are related to one another in a Merkle directed acyclic graph. +The identifier has the following syntax: + + +=== Examples === +According to the French National Centre for Scientific Research (CNRS), software source code archived with SWHIDs includes the source codes of Apollo 11 navigation and of the NCSA Mosaic web browser. +Version 3.0 of the Linux kernel, released in July 2011, has the following SWHID: + +The following example, drawn from the specification documentation, illustrates the use of multiple qualifiers in an SWHID: + + +== Standards == +SWHID is an open standard licensed under the Community Specification License. +SWHID was formalized as the ISO 18670 standard in April 2025. + + +== Creation and history == +The SoftWare Hash IDentifier was developed by Software Heritage. Software Heritage's archives, identified by their SWHIDs, were publicly released starting in 2018. +As of 2020, SWHIDs were in use for about nine billion versions of pieces of software, termed "artefacts". SWHIDs are integrated with research repositories including HAL, Zenodo and the French catalog of Academic Research Free Software. The identifier can be used by package managers. Guix uses SWHIDs to retrieve source code in a software archive when unavailable at its original URL. +The acronym SWHID originally referred to "Software Heritage Identifiers" used to catalog software artifacts in the early days of the Software Heritage archive. It later evolved into an open standard through a dedicated working group and was standardized as ISO in April 2025 under the more general name "Software Hash Identifier". +Télécom Paris welcomed the ISO normalization arguing that it is a significant step in global digital infrastructure, providing traceability of software affected by vulnerabilities. UNESCO stated that SWHID is useful for the reproducibility and long-term accessibility of software. + + +== References == + + +== External links == +Official website +ISO/IEC 18670:2025 Specification v1.2 \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Soft_state-0.md b/data/en.wikipedia.org/wiki/Soft_state-0.md new file mode 100644 index 000000000..24d84f871 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Soft_state-0.md @@ -0,0 +1,20 @@ +--- +title: "Soft state" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Soft_state" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:01.600871+00:00" +instance: "kb-cron" +--- + +In computer science, soft state is state which is useful for efficiency, but not essential, as it can be regenerated or replaced if needed. The term is often used in network protocol engineering. +It is a term that is used for information that times out (goes away) unless refreshed, which allows protocols to recover from errors in certain services. The term was coined by David D. Clark in his description of the Defense Advanced Research Projects Agency (DARPA) internet protocols. +While in general less efficient than well-designed "hard state" protocols when tuned for a particular network regime, soft state protocols behave much better than hard state protocols in an unpredictable network environment such as the Internet. + + +== References == + + +== External links == +"Soft" and "Hard" State \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Software_metering-0.md b/data/en.wikipedia.org/wiki/Software_metering-0.md new file mode 100644 index 000000000..999242a14 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Software_metering-0.md @@ -0,0 +1,32 @@ +--- +title: "Software metering" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Software_metering" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:04.070717+00:00" +instance: "kb-cron" +--- + +Software metering is the monitoring and controlling of software for analytics and enforcing of agreements. It can be either passive data collection, or active restriction. + + +== Types == +Software metering can take different forms: + +Tracking and maintaining software licenses. Making sure that the number of concurrent users of the software do not exceed the terms of the license. This can include monitoring of concurrent usage of software for real-time enforcement of license limits. +Real-time monitoring of all (or selected) applications running on the computers within the organization in order to detect unregistered or unlicensed software and prevent their execution, or limit their execution to within certain hours. The system administrator can configure the software metering agent on each computer in the organization. +Fixed planning to allocate software usage to computers according to the policies a company specifies and to maintain a record of usage and attempted usage. A company can check out and check in licenses for mobile users, and can also keep a record of all licenses in use. This is often used when limited license counts are available to avoid violating strict license controls. +A method of software licensing where the licensed software automatically records how many times, or for how long one or more functions in the software are used, and the user pays fees based on this actual usage (also known as 'pay-per-use') + + +== References == + + +== See also == +License manager +Product activation +Software license +Systems management +System administration +Key server (software licensing) \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Spacefiller-0.md b/data/en.wikipedia.org/wiki/Spacefiller-0.md new file mode 100644 index 000000000..e5958f70e --- /dev/null +++ b/data/en.wikipedia.org/wiki/Spacefiller-0.md @@ -0,0 +1,15 @@ +--- +title: "Spacefiller" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Spacefiller" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:05.281896+00:00" +instance: "kb-cron" +--- + +In Conway's Game of Life and related cellular automata, a spacefiller is a pattern that spreads out indefinitely, eventually filling the entire space with a still life pattern. It typically consists of three components: stretchers that resemble spaceships at the four corners of the pattern, a growing boundary region along the edges of the pattern, and the still life in the interior region. +It resembles a breeder in that both types of patterns have a quadratic growth rate in their numbers of live cells, and both share a three-component architecture. However, in a breeder the moving part of the breeder (corresponding to the stretcher) leaves behind a fixed sequence of glider guns which fill space with gliders, moving objects (gliders or spaceships) rather than still life patterns. With a spacefiller, unlike a breeder, every point in the space eventually becomes part of the space-filling still life pattern. + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/SpatiaLite-0.md b/data/en.wikipedia.org/wiki/SpatiaLite-0.md new file mode 100644 index 000000000..3c8adb22b --- /dev/null +++ b/data/en.wikipedia.org/wiki/SpatiaLite-0.md @@ -0,0 +1,52 @@ +--- +title: "SpatiaLite" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/SpatiaLite" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:07.658948+00:00" +instance: "kb-cron" +--- + +SpatiaLite is a spatial extension to SQLite, providing vector geodatabase functionality. It is similar to PostGIS, Oracle Spatial, and SQL Server with spatial extensions, although SQLite/SpatiaLite aren't based on client-server architecture: they adopt a simpler personal architecture. i.e. the whole SQL engine is directly embedded within the application itself: a complete database simply is an ordinary file which can be freely copied and transferred from one computer/OS to a different one without any special precaution. +SpatiaLite extends SQLite's existing spatial support to cover the OGC's SFS specification. It isn't necessary to use SpatiaLite to manage spatial data in SQLite, which has its own implementation of R-tree indexes and geometry types. But SpatiaLite is needed for advanced spatial queries and to support multiple map projections. SpatiaLite is provided natively for Linux and Windows as a software library as well several utilities that incorporate the SpatiaLite library. These utilities include command line tools that extend SQLite's own with spatial macros, a graphical GUI for manipulating Spatialite databases and their data, and a simple desktop GIS tool for browsing data. +As it is a single binary file, SpatiaLite is also used as a GIS vector format to exchange geospatial data. + + +== Software that supports SpatiaLite == +Desktop: +ESRI ArcGIS since version 10.2 as "Database Connection". +QGIS supports SpatiaLite native since version 1.1 +AutocadMap 2013 +Global Mapper +OpenJUMP offers a Plug-In. +FME (also available as server) +TileMill renderer (uses Mapnik) reads SpatiaLite as data source. +Spatial Manager Desktop, Spatial Manager for AutoCAD, Spatial Manager for BricsCAD +(Web)Server: +GeoServer via SpatiaLite extension. +GeoDjango via the GeoDjango module. +Web2py (web framework) native +FeatureServer, a WFS server. +MapServer via the GDAL library (actually OGR). +Tools and libraries: +OGR Simple Feature Library reads and writes SpatiaLite since version 1.7 +GeoTools supports SpatiaLite using JDBC module. +Mapnik, a renderer. +pyspatialite, a Python library. +OSGeo Live DVD includes spatialite along with a short tutorial. +Web Apps: +GeoConverter - Free online data converter which reads and writes several GIS vector file formats (based on OGR), including SpatiaLite. + + +== Standards == +SpatiaLite supports several open standards from the OGC and has been listed as a reference implementation for the proposed GeoPackage standard. + + +== References == + + +== External links == +Project repository: www.gaia-gis.it/fossil/libspatialite/ +SpatiaLite Cookbook: www.gaia-gis.it/gaia-sins/spatialite-cookbook-5/ +Gaia-SINS federated projects home-page: www.gaia-gis.it/gaia-sins/ \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Speedup_theorem-0.md b/data/en.wikipedia.org/wiki/Speedup_theorem-0.md new file mode 100644 index 000000000..98ade3195 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Speedup_theorem-0.md @@ -0,0 +1,22 @@ +--- +title: "Speedup theorem" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Speedup_theorem" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:08.850380+00:00" +instance: "kb-cron" +--- + +In computational complexity theory, a speedup theorem is a theorem that for any algorithm (of a certain class) demonstrates the existence of a more efficient algorithm solving the same problem. +Examples: + +Linear speedup theorem, that the space and time requirements of a Turing machine solving a decision problem can be reduced by a multiplicative constant factor. +Blum's speedup theorem, which provides speedup by any computable function (not just linear, as in the previous theorem). + + +== See also == +Amdahl's law, the theoretical speedup in latency of the execution of a task at a fixed workload that can be expected of a system whose resources are improved. + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Spoiler_(security_vulnerability)-0.md b/data/en.wikipedia.org/wiki/Spoiler_(security_vulnerability)-0.md new file mode 100644 index 000000000..f878bc654 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Spoiler_(security_vulnerability)-0.md @@ -0,0 +1,41 @@ +--- +title: "Spoiler (security vulnerability)" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Spoiler_(security_vulnerability)" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:10.091223+00:00" +instance: "kb-cron" +--- + +Spoiler is a security vulnerability on modern computer central processing units that use speculative execution. It exploits side-effects of speculative execution to improve the efficiency of Rowhammer and other related memory and cache attacks. According to reports, all modern Intel Core CPUs are vulnerable to the attack as of 2019. AMD has stated that its processors are not vulnerable. +Spoiler was issued a Common Vulnerabilities and Exposures ID of CVE-2019-0162. + + +== Discovery == +Spoiler was discovered by a team from Worcester Polytechnic Institute and the University of Lübeck. Their preprint, titled "Spoiler: Speculative Load Hazards Boost Rowhammer and Cache Attacks", was published in March 2019 and describes a previously undocumented leakage in the dependency resolution logic used for speculative loads on Intel processors. The authors reported that the leakage could be observed on all tested Intel Core processors starting with the first generation, while the AMD and ARM processors they evaluated did not show the same behaviour. +The disclosure attracted attention from technology media. Coverage in outlets such as AppleInsider, ZDNet and The Register emphasised that Spoiler is distinct from the earlier Spectre and Meltdown vulnerabilities, but can make some existing cache and Rowhammer attacks more practical and faster to execute. +Intel assigned Spoiler the advisory ID INTEL-SA-00238 and described it as a "microprocessor memory mapping" issue that may allow an authenticated local user to gain information disclosure through virtual memory access patterns. The National Vulnerability Database catalogued the same weakness as CVE-2019-0162 with a CVSS v3 base score of 3.8 (low severity). + + +== Technical overview == +Spoiler targets the way Intel CPUs perform speculative memory loads in the presence of preceding stores. To improve performance, these processors can execute a load before earlier stores have completed, using a memory order buffer and store forwarding logic to resolve dependencies once the full physical addresses are known. Because the dependency prediction logic uses only partial address information, certain combinations of virtual addresses create false dependencies and stall hazards whose timing can be measured by an attacker. +The researchers showed that, in addition to the well-known 4 KB aliasing effects, Intel's implementation exhibits a distinctive timing behaviour when speculative loads encounter 1 MB-aligned aliases in the store buffer. By filling the store buffer with stores to a window of pages that share the same page offset and then issuing a speculative load to another page, an unprivileged process can detect high-latency peaks whenever the load and some of the stores share the same lower 20 bits of their physical addresses. Repeating this procedure across many pages allows the attacker to infer partial virtual-to-physical address mappings purely from timing observations. +The Spoiler paper reports speed-ups in eviction set construction by factors of up to 4,096 compared with previous JavaScript-based techniques, and demonstrates that the leakage also works in virtual machines and other sandboxed environments that lack access to privileged interfaces such as /proc/pagemap or hardware prefetch instructions. +The same leakage can be used to detect contiguous physical memory pages and to reverse engineer the mapping between physical addresses and DRAM banks. This enables more efficient single-sided and double-sided Rowhammer attacks, in which repeatedly accessing selected rows in a DRAM bank induces bit flips in neighbouring rows. Using Spoiler as a primitive, the researchers performed double-sided Rowhammer from user space without special privileges, achieving deterministic row conflicts with a high probability. + + +== See also == +Transient execution CPU vulnerability +Hardware security bug +Rowhammer +Cache side-channel attack +Spectre (security vulnerability) +Meltdown (security vulnerability) + + +== References == + + +== External links == +CVE-2019-0162 \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Stable_storage-0.md b/data/en.wikipedia.org/wiki/Stable_storage-0.md new file mode 100644 index 000000000..7f0f67186 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Stable_storage-0.md @@ -0,0 +1,21 @@ +--- +title: "Stable storage" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Stable_storage" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:12.551549+00:00" +instance: "kb-cron" +--- + +Stable storage is a classification of computer data storage technology that guarantees atomicity for any given write operation and allows software to be written that is robust against some hardware and power failures. To be considered atomic, upon reading back a just written-to portion of the disk, the storage subsystem must return either the write data or the data that was on that portion of the disk before the write operations. +Most computer disk drives are not considered stable storage because they do not guarantee atomic write; an error could be returned upon subsequent read of the disk where it was just written to in lieu of either the new or prior data. + + +== Implementation == +Multiple techniques have been developed to achieve the atomic property from weakly atomic devices such as disks. Writing data to a disk in two places in a specific way is one technique and can be done by application software. +Most often though, stable storage functionality is achieved by mirroring data on separate disks via RAID technology (level 1 or greater). The RAID controller implements the disk writing algorithms that enable separate disks to act as stable storage. +The RAID technique is robust against some single disk failure in an array of disks whereas the software technique of writing to separate areas of the same disk only protects against some kinds of internal disk media failures such as bad sectors in single disk arrangements. + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Stochastic_probe-0.md b/data/en.wikipedia.org/wiki/Stochastic_probe-0.md new file mode 100644 index 000000000..f04271ef4 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Stochastic_probe-0.md @@ -0,0 +1,14 @@ +--- +title: "Stochastic probe" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Stochastic_probe" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:13.749158+00:00" +instance: "kb-cron" +--- + +In process calculus a stochastic probe is a measurement device that measures the time between arbitrary start and end events over a stochastic process algebra model. + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Stooge_sort-0.md b/data/en.wikipedia.org/wiki/Stooge_sort-0.md new file mode 100644 index 000000000..fbf606f60 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Stooge_sort-0.md @@ -0,0 +1,81 @@ +--- +title: "Stooge sort" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Stooge_sort" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:14.899464+00:00" +instance: "kb-cron" +--- + +Stooge sort is a recursive sorting algorithm. It is notable for its exceptionally poor time complexity of + + + + O + ( + + n + + log + ⁡ + 3 + + / + + log + ⁡ + 1.5 + + + ) + + + {\displaystyle O(n^{\log 3/\log 1.5})} + + = + + + + O + ( + + n + + 2.7095... + + + ) + + + {\displaystyle O(n^{2.7095...})} + + +The algorithm's running time is thus slower compared to reasonable sorting algorithms, and is slower than bubble sort, a canonical example of a fairly inefficient sort. It is, however, more efficient than Slowsort. The name comes from The Three Stooges. +The algorithm is defined as follows: + +If the value at the start is larger than the value at the end, swap them. +If there are three or more elements in the list, then: +Stooge sort the initial 2/3 of the list +Stooge sort the final 2/3 of the list +Stooge sort the initial 2/3 of the list again +It is important to get the integer sort size used in the recursive calls by rounding the 2/3 upwards, e.g. rounding 2/3 of 5 should give 4 rather than 3, as otherwise the sort can fail on certain data. + + +== Implementation == + + +=== Pseudocode === + + +== References == + + +=== Sources === +Black, Paul E. "stooge sort". Dictionary of Algorithms and Data Structures. National Institute of Standards and Technology. Retrieved 18 June 2011. +Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2001) [1990]. "Problem 7-3". Introduction to Algorithms (2nd ed.). MIT Press and McGraw-Hill. pp. 161–162. ISBN 0-262-03293-7. + + +== External links == +Sorting Algorithms (including Stooge sort) +Stooge sort – implementation and comparison \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Storage_violation-0.md b/data/en.wikipedia.org/wiki/Storage_violation-0.md new file mode 100644 index 000000000..bf1c19958 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Storage_violation-0.md @@ -0,0 +1,51 @@ +--- +title: "Storage violation" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Storage_violation" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:16.079714+00:00" +instance: "kb-cron" +--- + +In computing a storage violation is a hardware or software fault that occurs when a task attempts to access an area of computer storage which it is not permitted to access. + + +== Types of storage violation == +Storage violation can, for instance, consist of reading from, writing to, or freeing storage not owned by the task. A common type of storage violation is known as a stack buffer overflow where a program attempts to exceed the limits set for its call stack. It can also refer to attempted modification of memory "owned" by another thread where there is incomplete (or no) memory protection. + + +== Avoidance of storage violations == +Storage violations can occur in transaction systems such as CICS in circumstances where it is possible to write to storage not owned by the transaction; such violations can be reduced by enabling features such as storage protection and transaction isolation. + + +== Detection of storage violations == +Storage violations can be difficult to detect as a program can often run for a period of time after the violation before it crashes. For example, a pointer to a freed area of memory can be retained and later reused causing an error. As a result, efforts focus on detecting violations as they occur, rather than later when the problem is observed. +In systems such as CICS, storage violations are sometimes detected (by the CICS kernel) by the use of "signatures", which can be tested to see if they have been overlaid. +An alternative runtime library may be used to better detect storage violations, at the cost of additional overhead. +Some programming languages use software bounds checking to prevent these occurrences. +Some program debugging software will also detect violations during testing. + + +== Common causes == +A runaway subscript leading to illegal use of reference modification during run time. +Linkage layout mismatch between called and the calling elements. +Use of previously freed (and sometimes already re-allocated) memory. + + +=== Examples of software detecting storage violations === +Intertest originally from Online Software International, later Computer Associates + + +== See also == +Segmentation fault + + +== References == + +IBM. "CICS Transaction Server for z/OS, Version 3 Release 2 Information Center". IBM. Retrieved 2008-10-20. +CICS problem determination Guide + + +== External links == +https://plus.google.com/u/1/collection/wUwasB Marketing material for other product detecting storage violations \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Strangler_fig_pattern-0.md b/data/en.wikipedia.org/wiki/Strangler_fig_pattern-0.md new file mode 100644 index 000000000..7cf26ec78 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Strangler_fig_pattern-0.md @@ -0,0 +1,34 @@ +--- +title: "Strangler fig pattern" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Strangler_fig_pattern" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:17.296355+00:00" +instance: "kb-cron" +--- + +In programming, the strangler fig pattern or strangler pattern is an architectural pattern that involves wrapping old code, with the intent of redirecting it to newer code or to log uses of the old code. Coined by Martin Fowler, its name derives from the strangler fig plant, which tends to grow on trees and eventually kill them. It has also been called Ship of Theseus pattern, named after a philosophical paradox. +The pattern can be used at the method level or the class level. + + +== Rewrites == +One use of this pattern is during software rewrites. Code can be divided into many small sections, wrapped with the strangler fig pattern, then that section of old code can be swapped out with new code before moving on to the next section. This is less risky and more incremental than swapping out the entire piece of software. +The strangler fig pattern can be used on monolithic applications to migrate them to a microservices architecture. + + +== Logging == +Another use of this pattern is the addition of logging to old code. For example, logging can be used to see how frequently the code is used in production, which can be used to decide whether to delete low-usage code, or to rewrite high-usage code. + + +== See also == + +List of software architecture styles and patterns + + +== References == + + +== External links == +https://learn.microsoft.com/en-us/azure/architecture/patterns/strangler-fig +https://martinfowler.com/bliki/StranglerFigApplication.html \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Streamlet_(scientific_visualization)-0.md b/data/en.wikipedia.org/wiki/Streamlet_(scientific_visualization)-0.md new file mode 100644 index 000000000..329c8437b --- /dev/null +++ b/data/en.wikipedia.org/wiki/Streamlet_(scientific_visualization)-0.md @@ -0,0 +1,14 @@ +--- +title: "Streamlet (scientific visualization)" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Streamlet_(scientific_visualization)" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:18.483682+00:00" +instance: "kb-cron" +--- + +In scientific visualization a streamlet is used to visualize flows. It is essentially a short streamline segment. Normally the length of a streamlet is proportional to the flow magnitude at its seed point. + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Streamsurface-0.md b/data/en.wikipedia.org/wiki/Streamsurface-0.md new file mode 100644 index 000000000..141ebed6c --- /dev/null +++ b/data/en.wikipedia.org/wiki/Streamsurface-0.md @@ -0,0 +1,18 @@ +--- +title: "Streamsurface" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Streamsurface" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:19.652662+00:00" +instance: "kb-cron" +--- + +In fluid dynamics a stream surface is a surface across which no flow occurs. A stream surface may be one of two types: + +A boundary-type stream surface coincides with the impermeable boundary of a physical object other than the fluid itself. The object may be rigid or flexible, and it may be mobile or immobile. Examples include the wall of a fluid-filled channel or pipe, the wall of a rigid buoy drifting in a water body, and the wall of a balloon floating in the atmosphere. +An internal stream surface does not coincide with a physical object other than the fluid. Fluid flows on either side of the surface, but does not cross it. +In scientific visualization a stream surface is the 3D generalization of a streamline. It is the union of all streamlines seeded densely on a curve. Like a streamline, a stream surface is used to visualize flows – three-dimensional flows in this case. Specifically, it is "the locus of an infinite set of such curves [streamlines], rooted at every point along a continuous originating line segment." + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Stride_scheduling-0.md b/data/en.wikipedia.org/wiki/Stride_scheduling-0.md new file mode 100644 index 000000000..25a8c44e9 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Stride_scheduling-0.md @@ -0,0 +1,17 @@ +--- +title: "Stride scheduling" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Stride_scheduling" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:22.044409+00:00" +instance: "kb-cron" +--- + +Stride scheduling is a type of scheduling mechanism that has been introduced as a simple concept to achieve proportional central processing unit (CPU) capacity reservation among concurrent processes. Stride scheduling aims to sequentially allocate a resource for the duration of standard time-slices (quantum) in a fashion, that performs periodic recurrences of allocations. Thus, a process p1 which has reserved twice the share of a process p2 will be allocated twice as often as p2. In particular, process p1 will even be allocated two times every time p2 is waiting for allocation, assuming that neither of the two processes performs a blocking operation. + + +== See also == + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Structured_content-0.md b/data/en.wikipedia.org/wiki/Structured_content-0.md new file mode 100644 index 000000000..1ea82eb96 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Structured_content-0.md @@ -0,0 +1,19 @@ +--- +title: "Structured content" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Structured_content" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:23.209655+00:00" +instance: "kb-cron" +--- + +Structured content is information or content that is organized in a predictable way and is usually classified with metadata. XML is a common storage format, but structured content can also be stored in other standard or proprietary formats. +When working in structured content, writers need to build the structure of their content as well as add the text, images, etc. They build the structure by adding elements, and there are elements for different types of content. The structure must be valid according to the standard being used, and it is often enforced by the authoring tool. This helps to ensure consistency, as writers must use the appropriate elements in a consistent way. + + +== See also == +Structure mining + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Stutter_bisimulation-0.md b/data/en.wikipedia.org/wiki/Stutter_bisimulation-0.md new file mode 100644 index 000000000..e944e1b76 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Stutter_bisimulation-0.md @@ -0,0 +1,357 @@ +--- +title: "Stutter bisimulation" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Stutter_bisimulation" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:24.407314+00:00" +instance: "kb-cron" +--- + +In theoretical computer science, a stutter bisimulation is a relationship between two transition systems, abstract machines that model computation. It is defined coinductively and generalizes the idea of bisimulations. A bisimulation matches up the states of a machine such that transitions correspond; a stutter bisimulation allows transitions to be matched to finite path fragments. + + +== Definition == +In Principles of Model Checking, Baier and Katoen define a stutter bisimulation for a single transition system and later adapt it to a relation on two transition systems. A stutter bisimulation for + + + + + TS + + = + ( + S + , + + Act + + , + → + , + I + , + + AP + + , + L + ) + + + {\displaystyle {\text{TS}}=(S,{\text{Act}},\to ,I,{\text{AP}},L)} + + is a binary relation R on S such that for all (s1,s2) in R: + + + + + + s + + 1 + + + , + + s + + 2 + + + + + {\displaystyle s_{1},s_{2}} + + have the same labels +If + + + + + s + + 1 + + + → + + s + + 1 + + ′ + + + + {\displaystyle s_{1}\to s_{1}'} + + is a valid transition and + + + + ( + + s + + 1 + + ′ + + , + + s + + 2 + + + ) + ∉ + R + + + {\displaystyle (s_{1}',s_{2})\not \in R} + + then there exists a finite path fragment + + + + + s + + 2 + + + + u + + 1 + + + ⋯ + + u + + n + + + + s + + 2 + + ′ + + + + {\displaystyle s_{2}u_{1}\cdots u_{n}s_{2}'} + + ( + + + + n + ≥ + 0 + + + {\displaystyle n\geq 0} + +) such that each pair + + + + ( + + s + + 1 + + + , + + u + + i + + + ) + + + {\displaystyle (s_{1},u_{i})} + + is in R and + + + + ( + + s + + 1 + + ′ + + , + + s + + 2 + + ′ + + ) + + + {\displaystyle (s_{1}',s_{2}')} + + is in R +If + + + + + s + + 2 + + + → + + s + + 2 + + ′ + + + + {\displaystyle s_{2}\to s_{2}'} + + is a valid transition and + + + + ( + + s + + 1 + + + , + + s + + 2 + + ′ + + ) + ∉ + R + + + {\displaystyle (s_{1},s_{2}')\not \in R} + + is not then there exists a finite path fragment + + + + + s + + 1 + + + + v + + 1 + + + ⋯ + + v + + n + + + + s + + 1 + + ′ + + + + {\displaystyle s_{1}v_{1}\cdots v_{n}s_{1}'} + + ( + + + + n + ≥ + 0 + + + {\displaystyle n\geq 0} + +) such that each pair + + + + ( + + v + + i + + + , + + s + + 2 + + + ) + + + {\displaystyle (v_{i},s_{2})} + + is in R and + + + + ( + + s + + 1 + + ′ + + , + + s + + 2 + + ′ + + ) + + + {\displaystyle (s_{1}',s_{2}')} + + is in R + + +== Generalizations == +A generalization, the divergent stutter bisimulation, can be used to simplify the state space of a system with the tradeoff that statements using the linear temporal logic operator "next" may change truth value. A robust stutter bisimulation allows uncertainty over transitions in the system. + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Summer_School_Marktoberdorf-0.md b/data/en.wikipedia.org/wiki/Summer_School_Marktoberdorf-0.md new file mode 100644 index 000000000..8afa0dfeb --- /dev/null +++ b/data/en.wikipedia.org/wiki/Summer_School_Marktoberdorf-0.md @@ -0,0 +1,30 @@ +--- +title: "Summer School Marktoberdorf" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Summer_School_Marktoberdorf" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:26.052885+00:00" +instance: "kb-cron" +--- + +The International Summer School Marktoberdorf is an annual two-week summer school for international computer science and mathematics postgraduate students and other young researchers, held annually since 1970 in Marktoberdorf, near Munich in southern Germany. Students are accommodated in the boarding house of a local high school, Gymnasium Marktoberdorf. Proceedings are published when appropriate. + + +== Status == +This is a summer school for theoretical computer science researchers, with some directors/co-directors who are Turing Award winners (the nearest equivalent to the Nobel Prize in computer science). +The summer school is supported as an Advanced Study Institute of the NATO Science for Peace and Security Program. It is administered by the Faculty of Informatics at the Technical University of Munich. + + +== Directors == + +Past academic directors and co-directors include: + +* Turing Award winners. + + +== References == + + +== External links == +Official website \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/SureType-0.md b/data/en.wikipedia.org/wiki/SureType-0.md new file mode 100644 index 000000000..1b8ca6454 --- /dev/null +++ b/data/en.wikipedia.org/wiki/SureType-0.md @@ -0,0 +1,22 @@ +--- +title: "SureType" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/SureType" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:27.225325+00:00" +instance: "kb-cron" +--- + +SureType is a QWERTY-based character input method for cell phones. SureType was developed by BlackBerry vendor Research in Motion and was used on the BlackBerry Charm and the BlackBerry Pearl. SureType combines a traditional telephone keypad with a QWERTY-based keyboard to create a non-standard way to input text on a cell phone. In addition, SureType contains a list of 35,000 English words, so when a user types the beginning of a word, all the possible words which start with those letters show up on the screen. Additional words can also be added to the word list. + + +== See also == +T9 (predictive text), a predictive text input technology for mobile phones + + +== References == + + +== External links == +Technology home page \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Surfel-0.md b/data/en.wikipedia.org/wiki/Surfel-0.md new file mode 100644 index 000000000..8d45fee66 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Surfel-0.md @@ -0,0 +1,20 @@ +--- +title: "Surfel" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Surfel" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:28.393511+00:00" +instance: "kb-cron" +--- + +Surfel is an abbreviated term for a "surface element," analogous to a "voxel" (volume element) or a "pixel" (picture element). In 3D computer graphics, the use of surfels is an alternative to polygonal modeling. An object is represented by a dense set of points or viewer-facing discs holding lighting information. Surfels are well suited to modeling dynamic geometry, because there is no need to compute topology information such as adjacency lists. Common applications are medical scanner data representation, real time rendering of particle systems, and more generally, rendering surfaces of volumetric data by first extracting the isosurface. + + +== Notes == + + +== See also == +Volume rendering +Isosurface +Point splatting \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/SxS-0.md b/data/en.wikipedia.org/wiki/SxS-0.md new file mode 100644 index 000000000..ac886a304 --- /dev/null +++ b/data/en.wikipedia.org/wiki/SxS-0.md @@ -0,0 +1,29 @@ +--- +title: "SxS" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/SxS" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:29.597519+00:00" +instance: "kb-cron" +--- + +SxS (S-by-S) is a flash memory standard compliant to the Sony and SanDisk-created ExpressCard standard. According to Sandisk and Sony, the cards have transfer rates of 800 Mbit/s and burst transfer rate of up to 2.5 Gbit/s over the ExpressCard's PCI Express interface. Sony uses these cards as the storage medium for their XDCAM EX line of professional video cameras. + + +== Compatibility == +The card can be inserted directly into an ExpressCard slot, available on many notebooks. However, it will only work in Windows and Mac OS X, and only with a Sony device driver installed on the machine. Experimental Linux drivers are also available. +The only universal connectivity for these cards is the Sony SBAC-US10 and Sony SBAC-US20. These external USB adapters will make the cards visible to any system as an external USB hard drive. The Sony SBAC-US20 uses the USB 3.0 interface and has a suggested retail price of US$350. + + +== SxS PRO+ == +SxS PRO+ is a faster version of SxS designed for the recording of 4K resolution video. SxS Pro+ has a guaranteed minimum recording speed of 1.3 Gbit/s and an interface with a theoretical maximum speed of 8 Gbit/s. +SxS PRO+ media cards are used on three CineAlta cameras which are the Sony PMW-F55 Sony PMW-F5, and the Sony Venice. The XAVC recording format can record 4K resolution at 60 fps with 4:2:2 chroma subsampling at 600 Mbit/s. A 128 Gigabyte SxS PRO+ media card can record up to 20 minutes of 4K resolution XAVC video at 60 fps, up to 40 minutes of 4K resolution XAVC video at 30 fps, and up to 120 minutes of 2K resolution XAVC video at 30 fps. + + +== See also == +P2 (storage media) +XAVC - A recording format that can be used with SxS PRO+ media cards + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Symbolic_simulation-0.md b/data/en.wikipedia.org/wiki/Symbolic_simulation-0.md new file mode 100644 index 000000000..68a6e2d23 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Symbolic_simulation-0.md @@ -0,0 +1,21 @@ +--- +title: "Symbolic simulation" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Symbolic_simulation" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:30.758540+00:00" +instance: "kb-cron" +--- + +In computer science, a simulation is a computation of the execution of some appropriately modelled state-transition system. Typically this process models the complete state of the system at individual points in a discrete linear time frame, computing each state sequentially from its predecessor. Models for computer programs or VLSI logic designs can be very easily simulated, as they often have an operational semantics which can be used directly for simulation. +Symbolic simulation is a form of simulation where many possible executions of a system are considered simultaneously. This is typically achieved by augmenting the domain over which the simulation takes place. A symbolic variable can be used in the simulation state representation in order to index multiple executions of the system. For each possible valuation of these variables, there is a concrete system state that is being indirectly simulated. +Because symbolic simulation can cover many system executions in a single simulation, it can greatly reduce the size of verification problems. Techniques such as symbolic trajectory evaluation (STE) and generalized symbolic trajectory evaluation (GSTE) are based on this idea of symbolic simulation. + + +== See also == +Symbolic execution +Symbolic computation + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Symbolic_trajectory_evaluation-0.md b/data/en.wikipedia.org/wiki/Symbolic_trajectory_evaluation-0.md new file mode 100644 index 000000000..6ab1b73db --- /dev/null +++ b/data/en.wikipedia.org/wiki/Symbolic_trajectory_evaluation-0.md @@ -0,0 +1,15 @@ +--- +title: "Symbolic trajectory evaluation" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Symbolic_trajectory_evaluation" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:31.894343+00:00" +instance: "kb-cron" +--- + +Symbolic trajectory evaluation (STE) is a lattice-based model checking technology that uses a form of symbolic simulation. STE is essentially used for computer hardware, that is circuit verification. The technique uses abstraction, meaning that details of the circuit behaviour are removed from the circuit model. It was first developed by Carl Seger and Randal Bryant in 1995 as an alternative to "classical" symbolic model checking. + + +== References == +C.-J. H. Seger, and R. E. Bryant, Formal Verification by Symbolic Evaluation of Partially-Ordered Trajectories, Formal Methods in System Design, Vol. 6, No. 2 (March, 1995), pp. 147–190 \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Symposium_on_Parallelism_in_Algorithms_and_Architectures-0.md b/data/en.wikipedia.org/wiki/Symposium_on_Parallelism_in_Algorithms_and_Architectures-0.md new file mode 100644 index 000000000..9d85dc2d3 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Symposium_on_Parallelism_in_Algorithms_and_Architectures-0.md @@ -0,0 +1,29 @@ +--- +title: "Symposium on Parallelism in Algorithms and Architectures" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Symposium_on_Parallelism_in_Algorithms_and_Architectures" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:33.108930+00:00" +instance: "kb-cron" +--- + +The ACM Symposium on Parallelism in Algorithms and Architectures (SPAA) is an academic conference in the fields of parallel computing and distributed computing. It is sponsored by the Association for Computing Machinery special interest groups SIGACT and SIGARCH, and it is organized in cooperation with the European Association for Theoretical Computer Science (EATCS). + + +== History == +SPAA was first organised on 18–21 June 1989, in Santa Fe, New Mexico, United States. In 1989–2002, SPAA was known as Symposium on Parallel Algorithms and Architectures. In 2003, the name changed to Symposium on Parallelism in Algorithms and Architectures to reflect the extended scope of the conference. +In 2003 and 2007, SPAA was part of the Federated Computing Research Conference (FCRC). In 1998, 2005, 2009, and 2024, SPAA was co-located with the ACM Symposium on Principles of Distributed Computing (PODC). + + +== See also == +The list of distributed computing conferences contains other academic conferences in parallel and distributed computing. +The list of computer science conferences contains other academic conferences in computer science. + + +== References == + + +== External links == +SPAA proceedings in ACM Digital Library. +SPAA proceedings information in DBLP. \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Synchronous_Data_Flow-0.md b/data/en.wikipedia.org/wiki/Synchronous_Data_Flow-0.md new file mode 100644 index 000000000..92d7a672d --- /dev/null +++ b/data/en.wikipedia.org/wiki/Synchronous_Data_Flow-0.md @@ -0,0 +1,36 @@ +--- +title: "Synchronous Data Flow" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Synchronous_Data_Flow" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:34.293796+00:00" +instance: "kb-cron" +--- + +Synchronous Data Flow (SDF) is a restriction on Kahn process networks where the number of tokens read and written by each process is known ahead of time. In some cases, processes can be scheduled such that channels have bounded FIFOs. + + +== Limitations == +SDF does not account for asynchronous processes as their token read/write rates will vary. Practically, one can divide the network into synchronous sub-networks connected by asynchronous links. Alternatively a runtime supervisor can enforce fairness and other desired properties. + + +== Applications == +SDF is useful for modeling digital signal processing (DSP) routines. Models can be compiled to target parallel hardware like FPGAs, processors with DSP instruction sets like Qualcomm's Hexagon, and other systems. + + +== See also == +Kahn process networks +Petri net +Dataflow architecture +Digital signal processing § Implementation + + +== References == + + +== External links == +Synchronous Data Flow, Edward A. Lee and David G. Messerschmitt, 1987 +Embedded Software Systems course - Synchronous Dataflow +SDF analysis and visualization tools +Kahn Process Networks and a Reactive Extension \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Syntactic_noise-0.md b/data/en.wikipedia.org/wiki/Syntactic_noise-0.md new file mode 100644 index 000000000..6805c1d17 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Syntactic_noise-0.md @@ -0,0 +1,14 @@ +--- +title: "Syntactic noise" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Syntactic_noise" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:35.519286+00:00" +instance: "kb-cron" +--- + +In computer science, syntactic noise is syntax within a programming language that makes the programming language more difficult to read and understand for humans and it is considered a code smell. It fills the language with excessive clutter that makes it a hassle to write code. Syntactic noise is considered to be the opposite of syntactic sugar, which is syntax that makes a programming language more readable and enjoyable for the programmer. + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Syntax_Definition_Formalism-0.md b/data/en.wikipedia.org/wiki/Syntax_Definition_Formalism-0.md new file mode 100644 index 000000000..38442eb58 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Syntax_Definition_Formalism-0.md @@ -0,0 +1,68 @@ +--- +title: "Syntax Definition Formalism" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Syntax_Definition_Formalism" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:36.670441+00:00" +instance: "kb-cron" +--- + +The Syntax Definition Formalism (SDF) is a metasyntax used to define context-free grammars: that is, a formal way to describe formal languages. It can express the entire range of context-free grammars. Its current version is SDF3. A parser and parser generator for SDF specifications are provided as part of the free ASF+SDF Meta Environment. These operate using the SGLR (Scannerless GLR parser). An SDF parser outputs parse trees or, in the case of ambiguities, parse forests. + + +== Overview == +Features of SDF: + +Supports the entire range of context-free languages +Allows modular syntax definitions (grammars can import subgrammars) which enables reuse +Supports annotations + + +== Examples == +The following example defines a simple Boolean expression syntax in SDF2: + +module basic/Booleans + +exports + sorts Boolean + context-free start-symbols Boolean + +context-free syntax + "true" -> Boolean + "false" -> Boolean + lhs:Boolean "|" rhs:Boolean -> Boolean {left} + lhs:Boolean "&" rhs:Boolean -> Boolean {left} + "not" "(" Boolean ")" -> Boolean + "(" Boolean ")" -> Boolean + + context-free priorities + Boolean "&" Boolean -> Boolean > + Boolean "|" Boolean -> Boolean + + +== Program analysis and transformation systems using SDF == +ASF+SDF Meta Environment provides SDF +RascalMPL +Spoofax/IMP [1] +Stratego/XT +Strafunski + + +== See also == +GNU bison +ANTLR + + +== References == + + +== Further reading == +A Quick Introduction to SDF, Visser, J. & Scheerder, J. (2000) CWI +The Syntax Definition Formalism SDF, Mark van den Brand, Paul Klint, Jurgen Vinju (2007) CWI + + +== External links == +Grammar Deployment Kit +SdfMetz computes metrics for SDF grammars +Download SDF from the ASF+SDF Meta Environment homepage \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/System_Fault_Tolerance-0.md b/data/en.wikipedia.org/wiki/System_Fault_Tolerance-0.md new file mode 100644 index 000000000..fac06f0f7 --- /dev/null +++ b/data/en.wikipedia.org/wiki/System_Fault_Tolerance-0.md @@ -0,0 +1,20 @@ +--- +title: "System Fault Tolerance" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/System_Fault_Tolerance" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:37.894392+00:00" +instance: "kb-cron" +--- + +(DELETE) This text describes "product name", is not an encyclopedic entry. +In computing, System Fault Tolerance (SFT) is a fault tolerant system built into NetWare operating systems. Three levels of fault tolerance exist: + +SFT I 'Hot Fix' maps out bad disk blocks on the file system level to help ensure data integrity (fault tolerance on the disk-block level) +SFT II provides a disk mirroring or duplexing system based on RAID 1; mirroring refers to two disk drives holding the same data, duplexing uses two data channels/controllers to connect the disks (fault tolerance on the disk level and optionally on the data-channel level). +SFT III is a server duplexing scheme where if a server fails, a constantly synchronized server seamlessly takes its place (fault tolerance on the system level). + + +== References == +Novell NetWare 4.2 documentation \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/System_migration-0.md b/data/en.wikipedia.org/wiki/System_migration-0.md new file mode 100644 index 000000000..9fd7582ad --- /dev/null +++ b/data/en.wikipedia.org/wiki/System_migration-0.md @@ -0,0 +1,26 @@ +--- +title: "System migration" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/System_migration" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:39.065214+00:00" +instance: "kb-cron" +--- + +System migration involves moving a set of instructions or programs, e.g., PLC (programmable logic controller) programs, from one platform to another, minimizing reengineering. +Migration of systems can also involve downtime, while the old system is replaced with a new one. +Migration can be from a mainframe computer which has a closed architecture, to an open system which employ x86 servers. As well, migration can be from an open system to a Cloud Computing platform. The motivation for this can be the cost savings. Migration can be simplified by tools that can automatically convert data from one form to another. There are also tools to convert the code from one platform to another to be either compiled or interpreted. Vendors of such tools include Micro Focus and Metamining. An alternative to converting the code is the use of software that can run the code from the old system on the new system. Examples are Oracle Tuxedo Application Rehosting Workbench, Morphis - Transformer and products for LINC 4GL, Ispirer - products and services for database and application migration. +Migration may also be required when the hardware is no longer available. See JOVIAL. + + +== See also == +Data conversion +Data migration +Data transformation +Software migration +Software modernization +List of Linux adopters + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/System_on_TPTP-0.md b/data/en.wikipedia.org/wiki/System_on_TPTP-0.md new file mode 100644 index 000000000..fc0e65dec --- /dev/null +++ b/data/en.wikipedia.org/wiki/System_on_TPTP-0.md @@ -0,0 +1,16 @@ +--- +title: "System on TPTP" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/System_on_TPTP" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:40.272476+00:00" +instance: "kb-cron" +--- + +System on TPTP is an online interface to several automated theorem proving systems and other automated reasoning tools. +It allows users to run the systems either on problems from the latest releases from the TPTP problem library or on user-supplied problems in the TPTP syntax. +The system is maintained by Geoff Sutcliffe at the University of Miami. In November 2010, it featured more than 50 systems, including both theorem provers and model finders. System on TPTP can either run user-selected systems, or pick systems automatically based on problem features, and run them in parallel. + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Table_data_gateway-0.md b/data/en.wikipedia.org/wiki/Table_data_gateway-0.md new file mode 100644 index 000000000..9e2587305 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Table_data_gateway-0.md @@ -0,0 +1,14 @@ +--- +title: "Table data gateway" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Table_data_gateway" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:41.461471+00:00" +instance: "kb-cron" +--- + +Table Data Gateway is a design pattern in which an object acts as a gateway to a database table. The idea is to separate the responsibility of fetching items from a database from the actual usages of those objects. Users of the gateway are then insulated from changes to the way objects are stored in the database. + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Technical_informatics-0.md b/data/en.wikipedia.org/wiki/Technical_informatics-0.md new file mode 100644 index 000000000..4a6553118 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Technical_informatics-0.md @@ -0,0 +1,29 @@ +--- +title: "Technical informatics" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Technical_informatics" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:42.773760+00:00" +instance: "kb-cron" +--- + +Technical informatics is a European computer engineering equivalent, which includes, among others, digital logic and computational circuits, processor design, logic synthesis, computer architecture and organisation, low-level programming, firmware design, digital signal processing, embedded systems and physical computing. +This discipline is usually taught at vocational universities up to a master's degree level. + + +== Literature == +Bernd Becker; Rolf Drechsler; Paul Molitor (2008), Technische Informatik. Eine Einführung (in German), München: Oldenbourg Wissenschaftsverlag, ISBN 978-3-486-58650-3 +Dirk W. Hoffmann (2013), Grundlagen der Technischen Informatik (in German) (3. ed.), München: Hanser Fachbuch, ISBN 978-3-446-43757-9 +Wolfram Schiffmann; Robert Schmitz (2004), Technische Informatik 1 - Grundlagen der digitalen Elektronik, Springer-Lehrbuch (in German) (5. ed.), Berlin: Springer Verlag, doi:10.1007/978-3-642-18894-7, ISBN 978-3540404187 +Wolfram Schiffmann (2005), Technische Informatik 2 - Grundlagen der Computertechnik (in German) (5. ed.), Berlin: Springer Verlag, ISBN 978-3540222712 +Wolfram Schiffmann; Helmut Bähring; Udo Hönig (2011), Technische Informatik 3 - Grundlagen der PC-Technologie (in German) (1. ed.), Berlin: Springer Verlag, ISBN 978-3642168116 +Wolfram Schiffmann; Robert Schmitz; Jürgen Weiland (2004), Technische Informatik - Übungsbuch, Springer-Lehrbuch (in German) (3. ed.), Berlin: Springer Verlag, doi:10.1007/3-540-35123-X, ISBN 978-3540207931 + + +== References == + + +== See also == +alternative computing +computer architecture \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Tensor_glyph-0.md b/data/en.wikipedia.org/wiki/Tensor_glyph-0.md new file mode 100644 index 000000000..ed9e826a3 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Tensor_glyph-0.md @@ -0,0 +1,38 @@ +--- +title: "Tensor glyph" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Tensor_glyph" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:44.019098+00:00" +instance: "kb-cron" +--- + +In scientific visualization a tensor glyph is an object that can visualize all or most of the nine degrees of freedom, such as acceleration, twist, or shear – of a + + + + 3 + × + 3 + + + {\displaystyle 3\times 3} + + matrix. It is used for tensor field visualization, where a data-matrix is available at every point in the grid. "Glyphs, or icons, depict multiple data values by mapping them onto the shape, size, orientation, and surface appearance of a base geometric primitive." Tensor glyphs are a particular case of multivariate data glyphs. +There are certain types of glyphs that are commonly used: + +Ellipsoid +Cuboid +Cylindrical +Superquadrics +According to Thomas Schultz and Gordon Kindlmann, specific types of tensor fields "play a central role in scientific and biomedical studies as well as in image analysis +and feature-extraction methods." + + +== References == + + +== Further reading == +Superquadric Tensor Glyphs (Images and Examples) Archived 2012-02-04 at the Wayback Machine +Bertin, Jacques (2010) [1967]. Semiology of Graphics. ISBN 978-1589482616. \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Test_bench-0.md b/data/en.wikipedia.org/wiki/Test_bench-0.md new file mode 100644 index 000000000..9a7f93cec --- /dev/null +++ b/data/en.wikipedia.org/wiki/Test_bench-0.md @@ -0,0 +1,23 @@ +--- +title: "Test bench" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Test_bench" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:45.165229+00:00" +instance: "kb-cron" +--- + +A test bench or testing workbench is an environment used to verify the correctness or soundness of a design or model. +The term has its roots in the testing of electronic devices, where an engineer would sit at a lab bench with tools for measurement and manipulation, such as oscilloscopes, multimeters, soldering irons, wire cutters, and so on, and manually verify the correctness of the device under test (DUT). +In the context of software or firmware or hardware engineering, a test bench is an environment in which the product under development is tested with the aid of software and hardware tools. The software may need to be modified slightly in some cases to work with the test bench but careful coding can ensure that the changes can be undone easily and without introducing bugs. +The term "test bench" is used in digital design with a hardware description language to describe the test code, which instantiates the DUT and runs the test. +An additional meaning for "test bench" is an isolated, controlled environment, very similar to the production environment but neither hidden nor visible to the general public, customers etc. Therefore making changes is safe, because final users are not involved. + + +== See also == +Sandbox (computer security) +Test harness + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Texture_advection-0.md b/data/en.wikipedia.org/wiki/Texture_advection-0.md new file mode 100644 index 000000000..951575e81 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Texture_advection-0.md @@ -0,0 +1,30 @@ +--- +title: "Texture advection" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Texture_advection" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:46.376207+00:00" +instance: "kb-cron" +--- + +In scientific visualization, texture advection is a family of methods to densely visualize vector fields or flows (like the wind movement of a tornado). Scientists can use the created images and animations to better understand these flows and reason about them. +In comparison to techniques that visualise streamlines, streaklines, or timelines, methods of this family don't need any seed points and can produce a whole image at every step. +The methods have in common that they bend a whole image (or texture) according to the flow to create a new image that is warped by the flow. If that is done in small enough time steps and often enough, the images can be combined to create an animation visualising the flow. + + +== Methods == +Image-based flow visualization +Lagrangian–Eulerian advection +Line integral convolution + + +== See also == + Science portal + + +== References == + +Laramee, Robert S.; et al. (2006). "Texture Advection on Stream Surfaces: A Novel Hybrid Visualization Applied to CFD Simulation Results" (PDF). Eurographics/ IEEE-VGTC Symposium on Visualization. The Eurographics Association. Retrieved September 2, 2012. +Jobard, Bruno; et al. (2000). "Hardware-accelerated texture advection for unsteady flow visualization". VIS '00: Proceedings of the conference on Visualization '00. IEEE Computer Society Press. pp. 155–162. ISBN 978-1-58113-309-7. Retrieved September 2, 2012. +Bousseau, Adrien; et al. (2007). "Video watercolorization using bidirectional texture advection". ACM Transactions on Graphics. 26 (3). ACM: 104–es. doi:10.1145/1276377.1276507. Retrieved September 2, 2012. \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Theory_of_regions-0.md b/data/en.wikipedia.org/wiki/Theory_of_regions-0.md new file mode 100644 index 000000000..84d8b174d --- /dev/null +++ b/data/en.wikipedia.org/wiki/Theory_of_regions-0.md @@ -0,0 +1,119 @@ +--- +title: "Theory of regions" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Theory_of_regions" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:47.623283+00:00" +instance: "kb-cron" +--- + +The Theory of regions is an approach for synthesizing a Petri net from a transition system. As such, it aims at recovering concurrent, independent behavior from transitions between global states. Theory of regions handles elementary net systems as well as P/T nets and other kinds of nets. An important point is that the approach is aimed at the synthesis of unlabeled Petri nets only. + + +== Definition == +A region of a transition system + + + + ( + S + , + Λ + , + → + ) + + + {\displaystyle (S,\Lambda ,\rightarrow )} + + is a mapping assigning to each state + + + + s + ∈ + S + + + {\displaystyle s\in S} + + a number + + + + σ + ( + s + ) + + + {\displaystyle \sigma (s)} + + (natural number for P/T nets, binary for ENS) and to each transition label a number + + + + τ + ( + ℓ + ) + + + {\displaystyle \tau (\ell )} + + such that consistency conditions + + + + σ + ( + + s + ′ + + ) + = + σ + ( + s + ) + + + τ + ( + ℓ + ) + + + {\displaystyle \sigma (s')=\sigma (s)+\tau (\ell )} + + holds whenever + + + + ( + s + , + ℓ + , + + s + ′ + + ) + ∈→ + + + {\displaystyle (s,\ell ,s')\in \rightarrow } + +. + + +=== Intuitive explanation === +Each region represents a potential place of a Petri net. +Mukund: event/state separation property, state separation property. + + +== References == + +Badouel, Eric; Darondeau, Philippe (1998), Reisig, Wolfgang; Rozenberg, Grzegorz (eds.), "Theory of regions", Lectures on Petri Nets I: Basic Models: Advances in Petri Nets, Lecture Notes in Computer Science, Berlin, Heidelberg: Springer, pp. 529–586, doi:10.1007/3-540-65306-6_22, ISBN 978-3-540-49442-3{{citation}}: CS1 maint: work parameter with ISBN (link) \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Thomas_write_rule-0.md b/data/en.wikipedia.org/wiki/Thomas_write_rule-0.md new file mode 100644 index 000000000..fe1ade126 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Thomas_write_rule-0.md @@ -0,0 +1,219 @@ +--- +title: "Thomas write rule" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Thomas_write_rule" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:48.835841+00:00" +instance: "kb-cron" +--- + +In computer science, particularly the field of databases, the Thomas write rule is a rule in timestamp-based concurrency control. It can be summarized as ignore outdated writes. +It states that, if a more recent transaction has already written the value of an object, then a less recent transaction does not need to perform its write since the more recent one will eventually overwrite it. +The Thomas write rule is applied in situations where a predefined logical order is assigned to transactions when they start. For example, a transaction might be assigned a monotonically increasing timestamp when it is created. The rule prevents changes in the order in which the transactions are executed from creating different outputs: The outputs will always be consistent with the predefined logical order. +For example, consider a database with 3 variables (A, B, C), and two atomic operations C := A (T1), and C := B (T2). Each transaction involves a read (A or B), and a write (C). The only conflict between these transactions is the write on C. The following is one possible schedule for the operations of these transactions: + + + + + + + [ + + + + + T + + 1 + + + + + + T + + 2 + + + + + + + + R + e + a + d + ( + A + ) + + + + + R + e + a + d + ( + B + ) + + + + + + + W + r + i + t + e + ( + C + ) + + + + + W + r + i + t + e + ( + C + ) + + + + + + C + o + m + m + i + t + + + + + + + C + o + m + m + i + t + + + + ] + + + ⟺ + + + [ + + + + + T + + 1 + + + + + + T + + 2 + + + + + + + + R + e + a + d + ( + A + ) + + + + + R + e + a + d + ( + B + ) + + + + + + + W + r + i + t + e + ( + C + ) + + + + + + + + + C + o + m + m + i + t + + + + + + + C + o + m + m + i + t + + + + ] + + + + + {\displaystyle {\begin{bmatrix}T_{1}&T_{2}\\&Read(A)\\Read(B)&\\&Write(C)\\Write(C)&\\Commit&\\&Commit\end{bmatrix}}\Longleftrightarrow {\begin{bmatrix}T_{1}&T_{2}\\&Read(A)\\Read(B)&\\&Write(C)\\&\\Commit&\\&Commit\\\end{bmatrix}}} + + +If (when the transactions are created) T1 is assigned a timestamp that precedes T2 (i.e., according to the logical order, T1 comes first), then only T2's write should be visible. If, however, T1's write is executed after T2's write, then we need a way to detect this and discard the write. +One practical approach to this is to label each value with a write timestamp (WTS) that indicates the timestamp of the last transaction to modify the value. Enforcing the Thomas write rule only requires checking to see if the write timestamp of the object is greater than the time stamp of the transaction performing a write. If so, the write is discarded +In the example above, if we call TS(T) the timestamp of transaction T, and WTS(O) the write timestamp of object O, then T2's write sets WTS(C) to TS(T2). When T1 tries to write C, it sees that TS(T1) < WTS(C), and discards the write. If a third transaction T3 (with TS(T3) > TS(T2)) were to then write to C, it would get TS(T3) > WTS(C), and the write would be allowed. + + +== References == +Robert H. Thomas (1979). "A majority consensus approach to concurrency control for multiple copy databases". ACM Transactions on Database Systems. 4 (2): 180–209. doi:10.1145/320071.320076. +© \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Thought_vector-0.md b/data/en.wikipedia.org/wiki/Thought_vector-0.md new file mode 100644 index 000000000..7deb878b3 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Thought_vector-0.md @@ -0,0 +1,14 @@ +--- +title: "Thought vector" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Thought_vector" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:50.022876+00:00" +instance: "kb-cron" +--- + +Thought vector is a term popularized by Geoffrey Hinton, the prominent deep-learning researcher, which uses vectors based on natural language to improve its search results. + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Timer_coalescing-0.md b/data/en.wikipedia.org/wiki/Timer_coalescing-0.md new file mode 100644 index 000000000..d69ed148f --- /dev/null +++ b/data/en.wikipedia.org/wiki/Timer_coalescing-0.md @@ -0,0 +1,24 @@ +--- +title: "Timer coalescing" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Timer_coalescing" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:51.256943+00:00" +instance: "kb-cron" +--- + +Timer coalescing is a computer system energy-saving technique that reduces central processing unit (CPU) power consumption by reducing the precision of software timers used for synchronization of process wake-ups, minimizing the number of times the CPU is forced to perform the relatively power-costly operation of entering and exiting idle states. + + +== Implementations of timer coalescing == +The Linux kernel gained support for deferrable timers in 2.6.22, and controllable "timer slack" for threads in 2.6.28 allowing timer coalescing. +Timer coalescing has been a feature of Microsoft Windows from Windows 7 onward. +Apple's XNU kernel based OS X gained support as of OS X Mavericks. +FreeBSD supports it since September 2010. + + +== See also == + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Tombstone_diagram-0.md b/data/en.wikipedia.org/wiki/Tombstone_diagram-0.md new file mode 100644 index 000000000..24986e96a --- /dev/null +++ b/data/en.wikipedia.org/wiki/Tombstone_diagram-0.md @@ -0,0 +1,19 @@ +--- +title: "Tombstone diagram" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Tombstone_diagram" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:52.470034+00:00" +instance: "kb-cron" +--- + +In computing, tombstone diagrams (or T-diagrams) consist of a set of “puzzle pieces” representing compilers and other related language processing programs. They are used to illustrate and reason about transformations from a source language (left of T) to a target language (right of T) realised in an implementation language (bottom of T). They are most commonly found describing complicated processes for bootstrapping, porting, and self-compiling of compilers, interpreters, and macro-processors. +T-diagrams were first used for describing bootstrapping and cross-compiling compilers by Harvey Bratman in 1961, who reshaped the diagrams originally introduced by Strong et al. (1958) to illustrate UNCOL. Later on, others, including McKeeman et al. and P.D. Terry, explained the usage of T-diagrams with further detail. T-diagrams are also now used to describe client-server interconnectivity on the World Wide Web. A teaching tool TDiag has been implemented at Leipzig University, Germany. + + +== See also == +Bootstrapping (compilers) + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Trace-based_simulation-0.md b/data/en.wikipedia.org/wiki/Trace-based_simulation-0.md new file mode 100644 index 000000000..826c22137 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Trace-based_simulation-0.md @@ -0,0 +1,21 @@ +--- +title: "Trace-based simulation" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Trace-based_simulation" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:53.663255+00:00" +instance: "kb-cron" +--- + +In computer science, trace-based simulation refers to system simulation performed by looking at traces of program execution or system component access with the purpose of performance prediction. +Trace-based simulation may be used in a variety of applications, from the analysis of solid state disks to the message passing performance on very large computer clusters. +Traced-based simulators usually have two components: one that executes actions and stores the results (i.e. traces) and another which reads the log files of traces and interpolates them to new (and often more complex) scenarios. +For instance, in the case of large computer cluster design, the execution takes place on a small number of nodes, and traces are left in log files. The simulator reads those log files and simulates performance on a much larger number of nodes, thus providing a view of the performance of very large applications, based on the execution traces on a much smaller number of nodes. + + +== See also == +BIGSIM + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Transaction_data-0.md b/data/en.wikipedia.org/wiki/Transaction_data-0.md new file mode 100644 index 000000000..5eebcaf3c --- /dev/null +++ b/data/en.wikipedia.org/wiki/Transaction_data-0.md @@ -0,0 +1,35 @@ +--- +title: "Transaction data" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Transaction_data" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:54.896602+00:00" +instance: "kb-cron" +--- + +Transaction data or transaction information is a category of data describing transactions. Transaction data/information gather variables generally referring to reference data or master data – e.g. dates, times, time zones, currencies. +Typical transactions are: + +Financial transactions about orders, invoices, payments; +Work transactions about plans, activity records; +Logistic transactions about deliveries, storage records, travel records, etc.. + + +== Management == + +Recording and storing transactions is called records management. The record of the transaction is stored in a place where the retention can be guaranteed and where data is archived or removed following a retention period. Formats of recorded transactions can be digital data in databases and spreadsheets, or handwritten texts in physical documents like former bankbooks. +Transaction processing systems are application software that generate transactions and manage transaction data/information, e.g. SAP and Oracle Financials. + + +== Data warehousing == +Transaction data can be summarised in a data warehouse, which helps accessibility and analysis of the data. + + +== See also == +Data modeling +Data architecture +Information lifecycle management, process of administering digital data storage and applying policies for effective information management + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Transit_route_network_design_problem-0.md b/data/en.wikipedia.org/wiki/Transit_route_network_design_problem-0.md new file mode 100644 index 000000000..e0bcef74a --- /dev/null +++ b/data/en.wikipedia.org/wiki/Transit_route_network_design_problem-0.md @@ -0,0 +1,20 @@ +--- +title: "Transit route network design problem" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Transit_route_network_design_problem" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:56.095510+00:00" +instance: "kb-cron" +--- + +The transit route network design problem is a mathematical optimization problem in the context of transportation networks with well-defined stops, routes and timetables such as bus and railway networks. +The problem can be broken down into five subproblems: transportation network design, frequency setting, timetable development, vehicle scheduling, and crew scheduling. + + +== See also == +Liner shipping network design and scheduling problem +Highway network optimization + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Traversed_edges_per_second-0.md b/data/en.wikipedia.org/wiki/Traversed_edges_per_second-0.md new file mode 100644 index 000000000..9d30d4ff7 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Traversed_edges_per_second-0.md @@ -0,0 +1,24 @@ +--- +title: "Traversed edges per second" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Traversed_edges_per_second" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:57.342986+00:00" +instance: "kb-cron" +--- + +The number of traversed edges per second (TEPS) that can be performed by a supercomputer cluster is a measure of both the communications capabilities and computational power of the machine. This is in contrast to the more standard metric of floating-point operations per second (FLOPS), which does not give any weight to the communication capabilities of the machine. The term first entered usage in 2010 with the advent of petascale computing, and has since been measured for many of the world's largest supercomputers. +In this context, an edge is a connection between two vertices on a graph, and the traversal is the ability of the machine to communicate data between these two points. The standardized benchmark associated with Graph500, as of September, 2011, calls for executing graph generation and search algorithms on graphs as large as 1.1 Petabyte. +The ability of an application to utilize a supercomputer cluster effectively depends not only on the raw speed of each processor, but also on the communication network. The importance of communication capability varies from application to application, but it is clear that the LINPACK benchmarks traditionally used for rating the FLOPS of supercomputers do not require the same communications capability as many scientific applications. +Therefore, alternative metrics that characterize the performance of a machine in a more holistic manner may be more relevant for many scientific applications, and may be desirable for making purchasing decisions. + + +== See also == +TOP500 +Graph500 +HPCG benchmark +Criticism of LINPACK benchmarks + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Trellis_quantization-0.md b/data/en.wikipedia.org/wiki/Trellis_quantization-0.md new file mode 100644 index 000000000..33ae23508 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Trellis_quantization-0.md @@ -0,0 +1,17 @@ +--- +title: "Trellis quantization" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Trellis_quantization" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:58.511007+00:00" +instance: "kb-cron" +--- + +Trellis quantization is an algorithm that can improve data compression in DCT-based encoding methods. It is used to optimize residual DCT coefficients after motion estimation in lossy video compression encoders such as Xvid and x264. Trellis quantization reduces the size of some DCT coefficients while recovering others to take their place. This process can increase quality because coefficients chosen by Trellis have the lowest rate-distortion ratio. Trellis quantization effectively finds the optimal quantization for each block to maximize the PSNR relative to bitrate. It has varying effectiveness depending on the input data and compression method. + + +== References == +VirtualDub/Xvid guide mentioning Trellis quantization +FFMPEGx option documentation +Trellis explanation and pseudocode by the x264-author \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Truncation_selection-0.md b/data/en.wikipedia.org/wiki/Truncation_selection-0.md new file mode 100644 index 000000000..f322e8661 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Truncation_selection-0.md @@ -0,0 +1,31 @@ +--- +title: "Truncation selection" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Truncation_selection" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:39:59.732129+00:00" +instance: "kb-cron" +--- + +Truncation selection is a selection method in selective breeding and in evolutionary algorithms from computer science, which selects a certain share of fittest individuals from a population for reproduction in the next generation. + + +== Animal and plant breeding == +In animal and plant breeding, truncation selection is a standard method. Animals are ranked by their phenotypic value on some trait such as milk production, and the top percentage is reproduced. The effects of truncation selection for a continuous trait can be modeled by the standard breeder's equation by using heritability and truncated normal distributions. On a binary trait, it can be modeled easily using the liability threshold model. It is considered an easy and efficient method of breeding. + + +== Computer science == +In computer science, truncation selection is a selection method used in evolutionary algorithms to select potential candidate solutions for recombination modeled after the breeding method. In truncation selection the candidate solutions are ordered by fitness, and some proportion T% of the top fittest individuals are selected and reproduced randomly. It is used in Muhlenbein's breeder genetic algorithm. + + +== References == + + +== External links == +"Chapter 14: Short-term Changes in the Mean: 2. Truncation and Threshold Selection" +Crow 2010, "On epistasis: why it is unimportant in polygenic directional selection" +Visscher et al. 2008, "Heritability in the genomics era - concepts and misconceptions" +Visscher 2016, "Human Complex Trait Genetics in the 21st Century" +Weight & Harpending 2016, "Some Uses of Models of Quantitative Genetic Selection in Social Science" +Frost & Harpending 2015, "Western Europe, state formation, and genetic pacification" \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Turing_Talk-0.md b/data/en.wikipedia.org/wiki/Turing_Talk-0.md new file mode 100644 index 000000000..daf8d334c --- /dev/null +++ b/data/en.wikipedia.org/wiki/Turing_Talk-0.md @@ -0,0 +1,48 @@ +--- +title: "Turing Talk" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Turing_Talk" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:40:00.962472+00:00" +instance: "kb-cron" +--- + +The Turing Talk, previously known as the Turing Lecture, is an annual award lecture delivered by a noted speaker on the subject of Computer Science. Sponsored and co-hosted by the Institution of Engineering and Technology (IET) and the British Computer Society, the talk has been delivered at different locations in the United Kingdom annually since 1999. Venues for the talk have included Savoy Place, the Royal Institution in London, Cardiff University, The University of Manchester, Belfast City Hall and the University of Glasgow. The main talk is preluded with an insightful speaker, who performs an opening act for the main event. +The talk is named in honour of Alan Turing and should not be confused with the Turing Award lecture organised by the Association for Computing Machinery (ACM). Recent Turing talks are available as a live webcast and archived online. + + +== Turing Talks == +Previous speakers have included: + +2022: Julie McCann, a day in the life of a smart city +2021: Cecilia Mascolo, Sounding out wearable and audio data for health diagnostics +2020: Mark Girolami, Digital Twins: The Next Phase of the AI Revolution +2019: Krishna Gummadi Engineering a fair future: Why we need to train unbiased AI +2018: Andy Harter, Innovation and technology – art or science? +2017: Guruduth Banavar, Beneficial AI for the Advancement of Humankind +2016: Robert Schukai, The Internet of Me: It's all about my screens +2015: Robert Pepper, The Internet Paradox: How bottom-up beat(s) command and control +2014: Bernard S. Meyerson, Beyond silicon: Cognition and much, much more +2013: Suranga Chandratillake, What they didn't teach me: building a technology company and taking it to market +2012: Ray Dolan, From cryptoanalysis to cognitive neuroscience – a hidden legacy of Alan Turing +2011: Donald Knuth, An Evening with Donald Knuth – All Questions Answered +2010: Christopher Bishop. Embracing Uncertainty: the new machine intelligence +2009: Mike Brady, Information Engineering and its Future +2008: James Martin, Target Earth and the meaning of the 21st century +2007: Grady Booch, The Promise, the Limits and the Beauty of Software +2006: Chris Mairs, Lifestyle access for the disabled +2005: Fred Brooks, Collaboration and Telecollaboration in Design +2004: Fred Piper, Cyberspace Security, The Good, The Bad & The Ugly +2003: Caroline Kovac, Computing in the Age of the Genome +2002: Mark Welland, Smaller, faster, better – but is it nanotechnology? +2001: Nick Donofrio, Technology, Innovation and the New Economy +2000: Brian Randell, Facing up to Faults +1999: Samson Abramsky From Computation to Interaction – Towards a Science of Information + + +== See also == +Pinkerton Lecture + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Turnaround_document-0.md b/data/en.wikipedia.org/wiki/Turnaround_document-0.md new file mode 100644 index 000000000..70f7f6117 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Turnaround_document-0.md @@ -0,0 +1,15 @@ +--- +title: "Turnaround document" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Turnaround_document" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:40:02.160691+00:00" +instance: "kb-cron" +--- + +A turnaround document is a paper document containing computer-generated output that can also be used as a computer input, usually after the addition of some extra information by the user. +For example, meter cards are produced for collecting readings from gas meters, photocopiers, water meters, etc. The cards are filled in by the customer and then returned to the company for scanning using ICR (intelligent character recognition) to quickly produce customer bills. Earlier versions used punched cards, sometimes with mark sense technology. The use of meter cards has largely been replaced by fully-electronic systems including billing and payment over the internet. + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Twin_vector_quantization-0.md b/data/en.wikipedia.org/wiki/Twin_vector_quantization-0.md new file mode 100644 index 000000000..30a4e3e52 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Twin_vector_quantization-0.md @@ -0,0 +1,15 @@ +--- +title: "Twin vector quantization" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Twin_vector_quantization" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:40:03.423073+00:00" +instance: "kb-cron" +--- + +In data compression, twin vector quantization is related to vector quantization, but the speed of the quantization is doubled by the secondary vector analyzer. +By using a subdimensional vector space useless hyperspace will be destroyed in the process. +The formula for calculating the amount of destroyed hyperspace is: + +H(x) = 5.22 / 4m \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Two-level_scheduling-0.md b/data/en.wikipedia.org/wiki/Two-level_scheduling-0.md new file mode 100644 index 000000000..4aa0fe60c --- /dev/null +++ b/data/en.wikipedia.org/wiki/Two-level_scheduling-0.md @@ -0,0 +1,23 @@ +--- +title: "Two-level scheduling" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Two-level_scheduling" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:40:04.714758+00:00" +instance: "kb-cron" +--- + +Two-level scheduling is a computer science term to describe a method to more efficiently perform process scheduling that involves swapped out processes. +Consider this problem: A system contains 50 running processes all with equal priority. However, the system's memory can only hold 10 processes in memory simultaneously. Therefore, there will always be 40 processes swapped out written on virtual memory on the hard disk. The time taken to swap out and swap in a process is 50 ms respectively. +With straightforward Round-robin scheduling, every time a context switch occurs, a process would need to be swapped in (because only the 10 least recently used processes are swapped in). Choosing randomly among the processes would diminish the probability to 80% (40/50). If that occurs, then obviously a process also need to be swapped out. Swapping in and out of is costly, and the scheduler would waste much of its time doing unneeded swaps. +That is where two-level scheduling enters the picture. It uses two different schedulers, one lower-level scheduler which can only select among those processes in memory to run. That scheduler could be a Round-robin scheduler. The other scheduler is the higher-level scheduler whose only concern is to swap in and swap out processes from memory. It does its scheduling much less often than the lower-level scheduler since swapping takes so much time. +Thus, the higher-level scheduler selects among those processes in memory that have run for a long time and swaps them out. They are replaced with processes on disk that have not run for a long time. Exactly how it selects processes is up to the implementation of the higher-level scheduler. A compromise has to be made involving the following variables: + +Response time: A process should not be swapped out for too long. Then some other process (or the user) will have to wait needlessly long. If this variable is not considered resource starvation may occur and a process may not complete at all. +Size of the process: Larger processes must be subject to fewer swaps than smaller ones because they take longer time to swap. Because they are larger, fewer processes can share the memory with the process. +Priority: The higher the priority of the process, the longer it should stay in memory so that it completes faster. + + +== References == +Tanenbaum, Albert Woodhull, Operating Systems: Design and Implementation, p.92 \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Type_erasure-0.md b/data/en.wikipedia.org/wiki/Type_erasure-0.md new file mode 100644 index 000000000..615472f21 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Type_erasure-0.md @@ -0,0 +1,28 @@ +--- +title: "Type erasure" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Type_erasure" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:40:05.929238+00:00" +instance: "kb-cron" +--- + +In programming languages, type erasure is the load-time process by which explicit type annotations are removed from a program, before it is executed at run-time. Operational semantics not requiring programs to be accompanied by types are named type-erasure semantics, in contrast with type-passing semantics. Type-erasure semantics is an abstraction principle, ensuring that the run-time execution of a program doesn't depend on type information. In the context of generic programming, the opposite of type erasure is named reification. + + +== Type inference == + +The reverse operation is named type inference. Though type erasure can be an easy way to define typing over implicitly typed languages (an implicitly typed term is well-typed if and only if it is the erasure of a well-typed explicitly typed lambda term), it doesn't provide rules of inference for this definition. + + +== See also == +Template (C++) +Problems with type erasure (in Generics in Java) +Monomorphization +Type polymorphism + + +== References == + +Crary, Karl; Weirich, Stephanie; Morrisett, Greg (2002). "Intensional Polymorphism in Type-Erasure Semantics". Journal of Functional Programming. 12 (6): 567–600. CiteSeerX 10.1.1.5.4507. doi:10.1017/S0956796801004282. \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Typed_assembly_language-0.md b/data/en.wikipedia.org/wiki/Typed_assembly_language-0.md new file mode 100644 index 000000000..5b73b1b2a --- /dev/null +++ b/data/en.wikipedia.org/wiki/Typed_assembly_language-0.md @@ -0,0 +1,24 @@ +--- +title: "Typed assembly language" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Typed_assembly_language" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:40:07.065494+00:00" +instance: "kb-cron" +--- + +In computer science, a typed assembly language (TAL) is an assembly language that is extended to include a method of annotating the datatype of each value that is manipulated by the code. These annotations can then be used by a program (type checker) that processes the assembly language code in order to analyse how it will behave when it is executed. Specifically, such a type checker can be used to prove the type safety of code that meets the criteria of some appropriate type system. +Typed assembly languages provide mechanisms for describing and verifying the types of values stored in registers and memory. These mechanisms allow the type system to enforce safe use of pointers, stack frames, and heap-allocated data structures, independent of any particular memory management strategy. +A typed assembly language can be used to support a trusted execution environment. As safety properties can be verified statically by checking the program's types, TAL based systems execute native code directly without relying on interpreted bytecode or a virtual machine. + + +== See also == +Proof-carrying code + + +== References == + + +== External links == +TALx86, a research project from Cornell University which has implemented a typed assembler for the Intel IA-32 architecture. \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Unidirectional_data_flow-0.md b/data/en.wikipedia.org/wiki/Unidirectional_data_flow-0.md new file mode 100644 index 000000000..8d2be1643 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Unidirectional_data_flow-0.md @@ -0,0 +1,26 @@ +--- +title: "Unidirectional data flow" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Unidirectional_data_flow" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:40:08.266669+00:00" +instance: "kb-cron" +--- + +In information technology and computer science, the pattern of applying one-way mutations to an immutable data state is called unidirectional data flow. Separation of state changes from presentation has many benefits and was popularized with Redux for unidirectional data flow combined with React for presenting, or rendering, data state. + + +== See also == +Data (computer science) +Unidirectional network +Single source of truth +Diode + + +== References == + + +== External links == +Redux concepts +MobX principles \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Uniform_consensus-0.md b/data/en.wikipedia.org/wiki/Uniform_consensus-0.md new file mode 100644 index 000000000..29f5f88b4 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Uniform_consensus-0.md @@ -0,0 +1,21 @@ +--- +title: "Uniform consensus" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Uniform_consensus" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:40:09.478911+00:00" +instance: "kb-cron" +--- + +In computer science, Uniform consensus is a distributed computing problem that is a similar to the consensus problem with one more condition which is no two processes (whether faulty or not) decide differently. +More specifically one should consider this problem: + +Each process has an input, should decide on an output (one-shot problem) +Uniform Agreement: every two decisions are the same +Validity: every decision is an input of one of the processes +Termination: eventually all correct processes decide + + +== References == +Charron-Bost, Bernadette; Schiper, André (April 2004). "Uniform consensus is harder than consensus". Journal of Algorithms. 51 (1): 15–37. doi:10.1016/j.jalgor.2003.11.001. \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/VCN_ExecuVision-0.md b/data/en.wikipedia.org/wiki/VCN_ExecuVision-0.md new file mode 100644 index 000000000..1f5f059a9 --- /dev/null +++ b/data/en.wikipedia.org/wiki/VCN_ExecuVision-0.md @@ -0,0 +1,15 @@ +--- +title: "VCN ExecuVision" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/VCN_ExecuVision" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:40:11.883362+00:00" +instance: "kb-cron" +--- + +VCN ExecuVision, a combination graphics program and file manager, was the first presentation program for the personal computer, created by Visual Communications Network, Inc. and published by Prentice-Hall, Inc. for the IBM PC in 1984. The program's pre-loaded graphics library and its separate additions make the VCN ExecuVision the first professional digital clip art library. Featuring ten different typefaces, 64 color schemes, clip art, animation options, the ability to import images and the ability to draw freehand using a mouse, this program allowed users to manipulate graphics and text built with business data presentation in mind but could be used for all visual communication purposes. The program's capabilities were expanded with the release of six supplemental graphics libraries sold as individual floppy disks, which were to be joined by four more said to be in production but were ultimately never released. All of these functions required PC DOS 1.01, 128KB RAM, two disk drives, a color monitor and color graphics adapter to operate, as well as either an IBM dot-matrix or Hewlett-Packard printer to print visuals created within the program. +VCN ExecuVision gained popularity quickly following its release as it enabled businesses to create presentation slides and data visualizations quickly and easily, and was relatively cheaper than having to rely on an art department to produce all professional visual media. The benefits of this software program were first discussed in the journal of Institute of Electrical and Electronics Engineers in March 1984. In addition to the benefits of VCN ExecuVision, the journal published images created by the software, illustrating the new emerging software available for personal computers at that time. + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/VICAR_file_format-0.md b/data/en.wikipedia.org/wiki/VICAR_file_format-0.md new file mode 100644 index 000000000..d3c18271b --- /dev/null +++ b/data/en.wikipedia.org/wiki/VICAR_file_format-0.md @@ -0,0 +1,19 @@ +--- +title: "VICAR file format" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/VICAR_file_format" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:40:15.469647+00:00" +instance: "kb-cron" +--- + +VICAR is an image file format developed by the NASA's Jet Propulsion Laboratory. It is used to transport images from a variety of space missions including Cassini–Huygens and the Viking Orbiter. + + +== References == + + +== External links == +Collection of images from the Cassini orbiter +VICAR2PNG a tool that converts VICAR images. \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Variadic-0.md b/data/en.wikipedia.org/wiki/Variadic-0.md new file mode 100644 index 000000000..436642860 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Variadic-0.md @@ -0,0 +1,22 @@ +--- +title: "Variadic" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Variadic" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:40:10.726535+00:00" +instance: "kb-cron" +--- + +In computer science, a variadic function, operator, or other construct is one that accepts a variable number of arguments; that is, its arity is not fixed. Variadic constructs are commonly used in programming languages to provide flexible interfaces that can operate on varying numbers of inputs. +The term variadic is a neologism, dating back to 1936/1937. The term was not widely used until the 1970s. + + +== See also == +Variadic function – Function with variable number of arguments +Variadic macro – Macro taking a varying number of arguments +Variadic template – Templates in computer programming +Arity – Number of arguments required by a function + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Verification_condition_generator-0.md b/data/en.wikipedia.org/wiki/Verification_condition_generator-0.md new file mode 100644 index 000000000..dc87ce539 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Verification_condition_generator-0.md @@ -0,0 +1,15 @@ +--- +title: "Verification condition generator" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Verification_condition_generator" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:40:13.068884+00:00" +instance: "kb-cron" +--- + +A verification condition generator is a common sub-component of an automated program verifier that synthesizes formal verification conditions by analyzing a program's source code using a method based upon Hoare logic. VC generators may require that the source code contains logical annotations provided by the programmer or the compiler such as pre/post-conditions and loop invariants (a form of proof-carrying code). VC generators are often coupled with SMT solvers in the backend of a program verifier. After a verification condition generator has created the verification conditions they are passed to an automated theorem prover, which can then formally prove the correctness of the code. +Methods have been proposed to use the operational semantics of machine languages to automatically generate verification condition generators. + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Very_high-level_programming_language-0.md b/data/en.wikipedia.org/wiki/Very_high-level_programming_language-0.md new file mode 100644 index 000000000..32709e36b --- /dev/null +++ b/data/en.wikipedia.org/wiki/Very_high-level_programming_language-0.md @@ -0,0 +1,25 @@ +--- +title: "Very high-level programming language" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Very_high-level_programming_language" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:40:14.243530+00:00" +instance: "kb-cron" +--- + +A very high-level programming language (VHLL) is a programming language with a very high level of abstraction, used primarily as a professional programmer productivity tool. An example would be jq. +VHLLs are usually domain-specific languages, limited to a very specific application, purpose, or type of task, and they are often scripting languages (especially extension languages), controlling a specific environment. For this reason, very high-level programming languages are often referred to as goal-oriented programming languages. +The term VHLL was used in the 1990s for what are today more often called high-level programming languages (not "very") used for scripting, such as Perl, Python, PHP, Ruby, and Visual Basic. + + +== See also == +Automatic programming +Low-level programming language +Feature-oriented programming + + +== Notes == + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Video_imprint_(computer_vision)-0.md b/data/en.wikipedia.org/wiki/Video_imprint_(computer_vision)-0.md new file mode 100644 index 000000000..5cd86981a --- /dev/null +++ b/data/en.wikipedia.org/wiki/Video_imprint_(computer_vision)-0.md @@ -0,0 +1,20 @@ +--- +title: "Video imprint (computer vision)" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Video_imprint_(computer_vision)" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:40:16.653132+00:00" +instance: "kb-cron" +--- + +Proposed as an extension of image epitomes in the field of video content analysis, video imprint is obtained by recasting video contents into a fixed-sized tensor representation regardless of video resolution or duration. Specifically, statistical characteristics are retained to some degrees so that common video recognition tasks can be carried out directly on such imprints, e.g., event retrieval, temporal action localization. It is claimed that both spatio-temporal interdependences are accounted for and redundancies are mitigated during the computation of video imprints. +The option of computing video imprints exploiting the epitome model has the advantage of more flexible input feature formats and more efficient training stage for video content analysis. + + +== See also == +Epitome (data processing) +Image epitomes + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Virtual_Object_System-0.md b/data/en.wikipedia.org/wiki/Virtual_Object_System-0.md new file mode 100644 index 000000000..1e5eab306 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Virtual_Object_System-0.md @@ -0,0 +1,16 @@ +--- +title: "Virtual Object System" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Virtual_Object_System" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:40:19.156559+00:00" +instance: "kb-cron" +--- + +The Virtual Object System (VOS) is a computer software technology for creating distributed object systems. The sites hosting Vobjects are typically linked by a computer network, such as a local area network or the Internet. Vobjects may send messages to other Vobjects over these network links (remotely) or within the same host site (locally) to perform actions and synchronize state. In this way, VOS may also be called an object-oriented remote procedure call system. In addition, Vobjects may have a number of directed relations to other Vobjects, which allows them to form directed graph data structures. +VOS is patent free, and its implementation is Free Software. The primary application focus of VOS is general purpose, multiuser, collaborative 3D virtual environments or virtual reality. The primary designer and author of VOS is Peter Amstutz. + + +== External links == +Interreality.org official site \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Virtual_environment-0.md b/data/en.wikipedia.org/wiki/Virtual_environment-0.md new file mode 100644 index 000000000..96709dc35 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Virtual_environment-0.md @@ -0,0 +1,15 @@ +--- +title: "Virtual environment" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Virtual_environment" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:40:17.964059+00:00" +instance: "kb-cron" +--- + +A virtual environment is a networked application that allows a user to interact with both the computing environment and the work of other users. Email, chat, and web-based document sharing applications are all examples of virtual environments. Simply put, it is a networked common operating space. Once the fidelity of the virtual environment is such that it "creates a psychological state in which the individual perceives himself or herself as existing within the virtual environment" (Blascovich, 2002, p. 129) then the virtual environment (VE) has progressed into the realm of immersive virtual environments (IVEs). + + +== References == +Blascovich, J. (2002). Social Influence within Immersive Virtual Environments. In R. Schroeder (Ed.), The Social Life of Avatars: Presence and Interaction in Shared Virtual Environments (pp. 127-145). London: Springer. \ No newline at end of file