Nueva publicación

Encontrar

Artículo
· 17 feb, 2026 Lectura de 4 min

Las Vegas to Los Angeles Bus Travel Guide & Best Deals

Traveling from Las Vegas to Los Angeles is one of the most popular road journeys in the United States. Every day, thousands of tourists, students, workers, and weekend travelers move between these two iconic cities. One city offers nonstop entertainment and nightlife, while the other delivers beaches, culture, and endless opportunities.

Comentarios (0)1
Inicie sesión o regístrese para continuar
Anuncio
· 17 feb, 2026

Top InterSystems Developer Community Authors of 2025

Hey Developers,

It's time to announce the Top InterSystems Developer Community Authors of 2025 🎉

We are pleased to reward the most active contributors across all regional DC sites (EN, ES, PT, JP, CN, and FR):

  • Breakthrough of the Year
  • Top Best-Selling Authors
  • Top Experts
  • Top Opinion Leaders

Let's look at the DC Wall of Fame of 2025 and greet everyone with big applause! 👏

Badge's Name Winners DC Winners InterSystems
 
Nomination: Breakthrough of the Year
Breakthrough of 2025

  

@Vachan C Rannore
@Harshitha
@Andrew Sklyarov
@Arsh Hasan
@Stav Bendarsky

@Liam Evans
@Derek Gervais
@Beatrice Zorzoli
@Thibault Odor
@Marco Bahamondes

 
Nomination: InterSystems Best-selling Author
1st place: 
Gold Best-Selling Author

  

@Heloisa Paiva

@Luis Angel Pérez Ramos

2nd place: 
Silver Best-Selling Author

  

@Yuri Marx

@Hiroshi Sato

3rd place: 
Bronze Best-Selling Author

  

@姚 鑫

@Guillaume Rongier

Best-Selling Author

  

@sween
@Ashok Kumar T 
@Iryna Mykhailova 
@Muhammad Waseem 
@Robert Cemper 
@Julio Esquerdo 
@Dmitry Maslennikov 

@Megumi Kakechi
@Sylvain Guilbaud 
@Toshihiko Minamoto 
@Ricardo Paiva 
@Evgeny Shvarov 
@Jose-Tomas Salvador 
@Mihoko Iijima 

 
Nomination: InterSystems Expert
1st place: 
Gold Expert

  

@Enrico Parisi  

@Luis Angel Pérez Ramos

2nd place: 
SilverExpert

  

@Robert Cemper

@Alexander Koblov

3rd place: 
Bronze Expert

  

@Jeffrey Drumm

@Brett Saviano
@Eduard Lebedyuk

DC Expert

  

@Julius Kavay
@John Murray
@David Hockenbroch
@Ashok Kumar T 
@Robert Barbiaux 
@Stephen Canzano 
@Yaron Munz 

@Ben Spead 
@Timo Lindenschmid 
@Guillaume Rongier 
@Timothy Leavitt 
@Sylvain Guilbaud 
@Tani Frankel 

 
Nomination: InterSystems Opinion Leader
1st place: 
Gold Opinion Leader

  

@Robert Cemper

@Luis Angel Pérez Ramos

2nd place: 
Silver Opinion Leader

  

@Andre Larsen Barbosa

@Evgeny Shvarov

3rd place: 
Bronze Opinion Leader

  

@Dmitry Maslennikov

@Tani Frankel

DC Opinion Leader

  

@Yuri Marx
@Iryna Mykhailova 
@Ashok Kumar T 
@Enrico Parisi 
@Kurro Lopez 
@Muhammad Waseem 
@Henry Pereira 

@Guillaume Rongier
@Ben Spead 
@Eduard Lebedyuk 
@Alberto Fuentes 
@Sylvain Guilbaud 
@Danusa Calixto 
@Timothy Leavitt 

This list is a good reason to start following some of the great authors of the Developer Community ;)

BIG APPLAUSE TO OUR WINNERS!

Congratulations to all of you, and thank you for your great contributions to the InterSystems Developer Community in 2025! 

13 nuevos comentarios
Comentarios (13)7
Inicie sesión o regístrese para continuar
Artículo
· 17 feb, 2026 Lectura de 3 min

Uso de auditoría de Python para depuración de Python embebido

PEP 578 añadió hooks de auditoría de Python. Una gran variedad de eventos (carga de módulos, interacciones con el sistema operativo, etc.) generan eventos de auditoría a los que podéis suscribiros.

Así es como se hace. Primero, cread un hook de Python embebido:

Class User.Python
{

/// do ##class(User.Python).Audit()
ClassMethod Audit() [ Language = python ]
{
import sys
import time
def logger(event,args):
     if event=='import':
        module = args[0]
        print(f"Loading {module}")
        if module == "numpy":
            print(f"Module {module} forbidden. Terminating process in 3.")
            time.sleep(3)
            sys.exit(0)
     elif event in ('compile','exec'):
        print(f"{event}: {args}")
     elif event in ('code.__new__','open'):
        # do nothing for this event
        x=1
     else:
        print(f"{event}")

sys.addaudithook(logger)
}

}

