shiro

Joined 19 years ago

Karma
650
Submissions
313
Member since
Feb 27
Honolulu, HI

Lisper. Schemer. Actor.

View on Hacker News

Recent submissions

Comment · 2 years ago
SEEKING WORK | Remote or Honolulu, HI | [email protected]

SaaS back-end dev, database engine, compiler/interpreter/DSL.

Most productive with Common Lisp, Clojure, Scheme, Go, C, C++.

Past projects: https://practical-scheme.net/ShiroKawai.pdf

Github: https://github.com/shirok

Some may know me as the author of Gauche Scheme https://practical-scheme.net/gauche/, or as a Japanese translator of Paul Graham's "Hackers and Painters", Conrad Barski's "Land of Lisp", and Stuart Halloway's "Programming Clojure".

Comment · 7 years ago
Unless you're dealing with contemporary pieces, atonal or with wild harmony, modifiers are largely the result of tonality, mode and chord progression, aren't they? I hardly need to make me "remember" them...

But yeah, I'm terrible with rhythm. I'm curious that there are different types of brain to perceive the music.

Comment · 9 years ago
Don't confuse lisp-as-an-executable-device-to-think-meta and lisp-as-one-of-programming-language-choices. Alan is talking the former.

The idea---not just to think about programs per se, but to think about abstract properties and operations of certain category of programs and to be able to actually write it down---gave the exponential power to you. Lisp was the first such tool as a programming language that allowed you to break the ceiling of first-order thinking.

Nowadays there are other languages that provide meta-level tools. And once you get the idea, the language doesn't really matter; you can apply it to any language, albeit you may have to build scaffolds around it to compensate lack of language support (Cf. Greenspun's tenth rule). So, if you already got the idea through other languages, it's good for you. You'll see Lisp as an arcane prototype of modern languages.

But note: since Lisp can write meta-level description in the same language as the base language, you can top up this ladder infinitely, meaning you can think of program-generating-program, then program-generating-program-generating-program, and so on, using a single set of tools. It is indeed powerful but somewhat crude, so modern advanced languages intentionally restrict that aspect and just try to cover the sweet spot. Even if you're familiar with metaprogramming, it may still be worth to play with Lisp to see what (meta)*programming is like, to know its pros and cons, and to get the idea that might come handy someday when single-level metaprogramming isn't enough.

Comment · 9 years ago
> Lisp let’s you build the language you want to use, and have it interoperate for the rest of the ecosystem.

I suspect this strength of Lisp could have undermined improvement of Lisp compilers in long term. That is, the fact that programmers can customize the language to run efficiently for their applications put less pressure to make the existing compiler better, compared to the languages that don't give programmers such flexibility.

I've worked on performance-sensitive commercial Common Lisp applications. We employed heavy macrology so that optimal instructions were generated in the performance critical regions. Effectively, it was reimplementing part of the compiler to deal with out domain-specific meta information such as parameterized types. It worked, but came with the cost of maintenance--as if we were maintaining another layer of the compiler. It was a burden. I'm sure there have been such effort spent in many other places and eventually abandoned.

Meanwhile, languages that give less power to the programmers, put lots of efforts to improving the compiler and/or the language that work more effectively with the improved compiler, and over a few decades, they have quite sophisticated compilers.

I still mostly use Lisp-family languages at work, but sometimes wonder if the power could have adverse effect in long term.

Comment · 9 years ago
It depends on each individual, but having looked at how my wife breastfed my son, I wouldn't say "just offer her breast". Creating milk in women's breast isn't free. They must prepare for it, and also have to take care of their breasts. My wife said it was very tiring and also got mastitis a few times. The experience may vary and I guess it'd be generally easier for young, healthy women, though.

We couldn't switch to formula because after the initial few weeks my son refused to take it. We tried various ways but couldn't make it work except breastfeeding. If we could, I wouldn't have minded preparing formula, considering how much work my wife has done for pregnancy and delivery.

Comment · 9 years ago
Not significantly, but in the Hiragana page there are some interesting differences from standard Romanization.

Most notable one is conflation of vowel [イ] and [エ]. Often both are denoted with "i", sometimes one of them is "yi". In modern American English the sound /i/ falls in middle of Japanese イ and エ. I'm not sure in this case that it's because of that, or Ryukyu dialect had shifted vowels.

セ is denoted as "she" (usually "se"). This variation of consonant appears in some Japanese dialect.

ヒ is denoted as "fi". Might stem from old Japanese pronunciation.

