Xah Programing Blog Archive 2016-07
history of OCaml
http://adam.chlipala.net/mlcomp/ Comparing Objective Caml and Standard ML
how much does the OCaml team care about doc?
OCAML's Official Tutorial Blatantly Suck (updated)
Functional Programing's Time Has Come
I've been doing FP since 1995, at Wolfram Research. Now, after 20 yrs, it is finally accepted in industry. OCaml, Haskell, are used at Facebook and Google … 😢
Pattern Matching, OCaml, Haskell, vs Wolfram Language
now i'm getting it. OCaml and Haskell's “pattern matching” are just “case” statements, while Wolfram Language pattern matching are actually BNF parser on symbols.
i always knew, that Haskell and OCaml's pattern matching is not the same as Mathematica. Now i know, it's not even in the same league.
now with navigation panel
how does a modern massive multiplayer online game work?
how a game work? any tutorial recommendation? not interested in exact how-to tutorial nor framework recommendation. But how does it work, in general, explained to a programer.
for example, i know how web site work, all details, from server to client to protocols to lang and framework, database, components, all.
so i want to know how game works, especially understand how modern complex 3D game works. the skeleton, tech.
for example, As far as i know, i know about Tetris or writing a board-game. In Tetris, basically you have a loop… take user input, update screen, something like that. But in more complex games, such as 2D Mario or Donkey Kong… how does it work? and in complex 3D games today, The Legend of Zelda: Ocarina of Time , how does it work? the 3d graphics, the scene map, the AI, how it all work?
some one showed me this heavy site, deep dissecting a game engine. May not be exactly what i was looking for, but interesting anyway.
[DOOM3 SOURCE CODE REVIEW: INTRODUCTION (PART 1 OF 6) By Fabien Sanglard. At http://fabiensanglard.net/doom3/index.php , Accessed on 2016-07-26 ]
- 1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond http://www.gamasutra.com/view/feature/3094/1500_archers_on_a_288_network_.php
- An Empirical Evaluation of TCP Performance in Online Games http://www.iis.sinica.edu.tw/~swc/pub/tcp_in_games.html
- Synchronous RTS Engines and a Tale of Desyncs https://blog.forrestthewoods.com/synchronous-rts-engines-and-a-tale-of-desyncs-9d8c3e48b2be#.3389edf4f
- Synchronous RTS Engines 2: Sync Harder https://blog.forrestthewoods.com/synchronous-rts-engines-2-sync-harder-5c0aa9b23820#.qbfyfc2zc
paradox: currying, pointless programing, and referential transparency
just had a epiphany functional programing paradox, on currying, pointless programing, and referential transparency.
in haskell etc, you have currying, which relies on resolving variable in outer scope to work.
then, there's the idea that every function's variable/constants, must be passed thru parameter.
but these two conflicts.
i have yet to resolve it.
doc by dummies, Technical writing at its worst (now with side nav panel. some are recent.)
Python Documentation Problems (old essays. now with side nav panel)
Jargons of Software Industry (old essays. now with side navigation panel)
[Code-execution vuln resides in code used in cell towers, radios, and basebands. By Dan Goodin. At http://arstechnica.com/security/2016/07/software-flaw-puts-mobile-phones-and-networks-at-risk-of-complete-takeover/ , Accessed on 2016-07-20 ]
[FLAWS IN WIRELESS MICE AND KEYBOARDS LET HACKERS TYPE ON YOUR PC By Andy Greenberg. At https://www.wired.com/2016/02/flaws-in-wireless-mice-and-keyboards-let-hackers-type-on-your-pc/#slide-1 , Accessed on 2016-07-20 ]
Intro to POV-Ray (added navigation panel)
Clojure Instaparse Parser Tutorial (added navigation panel)
what kinda semantics is amendable to static analysis (so can compile fast code)? golang, rust, ocaml, are good to look into
linux desktop progress; creating linux theme = pain
linux i thought, after 2 decades, creating a theme is just parametrized gui tweak. Like, you'd just pick a color for different places, pick different background image for widget's look. but it's not like that at all. It's actually a major pain in the ass.
see this xfwm4 theme how-to at https://wiki.xfce.org/howto/xfwm4_theme
Of all languages, i have preferences of my own, but mostly, i voice agaist those that are lies by either marketing (e.g. java) or fashion (perl, now haskell).
have you heard of Teach Yourself Programming in Ten Years By Peter Norvig? that's widely cited, and most unreal article, loved by hackers.
but today, even #haskell is passé. It's like, we have a new shiny better-than-haskell language every month.
old articles navigation panel
a decade old newsgroup rants now have side-panel index, for your reading pleasure.
swashbuckling thru all the idiocy of the world
next 4 hours, ocaml and js. ma like, gonna study myself to death, brace and blast thru all odds.
like, swashbuckling thru all the idiocy of the world and die a martyr.
the incredible crime of unix, is forgotten. new generation knows not an iota.
there's a change in past decade of IT industry, that unix/linux command line art is no longer a thing.
sys admin becomes dev ops, and that's like cloud stuff, and docker and semi python.
sometimes i wonder, aren't there computer scientist research on syntax stuff like those i care about.
i think the answer is yes, but rather considered unimportant and esoteric. To see them, one has to be in the field of parser and compiler.
you know? as in math, there are hundreds of branches and aspects, interest and take comes and go as fashion. Similarly is computer sci topics.
ocaml syntax abuse is dire
wow, ocaml syntax abuse is dire.
= is both assignment and equality test, depends on context.
i get the sense that since Meta Language, most functional language syntax derives from it, and are ad hoc garbage, possibly worse than C. e.g. haskell
command line to suspend machine propertly (also lock), for xfce
# command to suspend machine xfce4-session-logout --suspend
Ask me question on patreon