Skip to content

Latest commit

 

History

History
2086 lines (1626 loc) · 113 KB

2021-11-23.md

File metadata and controls

2086 lines (1626 loc) · 113 KB

< 2021-11-23 >

3,281,917 events, 1,717,693 push events, 2,647,020 commit messages, 201,771,614 characters

Tuesday 2021-11-23 00:07:47 by theishiopian

PRAISE THE OMNISSIAH -removed that awful spear rendering hack -replaced it with a feature in forge that is frustratingly hard to find -forge doc your stuff pls -redid all spear models to use new system -refactored thrown weapon rendering code to be compatible with new system


Tuesday 2021-11-23 02:07:37 by GuillaumePrata

Add Etheral lungs to the limbgrower (#62469)

Saturday morning, calm shift. I spend most of my time staring at CANARY waiting for an atmos alarm to pop up while I sit at the foyer hearing what random craziness Poly is spewing and wondering about the previous and more interesting shifts. When suddenly, an atmos alarm pops up at the Incinerator. "Fucks sake, I bet the other atmos are torching the place again..." I rush there expecting to fix a fire, but instead I find the start of something great...

The madman kidnapped an Ethereal to use as an organic Hydrogen farm, nothing I haven't seen before but... my hands start shaking, a spark of brilliance and potential in my eyes as I mumbled the words: "I always hear that organic things are healthier... so what if we throw the Electrolyzer away and instead, print Etheral lungs in the limbgrower and implant them on monkeys..." To our sadness, Ethereal lungs weren't added to the Ethereal disk design, this fixes that!


Tuesday 2021-11-23 04:48:14 by Kai Lyons

This single space in these two files IS THE FUCKING SOLUTION TO ALL OF MY PROBLEMS!!! WHO THE FUCK'S IDEA WAS THIS!?!? WHY, IF THERE WAS NO SPACE WOULD THERE GENERATE AN ERROR!? FUCK YOU


Tuesday 2021-11-23 08:04:39 by Mario Kleiner

Screen/Linux/X11: Add initial NVidia Optimus proprietary OpenGL support.

This is meant to be used on modern NVidia gpu's of the Maxwell gpu family (GeForce 800 series) or later, with which can not really use the Mesa noveau open-source OpenGL graphics and display driver, due to the poor performance caused by lack of gpu reclocking support and other NVidia induced shenigans (signed firmware missing for reclock, power management, sometimes even gfx hw acceleration).

It triggers in "NVidia Optimus" PRIME muxless render offload mode with an Intel integrated processor graphics iGPU (or also with AMD Ryzen APUs, although it is not yet useful for AMD iGPU + NVidia dGPU configurations with current Linux kernels due to amdgpu-kms driver limitations). It is only used when the NVidia proprietary OpenGL driver is in use, as we have the Mesa open-source nouveau OpenGL driver case perfectly covered since many years.

In such a configuration, the NVidia gpu + proprietary driver will do the OpenGL stimulus drawing/rendering and post-processing. The X-Server display gpu and driver, ie., Intel or AMD with Mesa open-source drivers and Linux open-source kms drivers are used for presenting and displaying the stimulus to the actual video output/ display, ie. all flip scheduling, timing and timestamping is done by the open-source drivers with excellent timestamping precision and reliability/trustworthiness for fullscreen onscreen windows (full X-Screen covering, unredirected, compositor locked out/bypassed, kms-pageflipping used).

However, because NVidia's proprietary GLX module is in use in such a configuration, instead of the standard X-Server GLX module, all GLX/OpenGL timing and timestamping extensions are disabled, as NVidia GLX does not support them.

But as I just learned by xtrace'ing and reverse engineering X-Server

  • NVidia OpenGL protocol interactions, the good news is that the NVidia OpenGL driver uses X11/DRI3/Present for image presentation in Optimus mode. The driver subscribes to PresentPixmapCompleteNotify and PresentPixmapIdleNotify events, receives them from the server in response to each completed presentation and processes them internally to a limited degree, apparently for sync-handshaking and swap throttling, using the present completion msc of a previous present to calculate the PresentPixmap targetmsc for presenting the next image as targetmsc = previous_msc + 1, or similar. This is insofar strange as this is not actually needed for the primitive glXSwapBuffers implementation of NVidia, a hard-coded targetmsc of zero would do the trick. And regrettable, because it should be very easy for NVidia to implement the intel swap events extension trivially on top of this mechanism and all the work they already did, ie. they are > 90% there for their GLX module. Instead they seem to discard the information instead of exposing it.

Anyway, we receive this stream of present notify events from the server, with all the info we need for excellent timestamping. This experimental initial commit uses the X11/Present extension directly to subscribe us with a dedicated special event queue per onscreen window of our own, so we receive copies of all completion events in our own queue, from which we can dequeue and process them for our own purpose! We use them for our own homegrown reimplementation of intel swap events, and do corresponding accounting so we get feedback for each completed OpenGL bufferswap, if the swap was successfull, how it was completed (pageflip hopefully!), and the vblank count msc and timestamp of present completion.

This should give us flip timestamping of identical quality, trustworthiness, robustness and precision as with the regular open-source OpenGL drivers for AMD, Intel, RaspberryPi etc.

So far the theory. In practice:

  • Test with Videoswitcher+Bits#/RtBox measurement hardware was successfull - Timestamping works reliably :)

  • This is only a first beta implementation, so here by dragons!

  • Only intel-kms and thereby Intel integrated gpu's can currently pageflip and scanout from GTT, so pageflipping and good timestamps on Intel only by default.

  • amdgpu-kms currently only allows GTT scanout/pageflip when the display gpu is a AMD stoney, carrizo or Ryzen APU and the dGPU for renderoffload is a modern amdgpu-kms driven AMD gpu. It does not allow pageflip with other dGPU's from NVidia or future Intel DG-x, or on older AMD APU's (also not on RavenRidge 1st gen), or from AMD dGPU's as display gpu's. I do have some kernel patches to fix this, which work nicely here on darlene with 1st gen RavenRidge (Ryzen 5 2400G, Vega11 gfx, DCN-1 display engine) + NVidia Turing family GeForce GTX 1650 under both noveau and NVidia proprietary. However these patches implement dirty hacks, so they may not be upstreamable, we'll see.

    For AMD or similar, the only workable approach wrt. quality is going through the X11 desktop compositor, so no pageflip/direct GTT scanout. But this new timestamping method does not mesh well with desktop composition, so no-go for timing. However, this new approach got me thinking. Maybe we can play some more complex games with pixmap present complete, pixmap idle events and somehow get present notify events for the compositors main framebuffer window, to ordering and timing info for when the compositors is done latching our OpenGL frontbuffer, done compositing, and done pageflip presenting the composited desktop? Tricky, but not impossible. Maybe a worth a try in the future, but not now...


Tuesday 2021-11-23 10:59:03 by Paul E. McKenney

clocksource: Forgive repeated long-latency watchdog clocksource reads

Currently, the clocksource watchdog reacts to repeated long-latency clocksource reads by marking that clocksource unstable on the theory that these long-latency reads are a sign of a serious problem. And this theory does in fact have real-world support in the form of firmware issues [1].

However, it is also possible to trigger this using stress-ng on what the stress-ng man page terms "poorly designed hardware" [2]. And it is not necessarily a bad thing for the kernel to diagnose cases where heavy memory-contention workloads are being run on hardware that is not designed for this sort of use.

Nevertheless, it is quite possible that real-world use will result in some situation requiring that high-stress workloads run on hardware not designed to accommodate them, and also requiring that the kernel refrain from marking clocksources unstable.

Therefore, react to persistent long-latency reads by leaving the clocksource alone, but using the old 62.5-millisecond skew-detection threshold. In addition, the offending clocksource is marked for re-initialization, which both restarts that clocksource with a clean bill of health and avoids false-positive skew reports on later watchdog checks. Once marked for re-initialization, the clocksource is not subjected to further watchdog checking until a subsequent successful read from that clocksource that is free of excessive delays.

However, if clocksource.max_cswd_coarse_reads consecutive clocksource read attempts result in long latencies, a warning (splat) will be emitted. This kernel boot parameter defaults to 1000, and this warning can be disabled by setting it to zero or to a negative value.

[ paulmck: Apply feedback from Chao Gao and Oliver Sang. ]

Link: https://lore.kernel.org/lkml/20210513155515.GB23902@xsang-OptiPlex-9020/ # [1] Link: https://lore.kernel.org/lkml/20210521083322.GG25531@xsang-OptiPlex-9020/ # [2] Link: https://lore.kernel.org/lkml/20210521084405.GH25531@xsang-OptiPlex-9020/ Link: https://lore.kernel.org/lkml/20210511233403.GA2896757@paulmck-ThinkPad-P17-Gen-1/ Tested-by: Chao Gao [email protected] Tested-by: Jiri Wiesner [email protected] Signed-off-by: Paul E. McKenney [email protected]


Tuesday 2021-11-23 11:23:10 by Mike Griese

Fixes the wapproj fast-up-to-date check (#11806)

I'm working on making the FastUpToDate check in Vs work for the Terminal project. This is one of a few PRs in this area.

FastUpToDate lets vs check quickly determine that it doesn't need to do anything for a given project.

However, a few of our projects don't produce all the right artifacts, or check too many things, and this eventually causes the wapproj to rebuild, EVERY TIME YOU F5 in VS.

This third PR deals with the Actual fast up to date check for the CascadiaPackage.wapproj. When #11804, #11805 and this PR are all merged, you should be able to just F5 the Terminal in VS, and then change NOTHING, and F5 it again, without doing a build at all.

The wapproj GetResolvedWinMD target tries to get a winmd from every cppwinrt executable we put in the package. But we DON'T produce a winmd. This makes the FastUpToDate check fail every time, and leads to the whole wapproj build running even if you're just f5'ing the package. EVEN AFTER A SUCCESSFUL BUILD.

Setting GenerateWindowsMetadata=false is enough to tell the build system that we don't produce one, and get it off our backs.

teams chat where we figured this out

[3:38 PM] Dustin Howett however, that's not the only thing that "GetTargetPath" checks.

[3:38 PM] Dustin Howett oh yeah more info: wapproj calls GetTargetPath on all projects it references

[3:38 PM] Dustin Howett when it calls GTP on WindowsTerminal.vcxproj it is getting back a winmd (!)

[3:39 PM] Dustin Howett here's the magic

[3:39 PM] Dustin Howett image

[3:39 PM] Dustin Howett it checks if any Link items specify GenerateWindowsMetadata

image


Tuesday 2021-11-23 11:47:48 by CHODISETTI VEERA SUBRAHMANYAM

Add files via upload

VEERA SUBRAHMANYAM CHODISETTI [email protected] / 6300130721 / DOB: 20/08/2000, Hyderabad, Telangana Summary Motivated person towards Data Science as a career. I completed my Bachelor's degree in statistics, which gives me good statistical and mathematical knowledge. Now, as a Motivated Data Scientist with proven success in building successful algorithms and predictive models. LinkedIn: https://www.linkedin.com/in/veera-subrahmanyam-chodisetti-69b486204/ GitHub repo: https://github.com/subrahmanyam-hub/subrahmanyam-hub Education MBA (Artificial Intelligence) Rajiv Gandhi Institute of Management & Science • Kakinada 08/2022 Currently completing courses in Data Science and AI. BSc (Statistics ,Mathematics & Actuarial Science) PR Government Autonomous Degree college • Kakinada, Andhra Pradesh 07/2020 Completed my Bachelor's degree in statistics, which gives me good statistical and mathematical knowledge, and worked on a project using SPSS(Statistical Package of social sciences). Objective: Prediction of climate change using previous data by applying Regression lines on the SPSS package. GPA: 7.30 INTERMEDIATE Sri Chaitanya Jr College • Kakinada, Andhra Pradesh 05/2017 SSC Priyadarshini EM High School • Kakinada, Andhra Pradesh 05/2015 Experience Data Science Trainee Intern Innodatatics Inc • Hyderabad, Telangana 01/2021 - 10/2021 My responsibility is Developing Deep Learning Algorithms, Machine learning Algorithms, NLP, and deployment. -- Performed advanced exploratory data analysis and feature extraction on real-world numeric and text data -- Worked on diverse ML algorithms and Deep learning algorithms --Gained expertise in tackling NLP problems Skills CERTIFICATIONS Certificate Program in Data Science using Machine Learning with R and Python by IBM Tableau Desktop Professional Certification by Tableau Association The SQL Micro Degree 2021: From SQL Basics To MySQL Mastery by Udemy Text Analytics 101 by IBM Data Analysis & Data visualization Using Python by cognitive.ai PROJECT 1 ABUSIVE & NON-ABUSIVE EMAIL CLASSIFICATION USING NLP (Model Building & Deployment) --Inappropriate emails would demotivate and spoil the positive environment that would lead to more attrition rate and low productivity and Inappropriate emails could be in the form of bullying, racism, sexual favoritism, and hate in the gender or culture, in today's world so dominated by email no organization is immune to these hate emails. Objective: The goal of the project is to identify abusive emails on the given day based on the above inappropriate content. Process: -Performed advanced NLP techniques to preprocess and vectorize email dataset. -Overcame memory allocation and used CUDA acceleration for modeling. Fine-tuned BERT model and showcased the advantage of deep learning over baseline approaches. PROJECT 2 CHATBOT PREPARATION ( Model Building & Deployment) Objective: Chatbot Preparation for Data Science Interview Questions & Answers. Process: Collected data from various websites using Web scraping and Created data frame with features as Questions and Answers. Obtained Unique words from respective questions using Data Cleaning and NLP Techniques. Successfully applied Naïve Baye's model for pattern matching and deployed using Flask. PROJECT 3 Email Template Generator(Code & Deployment) Objective: Preparing a webpage that contains all types of Email templates. Process: Collected Email templates by using Web scraping from various websites. Using Python created a priority method that projects suitable templates based on the given headline. Deployed using Streamlit.


Tuesday 2021-11-23 14:46:39 by jimmy-print

Lost in time and space Aimless drifting in a far off place Hurtling through the vast unknown Staring straight into the pure, black void Drowning in the sea of stars Lost in a galaxy of cocktail bars Blinded by the neon lights I lie awake and say your name into the night I guess she's gone for good She don't call me like I thought she would She went west to chase her dreams She took my money, but she didn't take me Why go wander unknown worlds? Stay right here and let the cosmos twirl Blind without her source of light I light a flame and say her name into the night


Tuesday 2021-11-23 16:25:54 by LeandroHorane

Teoría general de la ocupación, el interés y el dinero

de JOHN MAYNARD KEYNES

PREFACIO

Dirijo este libro especialmente a mis colegas economistas, aunque espero sea comprensible para quienes no lo son. Su principal ob¬ jeto es ocuparse de las difíciles cuestiones de la teoría, y sólo secundariamente de sus aplicaciones prácticas; porque si la eco¬ nomía ortodoxa está en desgracia, la razón debe buscarse no en la superestructura, que ha sido elaborada con gran cuidado por lo que respecta a su consistencia lógica, sino en la falta de claridad y generalmente de sus premisas. Por tal motivo no podré cumplir mi deseo de persuadir a los economistas que estudien otra vez, con intención crítica, algunos de los supuestos básicos de la teoría, más que por medio de argumentos sumamente abstractos, así como valiéndome a menudo de la controversia. Quisiera abreviar ésta; pero he creído importante no sólo explicar mi propio punto de vista, sino también mostrar en qué aspectos se aparta de la teoría habitual. Supongo que quienes se aferran demasiado a lo que lla¬ maré "la teoría clásica” vacilarán entre la creencia de que estoy completamente equivocado y la de que no estoy diciendo nada nuevo. Corresponde a otros determinar si alguna de estas alternativas, o bien una tercera, es la correcta. La parte de mi obra especialmente dedicada a la controversia tiene por objeto proporcionar materiales para la respuesta, y debo disculparme si, al tratar de establecer distinciones incisivas, mis argumentos re¬ sultan demasiado sutiles. Yo mismo defendí durante muchos años con convicción las teorías que ahora [V] ataco y creo no ignorar cuál es su lado fuerte.

No puede exagerarse la importancia del asunto a discusión; y si mis explicaciones son correctas, a quienes primero debo con¬ vencer es a mis colegas economistas y no al público en general. En tales condiciones, el público, aunque bienvenido al debate, es sólo un curioso que observa el intento de un economista de en¬ contrar una solución a las diferencias profundas de criterio que hay entre él y los demás, y que, por ahora, han destruido casi toda la influencia práctica de la teoría económica y seguirán destruyéndola mientras no se llegue a un acuerdo.

La relación que hay entre este libro y mi Treatise on Money, que publiqué hace cinco años, probablemente es más clara para mí que para los demás; y lo que desde mi punto de vista repre¬ senta una evolución natural de las ideas que he seguido por varios años, puede parecer a los lectores un confuso cambio de frente. Esta probabilidad no se aminora por las alteraciones que me he

visto obligado a hacer en la terminología del libro y que indico en las páginas siguientes; pero la relación general entre ambos libros puede expresarse en pocas palabras como sigue: cuando empecé a escribir mi Treati.se un Money todavía seguía el cauce tradicional que considera la influencia del dinero como algo que debería tratarse separadamente de la teoría general de la oferta y la demanda. Al acabarlo, había realizado algunos progresos en el sentido de aislar la teoría monetaria hasta convertirla en una teoría completa de la producción. Sin embargo, mi sujeción a las ideas preconcebidas aparecía en lo que creo constituye la falla principal de las partes teóricas de ese trabajo (a saber los libros iii [VI] y iv), en que no me ocupé lo bastante de los efectos de los cambios en el nivel de la producción. Mis llamadas "ecua¬ ciones fundamentales’’ eran instantáneas fotográficas del sistema económico, tomadas en el supuesto de una producción determinada de antemano. Con ellas intentaba demostrar de qué manera, par¬ tiendo de dicho supuesto, podían desarrollarse ciertas fuerzas que provocaban un clesequelibrio de las ganancias, requiriendo así un cambio en el nivel de la ¡Droducción. No obstante, la dinámica, por oposición a la fotografía instantánea, quedaba incompleta y extraordinariamente confusa. Este libro, por otra parte, se ha con¬ vertido en lo que es: sobre todo, un estudio de las fuerzas que determinan los cambios en la escala de producción y de ocupa¬ ción como un todo; y si bien opino que el dinero entra en el sistema económico de una manera esencial y especial, dejo en segundo plano los detalles monetarios técnicos. Veremos que una economía monetaria es, ante todo, aquella en que los cambios de opinión respecto al futuro son capaces de influir en el volumen de ocupación y no sólo en su dirección; pero nuestro método de analizar la conducta económica presente, bajo la influencia de los cambios de ideas respecto al futuro, depende de la acción recí¬ proca de la oferta y la demanda, quedando de este modo ligada con nuestra teoría fundamental del valor. Así nos acercamos a una teoría más general, que incluye como caso particular la teoría clásica que conocemos bien.

El autor de un libro como éste, que marca nuevas rutas, está en extremo sujeto a la crítica y a la discusión si desea evitar mu¬ chos errores indebidos. Es sorprendente el número de tonterías cpie se pueden creer temporalmente si se aísla uno demasiado tiem- po del pensamiento de los demás, sobre todo en economía (así como en las otras ciencias morales), en la que con frecuencia es imposible poner a prueba de manera definitiva las ideas propias.

ya sea formal o [VII] experimentalmente. En este libro he con¬ fiado, quizás más que al escribir mi Treatise on Money , en los consejos constantes y la crítica constructiva del Sr. R. F. Kahn. Contiene muchas cosas que no habrían adquirido su per¬ fil si no hubiera sido por sugestión suya. También he recibido mucha ayuda de la señora Joan Robinson y de los señores R. G. Ilawtrey y R. F. Harrod, quienes leyeron las pruebas de imprenta. El índice fue recopilado por el señor D. M. Bensusan-Butt de King’s College, Cambridge.

La redacción de este libro ha sido, para el autor, una prolon¬ gada lucha en la que trató de escapar a las formas habituales de expresión, y así debe ser su estudio p? a la mayor parte de los lectores, si el intento del autor tiene Cuto, un forcejeo para huir de la tiranía de las formas de expresión y de pensamiento habi¬ tuales. Las ideas aquí desarrolladas tan laboriosamente son en extremo sencillas y deberían ser obvias. La dificultad reside no en las ideas nuevas, sino en rehuir las viejas que entran rondando hasta el último pliegue del entendimiento de quienes se han edu¬ cado en ellas, como la mayoría de nosotros [VIII],

J. M. Keynes

13 de diciembre de 1935.

Libro I

INTRODUCCIÓN

CAPITULO 1

LA TEORÍA GENERAL

He llamado a este libro Teoría general de la ocupación, el in¬ terés el dinero, recalcando el sufijo general, con objeto de que el títu sirva para contrastar mis argumentos y conclusiones con los de L eoiía clásica en que me eduqué y que domina el pen¬ samiento onómico, tanto práctico como teórico, de los acadé¬ micos y gob. nantes de esta generación igual que lo ha dominado durante los últimos cien años. Sostendré que los postulados de la teoría clásica sólo son aplicables a un caso especial, y no en general, porque las condiciones que supone son un caso extremo de todas las posiciones posibles de equilibrio. Más aún, las carac¬ terísticas del caso especial supuesto por la teoría clásica no son las de la sociedad económica en que hoy vivimos, razón por la que sus enseñanzas engañan y son desastrosas si intentamos apli¬ carlas a los hechos reales. [3]

1 "Los economistas clásicos" fue una denominación inventada por Marx para referirse a Ricardo. - lam es Mil i y sus predecesores, es decir, para los fundadores de la teoría que culminó en Ricard o. Me he acostumbrado quizá cometiendo un sole¬ cismo, a incluir en “la escuela clásica’’ a los continuadores de Ricardo, es decir, aquellos que adoptaron y perfeccionaron la teoría económica ricardiana, incluy (por ejemplo) a J. S. Mili, Marsliall, Edgcworth y el profesor Pigou.

CAPÍTULO 2

LOS POSTULADOS DE LA ECONOMÍA CLASICA

La mayor parte de los tratados sobre la teoría del valor y de la producción se refieren, en primer término, a la distribución de un volumen dado de recursos empleados en diferentes usos, y a las condiciones que, supuesta la ocupación de esta cantidad de recursos, determinen su remuneración relativa y el relativo valor de sus productos. 1

También se ha sujetado con frecuencia a un procedimiento descriptivo lo relativo al monto de los recursos disponibles (en¬ tendiendo por tales el volumen de población susceptible de tomar empleo), los límites de la riqueza natural y el equipo de pro¬ ducción acumulado; pero rara vez se ha examinado detenidamente en la teoría pura, la explicación de lo que determina la ocupación real de los recursos disponibles. Decir que no se ha considerado en absoluto, sería absurdo, por supuesto; porque todo estudio sobre los altibajos de la ocupación, que han sido muchos, ha te¬ nido que ver con el tema. Ño quiero decir que se haya pasado por alto, sino que la teoría fundamental [4] en que descansa se ha creído tan sencilla y evidente que casi no había para qué mencionarla. 2 3

1 Esto, según la tradición ricardiana; porque Ricardo negó expresamente que tu¬ viera interés el monto del dividendo nacional como hecho independiente de su dis¬ tribución. Con esto fijaba correctamente el carácter de su propia teoría; pero sus sucesores, con visión menos clara, han usado la teoría clásica en estudios sobre las causas de la riqueza. Véase la carta de Ricardo a Malthus de 9 de octubre de 1820: "Ud. supone que la Economía Política es una investigación de la naturaleza y causas de la riqueza —y yo estimo que debería llamarse investigación de las leyes que deter¬ minan el reparto de los productos de la industria entre las clases que concurren a su , formación. No puede enunciarse ninguna ley respecto a cantidades, pero sí con bas¬

tante exactitud para las porciones relativas. Cada día me convenzo más de que la primera investigación es vana e ilusoria y que la segunda es el verdadero objeto de la ciencia.”

3 Por ejemplo, el profesor Pigou en su Economía of Welfare (4* ed., p. 127) escribe (las itálicas son mías): “A través de esta discusión, excepto cuando se espe¬ cifique lo contrario, se hace caso omiso de que algunos recursos se encuentren sin empleo contra la voluntad de sus propietarios. Esto no afecta a la esencia del argu¬ mento, en tanto que simplifica su exposición.” Así, mientras Ricardo rechazó expre¬ samente cualquier intento de referirse al dividendo nacional como un todo, el profesor Pigou sostiene, en su libro que se ocupa especialmente del problema del dividendo nacional, que tal teoría es válida, tanto en los casos de desocupación involuntaria como en el de ocupación plena.

A mi modo de ver, la teoría clásica de la ocupación —que se supone sencilla y fácil— descansa en dos postulados fundamentales, que casi no se han discutido y son los siguientes:

I. El salario es igual al producto marginal del trabajo.

Esto es, el salario real de una persona ocupada es igual ni valor que se perdería si la ocupación se redujera en una unidad (después de deducir cualquier otro costo que se evitara con esta rebaja de la producción), sujeto, sin embargo, al requisito de que la igualdad puede ser perturbada, de acuerdo con ciertos princi¬ pios, si la competencia y los mercados son imperfectos.

II. La utilidad del salario , cuando se usa determinado volumen de trabajo , es igual a la desutilidad marginal de ese mismo volumen de ocupación.

Esto es, el salario real de una persona ocupada es el que basta precisamente (según la opinión de ésta) para provocar la ocu¬ pación del volumen de mano de obra realmente ocupado, que¬ dando esto sujeto a la condición de que la igualdad para cada unidad individual de trabajo (ecuación entre la utilidad del sa¬ lario real y la desutilidad del trabajo) puede alterarse por com¬ binaciones entre las unidades disponibles, de modo semejante a como las imperfecciones [5] de la competencia condicionan el primer postulado. Por desutilidad* debe entenderse cualquier motivo que induzca a un hombre o a un grupo de hombres a abstenerse de trabajar antes que aceptar un salario que represente para ellos una utilidad inferior a cierto límite.

Este postulado es compatible con lo que podría llamarse des¬ ocupación “friccional” (o debida a resistencia) , porque una in¬ terpretación realista del mismo admite legítimamente varios des¬ ajustes que se oponen a un estado de ocupación total continua; por ejemplo, la desocupación debida a un desequilibrio temporal de las cantidades relativas de recursos especializados, a causa de cálcu¬ los erróneos o de intermitencias en la demanda; o bien de retar¬ dos debidos a cambios imprevistos o a que la transferencia de

  • Prebisch, en la Introducción a Kevnes (F.C.E., ed.* 1965), traduce "desu- tility” como “resistencia al trabajo”. [T.]

INTRODUCCION

hombres de una ocupación a otra no pueda efectuarse sin cierta dilación; de manera que en una sociedad dinámica siempre habrá algunos recursos no empleados por hallarse “entre oficios sucesi¬ vos’’ (between jobs). El postulado es también compatible, además de con la desocupación “friccionar’, con la desocupación “volun¬ taria” que resulta de la negativa o incapacidad de una unidad de trabajo para aceptar una remuneración correspondiente al valor del producto atribuible a su productividad marginal, a causa de la legislación o las prácticas sociales, del agrupamiento para la contratación colectiva, de la lentitud para adaptarse a los cambios económicos, o simplemente a consecuencia de la obstinación hu¬ mana. Estas dos clases de desocupación son inteligibles, pero los postulados clásicos no admiten la posibilidad de una tercera, que definiré como “involuntaria”.

Hechas estas salvedades, el volumen de recursos ocupados está claramente determinado, conforme a la teoría clásica, por los dos postulados. El primero nos da la curva de demanda de ocupación y el segundo la de oferta; el volumen de ocupación se fija donde la utilidad marginal del producto compensa la desutilidad de la ocupación marginal, [ti]

De esto se deduciría que sólo hay cuatro posibilidades de aumentar la ocupación;

a) un mejoramiento en la organización o en la previsión, que disminuya la desocupación “friccional”;

b) una reducción de la desutilidad marginal del trabajo, expre¬ sada por el salario real para el que todavía existe trabajo dis¬ ponible, de manera que baje la desocupación "voluntaria”;

c) un aumento de la productividad marginal física del trabajo en las industrias que producen artículos para asalariados* (para usar el término adecuado del profesor Pigou aplicable a los artículos de cuyo precio depende la utilidad del salario no¬ minal) ; o

d) un aumento en el precio de los artículos para no-asalariados, relativamente al de los que sí lo son; acompañado por un des¬ plazamiento de los gastos de quienes no ganan salarios, de los artículos para asalariados a los otros artículos.

Ésta es, según mi leal saber y entender, la esencia de la Teoría

V

  • Wage-goods, artículos que entran en el presupuesto de los asalariados; los ar¬ tículos en que se gastan los salarios. [T.]

de la desocupación del profesor Pigou —la única descripción de¬ tallada que existe de la teoría clásica de la ocupación. 3

II

¿Es cierto que las categorías anteriores son inteligibles debido a que la población rara vez desarrolla la cantidad de trabajo que desearía con el salario corriente? Porque debe reconocerse que, por regla general, si se solicitara, se contaría con más mano de obra al nivel existente de salario nominal. 4 La escuela clásica re¬ concilia este fenómeno con su segundo postulado aduciendo que, mientras la demanda de mano de obra [7] al nivel existente de salario nominal puede satisfacerse antes de que todos los que deseen trabajar con estos salarios estén ocupados, tal situación se debe a un acuerdo tácito o expreso entre los trabajadores para no trabajar por menos, y que si todos los trabajadores admitieran una reducción de los salarios nominales aumentaría la ocupación. De ser así, tal desocupación, aunque aparentemente involuntaria, no lo sería en sentido estricto, y debería incluirse en la clase de la desocupación "voluntaria”, causada por los efectos de la contra¬ tación colectiva, etc.

Esto exige dos observaciones, la primera de las cuales, que se refiere a la actitud de los trabajadores hacia los salarios reales y a los nominales, respectivamente, no es teóricamente funda¬ mental, pero la segunda sí lo es.

Supongamos, por el momento, que los obreros no están dis¬ puestos a trabajar por un salario nominal menor y que una re¬ ducción del nivel existente de salarios nominales conduciría, me¬ diante huelgas o por cualquier otro medio, a que parte de la mano de obra realmente ocupada se retirara del mercado. ¿Se deduce de esto que el nivel presente de salarios reales mide con precisión la desutilidad marginal del trabajo? No necesariamente; porque aunque una reducción en el nivel existente de salarios nominales ocasionara retiro de trabajo, no se desprende de - ello que una baja en el valor del salario nominal, medido en artículos para asalariados, produciría el mismo resultado si fuera debida a un alza en el precio de las mercancías respectivas. En otras palabras, puede suceder que, dentro de ciertos límites, lo que los obreros reclaman sea un mínimo de salario nominal y no de salario real.

  • La Theary o/ Unemployment del profesor Pigou se examina más detallada¬ mente en el Apéndice al cap. 19.

  • Cf. la cita anterior del profesor Pigou en la nota 2 ante.

La escuela clásica ha supuesto tácitamente que esto no significa una variación importante en su teoría; pero no es así, porque si la oferta de mano de obra no es función del salario real como su única variable, su argumento se derrumba enteramente y deja el problema de que la ocupación será muy indeterminada. 6 Los autores de esta escuela no parecen haberse dado cuenta de que su curva [8] de oferta de mano de obra se desplazará con cada movimiento de los precios, a menos que tal oferta sea función dependiente sólo del salario real. De este modo, su método está supeditado a sus particulares suposiciones y no puede adaptarse para examinar el caso más general.

Ahora bien, la experiencia diaria nos dice, sin dejar lugar a duda, que, lejos de ser mera posibilidad aquella situación en que los trabajadores estipulan (dentro de ciertos límites) un salario nominal y no real, es el caso normal. Si bien los trabajadores suelen resistirse a una reducción de su salario nominal, no acos¬ tumbran abandonar el trabajo cuando suben los precios de las mercancías para asalariados. Se dice algunas veces que sería iló¬ gico por parte de la mano de obra resistir a una rebaja del salario nominal y no a otra del salario real. Por razones que damos más adelante (p. 27), y afortunadamente, como veremos después, esto puede no estar tan falto de lógica como parece a primera vista; pero lógica o ilógica, ésta es la conducta real de los obreros.

Más aún, el aserto de que la falta de ocupación que caracte¬ riza una depresión se debe a la negativa de los obreros a aceptar una rebaja en el salario nominal, no se apoya en hechos. (No es muy exacto decir que la desocupación en Estados Unidos en 1932 se debió a la obstinada negativa del trabajo a aceptar una rebaja en los salarios nominales o a la tenaz demanda de un salario real superior al que consentía la productividad del sistema económico. Son amplias las variaciones que sufre el volumen de ocupación sin que haya ningún cambio aparente en las exigencias mínimas reales de los obreros ni en su productividad. Los obreros no son —ni mucho menos— más obstinados en la depresión que en el auge, ni flaquea su productividad física. Estos hechos de la expe¬ riencia son, prima facie, un motivo para poner en tela de juicio la propiedad del análisis clásico.

Sería interesante observar los resultados de una investigación estadística acerca de las verdaderas relaciones entre [9] los cam¬ bios del salario nominal y los del real. En el caso de una modi-

“ Este tema se trata detalladamente en el Apéndice al cap. 19.

LOS POSTULADOS DE LA ECONOMÍA CLÁSICA

ficación privativa de una industria dada uno podría esperar que el cambio en los salarios reales ocurriera en el mismo sentido que en los nominales; pero cuando hay alteraciones en el nivel general de los salarios, se encontrará, según creo, que la modifi¬ cación de los reales que va unida a la de los nominales, lejos de presentarse normalmente en el mismo sentido, ocurrirá casi siempre en el contrario. Es decir, que cuando los salarios nomi¬ nales se elevan, los salarios reales bajan; y que cuando aquéllos descienden, éstos suben. Tal cosa se debe a que, en periodo corto, los salarios nominales descendentes y los reales ascendentes son, cada uno de ellos por razones privativas, fenómenos ligados a la baja de la ocupación, pues aunque los obreros están más dispues¬ tos a aceptar reducciones en su remuneración al bajar el em¬ pleo, los salarios reales suben inevitablemente, en las mismas circunstancias, debido al mayor rendimiento marginal de un de¬ terminado equipo de capital, cuando la producción disminuye.

Si efectivamente fuera cierto que el salario real existente es un mínimo por debajo del cual no pudiera contarse en cual¬ quier circunstancia con más trabajo que el empleado en la actua¬ lidad, no existiría la desocupación involuntaria, aparte de la “friccional”. Sin embargo, sería absurdo suponer que siempre es así, parque generalmente hay más mano de obra disponible que la ahora empleada al salario nominal vigente, aun cuando el pre¬ cio de las mercancías para asalariados esté subiendo y, en conse¬ cuencia, el salario real bajando. Si esto es verdad, la equivalencia de tales mercancías con el salario nominal existente no es una indicación precisa de la desutilidad marginal del trabajo, y el se¬ gundo postulado no es válido.

Hay otra objeción más importante. El segundo postulado parte de la idea de que los salarios reales de los trabajadores depen¬ den de los contratos que éstos celebran con los empresarios. Se admite, por supuesto, que esos convenios se realizan de hecho en términos monetarios e incluso que los salarios reales aceptables por los obreros no son [10] enteramente independientes del co¬ rrespondiente salario nominal. Sin embargo, se toma este salario nominal, al que se ha llegado por dicho procedimiento, para de¬ terminar el real. De este modo la teoría clásica supone que los obreros tienen siempre la posibilidad de reducir su salario real, aceptando una rebaja en el nominal. El postulado de que el salario real tiende a igualarse con la desutilidad marginal del trabajo, claramente supone que los obreros están en posición de

INTRODUCCIÓN

LOS POSTULADOS DE LA ECONOMIA CLASICA

23

99

fijar por sí mismos su salario real, aunque no el volumen de ocupación que de él se deriva.

La teoría tradicional sostiene, en pocas palabras, que los con¬ venios sobre salarios entre empresarios y trabajadores determinan el salario real, de manera que, suponiendo la libre competencia entre los patrones y ninguna combinación restrictiva entre los tra¬ bajadores, éstos pueden, si lo desean, hacer coincidir sus salarios reales con la desutilidad marginal del trabajo resultante del em¬ pleo ofrecido por los empresarios con dicho salario. De no ser cierto esto, no queda razón alguna para esperar que exista ten¬ dencia a la igualdad entre el salario real y la desutilidad mar¬ ginal del trabajo.

No debe olvidarse que las conclusiones clásicas pretenden ser aplicables al trabajo en su totalidad y no quiere decir simple¬ mente que un individuo aislado pueda obtener empleo aceptando una reducción de su salario nominal que sus compañeros rehúsan. Se suponen aplicables lo mismo a un sistema cerrado que a otro abierto* y que no depende de las características de un sistema abierto, ni de los efectos de una reducción de los salarios nomi¬ nales en un solo país sobre su comercio exterior, que está, por supuesto, completamente fuera del campo de este estudio. Tampoco se basan en las consecuencias indirectas de ciertas reacciones que una reducción de las nóminas de salarios en términos monetarios ejercen sobre el sistema bancario y el estado del crédito, efectos que examinaremos detalladamente en el capítulo 19. Las conclu¬ siones se basan en la creencia de que, en un sistema cerrado, una reducción [11] en el nivel general de los salarios nominales irá acompañada, al menos en periodos cortos, y sujeta sólo a sal¬ vedades de poca monta, por cierta reducción de los salarios reales, que no siempre es proporcional.

Ahora bien, el supuesto de que el nivel general de los salarios reales depende de los convenios entre emprsarios y trabajadores sobre la base de salarios nominales, no es cierto de manera evi¬ dente. En realidad, es extraño que se hayan hecho tan frágiles intentos para demostrarlo o refutarlo, porque está muy lejos de concordar con el sentido general de la teoría clásica, la cual nos ha enseñado a creer que los precios están determinados por el costo primo marginal, medido en dinero, y que los salarios no¬ minales influyen sustancialmente en dicho costo. De este modo,

  • Se refiere a si existen o no las cláusulas de inclusión y exclusión en los con¬ tratos colectivos. [T.]

si ’ salarios nominales cambian, debería esperarse que la escuela .isica sostuviera que los precios cambiarían casi en la misma pro¬ porción, dejando el nivel de los salarios reales y el de la desocu¬ pación prácticamente lo mismo que ames, explicando que cual¬ quier pequeña ganancia o pérdida del trabajo, se efectuaría a expensas de las ganancias o ele otros elementos del costo marginal, que no han sido tocados. 6 Parece ser, sin embargo, que los clᬠsicos se han desviado de este punto de vista, en parte a causa de su arraigada convicción de que los obreros están en posibilidad de fijar su propio salario, y en parte, quizá, por la preocupación de que los precios dependen de la cantidad de dinero. La creencia en el principio de que los obreros están siempre en posibilidad de poder determinar su propio salario real, una vez aceptada, se ha. sostenido porque se confunde con la afirmación de que tienen siempre a su disposición los medios para fijar qué salario real r corresponderá a la ocupación plena, es decir, al volumen máximo _ de ocupación compatible con un salario real dado.

. Para resumir: existen dos objeciones contra el segundo postu¬

lado de la teoría clásica. La primera hace relación a la conducta real de los obreros: una baja en los salarios reales debida [12] a un alza de los precios, permaneciendo iguales los nominales, no produce, por regla general, una disminución de la oferta de mano de obra disponible al nivel del salario corriente, por deba¬ jo del volumen de ocupación anterior al alza de los precios. Suponer lo contrario equivale a admitir que todos aquellos que por el momento están sin ocupación, aunque deseosos de trabajar al salario corriente, retirarán su oferta de trabajo si el costo de la vida se eleva un poco. A pesar de todo, esta extraña hipótesis parece servir de base a la Theory of Unemployment 7 del profe¬ sor Pigou y es la que todos los miembros de la escuela ortodoxa t admiten tácitamente.

La otra y más importante objeción que desarrollaremos en los capítulos siguientes surge de nuestra inconformidad con el su¬ puesto de que el nivel general de los salarios reales están directa¬ mente determinado por el carácter de los convenios sobre salarios. Al suponer tal cosa, la escuela clásica resbaló, cayendo en una , hipótesis ilícita; porque los obreros en su conjunto no pueden

disponer de un medio que les permita hacer coincidir el equiva-

® A mi modo de ver, este argumento contiene una gran dosis de verdad, aunque ]os resultados completos de un cambio en los salaries nominales son más complejos, como se verá en el cap. 19.

7 Cf. cap. 19, Apéndice.

I

24

INTRODUCCIÓN

B

lente del nivel general de los salarios nominales en artículos para asalariados, con la desutilidad marginal del volumen de ocupación existente_Es posible que no exista un procedimiento para que el trabajador pueda reducir su salario real a una cantidad deter¬ minada, revisando los convenios monetarios con los empresarios.j Éste será nuestro caballo de batalla y trataremos de demostrar que, en primer término, son otras varias las fuerzas que deter¬ minan el nivel general de los salarios reales. El esfuerzo por di¬ lucidar este problema será una de nuestras mayores preocupacio¬ nes. Vamos a sostener que ha existido una confusión fundamental respecto a la forma en que opera en realidad a este respecto la economía en que vivimos.

III

Aunque a menudo se cree que la lucha por los salarios monetarios entre individuos y grupos determina [13] el nivel general de los salarios reales, de hecho tiene otra finalidad. Desde el momento que existe movilidad imperfecta del trabajo y que los salarios no tienden a producir igualdad precisa de ventajas netas para diferentes ocupaciones, cualquier individuo o grupo de individuos que consienta una reducción de sus salarios nominales en relación con otros, sufrirá una disminución relativa de sus salarios reales, cosa que basta para justificar su resistencia a ella. Por el contrario, sería impracticable oponerse a toda reducción de los salarios rea¬ les debida a un cambio en el poder adquisitivo del dinero, que afecta a todos los trabajadores por igual; y, de hecho, por lo general no se opone resistencia a esta clase de fenómenos, a menos que sean extremos. Más aún, la oposición a las reducciones en los salarios nominales, aplicada a determinadas industrias, no le¬ vanta la misma barrera insuperable a un aumento en la ocupación global que resultaría de una oposición parecida a toda disminu¬ ción de los salarios reales.

En otras palabras, la lucha en torno a los salarios nominales afecta primordialmente a la distribución del monto total de sala¬ rios reales entre los diferentes grupos de trabajadores y no a su promedio por unidad de ocupación, que depende, como veremos, de un conjunto de fuerzas diferentes. El efecto de la unión de un grupo de trabajadores consiste en proteger su salario real re¬ lativo. El nivel general de los salarios reales depende de otras fuerzas del sistema económico.

LOS POSTULADOS DE LA ECONOMÍA CLÁSICA

25

Así, tenemos la suerte de que los trabajadores, bien que in¬ conscientemente, son por instinto economistas más razonables que la escuela clásica en la medida en que se resisten a permitir reducciones de sus salarios nominales, que nunca o rara vez son de carácter general; aun cuando el equivalente real existente de estos salarios exceda de la desutilidad marginal del volumen de ocupación correspondiente. Lo mismo que cuando, por otra parte, no se oponen a las disminuciones del salario real que acom¬ pañan a los aumentos en el volumen total de ocupación, a menos que lleguen al extremo de amenazar con una reducción del [14] salario real por bajo de la desutilidad marginal del volumen existente de ocupación. Todo sindicato opondrá cierta resistencia, pero como ninguno pensaría en declarar una huelga cada vez que aumente el costo de la vida, no presentan obstáculos a un aumento en el volumen total de ocupación, como lo pretende la escuela clásica.

IV

Debemos definir ahora la tercera clase de desocupación, la lla¬ mada “involuntaria” en sentido estricto, cuya posibilidad de exis¬ tencia no admite la teoría clásica.

Adviértase que por desocupación "involuntaria” no queremos decir la mera existencia de una capacidad inagotable de trabajo. Una jornada de ocho horas no significa desocupación aunque no esté más allá de la capacidad humana de trabajar diez; ni tam¬ poco consideraríamos como desocupación “involuntaria” el aban¬ dono del trabajo por un grupo de obreros porque les parezca mejor no trabajar que admitir menos de cierta remuneración. Más aún, será conveniente eliminar la desocupación “friccional” de nuestra definición, la cual queda, por tanto, como sigue: los hombres se encuentran involuntariamente sin empleo cuando, en el caso de que se produzca una pequeña alza, en el precio de los artículos para asalariados, en relación con el salario nominal, tan¬ to la oferta total de mano de obra dispuesta a trabajar por el salario nominal corriente como la demanda total de la misma a dicho salario son mayores que el volumen de ocupación existente. En el capítulo siguiente (p. 38) daremos otra definición que, sin embargo, equivale a lo mismo.

De esta definición se deduce que la igualdad entre el salario real y la desutilidad marginal de la ocupación, presupuesta por el segundo postulado, interpretado de modo realista, correspon-

26 INTRODUCCIÓN

de a la ausencia de la desocupación “involuntaria”. Describiremos este estado de cosas [15] como ocupación “plena”, con la que son compatibles tanto la desocupación “debida a resistencias” como la “voluntaria”. Esto está de acuerdo, como veremos, con otras características de la escuela clásica, que más bien se considera como una teoría de la distribución en condiciones de ocupación plena. En la medida en que los postulados clásicos sean válidos, la desocupación, que en el senitdo anterior es involuntaria, no puede existir. La desocupación aparente debe, en consecuencia, ser resultado de una pérdida temporal del trabajo del tipo de “cambio de un trabajo a otro” o de una demanda intermitente de factores altamente especializados, o del efecto de la cláusula de inclusión de un sindicato sobre la ocupación libre. Por eso los escritores que siguen la tradición clásica, pasado por alto el su¬ puesto especial que cimienta su teoría, han llegado inevitable¬ mente a la conclusión, perfectamente lógica de acuerdo con su hipótesis, de que la desocupación visible (salvo las excepciones admitidas) tiene que ser consecuencia, a fin de cuentas, de que los factores no empleados se nieguen a aceptar una remuneración que corresponda a su productividad marginal. Un economista clᬠsico puede simpatizar con el obrero cuando éste se niega a aceptar- una reducción de su salario monetario, y admitirá que puede no ser inteligente obligarle a sujetarse a condiciones transitorias; pero la integridad científica lo fuerza a declarar que esta negativa es, a pesar de todo, el motivo último de la dificultad.

Evidentemente, sin embargo, si la teoría clásica es aplicable sólo al caso de la ocupación plena, es una falacia aplicarla a los problemas de la desocupación involuntaria —si tal cosa existe (¿quién lo negará?) —. Los teóricos clásicos se asemejan a los geó¬ metras euclidianos en un mundo no euclidiano que, quienes al descubrir que en la realidad las líneas aparentemente paralelas se encuentran con frecuencia, las critican por no conservarse de¬ rechas —como único remedio para los desafortunados tropiezos que ocurren—. No obstante, en verdad, no hay más remedio que tirar por la borda el axioma de las paralelas y elaborar una geo¬ metría no euclidiana. Hoy la economía exige algo semejante; necesitamos desechar [16] el segundo postulado de la doctrina clᬠsica y elaborar la teoría del comportamiento de un sistema en el cual sea posible la desocupación involuntaria en su sentido riguroso.

LOS POSTULADOS DE LA ECONOMIA CLÁSICA 27

V

Al recalcar nuestro punto de partida, divergente del sistema clásico, no debemos olvidar una concordancia importante; porque f mantendremos el primer postulado como hasta aquí, sujeto úni¬

camente a las mismas correcciones hechas a la teoría clásica, y debemos detenernos un momento a considerar lo que entraña.

Quiere decir que con una determinada organización, equipo y técnica, los salarios reales y el volumen de producción (y por consiguiente de empleo) están relacionados en una sola forma, de tal manera que, en términos generales, un aumento de la ocu¬ pación sólo puede ocurrir acompañada de un descenso en la tasa de salarios reales. Así, pues, no discuto este hecho vital que los economistas clásicos han considerado (con razón) como irrevoca¬ ble. .JJLn un estado conocido de organización, equipo y técnica, el salario real que gana una unidad de trabajo tiene una correla¬ ción única (inversa) con el volumen de ocupación. Por eso, si esta última aumenta, entonces,' en periodos cortos, la remune¬ ración por unidad de trabajo, medida en mercancías para asa¬ lariados, debe, por lo general, descender y las ganancias elevarse. 8 Éste es simplemente el anverso de la proposición familiar de que normalmente la industria trabaja en condiciones de rendimientos decrecientes en periodos cortos, durante los cuales se supone que permanecen constantes el equipo, etc., en tal forma que el pro¬ ducto marginal de las industrias de artículos para asalariados (que determinan el salario real) necesariamente [17] se reduce a medida que crece la ocupación. Sin duda, en la medida que esta proposición sea válida, cualquier medio de aumentar la ocupa¬ ción tiene que ocasionar al mismo tiempo una reducción del pro¬ ducto marginal y, en consecuencia, otra de la magnitud de los salarios, medida en dicho producto.

Pero una vez abandonado el segundo postulado, una baja de la ocupación, aunque necesariamente asociada con el hecho de que la mano de obra perciba un salario de valor igual a una