Curiously, ヰ is denoted as "i" and ヱ is denoted as "yi/ye/e". Usually they are "wi" and "we", but those pronunciations have been lost in modern Japanese.

Comment · 9 years ago
I'm not sure what source you derive from about the particularity of "sitting still". You imply that not being distracted from the given task? Or the physicality of sitting still has the benefit? (The two can be distinguished easily---if the latter is the case, "sitting still without doing anything, and just daydreaming wildly" would also have benefit.) Or you mean meditation? That's a different activity at all.

In the ADHD case, it seems about the way of processing stimuli. They (or at least my kid) need a sort of synchronization stimulus (or, outside distrubance, in the way that disturbance suppresses the divergence of hypersensitive systems) to keep his mind on rail. If no such stream of stimuli is provided, he must create one by his own. I try to make him find and build his own toolset to work with. (One of the activities, for example, is tapping along metronome while doing other tasks.)

[Edit] I see your comment in other thread that you refer to Zen meditation. I've learned meditation and I agree on its benefits, but it can't be applied to the current discussion of school setting---"sitting still listening lectures" and "sitting still meditating" are very different activities. The latter would certainly develop the ability of the former, but I'm dubious about just forcing the former.

Comment · 9 years ago
I guess it depends on each child. My son is diagnosed ADHD and even when I'm teaching him 1-on-1 he keeps moving some part of his body or change his posture frequently. It bothered me before, but I learned that for him it's actually easier to work on the task. Restricting movement seems to make some part of his brain hyperfocused and in a short period of time his brain "shuts down".

In his school, the classroom is a kind of free style and although he has assigned desk he can choose other places to work on his task, which seems to help him a lot. (It's Montessori, so most of the time each kid works independently according to his/her own study plan.)

Comment · 9 years ago
My knowledge of Japanese grammar is in Japanese, so I'm not certain about the English term of 主語, to be honest. We use the same term to describe 'subject' in English grammar. I used 'topic' just because the original article used it.

Your explanation of 'ga'/'wa' is spot on as far as I can understand as a layman of native speaker with standard Japanese grammar education in Japan but no advanced linguistic degree.

I'd say that, because 'wa' emphasizes the introduced subject as the center of interest, it isn't used in the subordinate clause.

Tanaka ga nihon ni itta hi. (The day Tanaka went to Japan) ; ok - the interest is on 'hi'

Tanaka wa nihon ni itta hi. ; invalid

Comment · 9 years ago
Your third example isn't valid. It needs a bit of tweak.

Tarou ga Noriko wo mita toshokan

The particle "ga" and "wa" both introduce a topic. But in a phrase to explain a noun, we use "ga" exclusively. Your main point still holds, in a sense that "Tarou ga Noriko wo mita" is a valid sentence. But to be precise, "mita" in those two sentences are different conjugated forms; it just happens that two conjugated forms are the same in the verb "miru" (to see).

Comment · 9 years ago
I took that the author didn't assume that experience (which seemed to be assumed in the article to be positively correlated to the length of career) was the only factor---lack of proper training, including knowing "classics", was also the issue. I tend to agree the latter premise, although I'm not sure the situation is as bad as the author describes. (The author says "I can’t think of a single developer I’ve met professionally who belong to the ACM or to IEEE". Is that really the case?)

IMHO, it's ok to lift answers from SO as long as 1) you know it's a shortcut and 2) when necessary you can trace back the history to the origin so that you can know the original frame the technique was invented and how it was modified along the line. A good solution in a certain context might not be optimal for your context, even though it has been improved by many.

The second point requires a certain level of skill---able to search and read CS papers and implement by yourself or incorporate the ideas into your domain. Without having proper training, it's difficult to acquire that kind of skill solely from skimming SO and alike. But I'd like to assume that graduate-level CS course do give such skill, and by experience you can hone it.

I do note that some answers in SO are pretty decent, with references to the original papers. When I answer online questions I try to do the same as much as possible within my ability and knowledge.

Comment · 9 years ago
Yup. Shifting to streaming then content creation does make sense, yet the fact that they've successfully steered such shift in this scale is amazing.
Comment · 9 years ago
Agreed. They're even different symbols (manji for temples is left-facing "sauwastika", while Hakenkreuz is right-facing); although both have the same origin.
Comment · 9 years ago
Isn't betting on it risky? I'm afraid that you may get rejected reentry next time if USCIS notices your overstay, unless you never leave the country, of course, but you never know, don't you (family emergency etc.)?
Comment · 10 years ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton