About World Tour 2019: Some explanations

2019-02-15 Thread JPR via 4D_Tech
[JPR]

Hi Guys,

Thanks! And thanks again! You are really interested, and you don't trust 
something without testing! 

As Russian say: Доверяй, но проверяй. Trust, but verify. So you have been a lot 
to try my little test, and I've received a pack of mails like:

Dear Uncle JPR,
i don’t know what version you are using, but i have tested it with 4D v17 and 
R4 under Mac 64 bit and both lines have the same speed.
Maybe there are some missing information!?
Cagey Nephew.

If fact, you have highlighted the real problem, which is: In most of the cases, 
it doesn't make any measurable difference. But in some cases, it does impact a 
lot. I got a method which took 4.5 seconds to run, and I wondered why. So I 
spent 2 days to track the guilty line, and by changing  from

$params:=New object("entity";$entity;"object";Form.xObject)
to  
$params:=New object("toto";Form.xObject;"entity";$entity)

the time went down to 300ms.

The context is a bit too complex to explain here, but I will show you, and 
explain it in detail, during the training. It belongs to the vast class of 
things which exist in every development environment, which are not explained in 
books, but which roots can be explained (and, I hope, understood).

My very best,

JPR


To study and not think is a waste. To think and not study is dangerous.  
(Confucius)



**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: About World Tour 2019: Some answers (JPR)

2019-02-15 Thread Tim Nevels via 4D_Tech
On Feb 15, 2019, at 2:00 PM, 4d_tech-requ...@lists.4d.com wrote:

> [JPR]
> Hi Guys,
> 
> As usual, I've again received a lot of mails, from USA and the rest of the 
> World, asking me if it's important to attend the WT2019, so once again,  I've 
> decided to do a global answer. All of the questions end with the same 
> subliminal question: Does it worth it? Will we learn something valuable in 
> the Training Day?
> … 
> I've spent a great lot of time to work with ORDA, to analyse, to measure, to 
> discover, to make mistakes, to correct these mistakes and make mistakes 
> again, in order to find the easiest possible path in the programming jungle. 
> My purpose is to share all this experience with you.

I am definitely attending the Chicago 4D World Tour. I’ve attended all the 4D 
World Tours that have been offered and attended every JPR presentation. I’ve 
been to every 4D Summit since 1991 except for one — I had a broken leg and 
could not travel. 

Why do I attend? Because I want as much info as possible about how 4D works and 
as many low level details as I can get my hands on. Why?

Because that’s how you become a “4D expert”. You really can’t become or call 
yourself a “4D expert” by simply saying “I’ve been using 4D for over years and 
I’ve written hundreds of thousands of lines of code.”  There is a lot you still 
don’t know. There is a lot that I still do not know. And with ORDA the area of 
what I don’t know about 4D has grown tremendously. 

Remember, JPR is one of the few people in the world that has Laurent 
Ribardière's and Laurent Esnault’s email address and can send a message and get 
a reply. If he has a question about how 4D works at a low level, he can get an 
answer. From the real 4D experts! That kind of access leads to an unprecedented 
understanding of how 4D works. 

I want to know what JPR knows about 4D because it helps me to me be able to 
deliver better 4D solutions to my clients. 

You are not wasting time at 4D World Tour events, you are investing your time 
to learn more that will result in you saving time in the future. 

Tim

*
Tim Nevels
Innovative Solutions
785-749-3444
timnev...@mac.com
*

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: V17 R - Mojave compatibility

2019-02-15 Thread Kirk Brooks via 4D_Tech
Mitch,
I've been using 17R3 and recently R4 with Mojave with no issues. I'm not
doing production or using any fancy plugins with it but for general
development it's been fine.

On Fri, Feb 15, 2019 at 10:58 AM Mitchell Shiller via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Hi,
>
> I know that 17.1 is Mojave compatible.
> I am using 17R3. (I need some 4D WP features).
> Question: will there be an 17 R release that will be Mojave compatible or
> will I have to wait for v18?
>
> Thanks
>
> Mitch
>
> Sent from my iPhone
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **



-- 
Kirk Brooks
San Francisco, CA
===

What can be said, can be said clearly,
and what you can’t say, you should shut up about

*Wittgenstein and the Computer *
**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

V17 R - Mojave compatibility

2019-02-15 Thread Mitchell Shiller via 4D_Tech
Hi, 

I know that 17.1 is Mojave compatible.
I am using 17R3. (I need some 4D WP features).
Question: will there be an 17 R release that will be Mojave compatible or will 
I have to wait for v18?

Thanks

Mitch

Sent from my iPhone
**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

change in behavior v 15 to v 16 ?

2019-02-15 Thread Chuck Miller via 4D_Tech
In v 15 if you have a the following line of code (with all variables typed)
$DocRef:=create document(“”;”TEXT”)
you could paste into the finder window

