martes, 1 de enero de 2019

Introduction to Deep Learning

Introduction to Deep Learning

01 Basics




















https://jiayiwangjw.github.io/2017/10/03/Introduction-to-Deep-Learning-01/#02-opitimization
Coding the forward propagation algorithm
In this exercise, you'll write code to do forward propagation (prediction) for your first neural network:



Each data point is a customer. The first input is how many accounts they have, and the second input is how many children they have. The model will predict how many transactions the user makes in the next year. You will use this data throughout the first 2 chapters of this course.
The input data has been pre-loaded as input_data, and the weights are available in a dictionary called weights. The array of weights for the first node in the hidden layer are in weights['node_0'], and the array of weights for the second node in the hidden layer are in weights['node_1'].
The weights feeding into the output node are available in weights['output'].
NumPy will be pre-imported for you as np in all exercises.

Instructions
100 XP
  • Calculate the value in node 0 by multiplying input_data by its weights weights['node_0'] and computing their sum. This is the 1st node in the hidden layer.
  • Calculate the value in node 1 using input_data and weights['node_1']. This is the 2nd node in the hidden layer.
  • Put the hidden layer values into an array. This has been done for you.
  • Generate the prediction by multiplying hidden_layer_outputsby weights['output'] and computing their sum.
  • Hit 'Submit Answer' to print the output! 

Take Hint (-30 XP)
1.-
png


CODIGOS PROBADOS,  1forprop.py in deeplearning folder desktop 010109

import numpy as np
input_data = np.array([2,3])
weights = {'node_0': np.array([1,1]),
           'node_1': np.array([-1,1]),
           'output': np.array([2,-1])} 
node_0_value = (input_data * weights['node_0']).sum()
node_1_value = (input_data * weights['node_1']).sum()

hidden_layer_values = np.array([node_0_value, node_1_value])
print(hidden_layer_values)

output = (hidden_layer_values * weights['output']).sum()
print(output)


salida

C:\>python 1forprop.py
[5 1]
9

2.- Activation functions

An “activation function” is a function applied at each node. It converts the node’s input into some output.
png
CODIGOS PROBADOS,  2activatanh.py in deeplearning folder desktop 010109


import numpy as np
input_data = np.array([2,3])
weights = {'node_0': np.array([1,1]),
           'node_1': np.array([-1,1]),
           'output': np.array([2,-1])}

node_0_input = (input_data * weights['node_0']).sum()
node_0_output = np.tanh(node_0_input)

node_1_input = (input_data * weights['node_1']).sum()
node_1_output = np.tanh(node_1_input)

hidden_layer_values = np.array([node_0_output, node_1_output])
print(hidden_layer_values)

output = (hidden_layer_values * weights['output']).sum()
print(output)

salida

C:\>python 2activatanh.py
[0.9999092  0.76159416]
1.2382242525694254





3.-

png

The Rectified Linear Activation Function
As Dan explained to you in the video, an "activation function" is a function applied at each node. It converts the node's input into some output.
The rectified linear activation function (called ReLU) has been shown to lead to very high-performance networks. This function takes a single number as an input, returning 0 if the input is negative, and the input if the input is positive.
Here are some examples:
relu(3) = 3
relu(-3) = 0 
Instructions
100 XP
  • Fill in the definition of the relu() function:
    • Use the max() function to calculate the value for the output of relu().
  • Apply the relu() function to node_0_input to calculate node_0_output.
  • Apply the relu() function to node_1_input to calculate node_1_output.
The rectified linear activation function (called ReLU) has been shown to lead to very high-performance networks. This function takes a single number as an input, returning 0 if the input is negative, and the input if the input is positive.

Rectifier (neural networks)

Plot of the rectifier (blue) and softplus (green) functions near x = 0
In the context of artificial neural networks, the rectifier is an activation function defined as the positive part of its argument:
,
where x is the input to a neuron. This is also known as a ramp function and is analogous to half-wave rectification in electrical engineering. This activation function was first introduced to a dynamical network by Hahnloser et al. in 2000 with strong biological motivations and mathematical justifications.[1][2] It has been demonstrated for the first time in 2011 to enable better training of deeper networks,[3] compared to the widely-used activation functions prior to 2011, e.g., the logistic sigmoid (which is inspired by probability theory; see logistic regression) and its more practical[4] counterpart, the hyperbolic tangent. The rectifier is, as of 2018, the most popular activation function for deep neural networks.[5][6]

def relu(input):
    '''Define your relu activation function here'''
    # Calculate the value for the output of the relu function: output
    output = max(input, 0)
 
    # Return the value just calculated
    return(output)
import numpy as np
input_data = np.array([-1,2])
weights = {'node_0': np.array([3,3]),
           'node_1': np.array([1,5]),
           'output': np.array([2,-1])}

node_0_input = (input_data * weights['node_0']).sum()
node_0_output = relu(node_0_input)

node_1_input = (input_data * weights['node_1']).sum()
node_1_output = relu(node_1_input)

hidden_layer_values = np.array([node_0_output, node_1_output])
print(hidden_layer_values)

output = (hidden_layer_values * weights['output']).sum()
print(output)



Salida

C:\>python relu.py
[3 9]
-3

C:\>


4.- Applying the network to many observations/rows of data

Define a function called predict_with_network() which will generate predictions for multiple data observations

You'll now define a function called predict_with_network()which will generate predictions for multiple data observations, which are pre-loaded as input_data. As before, weights are also pre-loaded. In addition, the relu() function you defined in the previous exercise has been pre-loaded.
Instructions
0 XP
  • Define a function called predict_with_network() that accepts two arguments - input_data_row and weights - and returns a prediction from the network as the output.
  • Calculate the input and output values for each node, storing them as: node_0_inputnode_0_outputnode_1_input, and node_1_output.
    • To calculate the input value of a node, multiply the relevant arrays together and compute their sum.
    • To calculate the output value of a node, apply the relu()function to the input value of the node.
  • Calculate the model output by calculating input_to_final_layer and model_output in the same ay you calculated the input and output values for the nodes.
  • Use a for loop to iterate over input_data:
    • Use your predict_with_network() to generate predictions for each row of the input_data - input_data_row. Append each prediction to results.
  •  
Hint
· To calculate the input value for each node, multiply the two relevant arrays and compute their sum. For example, the two relevant arrays for calculating node_0_input are input_data_row and weights['node_0'].
· To compute the output value of each node, apply the relu()function to the input value.
· Inside the for loop, use the predict_with_network()function with each row of the input data - input_data_row - and weights as the arguments.
Did you find this hint helpful?



def relu(input):
    '''Define your relu activation function here'''
    # Calculate the value for the output of the relu function: output
    output = max(input, 0)
 
    # Return the value just calculated
    return(output)
import numpy as np
input_data = np.array([-1,2])
weights = {'node_0': np.array([3,3]),
           'node_1': np.array([1,5]),
           'output': np.array([2,-1])}