fl El argumento se desarrolla de este modo: de n hombres empleados, el enésimo añade un quintal diario a la cosecha y los salarios tienen un poder adquisitivo de un quintal diario. El enésimo-más-un hombre, sin embargo, añadiría solamente 0.9 de quintal por día y el empleo no puede, por tanto, aumentar a n -+■ 1 hombres, a menos que el precio del grano suba con relación a los salarios hasta que los que se pagan diariamente tengan un poder adquisitivo de 0.9 de quintal. El total de los salarios montaría entonces a 9/10 (n + l) quintales, en comparación con n quintales a que llegaba previamente. De este modo, el empleo de un hombre más, en caso de efectuarse, supondrá necesariamente una transferencia de ingresos de los que antes estaban empleados a los empresarios.

28 INTRODUCCIÓN

cantidad mayor de bienes para asalariados, no se debe necesaria¬ mente a que la mano de obra demande mayor cantidad de tales bienes; y el que la mano de obra esté dispuesta a aceptar menores salarios nominales no es, por fuerza, un remedio a la desocupa¬ ción. La teoría de los salarios en relación con el empleo, a que nos estamos refiriendo, no puede aclararse por entero hasta llegar al capitulo 19 y su apéndice.

VI

Desde los tiempos de Say y Ricardo los economistas clásicos han enseñado que la oferta crea su propia demanda —queriendo decir con esto de manera señalada, aunque no claramente definida, que el total de los costos de producción debe necesariamente gastarse por completo, directa o indirectamente, en comprar los productos.

En los Principies of Political Economy de J. S. Mili, la doc¬ trina está expresamente expuesta:

Los medios de pago de los bienes son sencillamente otros bienes. Los medios de que dispone cada persona para pagar la producción de otras consisten en los bienes que posee. Todos los vendedores son, inevitablemente, y por el sen¬ tido mismo de la palabra, compradores. Si pudiéramos duplicar repentinamente las fuerzas productoras de un país, duplicaríamos por el mismo acto la oferta de bienes en todos los mercados: pero al mismo tiempo duplicaríamos el poder adquisitivo. Todos ejercerían una demanda y una oferta dobles: todos podrían comprar el doble, porque tendrían dos veces más que ofrecer en cambio. 8 [18]

Como corolario de la misma doctrina, se ha supuesto que cualquier acto individual de abstención de consumir conduce ne¬ cesariamente a que el trabajo y los bienes retirados así de la provisión del consumo se inviertan en la producción de riqueza en forma de capital y equivale a lo mismo. El siguiente párrafo, de Puré Theory of Domestic Valúes, 10 de Marshall ilustra el punto de vista tradicional:

El ingresa total de una persona se gasta en la compra de bienes y servi¬ cios. Cierto que generalmente se dice que un hombre gasta parte de su ingreso y ahorra la otra; pero es un axioma económico muy conocido que el hombre compra trabajo y bienes con aquella parte de su ingreso que ahorra, del mismo modo que lo hace con la que gasta. Se dice que gasta cuando procura obtener satisfacción presente de los bienes y servicios que compra, y que ahorra cuando el trabajo y los bienes que compra los dedica a la producción de riqueza de la cual espera derivar medios de satisfacción en el futuro.

8 Principies oí Political Economy, Lib. III, cap. xiv, i 2.

18 p. 34.

LOS POSTULADOS DE LA ECONOMÍA CLÁSICA 29

Es verdad que no sería fácil citar párrafos semejantes en los trabajos posteriores de Marshall 11 o de Edgeworth o del pro¬ fesor Pigou. En la actualidad la doctrina no se expone en forma tan cruda, pero,, sin embargo, es el soporte de la teoría clásica en conjunto, ya que sin él ésta se derrumbaría. Los economistas contemporáneos, que podrían titubear en estar de acuerdo con Mili, no vacilan en aceptar conclusiones que requieren su doctrina como premisa. La versión moderna de la tradición clásica consiste en la convicción, frecuente, por ejemplo, en casi todos los trabajos del profesor Pigou, de que el dinero no trae consigo diferencias reales, excepto las propias de la fricción, y de que la teoría de Ta producción y la ocupación pueden [19] elaborarse (como la de Mili) como si estuvieran basadas en los cambios “reales”, y con el dinero introducido superficialmente en un capítulo posterior. El pensamiento contemporáneo está todavía profundamente impreg¬ nado de la noción de que si la gente no gasta su dinero en una forma lo gastará en otra. 12 En verdad, los economistas de la postguerra rara vez logran sostener este punto de vista firmemente, porque su pensamiento de hoy está excesivamente permeado de la tendencia contraria y los hechos de la experiencia, están obvia¬ mente en desacuerdo con su opinin anterior; 13 pero no han saca¬ do consecuencias de bastante alcance, ni han modificado su teoría fundamental.

En primer lugar, estas conclusiones pueden haberse aplicado al tipo de economía en que vivimos actualmente por falsa ana¬ logía con alguna de trueque, como la de Robinsón Crusoe, en la cual los ingresos que los individuos consumen o retienen como resultádo de su actividad productiva son, real y exclusivamente, la producción en especie resultante de dicha actividad. Pero, fuera

u El señor J. A. Hobson, después de citar el párrafo anterior, de Mili, en su Phisiology of Incíustry (p. 102), advierte que Marshall hizo el siguiente comentario en una de sus primeras obras, Economics of Industry, p. 154: “Pero aunque los hom¬ bres tienen el poder de comprar, pueden decidir no usarlo.” “Sin embargo —continúa el señor Hobson—, no parece haber captado la importancia crítica de este hecho y al parecer limita su acción a periodos de crisis.” A mi modo de ver, este comentario es acertado, a la luz de los trabajos posteriores de Marshall.

12 Cf. Alfred y Mary Marshall, Economics of índustry, p. 17: “No es conveniente para el comercio tener vestidos hechos con material que se acaba pronto; porque si la gente no gastara sus medios de compra en vestidos nuevos, los gastaría en dar empleo al trabajo de alguna otra manera.” El lector notará que todavía estoy haciendo citas de Jos primeros trabajos de Marshall. El Marshall de los Principios se había hecho lo bastante desconfiado para ser cauto y evasivo; pero las viejas ideas nunca fueron repudiadas o extirpadas de los supuestos básicos de su pensamiento.

13 Es una virtud del profesor Robbins la de ser casi el único que sigue defen¬ diendo un esquema sólido de pensamiento; concordando recomendaciones prácticas con sus sistema teórico.

30

INTRODUCCIÓN

de esto. Ja conclusión de que los costos de producción se cubren siempre globalmente con los productos de las ventas derivadas de la demanda, es muy aceptable, porque resulta difícil distin¬ guirla de otra proposición semejante, que es indudable: la de que el ingreso global percibido por todos los elementos de la comuni¬ dad relacionados con una actividad productiva necesariamente tiene un valor igual al valor de la producción.

De manera semejante, es natural suponer que todo acto de [20] un individuo que lo enriquece sin que aparentemente quite nada a algún otro debe también enriquecer a la comunidad en conjun¬ to; de tal modo que (como en el párrafo de Marshall que se acaba de citar) un acto de ahorro individual conduce inevitablemente a otro paralelo, de inversión, porque, una vez más, es indudable que la suma de los incrementos netos de la riqueza de los indivi¬ duos debe ser exactamente igual al total del incremento neto de riqueza de la comunidad.

Sin embargo, quienes piensan de este modo se engañan, como resultado de una ilusión óptica, que hace a dos actividades esen¬ cialmente diversas aparecen iguales. Caen en una falacia al supo¬ ner que existe un eslabón que liga las decisiones de abstenerse del consumo presente con las que proveen al consumo futuro, siendo así que los motivos que determinan las segundas no se re¬ lacionan en forma simple con los que determinan las primeras.

Por tanto, el supuesto de la igualdad entre el precio de de¬ manda y el de oferta de la producción total es el que debe conside¬ rarse como el “axioma de las paralelas” de la teoría clásica. Esto admitido, todo lo demás se deduce fácilmente —las ventajas socia¬ les de la frugalidad privada o nacional, la actitud tradicional hacia la tasa de interés, la teoría clásica de la desocupación, la teoría cuantitativa del dinero, las ventajas evidentes del laissez- laire con respecto al comercio exterior y muchas otras cosas que habremos de poner en tela de juicio.

En diversos lugares de este capítulo hemos hecho depender la teoría clásica, sucesivamente, de los siguientes supuestos:

  1. Que el salario real es igual a la desutilidad marginal de la ocupación existente;

  2. Que no existe eso que se llama desocupación involuntaria en sentido riguroso;

I-OS POSTULADOS DE LA ECONOMÍA CLÁSICA

31

  1. Que la oferta crea su propia demanda en el sentido [21] de que el precio de la demanda global es igual al precio de la oferta global para cualquier nivel de producción y de ocu¬ pación.

Estos tres supuestos, no obstante, quieren decir lo mismo, en el sentido de que todos subsisten o se desploman juntos, pues cualquiera de ellos supone lógicamente a los otros dos. [22]

CAPÍTULO 3

EL PRINCIPIO DE LA DEMANDA EFECTIVA

I

Ante todo necesitamos adelantar el significado de algunos térmi¬ nos que serán definidos con precisión posteriormente. Cuando la técnica, los recursos y los costos corresponden a una situación de¬ terminada, el empleo de un volumen dado de mano de obra hace incurrir al empresario en dos clases de gastos: en primer lugar, las cantidades que paga a los factores de la producción (exclu¬ yendo a los otros empresarios) por sus servicios habituales, a los que denominaremos costo de factores del volumen de ocupación de que se trate; y en segundo lugar, las sumas que paga a otros empresarios por lo que les compra, juntamente con el sacrificio que hace al emplear su equipo en vez de dejarlo inactivo, a lo que lla¬ maremos costo de uso del nivel de ocupación dado. 1 El excedente de valor que da la producción resultante sobre la suma del costo de factores y el costo de uso es la ganancia, o, como lo llamaremos, el ingreso del empresario. Por supuesto, el costo de factores es lo mismo que lo que los factores de la producción consideran como su ingreso, pero desde el punto de vista del empresario. Así, el costo de factores y las ganancias del empresario, juntos, dan lo que definiremos como el ingreso total derivado del empleo proporcio¬ nado por el empresario. Las ganancias del empresario así definidas, deben ser, y son, la cantidad que procura elevar al máximo cuando decide qué volumen de empleo [23] ofrecerá. Conviene algunas ve¬ ces, desde el punto de vista del empresario, llamar producto de la ocupación al ingreso global (es decir, costo de factores más ganan¬ cias) que resulta de un volumen dado de la misma. Por otra parte, el precio de la oferta global 2 de la producción resultante de ese volumen determinado es presisamente la expectativa de los resul¬ tados que se espera obtener y que hará costeable a los empresarios conceder dicha ocupación. 3

1 En el cap. 6 se dará una definición precisa del costo de uso. z Que no debe confundirse (vide inha) con el precio de oferta de una unidad de producto en el sentido acostumbrado de este término.

a El lector observará que resto el costo de uso tanto del producto como del precio de oferta global de un volumen determinado de producción, en tal forma que ambos términos deben interpretarse como libres del costo de uso; en tanto que las sumas totales pagadas por los compradores incluyen, por supuesto, el costo de uso. Las razones para proceder así se darán en el cap. 6. Lo esencial es que el importe total

32

i

EL PRINCIPIO DE LA DEMANDA EFECTIVA

De esto se deduce que, dados la técnica, los recursos y el costo de factores por unidad de empleo, el monto de éste, tanto para cada firma individual como para la industria en conjunto, depende del producto que los empresarios esperan recibir de la producción correspondiente; 1 porque éstos [24] se esforzarán por fijar el vo¬ lumen de ocupación al nivel del cual esperan recibir la diferencia máxima entre el importe del producto y el costo de factores.

tfSea Z el precio de oferta global de la proclución resultante del empleo de N hombres, y la relación entre ambos símbolos Z = (N) , que puede dominarse función de la oferta global . 5 Llamemos D al importe del producto que los empresarios esperan recibir con el empleo de N hombres, y a la relación correspondiente,

D — f (N) , a la que designaremos función de la. demanda global.

^Ahora bien, si para cierto valor de N el importe que se es¬ pera recibir es mayor que el precio de la oferta global, es decir, si D es mayor que Z, habrá un estímulo para los empresarios en el sentido de aumentar la ocupación por encima de A 7 y, si es preciso, elevar los costos compitiendo entre sí por los facto¬ res de la producción, hasta el valor de N en que Z es igual a D. Así, el volumen de ocupación está determinado por la intersec¬ ción de la función de la demanda global y la función ele oferta global, porque es en este punto donde las expectativas de ganan¬ cia del empresario alcanzan el máximo. El valor de D en el punto

