HDTenEightyP/NetNews huggingface dataset:
From: zeke@znext (james dehnert)
Subject: Re: Allegro Common Lisp
Reply-To: zeke@znext.cts.com
Organization: pnet
Date: Sat, 21 Nov 1992 04:50:09 GMT

In article <1992Nov17.172123.472@gamelan> thf@zelator.in-berlin.de (Thomas  
Funke) writes:
- In article <Bxu2Fq.7oy.2@cs.cmu.edu> anwar+@cs.cmu.edu (Anwar Mohammed)  
writes:
- > I've copied B. Vrotney's recipe for fixing ACL 3.1.20 to work with
- > NS 3.0 but I encounter the following error when running config:
- > 
- > ...
- > cc -c static2.c
- > /bin/ld -x -seg1addr 2000 -headerpad 2000 -seglinkedit -lcrt0.o  -u  
libsys_s  
- -u libNeXT_s  crt0.o ucl.o  static.o static2.o -lNeXT_s -ldsp -lsys_s -o ucl
- > /bin/ld: Can't locate file for: -ldsp
- > *** Exit 1
- > Stop.
- > 
- > Any idea why?  Presumably many of you have gotten this working already.
- > 
- 
- Two tricks will help:
- 
- 1. remove "-ldsp"
- 2. or get libdsp.a from a 2.1 and install it under /usr/lib
- 
- Then ACL just runs fine under 3.0 :-)
- 
Perhaps I'm doing something else wrong then.  I coppied the /usr/libdsp* from  
my 2.1 OD to /usr/lib on my 3.0 setup, ran config, and got this:

[Writing current parameters to ./.defaults]

cc -c static2.c
/bin/ld -x -seg1addr 2000 -headerpad 2000 -seglinkedit -lcrt0.o  -u libsys_s -u  
libNeXT_s -u libdsp_s crt0.o ucl.o  static.o static2.o -lNeXT_s -ldsp_s -lsys_s  
-o ucl
/bin/ld: multiple definitions of symbol _rld_load
ucl.o definition of _rld_load in section (__TEXT,__text)
/lib/libsys_s.a(librld.o) definition of absolute _rld_load (value 0x5003a76)
/bin/ld: multiple definitions of symbol _rld_load_from_memory
ucl.o definition of _rld_load_from_memory in section (__TEXT,__text)
/lib/libsys_s.a(librld.o) definition of absolute _rld_load_from_memory (value  
0x5003a9a)
/bin/ld: multiple definitions of symbol _rld_load_basefile
ucl.o definition of _rld_load_basefile in section (__TEXT,__text)
/lib/libsys_s.a(librld.o) definition of absolute _rld_load_basefile (value  
0x5003a94)
/bin/ld: multiple definitions of symbol _rld_unload_all
ucl.o definition of _rld_unload_all in section (__TEXT,__text)
/lib/libsys_s.a(librld.o) definition of absolute _rld_unload_all (value  
0x5003a88)
/bin/ld: multiple definitions of symbol _rld_unload
ucl.o definition of _rld_unload in section (__TEXT,__text)
/lib/libsys_s.a(librld.o) definition of absolute _rld_unload (value 0x5003a7c)
/bin/ld: multiple definitions of symbol _rld_lookup
ucl.o definition of _rld_lookup in section (__TEXT,__text)
/lib/libsys_s.a(librld.o) definition of absolute _rld_lookup (value 0x5003a82)
/bin/ld: multiple definitions of symbol _rld_address_func
ucl.o definition of _rld_address_func in section (__TEXT,__text)
/lib/libsys_s.a(librld.o) definition of absolute _rld_address_func (value  
0x5003a8e)
*** Exit 1
Stop.

  Any more sugestions?

  Zeke
-- 
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
=+   +=   Eschew Obfuscation           Next Mail Welcome  =+   +=
+=   =+   James "Zeke" Dehnert        zeke@znext.cts.com  +=   =+
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
From: ta-aca@cunixb.cc.columbia.edu (Andrew C. Athan)
Newsgroups: comp.sys.next.programmer
Subject: Re: The solution to FatBinaries.
Date: 16 Nov 92 04:48:44 GMT
Reply-To: ta-aca@cunixb.cc.columbia.edu (Andrew C. Athan)
Organization: Columbia University