node_0_input = (input_data * weights['node_0']).sum()
node_0_output = relu(node_0_input)

node_1_input = (input_data * weights['node_1']).sum()
node_1_output = relu(node_1_input)

hidden_layer_values = np.array([node_0_output, node_1_output])
print(hidden_layer_values)

output = (hidden_layer_values * weights['output']).sum()
print(output)

input_data = np.array([[3,5],[2,-1],[0,0],[8,4]])
input_data

def predict_with_network(input_data_row, weights):

    # Calculate node 0 value. To calculate the input value of a node, multiply the relevant
    # arrays together and compute their sum
    node_0_input = (input_data_row * weights['node_0']).sum()
    node_0_output = relu(node_0_input)

    # Calculate node 1 value
    node_1_input = (input_data_row * weights['node_1']).sum()
    node_1_output = relu(node_1_input)

    # Put node values into array: hidden_layer_outputs
    hidden_layer_outputs = np.array([node_0_output, node_1_output])
 
    # Calculate model output
    input_to_final_layer = (hidden_layer_outputs * weights['output']).sum()
    model_output = relu(input_to_final_layer)
 
    # Return model output
    return(model_output)


# Create empty list to store prediction results
results = []
for input_data_row in input_data:
    # Append prediction to results
    results.append(predict_with_network(input_data_row, weights))

# Print results
print(results)


SALIDA

C:\>python 4relumultiple.py
[3 9]
-3
[20, 6, 0, 44]

5.-Multi-layer neural networks

png

import numpy as np

def relu(input):
    '''Define your relu activation function here'''
    # Calculate the value for the output of the relu function: output
    output = max(input, 0)
    
    # Return the value just calculated
    return(output)
def predict_with_network(input_data_row, weights):

    # Calculate node 0 value. To calculate the input value of a node, multiply the relevant 
    # arrays together and compute their sum
    node_0_input = (input_data_row * weights['node_0']).sum()
    node_0_output = relu(node_0_input)

    # Calculate node 1 value
    node_1_input = (input_data_row * weights['node_1']).sum()
    node_1_output = relu(node_1_input)

    # Put node values into array: hidden_layer_outputs
    hidden_layer_outputs = np.array([node_0_output, node_1_output])
    
    # Calculate model output
    input_to_final_layer = (hidden_layer_outputs * weights['output']).sum()
    model_output = relu(input_to_final_layer)
    
    # Return model output
    return(model_output)

input_data = np.array([3,5])

weights = {'node_0_0': np.array([2,4]),
           'node_0_1': np.array([4,-5]),
           'node_1_0': np.array([-1,1]),
           'node_1_1': np.array([2,2]),
           'output': np.array([-3,7])} 


def predict_with_network2(input_data):
    # Calculate node 0 in the first hidden layer
    node_0_0_input = (input_data * weights['node_0_0']).sum()
    node_0_0_output = relu(node_0_0_input)

    # Calculate node 1 in the first hidden layer
    node_0_1_input = (input_data * weights['node_0_1']).sum()
    node_0_1_output = relu(node_0_1_input)

    # Put node values into array: hidden_0_outputs
    hidden_0_outputs = np.array([node_0_0_output, node_0_1_output])
    print(hidden_0_outputs)
    
    # Calculate node 0 in the second hidden layer
    node_1_0_input = (hidden_0_outputs * weights['node_1_0']).sum()
    node_1_0_output = relu(node_1_0_input)

    # Calculate node 1 in the second hidden layer
    node_1_1_input = (hidden_0_outputs * weights['node_1_1']).sum()
    node_1_1_output = relu(node_1_1_input)

    # Put node values into array: hidden_1_outputs
    hidden_1_outputs = np.array([node_1_0_output, node_1_1_output])
    print(hidden_1_outputs)
    
    # Calculate model output: model_output
    model_output = (hidden_1_outputs * weights['output']).sum()
     
  
    # Return model_output
    return(model_output)

output = predict_with_network2(input_data)
print(output)


SALIDA

C:\>python 5multiplelayers.py
[26  0]
[ 0 52]
364


02 Opitimization


6.- Coding how weight changes affect accuracy

Now you'll get to change weights in a real network and see how they affect model accuracy!
Have a look at the following neural network: 

Ch2Ex4

Its weights have been pre-loaded as weights_0. Your task in this exercise is to update a single weight in weights_0 to create weights_1, which gives a perfect prediction (in which the predicted value is equal to target_actual: 3).
Use a pen and paper if necessary to experiment with different combinations. You'll use the predict_with_network() function, which takes an array of data as the first argument, and weights as the second argument.



  • Create a dictionary of weights called weights_1 where you have changed 1 weight from weights_0 (You only need to make 1 edit to weights_0to generate the perfect prediction).
  • Obtain predictions with the new weights using the predict_with_network() function with input_data and weights_1.
  • Calculate the error for the new weights by subtracting target_actualfrom model_output_1.
  • Hit 'Submit Answer' to see how the errors compare!

import numpy as np

def relu(input):
    '''Define your relu activation function here'''
    # Calculate the value for the output of the relu function: output
    output = max(input, 0)
    
    # Return the value just calculated
    return(output)
def predict_with_network(input_data_row, weights):

    # Calculate node 0 value. To calculate the input value of a node, multiply the relevant 
    # arrays together and compute their sum
    node_0_input = (input_data_row * weights['node_0']).sum()
    node_0_output = relu(node_0_input)

    # Calculate node 1 value
    node_1_input = (input_data_row * weights['node_1']).sum()
    node_1_output = relu(node_1_input)

    # Put node values into array: hidden_layer_outputs
    hidden_layer_outputs = np.array([node_0_output, node_1_output])
    
    # Calculate model output
    input_to_final_layer = (hidden_layer_outputs * weights['output']).sum()
    model_output = relu(input_to_final_layer)
    
    # Return model output
    return(model_output)

input_data = np.array([0,3])

# Sample weights
weights_0 = {'node_0': [2, 1],
             'node_1': [1, 2],
             'output': [1, 1]
            }

# The actual target value, used to calculate the error
target_actual = 3

# Make prediction using original weights, this was defined previously
predict_with_network(input_data, weights_0)
model_output_0 = predict_with_network(input_data, weights_0)

# Calculate error: error_0
error_0 = model_output_0 - target_actual

# Create weights that cause the network to make perfect prediction (3): weights_1
weights_1 = {'node_0': [2, 1],
             'node_1': [1, 0],   #change only one weight to ensure 0 error
             'output': [1, 1]
            }



# Make prediction using new weights: model_output_1
model_output_1 = predict_with_network(input_data, weights_1)


# Calculate error: error_1
error_1 = model_output_1 - target_actual

# Print error_0 and error_1
print(error_0)
print(error_1)


C:\>python 6optimization.py
6
0


7.- Scaling up to multiple data points




PODEMOS CALCULAR EL ERROR EN BASES A MODELOS CON DOS DISTINTAS MATRICES DE PESOS

You've seen how different weights will have different accuracies on a single prediction. But usually, you'll want to measure model accuracy on many points. You'll now write code to compare model accuracies for two different sets of weights, which have been stored as weights_0 and weights_1.
input_data is a list of arrays. Each item in that list contains the data to make a single prediction. target_actuals is a list of numbers. Each item in that list is the actual value we are trying to predict.
In this exercise, you'll use the mean_squared_error() function from sklearn.metrics. It takes the true values and the predicted values as arguments.
You'll also use the preloaded predict_with_network() function, which takes an array of data as the first argument, and weights as the second argument.

  • Import mean_squared_error from sklearn.metrics.
  • Using a for loop to iterate over each row of input_data:
    • Make predictions for each row with weights_0 using the predict_with_network() function and append it to model_output_0.
    • Do the same for weights_1, appending the predictions to model_output_1.
  • Calculate the mean squared error of model_output_0 and then model_output_1 using the mean_squared_error() function. The first argument should be the actual values (target_actuals), and the second argument should be the predicted values (model_output_0 or model_output_1).

import numpy as np
from sklearn.metrics import mean_squared_error

def relu(input):
    '''Define your relu activation function here'''
    # Calculate the value for the output of the relu function: output
    output = max(input, 0)
 
    # Return the value just calculated
    return(output)
def predict_with_network(input_data_row, weights):

    # Calculate node 0 value. To calculate the input value of a node, multiply the relevant
    # arrays together and compute their sum
    node_0_input = (input_data_row * weights['node_0']).sum()
    node_0_output = relu(node_0_input)

    # Calculate node 1 value
    node_1_input = (input_data_row * weights['node_1']).sum()
    node_1_output = relu(node_1_input)

    # Put node values into array: hidden_layer_outputs
    hidden_layer_outputs = np.array([node_0_output, node_1_output])
 
    # Calculate model output
    input_to_final_layer = (hidden_layer_outputs * weights['output']).sum()
    model_output = relu(input_to_final_layer)
 
    # Return model output
    return(model_output)


# The data point you will make a prediction for
input_data = np.array(([0, 3],[1,2],[-1,-2],[4,0]))

# Sample weights
weights_0 = {'node_0': [2, 1],
             'node_1': [1, 2],
             'output': [1, 1]
            }

weights_1 = {'node_0': [2, 1],
             'node_1': [1., 1.5],
             'output': [1., 1.5]
            }

#target_actuals = np.array([1,3,5,7])
target_actuals = ([1,3,5,7])
target_actuals

# Create model_output_0
model_output_0 = []
# Create model_output_0
model_output_1 = []

# Loop over input_data
for row in input_data:
    # Append prediction to model_output_0
    model_output_0.append(predict_with_network(row, weights_0))
 
    # Append prediction to model_output_1
    model_output_1.append(predict_with_network(row, weights_1))

# Calculate the mean squared error for model_output_0: mse_0
mse_0 = mean_squared_error(target_actuals, model_output_0)

# Calculate the mean squared error for model_output_1: mse_1
mse_1 = mean_squared_error(target_actuals, model_output_1)

# Print mse_0 and mse_1
print("Mean squared error with weights_0: %f" %mse_0)
print("Mean squared error with weights_1: %f" %mse_1)



C:\>python 7optimization.py
Mean squared error with weights_0: 37.500000
Mean squared error with weights_1: 49.890625


Gradient descent

When plotting the mean-squared error loss function against predictions, the slope is \begin{equation} 2 \times X \times (Y-Xb) \end{equation} \begin{equation} 2 \times InputData \times Error. \end{equation}
Note that X and B may have multiple numbers (X is a vector for each data point, and B is a vector). In this case, the output will also be a vector, which is exactly what you want.











Calculating slopes

You're now going to practice calculating slopes. When plotting the mean-squared error loss function against predictions, the slope is 2 * x * (y-xb), or 2 * input_data * error. Note that x and bmay have multiple numbers (x is a vector for each data point, and b is a vector). In this case, the output will also be a vector, which is exactly what you want.
You're ready to write the code to calculate this slope while using a single data point. You'll use pre-defined weights called weights as well as data for a single point called input_data. The actual value of the target you want to predict is stored in target.


  • Calculate the predictions, preds, by multiplying weights by the input_data and computing their sum.
  • Calculate the error, which is target minus preds. Notice that this error corresponds to y-xb in the gradient expression.
  • Calculate the slope of the loss function with respect to the prediction. To do this, you need to take the product of input_data and error and multiply that by 2.


import numpy as np
weights = np.array([0,2,1])
input_data = np.array([1,2,3])
target = 0


# Calculate the predictions: preds
preds = (weights * input_data).sum()

# Calculate the error: error (Notice that this error corresponds to y-xb in the gradient expression.)
error =  preds - target

# Calculate the slope of the loss function with respect to the prediction.
slope = 2 * input_data * error

# Print the slope
print(slope)



C:\>python gradient_calcule_slopes.py
[14 28 42]

C:\>

Improving model weights

Hurray! You've just calculated the slopes you need. Now it's time to use those slopes to improve your model. If you add the slopes to your weights, you will move in the right direction. However, it's possible to move too far in that direction. So you will want to take a small step in that direction first, using a lower learning rate, and verify that the model is improving.
The weights have been pre-loaded as weights, the actual value of the target as target, and the input data as input_data. The predictions from the initial weights are stored as preds.

  • Set the learning rate to be 0.01 and calculate the error from the original predictions. This has been done for you.
  • Calculate the updated weights by subtracting the product of learning_rate and slope from weights.
  • Calculate the updated predictions by multiplying weights_updated with input_data and computing their sum.
  • Calculate the error for the new predictions. Store the result as error_updated.
  • Hit 'Submit Answer' to compare the updated error to the original!
# Set the learning rate: learning_rate
learning_rate = 0.01

# Calculate the predictions: preds
preds = (weights * input_data).sum()

# Calculate the error: error
error = preds - target

# Calculate the slope: slope
slope = 2 * input_data * error

# Update the weights: weights_updated
weights_updated = weights-learning_rate*slope

# Get updated predictions: preds_updated
preds_updated = (weights_updated*input_data).sum()

# Calculate updated error: error_updated
error_updated = preds_updated-target



CORRECTO

import numpy as np
weights = np.array([0,2,1])
input_data = np.array([1,2,3])
target = 0


# Calculate the predictions: preds
preds = (weights * input_data).sum()

# Calculate the error: error (Notice that this error corresponds to y-xb in the gradient expression.)
error =  preds - target

# Calculate the slope of the loss function with respect to the prediction.
slope = 2 * input_data * error

# Print the slope
print(slope)
# Set the learning rate: learning_rate
learning_rate = 0.01

# Update the weights: weights_updated
weights_updated = weights - learning_rate * slope

# Get updated predictions: preds_updated
preds_updated = (weights_updated * input_data).sum()

# Calculate updated error: error_updated
error_updated = preds_updated - target

# Print the original error
print(error)