del producto y el precio de oferta global, limpios del costo de uso, pueden definirse en una sola forma y sin ambigüedad; en tanto que, como el costo ele uso depende eviden¬ temente tanto del grado de integración de la industria como de la extensión de las compras que realizan los empresarios entre sí, no puede haber una definición de las sumas globales pagadas por los compradores, incluyendo el costo de uso, el cual es inde¬ pendiente de estos factores. Una dificultad semejante existe en la definición de precio de oferta en el sentido habitual, para un productor individual; y en el caso del precio de la oferta global de la producción en conjunto, se corre el riesgo de serias dificultades de duplicación, que no siempre se han tomado en cuenta. Si el término se interpreta incluyendo el costo de uso, los inconvenientes sólo pueden vencerse haciendo supuestos especiales con respecto a la integración de los empresarios en grupos, según que su producción sea de artículos de consumo o de captial, lo que es ¿oscuro y complicado por sí mismo y no corresponde a los hechos. No obstante, si el precio de oferta global se define como antes, sin el costo de uso. estas dificultades no se presentan. Se aconseja al lector, sin embargo, que espere el estudio más completo en el cap. 6 y su apéndice.

  • Un empresario que tiene que tomar una decisión práctica respecto a la escala de su producción, no sustentará, por supuesto, una sola previsión indudable acerca de cuál será el importe de la venta de una producción determinada, sino varias previsiones hipotéticas, consideradas según los diversos grados de probabilidad y exactitud. Por su previsión del importe probable quiero decir, pues, aquella que, si fuese cierta, provocaría la misma conducta que el conjunto de las posibilidades más variadas y vagas que forman su esperanza en el momento que llega a tomar su resolución.

B En el cap. 20 se designará con el nombre de función del empleo a una que está íntimamente ligada con la anterior.

I

r

34 INTRODUCCIÓN

de intersección de la función de demanda global con la función de oferta global se denominará la demanda efectiva. Como ésta es la esencia de la teoría general de la ocupación, cuya exposición es el objeto que nos proponemos, los capítulos siguientes se ocupa¬ rán extensamente de examinar los varios factores de que depen¬ den ambas funciones.

