1. Last 7 days
    1. Puntos de Referencia y AccesosGuía práctica para ubicar con facilidad nuestro consultorio al llegar a la zona.UbicaciónSobre la carretera a Ures, kilómetro 3.5, en la comisaría de San Pedro El Saucito.Antes de acudirConfirme previamente la hora de su cita y cualquier preparación necesaria para su estudio.

      Retirar referencias

    2. ¿Requiere un diagnóstico de alta precisión o información académica?Atención médica especializada previa cita y diplomados de formación continua para médicos.Consulta por WhatsApp

      Retirar de todas las páginas

    3. Estamos para atenderlePrograme su estudio o solicite informaciónNuestro equipo puede orientarle sobre los estudios disponibles, preparación previa y disponibilidad de citas.Agendar Cita MédicaContactar por WhatsApp

      Redirigir a doctoralía

    4. Resolución de DudasPreguntas Frecuentes sobre Citas y VisitasTodo lo que necesita saber antes de acudir a su estudio de diagnóstico por imagen.¿Puedo ingresar con familiares o acompañantes al ultrasonido?¡Por supuesto! En todos los estudios obstétricos (genético, estructural y 5D HD Live) se permite el ingreso de la pareja y hasta dos acompañantes. Disponemos de pantallas de alta resolución frente a la camilla para que su familia disfrute plenamente de la visualización del bebé.¿Qué métodos de pago se aceptan en el consultorio?Aceptamos pago con tarjeta de crédito o débito (Visa, Mastercard, American Express), transferencia electrónica bancaria y efectivo. Además, emitimos factura fiscal electrónica (CFDI) deducible de gastos médicos al finalizar su atención.¿Qué sucede si necesito cancelar o reprogramar mi horario?Le pedimos avisar con al menos 24 horas de anticipación por teléfono o WhatsApp para reprogramar sin costo. Las cancelaciones de último momento pueden estar sujetas a una tarifa, según disponibilidad de agenda.¿Se entrega informe por escrito y fotos el mismo día?

      FAQS adiós

    5. Horarios del ConsultorioDisponibilidad médica semanalLunes a Viernes08:00 - 19:00 hrsSábados08:00 - 14:00 hrsDomingos y Días FestivosConsultar disponibilidadCitas programadasLe recomendamos acudir con anticipación y confirmar previamente cualquier indicación relacionada con su estudio.

      Horarios

    6. Solicitud de Cita o InformaciónComplete sus datos y seleccione el motivo de contacto. Se abrirá WhatsApp con su solicitud lista para enviar; nuestro equipo le confirmará disponibilidad.Nombre Completo *Teléfono / WhatsApp *Correo ElectrónicoMotivo de Contacto *Seleccione una opción...Ultrasonido Genético (Sem 11-14)Ultrasonido Estructural (Sem 18-24)Ultrasonido 3D / 4D / 5D HD LiveEcografía DopplerUltrasonido Ginecológico / TransvaginalUltrasonido Diagnóstico 2DFormación Médica / CursosOtro / No estoy seguroFecha PreferenteTurno PreferidoMatutino (08:00 – 13:00 hrs)Vespertino (14:00 – 19:00 hrs)Comentarios o médico que le refiereSus datos se tratan con estricto apego al secreto médico profesional. Consulte nuestroAviso de Privacidad.Por favor complete su nombre, teléfono y el estudio de interés.Enviar Solicitud por WhatsAppSe abrió WhatsApp con su solicitud. Solo presione “Enviar” y le confirmaremos su cita a la brevedad.var e={name:`Dr. José Luis De la Torre`,title:`Dr. José Luis De la Torre — Diagnóstico por Imagen y Ultrasonido`,description:`Ultrasonido diagnóstico, obstétrico (genético, estructural, 3D/4D/5D), Doppler y procedimientos guiados por imagen en Hermosillo, Sonora. Médico radiólogo certificado.`,tagline:`Especialista en ultrasonografía obstétrica avanzada, medicina fetal y diagnóstico integral de alta definición. Compromiso docente y académico enfocado en la excelencia del diagnóstico médico continuo.`,credentials:{cedulaEspecialidad:`11653511`,cedulaMedicoCirujano:`9037274`,consejo:`Certificado por el Consejo Mexicano de Radiología e Imagen No. 5027`,consejoNumero:`5027`,cofepris:`233300201A0412`},contact:{whatsapp:{display:`+52 (662) 460 9755`,number:`526624609755`},phones:[{display:`+52 (55) 5678-9012`,tel:`+525556789012`},{display:`+52 (55) 5678-9013`,tel:`+525556789013`}],email:`dr.jluis.delatorre@gmail.com`},location:{name:`Consultorio Médico Especializado`,address:`Ures Km 3.5, San Pedro El Saucito, 83305 San Pedro el Saucito, Son.`,city:`Hermosillo, Son.`,mapsUrl:`https://maps.app.goo.gl/nT5arRihsiKphjX96`,mapsEmbed:`https://www.google.com/maps?q=ULTRASONIDO+DIAGN%C3%93STICO+-+Dr.+Jos%C3%A9+Luis+De+la+Torre,+Ures+Km+3.5,+San+Pedro+El+Saucito,+83305+Hermosillo,+Son.&output=embed`},hours:{weekdays:{label:`Lunes a Viernes`,short:`Lun - Vie`,time:`08:00 - 19:00 hrs`},saturday:{label:`Sábados`,short:`Sábados`,time:`08:00 - 14:00 hrs`},note:`Atención con previa cita reservada`},social:[{name:`Facebook`,icon:`lucide:facebook`,url:``},{name:`Instagram`,icon:`lucide:instagram`,url:``},{name:`LinkedIn`,icon:`lucide:linkedin`,url:``},{name:`YouTube`,icon:`lucide:youtube`,url:``}]};function t(t=`Hola, me gustaría solicitar información para agendar una cita.`){return`https://wa.me/${e.contact.whatsapp.number}?text=${encodeURIComponent(t)}`}`${e.contact.phones[0].tel}`;var n={nombre:`Nombre`,telefono:`Teléfono`,correo:`Correo`,estudio:`Estudio / motivo`,fecha:`Fecha preferente`,turno:`Turno`,semanas:`Semanas de gestación`,comentarios:`Comentarios`};document.querySelectorAll(`.appointment-form`).forEach(e=>{e.addEventListener(`submit`,r=>{r.preventDefault();let i=e.querySelector(`.form-error`),a=e.querySelector(`.form-success`);if(!e.checkValidity()){i?.classList.remove(`hidden`),e.querySelector(`:invalid`)?.focus();return}i?.classList.add(`hidden`);let o=[`Hola, me gustaría solicitar una cita:`,``];for(let[t,r]of new FormData(e)){let e=String(r).trim();e&&o.push(`• ${n[t]??t}: ${e}`)}window.open(t(o.join(` `)),`_blank`,`noopener`),a?.classList.remove(`hidden`),e.reset()})});

      Retirar formulario Cambiarlo por embeded

    1. Log in to the Argos Help Centre

      suggest re-parenting to a 'getting help' parent section.

      although - if they can't log into the help portal, they won't be able to see this doc, so not sure how valuable it is?

    1. Preguntas FrecuentesPreguntas sobre la atención del Dr. José Luis De la Torre¿El Dr. José Luis De la Torre realiza personalmente los estudios?La atención y participación del doctor dependerán del tipo de estudio y modalidad de servicio. Al agendar puede consultar cómo se lleva a cabo específicamente la valoración que requiere.¿Qué tipo de estudios realiza?Su práctica incluye diferentes estudios de ultrasonido diagnóstico, obstétrico, ginecológico, Doppler y procedimientos especializados guiados por imagen.¿Puedo acudir si mi estudio fue solicitado por otro médico?Sí. Puede acudir con la orden o indicación de su médico tratante y, al finalizar el estudio, el informe puede compartirse directamente con él para dar seguimiento a su caso.¿Los resultados pueden compartirse con mi médico tratante?

      Quitar FAQs de biografía

    2. Contacto Especializado¿Cómo podemos ayudarle?Atención dirigida tanto a pacientes que requieren estudios diagnósticos como a profesionales de la salud interesados en formación médica especializada.Para Pacientes y FamiliasEstudios de ultrasonido y valoración diagnósticaSolicite información sobre los estudios disponibles y reciba orientación para programar su valoración de acuerdo con la indicación médica correspondiente.Solicitar Cita MédicaWhatsApp CitasPara Médicos y EspecialistasCursos y formación médica continuaConozca los programas de capacitación y actualización dirigidos a médicos interesados en ultrasonografía y diagnóstico por imagen.Ver Cursos DisponiblesConsultar Formaci

      Redirigir a doctoralía, y ver cursos dejarlo "desactivado temporalmente"

    1. Clients and accounts, and the company and currency rule

      this seems to be mixing a few concepts together - th company and currency rule are quite specific where as the hwo clients and accounts relate is more general. suggest splitting them.

    1. How Vault is organised

      I think we should rename this to 'how money flows' or similar and then move the modules doc out of it - everything else is about moving money through the system and not really about how vault is organised.

      plus we could add a section in here on 'posting instalments / interest etc.' i.e. vault generated money

      this section should be all the [high level] explaining docs behind this picture: https://show.zoho.com/show/open/bvdhvcc22707a420942edb16afb1cfaf383b6/slide/a9c96a7f-f8ee-405a-93ec-7cc8994219f7

    2. How Vault is organised.

      the titles in the boxes below are cut off - not sure if that'll be true in zoho desk (or if we can even structure the pages like this?) but we should ensure no cut offs in titles.

    1. Paso a paso de su consulta diagnóstica:1Recepción y AntecedentesRevisión de órdenes previas y semanas de gestación.2Rastreo SistemáticoExploración ecográfica minuciosa en sala confortable.3Explicación en PantallaRevisión conjunta de mediciones y hallazgos con los pacientes.4Entrega InmediataReporte impreso firmado y enlace digital con fotos y video.

      Quitar todos los pasos y dejar solo la imagen

    2. No realizamos consultas apresuradas. Cada cita contempla el tiempo necesario para resolver las dudas de los padres y mostrar con calma las estructuras del bebé.

      Generalizar mas y quitar lo del bebé

    3. ¿Requiere un estudio no listado o valoración domiciliaria?Servicio de Ultrasonido a Domicilio y Segunda Opinión MédicaDisponemos de equipos ecográficos portátiles de última generación para pacientes en reposo absoluto o indicaciones especiales en hospitales de Hermosillo y área conurbada.

      Quitar este CTA

    4. 100%Atención EspecializadaPor médico radiólogo certificadoISUOGGuías InternacionalesProtocolos estandarizadosHD 5DTecnología FotorrealistaMáxima definición en imagen0 minEntrega InmediataReporte listo al finaliz

      Adiós a los numeros

    5. Solicitud de Cita MédicaLlene sus datos y le contactaremos en un lapso no mayor a 2 horas hábiles para confirmar su estudio.Nombre Completo *Teléfono / WhatsApp *Correo ElectrónicoEstudio de Interés *Seleccione una opción...Ultrasonido Genético (Sem 11-14)Ultrasonido Estructural (Sem 18-24)Ultrasonido 3D / 4D / 5D HD LiveEcografía DopplerUltrasonido Ginecológico / TransvaginalUltrasonido Diagnóstico 2DFormación Médica / CursosOtro / No estoy seguroFecha PreferenteSemanas de Gestación (si aplica)Comentarios o médico que le refiereSus datos se tratan con estricto apego al secreto médico profesional. Consulte nuestroAviso de Privacidad.Por favor complete su nombre, teléfono y el estudio de interés.

      Formulario es doctoralia

    6. Resolución de Dudas Previas a su EstudioInformación clara para preparar adecuadamente su visita médica.¿Cuál es el momento ideal para realizar el Ultrasonido 5D HD Live?La ventana óptima para obtener las mejores tomas fotorrealistas del rostro del bebé se encuentra entre las semanas 26 y 32 de gestación. En este periodo, las facciones faciales están bien formadas y existe una proporción adecuada de líquido amniótico que permite una visión nítida. Si desea realizarlo en semanas previas o posteriores, contáctenos para valorar su caso.¿Es necesario asistir en ayuno a los ultrasonidos obstétricos?No es necesario el ayuno para los ultrasonidos obstétricos de rutina. Únicamente en estudios específicos de vesícula biliar o abdomen se le indicará ayuno previo, lo cual se le comunicará al momento de agendar su cita.¿Puedo ingresar con acompañantes a la sala de ultrasonido?Sí, se permite el ingreso de la pareja y hasta dos acompañantes en los estudios obstétricos, con pantalla de alta resolución para que toda la familia disfrute la visualización del bebé.¿Emiten comprobante fiscal (CFDI) para reembolso con aseguradoras?

      Quitar FAQs

    7. Catálogo de Diagnóstico MédicoEstudios Ecográficos de Alta PrecisiónSeleccione el estudio requerido por su médico tratante o consulte con nosotros la prueba idónea según sus semanas de gestación o síntomas.Todos los Estudios (3)Obstetricia & 5DDoppler VascularGinecología & GeneralEspecialidad Fetal45 - 60 minSemanas 18 - 24Ultrasonido Obstétrico Estructural AvanzadoEvaluación morfológica anatómica detallada (órgano por órgano) recomendada entre las semanas 18 y 24 de gestación para descartar anomalías congénitas.Aspectos clave evaluados:Análisis de las 4 cámaras cardíacas y grandes vasosArquitectura del sistema nervioso central y columnaEvaluación de extremidades, manos, pies y perfil facialEntrega Incluida:Informe médico formal inmediato, tomas de alta resolución y archivo digital de video.Agendar este EstudioDetección Temprana35 - 45 minSemanas 11 - 13.6Ultrasonido Genético y Tamizaje de 1er TrimestreEstudio de alta precisión realizado entre las semanas 11 y 13.6 para la búsqueda de marcadores ecográficos de alteraciones cromosómicas.Aspectos clave evaluados:Medición milimétrica de Translucencia Nucal (TN)Evaluación de la presencia de hueso nasal y ducto venosoTamizaje precoz para riesgo de preeclampsia maternaEntrega Incluida:Cálculo de riesgo ecográfico y reporte con parámetros de la Fetal Medicine Foundation.Agendar este EstudioAlta Resolución40 - 50 minSemanas 26 - 32Ultrasonido 3D / 4D / 5D HD Live FotorrealistaTecnología volumétrica con sombreado de iluminación artificial que proporciona imágenes de textura natural y nitidez facial incomparable.Aspectos clave evaluados:Visualización de gestos, bostezos y rasgos facialesRenderizado con tonalidades fotorrealistas de pielGrabación continua en video digital de alta definiciónEntrega Incluida:Fotografías térmicas impresas, galería en la nube y video completo en pendrive o descarga.Agendar este Estudio

      Obstétrica Ultrasonido obstétrico — Desde $1,600 Ultrasonido Doppler obstétrico — Desde $1,800 Ultrasonido transfontanelar — Desde $1,800 Doppler Vascular Ultrasonido Doppler venoso de miembro inferior (pierna) — Desde $2,000 Ultrasonido Doppler de carótidas — Desde $2,000 Ultrasonido Doppler de arterias viscerales — Desde $3,000 Ultrasonido Doppler arterial en extremidades — Desde $1,500 Doppler venoso EEII o EESS — Desde $1,500 Ultrasonido Doppler testicular — Desde $1,500 Ultrasonido Doppler pene — Desde $2,500 Ultrasonido Doppler abdomen superior con elastografía ARFI — Desde $3,000 Ginecología y General

      Ginecología

      Ultrasonido ginecológico — Desde $1,000 Ultrasonido pélvico — Desde $1,000 Ultrasonido mamario — Desde $1,500

      General / Radiología

      Visita Radiología — Desde $1,000 Ultrasonido transrectal — Desde $1,800 Ultrasonido tiroides — Desde $1,500 Ultrasonido testicular — Desde $1,200 Ultrasonido renal — Desde $1,000 Ultrasonido prostático (vía abdominal) — Desde $1,000 Ultrasonido muscular o tendinoso — Desde $1,200 Ultrasonido inguinal — Desde $1,200 Ultrasonido hepatovesicular — Desde $1,000 Ultrasonido de hígado y vías biliares — Desde $1,000 Ultrasonido de cuello — Desde $1,200 Ultrasonido de abdomen superior — Desde $1,000 Ultrasonido articular — Desde $1,200 Ultrasonido abdominal — Desde $1,200 Ultrasonido urológico — Desde $1,000 Biopsia con aguja fina por ultrasonido — Desde $6,500 Biopsia con control ecográfico — Desde $9,500 Rayos X a domicilio — Desde $3,000

      Imagenes por definir

    1. Three symptoms account for a large share of support questions

      this is very internal facing language - I think we need a style guide written up for claude to validate language against.

    2. Where you see it

      I'm not sure the 'where you see it' section is helpful in these very high level getting started docs - e.g. in this doc, the 'how info flows' is pervasive to nearly the entire app, so not that helpful.

    1. . По ней с шаг

      допустим будет дека, которая хранит в порядке возрастания, ну и может так же хранит индекс.

      тогда словарь может использовать как быстрый понять какие элементы можно убрать?

      словарь знает какие есть элементы в окне,

    1. Dudas habituales sobre sus estudios y cursos¿Qué tipo de ultrasonidos realiza el Dr. José Luis De la Torre?Se realizan estudios de ultrasonido diagnóstico, obstétrico, ginecológico, Doppler, tiroides, dermatológico, elastografía, atención a domicilio y procedimientos guiados por imagen.¿Necesito una orden médica para agendar un estudio?No en todos los casos. Si cuenta con una indicación de su médico tratante, es recomendable presentarla para orientar mejor la valoración.¿Cómo sé qué estudio necesito?Puede contactarnos vía WhatsApp o teléfono para que nuestro personal le oriente según sus síntomas o etapa de embarazo.¿Cuándo recibiré mis resultados?

      NO TOCAR

    2. TestimoniosLa voz de nuestras pacientes y médicos alumnosOpiniones reales sobre la calidad del trato humano, la precisión en los resultados y el valor del aprendizaje médico.“El Dr. De la Torre me realizó el ultrasonido estructural a las 22 semanas. Nos explicó cada parte del corazoncito y rostro de mi bebé con una paciencia increíble. Nos dio una tranquilidad enorme.”Valeria MendozaPaciente - Ultrasonido Estructural“Tomé el Diplomado en Ecografía Doppler con el Dr. José Luis. La claridad metodológica y las prácticas con pacientes reales superaron mis expectativas. Indispensable para mi consulta médica.”Dr. Carlos ArriagaMédico Ginecólogo - Alumno“La nitidez de las fotos 5D HD Live fue impresionante, pero lo que más apreciamos fue el informe detallado que entregó a nuestro ginecólogo tratante de manera inmediata.”Sofía & FernandoPacientes - Ultrasonido 5D HD Live

      Testimonios de doctoralia

    3. Ultrasonido 2D DiagnósticoEvaluación por imagen en tiempo real para el estudio de órganos y tejidos, útil en el diagnóstico y seguimiento de distintas condiciones médicas.Evaluación de órganos y tejidosEstudios diagnósticos dirigidosInforme médico especializadoSolicitar EstudioUltrasonido Doppler ColorEstudio especializado que permite valorar el flujo sanguíneo y las características vasculares mediante tecnología Doppler.Evaluación del flujo sanguíneoValoración vascular especializadaComplemento diagnóstico por imagenSolicitar DopplerUltrasonido Obstétrico EspecializadoEvaluación avanzada del embarazo para valorar el desarrollo, anatomía y bienestar fetal durante las distintas etapas de la gestación.Tamizaje de primer trimestreEvaluación de crecimiento fetalImagen 3D / 4D / 5DConocer estudios obstétricosUltrasonido Ginecológico / TransvaginalEstudio dirigido a la valoración del útero, endometrio, ovarios y otras estructuras pélvicas mediante abordaje abdominal o transvaginal.Evaluación uterina y ováricaValoración endometrialSeguimiento ginecológicoSolicitar Servicio

      Ultrasonido abdominal Evaluación por imagen de órganos y estructuras del abdomen. Puntos: -Valoración de órganos abdominales -Estudio diagnóstico no invasivo -Apoyo en la detección de alteraciones .Ultrasonido Doppler Vascular Estudio del flujo sanguíneo en venas y arterias mediante tecnología Doppler. Puntos: -Evaluación del flujo sanguíneo -Valoración arterial y venosa -Estudio de circulación en distintas regiones .Ultrasonido obstétrico Evaluación por imagen durante el embarazo para valorar el desarrollo fetal. Puntos: -Seguimiento del embarazo -Valoración del desarrollo fetal -Evaluación mediante ultrasonido obstétrico .Ultrasonido ginecológico Estudio por imagen enfocado en la valoración de órganos y estructuras pélvicas. Puntos: -Valoración ginecológica por imagen -Evaluación de estructuras pélvicas -Apoyo diagnóstico ginecológico

    4. Semanas 28 - 36Doppler & 5D

      32-36 Ultrasonido de Crecimiento Fetal Estudio orientado a valorar el crecimiento y bienestar del bebé durante la etapa final del embarazo, así como algunos factores relacionados con placenta y líquido amniótico.

      Crecimiento y biometría fetal Posición fetal Placenta y líquido amniótico Evaluación complementaria con Doppler cuando corresponda

    5. Semanas 18 - 24Estructural

      18-24 Ultrasonido Estructural Evaluación detallada de la anatomía fetal para revisar el desarrollo de órganos y estructuras durante una de las etapas más importantes del embarazo.

    6. Semanas 11 - 14Genético

      11-14 Tamizaje del Primer Trimestre Evaluación especializada realizada durante las primeras semanas del embarazo para valorar el desarrollo fetal temprano e identificar marcadores que ayudan a estimar determinados riesgos.

      Desarrollo fetal temprano Marcadores ecográficos Anatomía fetal inicial Edad gestacional y crecimiento

    7. Docencia y FormaciónFormación médica especializada con enfoque prácticoProgramas dirigidos a médicos, radiólogos y ginecólogos interesados en fortalecer sus conocimientos y habilidades en ultrasonografía diagnóstica y obstétrica.Diplomados y Formación ContinuaProgramas estructurados para profundizar en distintas áreas de ultrasonografía y diagnóstico por imagen.Entrenamiento PrácticoFormación orientada a reforzar la aplicación clínica, interpretación de estudios y desarrollo de habilidades diagnósticas.Conocer los CursosPróximo Diplomado de FormaciónCupos limitados para talleres prácticos presenciales

      No son diplomados, son cursos

    8. Solicitud de Cita Médica o InformeComplete los datos y se abrirá WhatsApp con su solicitud lista para enviar al consultorio.Nombre Completo *Teléfono / WhatsApp *Correo ElectrónicoEstudio de Interés *Seleccione una opción...Ultrasonido Genético (Sem 11-14)Ultrasonido Estructural (Sem 18-24)Ultrasonido 3D / 4D / 5D HD LiveEcografía DopplerUltrasonido Ginecológico / TransvaginalUltrasonido Diagnóstico 2DFormación Médica / CursosOtro / No estoy seguroFecha PreferenteSemanas de Gestación (si aplica)Comentarios o médico que le refiereSus datos se tratan con estricto apego al secreto médico profesional. Consulte nuestroAviso de Privacidad.Por favor complete su nombre, teléfono y el estudio de interés.

      Quitar el formulario y poner este embeded Reserve una cita

      <script>!function($_x,_s,id){var js,fjs=$_x.getElementsByTagName(_s)[0];if(!$_x.getElementById(id)){js = $_x.createElement(_s);js.id = id;js.src = "//platform.docplanner.com/js/widget.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","zl-widget-s");</script>
    1. Getting Started

      I think we need a 'what is vault' section first before we get into the 'how is it organised' i.e. what is it, what are the benefits, what can you do with it, who's it for etc.

    1. The world's most musically ambitious country is Japan.

      Something is off with Japan. If one country is that far ahead (4x every other country), there has to be an explanation. If there's no cultural reason, or obvious musical-community explanation, then there's probably something wrong with the numbers. My gut is that it LOOKS wrong. So I would be really careful making it the headline. Japan has the second-lowest Google share and the largest correction. Korea is similar, but where Korea gets flagged as uncertain Japan is celebrated as "leading by a distance." I think that's inconsistent storytellilng.

      The methodology overall seems fine, and I like the adjustments for population and online access. But when it comes to google share, I worry a lot about the "corrections" for Korea and Japan. Most of the countries have very high google share but these two do not.

      Japan worries me most because the methodology says Google share was 82% in early 2025. A drop from 82% to 59.7% in about 18 months is huge. What happened? And why is 59.7% the number being used in the calculations?

      My other methodology problem is the countries where only one language was measured, like English in India, because I think the population denominator should reflect just the English speaking population, not every adult who has google access. To be honest, I have so much trouble understanding the methodology on this particular point that I might be wrong. (Perhaps the population is indeed measured correctly.)

    2. (pulled 28-29 August and 14 September 2026; the Japanese piano-school series covers 2016 to 2026);

      The dates here don't make sense with the dates mentioned in the methodology above.

    3. Google Trends lines are indices rebased to each country's own 2019 and show change within a market, never levels between markets; the two trend charts use the same “learn X” query concept in every language.

      Where was google trends used?

    4. languages on Google's full close-variant list, so the merging described above treats every basket symmetrically. Adding languages outside that list (Croatian, the Baltics, Slovak) would structurally understate them.

      What does this mean?

    5. Korea's rank means “low Google demand”, not proven low ambition; the same caveat applies to Korea's drums figure.

      This is huge for me. Why are we applying the same methodology to Korea and Japan but we are downplaying Korea as a problematic finding and touting Japan as a headline?

    6. Yahoo! Japan adds roughly 7% but is not measured by Keyword Planner, so we use the 59.7% google.co.jp figure.

      What does this have to do with the methodology / equation?

    7. at Japan's early-2025 share of 82%, Japan's rate falls to 2.26 per 1,000 and Japan remains first

      Yes, but much less than 4.1x. The chart would look really different. This drop from 82% to 59.7% seems drastic to me. I would look into it very closely. Neither figure may be reliable.

    8. Sensitivity: no country's rank changes by more than three places between the raw per-capita ranking and the normalized one.

      What is the raw per capita ranking? google queries per person?

    9. Google's merging spread to the large English-language markets in spring 2026, where it fuses five or more unrelated queries at once. Merging was already present inside the window in most other markets, which is why the bucket rules above exist.

      Lost here. But I think that's because I really need help understanding the big section above on merged buckets.

    10. Queries below Google's reporting floor. Queries with no reported volume contribute zero. This affects between 0% of queries (Germany, Japan, the English markets) and 45% (Greece; Romania 38%, Czechia 23%). Small-language markets are therefore measured on fewer live buckets, and their rates should be read as floors. Per-country counts are in the table below.

      So 45% of Greece's queries had no volume? What is the impact of this on the final number and do we need to adjust for it or remove the country?

    11. From October 2025, in most of the markets measured here, it also fused unrelated queries (“how to sing”, “how to play piano”, “how to play guitar”, “music lessons”) into a single bucket that reports thousands of monthly searches where each query reported a few dozen before. Summed naively, that bucket is counted four times. We therefore count buckets, not query strings, in two steps. First, queries in the same language that report an identical seven-month series are one bucket, counted once. Second, within each month, queries of the same language that report the same value (at least 100) across two or more disciplines are one merged bucket, counted once and attributed to no instrument; a pair counts as merged only if it shares the value in at least four of the seven months, so a coincidence on Google's coarse value grid is not halved. The share of volume that arrived as merged buckets ranges from 1% (Chile) to 66% (Czechia) and is published per country in the table below. Against a naive sum, this correction moves twelve countries by four or more places; Japan stays first under every variant. After de-duplication a country rests on 28 to 56 distinct buckets.

      I've read this many times and am really struggling to understand it. I am sure it can be said much simpler and with far fewer words. I think AI wants to sound smart.

    12. Keyword construction. Baskets use identical concept grids in all 19 languages, in dictionary head-term form, adjusted where a language genuinely differs (Brazilian Portuguese uses violão for the guitar people learn). We checked each basket against Google's own related-keyword suggestions in that language, inspecting up to 400 per language, to catch missing local phrasing.

      I cannot follow this

    13. India

      India has me a little worried. There are so many languages. How did you accommodate this? I think, based on the methodology, the intent is to only look at English speakers, but I don't see that reflected in the numbers.

    14. the published rates are lower bounds and the instrument splits describe the English- or German-searching population, not the whole country.

      Does this mean that the populations in the equations are not all adults but just English (or German) speaking adults? Need to make this clear.

    15. Methodology in brief

      One general note about methodology: I personally think it's good practice to disclose that AI pulled the numbers, ran the numbers, and wrote the piece. You can also say where humans were involved in the process (methodology, editing). The EU's recent AI law states that public-interest texts must be labeled as AI-generated. Many of my US clients are now adopting this practice to be in compliance in EU markets.

    16. Full methodology

      This methodology is longer than all the text in the study. It can be greatly simplified. I know you don't want me to line edit (and I dislike editing AI text anyway) but I'd really try to simplify all of this in a human way. I'll just flag the stuff that is really nonsensical.

    17. Thin data. Greece, Czechia, Romania and Hungary rest mostly on English-language searches, with much of the local basket below Google's reporting floor. Read those ranks as indicative.

      How bad is this. I might just cut them from the study

    18. The main limitation. Google Ads merges different queries into one bucket and reports the same number for each. We count each bucket once, not once per query. The merged share per country is in the table below; the top of the ranking is the same under every variant.

      This makes no sense unless there is more detail on what a bucket is and what a query is. Also, there is no table below.

    19. Participation covers all artistic activities

      I think this footnote belongs somewhere else. In the chart? And I would say what "participation" means. Does it include going to an art museum or an opera or other spectator activities?

    20. channel learning without a Google search ever being typed.

      What does this mean? I think it's trying to say that people can learn music freely easily without needing to search for lessons or solo instruction on Google.

    21. artistic participation and learning demand rise together

      I don't love this section but maybe because it is so short. (just a paragraph). What are we really saying here and why is it important? In places where people participate in arts, people are also interested in learning music -- this seems obvious. But maybe there is more to it that needs to be written.

      Perhaps this is the place for a call-to-action. It's a place to say that governments, schools, cultural institutions, etc. play a big role in shaping people's interests?

    22. Europe stopped searching for the guitar. The piano held

      Also needs a transition. And I'm most concerned about this section because the decline over time may be a factor of people moving to social media. (This is mentioned at the end of the section, and it seems like a big deal, but I don't know how big).

    23. one instructive exception. Norway and Ireland practise art at almost the same rate, 48% and 45%, then split on wanting more: Ireland has Europe's highest learning demand, Norway half of it, in the lower half of the table.

      I like calling out Norway. But it is not the only exception. Finland is a much greater exception.

    24. American guitar searches held over the same period, which suggests channel shift is not the whole explanation, though it may have moved faster in Europe

      Again, it depends on how you figured this out. Did you look at TikTok in each country?

    25. guitar tuition has migrated to YouTube and TikTok harder than any other instrument

      A few things: - How did you figure this out? I don't see it in the methodology. - If this is the reason for the drop, then I'm not sure this section makes a lot of sense. It being sold as a cultural shift, but it's really a methodology problem.

    26. Guitar: 137,000 pupils in 2013, 128,600 in 2019, 117,500 in 2021. The decline began before the pandemic. Piano: 159,000, 164,900 and 160,100 in the same years. Flat.

      Any ideas why?

    27. .

      Chart notes: - 2016 = 100 - move the methodology to the bottom of the chart - label or annotate the 2020 spike due to pandemic - There are many countries not shown. Why are we singling out japan? - Reduce the number of countries to space out the lines a bit - Make the country name the same color as the line

    28. The piano fell too, but far less: Germany 76, France 72, Spain 67, Brazil 84, and Italy back above its 2019 level. In the United States and the United Kingdom neither instrument moved much.

      This should come before the second chart

    29. the instruments that stand for a country

      I would do a human fact check / gut check on these. - Also, check that the images are good representations. Spain's cajón looks like a box. - Also, make sure it doesn't go by another name. Japan's "sangen" and "shamisen" should both be part of the seach data.

    30. The heritage instrument people still actually learn is the accordion: the most-searched folk instrument in ten of the 30 countries, and in Poland, Italy, the Netherlands and Norway it keeps 30% to 40% of the piano's demand.

      But in other countries the accordion is quite low (France).

    31. .

      Notes for the chart below: - I love the images. But you need to credit them. - Needs a color key. - Do not plot any data that is unreliable (hatched bars, below reporting floor). - The description should not be methodology. (put methodology at bottom)

    32. In all 30 countries the piano draws more learning demand than the national instrument, but in a few places the local instrument comes close.

      I actually think this is the most fascinating finding in the study.

    33. Nobody wants to learn the national instrument

      Why did the study look at this? It feel like a hard pivot to a different study. Need a transition to bridge the sections.

    34. South Korea is the only country whose most-searched instrument is the drums, at 29% of its instrument searches, nearly three times the 32-country norm.

      Interesting. But, could this be a methodology problem? Naver dominates Korean-language search, so Google users are probably a skewed group (for example, more tech-oriented or more likely to search in English?) I worry they don't represent the country.

    35. at eight times its guitar demand

      Is there a Suzuki method for guitar. (There is one for violin and piano -- I know I studied under it as a kid!) Very culturally important. That might be a big part of this finding? Or maybe another reason?

    36. The one kind of dataset where guitar leads counts who already plays, not who wants to start: Germany's Allensbach survey finds 28% of amateur musicians play guitar and 24% piano.

      I feel like this is not measuring the same thing as this survey. Might drop it. Or make it its own paragraph and expand it.

    1. Ava stares down at the wet crimson on his mouth as the pieces lock together.

      不要描述的这么血腥,我害怕AI夸大,然后最好只是一个细小的伤口

    2. The blood passes an abandoned extraction line and disappears behind a fixed work surface. A motionless hand lies beyond its edge.

      最好让死了很多吸血鬼,还有一些被吸干的吸血鬼奄奄一息,加入一点这个画面

    3. Silas pulls against the restraints once. The metal holds, and he sags against it.

      本来Silas不想说的,但是在女主身上感受到了男主的血脉的力量,于是才说,一定要给出这个反应

    4. They starved me.

      我希望在这个Silas的描述过程中有很快的闪回,那种很邪恶的画面,血腥扭曲,能让剧情节奏在叙述过程中不那么慢和无聊

    5. Lucian bites hard into his own lower lip. A thick bead of crimson wells across the skin.

      轻轻咬,只有一点点写,我之前写的类似于这种被AI做成很血腥的,帮我限定一下一定是一点点的,轻咬

    6. He grips the front of her hunter uniform and tears the buttons open down to her waist, baring her flushed chest to the cool air.

      不要裸,可以是对峙的时候抓住了胸前的衣服开了一点

    1. The most straightforward realization of the 16-type idea would be that the dichotomy scores should tend to have bimodal distributions. Infamously, they do not

      This seems like one of the clearest tests of the type vs. trait debate. If people really belong to two distinct groups on each MBTI dimension, we should expect scores to cluster around those separate groups. If instead scores form continuous distributions, that seems more consistent with personality traits varying by degree rather than people belonging to completely different kinds of personality

    2. MBTI's definitions of its dichotomies differ drastically from dimensions that have been refined via decades of research, namely the Big Five

      This comparison helps explain why the Big Five has a stronger place in modern personality psychology. Rather than starting with predetermined personality types, the Big Five dimensions were refined through empirical personality research. It's also interesting that both theories use “extraversion,” but they don't necessarily mean exactly the same thing. That shows why two personality tests using similar labels shouldn't automatically be assumed to measure the same underlying construct.

    3. what people consider to be part of the “true self” is dependent on context and highly subjective.

      This challenges the idea that there is one hidden, permanent personality underneath everything we do. If our idea of our “true self” changes depending on the situation or context, then an assessment claiming to uncover a single “true type” becomes difficult to verify scientifically. It also raises a personality question: How much of personality reflects stable traits versus the situation someone is currently in?

    4. They argued for the existence of types defined by the four dichotomies, rather than the four dichotomies representing traits.

      This distinguishes between a personality type and a personality trait. MBTI puts people into categories, such as introvert or extravert, whereas trait theories allow people to fall anywhere along a spectrum. I wonder whether categorizing people makes the MBTI feel easier to understand and personally meaningful, even if personality is actually better represented on continuous dimensions.

    1. As competências administrativas comuns à União, aos estados, ao Distrito Federal e aos municípios podem ser objeto de delegação entre os entes federativos por meio de convênios administrativos ou consórcios públicos, de forma a permitir que municípios de menor capacidade técnica transfiram suas competências para estados ou União, com a consequente renúncia temporária ao exercício dessas atribuições constitucionais.

    1. 'Speak to me. Why do you never speak. Speak. 'What are you thinking of? What thinking? What?

      As Ira Buch mentioned on September 26th 2024, the first woman in “A Game of Chess” is isolated and desperately searchign for human connection. Her repeated “Speak to me” and “What are you thinking of?” show that she wants to break through the emotional distance between herself and the other person. I would add that Eliot makes this failed communicatoin especially noticeable through the contrast between her many questions and his almost complete silence. Her questions become shorter “What thinking? What?” which makes her speech sound increasingly fragmented and desperate. this fragmentation reflects not only her emotional state but also the breakdown of communication itself, it also fits nicely with the TWL as TWL is a collection of many different pieces and fragments of texts.

      Ira Buch also points out that the second woman, Lil, experiences the opposite problem: instead of lacking human connection, she suffers from its destructive pressure. This is especially clear when the speaker tells her, “He’ll want to know what you done with that money he gave you”. Lil’s body is treated as something that must satisfy Albert’s expectations. Her statement, “It’s them pills I took, to bring it off,” reveals that this pressure has already had serious consequences for her. I think Eliot makes this even more disturbung through the contrast between the speaker’s casual tone and the seriousness of what Lil describes. The speaker treats pregnancy, abortion, and Lil’s suffering almost like ordinary gossip.

      This connects strongly to Middleton’s “A Game at Chess”. As Ira mentioned, the title suggests that relationships can become a game where people try to control one another. In Middleton, the Virgin White Queen’s Pawn is pressured through ideas of “obedience” and “duty,” while in Eliot, Lil is pressured by her husband’s expectations. In both texts, women become like chess pieces, with other people attemtping to determine their moves.

      Pound’s “The Game of Chess” adds another interesting connection. Pound describes pieces “clashing” and “renewing of contest,” suggesting that chess is a continuous struggle. Eliot similarly presents relationships as repetitive and difficult to escape. The repeated “HURRY UP PLEASE ITS TIME” creates this sense of pressure and inevitability: the characters keep moving through the same patterns without really changing them. Thus, the “game” may be unwinnable from the beginning – the characters can make different moves, but they remain trapped within the same destructive system.

    1. Programming Problems 4.22 Write a multithreaded program that calculates various statistical values for a list of numbers. This program will be passed a series of numbers on the command line and will then create three separateworker threads. One thread will determine the average of the numbers, the second will determine the maximum value, and the third will determine the minimum value. For example, suppose your program is passed the integers 90 81 78 95 79 72 85 The program will report The average value is 82 The minimum value is 72 The maximum value is 95 The variables representing the average, minimum, andmaximum values will be stored globally. The worker threads will set these values, and the parent thread will output the values once the workers have exited. (We could obviously expand this program by creating additional threads that determine other statistical values, such as median and standard deviation.) 4.23 Write a multithreaded program that outputs prime numbers. This program should work as follows: The user will run the program and will enter a number on the command line. The program will then create a separate thread that outputs all the prime numbers less than or equal to the number entered by the user. 4.24 An interesting way of calculating π is to use a technique known as Monte Carlo, which involves randomization. This technique works as follows: Suppose you have a circle inscribed within a square, as shown in Figure 4.25. (Assume that the radius of this circle is 1.) First, generate a series of random points as simple (x, y) coordinates. These points must fall within the Cartesian coordinates that bound the square. Of the total number of random points that are generated, some will occur within the circle. Next, estimate π by performing the following calculation: ππ=4×(number of points in circle)/(total number of points) Write a multithreaded version of this algorithm that creates a separate thread to generate a number of random points. The thread will count the number of points that occur within the circle and store that result in a global variable. When this thread has exited, the parent thread will calculate and output the estimated value of π. It is worth experimenting with the number of random points generated. As a general rule, the greater the number of points, the closer the approximation to π. Figure 4.25 Monte Carlo technique for calculating π. In the source-code download for this text, you will find a sample program that provides a technique for generating random numbers, as well as determining if the random (x, y) point occurs within the circle. Readers interested in the details of the Monte Carlo method for estimating π should consult the bibliography at the end of this chapter. In Chapter 6, we modify this exercise using relevant material from that chapter. 4.25 Repeat Exercise 4.24, but instead of using a separate thread to generate random points, use OpenMP to parallelize the generation of points. Be careful not to place the calculation of π in the parallel region, since you want to calculate π only once. 4.26 Modify the socket-based date server (Figure 3.27) in Chapter 3 so that the server services each client request in a separate thread. 4.27 The Fibonacci sequence is the series of numbers 0, 1, 1, 2, 3, 5, 8, …. Formally, it can be expressed as: fib0=0fib1=1fibn=fibn−1+fibn−2 Write a multithreaded program that generates the Fibonacci sequence. This program should work as follows: On the command line, the user will enter the number of Fibonacci numbers that the program is to generate. The program will then create a separate thread that will generate the Fibonacci numbers, placing the sequence in data that can be shared by the threads (an array is probably the most convenient data structure). When the thread finishes execution, the parent thread will output the sequence generated by the child thread. Because the parent thread cannot begin outputting the Fibonacci sequence until the child thread finishes, the parent thread will have to wait for the child thread to finish. Use the techniques described in Section 4.4 to meet this requirement. 4.28 Modify programming problem Exercise 3.20 from Chapter 3.20. You will create a number of threads—for example, 100—and each thread will request a pid, sleep for a random period of time, and then release the pid. (Sleeping for a random period of time approximates the typical pid usage in which a pid is assigned to a new process, the process executes and then terminates, and the pid is released on the process's termination.) On UNIX and Linux systems, sleeping is accomplished through the sleep() function, which is passed an integer value representing the number of seconds to sleep. This problem will be modified in Chapter 7. 4.29 Exercise 3.25 in Chapter 3.25 so that the echo server services each client in a separate request.

      These computer exercises show how multithreading can be used for a variety of tasks, such as calculating statistical data, finding prime numbers, generating Fibonacci sequences, and estimating π. Other problems are related to handling several clients in socket servers with threads or managing process IDs. The exercises show how threads can share data while operating independently and concurrently.

    2. into four primary quality-of-service classes: QOS_CLASS_USER_INTERACTIVE—The user-interactive class represents tasks that interact with the user, such as the user interface and event handling, to ensure a responsive user interface. Completing a task belonging to this class should require only a small amount of work. QOS_CLASS_USER_INITIATED—The user-initiated class is similar to the user-interactive class in that tasks are associated with a responsive user interface; however, user-initiated tasks may require longer processing times. Opening a file or a URL is a user-initiated task, for example. Tasks belonging to this class must be completed for the user to continue interacting with the system, but they do not need to be serviced as quickly as tasks in the user-interactive queue. QOS_CLASS_UTILITY — The utility class represents tasks that require a longer time to complete but do not demand immediate results. This class includes work such as importing data. QOS_CLASS_BACKGROUND — Tasks belonging to the background class are not visible to the user and are not time sensitive. Examples include indexing a mailbox system and performing backups. Tasks submitted to dispatch queues may be expressed in one of two different ways: 1. For the C, C++, and Objective-C languages, GCD identifies a language extension known as a block, which is simply a self-contained unit of work. A block is specified by a caret ^ inserted in front of a pair of braces { }. Code within the braces identifies the unit of work to be performed. A simple example of a block is shown below: ^{ printf("I am a block"); } 2. For the Swift programming language, a task is defined using a closure, which is similar to a block in that it expresses a self-contained unit of functionality. Syntactically, a Swift closure is written in the same way as a block, minus the leading caret. The following Swift code segment illustrates obtaining a concurrent queue for the user-initiated class and submitting a task to the queue using the dispatch_async() function: let queue = dispatch_get_global_queue   (QOS_CLASS_USER_INITIATED, 0) dispatch_async(queue,{ print("I am a closure.") }) Internally, GCD's thread pool is composed of POSIX threads. GCD actively manages the pool, allowing the number of threads to grow and shrink according to application demand and system capacity. GCD is implemented by the libdispatch library, which Apple has released under the Apache Commons license. It has since been ported to the FreeBSD operating system.

      An Apple technique called Grand Central Dispatch (GCD) allows developers to run operations in parallel without having to physically manage threads. It makes use of dispatch queues, which can be concurrent for concurrent operations or serial for sequential jobs. GCD also prioritizes jobs based on how quickly they must finish, using various quality-of-service levels.

    3. Java has supported thread creation using the approach we have described thus far since its origins. However, beginning with Version 1.5 and its API, Java introduced several new concurrency features that provide developers with much greater control over thread creation and communication. These tools are available in the java.util.concurrent package. Rather than explicitly creating Thread objects, thread creation is instead organized around the Executor interface: public interface Executor {   void execute(Runnable command); } Classes implementing this interface must define the execute() method, which is passed a Runnable object. For Java developers, this means using the Executor rather than creating a separate Thread object and invoking its start() method. The Executor is used as follows: Executor service = new Executor; service.execute(new Task()); The Executor framework is based on the producer-consumer model; tasks implementing the Runnable interface are produced, and the threads that execute these tasks consume them. The advantage of this approach is that it not only divides thread creation from execution but also provides a mechanism for communication between concurrent tasks. Data sharing between threads belonging to the same process occurs easily in Windows and Pthreads, since shared data are simply declared globally. As a pure object-oriented language, Java has no such notion of global data. We can pass parameters to a class that implements Runnable, but Java threads cannot return results. To address this need, the java.util.concurrent package additionally defines the Callable interface, which behaves similarly to Runnable except that a result can be returned. Results returned from Callable tasks are known as Future objects. A result can be retrieved from the get() method defined in the Future interface. The program shown in Figure 4.14 illustrates the summation program using these Java features.

      It is possible to build and manage threads without actually creating Thread objects thanks to Java's Executor framework. While Callable enables a thread to produce a result by a Future object, it uses Runnable tasks and can organize how tasks are carried out. Java programs can more easily handle communication and outcomes in concurrent tasks because to these features in the java.util.concurrent package.

    4. Threads are the fundamental model of program execution in a Java program, and the Java language and its API provide a rich set of features for the creation and management of threads. All Java programs comprise at least a single thread of control—even a simple Java program consisting of only a main() method runs as a single thread in the JVM. Java threads are available on any system that provides a JVM including Windows, Linux, and macOS. The Java thread API is available for Android applications as well. There are two techniques for explicitly creating threads in a Java program. One approach is to create a new class that is derived from the Thread class and to override its run() method. An alternative—and more commonly used—technique is to define a class that implements the Runnable interface. This interface defines a single abstract method with the signature public void run(). The code in the run() method of a class that implements Runnable is what executes in a separate thread. An example is shown below: class Task implements Runnable {   public void run() {     System.out.println("I am a thread.");   } }

      Even an easiest Java program has at least one thread operating in the JVM because Java programs use threads as a fundamental model for task execution. There are two primary addresses to construct threads in Java, either implement the Runnable interface or extend the Thread class.

    5. 4.4.1 Pthreads Pthreads refers to the POSIX standard (IEEE 1003.1c) defining an API for thread creation and synchronization. This is a specification for thread behavior, not an implementation. Operating-system designers may implement the specification in any way they wish. Numerous systems implement the Pthreads specification; most are UNIX-type systems, including Linux and macOS. Although Windows doesn't support Pthreads natively, some third-party implementations for Windows are available. The C program shown in Figure 4.11 demonstrates the basic Pthreads API for constructing a multithreaded program that calculates the summation of a non-negative integer in a separate thread. In a Pthreads program, separate threads begin execution in a specified function. In Figure 4.11, this is the runner() function. When this program begins, a single thread of control begins in main(). After some initialization, main() creates a second thread that begins control in the runner() function. Both threads share the global data sum. #include <pthread.h> #include <stdio.h> #include <stdlib.h> int sum; /* this data is shared by the thread(s) */ void *runner(void *param); /* threads call this function */ int main(int argc, char *argv[]) {   pthread_t tid;  /* the thread identifier */   pthread_attr_t attr; /* set of thread attributes */   /* set the default attributes of the thread */  pthread_attr_init(&attr);   /* create the thread */   pthread_create(&tid, &attr, runner, argv[1]);   /* wait for the thread to exit */   pthread_join(tid,NULL);   printf("sum = %d\n",sum); } /* The thread will execute in this function */ void *runner(void *param) {   int i, upper = atoi(param);   sum = 0;   for (i = 1; i <= upper; i++)     sum += i;   pthread_exit(0); } Figure 4.11 Multithreaded C program using the Pthreads API. Let's look more closely at this program. All Pthreads programs must include the pthread.h header file. The statement pthread_t tid declares the identifier for the thread we will create. Each thread has a set of attributes, including stack size and scheduling information. The pthread_attr_t attr declaration represents the attributes for the thread. We set the attributes in the function call pthread_attr_init(&attr). Because we did not explicitly set any attributes, we use the default attributes provided. (In Chapter 5, we discuss some of the scheduling attributes provided by the Pthreads API.) A separate thread is created with the pthread_create() function call. In addition to passing the thread identifier and the attributes for the thread, we also pass the name of the function where the new thread will begin execution—in this case, the runner() function. Last, we pass the integer parameter that was provided on the command line, argv[1]. At this point, the program has two threads: the initial (or parent) thread in main() and the summation (or child) thread performing the summation operation in the runner() function. This program follows the thread create/join strategy, whereby after creating the summation thread, the parent thread will wait for it to terminate by calling the pthread_join() function. The summation thread will terminate when it calls the function pthread_exit(). Once the summation thread has returned, the parent thread will output the value of the shared data sum. This example program creates only a single thread. With the growing dominance of multicore systems, writing programs containing several threads has become increasingly common. A simple method for waiting on several threads using the pthread_join() function is to enclose the operation within a simple for loop.

      UNIX, Linux, and macOS systems typically use Pthreads, a POSIX standard that provides tools for starting and controlling threads. In the example pthread_join() causes the main thread to wait for the new thread to complete, while pthread_create() starts a new thread that runs the runner() function. After computing the sum and storing the outcome in the shared variable sum, the runner() thread terminates with pthread_exit().

    6. A thread library provides the programmer with an API for creating and managing threads. There are two primary ways of implementing a thread library. The first approach is to provide a library entirely in user space with no kernel support. All code and data structures for the library exist in user space. This means that invoking a function in the library results in a local function call in user space and not a system call. The second approach is to implement a kernel-level library supported directly by the operating system. In this case, code and data structures for the library exist in kernel space. Invoking a function in the API for the library typically results in a system call to the kernel. Three main thread libraries are in use today: POSIX Pthreads, Windows, and Java. Pthreads, the threads extension of the POSIX standard, may be provided as either a user-level or a kernel-level library. The Windows thread library is a kernel-level library available on Windows systems. The Java thread API allows threads to be created and managed directly in Java programs. However, because in most instances the JVM is running on top of a host operating system, the Java thread API is generally implemented using a thread library available on the host system. This means that on Windows systems, Java threads are typically implemented using the Windows API; UNIX, Linux, and macOS systems typically use Pthreads.

      Programmers can build and manage threads using an API provided by a thread library. Thread libraries can be built in kernel space, where the operating system directly supports them, or in user space, where they function without direct kernel support.

    7. Multicore Programming Earlier in the history of computer design, in response to the need for more computing performance, single-CPU systems evolved into multi-CPU systems. A later, yet similar, trend in system design is to place multiple computing cores on a single processing chip where each core appears as a separate CPU to the operating system (Section 1.3.2). We refer to such systems as multicore, and multithreaded programming provides a mechanism for more efficient use of these multiple computing cores and improved concurrency. Consider an application with four threads. On a system with a single computing core, concurrency merely means that the execution of the threads will be interleaved over time (Figure 4.3), because the processing core is capable of executing only one thread at a time. On a system with multiple cores, however, concurrency means that some threads can run in parallel, because the system can assign a separate thread to each core (Figure 4.4).

      A multicore system allows several threads to operate simultaneously on various cores, but a single-core system only allows multiple threads to run alternately. This allows multithreaded programs to do tasks continuously and make better use of the available CPU cores.

    8. 4.1.2 Benefits The benefits of multithreaded programming can be broken down into four major categories: 1. Responsiveness. Multithreading an interactive application may allow a program to continue running even if part of it is blocked or is performing a lengthy operation, thereby increasing responsiveness to the user. This quality is especially useful in designing user interfaces. For instance, consider what happens when a user clicks a button that results in the performance of a time-consuming operation. A single-threaded application would be unresponsive to the user until the operation had been completed. In contrast, if the time-consuming operation is performed in a separate, asynchronous thread, the application remains responsive to the user. 2. Resource sharing. Processes can share resources only through techniques such as shared memory and message passing. Such techniques must be explicitly arranged by the programmer. However, threads share the memory and the resources of the process to which they belong by default. The benefit of sharing code and data is that it allows an application to have several different threads of activity within the same address space. 3. Economy. Allocating memory and resources for process creation is costly. Because threads share the resources of the process to which they belong, it is more economical to create and context-switch threads. Empirically gauging the difference in overhead can be difficult, but in general thread creation consumes less time and memory than process creation. Additionally, context switching is typically faster between threads than between processes. 4. Scalability. The benefits of multithreading can be even greater in a multiprocessor architecture, where threads may be running in parallel on different processing cores. A single-threaded process can run on only one processor, regardless how many are available. We explore this issue further in the following section.

      In addition to allowing threads to share memory and resources inside a process, it allows programs to maintain responsiveness while managing time consuming operations. In general, creating and switching between threads is less expensive than creating processes

    9. With the continued growth of multicore processing, applications containing hundreds—or even thousands—of threads are looming on the horizon. Designing such applications is not a trivial undertaking: programmers must address not only the challenges

      Implicit threading is defined by what the programmer no longer has to do: instead of manually creating and managing individual threads, the developer only identifies tasks, units of work that could run in parallel, and hands responsibility for turning those tasks into actual threads over to a library or runtime, typically using the many-to-many model under the hood.

    10. The process model introduced in Chapter 3 assumed that a process was an executing program with a single thread of control. Virtually all modern operating systems, however, provide features enabling a process to contain multiple threads of control. Identifying opportunities for parallelism through the use of threads is becoming increasingly important for modern multicore systems that provide multiple CPUs.

      Multiple threads can be included in a process, allowing the simultaneous execution of various program components. Multithreading can improve performance and enable parallelism. Because numerous threads can run on separate CPU cores at once in modern multicore computers, it is especially important.

    11. The one-to-one model (Figure 4.8) maps each user thread to a kernel thread. It provides more concurrency than the many-to-one model by allowing another thread to run when a thread makes a blocking system call. It also allows multiple threads to run in parallel on multiprocessors. The only drawback to this model is that creating a user thread requires creating the corresponding kernel thread, and a large number of kernel threads may burden the performance of a system. Linux, along with the family of Windows operating systems, implement the one-to-one model.

      both Windows and Linux threads are described there as one-to-one, which this section sets up as the reason. It is worth connecting the drawback mentioned here, kernel-thread creation overhead, back to the economy benefit claimed in Section 4.1, since the one-to-one model is the one case where creating a thread does still involve a real kernel-level allocation and not just a lightweight user-space operation.

    12. The many-to-one model (Figure 4.7) maps many user-level threads to one kernel thread. Thread management is done by the thread library in user space, so it is efficient (we discuss thread libraries in Section 4.4). However, the entire process will block if a thread makes a blocking system call. Also, because only one thread can access the kernel at a time, multiple threads are unable to run in parallel on multicore systems. Green threads—a thread library available for Solaris systems and adopted in early versions of Java—used the many-to-one model. However, very few systems continue to use the model because of its inability to take advantage of multiple processing cores, which have now become standard on most computer system

      The many-to-one model is a good illustration of a design that made sense historically but became obsolete for a structural reason rather than an implementation flaw. It was fast precisely because thread operations stayed in user space and avoided system calls, but that same design choice is what makes it impossible to ever run two threads on two cores simultaneously, since the kernel only ever sees one thread

    13. One interesting fact about Amdahl's Law is that as N approaches infinity, the speedup converges to 1/S. For example, if 50 percent of an application is performed serially, the maximum speedup is 2.0 times, regardless of the number of processing cores we add. This is the fundamental principle behind Amdahl's Law: the serial portion of an application can have a disproportionate effect on the performance we gain by adding additional computing co

      This connects back to the five challenges from the previous passage, specifically "balance" and "data dependency." Amdahl's Law is really the mathematical consequence of failing to eliminate serial dependencies: every dependency you leave unresolved between tasks effectively becomes part of S, and this passage shows that even a plateau as low as 50 percent serial caps you at 2x no matter how many cores exist, which is a strong argument for why identifying and removing dependencies matters more than simply adding hardware.

    14. An application typically is implemented as a separate process with several threads of control. Below we highlight a few examples of multithreaded applications: An application that creates photo thumbnails from a collection of images may use a separate thread to generate a thumbnail from each separate image. A web browser might have one thread display images or text while another thread retrieves data from the network. A word processor may have a thread for displaying graphics, another thread for responding to keystrokes from the user, and a third thread for performing spelling and grammar checking in the background.

      These three examples are useful because they show three different reasons to thread something: the thumbnail case is about parallelizing identical work across images, the browser case is about keeping the interface responsive while I/O happens, and the word processor case is about running a genuinely background task, spell check, without the user noticing it at all.

    15. Amdahl's Law is a formula that identifies potential performance gains from adding additional computing cores to an application that has both serial (nonparallel) and parallel components. If S is the portion of the application that must be performed serially on a system with N processing cores, the formula appears as follows: speedup≤1S+(1−S)

      Working through the numbers makes the formula concrete: with S = 0.25 and N = 2, the denominator is 0.25 + 0.75/2 = 0.625, and 1/0.625 = 1.6, matching the book's claim. This shows how even a modest serial fraction caps your gains hard, doubling the cores from two to four only got the speedup from 1.6 to 2.28, not close to doubling, because that fixed 25 percent serial chunk never gets any faster no matter how many cores you throw at it.

    16. A thread is a basic unit of CPU utilization; it comprises a thread ID, a program counter (PC), a register set, and a stack. It shares with other threads belonging to the same process its code section, data section, and other operating-system resources, such as open files and signals. A traditional process has a single thread of control. If a process has multiple threads of control, it can perform more than one task at a time. Figure 4.1 illustrates the difference between a traditional single-threaded process and a multithreaded process

      a thread carries its own control-flow state, meaning ID, program counter, registers, and stack, but shares everything else, code, data, and open files, with the other threads in its process. That sharing is what makes threads so much cheaper to create than processes, a point the chapter returns to explicitly under "Economy" a page later.

    1. Read the console after each section before running the next.

      I cannot get the numbers. Instead, on the console, I can only see:

      con |> + tbl("user") |> + filter(username == "Tesla") |> + select(user_id, username, followers_count) |> + collect() -> + tesla

      The Error is shown as: Error in dbplyr_query_fields(): ! Can't query fields. ℹ Using SQL: SELECT * FROM "user" AS "q03" WHERE (0 = 1) Caused by error: ! bad_weak_ptr Run rlang::last_trace() to see where the error occurred.

    1. ‘us’ against ‘them’

      Struggles like the male loneliness epidemic and men's mental health declining are things that could be helped by a collective effort made by people across the gender spectrum. What the manosphere discourages is connection, as a tool to prevent collaboration. The source of many of the issues is in that lack of connection, economic, and general social struggles that affect most people. However, feminism, women's rights, and the LGBTQ+ community are often the ones blamed.

    2. society oppresses men and favours women

      To those who are used to having power, equality feels like oppression. Those who are convincing young men are oppressed are doing so easily, because they are able to point to affordances and powers men had in the past that are going away. In some realms, young men are finding that they don't have as much or as much power as their fathers or grandfathers before them. They're finding that the change has coincided with feminism. Where they forget to look is where women have gained rights, refusing to consider the oppression that women faced before and where they still face it to this day.

    3. convenient scapegoats

      This reminds me of a comment made by a drag queen, about the bans on their readings to children in libraries. The queen remarked that the same politicians who are arguing that drag queens are dangerous to children, are protectors of the second amendment. They refuse reform on gun control, even in the midst of a school shooting crisis, so the safety of children does not seem like a real priority. The public knows that children are in danger, so instead of handling the real threat, they have chosen drag queens as the scapegoats.

    4. media ecosystems

      This reminds me of the echo chambers that online communities create to radicalize people on the internet. Language used to perpetuate aggressive male behaviour in the 'manosphere', like "Alpha" or "Sigma" is based in myths around animal behaviour that has since, been debunked. The ways a man 'should' behave are presented in online spaces as fact though. The aggression and lack of emotional exploration encouraged by influencers only causes a rift between men and women, which also acts to alienate anything outside of or between those binaries. The ironic thing, though, is that the behaviours young men on the internet are encouraged to participate in, are often presented to them as way to 'get' women.

    1. Contact InformationRecreation Recruitment - Email: recjobs@toronto.ca

      (Operable/Perceivable) The "Contact Us" link in the footer has clear visual spacing and a well-defined clickable target area. Proper link spacing prevents misclicks and ensures that users with motor impairments or those using touchscreens and screen magnifiers can easily access essential contact information.

    2. Search Jobs by Category

      (Understandable) The "Job Category" filter uses a clear, descriptive label right below the search keyword menu. Having explicit labels helps users understand exactly what information is requested, making the job search form predictable and easy to navigate for neurodivergent users (such as those with ADHD or dyslexia).

    3. Search by Keyword

      (Operable) The job search fields and buttons can be selected and navigated using the keyboard (Tab key). This makes sure that individuals with motor impairments who cannot use a mouse can still search and apply for jobs.

    4. Recreation Jobs

      (Perceivable): The main logo and header text use clear formatting. This makes sure that screen reader users who are blind or visually impaired can understand the visual elements on the page.

    5. Jobs at the City

      (Robust) The "Jobs in the City" link uses clean, standard HTML structure. This makes sure that a wide variety of assistive technologies, alternative web browsers, and screen readers can reliably break down and interact with the element without breaking.

    1. influence of multitasking with an array of electronic media on students’ ability to learn from typical,

      Prior studies show that texting, social media, and notifications interrupt learning. I relate because I get distracted by my phone too.

    2. A hierarchical regression

      Hierarchical regression is a type of regression analysis where variables are entered into the model in steps/ blocks to see how much additional variance each block explains in the outcome variable.

    1. Like many of my students, youmay have had experience annotating in high school

      I rarely ever annotated, My teachers never really made me do that. I just read without really understanding what I was reading.

    2. Many of my students that find it difficult to speak up in whole-classdiscussions find social annotation a meaningful way to participate.

      For me speaking up in class is really hard because I always think I'm going to say something wrong or people are going to laugh. I also just never know what to say.

    1. 個人的に気になったのは、

      個人的な気になり部分なのはそうなのですが、ここまでの流れに沿った書き出しにしてはどうでしょうか。

      「前述の内容を考えていくと、I/Oと短い....使い勝手が気になる部分として挙げられます」