# Print the updated error
print(error_updated)

C:\>python gradient_calcule_slopes.py
[14 28 42]
7
5.04

DISMINUYE EL ERROR


Making multiple updates to weights

You're now going to make multiple updates so you can dramatically improve your model weights, and see how the predictions improve with each update.
To keep your code clean, there is a pre-loaded get_slope() function that takes input_datatarget, and weights as arguments. There is also a get_mse() function that takes the same arguments. The input_datatarget, and weights have been pre-loaded.
This network does not have any hidden layers, and it goes directly from the input (with 3 nodes) to an output node. Note that weights is a single array.
We have also pre-loaded matplotlib.pyplot, and the error history will be plotted after you have done your gradient descent steps.


  • Using a for loop to iteratively update weights:
    • Calculate the slope using the get_slope() function.
    • Update the weights using a learning rate of 0.01.
    • Calculate the mean squared error (mse) with the updated weights using the get_mse() function.
    • Append mse to mse_hist.
  • Hit 'Submit Answer' to visualize mse_hist. What trend do you notice?

from sklearn.metrics import mean_squared_error
import numpy as np
import matplotlib.pyplot as plt

def pred(input_data, target, weights):
    return ((input_data * weights).sum())

def get_slope(input_data, target, weights):
    preds = pred(input_data, target, weights)
    error = target - preds
    slope = 2 * input_data * error
    return slope

def get_mse(input_data, target, weights):
    preds = pred(input_data, target, weights)
    return mean_squared_error([preds], [target])

weights = np.array([0, 2, 1])
input_data = np.array([1, 2, 3])
target = 0
learning_rate = 0.01
n_updates = 20
mse_hist = []
for i in range(n_updates):
    slope = get_slope(input_data, target, weights)
    weights = weights + (learning_rate * slope)
    mse = get_mse(input_data, target, weights)
    mse_hist.append(mse)
    
plt.plot(mse_hist)
plt.xlabel('Iterations')
plt.ylabel('Mean Squared Error')
plt.show()


SALIDA

C:\>python Gradient_Descent.py



https://github.com/neelabhpant/Deep-Learning-in-Python/blob/master/Gradient_Descent.py

lunes, 17 de diciembre de 2018

UNAM debe hacer más con menos y acabar con lujos: AMLO



Soy estudiante de Sociología de la UNAM y exijo una auditoría externa a mi universidad.



BASTA DE LUJOS EN LOS DIRECTIVOS Y ADMINISTRATIVOS DE LA UNAM!

Cuando deje de haber nepotismo, corrupción, compadrazgo en las esferas de poder de la UNAM; tal vez este de acuerdo en que no se reduzca el presupuesto, el problema es que gran parte de ese presupuesto se queda en los bolsillos de los directores, administrativos, vacas sagradas, etc. etc. Gran parte de ese presupuesto no se refleja en el estudiante, por ejemplo, los directores de institutos o de museos, tienen chófer, tienen guarura, etc., Porque deben de tener chófer pagado con el presupuesto de la UNAM, viajes, viáticos, etc. a costa del erario?. La UNAM debe de entrar a la dinámica del recorte de gastos superfluos e innecesarios!

viernes, 30 de noviembre de 2018

William sidis, El prodigio




LICENSE NOTES  This eBook is licensed for your personal enjoyment only. This eBook may not be re-sold or given away to other people. If you would like to share this book with another person, please purchase an additional copy for each person you share it with. If you’re reading this book and did not purchase it, or it was not purchased for your use only, then you should return to the vendor of your choice and purchase your own copy. Thank you for respecting the hard work of this author. 

Dedication  To my brother David, who not only inspired this book, but has been a lov- ing inspiration all my life. 
Acknowledgments  You know the old saying—”As the twig is bent the tree’s inclined.” Parents cannot too soon begin the work of bending the minds of their children in the right direction, of training them so that they shall grow up complete, efficient, really rational men and women.  BORIS SIDIS, 1909  The newspapers never missed a chance to try and prove that he was in- sane, or psychotic, or simply a freak. In truth, Billy was a completely normal child in every respect.  SARAH SIDIS, 1952  It is possible to construct figures of the Fourth Dimension with a hundred and twenty sides called hecatonicosihedrigons, or figures with six hundred sides called hexacosihedrigons. I attach great value in the working out of my 
theories to the help given by polyhedral angles of the dodesecahedron which enter into many of the problems. Some of the things that I have found out about the Fourth Dimension will aid in the solution of many of the problems of elliptical geometry.  WILLIAM JAMES SIDIS, age 11, 1909  I often tried to talk to him about the fourth dimension, mathematics. I was interested in mathematics myself at the time. I was about seventeen, he must have been about twenty-three. And he would turn upon me furiously, he scared me, saying, “I don’t want to talk about that, I don’t ever want to talk about that kind of thing!”  CLIFTON FADIMAN, 198

 The Little Father  Boris Sidis was born in 1867 in Berdichev, a town near Kiev in the Russian Ukraine. His lineage could be traced back eight hundred years, and it was the family legend that each generation produced one brilliant man. Boris Sidis, his kin said, was that man. Boris was one of five children born to Moses and Mary Sidis. Moses was a well-off merchant, and an intellectual who read Darwin and Huxley. The boy showed intellectual promise early. At eight, he knew several languages, was well read in history, and composed poetry that was put to music by the towns- people of Berdichev. Boris’s early years were pleasant, or as pleasant as life could be for any Jew growing up in the terrible climate of anti-Semitism that pervaded the Ukraine of the 1800s. At the time of Boris’s birth, Russia was under the severe, autocratic rule of Tsar Nicolas II. The Ukraine, a portion of southwestern Russia with a 
population of nearly twenty million, was part of the Jewish Pale of Settlement, established by Catherine the Great in 1791. Nearly two million Jews inhabited this area, and few were allowed to move “beyond the Pale.” By the mid-1800s the prevailing attitude of Russians toward their large Jew- ish population was intensely hostile. A long history of persecution made the Jews easy prey for mass hysteria whipped up by the government; Jewish eco- nomic success and land ownership was a threat to many Russians, who claimed that the Christian population was being exploited. Rumors circulated that Jews used the blood of Christian babies in their religious ceremonies. In 1881, under the rule of the reactionary Tsar Alexander III, the wave of ha- tred broke. The first of a vicious series of pogroms occurred in southern Rus- sia. Jews were assaulted in the streets, robbed, raped, and murdered. The pogroms spread, and in 1882 the Tsar ordered anti-Jewish tribunals, ultimately passing the notorious “temporary” May Laws. These forbade Jews within the Pale to leave their villages, and forced multitudes of other Jews into the dense, overcrowded cities. Existence for the average Jewish family was at 