In article <83163@ut-emx.uucp>  writes:
> OK, NeXT is using FatBinaries to do machine code for each processor.
> The bad thing about this is when NeXTStep runs on other processors,
> binaries must be compiled and included with the release.  P-Code is
> too S----L----O----W, and interpreting binaries is slllloooowwww also.
> 
> My solution:
> 
> NeXT code
> 
> Here is how it works:
> 
> 1:  Programmer codes his "killer app"
> 2:  C-compiler compiles the code into NeXTCode which is machine
>     independant, similar to Microsoft's P-code.
> 3:  When program gets to the user, the user uses an installer/
>     "compiler" to convert the NeXTCode to native machine code for
>     his processor.

Perhaps the intermediate code generated by gnu-cc (used on NeXTs) could be
used...it is general enough for use with all the machines gcc runs on...
However, I don't know enough about the issues (or about gcc intermediate
code) at this point to know for sure.

I do suspect that software developers will not easily go for "NeXT code" as a
distribution medium, however.  For one thing, "NeXT code" would -probably- be
(by its very nature) very open.  This is excellent for debugging and
development, but few developers (except perhaps gnu) want to give something
that close to source code away.

That issue does have solutions, though.  For example, if the language is more
like the gcc intermediate code (which is relatively low level) and all
symbols not needed for run-time-linking (rld_* functions) can be stripped or
represented in some encoded format, this is less of an issue.

Already, developers have to go to relatively great lengths to protect things
like licensing code from prying eyes.  Standardized approaches to hiding
information are prime targets for hackers, since the rewards reaped are that
much bigger.  Making something like NeXT code work--both from a technical and
a marketing standpoint--will not be so easy.

Andrew Athan
Objective Technologies, Inc.
From: Michael_Pizolato@afs.com (Michael Pizolato)
Subject: Proper way to access superclass instance variables
Followup-To: comp.lang.objective-c
Reply-To: Michael_Pizolato@afs.com
Date: Wed, 18 Nov 1992 21:37:42 GMT

A question of philosophy.  Consider the following classes:

@interface Foo:Object
   {
   int value;
   }
- setValue:(int)aValue;
- (int)value;
@end

@implementation Foo
- setValue:(int)aValue
   {
   value = aValue;
   return self;
   }

- (int)value
   {
   return value;
   }
@end

@interface Bar:Foo
   {
   }
- mungValue;
- buggerValue;
@end

@implementation Bar
- mungValue
   {
   value += 2;
   }

- buggerValue
   {
   [self setValue:[self value] + 2];
   }
@end

Which method in Bar is better as far as accessing the instance variable 'value' from Foo?  I say -buggerValue is better because if Foo is in a library I have obtained from some vendor, and that vendor changes the representation of 'value' and sends me an upgrade, my code still works.  The method -mungValue could fail if the representation of 'value' changes.  For example, if the Foo class changes to this:

@interface Foo:Object
   {
   double v1, v2;
   }
- setValue:(int)aValue;
- (int)value;
@end

@implementation Foo
- setValue:(int)aValue
   {
   v1 = v2 = (double)aValue / (double)2.0;
   return self;
   }

- (int)value
   {
   return (int)(v1 + v2);
   }
@end

There's not even a 'value' ivar anymore.  I can't think of any good reason to access 'value' directly unless I have complete control over the implementation of the Foo class.  Even if I do, it's painful to change every subclass of Foo that might use 'value' directly if I change Foo as above.  Obviously, the above code is only a trivial and flawed example, but other, important data representations can change, and should change if we find better ways to do things.  For encapsulation to work properly, we shou


ld bugger and not mung. ;-)

Any thoughts?

Thanx,
Michael

P.S.  Given the conclusion that ivars should only ever be accessed through methods, it seems wrong that they appear in the @interface section.  Of course we can't change it now, but does anyone know why they're there?

--
Michael_Pizolato@afs.com
~18 kyu
Q16
NeXTMail appreciated
From: anwar+@cs.cmu.edu (Anwar Mohammed)
Newsgroups: comp.sys.next.programmer
Subject: Re: Allegro Common Lisp
Date: 17 Nov 92 07:52:33 GMT
Article-I.D.: cs.BxuoJM.E6M.2
Organization: School of Computer Science, Carnegie Mellon

