查找

公告
· 七月 31

Ganadores del 4.º Concurso de Ideas de InterSystems

¡Hola, comunidad!

Nuestro 💡 Concurso de Ideas de InterSystems 💡 ha llegado a su fin. ¡Se aceptaron 26 nuevas ideas que siguieron la estructura pedida!

Todas están enfocadas en mejorar InterSystems IRIS y productos relacionados, destacando beneficios tangibles para los desarrolladores una vez que las ideas sean implementadas.

Y ahora, anunciemos a los ganadores...

Premios de los expertos

🥇 1st place goes to the idea Extending an open source LLM to support efficient code generation in InterSystems technology by @Yuri Marx 
The winner will receive🎁 Stilosa Barista Espresso Machine & Cappuccino Maker.

🥈 2nd place goes to the idea Streaming JSON Parsing Support by @Ashok Kumar T 
The winner will receive🎁 Osmo Mobile 7.

🥉 3rd place goes to the idea Auto-Scaling for Embedded Python Workloads in IRIS by @diba  
The winner will receive🎁 Smart Mini Projector XGODY Gimbal 3.

🥇 1er lugar es para la idea "Extender un LLM de código abierto para soportar generación de código eficiente en tecnología de InterSystems" de @Yuri Marx
El ganador recibirá 🎁 Máquina de Espresso y Capuchino Stilosa Barista.

🥈 2.º lugar es para la idea "Soporte para análisis de JSON en flujo (Streaming)" de @Ashok Kumar T
El ganador recibirá 🎁 Osmo Mobile 7.

🥉 3er lugar es para la idea "Autoescalado para cargas de trabajo de Python embebido en IRIS" de @diba
El ganador recibirá 🎁 Mini proyector inteligente XGODY Gimbal 3.

Premio aleatorio

 

Usando la Ruleta de Nombres (Wheel of Names), hemos seleccionado a un afortunado ganador al azar:

🏆 El premio aleatorio es para la idea: "No incluir estadísticas de tablas al exportar una Producción para su despliegue" de @Enrico Parisi
El ganador recibirá 🎁 Mini proyector inteligente XGODY Gimbal 3.

Aquí tenéis la grabación del sorteo.

🔥 Además, todos los participantes recibirán un regalo especial: un soporte de aluminio para dispositivos multimedia.

 
Echemos un vistazo a los participantes y sus brillantes ideas.

¡NUESTRAS FELICITACIONES A TODOS LOS GANADORES Y PARTICIPANTES!

Gracias por vuestra atención al Concurso de Ideas y por el esfuerzo que dedicáis al portal oficial de comentarios de InterSystems 💥


Nota importante: Los premios están en producción. Nos pondremos en contacto con todos los participantes cuando estén listos para ser enviados. Si tenéis alguna pregunta, por favor contactad a @Liubka Zelenskaia.

讨论 (0)1
登录或注册以继续
问题
· 七月 30

Your Guide to a Smooth Journey to India: Indian Visa Requirements for Children and Indian Visa for Japanese Passport Holders

 

Planning a trip to India is an exciting prospect, but navigating the visa process can be a source of stress, especially when traveling with family or as a citizen of a country with specific visa protocols. This article provides a comprehensive guide to two key aspects of the Indian visa process: the specific Indian visa requirements for children and the unique options and procedures for Indian visa for Japanese passport holders.

For families traveling to India, understanding the Indian visa requirements for children is of paramount importance. The rules for minors are distinct from those for adults, and a single mistake can cause significant delays. Whether applying for an e-Visa or a regular paper visa, every child, regardless of age, must have their own passport and visa. Their name cannot simply be added to a parent's visa.

The application process for a child's visa requires the involvement of both parents. For the online e-Visa application, a digital passport-sized photograph of the child and a scanned copy of the child’s passport bio page are necessary. However, for a regular paper visa, the requirements are more detailed. The application form must be signed by both parents, and copies of both parents' passports are required. In cases where only one parent is traveling with the child, a No Objection Certificate (NOC) from the non-traveling parent is often mandatory. If a single parent has sole legal custody, they must provide a copy of the court document proving this.

Another crucial detail pertains to the application form itself. On the first page, there is a signature box below the photograph. For children over five years of age, they should sign or print their name in this box. For children under five, a thumb impression should be used. It's a common mistake for a parent to sign on behalf of their child, which can lead to the application being rejected. These seemingly small details are critical to a successful application and highlight the need for careful attention during the process.

For Japanese citizens, the process of obtaining an Indian visa for Japanese passport holders is particularly unique and offers several convenient options. Japanese citizens are eligible for the standard e-Visa, which is a popular choice for tourists, business travelers, and those seeking medical treatment.1 The e-Visa application is entirely online and can be completed from anywhere in the world, requiring a digital passport photo and a scanned copy of the passport. This visa is valid for entry at designated international airports and seaports in India.