In v 16 with exactly the same commands you can not paste into the finder 
window. Is this expected behavior or not

The same behavior is exhibited in the request window

Regards

Chuck

 Chuck Miller Voice: (617) 739-0306
 Informed Solutions, Inc. Fax: (617) 232-1064   
 mailto:cjmillerinformed-solutions.com 
 Brookline, MA 02446 USA Registered 4D Developer
   Providers of 4D and Sybase connectivity
  http://www.informed-solutions.com  

This message and any attached documents contain information which may be 
confidential, subject to privilege or exempt from disclosure under applicable 
law.  These materials are intended only for the use of the intended recipient. 
If you are not the intended recipient of this transmission, you are hereby 
notified that any distribution, disclosure, printing, copying, storage, 
modification or the taking of any action in reliance upon this transmission is 
strictly prohibited.  Delivery of this message to any person other than the 
intended recipient shall not compromise or waive such confidentiality, 
privilege or exemption from disclosure as to this communication. 

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

About World Tour 2019: Some answers

2019-02-15 Thread JPR via 4D_Tech
[JPR]
Hi Guys,

As usual, I've again received a lot of mails, from USA and the rest of the 
World, asking me if it's important to attend the WT2019, so once again,  I've 
decided to do a global answer. All of the questions end with the same 
subliminal question: Does it worth it? Will we learn something valuable in the 
Training Day?

In fact, I think so ;-) But honestly, it depends. It depends on how valuable 
you think your time is, it depends on how confident you are in your 
capabilities to discover rapidly by yourself the Best Coding, including bells 
and whistles, about ORDA. Let's do a little test:

- Which one of these 2 lines will be faster to execute?

1/ $params:=New object("entity";$entity;"object";Form.xObject)

2/ $params:=New object("toto";Form.xObject;"entity";$entity)

(The result will be the same, but the difference may be more than 10 times 
faster)

If you can tell me in less than 10 seconds the correct answer, AND if you can 
explain why, then may be you don't need to come. May be.

This is just one very small example of what we will cover during Day 2. In 
fact, during the Tour 2017, we've presented the objects. It was like teaching 
the letters of the alphabet. During the Summit 2018, we've shown you how to 
build words with these letters. During the WT 2019, we will demonstrate how 
simple it is to write sentences, and I mean, not only putting words together, 
but building meaningful sentences, and even adding a touch of poetry...

I've spent a great lot of time to work with ORDA, to analyse, to measure, to 
discover, to make mistakes, to correct these mistakes and make mistakes again, 
in order to find the easiest possible path in the programming jungle. My 
purpose is to share all this experience with you.

Just from my part (Add and Will can explain their stuff by themselves), I 
intend to show at least these topics:

- Handling Entity Selections to do what seems impossible to do, by mixing 
selections (even of different Tables) and collections into the same model.

- Reducing the Code to Ultimate Simplicity through a detailed understanding of 
how 4D manages the different kind of Objects behind the curtain.

- Moving safely and easily Classic mode to ORDA, step by step, without breaking 
the code.

- Reducing drastically the number of processes by using DIALOG(...;*), CALL 
FORM, Dynamic Subforms, etc.

Plus a lot of Tips & Tricks like what to do with 'FORM Convert to dynamic' 
command, the use of the new Formula Object to prepare the future programming, 
etc.

If you are a 4D Classic Developper for many years, you will see that you can 
really improve performances with very few modifications of your code.
If you are a New 4D Developper, you will learn the Best Practices while getting 
the News, How-tos, and Views on V17.
Ad if you are a 4D Classic Developper who wants to rediscover the joy of 
programming, tired to juggle with Current Selections and Current Records, this 
training is nothing less than a Must...

I already told you that V17 is the biggest improvement in 4D, even more than 
Client-Server and Multi Process, and you've seen I was right. 
And I'm still ready to bet that you will learn enough to make this training a 
good investment!

Let's meet in Chicago, Boston, Atlanta, Austin, Seattle, San José, London, 
Manchester, Den Haag, Stockholm, or Malmö.

My very best,

JPR


I seek not to know the answers, but to understand the questions. (Confucius)


**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Caching URLs. Hashed or unhashed ?

2019-02-15 Thread Peter Jakobsson via 4D_Tech
Hi

I am caching the responses from a commercial API services to save costs. (i.e. 
the code does a lookup on a 4D table on the exact URL of the API call to see if 
we already have that response in the cache).

What is people’s opinion on best practice for storing and querying on URL’s ? 
Should we hash them (say with MD5 Digest or something) in case the URL has 
dodgy characters like back-slashes or @ that might screw up 4D's query algo and 
then search on the hash instead ?

Best Regards

Peter

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**