In article <Bxu2Fq.7oy.2@cs.cmu.edu> anwar+@cs.cmu.edu (Anwar Mohammed) writes:
>cc -c static2.c
>/bin/ld -x -seg1addr 2000 -headerpad 2000 -seglinkedit -lcrt0.o  -u libsys_s -u libNeXT_s  crt0.o ucl.o  static.o static2.o -lNeXT_s -ldsp -lsys_s -o ucl
>/bin/ld: Can't locate file for: -ldsp
>*** Exit 1
>Stop.
>
>Any idea why?  Presumably many of you have gotten this working already.

OK, so deleting -ldsp fixes the problem....if you don't plan on using the
dsp, I presume.   This is ok for now.  What is the fix for the dsp libraries?

thanks,
anwar
-- 
Anwar Mohammed <anwar+@cs.cmu.edu> Vox:(412) 268-3043 Fax:(412) 421-8661
ASAP PhD SCS CMU. "You'll note that politicians no longer spend money,
they invest it.  Don't worry about paying more to the [IRS].  You aren't
being taxed; you're taking a plunge on a fly-by-night stock issue." - P.J.
Newsgroups: comp.sys.next.programmer
From: dglattin@trirex.com (Dennis Glatting)
Subject: Re: problem with gdb
Organization: Trirex Systems Inc.
Date: Thu, 19 Nov 1992 02:09:42 GMT

In article <BxIo9p.142.2@cs.cmu.edu> hill@norman.VI.RI.CMU.EDU (Robert  
Hill) writes:
> Dennis Glatting writes
> > 
> > A month or two back someone complained that gdb didn't worked when the  
> > *upgraded* to 3.0.  What was the resolution on this?  I have the same  
> > problem.
> > 
> > --
> > Dennis P. Glatting / Sr. Technical Manager / Trirex Systems Inc.
> 
> I missed the original thread, but I have been having problems with gdb  
> printing the wrong values for variables under 3.0.  I'll type something  
> like "print x".  I am really sure x has the value of 1, but it says x is  
> 0.  At first I thought I was wrong about the value of x, but adding a  
> printf said that x was 1.  Very strange.
> 
> Is there any reported bugs for gdb under 3.0?
> 
> Rob

I found the answer to my problem.  I had a "limit stacksize 10000" in my  
cshrc left over from the pre-collect fix days.  I took it out and my  
problem went away.

--
Dennis P. Glatting / Sr. Technical Manager / Trirex Systems Inc.
315 Post Road West / Westport, Connecticut 06880 / (203)221-4600
dennis_glatting@trirex.com (NeXTmail Ok)
Member League for Programming Freedom
Newsgroups: comp.sys.next.programmer
From: simong@mundil.cs.mu.OZ.AU (Simon Alexander GREGORY)
Subject: I want to see my operand stack
Organization: Computer Science, University of Melbourne, Australia
Date: Thu, 19 Nov 1992 12:49:08 GMT

Im learning postscript and have realised how nice it would be if I could see
an updated representation of my operand stack in YAP or even the console
window will do.

Anybody done this, without going to the extent of buying DisplayTalk? (How much
is DisplayTalk anyway?)


Newsgroups: comp.sys.next.programmer
From: spagiola@frinext.stanford.edu (Stefano Pagiola)
Subject: Re: Q: Util to find size of all our user's Mail?
Reply-To: spagiola@frinext.stanford.edu
Organization: DSO, Stanford University
Date: Thu, 19 Nov 92 18:59:19 GMT

Shane M Zatezalo writes
> 
> Does anyone have a program or script that'll figure out the size of
> /all/ of our users received mail and incoming (spooled) mail?
> 
> I've never heard of anything like this, but we'd like to see who's
> hogging all the disk space.
> 
> Thanks!
> 
You may want to remind your users to periodically compact their  
mailboxes (utilities->compact).  Deleting does not make mail go away,  
but many users are unaware of this.

--
-
Stefano Pagiola
Food Research Institute, Stanford University
spagiola@frinext.stanford.edu (NeXTMail encouraged)
spagiola@FRI-nxt-Pagiola.stanford.edu (NeXTMail encouraged)
Newsgroups: comp.sys.next.programmer
From: brad%raven@kakwa.ucs.ualberta.ca  (Brad Nelson)
Subject: Installing g++ under NS3.0
Date: Fri, 20 Nov 1992 05:55:14 GMT


   I've been fooling around for about a week now trying