However, a special facility available to Japanese citizens is the Visa-on-Arrival.2 This is an incredible convenience for those who may have had to plan a last-minute trip or were unable to apply for an e-Visa in advance. The Visa-on-Arrival is available at six specific international airports: Delhi, Mumbai, Chennai, Kolkata, Bengaluru, and Hyderabad.3 The process involves filling out a form upon arrival, paying the fee, and receiving a visa sticker in the passport. This visa is generally valid for up to 60 days with a double-entry facility for tourism, business, and medical purposes. This option significantly simplifies the process for Indian visa for Japanese passport holders.

It is important to note that while the Visa-on-Arrival is convenient, it's not a replacement for a regular visa for all purposes. It is non-extendable and non-convertible to any other visa type. For those planning a longer stay or a trip for purposes like employment or study, a regular paper visa is still the necessary route. In these cases, Japanese citizens would apply through the Embassy of India in Tokyo or the Consulate General in Osaka-Kobe. The process involves filling out an online form and then submitting the physical application with the passport and supporting documents to the embassy or consulate.

In conclusion, a successful trip to India begins with a well-prepared visa application. The Indian visa requirements for children are specific and demand meticulous attention to detail from parents to ensure a smooth journey. For Indian visa for Japanese passport holders, the e-Visa and the unique Visa-on-Arrival facility offer unparalleled convenience and flexibility, making India an even more accessible destination. By understanding and following the correct procedures, both families and Japanese citizens can look forward to a hassle-free entry into India and an unforgettable experience in this vibrant country.

讨论 (0)1
登录或注册以继续
公告
· 七月 30

Better ML Models with AutoML and random samples

Why Randomization is Key When Splitting Data for Machine Learning

Post:
Essentially, Machine Learning is about learning from data. Having "good" data leads to better models, and more importantly, the quality of the information being used plays a crucial role in improving prediction accuracy.

One critical step in the process is how we separate our data into training and validation sets. If this isn’t done properly, we risk introducing bias, overfitting, or unrealistic performance expectations for the model.

In this article, we’ll explore:

  • Best practices for randomization when splitting data into training and validation sets.
  • Common pitfalls to avoid (such as data leakage or imbalanced splits).
  • How to use a dedicated routine to ensure the process is repeatable and reliable.

The goal is to show how a robust data-splitting strategy can directly improve model performance and generalization.

What strategies do you currently use for data splitting? Do you prefer simple random splits, stratification, or more advanced approaches like time-based splits?

讨论 (0)1
登录或注册以继续
文章
· 七月 30 阅读大约需 3 分钟

Toolqa - A espera acabou

É... Chegou a hora dos testes. Sabemos que em muitas vezes, ela até já passou. Bom, e agora? Consigo reforçar a qualidade do meu desenvolvimento?

A resposta é: SIM. Sim, você consegue. A ferramenta Toolqa busca exatamente isto. É um facilitador. Qual é o seu objetivo? Garantir que as APIS atendam aos requisitos de negócio pré-estabelecidos, e também mantenha-se rígida com as <sarcasm> futuras tentativas frustradas </sarcasm> de acabar com a sua aplicação, site, App ou qualquer outro que utilize-se de sua API.

Agora deve estar se perguntando, mas como é que isto acontece? Onde está a mágica?

A classe ToolQA.tool.BP.Tool foi projetada como um agente de teste inteligente e automatizado para classes de API no InterSystems IRIS, e seus maiores objetivos são:

  1. Gerar de forma automática (a partir da seleção de uma classe) novas classes de teste para qualquer classe de API;
  2. Avaliar os próprios métodos e parâmetros da classe de API usando metadados da classe IRIS;
  3. Gerar diversos valores de teste sintéticos para cada parâmetro do método com base em seu tipo (Integer, String, Float, Date...);
  4. Confrontar esses valores de teste em relação ao esquema do seu banco de dados antes de invocar o método da API, garantindo a conformidade com o tipo e os limites;
  5. Compilar e salvar a classe de teste gerada no ambiente IRIS;
  6. Fornecer um método Run() executável dentro da classe de teste gerada para executar os testes e reportar os resultados.

Certo, entendi, mas, e como eu faço isto? Basta seguir os passos abaixo:

Input

Você chama o método

DO ##class(ToolQA.tool.BP.Tool).GenerateTestForClass(“Your.API.ClassName”)
Com o nome da API que você deseja testar.

  1. Introspecção e Análise de Metadados A ferramenta utiliza IRIS’ %Dictionary.ClassDefinition :

Abra a definição de classe da API;

Enumere todos os métodos de classe públicos;

Extraia os nomes e tipos de parâmetros de cada método.

  1. Synthetic Test Data Generation For each method parameter:

O método CreateFakeValue gera um valor fictício compatível com o tipo do parâmetro (por exemplo, string, inteiro, float);