best a struggle. The situation grew increasingly grim, with little hope of im- provement. The Russian authorities were pressing Jews to emigrate, and Jews were anxious to leave. America was now the promised land.  It was in the midst of this tumult that Boris Sidis grew up, though his own town, Berdichev, had not suffered a pogrom. As a handsome, healthy, intense teenager, Boris had already developed the values that would guide his life—a hatred of ignorance and tyranny, a passion for learning and teaching. His friends nicknamed him “The Little Father.” Although it was strictly against the law, at sixteen Boris organized a small group of friends and embarked on his first mission—teaching peasants to read. Compared to the Russian population as a whole, the Jewish literacy rate was high, but not high enough for these idealistic boys, who were willing to as- sume a great risk in the service of their ideals. When Boris was seventeen he and his friends enrolled in a preparatory school—the equivalent of junior col- lege—in Keshnev, south of their hometown. There they continued teaching peasants, trekking to the countryside every Sunday afternoon. 
After only three weeks in school, their rooms were raided by Tsarist police. Their landlady, sympathetic to their work, heard of the raid in advance and burned all the books she could find in Boris’s room, destroying anything else that might implicate him. To no avail. The twelve boys were arrested. Two were hanged as an example to the others. Nine were marched barefoot in the snow to Siberia. Boris, who was discovered to be the leader, was clapped in a dun- geon. The governor of Keshnev released Boris for one night, and wined and dined the fiery-eyed dissident in his own home. Offered freedom if he would confess the details of his “plot,” Boris insisted that there was no plot to confess. He was returned to his shackles, to solitary confinement and torture. His cell was body-sized, and he was unable to recline except with his knees pressed against the wall. He spent the next two years in this cell. He was al- lowed neither books nor paper and pencil—he lived in a total vacuum. This utter emptiness, which would have driven an ordinary man insane, had an ex- traordinary effect on Boris. These vile years gave him something precious. He 
owed to them, he said, his courage and his ability to reason. By concentrating on ideas, he left his bodily anguish behind. He later regarded it as one of his greatest creative periods. He could not be broken, because in his stinking, wretched cell he had learned to think. For two years, Moses Sidis had fought desperately to get his son paroled. He finally struck a deal with the authorities: If Boris agreed never again to leave his hometown, to report regularly to parole officers, and to renounce all educa- tion as teacher or student, he would be freed. On these conditions, Boris was released from solitary confinement and returned to Berdichev. The conditions of his release, primarily the edict against learning, were agony to Boris. He prevailed upon his father to help him escape from Russia. The arrangements were made, and two other boys who had been paroled and placed under house arrest made plans to leave with him. Many Russians be- lieved the rumors that the streets of America were paved with gold. Young Boris was probably not so gullible. He believed, more likely, in other rumors: that in America, jobs were abundant; that all immigrants were welcomed with 
open arms; and that if one worked honestly and hard, a life of plenty was there for the taking. In 1886, Boris and two friends took the usual immigrant route out of the Ukraine. They crossed the Austro-Hungarian border illegally, traveled by train to Vienna and from there to Hamburg. There they boarded a ship that would take them to New York City. Few immigrants had a clue to the horror of the voyage ahead. The sheer misery of the trip, with people herded together in filthy steerage compartments, could last anywhere from three to fourteen weeks. Awaiting the frayed and weary immigrants was Castle Garden. A huge, cir- cular fort on the lower tip of Manhattan, it had been built in 1811 and used as a theater in the 1850s—such greats as Jenny Lind and Lola Montez performed there. Now, in 1886, it served as the main port of entry for throngs of immi- grants. After passing the interrogations of customs officials, Boris and his friends were released into the maw of New York City. At that time, the Lower East Side 
had an estimated 522 inhabitants per acre. Some areas were more crowded than the worst parts of Bombay. Its tenements were infamous. The most pro- found shock to greet the immigrants was the noise, the chaos, the pushing and shoving, the hurry and intensity of the Lower East Side, where four thousand people lived in a single block. For a peasant who had never been in a busier spot than the market square of his village, it was a far cry from the America of his dreams. Like most Jews, Boris found his way to the Lower East Side, where he rent- ed a room for less than five dollars a week. In one respect at least, Boris was far more fortunate than the average immigrant: He and his two friends had sev- eral hundred dollars between them. Only a small percentage of immigrants en- tered with over twenty dollars—the average was eight dollars—and many had nothing at all. With no money, and not a word of English at their command, New York was a terrifying shock. The harshness of life on the Lower East Side was combined for most immigrants with a feeling of profound dismay that life in the land of the free was, in many ways, as difficult as life in Russia had been. 
Boris, at least, was able to get his bearings, free of the necessity to find work immediately. His first job was with the Singer Sewing Machine Company at five dollars a week. The average working day in a sweatshop or factory was thirteen hours; for many it was more. Conditions were grim. Boris Sidis was poor at manual labor, and he kept his factory job for only a week. He stretched the money for two weeks, subsisting on a diet of herring (a herring could be bought for a penny or two) and stale black bread (two cents a pound). Boris escaped misery and despair by feeding his mind. He spent his every free moment in the public library. His wife later wrote, “This was Boris’s idea of a good life.” After a mere four months in America, he learned to speak and write English. His next job was in a New Jersey hat-pressing factory. By now he had formulated a plan: Work one week, study for two weeks. After a few months of living by this plan, Boris made a crucial decision. He moved to Boston. The slums were nearly as bad, the jobs paid no better, but for Boris it had a kind of glamour. He had heard that Boston was the American city where the mind was 
most revered, the city where intellect thrived. Boris Sidis arrived in winter and rented a room for one dollar a week, a room so frigid that a glass of water left out overnight turned to ice. But Boris was happy. “When I first set foot in the Boston Public Library,” he said, “I felt as though the gates of heaven had opened to me.” Boris Sidis was enthralled with his life centered around the library. At first, he followed his “Work one week, study for two weeks” program, and found time to write, publishing his first article in the Boston Transcript. Then, once he had mastered English, Boris’s landlord suggested he tutor young Russian immigrants. His students paid him for an hour in the evening, but usually they all talked late into the night, until the last streetcar had run, and then walked happily home with their brimming minds. During that first freezing winter, Boris had only the light coat he’d brought from Russia. In desperate need of winter clothes, he entered a shop near his home run by a Russian tailor. The cheapest coat was too expensive for Boris, but the men fell to chatting. The tailor revealed his single burning ambition, 
which he thought impossible to achieve. He wanted to learn to read in order to study Spinoza. A bargain was struck: Boris taught the illiterate tailor to read Spinoza, and that winter he kept warm in a heavy coat.  Sarah Mandelbaum was born on October 2, 1874, in Stara Constantine, a small but prosperous village in the southern Ukraine. Her mother, Fannie Rich, had been the village beauty, and at fourteen she married a sixteen- year-old student, Bernard Mandelbaum. In keeping with Russian custom, Fan- nie and Bernard lived with their parents until Bernard finished school and start- ed a business as a grain merchant. Bernard’s business was moderately suc- cessful. Fannie had fifteen children and three miscarriages. Sarah was the fifth child, and at the age of five was already helping her older sister, Ida, with household tasks. Her father built a footstool for Sarah to stand on while she made the beds and dusted. Worn down by childbearing, Fannie did no housework. She was, in Sarah’s words, “a pet.” And thus, by the age of eight, Sarah was doing all the housecleaning while Ida did the cooking. The two girls tended their younger siblings full-time, calling them “our babies.”
Then, as a present, Sarah’s father gave her a sewing machine, and soon she was making all the family clothes. So she could help him with his accounts, he taught her to add, subtract, and multiply. Sarah didn’t seem to resent all the burdens placed upon her. Her parents never spoke a harsh word, nor did they punish their large brood in any way. And Sarah noticed that if she treated “her babies” gently and kindly, they obeyed her properly. The first seeds of a philosophy of child rearing were thus taking root. Suddenly, when Sarah was thirteen, her orderly, busy life was turned topsy- turvy. Until then, her family had been spared the assaults of the vicious pogroms. But one ugly day in 1887, a band of thugs attacked the household. Bernard Mandelbaum stood in his doorway wielding a pitchfork and shout- ing to his children, “Run! Escape! Fly!” The robbers overpowered him, caving in his front teeth. Fannie was knocked unconscious, and the baby she held in her arms was picked up and dashed to the floor. It was killed instantly. 
Sarah, Ida, and their brother Harry ran out the back door and into snow- covered fields. They found a nearby brickyard, crawled into the warm oven where bricks had been baking, and fell asleep. The robbers stole everything, and partially razed the house. All that Bernard Mandelbaum had struggled so hard for had been destroyed. He drew his fam- ily around him and announced, “We must leave a country where such things can happen.” He could raise only enough money for two to go to America. According to Sarah’s unpublished memoirs, Bernard said, “I will take Sarah with me, she is the brightest.” It was left to Ida and her grandparents to take over the rest of the housekeeping chores and the care of her mother and six brothers and sis- ters. Bernard and Sarah traveled to Germany, where they planned to board a ship for New York, but as they were about to embark, they discovered they had only enough money for a fare and a half. Sarah was too old to travel half fare. Bernard saw no solution. “We must go back to Russia and wait until we 
can raise more money.” Sarah, not to be daunted, pleaded with the captain of an English ship, who finally let her board for half fare. Once on board, she was overcome with antici- pation. “We are going to America, where I can learn everything!” Had she remained in Russia, she reflected, her fate would have been to marry the jeweler’s son who had courted her, and by the time she was twenty, “there would have been nothing for me for the rest of my life except an endless grind of chores, childbearing, housework, living in ignorance, and eventually a premature death. This was the lot of all Russian women.” Certainly, she would escape her mother’s lot in life. It was on the boat that she made her momentous decision: “In America I will become a doctor…. The most outrageously improbable thing for me to be- come, the goal furthest from my reach in Russia.” When the boat landed at Castle Garden, Bernard had fifty cents in his pock- et and two tickets for the Fall River Line to Boston. But to disembark, he would have to show sufficient money to prove that he and his daughter would not be 
destitute. Bernard borrowed the money from other immigrants on the vessel, returning it after he and Sarah had safely passed customs. Armed with a letter of introduction to a friend of a friend, they took the overnight steamship to Boston. Their host took the weary travelers in, put them up for three weeks, and would not accept payment. This same benefac- tress bought Sarah a corset, made her throw away her peasant scarf, and re- placed it with a hat. After this immigrant rite of passage was completed, Sarah got her first job, sewing buttons on jackets twelve hours a day, for three dollars a week. Working conditions in the sweatshops of Boston’s North and West ends were somewhat less severe than in New York; nonetheless, Sarah was crammed into a small, filthy room without sunlight or fresh air with ten other laborers. Sarah recalled her first year in America as the worst year of her life. Her fa- ther got a job as a garment presser. Eventually, their combined salaries grew to fifteen dollars a week. Saving every penny, they were able to bring Ida over in a year. The next year they struggled to bring the rest of the Mandelbaums to 
America. Sarah next got a job with the Singer Sewing Machine Company, glad of her previous experience with her sewing machine. She worked a ten-hour day, going to customers’ houses and teaching them to use their new machines. As a money-saving scheme, she made this rule for herself: If the distance between customers was under two miles, she would walk and save the three cents car- fare, an economy measure employed by many immigrants. Two years after her arrival in America, Sarah’s whole family was reunited in Boston. Bernard opened a homemade candy and ice cream store, and everyone in the family (except, of course, Fanny) worked. Sarah now had a job as a seamstress in an expensive dress shop. Sarah and Ida still did all the cooking and cleaning. But even with all this activity, their thirst for knowledge was unassuaged. For a small fee, they per- suaded two Russian immigrant college students to tutor them in reading and math. Both tutors fell in love with Sarah. She did not reciprocate the boys’ feel- ings, and dissolved the class. She was suspicious of marriage, and had had 
enough of raising children and cleaning house. In 1891, when she was seventeen, she heard of a young man reputed to be a genius who made his living teaching English at one dollar for three lessons. “I cannot afford three lessons a week,” thought Sarah, “but perhaps he will give me two for sixty-five cents.” And so Sarah began to study with Boris Sidis. She was awestruck by him. He seemed to her infinitely wise, learned, and kind. Two evenings a week they met and studied; afternoons they met on the Boston Commons and talked for hours about their plans and aspirations. Under Boris’s tutelage, Sarah nurtured her dream of becoming a doctor. Medical school was the favorite ambition of European immigrants, and the schools’ tuition fees were payable in installments, bringing the dream within reach of a dedicated few. Still, in 1891, only a few dozen European immigrants had become doctors in New York, and none of them were women. When Boris suggested Sarah go to college, it was all the impetus she need- ed to formulate a plan. She would take night classes for two years, get her high 
school diploma, and enter the Boston University School of Medicine. But when the perky, pigtailed seventeen-year-old approached the admissions director of a Boston high school she was met with an unexpected and stern rebuff. She was told, “You are being absurd. You have never been to primary school or high school, and you expect to graduate in two years! It is ridiculous, and we cannot admit you. Nobody has ever done it.” Cowed, Sarah told Boris of her humiliation. Boris replied, “Maybe it is bet- ter this way. You can take the New York state board examinations for high school students in three weeks. Pass them, and you won’t have to go to high school.” Sarah, who knew little math, despaired of learning algebra and geometry in three weeks. But Boris remained confident. He asked her for twenty-five cents, and purchased a secondhand Euclid. He explained the first five theorems in geometry, then said, “Use your good mind to work out the rest of them just as Euclid did. Don’t try to memorize. Just try to understand, and then you can’t help remembering.” 
She propped Euclid up above the sink, and studied while she washed the dishes. Sarah was severely ridiculed by her family, with the exception of her sister Ida. They told her that if she took the exams she would look foolish and embarrass them. “Nobody,” they said, “does such things. Who do you think you are?” Sarah bore the insults, secure in the knowledge that Boris was her ally. She quit her job at Singer and went to New York on the same Fall River Line that had originally brought her to Boston. For one dollar a friend let her sleep on a cot in her room during the week of the tests. When Sarah returned home, she was ridiculed further. But soon she re- ceived her test results—and she had passed with honors. Now more confi- dent, she began to study Latin and physics for her Boston University School of Medicine exams. Meanwhile, Sarah urged Boris to attend Harvard University. Boris refused, saying, “What can they teach me? They will enmesh me in scholastic red tape.” “What good is being the most brilliant man in the world,” Sarah replied, “if 
you meet only the four walls?” Sarah persisted. And soon Boris was enrolled in Harvard as a special stu- dent, taking physics, Latin, economics, and philosophy. While Boris never got over his hatred of “bureaucratic red tape,” he fell in love with the rich intel- lectual life of Harvard, and in 1892, Harvard was a glorious place to be. It was the heyday of the long reign of President Charles William Eliot, a vigorous and controversial man of legendary accomplishments, including the appointment of a stellar group of intellectuals to his faculty—a group who would become Boris’s teachers. Foremost among these was the philosopher /psychologist / scientist William James, who was to figure heavily in the Sidises’ lives. James, then fifty years old, was intense and energetic. He had overcome youthful years of se- vere depression and was in his prime as full professor of philosophy. His work was being read, and hotly debated, throughout America and Europe. In addition to his philosophy course he offered a course in psychology. The birth of the American movement in psychology was taking place at 
Harvard in the eleven rooms of the Psychological Laboratory founded by James in 1891. It was the first of its kind in America. There was no psychology depart- ment as such—students drawn to this novel and experimental field came large- ly from the science and philosophy departments. Not all of James’s students appreciated their mentor’s psychological leanings. Morris Raphael Cohen, who went on to become a Harvard philosophy professor, wrote, “I could not… share James’ psychologic approach to philosophy. His psychologic expla- nations of necessary truth did not seem to me to bear on their logical nature.… Our intellectual disagreements were often violent.” Yet, like so many of James’s students, Cohen found him “a never-failing source of warm inspiration” and “a trusted counselor in all my difficulties of health and finance.” The California-born philosopher Josiah Royce, recruited for Harvard by James, fit perfectly the stereotype of the philosopher. Pudgy, quiet, learned, and diligent, his disorderly appearance caused students to mistake him for the jan- itor of Sever Hall. Royce and James remained intimate associates for years, though their views were quite different and they argued frequently. Together 
these two formed the cornerstone of the Harvard psychology “department,” drawing recognition of American philosophy from Europe. While Boris took his first courses at Harvard, Sarah worked as a waitress in a resort hotel in the White Mountains. To her surprise, Boris appeared one day on her doorstep. He confessed that he had fallen in love with her at first sight, and had always suffered taking her money. “But,” he said, “I thought that if I did not take it, you wouldn’t come back, and I would never see you again. Please come home. I can’t sleep. I can’t go home without you.” Sarah returned to Boston with Boris, and they decided to marry, but not immediately. Sarah’s family disapproved of Boris, a poor student with no money and no interest in making any. And when it came to money, Boris was adamant. He told his bride-to-be, “Making money and living the life I want to live don’t go together. No man can read and study and think and write deeply and honestly, and think about mak- ing money. I promise you this, we won’t have any.” “Don’t ever worry about it,” Sarah insisted. “I can live on very little. I can 
make you silk shirts out of cheap remnants. I can take care of myself. A lack of money will never bother us.” According to Sarah, her irate mother secretly approached Boris, saying, “Look, why don’t you leave Sarah alone? Why do you bother her? What can you offer her, a penniless student like yourself? Leave her alone, for there are young men who want her in marriage who can bring her a nice, easy life.” Without vis- ible rancor, Boris replied, “Let’s let Sarah decide that.” To Sarah he said only, “Your mother does what she thinks is best for you.” Sarah entered Boston University School of Medicine in 1892. A skinny girl in pigtails (her friends nicknamed her “The Toothpick”), she barely looked eighteen—her parents had to go to the school and swear she was of age. Her first semester’s tuition was forty dollars, which she had to borrow from a rabbi friend of Boris’s; she couldn’t raise the money for the second semester, so she went to the dean and requested a leave of absence until she had earned the necessary funds. The dean had heard of her industry and gave her a schol- arship on the spot. She never paid tuition again. 
But even without that expense, it still cost Sarah no small effort to support herself. She worked as a waitress in the school cafeteria in trade for her lunch- es, and as a nurse two nights a week. Her nursing shift was twelve hours straight, and after staying up all night she still managed to drag herself to classes the next day. In addition to her work and studies, she cleaned her par- ents’ house every Sunday. Never timid, Sarah pluckily approached Boris’s philosophy professor, the revered Josiah Royce. She asked him to use his influence to get Boris to enroll in Harvard for a degree. Though Boris was enjoying life as a special student, and had received superb grades, he was reluctant to enter school officially—as Sarah put it, “attaching degrees to learning annoyed him.” But in the end he did enroll, and that pivotal year he studied psychology, ethics, and philosophy with a pantheon of stimulating minds. If Boris was pleasantly surprised by Harvard, Harvard’s professors were astounded by the fiery young Russian. Once again, Sarah pressured Boris, urging him to speak to his teachers to 
see if he could graduate Harvard in two years instead of the normal four. The faculty did her suggestion one better—Boris was graduated in one year, magna cum laude. As usual, he had received all A’s. That Christmas vacation Boris and Sarah slipped off quietly to Providence, Rhode Island, where they were married by a judge. After a week’s honeymoon in Providence, they returned to Boston and to their life of learning. The following year, Boris received a fellowship through the J. P. Morgan Fund. He was given $750, and this, combined with his teaching and Sarah’s earnings, was just enough to support the young couple. They rented two cheap attic rooms. They bought day-old bread and drank black coffee, joked about whether they would ever be able to afford cream. And every Sunday afternoon the impoverished young couple entertained. They hosted scores of students and revered teachers who came to discuss philosophy and psychology. The most renowned of them all, William James, frequently climbed the many stairs to their attic. “Pray tell me,” James would gently ask Sarah, “how can two people who are 
so poor be so happy?” At the turn of the century, the field of psychology was still in a primitive state. In Europe, Sigmund Freud was gaining a small reputation among scien- tists, but lay Americans had never heard of him. The French psychologist Pierre Janet then dominated the field. Janet, taking the banner from his own teacher, Jean-Martin Charcot, was making inroads in “mental medicine” that were read of and admired intensely by the Boston group. (In years to come, Boris Sidis would be dubbed “the Janet of America” for his pioneering studies in hypnosis and mental illness.) None of the eager Bostonians gathered in the Sidises’ attic could have guessed that a bitter feud would soon split the bud- ding American psychoanalytic community into angry factions. Those Sunday afternoons in the Sidises’ attic were more than stimulating to the participants—they were to lay the cornerstones of American psychology. The guests experimented on each other with cards, numbers, squares, and pat- terns to study the effects of suggestion. And they hypnotized each other. One afternoon James and Boris 
hypnotized one of the students, and James gave the boy this command: “Be- have as Mr. Sidis does.” Immediately the hypnotized student jumped up, went to the tiny closet that was Sarah’s kitchen, lit the kerosene stove, and put the kettle on. “You will have tea, won’t you? Everybody wants tea, don’t they?” he asked. The guests roared with laughter—the boy was Boris to perfection. The aim of these studies and experiments was to understand the previously unexplored subconscious, or what Sidis and James called “the subwaking mind.” Under what conditions is the mind most suggestible? Could long-lost memories be recovered? Did suggestions given to a patient in a hypnotic trance last? And could this hypnotic state—which Sidis called “the hypnoidal state”—be used in healing mental and physical ills?  Boris had gained sufficient reputation at this point for a representative of the Tsar who was visiting Boston and being entertained by James to offer the expatriate full permission to return to Russia with a college position, labora- tories, and research facilities placed at his disposal. Boris refused angrily, preferring to be poor and free in America over returning to Russia under even 
the best of conditions. He had lost the overcoat made by the tailor who loved Spinoza, and James and Harvard’s philosophy professor Herbert Palmer were disturbed to see their prize student coming to classes without a proper coat in the freezing Bos- ton winter. James told Boris, “Look, you know I have a little money of my own, and I don’t spend all they pay me at Harvard, so that I have a small fund to help students. Let me loan you two hundred dollars and you can repay me without interest when you begin to make money. Get yourself an overcoat.” Boris replied hotly, “I don’t need any money, and there are students here who do. Also, there are other students who want to come to Harvard who don’t be- cause they can’t pay the tuition. Loan your money to them. They need it. I don’t.” James reported his lack of success to Palmer. Palmer, a master of discreet benevolence who had helped countless poor students through Harvard, replied, “Ha, you tried to loan him too much. I’ll make it a smaller amount, and he’ll take it.” To Palmer’s dismay, Boris refused his money too. Palmer later 
told Sarah he had never met a man so proudly independent and so little con- cerned by the lack of material things that most people consider necessities.  The years 1896 and 1897 were important years for the Sidises. Boris taught Aristotelian logic for Royce at Harvard and published his second article, “A Study of the Mob,” in the Atlantic Monthly. His third, “The Study of Mental Epidemics,” was published in Century Magazine, for which Boris was paid one hundred dollars, a good deal of money at the time. As if this were not enough for a man who only a few years before had ar- rived as a political exile, something still more exciting occurred. Sarah recalled the incident fifty years later: “Boris came up the stairs into the apartment. He seemed all excited. ‘James called me into his office today,’ he said. I knew that Boris and James were great friends and saw each other constantly, so this bit of news didn’t impress me very much. “ ‘Well, go on,’ I said. ‘What did he say?’ “ ‘He wants me to see Teddy Roosevelt. I walked into James’s office. He 
made me sit down. He said he and Palmer and Royce had had a long talk about me. First, James asked me what my plans were after I got my degree. I told him that I had applied for several teaching positions in the West and the South. He said, “You don’t want to teach. You’ll get in a rut. Look at me—I’m in a rut. I have too little time to study, I’m not contributing anything to the world. We can’t have this happen to you. I’m going to give you a letter to Teddy Roosevelt. He’ll only be in New York for a short time before he goes to the White House.” ’ ” Roosevelt was then governor of New York, and neither Boris nor Sarah knew what to expect of the meeting, or what the possibilities were. Never- theless, Boris soon left for Albany, and, presenting a letter from James, re- quested a fifteen-minute interview with the governor. The men talked for two hours, and Roosevelt, delighted with Boris, urged him to stay on in New York where he, Roosevelt, would find a position for him. Despite Boris’s protests that he had work to attend to in Boston, Roosevelt persuaded him to remain. The New York State legislature had just formed a novel department, a 
Pathological Institute that was intended as an annex to the state hospital sys- tem, providing “instruction in brain pathology and other subjects for the med- ical officers of the state hospitals.” The institute experimented with patients from state hospitals for the insane, and later on treated private patients. An innovative, brilliant physician, Dr. Ira van Gieson, was appointed director. He selected Boris as one of his staff of specialists, and, in 1896, work at the insti- tute began in earnest. An appropriation of fifty thousand dollars was made by the state, and a laboratory was set up on the top floor of New York’s new Metropolitan Building—a far cry from the New York of slums and sweatshops Boris had known only a few years before. Boris’s appointment was greeted with some disdain by New York profes- sionals, who thought that at twenty-nine he was too young. Furthermore, he had neither an M.D. nor a Ph.D. Boris had received his B.A. when he was twen- ty-three, a year after entering Harvard, and his M.A. when he was twenty-four, scoffing at both—he regarded them as meaningless, these pieces of paper so universally coveted and struggled for. To Boris Sidis, degrees were never the 
proper symbols of a man’s accomplishments. Then, while Boris was in New York, Harvard requested that he submit a thesis for his Ph.D. His professors suggested The Psychology of Suggestion, the brainchild over which he had been slaving. He refused vehemently—no school, not even Harvard, was going to get credit for his work. When they real- ized he was refusing to submit this or any other thesis, the university officials relented, asking him to come to Boston for an oral examination. Boris again declined. “Red tape! Red tape!” he ranted. “Letters! What do they mean!” Again, Sarah appealed to Professor Royce. “I’ll meet with the faculty and discuss it,” Royce replied. Harvard mailed Boris his Ph.D. in June, waiving all ordinary formalities. James told Sarah, “They wouldn’t do this much for me…. If they call me a ge- nius, what superlative have they saved for this husband of yours?” Meanwhile, Sarah too had taken a degree: She was one of a handful of women to graduate from medical school before the turn of the century. As soon as she had graduated she joined Boris in New York. Though they missed 

their circle of friends in Boston, Boris kept in touch with James, and besides, his work at the institute was absorbing. He was perfecting his hypnosis for hysterical patients, putting the finishing touches on his first book, and evolving new theories of treatment. And Sarah was pregnant. Certainly, it seemed, Boris was destined to be famous, to have a name that would make headlines. But it was their baby boy, born on April Fool’s Day, 1898, who would completely eclipse his father both in fame and notoriety. 

lunes, 26 de noviembre de 2018

Thessalonians 5:16-18


1 Thessalonians 5:16-18 New International Version (NIV)

16 Rejoice always, 17 pray continually, 18 give thanks in all circumstances;for this is God’s will for you in Christ Jesus.

zen consultora

Blogger Widgets

Entrada destacada

Platzy y el payaso Freddy Vega, PLATZI APESTA, PLATZI NO SIRVE, PLATZI ES UNA ESTAFA, Platzy and the Clown Freddy Vega, PLATZI SUCKS, PLATZI IS A SCAM

  Platzy and the clowns Freddy Vega and Cvander – Part 1, PLATZI IS A SCAM Hello friends, this post will keep growing as I continue writing...