to get g++ installed on my machine.  "Fooling around" being
the operative phrase there - I don't REALLY know what I'm
doing when it comes to all the myriad little details of 
getting a compiler to work.  I wouldn't bother with C++, 
except that we're using it at school (U of Alberta). 

I've got libg++-1.37.0.tar.Z  (and 1.39) which won't compile
under 3.0.  I have a makefile that's been hacked for 
NeXTStep 2.1 - which barfs under 3.0.  I have a compiled
libg++.a, but I'm not sure what version it is, or exactly
where it goes. 

Has anyone gotten g++ running under 3.0?  I'd appreciate any
and all help, I'd MUCH sooner use my cube than those damn
Sun 3/60's in the lab, running SunView, yet.  Gawd, are they
horrible.  Almost as bad as Windoze.

-Brad        brad%raven@kakwa.ucs.ualberta.ca
From: ambi@it-next2.bu.edu (Michael Amirault)
Newsgroups: comp.sys.next.programmer
Subject: Shadows and Tall Trees... (RenderMan)
Date: 19 Nov 92 16:17:25 GMT


 Todays RenderMan question:  How's does one get shadows?? And why
isn't automatic? (i.e. You have a wall, you put a spotlight behind
the wall, why isn't there a shadow??

>From reading portions of the RenderMan Companion, it seems that
you have to create a shadow map first and then render the scene
again and use the shadow map to get the shadows.

I tried the following in my RIB file:

Display "test.z" "file" "rgbz"

This seems to create the shadow map file (I assume). But then I can't
load in the shadow map file in the second pass. I've tried stuff like:

Declare "shadowname" "string"
MakeShadow "test.z" "myShadow"
LightSource "shadowspot" 5 "shadowname" "myShadow" "from" [0 0 0]
	"to" [0 1 0]

 Any thoughts?

Mike

ps. You get bonus points if you can identify what musical group wrote
the song in the subject field..  :-)
From: sam_s@NeXT.com (Sam Streeper)
Newsgroups: comp.sys.next.programmer
Subject: Re: Drawing in View
Date: 21 Nov 92 00:56:27 GMT
Reply-To: sam_s@NeXT.com

pan@athena.mit.edu (Howard W Pan) writes:
> If I drew a picture that was larger than the frame of the View, only the part
> that is within the frame is displayed. But what happens to the rest of the
> picture? Is the other part kept in memory or is it just discarded and
> regenerated when I resize my frame? Does this have anything to do 
> with whether the Window on which my View is buffered or retained? 

What kind of picture are you drawing?  Are you drawing with PostScript  
operators?  A View is mythical entity that doesn't store any image.  Instead,  
it represents transformations and clipping that will be applied when you draw  
with focus locked on the View.  Those transformations are applied in order to  
generate bits that go to a window, which is a rectangular bitmap device.

The simple answer to your question is that Windows take storage, NXImages cache  
bitmaps in windows (and thus take storage), and Views are used to draw into  
windows but don't take storage.  (The answer is more complicated than this, but  
this is the fundamental concept)

-sam

--
Opinions expressed herein are not those of my employer.  They're not even
mine.  They're probably wrong besides.  How did they get in here, anyway?
From: jayson@millennium.com (Jayson Adams)
Subject: Re: UI: Suggestion for open and save panels
Keywords: Don't let anyone fool you, Engage! is the best NeXTSTEP dock extender!
Reply-To: jayson@millennium.com
Organization: Millennium Software Labs, Inc.
Date: Mon, 23 Nov 1992 02:30:44 GMT

