Re: Uncle Bob
Infodorado InfoDorado via RPG400-L <[email protected]>
| Newsgroups | gmane.comp.lang.as400.rpg |
|---|---|
| Message-ID | <[email protected]> |
I would take *nothing at all* even with a grain of salt, even a big block of salt like farmers leave out in the field they call a cow lick, from AI --Alan > On 01/25/2026 2:44 AM EST Daniel Gross <[email protected]> wrote: > > > IMHO - "hallucinations" - AFAIK there is and never was a "job type" field in the PSDS. > > But it's not uncommon for LLM to "hallucinate" and produce results that are simply plain wrong. > > You then have to "argue" with it to accept the correction. > > We still have to accept that - no matter how far advanced those models are - they are still driven by statistical probability. > > And IMHO those hallucination problems will get worse, because they models are now trained partly with data, that is already generated by other LLMs. > > I have about 10 drafts for blog and LinkedIn posts here, that I wanted to do about Bob since I first seen it at TechXchange - but they all end up not so positive - so right now I keep them to myself, until I have more empirical data. > > Bob is impressive - some things it really does quite good. But there are so many cases where it quietly fails, but the code looks so convincing. > > Right now, my personal experience says: take everything that ANY LLM/AI is producing with a good (large) grain of salt! > > Kind regards, > Daniel > > > > > Am 25.01.2026 um 08:05 schrieb Gad Miron <[email protected]>: > > > > What am I missing? > > > > > > I asked Bob the following question: > > > > As an expert RPG programmer, How can you tell if an RPG program runs in > > Batch or Interactive (PSDS?) > > > > I got the following > > Using PSDS to Detect Batch vs Interactive Mode > > > > The PSDS (Program Status Data Structure) contains information about the > > program's execution environment. The key field for determining batch vs > > interactive mode is at positions 244-253, which contains the job name. > > Method 1: Check Job Type Field (Position 244-253) > > > > Here's how to implement this in free-format RPGLE: > > > > **FREE// Define PSDSDcl-Ds PSDS Qualified; PgmName Char(10) > > Pos(1); Status Zoned(5:0) Pos(11); PrevStatus Zoned(5:0) > > Pos(16); LineNum Char(8) Pos(21); Routine Char(8) > > Pos(29); Parms Zoned(3:0) Pos(37); ExcpType Char(3) > > Pos(40); ExcpNum Char(4) Pos(43); PgmLib Char(10) > > Pos(81); ExcpData Char(80) Pos(91); ExcpId Char(4) > > Pos(171); Date Char(8) Pos(191); Year Zoned(2:0) > > Pos(199); LastFile Char(8) Pos(201); LastFileLib Char(10) > > Pos(209); JobName Char(10) Pos(244); // Job name UserId > > Char(10) Pos(254); // User profile JobNumber Zoned(6:0) > > Pos(264); // Job number JobDate Zoned(6:0) Pos(270); // Job > > date RunDate Zoned(6:0) Pos(276); // Run date (YYMMDD) RunTime > > Zoned(6:0) Pos(282); // Run time (HHMMSS)End-Ds;Dcl-S JobType > > Char(1);// Determine if batch or interactiveIf > > %Subst(PSDS.JobName:1:1) >= '0' and %Subst(PSDS.JobName:1:1) <= > > '9'; JobType = 'B'; // Batch job (starts with number)Else; JobType > > = 'I'; // Interactive job (starts with Q)EndIf; > > > > txt1c1c-queryabapactionscript-3adaadocangular-htmlangular-tsapacheapexapl > > applescriptaraasciidocasmastroawkballerinabashbatbatchbebeancountberrybibtex > > bicepbladebslcc#c++cadencecairocdcclaritycljclojureclosure-templatescmakecmd > > cobolcodeownerscodeqlcoffeecoffeescriptcommon-lispconsolecoqcppcqlcrystalcs > > csharpcsscsvcuecypherddartdaxdesktopdiffdockerdockerfiledotenvdream-maker > > edgeelispelixirelmemacs-lisperberlerlangff#f03f08f18f77f90f95fennelfish > > fluentforfortran-fixed-formfortran-free-formfsfsharpfslftlgdresourcegdscript > > gdshadergeniegherkingit-commitgit-rebasegjsgleamglimmer-jsglimmer-tsglsl > > gnuplotgogqlgraphqlgroovygtshackhamlhandlebarshaskellhaxehbshclhjsonhlslhs > > htmlhtml-derivativehttphxmlhyimbainijadejavajavascriptjinjajisonjljsjson > > json5jsoncjsonljsonnetjssmjsxjuliakotlinkqlktktskustolatexleanlean4less > > liquidlisplitllvmloglogolualuaumakemakefilemarkdownmarkomatlabmdmdcmdx > > mediawikimermaidmipsmipsasmmmdmojomovenarnarratnextflownfnginxnimnixnu > > nushellobjcobjective-cobjective-cppocamlpascalperlperl6phpplsqlpopolar > > postcsspotpotxpowerquerypowershellprismaprologpropertiesprotoprotobufpsps1 > > pugpuppetpurescriptpypythonqlqmlqmldirqssrracketrakurazorrbregregexregexprel > > riscvrsrstrubyrustsassassscalaschemescsssdblshshadershaderlabshell > > shellscriptshellsessionsmalltalksoliditysoysparqlsplsplunksqlssh-configstata > > stylstylussvelteswiftsystem-verilogsystemdtalontalonscripttasltcltempl > > terraformtextftfvarstomltsts-tagstsptsvtsxturtletwigtyptypescripttypespec > > typstvvalavbverilogvhdlvimvimlvimscriptvuevue-htmlvyvyperwasmwenyanwgslwiki > > wikitextwitwlwolframxmlxslyamlymlzenscriptzigzsh文言 > > Method 2: Using Job Type from PSDS (Position 304) > > > > In newer IBM i versions, there's a dedicated field: > > > > **FREEDcl-Ds PSDS Qualified; // ... other fields ... JobType Char(1) > > Pos(304); // 0=Batch, 1=InteractiveEnd-Ds;If PSDS.JobType = '1'; // > > Interactive jobElse; // Batch jobEndIf; > > > > txt1c1c-queryabapactionscript-3adaadocangular-htmlangular-tsapacheapexapl > > applescriptaraasciidocasmastroawkballerinabashbatbatchbebeancountberrybibtex > > bicepbladebslcc#c++cadencecairocdcclaritycljclojureclosure-templatescmakecmd > > cobolcodeownerscodeqlcoffeecoffeescriptcommon-lispconsolecoqcppcqlcrystalcs > > csharpcsscsvcuecypherddartdaxdesktopdiffdockerdockerfiledotenvdream-maker > > edgeelispelixirelmemacs-lisperberlerlangff#f03f08f18f77f90f95fennelfish > > fluentforfortran-fixed-formfortran-free-formfsfsharpfslftlgdresourcegdscript > > gdshadergeniegherkingit-commitgit-rebasegjsgleamglimmer-jsglimmer-tsglsl > > gnuplotgogqlgraphqlgroovygtshackhamlhandlebarshaskellhaxehbshclhjsonhlslhs > > htmlhtml-derivativehttphxmlhyimbainijadejavajavascriptjinjajisonjljsjson > > json5jsoncjsonljsonnetjssmjsxjuliakotlinkqlktktskustolatexleanlean4less > > liquidlisplitllvmloglogolualuaumakemakefilemarkdownmarkomatlabmdmdcmdx > > mediawikimermaidmipsmipsasmmmdmojomovenarnarratnextflownfnginxnimnixnu > > nushellobjcobjective-cobjective-cppocamlpascalperlperl6phpplsqlpopolar > > postcsspotpotxpowerquerypowershellprismaprologpropertiesprotoprotobufpsps1 > > pugpuppetpurescriptpypythonqlqmlqmldirqssrracketrakurazorrbregregexregexprel > > riscvrsrstrubyrustsassassscalaschemescsssdblshshadershaderlabshell > > shellscriptshellsessionsmalltalksoliditysoysparqlsplsplunksqlssh-configstata > > stylstylussvelteswiftsystem-verilogsystemdtalontalonscripttasltcltempl > > terraformtextftfvarstomltsts-tagstsptsvtsxturtletwigtyptypescripttypespec > > typstvvalavbverilogvhdlvimvimlvimscriptvuevue-htmlvyvyperwasmwenyanwgslwiki > > wikitextwitwlwolframxmlxslyamlymlzenscriptzigzsh文言 > > Method 3: Using API (Most Reliable) > > > > For the most reliable method, use the QUSRJOBI API: > > > > > > > > > > > > I see no such fields in RPG Reference Manual , PSDS section. > > > > I must be missing something. > > > > > > Gad > > -- > > This is the RPG programming on IBM i (RPG400-L) mailing list > > To post a message email: [email protected] > > To subscribe, unsubscribe, or change list options, > > visit: https://lists.midrange.com/mailman/listinfo/rpg400-l > > or email: [email protected] > > Before posting, please take a moment to review the archives > > at https://archive.midrange.com/rpg400-l. > > > > Please contact [email protected] for any subscription related questions. > > > -- > This is the RPG programming on IBM i (RPG400-L) mailing list > To post a message email: [email protected] > To subscribe, unsubscribe, or change list options, > visit: https://lists.midrange.com/mailman/listinfo/rpg400-l > or email: [email protected] > Before posting, please take a moment to review the archives > at https://archive.midrange.com/rpg400-l. > > Please contact [email protected] for any subscription related questions. -- This is the RPG programming on IBM i (RPG400-L) mailing list To post a message email: [email protected] To subscribe, unsubscribe, or change list options, visit: https://lists.midrange.com/mailman/listinfo/rpg400-l or email: [email protected] Before posting, please take a moment to review the archives at https://archive.midrange.com/rpg400-l. Please contact [email protected] for any subscription related questions.