(Answering your request for advice...)

Personally, my original use of J was for fun. I'd not necessarily try
really hard on any one day, but I kept at it over time (and sometimes
I do study deeply, when a subject catches my eye).

The primary value of J, for me, over the years, has been a tool for
thinking about algorithms and architectures. If I ever ran into a
problem that I couldn't think how to write, I'd go "how would I solve
this in J" and sometimes write an implementation in J.

I've one some projects in J, also (including one I am working on right
now). But I couldn't predict where you would find direct application
of the language to be useful.

Thanks,

-- 
Raul

On Thu, Jul 17, 2014 at 6:05 AM, Ben Gorte - CITG
<[email protected]> wrote:
> Incidentally, in my private standard library I had
>
>    blowup
> 4 : 'x # x #"1 y'
>
> which is easy to grasp I think. Of course I can go like:
>
>    13 : 'x # x #"1 y'
> [ # #"1
>
> but I would never have gotten this idea without using 13:
>
> I only can derive it from x (f g h) y == (x f y) g (h f y), so:
> x ([ # #"1) y == (x[y) # (x#"1 y) == x # x #"1 y
>
> Well, yeah.
>
> I'm always wondering how worthwile it is to spend time (and how much?) to  
> become a more fluent tacit J-speaker. Some advice?
>
> Meanwhile I was also looking at generating the input pattern:
>    #. inv dfh &> ' 'cut  'FF 81 BD A5 A5 BD 81 FF'
> How about 2 | the Manhattan distance from the center:
>    pat =: 3 : '2|<. >./"1 | (-:<:y)-~ >{;~i.y'
> ?
> Now I can say:
>    3 blowup pat 11
> 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
> 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
> 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
> 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
> 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
> 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
> 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1
> 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1
> 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1
> 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1
> 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1
> 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1
> 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1
> 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1
> 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1
> 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1
> 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1
> 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1
> 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1
> 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1
> 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1
> 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1
> 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1
> 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1
> 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1
> 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1
> 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1
> 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
> 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
> 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
> 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
> 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
> 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
>
> (but it's not tacit)
>
> Ben
>
>
> ________________________________________
> From: [email protected] 
> [[email protected]] on behalf of Raul Miller 
> [[email protected]]
> Sent: Thursday, July 17, 2014 00:38
> To: Programming forum
> Subject: Re: [Jprogramming] a zoom function (doubling points accross rows     
>   and columns)
>
> Yes, I got as far as
>
>    2#2#"1#: dfh;.1 ' FF 81 BD A5 A5 BD 81 FF'
> 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
> 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
> 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
> 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
> 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1
> 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1
> 1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1
> 1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1
> 1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1
> 1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1
> 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1
> 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1
> 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
> 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
> 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
> 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
>
> when I saw your spoiler.
>
> Oh well... :)
>
> Thanks,
>
> --
> Raul
>
>
> On Wed, Jul 16, 2014 at 6:32 PM, 'Pascal Jasmin' via Programming
> <[email protected]> wrote:
>> spoiling quiz with answer already, neat short fork.
>>
>> zoom =: [ # #"1
>>
>>
>> ----- Original Message -----
>> From: 'Pascal Jasmin' via Programming <[email protected]>
>> To: Programming forum <[email protected]>
>> Cc:
>> Sent: Wednesday, July 16, 2014 6:08:28 PM
>> Subject: [Jprogramming] a zoom function (doubling points accross rows and    
>>    columns)
>>
>> there are too many ways to write this function, and there is probably a way 
>> that is better than what I could think of.
>>
>>  #. inv dfh &> ' 'cut  'FF 81 BD A5 A5 BD 81 FF'
>> 1 1 1 1 1 1 1 1
>> 1 0 0 0 0 0 0 1
>> 1 0 1 1 1 1 0 1
>> 1 0 1 0 0 1 0 1
>> 1 0 1 0 0 1 0 1
>> 1 0 1 1 1 1 0 1
>> 1 0 0 0 0 0 0 1
>> 1 1 1 1 1 1 1 1
>>
>> zoom =: ([ * ({.,{:)@:$@:]) $ [:, ([, [ * {:@:$@:]) $"1 #"1
>>
>>    2 zoom  #. inv dfh &> ' 'cut  'FF 81 BD A5 A5 BD 81 FF'
>> 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
>> 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
>> 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
>> 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
>> 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1
>> 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1
>> 1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1
>> 1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1
>> 1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1
>> 1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1
>> 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1
>> 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1
>> 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
>> 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
>> 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
>> 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
>>
>> for every cell in original, a 2x2 copy of that cell is made.
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to