In article <1992Nov21.063637.210@metrosoft.com> gvh@metrosoft.com (Gordon  
Van Huizen) writes:
> One thing we're planning to do ... is allow you to drag files and
> folders out of our dock so you could use it like a shelf. It would have
> the added benefit (over the file viewer's shelf) of not having the icons
> disappear after they have been dragged out. 

Great idea!  If you want to do this today (and a lot more), check out  
Engage!.

__jayson
Newsgroups: comp.sys.next.programmer
From: thsscvc@iitmax.iit.edu (Chris Conley)
Subject: Using a Browser to find loadable bundles
Keywords: browser bundles Unix code
Organization: Illinois Institute of Technology / Academic Computing Center
Date: Wed, 18 Nov 92 21:59:27 GMT

Hey buddy, could you spare some code?.....


I am trying to have my Controller load up a browser with a directory tree
consisting of folders that hold bundles.  Different folders classify
different kinds of tools (that are bundles)  I would like a user to be able
to select a bundle from the available ones in the filesystem, and then
load it up into the program.

I am having some trouble filling in the Browser with the available files.
I am referencing FileBrowser, a small example by Tyler Gingrich, but when
I compile it under 3.0, it crashes when I try to select a Directory.

Any help would definitely be decent of you.

Later,
Chris Conley


*************************************************************************
"I know we have had a lot of advances in technology.  But even with faster
computers, animation, image manipulation, desktop publishing, multi-media
and even pentops, is the content of our work any better?"

		         >anonymous
                         >guest quotes o.k. Enter ident to assume credit
*************************************************************************
Newsgroups: comp.sys.next.programmer
From: jiro@shaman.com (Jiro Nakamura)
Subject: Re: Command line access to Websters 3.0
Organization: Shaman Consulting
Date: Thu, 19 Nov 1992 15:18:39 GMT

In article <BxxDCJ.3pB@taligent.com> Jeff Wishnie <jwishnie@taligent.com>  
writes:
> Under 2.0 I used Jiro Nakamura's Define program to define words in
> Websters from the command line.
> 
> Under 3.0, it looks like the calls Jiro uses (i.e. openReference) have
> gone away. Have they been replaced by something or has NeXT intentionally
> removed command line
> access to references?


Jeff -
   I've been trying to patch define but with no success. It hasn't helped that my Websters has someone been corrupted as well.... It seems that NeXT chose not to document the calls necessary for programmatic access to Websters and I chose to save my $$$ by not ask_nexting them.

 Jiro Nakamura
, it looks like the calls Jiro uses (i.e. openReference) have
> gone away. Have they been replaced by something or has NeXT intentionally
> removed command line
> access to references?


Jeff -
   I've been trying to patch define but with no success. It hasn't helped that my Websters has someone been corrupted as well.... It seems that NeXT chose not to document
-- 
Jiro Nakamura				jiro@shaman.com (NeXTmail)
NeXTwatch / Technical Editor		76711,542 (CIS)
The Shaman Group			+1 607 277-1440 (Voice/Fax)
From: kate_smith@next.com (Kate Smith)
Newsgroups: comp.sys.next.programmer
Subject: Re: chunkPackage??? (workaround)
Date: 16 Nov 92 20:42:44 GMT

In article <3756@richsun.cpg.trs.reuter.com>  
jack@richsun.cpg.trs.reuter.com (Jack Gidding) writes:
> 
> 
> Hello all,
> 
> I am trying to split an Installer package into several chunks using  
> /NextAdmin/Installer.app/chunkPackage. Unfortunately, I continually  
> get the message:
> 
> destPkg: Undefined variable.
> 
> immediately before chunker croaks.  Has anyone encountered this  
> and/or fixed their script?
> 
> Oh, BTW, I am using NeXTSTEP 3.0.
> 
> Thanks
> 
> Jack Gidding
> Reuters
> jack@richsun.cpg.trs.reuter.com

Jack, 
There is a bug in /NextAdmin/Installer.app/chunkPackage which exhibits  
this behaviour when you don't use the -d option, or if the argument to -d  
is ".".

The fix is to change chunkPackage as follows:

117c117
<     set destDir = .				# OLD
---
>     set destDir = `/bin/pwd`		# NEW

A workaround is to always use the -d option with an absolute pathname.

I hope this helps you and others,
Kate Smith
NeXT Developer Support

Newsgroups: comp.sys.next.programmer
From: ice@socrates.umd.edu (Fredrik Nyman)
Subject: Re: Transferring between NeXT and IMB PC
Organization: University of Maryland University College
Date: Fri, 20 Nov 1992 19:22:39 GMT

ijt@cm.cf.ac.uk (I J Taylor) writes:

>Hi,
>	I've just bought an IBM 386 PC and I want to transfer "draw" 
>docaments and "WriteNow" documents to Word For Windows.  Does anybody
>know how I can do this?? 

For WriteNow, save the documents in Rich Text Format (RTF).  W4W deals
acceptably with RTF.  To transfer the other way around, save as RTF
in W4W and open in either WriteNow or Edit.App on the NeXT.

As for Draw documents, you can *HOPEFULLY* (I don't have Draw) save
Draw files as EPS (Encapsulated PostScript) which W4W will *HOPEFULLY*
be able to place in your document.
Newsgroups: comp.sys.next.programmer
From: tm8025a@american.edu
Subject: Startup Questions
Reply-To: Infinite Guitar
Organization: The American University Computing Center
Date: Thu, 19 Nov 1992 06:37:10 GMT

A few questions:
I am a network manager and was wondering if I could somehow trigger a snd  
sample to run when people log into the system

Also where can I find some games via FTP or any where else for that matter.

(Looking at Word Perfect and Lotus gets boring after a while
Newsgroups: comp.sys.next.programmer
From: jam@access.digex.com (Jeff Marshall)
Subject: Keyboard Mapping String Format
Keywords: keyboard mapping 
Organization: /dev/null
Date: Wed, 18 Nov 1992 02:25:18 GMT


    Does anyone know about the keyboard mapping string format returned by
the event status driver (NXGetKeyMapping ())? The 3.0 release notes mention
the following reference: "See the document ``Key Mappings on the NeXT
Computer'' for more details on a key mapping string." 
    I can't locate this document anywhere in the online docs, NeXTanswers, or
the 2.0 printed manuals.

thanks,
Newsgroups: comp.sys.next.programmer
From: ballew@wimpy (bill ballew)
Subject: Compiling for 2.1
Organization: The Aerospace Corporation; El Segundo, CA
Date: Thu, 19 Nov 1992 17:39:15 GMT


Is there any way to compile a NeXT App under 3.0 so that it will still
run under 2.1 ?  The app doesn't use anything in 3.0 that wasn't in 2.1.


- Bill Ballew
  ballew@wimpy.aero.org
From: matthews@oberon.umd.edu (Mike Matthews)
Newsgroups: comp.sys.next.programmer
Subject: Re: Making a window... not a window.
Date: 18 Nov 92 14:37:44 GMT
Organization: /etc/organization

As a followup to my own post, and after a hint by William E. Grosso
(william@pinoko.berkeley.edu) I need to disable moving completely; I made a
delegate of the window that did a windowDidMove that just moves it right
back, and you can click there quick enough to bring an app back.  You can
also hide the app you want in front of that window too.
------
Mike Matthews, matthews@oberon.umd.edu (NeXTmail accepted)
------
"Intelligence without character is a dangerous thing."
-- G. Steinem
From: sam_s@NeXT.com (Sam Streeper)
Newsgroups: comp.sys.next.programmer
Subject: Re: The solution to FatBinaries.
Date: 19 Nov 92 02:06:50 GMT
Reply-To: sam_s@NeXT.com

ifbb657@cc.utexas.edu (Douglas Floyd) writes:
> OK, NeXT is using FatBinaries to do machine code for each processor.
> My solution: (user compiled p-code)

While there is a lot of merit to your idea, I suspect the resultant code  
wouldn't be nearly as efficient as you imagine.  Optimization is very important  
to the overall speed of a machine/program, which is why you often see 2-3x  
speed difference between different compilers.  Optimization is much easier to  
perform when you can analyze source level constructs, and to retain these  
constructs, the p-code would have to drag along a lot of the structure of the  
original source, which would be unacceptible.

Your point gives me an interesting idea.  Soon we'll see RISC processors with  
loadable microcode that allow them to emulate intel or motorola CISC  
instruction sets.  It would be cool if part of a context switch switched the  
microcode and let the CPU execute 040 and 386 tasks side by side.  Sure it  
would be a nightmare from a systems software standpoint, but such subtle  
vicissitudes notwithstanding... (sorry for the excessive alliteration also)

-sam

--
Opinions expressed herein are not those of my employer.  They're not even
mine.  They're probably wrong besides.  How did they get in here, anyway?
Newsgroups: comp.sys.next.programmer