En este ejemplo:

  • Terminamos el proceso si numpy comienza a cargarse
  • Mostramos el evento y sus argumentos para los eventos de compile/exec
  • Ignoramos los eventos de código
  • Registramos todos los demás eventos

Todo esto se escribirá en el STDOUT por defecto.

Para empezar la auditoría, basta con llamar a este método para registrar vuestro hook, o incluso podéis hacerlo automáticamente al iniciar el proceso (job):

%ZSTART
JOB
    new $namespace
    set $namespace = "%SYS"
    do ##class(User.Python).Audit()
    quit
LOGIN
    do JOB
    quit

Aquí tenéis un ejemplo de salida:

%SYS>:PY
Loading code
exec: (<code object <module> at 0x000001AB82A0F2F0, file "c:\intersystems\iris\lib\python\lib\code.py", line 1>,)
Loading traceback
exec: (<code object <module> at 0x000001AB82A173A0, file "c:\intersystems\iris\lib\python\lib\traceback.py", line 1>,)
Loading linecache
exec: (<code object <module> at 0x000001AB82A17A80, file "c:\intersystems\iris\lib\python\lib\linecache.py", line 1>,)
Loading tokenize
exec: (<code object <module> at 0x000001AB82A32030, file "c:\intersystems\iris\lib\python\lib\tokenize.py", line 1>,)
Loading token
exec: (<code object <module> at 0x000001AB82A323A0, file "c:\intersystems\iris\lib\python\lib\token.py", line 1>,)
compile: (b'lambda _cls, type, string, start, end, line: _tuple_new(_cls, (type, string, start, end, line))', '<string>')
exec: (<code object <module> at 0x000001AB82A32710, file "<string>", line 1>,)
sys._getframe
object.__setattr__
Loading codeop
exec: (<code object <module> at 0x000001AB82A32EA0, file "c:\intersystems\iris\lib\python\lib\codeop.py", line 1>,)
Loading __future__
exec: (<code object <module> at 0x000001AB82A472F0, file "c:\intersystems\iris\lib\python\lib\__future__.py", line 1>,)
 
Python 3.9.5 (default, May 31 2022, 12:35:47) [MSC v.1927 64 bit (AMD64)] on win32
Type quit() or Ctrl-D to exit this shell.
compile: (b'import iris', '<input>')
compile: (b'import iris\n', '<input>')
compile: (b'import iris\n\n', '<input>')
exec: (<code object <module> at 0x000001AB82A60870, file "<input>", line 1>,)
>>> import json
compile: (b'import json', '<input>')
compile: (b'import json\n', '<input>')
compile: (b'import json\n\n', '<input>')
exec: (<code object <module> at 0x000001AB82A60870, file "<input>", line 1>,)
Loading json
exec: (<code object <module> at 0x000001AB82A60DF0, file "c:\intersystems\iris\lib\python\lib\json\__init__.py", line 1>,)
Loading json.decoder
os.listdir
exec: (<code object <module> at 0x000001AB82A67710, file "c:\intersystems\iris\lib\python\lib\json\decoder.py", line 1>,)
Loading json.scanner
exec: (<code object <module> at 0x000001AB82A679D0, file "c:\intersystems\iris\lib\python\lib\json\scanner.py", line 1>,)
Loading _json
Loading json.encoder
exec: (<code object <module> at 0x000001AB82A71500, file "c:\intersystems\iris\lib\python\lib\json\encoder.py", line 1>,)
>>> x=1
compile: (b'x=1', '<input>')
compile: (b'x=1\n', '<input>')
compile: (b'x=1\n\n', '<input>')
exec: (<code object <module> at 0x000001AB82A60870, file "<input>", line 1>,)

Creo que esto os puede resultar útil para la depuración.

Comentarios (0)1
Inicie sesión o regístrese para continuar
Comentarios (0)1
Inicie sesión o regístrese para continuar
Anuncio
· 17 feb, 2026

Aviso de mantenimiento de la comunidad de desarrolladores (21–22 de febrero)

¡Hola, desarrolladores!

Tened en cuenta que la Comunidad de Desarrolladores se someterá a un mantenimiento programado los días 21 y 22 de febrero de 2026.

Durante este período, el sitio no estará disponible durante varias horas. Dependiendo de vuestra ubicación, podéis experimentar interrupciones temporales en distintos momentos dentro de este intervalo.

Este mantenimiento es necesario porque estamos migrando a una nueva versión del framework subyacente. Aunque la mayor parte de la interfaz y la funcionalidad seguirán siendo las mismas, es posible que notéis que algunos elementos se ven o funcionan de forma ligeramente diferente después de la actualización.

Tras el mantenimiento, podría producirse cierta inestabilidad temporal mientras los servicios vuelven a estar completamente en línea.

Si notáis algún problema, os agradeceríamos mucho vuestros comentarios; por favor, informad de ello aquí.

¡Gracias por vuestra paciencia y comprensión!

Comentarios (0)1
Inicie sesión o regístrese para continuar