Roger Hui: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
(→‎APL conferences: Snake Island link)
m (Escaped a ? within a url)
 
(11 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[File:Roger.jpg|thumb|right|At [[Dyalog '18]]]]
[[File:Roger.jpg|thumb|right|At [[Dyalog '18]]]]
'''Roger Kwok Wah Hui''' (born 1953) is a computer scientist and co-developer of the programming language [[J]], and later [[Dyalog APL]]. He runs and maintains the Jsoftware website.
'''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__
__TOC__
[[File:RH.jpg|thumb|left|Roger Hui's Iverson Award]]
[[File:RH.jpg|thumb|left|Roger Hui's Iverson Award]]
== History ==
== 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. In 1996, Hui received the [[Iverson Award]] for his work on the design, implementation, and commercial development of J.
[[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>


== Publications ==
== Publications ==
Line 23: Line 27:


=== Dyalog user meetings ===
=== Dyalog user meetings ===
{{Main|Dyalog user meeting}}
<div style="column-width:40em">
<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 '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])
Line 45: Line 50:
* [[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 '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])
* [[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%3F 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>
</div>
=== Other talks ===
=== 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]
* 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 54: Line 210:
* [https://www.jsoftware.com/ Jsoftware website]
* [https://www.jsoftware.com/ Jsoftware website]
* [https://dl.acm.org/profile/81100593990 ACM Digital Library]
* [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]


== 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]]
{{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]]

Latest revision as of 10:41, 20 August 2023

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]
Activities ConferencesUser groups and meetupsIverson AwardExercises
Chat rooms and forums APL FarmAPL OrchardAPL Wiki
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 PerlisRaghu RanganathanHenry RichAl RoseJohn ScholesIan SharpBob SmithGeoff StreeterJoey TuttleArthur Whitney
Other APL TrustAPL Quote QuadBlogsBooksCase studiesFamous APL usersHumourJobsMerchandisePapersPodcastsTryAPLTry It OnlineVideo channels