A ferramenta tenta encontrar um mapeamento entre parâmetros e classes/campos persistentes do banco de dados por meio do método ClassBank, examinando classes persistentes conhecidas em busca de campos correspondentes;

Se existir um mapeamento, o valor fictício gerado é validado em relação ao tipo e às restrições do campo do banco de dados (ValidateValueField), verificando a correção do tipo, os limites de comprimento e os limites numéricos.

  1. A geração da classe de teste é criada dinamicamente pelo agente como uma nova classe de teste com a convenção de nome:

ToolQA.QA.Tests.Test
A classe contai um método Run()  que:

Exibe a mensagem de início do teste;

Executa cada método da API com os parâmetros gerados, após a validação;

Captura e registra erros ou exceções durante chamadas de métodos;

Relata o sucesso ou a falha do teste.

  1. A compilação e execução da classe de teste gerada é salva no formato de arquivo *.cls e compilada automaticamente com o IRIS. Em seguida você executa os testes com:

DO ##class(ToolQA.QA.Tests.Test).Run()
Como as respostas e resultados são tratados: 
A classe de teste captura o status de retorno (%Status) de cada chamada de método da API;

Erros (códigos de insucesso) são exibidos no console com os detalhes:

Exceções geradas por métodos de API são capturadas e registradas com seu rastreamento de pilha;

Como o agente gera entradas sintéticas, ele não valida o conteúdo da resposta além do sucesso da execução — mas você pode estender a classe de teste para adicionar asserções em objetos de saída ou estruturas de dados retornadas, conforme necessário.

Para mais informações sobre a ferramenta e como proceder, acesse o link:

https://openexchange.intersystems.com/package/toolqa

Esta ferramenta foi desenvolvida em conjunto com @Andre Ribera Dienes Friedrich. Obrigado pela sua consideração... E o céu é o limite.

讨论 (0)1
登录或注册以继续
文章
· 七月 30 阅读大约需 3 分钟

Toolqa - The wait is over

Well... It's time for testing. We know that often, it's already over. So, what now? Can I improve the quality of my development?

The answer is: YES. Yes, you can. The Toolqa tool aims to do just that. It's a facilitator. What's its goal?

To ensure that APIs meet pre-established business requirements, while also protecting against <sarcasm>  future failed attempts </sarcasm>  to destroy your application, website, app, or anything else that uses your API.

Now you might be wondering, how does this happen? Where's the magic?

The ToolQA.tool.BP.Tool class was designed as an intelligent and automated testing agent for API classes in InterSystems IRIS, and its main objectives are:

  1. Automatically generate (from the selection of a class) new test classes for any API class;
  2. Evaluate the API class's own methods and parameters using IRIS class metadata;
  3. Generate several synthetic test values for each method parameter based on its type (Integer, String, Float, Date, etc.);
  4. Compare these test values against your database schema before invoking the API method, ensuring type and limit compliance;
  5. Compile and save the generated test class in the IRIS environment;
  6. Provide an executable Run() method within the generated test class to run the tests and report the results.

Okay, I get it, but how do I do this? Just follow the steps below:

Input

You call the method:

DO ##class(ToolQA.tool.BP.Tool).GenerateTestForClass(“Your.API.ClassName”)
with the fully qualified name of the API class you want to test.

  1. Introspection and Metadata Analysis The tool uses IRIS’ %Dictionary.ClassDefinition to:

Open the API class definition;

Enumerate all public class methods;

Extract each method’s parameter names and types.

  1. Synthetic Test Data Generation For each method parameter:

The method CreateFakeValue generates a dummy value compatible with the parameter’s type (e.g., string, integer, double);

The tool attempts to find a mapping between parameters and persistent database classes/fields through the ClassBank method, scanning known persistent classes for matching fields;

If a mapping exists, the generated dummy value is validated against the database field’s type and constraints (ValidateValueField), checking type correctness, length limits, and numeric bounds.

  1. Test Class Generation The agent dynamically creates a new test class with the naming convention:

ToolQA.QA.Tests.Test
The class contains a Run() class method that:

Prints the test start message;

Executes each API method with generated parameters, after validation;

Catches and logs errors or exceptions during method calls;

Reports test success or failure.

  1. Compilation and Execution The generated test class is saved as a .cls file and compiled automatically within IRIS. You then execute tests by running:

DO ##class(ToolQA.QA.Tests.Test).Run()
How Responses and Results Are Handled
The test class captures the return status (%Status) of each API method call;

Errors (non-success status codes) are printed to the console with details;

Exceptions thrown by API methods are caught and logged with their stack trace;

Since the agent generates synthetic inputs, it does not currently validate response content beyond execution success — but you can extend the test class to add assertions on output objects or returned data structures as needed.

For more information about the tool and how to proceed, you can access the link:

https://openexchange.intersystems.com/package/toolqa

This tool was built together with @André Dienes Friedrich. Thank you for your consideration... And the sky is the limit.

 

讨论 (0)2
登录或注册以继续