Roger Hui: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
(Dyalog user meetings)
(28 intermediate revisions by 4 users not shown)
Line 1: Line 1:
'''Roger Kwok Wah Hui''' (born 1953) is a computer scientist and co-developer of the programming language [[J]], and later [[Dyalog APL]].
[[File:Roger.jpg|thumb|right|At [[Dyalog '18]]]]
'''Roger Kwok Wah Hui''' (December 29, 1953 - October 16, 2021<ref name=death>[[Eric Iverson]]. [http://www.jsoftware.com/pipermail/programming/2021-October/059091.html Roger Hui - 1953 - 2021]. [[Jsoftware]] programming forum. 2021-10-17.</ref>) was a computer scientist and co-developer of the programming language [[J]], and later [[Dyalog APL]]. He ran and maintained the [[Jsoftware]] website.
__TOC__
[[File:RH.jpg|thumb|left|Roger Hui's Iverson Award]]
== History ==
Hui's work was described at the APL85 conference in a paper, "DESIGN: A Financial Modelling System", written jointly with his supervisor, Fred Appleyard. The basic objects in the system were in "Direct Definition" ([[Ken Iverson|Iverson]], 1976, 1980), and [[Adin Falkoff|Falkoff]] and Iverson's The Design of APL was cited. Hui left Alberta Energy shortly after being promoted to a non-APL and non-programming position, and was out of work, and had no access to computers, from September 1985 to April 1986. This gave him plenty of time for intense study of Iverson's Rationalized APL (1983) and [[A Dictionary of APL|A Dictionary of the APL Language]], as it was then named. In 1996, Hui received the [[Iverson Award]] for his work on the design, implementation, and commercial development of J.


Hui's work was described at the APL85 conference in a paper, "DESIGN: A Financial Modelling System", written jointly with his supervisor, Fred Appleyard. The basic objects in the system were in "Direct Definition" ([[Ken Iverson|Iverson]], 1976, 1980), and [[Adin Falkoff|Falkoff]] and Iverson's The Design of APL was cited. Hui left Alberta Energy shortly after being promoted to a non-APL and non-programming position, and was out of work, and had no access to computers, from September 1985 to April 1986. This gave him plenty of time for intense study of Iverson's Rationalized APL (1983) and [[A Dictionary of APL|A Dictionary of the APL Language]], as it was then named.
[[File:Screenshot 2021-10-18 at 02-07-15 Hacker News.png|thumb|right|Hacker News honouring Roger Hui with a black bar across the top banner.]]
== Death ==
Hui's death was announced by [[Eric Iverson]] on October 16, 2021.<ref name=death/> It was subsequently noted in various media, including [[wikipedia:Hacker News|Hacker News]] (which displayed a black banner in his honour),<ref>Hacker News. [https://news.ycombinator.com/item?id=28898045 Roger hui has died]. 2021-10-17.</ref> [[wikipedia:Reddit|Reddit]],<ref>Reddit. [https://www.reddit.com/r/apljk/comments/qa23td/roger_hui_1953_2021/?utm_source=share&utm_medium=web2x&context=3 Roger Hui (1953 - 2021)]. apljk subreddit. 17 Oct 2021.</ref> Jsoftwares's chat,<ref>Raul Miller. [https://www.jsoftware.com/pipermail/chat/2021-October/008937.html Roger Hui - 1953 - 2021]. Jsoftware chat forum. 2021-10-17.</ref>, and Dyalog news.<ref>Dyalog Ltd. [https://www.dyalog.com/news/148/420/Roger-Hui.htm Roger Hui]. Dyalog news. 2021-10-18.</ref>


Roger Hui runs and maintains the Jsoftware website.
== Publications ==


== Publications ==
=== APL conferences ===
<div style="column-width:40em">
* [[APL85]]: Design: a financial modelling system. With Fred Appleyard.
* [[APL87]]: [https://www.jsoftware.com/papers/from.htm Some uses of { and }].
* [[APL90]]: [https://www.jsoftware.com/papers/J1990.htm APL\?]. With [[Ken Iverson|Kenneth E. Iverson]], [[Eugene McDonnell|E. E. McDonnell]], and [[Arthur Whitney|Arthur T. Whitney]].
* [[APL91]]: [https://www.snakeisland.com/gerunds.ps Gerunds and representations]. With [[Bob Bernecky|Robert Bernecky]].
* [[APL91]]: [https://www.jsoftware.com/papers/TacitDefn.htm Tacit definition]. With [[Ken Iverson|Kenneth E. Iverson]] and [[Eugene McDonnell|Eugene E. McDonnell]].
* [[APL94]]: TAGS: trains, agendas, and gerunds. With [[Ken Iverson|Kenneth E. Iverson]].
* [[APL95]]: [https://www.jsoftware.com/papers/rank.htm Rank and uniformity].
* [[APL95]]: Representations of recursion. With [[Ken Iverson|Kenneth E. Iverson]].
* [[APL97]]: Mathematical roots of J. With [[Ken Iverson|Kenneth E. Iverson]].
* [[APL99]]: [https://www.jsoftware.com/papers/sparse.htm Sparse arrays in J].
</div>


=== Dyalog user meetings ===
=== Dyalog user meetings ===
 
{{Main|Dyalog user meeting}}
* [[Dyalog '08]] [https://dyalog.tv/Dyalog08/?v=k8Wt5sDDzgI 05: Performance Improvements in Dyalog: A Case Study] ([https://www.dyalog.com/uploads/conference/dyalog08/presentations/05_Hui_Performance materials])
<div style="column-width:40em">
* [[Dyalog '08]] 05: [https://dyalog.tv/Dyalog08/?v=k8Wt5sDDzgI Performance Improvements in Dyalog: A Case Study] ([https://www.dyalog.com/uploads/conference/dyalog08/presentations/05_Hui_Performance materials])
* [[Dyalog '09]] 15: Complex Numbers Implementation Stories ([https://www.dyalog.com/uploads/conference/dyalog09/presentations/15_Hui_ComplexNumbers.ZIP materials])
* [[Dyalog '09]] 15: Complex Numbers Implementation Stories ([https://www.dyalog.com/uploads/conference/dyalog09/presentations/15_Hui_ComplexNumbers.ZIP materials])
*  Dyalog '09  [https://dyalog.tv/Dyalog09/?v=ui76NE5cMWo 26: The Rank Operator] ([https://www.dyalog.com/uploads/conference/dyalog09/presentations/26_Hui_RankOperator.ZIP materials])
*  Dyalog '09  26: [https://dyalog.tv/Dyalog09/?v=ui76NE5cMWo The Rank Operator] ([https://www.dyalog.com/uploads/conference/dyalog09/presentations/26_Hui_RankOperator.ZIP materials])
* [[Dyalog '10]] P07: Hashing for Tolerant Index-Of ([https://www.dyalog.com/uploads/conference/dyalog10/presentations/P07_Hui_Hashing.htm materials])
* [[Dyalog '10]] P07: Hashing for Tolerant Index-Of ([https://www.dyalog.com/uploads/conference/dyalog10/presentations/P07_Hui_Hashing.htm materials])
* [[Dyalog '11]] D04: Introducing the Dyalog '11 Conference Edition (with [[John Scholes]])
* [[Dyalog '11]] D04: Introducing the Dyalog '11 Conference Edition (with [[John Scholes]])
*  Dyalog '11  [https://dyalog.tv/Dyalog11/?v=CkaQQYcxpfM D05: Rational Numbers] ([https://www.dyalog.com/uploads/conference/dyalog11/presentations/D05_rational_numbers materials])
*  Dyalog '11  D05: [https://dyalog.tv/Dyalog11/?v=CkaQQYcxpfM Rational Numbers] ([https://www.dyalog.com/uploads/conference/dyalog11/presentations/D05_rational_numbers materials])
*  Dyalog '11  [https://dyalog.tv/Dyalog11/?v=bQlH49krwbk D18: What is Functional Programming?] (with [[John Scholes]])
*  Dyalog '11  D18: [https://dyalog.tv/Dyalog11/?v=bQlH49krwbk What is Functional Programming?] (with [[John Scholes]])
* [[Dyalog '12]] [https://dyalog.tv/Dyalog12/?v=KrrHYjPXc84 D04: Potential Version 14.0 Language Features] ([https://www.dyalog.com/uploads/conference/dyalog12/presentations/D04_14.0 materials]) (with [[John Scholes]])
* [[Dyalog '12]] D04: [https://dyalog.tv/Dyalog12/?v=KrrHYjPXc84 Potential Version 14.0 Language Features] ([https://www.dyalog.com/uploads/conference/dyalog12/presentations/D04_14.0 materials]) (with [[John Scholes]])
*  Dyalog '12  D08: Dyalog APL Benchmarks and Performance Enhancements ([https://www.dyalog.com/uploads/conference/dyalog12/presentations/D08_Performance materials])
*  Dyalog '12  D08: Dyalog APL Benchmarks and Performance Enhancements ([https://www.dyalog.com/uploads/conference/dyalog12/presentations/D08_Performance materials])
* [[Dyalog '13]] [https://dyalog.tv/Dyalog13/?v=J05FEbqDsZM D08: Rank and Friends] ([https://www.dyalog.com/uploads/conference/dyalog13/presentations/D08_Rank_and_Friends materials (50 KB)])
* [[Dyalog '13]] D08: [https://dyalog.tv/Dyalog13/?v=J05FEbqDsZM Rank and Friends] ([https://www.dyalog.com/uploads/conference/dyalog13/presentations/D08_Rank_and_Friends materials])
*  Dyalog '13  [https://dyalog.tv/Dyalog13/?v=84t87EO5ZEE D11: Primitive Performance] ([https://www.dyalog.com/uploads/conference/dyalog13/presentations/D11_Primitive_Performance.pps slides (1.3 MB)], [https://www.dyalog.com/uploads/conference/dyalog13/presentations/D11_Primitive_Performance materials (1.4 MB)]) (with [[Morten Kromberg]])
*  Dyalog '13  D11: [https://dyalog.tv/Dyalog13/?v=84t87EO5ZEE Primitive Performance] ([https://www.dyalog.com/uploads/conference/dyalog13/presentations/D11_Primitive_Performance.pps slides], [https://www.dyalog.com/uploads/conference/dyalog13/presentations/D11_Primitive_Performance materials]) (with [[Morten Kromberg]])
* [[Dyalog '14]] [https://dyalog.tv/Dyalog14/?v=7GDya-E3pxI D06: The Tuning Pipeline] ([https://www.dyalog.com/uploads/conference/dyalog14/presentations/D06_Tuning_Pipeline materials (200 KB)]) (with Kimmo Kekäläinen)
* [[Dyalog '14]] D06: [https://dyalog.tv/Dyalog14/?v=7GDya-E3pxI The Tuning Pipeline] ([https://www.dyalog.com/uploads/conference/dyalog14/presentations/D06_Tuning_Pipeline materials]) (with Kimmo Kekäläinen)
* [[Dyalog '15]] [https://dyalog.tv/Dyalog15/?v=AJzY4DgUVws D04: Core Performance] ([https://www.dyalog.com/uploads/conference/dyalog15/presentations/D04_Core_Performance_Foad.pdf slides_JF (625 KB)], [https://www.dyalog.com/uploads/conference/dyalog15/presentations/D04_Core_Performance_Hui.zip materials_RH (15 KB)]) (with [[Jay Foad]])
* [[Dyalog '15]] D04: [https://dyalog.tv/Dyalog15/?v=AJzY4DgUVws Core Performance] ([https://www.dyalog.com/uploads/conference/dyalog15/presentations/D04_Core_Performance_Foad.pdf slides_JF], [https://www.dyalog.com/uploads/conference/dyalog15/presentations/D04_Core_Performance_Hui.zip materials_RH]) (with [[Jay Foad]])
*  Dyalog '15  [https://dyalog.tv/Dyalog15/?v=9KOto3xXS3c D16: Future Operator Proposals: Cut, Under, Merge] ([https://www.dyalog.com/uploads/conference/dyalog15/presentations/D16_Future_Operator_Proposals.zip materials (74 KB)]) (with [[John Scholes]])
*  Dyalog '15  D16: [https://dyalog.tv/Dyalog15/?v=9KOto3xXS3c Future Operator Proposals: Cut, Under, Merge] ([https://www.dyalog.com/uploads/conference/dyalog15/presentations/D16_Future_Operator_Proposals.zip materials]) (with [[John Scholes]])
* [[Dyalog '16]] [https://dyalog.tv/Dyalog16/?v=vms4_Fpqmv8 D06: New Primitive Functions and Operators] ([https://www.dyalog.com/uploads/conference/dyalog16/presentations/D06_New_Primitives_RH.zip materials (70 KB)], [https://www.dyalog.com/uploads/conference/dyalog16/presentations/D06_New_Primitives_JS.txt demo script (4 KB)]) (with [[John Scholes]])
* [[Dyalog '16]] D06: [https://dyalog.tv/Dyalog16/?v=vms4_Fpqmv8 New Primitive Functions and Operators] ([https://www.dyalog.com/uploads/conference/dyalog16/presentations/D06_New_Primitives_RH.zip materials], [https://www.dyalog.com/uploads/conference/dyalog16/presentations/D06_New_Primitives_JS.txt demo script]) (with [[John Scholes]])
*  Dyalog '16  [https://dyalog.tv/Dyalog16/?v=2AeONlTj1aY D08: Performance: The Neverending Story] ([https://www.dyalog.com/uploads/conference/dyalog16/presentations/D08_Performance_JF.pdf slides_JF (400 KB)], [https://www.dyalog.com/uploads/conference/dyalog16/presentations/D08_Performance_RH.zip slides_RH (35 KB)]) (with [[Jay Foad]])
*  Dyalog '16  D08: [https://dyalog.tv/Dyalog16/?v=2AeONlTj1aY Performance: The Neverending Story] ([https://www.dyalog.com/uploads/conference/dyalog16/presentations/D08_Performance_JF.pdf slides_JF], [https://www.dyalog.com/uploads/conference/dyalog16/presentations/D08_Performance_RH.zip slides_RH]) (with [[Jay Foad]])
* [[Dyalog '17]] [https://dyalog.tv/Dyalog17/?v=69ncBGN3YiI D07: Index-Of on Multiple Floats] ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D07_IndexOf_on_Multiple_Floats.zip materials (1.5 MB)])
* [[Dyalog '17]] D07: [https://dyalog.tv/Dyalog17/?v=69ncBGN3YiI Index-Of on Multiple Floats] ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D07_IndexOf_on_Multiple_Floats.zip materials])
*  Dyalog '17  [https://dyalog.tv/Dyalog17/?v=fPWky9IOG40 D10: Tolerant Unique] ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D10_Tolerant_Unique.zip materials (1.5 MB)])
*  Dyalog '17  D10: [https://dyalog.tv/Dyalog17/?v=fPWky9IOG40 Tolerant Unique] ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D10_Tolerant_Unique.zip materials])
*  Dyalog '17  D15: TAO – Total Array Ordering ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D15_TAO_of_Dyalog.zip materials (1.5 MB)]) (with [[John Scholes]])
*  Dyalog '17  D15: TAO – Total Array Ordering ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D15_TAO_of_Dyalog.zip materials]) (with [[John Scholes]])
* [[Dyalog '18]] [https://dyalog.tv/Dyalog18/?v=IOWDkqKbMwk D14: Inverted Tables] ([https://www.dyalog.com/uploads/conference/dyalog18/presentations/D14_Inverted_Tables.zip slides (0.9 MB)])
* [[Dyalog '18]] D14: [https://dyalog.tv/Dyalog18/?v=IOWDkqKbMwk Inverted Tables] ([https://www.dyalog.com/uploads/conference/dyalog18/presentations/D14_Inverted_Tables.zip slides])
* [[Dyalog '20]] D07: [https://dyalog.tv/Dyalog20/?v=GgXS0zpboAM Rational Arithmetic] ([https://www.dyalog.com/uploads/conference/dyalog20/presentations/D07_Rational_Arithmetic.zip materials])
</div>
 
=== Essays ===
<div style="column-width:20em">
* [https://code.jsoftware.com/wiki/Essays/Hilbert_Matrix Hilbert Matrix]
* [https://code.jsoftware.com/wiki/Essays/Covert_Representation Covert Representation]
* [https://code.jsoftware.com/wiki/Essays/Extremal_Arguments Extremal Arguments]
* [https://code.jsoftware.com/wiki/Essays/Chinese_Remainder_Theorem Chinese Remainder Theorem]
* [https://code.jsoftware.com/wiki/Essays/Reflexive Reflexive]
* [https://code.jsoftware.com/wiki/Essays/Non-Overlapping_Substrings Non-Overlapping Substrings]
* [https://code.jsoftware.com/wiki/Essays/Huffman_Coding Huffman Coding]
* [https://code.jsoftware.com/wiki/Essays/Multiplicative_Order Multiplicative Order]
* [https://code.jsoftware.com/wiki/Essays/Krypto Krypto]
* [https://code.jsoftware.com/wiki/Essays/Mertens_Function Mertens Function]
* [https://code.jsoftware.com/wiki/Essays/Knight's_Tour Knight's Tour]
* [https://code.jsoftware.com/wiki/Essays/Attribute-Value_Processing Attribute-Value Processing]
* [https://code.jsoftware.com/wiki/Essays/Capped_Fork Capped Fork]
* [https://code.jsoftware.com/wiki/Essays/Bibliography Bibliography]
* [https://code.jsoftware.com/wiki/Essays/Substring_Replacement Substring Replacement]
* [https://code.jsoftware.com/wiki/Essays/Pascal's_Ladder Pascal's Ladder]
* [https://code.jsoftware.com/wiki/Essays/Triangular_Matrix_Inverse Triangular Matrix Inverse]
* [https://code.jsoftware.com/wiki/Essays/Semiprimes Semiprimes]
* [https://code.jsoftware.com/wiki/Essays/99_Bottles_of_Beer 99 Bottles of Beer]
* [https://code.jsoftware.com/wiki/Essays/Symmetries_of_the_Square Symmetries of the Square]
* [https://code.jsoftware.com/wiki/Essays/Quicksort Quicksort]
* [https://code.jsoftware.com/wiki/Essays/Bernoulli_Numbers Bernoulli Numbers]
* [https://code.jsoftware.com/wiki/Essays/Inverted_Table Inverted Table]
* [https://code.jsoftware.com/wiki/Essays/Kakuro Kakuro]
* [https://code.jsoftware.com/wiki/Essays/Power_Set Power Set]
* [https://code.jsoftware.com/wiki/Essays/RNG RNG]
* [https://code.jsoftware.com/wiki/Essays/Extended_Precision_Functions Extended Precision Functions]
* [https://code.jsoftware.com/wiki/Essays/Linear_Recurrences Linear Recurrences]
* [https://code.jsoftware.com/wiki/Essays/Roman_Numerals Roman Numerals]
* [https://code.jsoftware.com/wiki/Essays/Pascal's_Triangle Pascal's Triangle]
* [https://code.jsoftware.com/wiki/Essays/Timestamp_Extension Timestamp Extension]
* [https://code.jsoftware.com/wiki/Essays/Complete_Tensor Complete Tensor]
* [https://code.jsoftware.com/wiki/Essays/Insert Insert]
* [https://code.jsoftware.com/wiki/Essays/LU_Decomposition LU Decomposition]
* [https://code.jsoftware.com/wiki/Essays/Primality_Tests Primality Tests]
* [https://code.jsoftware.com/wiki/Essays/Permutation_Index Permutation Index]
* [https://code.jsoftware.com/wiki/Essays/Hook_Conjunction? Hook Conjunction?]
* [https://code.jsoftware.com/wiki/Essays/Levenshtein_Distance Levenshtein Distance]
* [https://code.jsoftware.com/wiki/Essays/Continued_Fractions Continued Fractions]
* [https://code.jsoftware.com/wiki/Essays/Partitions Partitions]
* [https://code.jsoftware.com/wiki/Essays/Factorings Factorings]
* [https://code.jsoftware.com/wiki/Essays/Under Under]
* [https://code.jsoftware.com/wiki/Essays/Square_Root Square Root]
* [https://code.jsoftware.com/wiki/Essays/Prime_APVs Prime APVs]
* [https://code.jsoftware.com/wiki/Essays/4_Queens_Problem 4 Queens Problem]
* [https://code.jsoftware.com/wiki/Essays/Tree_Display Tree Display]
* [https://code.jsoftware.com/wiki/Essays/Combinations Combinations]
* [https://code.jsoftware.com/wiki/Essays/Minors Minors]
* [https://code.jsoftware.com/wiki/Essays/Trains Trains]
* [https://code.jsoftware.com/wiki/Essays/Nurikabe Nurikabe]
* [https://code.jsoftware.com/wiki/Essays/Negative_Rank Negative Rank]
* [https://code.jsoftware.com/wiki/Essays/Cayley's_Theorem Cayley's Theorem]
* [https://code.jsoftware.com/wiki/Essays/Boxed_Array_Display Boxed Array Display]
* [https://code.jsoftware.com/wiki/Essays/Kronecker_Product Kronecker Product]
* [https://code.jsoftware.com/wiki/Essays/Order_Statistics Order Statistics]
* [https://code.jsoftware.com/wiki/Essays/Memo Memo]
* [https://code.jsoftware.com/wiki/Essays/Queens_and_Knights Queens and Knights]
* [https://code.jsoftware.com/wiki/Essays/Symmetric_Array Symmetric Array]
* [https://code.jsoftware.com/wiki/Essays/Sum_of_a_Bit_Array Sum of a Bit Array]
* [https://code.jsoftware.com/wiki/Essays/Bitwise_Functions_on_Characters Bitwise Functions on Characters]
* [https://code.jsoftware.com/wiki/Essays/Matrix_Inverse Matrix Inverse]
* [https://code.jsoftware.com/wiki/Essays/Large_Exponent_Real_Arithmetic Large Exponent Real Arithmetic]
* [https://code.jsoftware.com/wiki/Essays/Ackermann's_Function Ackermann's Function]
* [https://code.jsoftware.com/wiki/Essays/Hamming_Number Hamming Number]
* [https://code.jsoftware.com/wiki/Essays/The_Monty_Hall_Problem The Monty Hall Problem]
* [https://code.jsoftware.com/wiki/Essays/Mobius_Function Mobius Function]
* [https://code.jsoftware.com/wiki/Essays/Sine Sine]
* [https://code.jsoftware.com/wiki/Essays/Fibonacci_Sequence Fibonacci Sequence]
* [https://code.jsoftware.com/wiki/Essays/Euclidean_Algorithm Euclidean Algorithm]
* [https://code.jsoftware.com/wiki/Essays/Chudnovsky_Algorithm Chudnovsky Algorithm]
* [https://code.jsoftware.com/wiki/Essays/From_APL_to_J From APL to J]
* [https://code.jsoftware.com/wiki/Essays/Landau's_Function Landau's Function]
* [https://code.jsoftware.com/wiki/Essays/Sudoku Sudoku]
* [https://code.jsoftware.com/wiki/Essays/APL's_Birthday APL's Birthday]
* [https://code.jsoftware.com/wiki/Essays/Unforgettable_Numbers Unforgettable Numbers]
* [https://code.jsoftware.com/wiki/Essays/Newton's_Method Newton's Method]
* [https://code.jsoftware.com/wiki/Essays/Inverse_Permutation Inverse Permutation]
* [https://code.jsoftware.com/wiki/Essays/moo moo]
* [https://code.jsoftware.com/wiki/Essays/Goldbach_Conjecture Goldbach Conjecture]
* [https://code.jsoftware.com/wiki/Essays/Index_in_Nub Index in Nub]
* [https://code.jsoftware.com/wiki/Essays/Incunabulum Incunabulum]
* [https://code.jsoftware.com/wiki/Essays/Self-Upgrading_Permutations Self-Upgrading Permutations]
* [https://code.jsoftware.com/wiki/Essays/Birthday_Problem Birthday Problem]
* [https://code.jsoftware.com/wiki/Essays/Tolerant_Comparison Tolerant Comparison]
* [https://code.jsoftware.com/wiki/Essays/Vier_Neun Vier Neun]
* [https://code.jsoftware.com/wiki/Essays/QR_Decomposition QR Decomposition]
* [https://code.jsoftware.com/wiki/Essays/Do_While Do While]
* [https://code.jsoftware.com/wiki/Essays/Determinant Determinant]
* [https://code.jsoftware.com/wiki/Essays/Set_Game Set Game]
* [https://code.jsoftware.com/wiki/Essays/9_Queens_Problem 9 Queens Problem]
* [https://code.jsoftware.com/wiki/Essays/The_TAO_of_J The TAO of J]
* [https://code.jsoftware.com/wiki/Essays/Repeated_Squaring Repeated Squaring]
* [https://code.jsoftware.com/wiki/Essays/Linear_Congruential_Generator Linear Congruential Generator]
* [https://code.jsoftware.com/wiki/Essays/Block_Matrix_Inverse Block Matrix Inverse]
* [https://code.jsoftware.com/wiki/Essays/Compositions Compositions]
* [https://code.jsoftware.com/wiki/Essays/Word_Formation_on_Lines Word Formation on Lines]
* [https://code.jsoftware.com/wiki/Essays/Normal_CDF Normal CDF]
* [https://code.jsoftware.com/wiki/Essays/Progressive_Index-Of Progressive Index-Of]
* [https://code.jsoftware.com/wiki/Essays/Binary_GCD_Algorithm Binary GCD Algorithm]
* [https://code.jsoftware.com/wiki/Essays/Combination_Sums Combination Sums]
* [https://code.jsoftware.com/wiki/Essays/Sort_Times Sort Times]
* [https://code.jsoftware.com/wiki/Essays/Histogram Histogram]
* [https://code.jsoftware.com/wiki/Essays/Chi_Squared_CDF Chi Squared CDF]
* [https://code.jsoftware.com/wiki/Essays/Indeterminate Indeterminate]
* [https://code.jsoftware.com/wiki/Essays/Permutations Permutations]
* [https://code.jsoftware.com/wiki/Essays/Number_in_Words Number in Words]
* [https://code.jsoftware.com/wiki/Essays/Josephus_Problem Josephus Problem]
* [https://code.jsoftware.com/wiki/Essays/Tree_Sum Tree Sum]
* [https://code.jsoftware.com/wiki/Essays/Fibonacci_Sums Fibonacci Sums]
* [https://code.jsoftware.com/wiki/Essays/Combination_Index Combination Index]
* [https://code.jsoftware.com/wiki/Essays/Boolean_Array_Size Boolean Array Size]
* [https://code.jsoftware.com/wiki/Essays/N_Queens_Problem N Queens Problem]
* [https://code.jsoftware.com/wiki/Essays/Self-Downgrading_Permutations Self-Downgrading Permutations]
* [https://code.jsoftware.com/wiki/Essays/Tower_of_Hanoi Tower of Hanoi]
* [https://code.jsoftware.com/wiki/Essays/Gray_Code Gray Code]
* [https://code.jsoftware.com/wiki/Essays/Next_Binary_String Next Binary String]
* [https://code.jsoftware.com/wiki/Essays/Egyptian_Fraction Egyptian Fraction]
* [https://code.jsoftware.com/wiki/Essays/Parentheses_Matching Parentheses Matching]
* [https://code.jsoftware.com/wiki/Essays/Euler's_Identity Euler's Identity]
* [https://code.jsoftware.com/wiki/Essays/Odometer Odometer]
* [https://code.jsoftware.com/wiki/Essays/Collatz_Conjecture Collatz Conjecture]
* [https://code.jsoftware.com/wiki/Essays/Cholesky_Decomposition Cholesky Decomposition]
* [https://code.jsoftware.com/wiki/Essays/Extended_H Extended H]
* [https://code.jsoftware.com/wiki/Essays/Minimal_Spanning_Tree Minimal Spanning Tree]
* [https://code.jsoftware.com/wiki/Essays/KenKen KenKen]
* [https://code.jsoftware.com/wiki/Essays/Stirling's_Approximation Stirling's Approximation]
* [https://code.jsoftware.com/wiki/Essays/Stirling_Numbers Stirling Numbers]
* [https://code.jsoftware.com/wiki/Essays/IEEE_Floating-Point_Numbers IEEE Floating-Point Numbers]
* [https://code.jsoftware.com/wiki/Essays/2^64 2^64]
* [https://code.jsoftware.com/wiki/Essays/The_Ball_Clock_Problem The Ball Clock Problem]
* [https://code.jsoftware.com/wiki/Essays/Totient_Function Totient Function]
* [https://code.jsoftware.com/wiki/Essays/t-Distribution_CDF t-Distribution CDF]
* [https://code.jsoftware.com/wiki/Essays/Fibonacci_Index Fibonacci Index]
* [https://code.jsoftware.com/wiki/Essays/Bisection_Method Bisection Method]
* [https://code.jsoftware.com/wiki/Essays/Key Key]
* [https://code.jsoftware.com/wiki/Essays/English_Grammar English Grammar]
* [https://code.jsoftware.com/wiki/Essays/Roll_on_BIGINTs Roll on BIGINTs]
* [https://code.jsoftware.com/wiki/Essays/Divisors Divisors]
* [https://code.jsoftware.com/wiki/Essays/Sorting_versus_Grading Sorting versus Grading]
* [https://code.jsoftware.com/wiki/Essays/Scalars Scalars]
* [https://code.jsoftware.com/wiki/Essays/In-Place_Operations In-Place Operations]
* [https://code.jsoftware.com/wiki/Essays/Gaussian_Integers Gaussian Integers]
* [https://code.jsoftware.com/wiki/Essays/Primes_Less_Than_n Primes Less Than n]
* [https://code.jsoftware.com/wiki/Essays/Text_Formatting Text Formatting]
* [https://code.jsoftware.com/wiki/Essays/Transpose Transpose]
</div>
=== Other talks ===
* Functional Conf 2016: [https://www.youtube.com/watch?v=e0rywC7-i0U&list=PL9Z-JgiTsOYTdi91N_DlcpWqkCYvMrhA4&index=8 A Tour de Force of APL in 16 Expressions]
* Functional Conf 2017: [https://www.youtube.com/watch?v=EJONZpNA81s Tests, Derivations, Proofs]
* HOPL IV: [https://www.pldi21.org/prerecorded_hopl.2.html APL Since 1978] ([https://dl.acm.org/doi/pdf/10.1145/3386319 paper])


== External links ==
== External links ==
Line 34: Line 209:
* [[wikipedia:Roger Hui|Roger Hui]]
* [[wikipedia:Roger Hui|Roger Hui]]
* [https://www.jsoftware.com/ Jsoftware website]
* [https://www.jsoftware.com/ Jsoftware website]
* [https://dl.acm.org/profile/81100593990 ACM Digital Library]
* [https://rogerhui.rip Memorial website]
* [https://www.dyalog.com/blog/author/roger/ Dyalog blog posts by Roger Hui]
* [https://forums.dyalog.com/search.php?author_id=423&sr=posts Dyalog Forum posts by Roger Hui]


{{APL community}}[[Category:People|Hui]]
== References ==
<references />
{{APL community}}{{DEFAULTSORT:Hui}}[[Category:People]][[Category:Jsoftware employees]][[Category:Dyalog Ltd. employees]][[Category:I.P. Sharp Associates employees]][[Category:Designers]][[Category:Executives]][[Category:Implementers]]

Revision as of 11:40, 3 November 2021

Roger Kwok Wah Hui (December 29, 1953 - October 16, 2021[1]) was a computer scientist and co-developer of the programming language J, and later Dyalog APL. He ran and maintained the Jsoftware website.

Roger Hui's Iverson Award

History

Hui's work was described at the APL85 conference in a paper, "DESIGN: A Financial Modelling System", written jointly with his supervisor, Fred Appleyard. The basic objects in the system were in "Direct Definition" (Iverson, 1976, 1980), and Falkoff and Iverson's The Design of APL was cited. Hui left Alberta Energy shortly after being promoted to a non-APL and non-programming position, and was out of work, and had no access to computers, from September 1985 to April 1986. This gave him plenty of time for intense study of Iverson's Rationalized APL (1983) and A Dictionary of the APL Language, as it was then named. In 1996, Hui received the Iverson Award for his work on the design, implementation, and commercial development of J.

Hacker News honouring Roger Hui with a black bar across the top banner.

Death

Hui's death was announced by Eric Iverson on October 16, 2021.[1] It was subsequently noted in various media, including Hacker News (which displayed a black banner in his honour),[2] Reddit,[3] Jsoftwares's chat,[4], and Dyalog news.[5]

Publications

APL conferences

Dyalog user meetings

Main article: Dyalog user meeting

Essays

Other talks

External links

References

  1. 1.0 1.1 Eric Iverson. Roger Hui - 1953 - 2021. Jsoftware programming forum. 2021-10-17.
  2. Hacker News. Roger hui has died. 2021-10-17.
  3. Reddit. Roger Hui (1953 - 2021). apljk subreddit. 17 Oct 2021.
  4. Raul Miller. Roger Hui - 1953 - 2021. Jsoftware chat forum. 2021-10-17.
  5. Dyalog Ltd. Roger Hui. Dyalog news. 2021-10-18.
APL community [edit]
Conferences and activities Advent of CodeAPL CampfireAPL CultivationAPL Meetup (Portuguese) ∙ APL ShowAPL Problem Solving CompetitionAPL ChallengeAPL QuestAPL SeedsArray CastBAA sessionsCode golfDyalog user meetingsDyalog webinarsIverson Award
Chat rooms and forums APL FarmAPL Orchard
User groups APL et J (France) ∙ APL Germany (terminology) ∙ APL ∊ BCN (Spain) ∙ BAA (UK) ∙ FinnAPL (Finland) ∙ SIGAPL (USA) ∙ Tokyo APL/J/K Meetup (Japan)
People Phil AbramsBrian BeckerBob BerneckyLarry BreedCharles BrennerJim BrownAdám BrudzewskyGitte ChristensenPeter DonnellyJohn EarnestAdin FalkoffGarth FosterLib GibsonAaron HsuRoger HuiKen IversonMorten KrombergDick LathwellMarshall LochbaumEugene McDonnellRoger MooreTrenchard MoreAlan PerlisHenry RichAl RoseJohn ScholesIan SharpBob SmithGeoff StreeterArthur Whitney
Other APL Quote QuadAPL WikiBlogsBooksCase studiesFamous APL usersHumourJobsMerchandisePapersPodcastsTryAPLTry It OnlineVideo channels