Por otra parte, la doctrina clásica, que se acostumbraba ex¬ presar categóricamente con el enunciado “la oferta crea su propia demanda” y el cual sigue siendo el sostén de toda la teoría orto¬ doxa, implica un supuesto especial respecto a la relación entre estas dos funciones; porque “la oferta crea su propia demanda” [25] debe querer decir que / (N) y $ (N) son iguales para todos los valores de N, es decir, para cuaquier volumen de producción y ocupación; y que cuando hay un aumento en Z (= $ (Ai) co¬ rrespondiente a otro en N, D (= f (N) crece necesariamente en la misma cantidad que Z. La teoría clásica supone, en otras pa¬ labras, que el precio de la demanda global (o producto de las ventas) siempre se ajusta por sí mismo al precio de la oferta global, en tal forma que cualquiera que sea el valor de A T , el pro¬ ducto D adquiere un valor igual al del precio de la oferta global Z que corresponde a N. Es decir, que la demanda efectiva, en vez de tener un valor de equilibrio único, es una escala infinita de valores, todos ellos igualmente admisibles, y que el volumen de ocupación es indeterminado, salvo en la medida en que la cíes- utilidad del trabajo marque un límite superior.

Si esto fuera cierto, la competencia entre los empresarios con¬ duciría siempre a un aumento de la ocupación hasta el punto en que la oferta en conjunto cesara de ser elástica, es decir, cuan¬ do un nuevo aumento en el valor de la demanda efectiva ya no fuera acompañado por un crecimiento de la producción. Eviden¬ temente esto equivale a la ocupación plena. En el capítulo anterior dimos una definición de ésta en términos de la conducta de los obreros; una alternativa, aunque equivalente, es el que ahora he¬ mos alcanzado, o sea, aquella situación en que la ocupación total es inelástica frente a un aumento en la demanda efectiva de la producción correspondiente. De este modo el principio de Say, según el cual el precio de la demanda global de la producción en conjunto es igual al precio de la oferta global para cualquier vo¬ lumen de producción, equivale a decir que no existe obstáculo para la ocupación plena. Sin embargo, si ésta no es la verdadera ley respecto de las funciones globales de la demanda y la oferta, hay un capítulo de importancia capital en la teoría económica

L

EL PRINCIPIO DE LA DEMANDA EFECTIVA

que todavía no se ha escrito y sin el cual son fútiles todos los es¬ tudios relativos al volumen de la ocupación global. [26]

II

Tal vez un breve resumen de la teoría de la ocupación que se desarrollará en el curso de los siguientes capítulos pueda ayudar al lector en esta etapa, aun cuando quizá.no sea completamente inteligible. Los términos usados se aclararán con mayor cuidado en su oportunidad. En este resumen supondremos que el salario nominal y el costo de los otros factores son constantes por unidad de trabajo empleado; pero esta simplificación, de la que pres¬ cindiremos después, se usa únicamente para facilitar la exposi¬ ción. El carácter esencial del argumento es exactamente igual, sin importar que los salarios nominales, etc., sean o no susceptibles de modificarse.

El bosquejo de nuestra teoría puede expresarse como sigue?*| cuando aumenta la ocupación aumenta también el ingreso global real de la comunidad; la psicología de ésta, es tal que cuando el ingreso real aumenta, el consumo total crece, pero no tanto como el ingreso. De aquí que los empresarios resentirían una pérdida si el aumento total de la ocupación se destinara a satisfacer la mayor demanda de artículos de consumo inmediato. En conse¬ cuencia, para justificar cualquier cantidad dada de ocupación, debe existir cierto volumen de inversión que baste para absorber el excedente que arroja la producción total sobre lo que la co¬ munidad decide consumir cuando la ocupación se encuentra a dicho nivel; porque a menos de que exista este volumen de inversión, los ingresos de los empresarios serán menores que los requeridos para inducirlos a ofrecer la cantidad de ocupación de que se trate. Se desprende, por tanto, que, dado lo que llama¬ remos la propensión a consumir de la comunidad, el nivel de equilibrio de la ocupación, es decir, el nivel que no induce a los empresarios en conjunto a ampliar o contraer la ocupación, de¬ penderá de la magnitud de la inversión corriente. El monto deis ésta dependerá, a su vez, de lo que llamaremos el incentivo paral) invertir, que, como después [27] se verá, depende de la relación! | entre la curva de eficiencia marginal del capital y el complejo! I de las tasas de interés para préstamos de diversos plazos y riesgos.l| Así, dada la propensión a consumir y la tasa de nueva inver¬ sión, sólo puede existir un nivel de ocupación compatible con el equilibrio, ya que cualquier otro produciría una desigualdad

CAPÍTULO 3

EL PRINCIPIO DE LA DEMANDA EFECTIVA

I

Ante todo necesitamos adelantar el significado de algunos térmi¬ nos que serán definidos con precisión posteriormente. Cuando la técnica, los recursos y los costos corresponden a una situación de¬ terminada, el empleo de un volumen dado de mano de obra hace incurrir al empresario en dos clases de gastos: en primer lugar, las cantidades que paga a los factores de la producción (exclu¬ yendo a los otros empresarios) por sus servicios habituales, a los que denominaremos costo de factores del volumen de ocupación de que se trate; y en segundo lugar, las sumas que paga a otros empresarios por lo que les compra, juntamente con el sacrificio que hace al emplear su equipo en vez de dejarlo inactivo, a lo que lla¬ maremos costo de uso del nivel de ocupación dado. 1 El excedente de valor que da la producción resultante sobre la suma del costo de factores y el costo de uso es la ganancia, o, como lo llamaremos, el ingreso del empresario. Por supuesto, el costo de factores es lo mismo que lo que los factores de la producción consideran como su ingreso, pero desde el punto de vista del empresario. Asi,_el costo de factores y las ganancias del empresario, juntos, dan lo que definiremos como el ingreso total derivado del empleo proporcio¬ nado por el empresario. Las ganancias del empresario así definidas, deben ser, y son, la cantidad que procura elevar al máximo cuando decide qué volumen de empleo [23] ofrecerá. Conviene algunas ve¬ ces, desde el punto de vista del empresario, llamar producto de la ocupación al ingreso global (es decir, costo de factores más ganan¬ cias) que resulta de un volumen dado de la misma. Por otra parte, el precio de la oferta global 2 de la producción resultante de ese volumen determinado es presisamente la expectativa de los resul¬ tados que se espera obtener y que hará costeable a los empresarios conceder dicha ocupación. 3

1 En el cap. 6 se dará una definición precisa del costo de uso.

  • Oue no debe confundirse (vide inha) con el precio de oferta de una unidad de producto en el sentido acostumbrado de este término.

3 El lector observará que resto el costo de uso tanto del producto como del precio

de oferta global de un volumen determinado de producción, en tal forma que ambos

términos deben interpretarse como libres del costo de uso; en tanto que las sumas totales pagadas por los compradores incluyen, por supuesto, el costo de uso. Las razones para proceder así se darán en el cap. 6. Lo esencial es que el importe total

32

EL PRINCIPIO DE LA DEMANDA EFECTIVA

De esto se deduce que, dados la técnica, los recursos y el costo de factores por unidad de empleo, el monto de éste, tanto para cada firma individual como para la industria en conjunto, depende del producto que los empresarios esperan recibir de la producción correspondiente; 4 porque éstos [24] se esforzarán por fijar el vo¬ lumen de ocupación al nivel del cual esperan recibir la diferencia máxima entre el importe del producto y el costo de factores.

VSea Z el precio de oferta global de la produción resultante del empleo de N hombres, y la relación entre ambos símbolos Z = $ (N) , que puede dominarse función de la oferta global . 5 Llamemos D al importe del producto que los empresarios esperan recibir con el empleo de N hombres, y a la relación correspondiente, D = / (N) , a la que designaremos función de la demanda global.

^Ahora bien, si para cierto valor de N el importe que se es¬ pera recibir es mayor que el precio de la oferta global, es decir, si D es mayor que Z, habrá un estímulo para los empresarios en el sentido de aumentar la ocupación por encima de N y, si es preciso, elevar los costos compitiendo entre sí por los facto¬ res de la producción, hasta el valor de N en que Z es igual a D. Asi, el volumen de ocupación está determinado por la intersec¬ ción de la función de la demanda global y la función de oferta global, porque es en este punto donde las expectativas ele ganan¬ cia del empresario alcanzan el máximo. El valor de D en el punto

del producto y el precio de oferta global, limpios del costo de uso, pueden definirse en una sola forma y sin ambigüedad; en tanto que, como el costo de uso depende eviden¬ temente tanto del grado de integración de la industria como de la extensión de las compras que realizan los empresarios entre sí, no puede haber una definición de las sumas globales pagadas por los compradores, incluyendo el costo de uso, el cual es inde¬ pendiente de estos factores. Una dificultad semejante existe en la definición de precio de oferta én el sentido habitual, para un productor individual; y en el caso del precio de la oferta global de la producción en conjunto, se corre el riesgo de serias dificultades de duplicación, que no siempre se han tomado en cuenta. Si el término se interpreta incluyendo el costo de uso, los inconvenientes sólo pueden vencerse haciendo supuestos especiales con respecto a la integración de los empresarios en grupos, según que sti producción sea de artículos de consumo o de captial, lo que es -.oscuro y complicado por sí mismo y no corresponde a los hechos. No obstante, si el precio de oferta global se define como antes, sin el costo de uso, estas dificultades no se presentan. Se aconseja al lector, sin embargo, que espere el estudio más completo en el cap. 6 y su apéndice.

  • Un empresario que tiene que tomar una decisión práctica respecto a la escala de su producción, no sustentará, por supuesto, una sola previsión indudable acerca de cual será el importe de la venta de una producción determinada, sino varias previsiones hipotéticas, consideradas según los diversos grados de probabilidad y exactitud. Por su previsión del importe probable quiero decir, pues, aquella que, si fuese cierta, provocaría la misma conducta que el conjunto de las posibilidades más variadas y vagas que forman su esperanza en el momento que llega a tomar su resolución.

B En el cap. 20 se designará con el nombre de función del empleo a una que está íntimamente ligada con la anterior.

i

INTRODUCCIÓN

entre el precio de la oferta global de la producción en conjunto y el precio de su demanda global. Este nivel no puede ser mayor que el de la ocupación plena, es decir, el salario real no puede set- menor que la desutilidad marginal del trabajo; pero no existe razón, en lo general, para esperar que sea igual a la ocupación (plena. La demanda efectiva que trae consigo la plena ocupación |es un caso especial que sólo se realiza cuando la propensión a (consumir y el incentivo para invertir se encuentran en una rela¬ ción mutua particular. Esta relación particular, que corresponde a los supuestos de la teoría clásica, es, en cierto sentido, una rela¬ ción óptima; pero sólo puede darse cuando, por accidente o por designio, la inversión corriente provea un volumen de demanda justamente igual al excedente del precio de la oferta global de la ¡producción resultante de la ocupación plena, sobre lo que la co- j munidad decidirá gastar en consumo cuando la ocupación se en¬ cuentre en ese estado.

Esta teoría puede resumirse en las siguientes proposiciones:

  1. En determinada situación de la técnica, los recursos y los cos¬ tos, el ingreso (tanto monetario como real) depende del volu¬ men de ocupación N.

  2. La relación entre el ingleso de la comunidad y lo que se puede esperar que gaste en consumo, designada por D u depen¬ derá de las características psicológicas de la comunidad, que llamaremos su propensión a consumir. Es decir, que el con¬ sumo dependerá del nivel de ingreso global y, por tanto, del nivel de ocupación N, excepto cuando ocurre algún cambio en la propensión a consumir. [28]

  3. El volumen de trabajo N que los empresarios deciden emplear depende de la suma ( D ) de dos cantidades, es decir, D lt la suma qu…


Tuesday 2021-11-23 17:11:01 by petrero

17.1. ManyToMany Relation

Each Question is going to be able to have many tags: we're going to render the list of tags below each question. But then, each tag could also be related to many different questions. OMG! We need a ManyToMany relationship! But don't take my word for it, let's pretend that we haven't figured which relationship we need yet: we just know that we want to be able to set multiple Tag objects onto a Question object. In other words, we want our Question class to have a tags property. Let's add that! Find your terminal and run:

symfony console make:entity

For which entity to edit, we could actually choose Question or Tag... it won't make much difference. But in my mind, I want to edit the Question entity in order to add a new property called tags to it. Once again, use the fake type called relation to activate the relationship wizard.

Okay: what class should this entity be related to? We want to relate to the Tag entity. And just like before, we see a nice table describing the different relationship types. If you focus on ManyToMany, it says:

Each question can have many Tag objects and each Tag can also relate to many Question objects.

That describes our situation perfectly. Answer ManyToMany. Next, it asks a familiar question:

Do we want to add a new property to Tag so that we can access or update Question objects from it?

It's basically saying:

Hey! Would it be useful to have a $tag->getQuestions() method?

I'm not so sure that it would be useful... but let's say yes: it doesn't hurt anything. This will cause it to generate the other side of the relationship: we'll see that code in a minute. What should the property be called inside Tag? questions sounds perfect.

And... we're done! Hit enter to exit the wizard... and let's go check out the entities! Start in Question. Awesome. No surprise: it added a new $tags property, which will hold a collection of Tag objects. And as we mentioned before, whenever you have a relationship that holds a "collection" of things - whether that's a collection of answers or a collection of tags - in the __construct method, you need to initialize it to an ArrayCollection. That's taken care of for us.

Above the property, we have a ManyToMany to tags... and if you scroll to the bottom of the class, we have getTags(), addTag() and removeTag() methods.

If you're thinking that this looks a lot like the code generated for a OneToMany relationship, you're right!

Now let's check out the Tag class. Things here... well... they look pretty much the same! We have a $questions property... which is initialized to an ArrayCollection. It is also a ManyToMany and points to the Question class.

And below, it has getQuestions(), addQuestion() and removeQuestion().

Now that we've seen what this look like in PHP, let's generate the migration:

symfony console make:migration

Once it finishes... spin over and open that new file. And... woh! It creates a brand new table? It's called question_tag... and it has only two columns: a question_id foreign key column and a tag_id foreign key column. That's it.

And... this makes sense! Even outside of Doctrine, this is how you build a ManyToMany relationship: you create a "join table" that keeps track of which tags are related to which questions.

With Doctrine, it's no different... except that Doctrine is going to handle the heavy lifting of inserting and removing records to and from this table for us. We'll see that in a minute.

But before I forget, head back to your terminal and run this migration:

symfony console doctrine:migrations:migrate

Next: let's see our relationship in action, by relating questions and tags in PHP and watching Doctrine automatically inserts rows into the join table.


Tuesday 2021-11-23 17:11:01 by petrero

16.1.The 4 (2?) Possible Relation Types

Officially, there are four types of relations in Doctrine: ManyToOne, OneToMany, OneToOne and ManyToMany. But... that's kind of a lie! In reality, there are only two types.

Let me explain. We already know that a ManyToOne relationship and a OneToMany relationship are really just the same relationship seen from the two different sides. So that means that instead of four different types of relations, there are really only three.

OneToOne is ManyToOne in Disguise

  • But... the OneToOne relationship is... kind of not a different relationship.

For example, you decide to add a OneToOne relationship from a User entity to a Profile entity... which would hold more data about that user. If you did this, in the database, your user table would have a profile_id foreign key column. But wait: isn't that exactly what a ManyToOne relationship looks like?

Yup! In reality, a OneToOne relationship is the same as a ManyToOne, except that Doctrine puts a unique key on the profile_id column to prevent a single profile from being being linked to multiple users. But... that's really the only difference!

And, by the way, I try to avoid OneToOne relationships. Instead of splitting user data across two different entities, I tend to put it all in one class to reduce complexity. Splitting into two different entities could help performance, but I think it's almost always more of a bother than a help. Wait until you have real performance problems and then debug it.

Generating the Tag Entity

  • Anyways, this means that ManyToOne, OneToMany and OneToOne are all... really just the same relationship! That leaves only ManyToMany, which is a bit different. So let's build one!

Imagine that every Question can get be tagged with text descriptors.

In order to store tags in the database, let's make a Tag entity. Spin over to your console and run:

symfony console make:entity

Call the new entity Tag... and it's going to be real simple: a single field called name that will be a string type, 255 length, not nullable. Hit enter again to finish up.

Before I generate that migration, open up the new Tag class... because you know that I love to use TimestampableEntity.

We could also add a slug column if we wanted to be able to go to a nice url like /tags/{slug} to show all the questions related a slug. I won't do that... mostly because we showed how to do that in the last tutorial: how to generate a slug automatically from some other property.

Ok: we now have a functional Tag entity. So let's generate a migration for it:

symfony console make:migration

Beautiful! Go give it a quick peek to make sure nothing funny snuck in. Nope! That looks boring: CREATE TABLE tag with id, name and the date fields.

Go run it:

symfony console doctrine:migrations:migrate

Awesomesauce. So let's think about our goal: each Question could have many tags... and each Tag could be related to many questions. In other words, this is a many to many relationship. Next: let's generate that and see what it looks like!


Tuesday 2021-11-23 17:20:08 by tanmaybohra

Update README.md

Appliance Energy Prediction In this time of global uncertainty world needs energy and in increasing quantities to support economic and social progress and build a better quality of life, in particular in developing countries. But even in today’s time there are many places especially in developing world where there are outages. These outages are primary because of excess load consumed by appliances at home. Heating and cooling appliances takes most power in house. In this project we will be analyzing the appliance usage in the house gathered via home sensors. All readings are taken at 10 mins intervals for 4.5 months . The goal is to predict energy consumption by appliances . In the age of smart homes, ability to predict energy consumption can not only save money for end user but can also help in generating money for user by giving excess energy back to Grid (in case of solar panels usage). In this case regression analysis will be used to predict Appliance energy usage based on data collected from various sensors.

Problem Statement

We should predict Appliance energy consumption for a house based on factors like temperature, humidity & pressure . In order to achieve this, we need to develop a supervised learning model using regression algorithms. Regression algorithms are used as data consist of continuous features and there are no identification of appliances in dataset.

*Attribute Information

date time year-month-day hour:minute:second

Appliances, energy use in Wh (Dependent variable)

lights, energy use of light fixtures in the house in Wh (Drop this column)

T1, Temperature in kitchen area, in Celsius

RH1, Humidity in kitchen area, in %

T2, Temperature in living room area, in Celsius

RH2,Humidity in living room area, in %

T3, Temperature in laundry room area

RH3, Humidity in laundry room area, in %

T4, Temperature in office room, in Celsius

RH4,Humidity in office room, in %

T5, Temperature in bathroom, in Celsius

RH5, Humidity in bathroom, in %

T6, Temperature outside the building (north side), in Celsius

RH6, Humidity outside the building (north side), in %

T7, Temperature in ironing room , in Celsius

RH7, Humidity in ironing room, in %

T8, Temperature in teenager room 2, in Celsius

RH8,Humidity in teenager room 2, in %

T9, Temperature in parents room, in Celsius

RH9, Humidity in parents room, in %

To, Temperature outside (from Chievres weather station), in Celsius

Pressure (from Chievres weather station), in mm Hg

RHout, Humidity outside (from Chievres weather station), in %

Wind speed (from Chievres weather station), in m/s

Visibility (from Chievres weather station), in km

Tdewpoint (from Chievres weather station), °C

rv1, Random variable 1, nondimensional

rv2, Random variable 2, nondimensional

Number of instances: 19,735

Number of attributes: 29

No null values in the dataset.

Observations⚡

**Temperature **- All the columns follow normal distribution except T9

Humidity - All columns follow normal distribution except RH_6 and RH_out , primarly because these sensors are outside the house

Visibilty - This column is negatively skewed

Windspeed - This column is postively skewed

As maximum value in lights attribute is 0, it wont be playing much role in our model. Hence we are dropping the lights attribute from our dataset.

Average energy consumption of appliances at different time of the day over a period of 4.5 months, we observe two peak hours. One at 11 am in the morning and other at 6 PM in the evening. While the peak at 11 am is shallow and low, peak at 6 PM is comparatively higher and sharper.

We observe that over the sleeping hours (10 PM - 6 AM) the energy consumption of appliances is around 50 Wh. After about 6 AM, energy consumption starts to rise gradually up until 11 AM (probably due to morning chores). And then gradually decreases to around 100 Wh at about 3 PM. After which the energy consumption drastically shoots up up until 6 PM in the evening (probably due to requirement lights in rooms). However energy consumption of appliances reverts back to 50 Wh, as night approaches and people in the house go to bed at around 10 PM.

Insights ⚡: We observe that the energy consumption of appliances during the 8 AM - 4 PM is higher in weekends compared to the weekdays. Also, average overall consumption in weekends is pretty high.

Insights⚡:

90% of Appliance consumption is less than 200 Wh .

This column is postively skewed , most the values are around mean 100 Wh .

There will be outliers in this column.

There are small number of cases where consumption is very high.

Observations⚡:

Outside Average temperature over a period of 4.5 months is around 7.5 degrees and ranges from -6(min) to 28(max) degrees.

Inside the building avarage temperature has been around 20 degrees for all the rooms and ranges from 14(min) to 30(max) degrees.

Note: These points implies that warming appliances have been used to keep the insides of the building warm. There must be some sort of direct correlation b/w temperature and consumption of energy inside the house.

Observations :

Outside the building average temp > average humidity inside the house.

Average humidity at the weather station > outside humidity near the building.

Average humidity in the bathroom > other rooms due to obvious reasons.

Kids and parent room show a comparatively higher average humidity.

OBSERVATIONS ⚡:

From the correlation graph we clearly observe that the features related to temperature and features related to humidity have positive correlation within themselves whereas have a a very low or negative correlation with each other.

Humidity outside have a strong negative correlation with temperature levels.

Apart from that we observe that a couple features such as humidity at station, temperature outside the building and temperature in the living room have a comparatively high absolute correlation (above 0.12) with Appliances energy consumption.


Tuesday 2021-11-23 17:59:00 by Marko Grdinić

"10:35am. I am up. I am obsessed with trying to get the advantages of box modeling in sculpt mode. Let me try making a staircase.

11:05am. It is possible with viewport plane.

Ohhh, this thing has something called area radius! i was just about wondering whether it ouwld be possible to set the brush so it samples directly around the point.

11:30am. Again I am just playing around. This is fun, but I should not be doing it. Let me stop here so I can think.

Scape, flatten and fill are difficult to use properly. That normal radius did nothing to give me what I want. The worst thing about that tools is that they mess up the topology. Let me try making a square with just the draw and and the smooth tool.

11:50am. Ok, enough, enough. Forget trying to get the tool into the mold that I want. If I really want sharp edges I should do box modeling rather than sculpting.

https://youtu.be/wOQI6gJMgZA How to sculpt flat smooth curved shapes in Blender 2.9 - Hard Surface Scultpting in Blender

Let me watch this.

https://youtu.be/ZLi7jmMqfvg How to make sharp sculpting in Blender 2.9

I am obsessed about this right now. I want to get it out of the way.

https://youtu.be/ZLi7jmMqfvg?t=41

Ohhh, I could have done it like this. How did he get the square to have such sharp angles? Actually I already know all he talked about from my experimentation.

I haven't used it, but if you are doing this, you really would be off better with dyn topo.

https://youtu.be/ZLi7jmMqfvg?t=566

Custom view? I had no idea that existed. That could be quite useful.

https://youtu.be/ZLi7jmMqfvg?t=674

This is a good way of doing cracks.

https://blenderartists.org/t/custom-3d-viewport-views/503912/2

stored views (named views) wouldn’t be too hard to add, and indeed pretty useful (like most CAD applications do)

12:45pm. Ah, I was wrong about draw and draw sharp being the same. Draw sharp does not affect the topology in dyntopo.

12:55pm. That was from 2011. There is a stored view addon in the library. I'll leave this for later. Enough of this for now.

2:05pm. Done with breakfast and chores. Let me chill a bit and then I will start. There is not much I can do anymore. I have to just sit down and complete that female mesh. I should face my fears and just go forward.

2:35pm. I'll leave those Sumiyao lolibaba doujins for later. It is time to resume.

Let me get back to immitating Flycat.

Let me work on the neck just a tad and then I will watch him in action. After that I will finish the damn mesh properly. Often I start having fun and stop looking at the reference. I need to do it a bit better.

2:40pm. No I do not know what I am missing. I have no idea how it needs to be in order to get that shading effect. I can't make it any narrower or rounder either. Let me check out the vid.

2:55pm. https://youtu.be/VzMAh66ofq0?t=19

Ok, I see why thanks to this. For some reason that lighting in the ref is different from here. The neck is quite round, and it does not have such pronounced shoulder blades as my own. One thing I've realized is that I've also put the ribcage too low. That is, I've made it too big. I also missed the back muscles surrounding the spinal valley.

3:05pm. Ok, good enough. Let me put in the tits.

3:50pm. https://youtu.be/VzMAh66ofq0?t=18

Just what is the curvature of the groin? The way it comes out to me, the bottom is flat. This is because I started off with a cube. My initial instinct was to give a slight bend down the middle, but I am not sure if that is right. I think it should be cuved, but not with a pudge. The arms do not have enough definition. They still look too much like cubes. They don't look like that much, but I get that feeling looking at them from certain angles.

3:55pm. Ah, whatever. Let me watch the master at work. I said I would watch the video start to finish and now is a good time as any.

https://youtu.be/VzMAh66ofq0?t=40

Ah, he does give it a pudge. Maybe my instincts are not wrong. It remains to be see whether he maintains it.

https://youtu.be/VzMAh66ofq0?t=147

He almost literally does everything using the move tool. This is insane.

https://youtu.be/VzMAh66ofq0?t=179 https://youtu.be/VzMAh66ofq0?t=191

Here he is working on the ground. I'll come back to this and study the curve more carefully later.

4:25pm. https://youtu.be/VzMAh66ofq0?t=270

This stile of working and doing everything with the move tool is liable to be particularly difficult to immitate. It is better to use a wide variery of tools

https://youtu.be/VzMAh66ofq0?t=343

Yeah, I remember him working on the fingers for what seems forever. I had trouble with them as well.

https://youtu.be/VzMAh66ofq0?t=452

This is a good shot. The groin is puffy down the middle all the way through. My instincts were not wrong at all.

4:50pm. https://youtu.be/VzMAh66ofq0?t=555

Yep. Anyway, at this point I am starting to tune out. In a minute of video time he will be done with the body. For my own model, I only have to deal with hands, feet. I am really in admiration of how well the body itself came out.

https://youtu.be/VzMAh66ofq0?t=558

Ah, he is making it wider.

5:15pm. Had to elastic deform the ass a bit and add a bit of volume after that. It did not occur to me that it should pointing towards the gap.

The slide relax too is really useful to straightening out those slight curves. The smooth tool would be too agressive and would result in a plane. This too works perfectly however.

5:30pm. Added the rib like. I used draw sharp with the line stoke to do it neatly. I need to study anatomy after I am done with this model. I am not sure if I got the back musles right.

5:30pm. https://youtu.be/VzMAh66ofq0?t=620

Here is the head. I'll work on the head last. I am actually pretty tired at this point and do not feel like working on the arms, hands and feet.

6:05pm. I did some work on feet. I don't have a good feel for their structure and my effort is not getting me anywhere.

I ended up making them a lot smaller by accident. The remesher is really no good at scaling them.

6:10pm. Lunch time.

6:25pm. I am back. Actually, looking the outline of what I did from various angles, it does feel like a real foot. I am amazed, it does seem like I have some art sense after all. My problem in elementary/middle school is that I really never made a serious effort to improve. I got grades here and there, but not any specific instruction what is right or wrong with anything I've done. I ended up buying into a defeatist attitude. I never really had a reason to improve either.

But right now the body is pretty good. It looks very similar to Flycat's.

6:35pm. I'll stop sculpting here, but before I close let me think. What should I do tomorrow?

I am going to watch some feet sculpting videos. I said I wanted to study anatomy. Instead of that, how about I just watch a bunch of stuff by DevilPeace? That video he did outright had an reference.

I am going to be thorough in these studies. I am going to master this and then I will get back to drawing. I'll draw my own model, draw other things and just keep drawing until I am happy with my results. I'll do shading and coloring as well.

2d is what I need and want, but 3d is the foundation so I won't skim on it. I'll keep working on my art skills in the following years. At this rate, I might be able to start producing good pieces by the end of next month. Though I really should draw one actual image before I start getting excited about the possibilities. Still, the painting I've seen from Matt Core and other people done step from step do not feel beyond my ability.

Flycat's particular sculpting style is beyond my ability - no way is he using the mouse. I have no idea why he said at one point that he was. But I can produce a piece on par with his with a wider variety of tools. I am almost there soon enough I'll be at mid 2/5. Then it is just a matter of practice until I reach 3/5.

I won't rush this. It will happen on its own before long.

I had a deal with this world, it throws me a bone, and I won't do anything to mess with consensus consciousness. But it did not, and now I'll go all out. Starting with Heaven's Key I'll wage an all out war on the public consciousness. I've gotten used to putting in effort, but I am tired of getting only skills in return, but no money. I do not care about making it big anymore. I'll do what I want and make some pocket money along the way to support my effort.

I'll resume the poker quest when better algos get discovered and I have enough money to get those AI chips. Until then, rather than trying to beat games, I'll be making them.

Let me have some fun here."


Tuesday 2021-11-23 18:17:01 by catte-cloud

Create RECOVER_RECOVER_ASS DONT CORRUPT FUCK YOU.fla


Tuesday 2021-11-23 18:27:19 by petrero

19.1. Handling ManyToMany in Foundry

Now that we've seen how we can relate Tag objects and Question objects, let's use Foundry to properly create some fresh Tag fixture data. Start by generating the Tag factory

symfony console make:factory

And... we want to generate the one for Tag. Beautiful!

Go check out that class: src/Factory/TagFactory.php. Remember: our only job is to make sure that we have good default values for all of the required properties. For name, instead of using text(), we can use ->word(). And like I've done before, I'm going to remove updatedAt... but set createdAt to self::faker->dateTimeBetween('-1 year').

Now that we have this, at the top of the fixtures class, we can create 100 random tags with TagFactory::createMany(100). I love doing that!

Below, for these 20 published questions, I want to relate each one to a random number of tags. To do that, pass a second argument: this is an array of attribute overrides. Let's think: the property we want to set on each Question object is called tags. So pass tags => some collection of tags. To get that collection, let's pass this a new function: TagFactory::randomRange(0, 5).

This is pretty cool: it will return 0 to 5 random tags from the database, giving each question a different number of random tags. There is a small problem with this code... and maybe you see it... but let's try it anyways.

Spin over and reload the fixtures:

symfony console doctrine:fixtures:load

Awesome. And now check the database. I'll first say:

symfony console doctrine:query:sql 'SELECT * FROM tag'

Yep! We do have 100 tags. Actually, we have 102 tags. Go the bottom of the fixtures class and delete our code from earlier: we don't need that anymore.

Anyways, this created 100 tags. Now check the join table: SELECT * FROM question_tag

symfony console doctrine:query:sql 'SELECT * FROM question_tag'

And... it did work... though if we're assigning 0 to 5 tags to each of the 20 questions... 20 total seems a little low. And... it is! Look closely: every row is related to the same tag!

Of course! I keep making this mistake! Because we're passing an array of attributes, the TagFactory::randomRange() method is only called once. So in my situation, this returned one random Tag... and then assigned that one Tag to all 20 questions... which is why we ended up with 20 rows.


Tuesday 2021-11-23 18:50:50 by Vladimír Vondruš

doc: rework the first three tutorials for improved GL::Mesh usage.

These examples were originally made "back in the day" where there was no MeshTools::compile(), no Trade::MeshData and when the GL::Mesh and GL::Buffer APIs were a lot more verbose. They got kinda updated to not barf out deprecation warnings, but the text accompanying them was getting increasingly stale.

The main trigger for this work was the horror in the Primitives example, where a nicely packed and tidy Trade::MeshData got exploded into loose attribute and index arrays only to have them interleaved and packed back and it was everything but simple or efficient. Instead, the Primitives example now directly uses MeshTools::compile(), because honestly there isn't anything similar that would provide the same genericity without being excessively verbose.

But because that resulted in there being no tutorial showing an indexed mesh setup anymore, the Textured Triangle example is now a Textured Quad, showing an (admittedly silly) indexed quad. It's now also ordered right after the initial Triangle example because, even though it's longer and more complex than the Primitives example, it wouldn't really make sense to show after the users get to know the MAGIC POWER TOOL that's MeshTools::compile().

On the Magnum side, the GL::Mesh, GL::Buffer and Trade::MeshData docs will get updated to show what the Primitives example listed before, namely accessing mesh attributes via the *AsArray() APIs, or using the lower-level MeshTools::interleave() / compressIndices().

The Viewer example is about to be rewritten for the new SceneData interface anyway, so it's currently left untouched.

Eventually I also need to update the Vulkan textured triangle example to show an indexed mesh setup, and get rid of the extremely ugly stone.tga that was stolen borrowed from some unknown place without crediting properly.


Tuesday 2021-11-23 21:55:56 by Vladimír Vondruš

Trade: refresh MeshData docs slightly.

It was rather discouraging to start "Basic usage" with a boring-ass long snippet. On the other hand showing just compile() first would lead people to think it's all some opaque magic, so trying to balance that a bit.

Also why the hell was the compile() snippet showing the horrendous GL way of specifying attribute formats? This is not great either but at least not redundant.


Tuesday 2021-11-23 22:18:19 by Brad Warren

Remove old apache tests (#8843)

Apache test farm tests started failing last night due to a change in pyenv. See https://dev.azure.com/certbot/certbot/_build/results?buildId=3948&view=logs&j=f67c2a39-2c4f-5190-915f-6f32a7a4306f&t=96f0f394-f513-5158-f5e7-a26e55aeadbf&l=26943.

I managed to fix that in https://github.com/certbot/certbot/commit/d94f20f8b709e088b0c3036683bbda88b354f254, however, the OSes the tests were failing on were Debian 9 and Ubuntu 16.04. Debian 9 reached its end-of-life in July 2020 and Ubuntu 16.04 reached its end of standard support in April 2021. As shown at the same links, Debian 9 still has support from the LTS team and Ubuntu 16.04 has ESM support. Do we still want to support either of these OSes?

If so, we can use the commit I linked in the first sentence of the last paragraph, but I think supporting the OSes through their standard support is good enough. The Certbot team has enough on their plate and especially when the OSes are so old that we can't even use their packaged version of Python anymore which complicates our tests, I think we can just drop support and move on.

I don't have a strong opinion here though so if someone else does, let me know what you'd like to see or make the PR yourself based on the changes in my linked commit and I'll merge it.

You can see the tests passing with this change at https://dev.azure.com/certbot/certbot/_build/results?buildId=3955&view=results.

  • Remove apache tests on old OSes

  • remove unused pyenv code


Tuesday 2021-11-23 23:09:10 by Carlos Nunez

Use AWS Session Tokens

Back when I wrote this soon-to-be-deprecated FUCKING MONSTROSITY, I was too lazy to just use STS for authentication.

A few years later, I accidentally committed my admin AK/SK. Oops.

Since then, I made the time to use STS in all of my projects. Turns out...it's not that hard!


< 2021-11-23 >