text:
Berberine prevents the apoptosis of mouse podocytes induced by TRAF5 overexpression by suppressing NF-κB activation
Feng Wu
Dong-Sheng Yao
Tian-Ying Lan
Chen Wang
Jian-Dong Gao
Li-Qun He
Di Huang
Affiliations: Department of Nephrology, Shuguang Hospital of Shanghai University of Traditional Chinese Medicine, Shanghai 201203, P.R. China, Shanghai Key Laboratory of Traditional Chinese Clinical Medicine, Shanghai University of Traditional Chinese Medicine, Shanghai 201203, P.R. China
Published online on: November 7, 2017 https://doi.org/10.3892/ijmm.2017.3236
Berberine (BBR) has previously been found to exert beneficial effects on renal injury in experimental rats. However, the mechanisms underlying these effects are not yet fully understood. Tumor necrosis factor (TNF) receptor-associated factor 5 (TRAF5) has been demonstrated to mediate the activation of nuclear factor-κB (NF-κB), which has been implicated in the pathogenesis of chronic kidney disease (CKD). The aim of this study was to investigate the effects of BBR on kidney injury and the activation of the NF-κB signaling pathway in mouse podocytes. TRAF5 was found to be overexpressed in patients with CKD and chronic renal failure (CRF) (data obtained from the dataset GSE48944, as well as from patients at Shuguang Hospital). TRAF5 overexpression significantly inhibited cell viability and induced the apoptosis of mouse podocytes. However, BBR prevented the decrease in cell viability and the apoptosis induced by TRAF5 overexpression. The NF-κB inhibitor, caffeic acid phenethyl ester (CAPE), mimicked the protective effects of BBR, as evidenced by the increased expression of nephrin and podocin, and the decreased the expression of caspase-3 and the ratio of Bax/Bcl-2. Moreover, BBR prevented the decrease in cell viability decrease and the apoptosis induced by TNF-α, interleukin (IL)-6 and lipopolysaccharide (LPS). Taken together, our data indicate that BBR exerts protective effects against CRF partly through the TRAF5-mediated activation of the NF-κB signaling pathway in mouse podocytes.
Chronic renal failure (CRF) is considered the most severe outcome of chronic kidney disease (CKD) and is defined by a glomerular filtration rate (GFR) persistently below 15 ml/min/1.73 m2, and represents the end-stage of CKD requiring treatments, such as dialysis or transplantation. Cardiovascular disease and infection are two most frequent causes of death in patients with CRF (1). There are also other causes of death for such patients, which vary and these include cancer, cachexia, death attributable to social factors and other unknown causes (1–3). Kidney failure results in a decline in renal function, as evidenced by neurohumoral and metabolic abnormalities and the accumulation of damaging molecules, metabolic acidosis, electrolyte abnormalities and volume overload. Large observational databases have identified many hypothesis-generating risk factors for mortality in CRF (1,4). Despite some novel biomarkers which have been implicated in the risk of mortality (5), their effects on outcomes when used for therapeutic decisions have been insufficiently identified.
Berberine (BBR), the major pharmacological constituent of Coptis chinensis, is a type of isoquinoline alkaloid used as a therapeutic agent in the treatment of cancer, bacterial infections, diabetes, and cardiovascular and inflammatory diseases (6–8). Furthermore, accumulating evidence suggests that BBR can effectively inhibit cell proliferation and induce apoptosis, and that it has antioxidant properties (9,10). Therefore, the present study aimed to examine the effects of BBR on the proliferation and apoptosis of mouse podocytes.
Tumor necrosis factor (TNF) receptor (TNFR)-associated factors (TRAFs) were originally identified as signal-transducing molecules for TNFR, but have also been linked to downstream signaling via other receptors, such as interleukin (IL)-1 receptor (11,12). To date, 7 members of the TRAF family have been described. TRAF2, TRAF5 and TRAF6 have been demonstrated to mediate the activation of nuclear factor-κB (NF-κB) by interacting with the mitogen-activated protein kinase (MAPK)/extracellular signal-regulated kinase (ERK1/2) pathway, the TNF-β-activated kinase, or the atypical protein, thus being implicated in the regulation of cell death and cellular responses to stress (13,14). The TNF-α-induced activation of NF-κB has been shown to be severely inhibited in murine embryonic fibroblasts (MEFs) derived from TRAF5 knockout mice (15). Moreover, it has been reported that the TRAF5-induced activation of NF-κB is involved in glioma cell migration and invasion (16). However, whether the TRAF5-induced NF-κB activation is involved in proliferation and apoptosis remains unknown.
In the present study, we examined the effects of BBR on mouse podocyte viability and apoptosis. We found that BBR prevented the induction of cell apoptosis induced by TRAF5 overexpression in mouse podocytes by suppressing NF-κB activation. Therefore, our results suggest that BBR plays an important role in the proliferation and apoptosis of mouse podocytes, and thus TRAF5 may be a potential therapeutic target in CKD.
Bioinformatics analysis
The array expression data of TRAF5 for 13 patients with CKD and 12 healthy controls were downloaded from the NCBI Gene Expression omnibus (GEO, http://www.ncbi.nlm.nih.gov/geo/) and are accessible through GEO Series accession no. GSE48944 (17), following the approval of this project by the consortium.
Patient samples
Serum samples were obtained from 30 patients with CRF and 30 healthy controls admitted to Shuguang Hospital, Shanghai, China. Ethical approval for the study was provided by the independent ethics committee, Shuguang Hospital of Shanghai university of Traditional Chinese Medicine. Written informed consent was obtained from all participants in this study. None of these patients had received radiotherapy or chemotherapy prior to obtaining the samples.
Mouse podocytes were obtained from the the BeNa Culture Collection (cat. no. BNCC100668; Beijing, China) and cultured in RMPI-1640 supplemented with 10% fetal bovine serum, 10% penicillin-streptomycin solution and 10 u/ml interferon-γ (IFN-γ), and incubated in a humidified atmosphere at 33°C with 5% CO2. Following culture for a period of time, the podocytes were cultured in the above-mentioned medium without 10 u/ml IFN-γ and incubated in a humidified atmosphere at 37°C with 5% CO2 for 10–14 days.
Induction of TRAF5 overexpression in mouse podocytes
pLV-IRES-eGFP, psPAX2 and pMD2G were obtained from Addgene (Cambridge, MA, USA). Commercial TRAF5 expression vectors were obtained from Genewiz Biotechnology (Suzhou, China). The TRAF5 expression sequence was cloned into the pLV-IRES-eGFP lentiviral vector. The blank pLV-IRES-eGFP lentiviral vector used as the negative control (NC). 293T cells (ATCC, Manassas, VA, USA) were seeded in 60 mm culture dishes, and after 24 h, they were co-transfected with 2 μg of the plasmid vector, 1 μg pLV-IRES-eGFP-TRAF5/ pLV-IRES-eGFP, 0.1 μg psPAX2 and 0.9 μg pMD2G using Lipofectamine 2000 (Invitrogen, Thermo Fisher Scientific, Inc., Waltham, MA, USA) according to the manufacturer's instructions. The recombinant lentivirus was collected 48 h after transfection and used to infect the mouse podocytes.
Cell treatment
Following the induction of TRAF5 overexpres-sion in mouse podocytes, the mouse podocytes were treated with various concentrations of BBR (10, 30 and 90 μM; Sigma-Aldrich, St. Louis, Mo, USA) and cell viability was measured by CCK-8 assay to obtain the optimal concentration of BBR. To examine the effects of BBR and NF-κB on cell viability, apoptosis and related protein expression, the mouse podocytes were treated with 30 μM BBR or 25 μg/ml of the NF-κB inhibitor, caffeic acid phenethyl ester (CAPE; Selleck, Shanghai, China) for 0, 24, 48 and 72 h (for cell viability assay) or for 48 h (for cell apoptosis assay). To examine the effects of TNF-α, IL-6 and LPS on cell viability, apoptosis and related protein expression, the mouse podocytes were treated with 100 ng/ml TNF-α (PeproTech, Rocky Hill, NJ, USA), 100 u/ml IL-6 (PeproTech) or 100 ng/ml LPS (Sigma-Aldrich) for 0, 24, 48 and 72 h (for cell viability assay) or for 48 h (for cell apoptosis assay) in the absence or presence of 30 μM BBR treatment.
Reverse transcription and real-time PCR
Total RNA was extracted using TRIzol reagent (Invitrogen, Life Technologies, Carlsbad, CA, USA) as previously described (18). Complementary DNA was synthesized using a cDNA synthesis kit (Thermo Fisher Scientific Inc.). Real-time PCR was performed using a standard SYBR-Green PCR kit (Takara Biotechnology Co., Ltd., Dalian, China) and an ABI 7500 (Applied Biosystem Life Technologies, Foster City, CA, USA) thermal cycler. The primers used were as follows: TRAF5 forward, 5′-CACTCCGTGCTTCACAAC-3′ and reverse, 5′-AAGGTGGTCCTGGAATCG-3′; glyceraldehyde 3-phosphate dehydrogenase (GAPDH) forward, 5′-ATCACTGCCACCCAGAAG-3′ and reverse, 5′-TCCACGACGGACACATTG-3′. GAPDH was used an internal control for normalization. The gene expression was calculated using the 2−ΔΔCq method, as previously described (19).
Cell counting kit-8 (CCK-8) assay
Mouse podocytes infected with pLV-IRES-eGFP-TRAF5 (3×103/well) were plated in 96-well plates. Following treatment as indicated for 0, 24, 48 and 72 h, 10% of CCK-8 solution (Dojindo Molecular Technologies, Kumamoto, Japan) diluted in serum-free RMPI-1640 was mixed in each well for a further 1 h. The optical density 450 nm value in each well was determined by a micro-plate reader (SM600 Labsystem; Shanghai utrao Medical Instrument Co., Ltd., Shanghai, China).
Apoptosis assay
Mouse podocytes infected with pLV-IRES-eGFP-TRAF5 infection (5×105/well) were plated in 6-well plates. Follownig treatment as indicated for 48 h, the mouse podocytes were collected and incubated with 195 μl Annexin V-fluorescein isothiocyanate (FITC) and 5 μl propidium iodide (PI) for 15 min in the dark at 4°C, prior to analysis by flow cytometry (BD Biosciences, Franklin Lakes, NJ, USA)
Western blot analysis
Mouse podocytes were seeded at a density of 5×105 cells/well in 6-well plates, cultured overnight and then treated as indicated for 3 or 48 h. Total proteins were isolated from the mouse podocytes and were subjected to 12% glyceraldehyde 3-phosphate dehydrogenase (SDS-PAGE) and electroblotted onto onto polyvinylidene fluoride membranes (Roche Diagnostics, Mannheim, Germany). The membranes were first incubated with rabbit polyclonal anti-Bax (1:300; Sc-493, Santa Cruz Biotechnology, Inc., Dallas, TX, USA), anti-caspase-3 (1:500; ab44976, Abcam, Cambridge, MA, USA) and anti-nephrin (1:500; ab58968, Abcam) antibodies; rabbit monoclonal anti-TRAF5 (1:1,000; ab137763, Abcam), anti-p-NF-κB p65 (1:1,000; #3033), anti-NF-κB p65 (1:1,000; #8242) (both from Cell Signaling Technology, Danvers, MA, USA), anti-podocin (1:10,000; ab181143, Abcam) and anti-GAPDH (1:1500; #5174; Cell Signaling Technology) antibodies; and mouse monoclonal anti-Bcl-2 (1:400; ab117115, Abcam) antibody. The blots were then incubated with goat anti-mouse or anti-rabbit secondary antibody (1:1,000; A0208 and A0216, Beyotime Institute of Biotechnology, Haimen, China) and visualized using enhanced chemiluminescence (ECL; Thermo Fisher Scientific). GAPDH antibody was used as an internal control. The blotting bands were quantified with ImageJ software (National Institutes of Health, Bethesda, MD, USA).
All data are expressed as the means ± SD and representative of experiments were carried out in triplicate analyzed with SPSS 19.0 software (SPSS Inc., Chicago, IL, USA). The unpaired, two-tailed Student's t-test and ANOVA followed by Tukey's post hoc test were used to analyze the significance of differences between groups. Differences were considered significant if the probability (P)-value was <0.05.
TRAF5 levels in the peripheral blood of patients with CKD and CRF
In order to examine the role of TRAF5 in kidney disease, we first measured the levels of TRAF5 in the peripheral blood of patients with CKD (n=13) and healthy controls (n=12) using the data from the GSE48944 database. As shown in Fig. 1, TRAF5 mRNA expression was significantly increased in patients with CKD compared with the healthy controls. Furthermore, we also detected the levels of TRAF5 in the peripheral blood of patients with CRF (n=30) and healthy controls (n=30) from the Shuguang Hospital database. As shown in Fig. 1B, similar to the data from the GSE48944 database, the mRNA expression of TRAF5 was significantly increased in patients with CRF (average, 0.756 and median, 0.726) compared with the healthy controls (average, 0.249 and median, 0.244).
TNF receptor-associated factor 5 (TRAF5) levels in peripheral blood of patients with chronic kidney disease (CKD) and chronic renal failure (CRF). (A) The TRAF5 levels in peripheral blood of patients with CKD (n=13) and healthy controls (n=12) were measured by bioinformatics analysis. (B) The TRAF5 levels in peripheral blood of patients with CRF (n=30) and healthy controls (n=30) were measured by real-time PCR. Mouse podocytes were infected with pLV-IRES-eGFP-TRAF5 for 48 h. (C) The mRNA level of TRAF5 was measured by real-time PCR. (D and E) The protein level of TRAF5 was measured by western blot analysis. **P<0.01 and ***P<0.001 vs. normal and negative control (NC).
To further examine the effects of TRAF5 on kidney function in vitro, mouse podocytes were infected with the TRAF5 overexpressionvector pLV-IRES-eGFP-TRAF5. As shown in Fig. 1C–E, the expression of TRAF5 was markedly increased at both the mRNA and protein level in the mouse podocytes infected with pLV-IRES-eGFP-TRAF5 compared with the controls. However, the podocytes infected wth the blank pLV-IRES-eGFP (NC) vector exhibited no changes in TRAF5 expression.
TRAF5 overexpression inhibits cell viability and induces the apoptosis of mouse podocytes
Following infection with pLV-IRES-eGFP-TRAF5, the mouse podocytes exhibited a significant decrease in cell viability in a time-dependent manner (Fig. 2A). After 72 h of incubation, the viability of the mouse podocytes infected with the TRAF5 overexpression vector was suppressed by 47.03±0.11% compared with the control group. However, the mouse podocytes infected with the blank pLV-IRES-eGFP (NC) vector exhibited no change in viability compared with the control. Furthermore, we also investigated the role of TRAF5 in the apoptosis of mouse podocytes. As shown in Fig. 2B and C, infection with the pLV-IRES-eGFP-TRAF5 vector increased the apoptosis (35.9±0.8%) of mouse podocytes compared with the control group (2.05±0.6%). However, infection of the mouse podocytes with the blank pLV-IRES-eGFP (NC) did not affect cell apoptosis compared with the control. These results indicate that TRAF5 overexpression is implicated in the inhibition of the viability and the apoptosis of mouse podocytes.
Effect of TNF receptor-associated factor 5 (TRAF5) overexpression on the viability and apoptosis of mouse podocytes. (A) The viability of mouse podocytes was measured by cell counting kit-8 (CCK-8) assay at the indicated time points. (B and C) The apoptosis of mouse podocytes was measured by flow cytometry. ***P<0.001 vs. negative control (NC).
BBR suppresses TRAF5 expression and prevents the inhibition of cell viability induced by TRAF5
Considering the role of BBR in renal injury in experimental rats (20), and as the the mechanisms underlying the effects of BBR are not yet fully understood, we wished to determine whether BBR also possesses a exerts an effect on TRAF5 overexpression in podocytes. As shown in Fig. 3A, BBR (10, 30 and 90 μM) treatment significantly decreased the expression of TRAF5 at both the mRNA (Fig. 3A) and protein level (Fig. 3B and C) compared with the mouse podocytes infected with the TRAF5 overexpression vector and not treated with BBR. Compared with the podocytes infected with the TRAF5 overexpression vector and not treated with BBR, treatment of the mouse podocytes with various concentrations of BBR for 48 and 72 h increased cell viability in a time-dependent manner (Fig. 3D). After 72 h of incubation, the viability of the mouse podocytes treated with with BBR (30 and 90 μM) was increased by 47.5±2.6 and 33.5±1.2%, respectively compared with the podocytes infected with the TRAF5 overexpression vector and not treated with BBR. These findings suggest that the downregulation of TRAF5 is involved in the BBR-induced increase in podocyte viability.
Berberine (BBR) suppresses the inhibition of cell viability and apoptosis induced by TNF receptor-associated factor 5 (TRAF5) overexpression. After the infection of mouse podocytes with pLV-IRES-eGFP-TRAF5, the cells were treated with BBR at the indicated concentrations. (A) The mRNA level of TRAF5 was measured by real-time PCR. (B and C) The protein level of TRAF5 was measured by western blot analysis. (D) The viability of mouse podocytes was measured by cell counting kit-8 (CCK-8) assay at the indicated time points. ***P<0.001 vs. negative control (NC); ##P<0.01 and ###P<0.001 vs. TRAF5.
BBR suppresses the NF-κB activation induced by TRAF5 overexpression
Following treatment with 30 μM BBR or 25 μg/ml CAPE for 72 h, the viability of the mouse podocytes was significantly increased by 47.9±2.8 and 52.3±3.5%, respectively compared with the untreated podocytes infected with the TRAF5 overexpression vector (Fig. 4A). Treatment with BBR or CAPE treatment for 48 h also decreased the apoptosis of the mouse podocytes by 47.8±3.9 and 46.1±2.5%, respectively compared with the untreated podocytes infected with the TRAF5 overexpression vector (Fig. 4B and C).
Berberine (BBR) suppresses nuclear factor-κB (NF-κB) activation induced by TNF receptor-associated factor 5 (TRAF5) overexpression. (A) The viability of mouse podocytes was measured by cell counting kit-8 (CCK-8) assay at the indicated time points. (B and C) The apoptosis of mouse podocytes was measured by flow cytometry. (D–G) The protein levels of TRAF5, p-NF-κB p65, NF-κB p65, nephrin, podocin, Bax, Bcl-2 and caspase-3 were measured by western blot analysis. ***P<0.001 vs. negative control (NC); #P<0.05, ##P<0.01 and ###P<0.001 vs. TRAF5.
To clarify the effects of TRAF5 on NF-κB p65 activation in vitro, western blot analysis was performed. As shown in Fig. 4D and E, the ratio of p-NF-κB p65/NF-κB p65 was significantly decreased following treatment with 30 μM BBR compared with the untreated podocytes infected with the TRAF5 overexpression vector. Similarly, CAPE (25 μg/ml), a potent and specific inhibitor of the activation of NF-κB, mimicked the suppressive effects of BBR on TRAF5 overexpression and NF-κB p65 activation in mouse podocytes. These data demonstrate that the inactivation of NF-κB may contribute to the BBR-induced protective effects on mouse podocytes.
Effect of BBR and CAPE on protein expression induced by TRAF5 overexpression
Following the infection of the mouse podocytes with pLV-IRES-eGFP-TRAF5 for 48 h, the expression of nephrin and podocin was significantly suppressed (Fig. 4D and F), while the Bax/Bcl-2 ratio and caspase-3 levels were significantly increased compared with the control group (Fig. 4D and G). However, treatment with 30 μM BBR or 25 μg/ml CAPE for 48 h suppressed the effects induced by TRAF5 overexpression on these protein expression levels in mouse podocytes (Fig. 4D–G).
BBR prevents the inhibition of cell viability and the apoptosis induced by TNF-α, IL-6 and LPS
Treatment with TNF-α (100 ng/ml), IL-6 (100 u/ml) or LPS (100 ng/ml) for 72 h significantly decreased cell viability by 48.0±3.2, 46.8±2.7 and 45.1±2.9%, respectively compared with the control group (Fig. 5A). However, treatment with 30 μM BBR markedly prevented the inhibition of cell viability induced by TNF-α, IL-6 or LPS in mouse podocytes. Moreover, treatment with 30 μM BBR also suppressed the apoptosis induced by TNF-α, IL-6 or LPS by 47.6±2.6, 43.9±3.3 and 37.7±1.9%, respectively compared with the cells exposed to TNF-α, IL-6 or LPS (Fig. 5B and C). These data suggest that BBR inhibits TNF-α-, IL-6- or LPS-induced cytotoxicity in mouse podocytes.
Berberine (BBR) suppresses the inhibition of cell viability and the apoptosis induced by tumor necrosis factor-α (TNF-α), interleukin-6 (IL-6) and LPS. (A) The viability of mouse podocytes was measured by cell counting kit-8 (CCK-8) assay at the indicated time points. (B and C) The apoptosis of mouse podocytes was measured by flow cytometry. ***P<0.001 vs. control; ###P<0.001 vs. corresponding TNF-α, IL-6 and LPS treatment alone, respectively.
Effect of BBR on NF-κB activation and protein expressions induced by TNF-α, IL-6 and LPS
As shown in Fig. 6, the ratio of p-NF-κB p65/NF-κB p65 and Bax/Bcl-2 and the expression levels of TRAF5 and caspase-3 were significantly increased by TNF-α, IL-6 or LPS treatment compared with the controls. However, treatment with 30 μM BBR markedly suppressed the effects of TNF-α, IL-6 or LPS on NF-κB activation and on the expression levels of these proteins in mouse podocytes. These results indicate that TRAF5 downregulation is implicated in the protective effects of BBR against the effects of TNF-α, IL-6 or LPS in mouse podocytes.
Effect of berberine (BBR) on nuclear factor-κB (NF-κB) activation and protein expressions induced by tumor necrosis factor-α (TNF-α), interleukin-6 (IL-6) and LPS. (A–C) The protein levels of TNF receptor-associated factor 5 (TRAF5), p-NF-κB p65 and NF-κB p65, Bax, Bcl-2 and caspase-3 were measured by western blot analysis. ***P<0.001 vs. control; #P<0.05, ##P<0.01 and ###P<0.001 vs. corresponding TNF-α, IL-6 and LPS treatment alone, respectively.
This study reports the novel finding that TRAF5 expression was increased in the peripheral blood of patients with CKD and CRF. In vitro experiments revealed that TRAF5 overexpression inhibited the viability and induced the apoptosis of mouse podocytes. We further demonstrated that BBR inhibited the negative effects of TRAF5 overexpression by suppressing NF-κB activation in mouse podocytes. These data provide novel evidence (at least to the best of our knowledge) that BBR protects mouse podocytes from the suppressive effects of TRAF5 on viability and the promoting effects of TRAF5 on apoptosis via the NF-κB signaling pathway.
It has previously been reported that soluble TRAF5 levels are increased in plasma and peripheral blood mononuclear cells from patients with Crohn's disease and ulcerative colitis (21). Other studies have implicated TRAF5 in carcinogenesis attributable to increased levels in splenic marginal zone lymphoma (22) and Hodgkin-Reed-Sternberg cells (23). Intriguingly, the TRAF5/GAPDH mRNA ratios have been shown to be significantly decreased in the blood of patients with chronic and acute coronary heart disease, supporting the notion that TRAF5 represents a protective marker in atherosclerosis (24). However, the expression of TRAF5 in patients with CKD has not yet been elucidated. To examine the hypothesis that TRAF5 may also be associated with clinical disease, we performed bioinformatics analysis and a pilot clinical study in patients with CKD and CRF. This study revealed increased peripheral blood levels of TRAF5 in patients with CKD and CRF compared with the healthy controls. As reported previously, TRAF5 knockout had no effect on the viability of MEFs, while MEFs from double TRAF2 and TRAF5 knockout mice exhibited significantly decreased cell viability compared with wild-type and single TRAF2 or TRAF5 knockout mice, suggesting a critical role of TRAF2 rather than TRAF5 in protection from cell death (15). However, as demonstrated in another study, the elimination of TRAF5 expression significantly decreased the migration and invasion of the glioma cells, and although the underlying mechanisms were not elucidated, this may have bene due to the inhibition of cell viability and apoptosis induction (16). In the present study, to examine whether the podocyte apoptosis was mediated via TRAF5 overexpression, we infected mouse podocyte with a TRAF5 overexpression vector. We found that TRAF5 overexpression significantly induced mouse podocyte apoptosis.
TRAF5 was originally identified as an activator of interleukin-induced NF-κB signal transduction via its TRAF domain. NF-κB comprises a family of transcription factors involved in the regulation of a wide variety of biological responses. It is generally accepted that NF-κB activation is responsible for apoptosis resistance (25,26). However, there is evidence to support a pro-apoptotic role for NF-κB. It has been speculated that NF-κB may have a dual function, either as an inhibitor or an activator of apoptotic cell death, depending on the levels of RelA and c-Rel (27). In this study, TRAF5 overexpression in mouse podocytes led to NF-κB activation, accompanied by an increased expression of caspase-3 and an increased Bax/Bcl-2 ratio. Within cells, there is a machinery consisting of pro-apoptotic genes (Bax) that promote apoptosis and anti-apoptotic genes (Bcl-2) that function as suppressors of apoptosis, and the balance between these genes may be a determinant of apoptosis or cell survival. Despite extensive studies in either field, there is only limited information on the role of Bcl-2 and Bax in CKD. In vivo, Bcl-2 and Bax proteins have not been detected in the kidneys during ischemia (28), whereas the overexpression of Bcl-2 can suppress the apoptosis of renal tubule cells induced by hypoxia/reoxygenation (29). Moreover, an increase in the Bax/Bcl-2 ratio by hypoxia/reoxygenation or ischemia/reperfusion injury triggers Bax translocation to the mitochondria and cytochrome c release to cytoplasm, and enhances caspase-3-mediated renal tubular apoptosis (30). Podocyte damage is a common feature in glomerular diseases with ultrastructural changes, with the reduced expression of components of the slit diaphragm, such as nephrin and podocin (31). The levels of nephrin and podocin have been shown to be significantly reduced in lupus nephritis, with these effects beginning from the earlier stages and becoming more pronounced at advanced histological forms (32). Our data reported that the expression of nephrin and podocin was significantly decreased in mouse podocytes overexpressing TRAF5.
NF-κB is activated by inflammatory cytokines and cellular stresses, including TNF, IL-1, LPS, UV or γ-irradiation. Thus far, TRAF5-deficient mice do not show substantial defects in TNF-α-induced NF-κB activation, suggesting that TRAF5 plays a redundant role in TNF-α-induced NF-κB activation (15). By contrast, TRAF5 acts downstream of ILs, including IL-1β and IL-6, and plays a key role in IL-1β/IL-6-mediated NF-κB activation during glioma migration and invasion (16). In the present study, we observed that the exposure of mouse podocytes to TNF-α, IL-6 and LPS significant decreased cell viability and induced apoptosis. More importantly, the activation of NF-κB and the increased Bax/Bcl-2 ratio and caspase-3 expression were also observed in the podocytes exposed to TNF-α, IL-6 and LPS. These findings suggest that TRAF5 induces podocyte injury, to a certain extent, through NF-κB activation induced by TNF-α, IL-6 and LPS.
Emerging evidence has indicated that BBR has multiple beneficial effects in the treatment of diabetes and cardiovascular diseases (33,34). However, the protective effects of BBR and its molecular mechanisms of action in CKD and chronic kidney injury remain to be determined. BBR has been shown to attenuate renal injury in diabetic C57BL/6 mice through the suppression of the SphK-S1P signaling pathway (35). Additionally, BBR has been shown to exert protective effects in the presence of high glucose related to the inhibition of glucose-induced apoptosis that in turn upregulates the expression of nephrin and podocin (36). In agreement with the previous study, our results demonstrated that BBR increases cell viability and inhibits apoptosis by upregulating the expression of nephrin and podocin, and downregulating the expression of caspase-3 and the Bax/Bcl-2 ratio. The NF-κB inhibitor, CAPE, mimicked the protective effecs of BBR. Moreover, the NF-κB activation induced by TRAF5 overexpression and exposure to TNF-α, IL-6 or LPS was significantly inhibited by BBR, which is in line with the findings of a previous study that BBR ameliorates intrarenal inflammation and tubulointerstitial injury, at least in part, through the suppression of the NF-κB signaling pathway (37).
In conclusion, in this study, we demonstrate that TRAF5 is overexpressed in CRF and inhibits the viability and induces the apoptosis of mouse podocytes. Treatment of TRAF5-overexpressing mouse podocytes with BBR suppressed the inhibition of viability, prevented apoptosis, decreased the Bax/ Bcl-2 and caspase-3 expression, and increased the expression of nephrin and podocin. Such effects appear to be mediated by the inhibition of NF-κB activation. Thus, BBR may play an important role in delaying the progression of chronic kidney injury by preserving renal structure and function in patients with CRF.
This study was supported by the Shanghai Three-Year Project of Traditional Chinese Medicine (nos. ZY3-JSFC-2-1026 and ZY3-CCCX-2-1003).
Ortiz A, Covic A, Fliser D, Fouque D, Goldsmith D, Kanbay M, Mallamaci F, Massy ZA, Rossignol P, Vanholder R, et al Board of the EURECA-m Working Group of ERA-EDTA: Epidemiology, contributors to, and clinical trials of mortality risk in chronic kidney failure. Lancet. 383:1831–1843. 2014. View Article : Google Scholar : PubMed/NCBI
Stengel B: Chronic kidney disease and cancer: A troubling connection. J Nephrol. 23:253–262. 2010.PubMed/NCBI
Hsu CY, Ordoñez JD, Chertow GM, Fan D, McCulloch CE and Go AS: The risk of acute renal failure in patients with chronic kidney disease. Kidney Int. 74:101–107. 2008. View Article : Google Scholar : PubMed/NCBI
Kalantar-Zadeh K, Block G, Humphreys MH and Kopple JD: Reverse epidemiology of cardiovascular risk factors in maintenance dialysis patients. Kidney Int. 63:793–808. 2003. View Article : Google Scholar : PubMed/NCBI
Ortiz A, Massy ZA, Fliser D, Lindholm B, Wiecek A, Martínez-Castelao A, Covic A, Goldsmith D, Süleymanlar G, London GM, et al: Clinical usefulness of novel prognostic biomarkers in patients on hemodialysis. Nat Rev Nephrol. 8:141–150. 2011. View Article : Google Scholar : PubMed/NCBI
Shidfar F, Ebrahimi SS, Hosseini S, Heydari I, Shidfar S and Hajhassani G: The effects of Berberis vulgaris fruit extract on serum lipoproteins, apoB, apoA-I, homocysteine, glycemic control and total antioxidant capacity in type 2 diabetic patients. Iran J Pharm Res. 11:643–652. 2012.PubMed/NCBI
Wang Y, Campbell T, Perry B, Beaurepaire C and Qin L: Hypoglycemic and insulin-sensitizing effects of berberine in high-fat diet- and streptozotocin-induced diabetic rats. Metabolism. 60:298–305. 2011. View Article : Google Scholar
Zha W, Liang G, Xiao J, Studer EJ, Hylemon PB, Pandak WM Jr, Wang G, Li X and Zhou H: Berberine inhibits HIV protease inhibitor-induced inflammatory response by modulating ER stress signaling pathways in murine macrophages. PLoS One. 5:e90692010. View Article : Google Scholar : PubMed/NCBI
Katiyar SK, Meeran SM, Katiyar N and Akhtar S: p53 cooperates berberine-induced growth inhibition and apoptosis of non-small cell human lung cancer cells in vitro and tumor xenograft growth in vivo. Mol Carcinog. 48:24–37. 2009. View Article : Google Scholar
Jiang Q, Liu P, Wu X, Liu W, Shen X, Lan T, Xu S, Peng J, Xie X and Huang H: Berberine attenuates lipopolysaccharide-induced extracelluar matrix accumulation and inflammation in rat mesangial cells: Involvement of NF-κB signaling pathway. Mol Cell Endocrinol. 331:34–40. 2011. View Article : Google Scholar
Ichikawa H, Takada Y, Murakami A and Aggarwal BB: Identification of a novel blocker of IκBα kinase that enhances cellular apoptosis and inhibits cellular invasion through suppression of NF-κB-regulated gene products. J Immunol. 174:7383–7392. 2005. View Article : Google Scholar : PubMed/NCBI
Jackson-Bernitsas DG, Ichikawa H, Takada Y, Myers JN, Lin XL, Darnay BG, Chaturvedi MM and Aggarwal BB: Evidence that TNF-TNFR1-TRADD-TRAF2-RIP-TAK1-IKK pathway mediates constitutive NF-kappaB activation and proliferation in human head and neck squamous cell carcinoma. Oncogene. 26:1385–1397. 2007. View Article : Google Scholar
Korchnak AC, Zhan Y, Aguilar MT and Chadee DN: Cytokine-induced activation of mixed lineage kinase 3 requires TRAF2 and TRAF6. Cell Signal. 21:1620–1625. 2009. View Article : Google Scholar : PubMed/NCBI
Khan KA, Abbas W, Varin A, Kumar A, Di Martino V, Dichamp I and Herbein G: HIV-1 Nef interacts with HCV Core, recruits TRAF2, TRAF5 and TRAF6, and stimulates HIV-1 replication in macrophages. J Innate Immun. 5:639–656. 2013. View Article : Google Scholar : PubMed/NCBI
Tada K, Okazaki T, Sakon S, Kobarai T, Kurosawa K, Yamaoka S, Hashimoto H, Mak TW, Yagita H, Okumura K, et al: Critical roles of TRAF2 and TRAF5 in tumor necrosis factor-induced NF-κB activation and protection from cell death. J Biol Chem. 276:36530–36534. 2001. View Article : Google Scholar : PubMed/NCBI
Tao T, Cheng C, Ji Y, Xu G, Zhang J, Zhang L and Shen A: Numbl inhibits glioma cell migration and invasion by suppressing TRAF5-mediated NF-κB activation. Mol Biol Cell. 23:2635–2644. 2012. View Article : Google Scholar : PubMed/NCBI
Ko YA, Mohtat D, Suzuki M, Park AS, Izquierdo MC, Han SY, Kang HM, Si H, Hostetter T, Pullman JM, et al: Cytosine methylation changes in enhancer regions of core pro-fibrotic genes characterize kidney fibrosis development. Genome Biol. 14:R1082013. View Article : Google Scholar : PubMed/NCBI
Wang LN, Wang Y, Lu Y, Yin ZF, Zhang YH, Aslanidi GV, Srivastava A, Ling CQ and Ling C: Pristimerin enhances recombinant adeno-associated virus vector-mediated transgene expression in human cell lines in vitro and murine hepatocytes in vivo. J Integr Med. 12:20–34. 2014. View Article : Google Scholar : PubMed/NCBI
Saha SK, Roy S and Khuda-Bukhsh AR: Ultra-highly diluted plant extracts of Hydrastis canadensis and Marsdenia condurango induce epigenetic modifications and alter gene expression profiles in HeLa cells in vitro. J Integr Med. 13:400–411. 2015. View Article : Google Scholar : PubMed/NCBI
Wu D, Wen W, Qi CL, Zhao RX, Lü JH, Zhong CY and Chen YY: Ameliorative effect of berberine on renal damage in rats with diabetes induced by high-fat diet and streptozotocin. Phytomedicine. 19:712–718. 2012. View Article : Google Scholar : PubMed/NCBI
Shen J, Qiao YQ, Ran ZH and Wang TR: upregulation and pre-activation of TRAF3 and TRAF5 in inflammatory bowel disease. Int J Med Sci. 10:156–163. 2013. View Article : Google Scholar :
Ruiz-Ballesteros E, Mollejo M, Rodriguez A, Camacho FI, Algara P, Martinez N, Pollán M, Sanchez-Aguilera A, Menarguez J, Campo E, et al: Splenic marginal zone lymphoma: Proposal of new diagnostic and prognostic markers identified after tissue and cDNA microarray analysis. Blood. 106:1831–1838. 2005. View Article : Google Scholar : PubMed/NCBI
Horie R and Watanabe T, Ito K, Morisita Y, Watanabe M, Ishida T, Higashihara M, Kadin M and Watanabe T: Cytoplasmic aggregation of TRAF2 and TRAF5 proteins in the Hodgkin-Reed-Sternberg cells. Am J Pathol. 160:1647–1654. 2002. View Article : Google Scholar : PubMed/NCBI
Missiou A, Rudolf P, Stachon P, Wolf D, Varo N, Aichele P, Colberg C, Hoppe N, Ernst S, Münkel C, et al: TRAF5 deficiency accelerates atherogenesis in mice by increasing inflammatory cell recruitment and foam cell formation. Circ Res. 107:757–766. 2010. View Article : Google Scholar : PubMed/NCBI
Su VY-F and Yang K-Y: Mesenchymal stem cell-conditioned medium induces neutrophils apoptosis via inhibition of NF-κB pathway and increases endogenous pulmonary stem cells in endotoxin-induced acute lung injury. Eur Respir J. 46(Suppl 59): OA35202015.
Arora R, Yates C, Gary BD, McClellan S, Tan M, Xi Y, Reed E, Piazza GA, Owen LB and Dean-Colomb W: Panepoxydone targets NF-κB and FOXM1 to inhibit proliferation, induce apoptosis and reverse epithelial to mesenchymal transition in breast cancer. PLoS One. 9:e983702014. View Article : Google Scholar
Chen F, Wang M, O'Connor JP, He M, Tripathi T and Harrison LE: Phosphorylation of PPARgamma via active ERK1/2 leads to its physical association with p65 and inhibition of NF-kappabeta. J Cell Biochem. 90:732–744. 2003. View Article : Google Scholar : PubMed/NCBI
Eschwege P1, Paradis V, Conti M, Loric S, Dumas F, Berteau P, Ahmed M, Droupy S, Charpentier B, Legrand A, et al: Bcl-2 and Bax expression on rat ischemic kidney. Transplant Proc. 30:2861–2862. 1998. View Article : Google Scholar : PubMed/NCBI
Saikumar P, Dong Z, Patel Y, Hall K, Hopfer U, Weinberg JM and Venkatachalam MA: Role of hypoxia-induced Bax translocation and cytochrome c release in reoxygenation injury. Oncogene. 17:3401–3415. 1998. View Article : Google Scholar
Chien CT, Chang TC, Tsai CY, Shyue SK and Lai MK: Adenovirus-mediated bcl-2 gene transfer inhibits renal ischemia/reperfusion induced tubular oxidative stress and apoptosis. Am J Transplant. 5:1194–1203. 2005. View Article : Google Scholar : PubMed/NCBI
Ikezumi Y, Suzuki T, Karasawa T, Kawachi H, Nikolic-Paterson DJ and Uchiyama M: Activated macrophages downregulate podocyte nephrin and podocin expression via stress-activated protein kinases. Biochem Biophys Res Commun. 376:706–711. 2008. View Article : Google Scholar : PubMed/NCBI
Perysinaki GS, Moysiadis DK, Bertsias G, Giannopoulou I, Kyriacou K, Nakopoulou L, Boumpas DT and Daphnis E: Podocyte main slit diaphragm proteins, nephrin and podocin, are affected at early stages of lupus nephritis and correlate with disease histology. Lupus. 20:781–791. 2011. View Article : Google Scholar : PubMed/NCBI
Lee YS, Kim WS, Kim KH, Yoon MJ, Cho HJ, Shen Y, Ye JM, Lee CH, Oh WK, Kim CT, et al: Berberine, a natural plant product, activates AMP-activated protein kinase with beneficial metabolic effects in diabetic and insulin-resistant states. Diabetes. 55:2256–2264. 2006. View Article : Google Scholar : PubMed/NCBI
Derosa G, Maffioli P and Cicero AF: Berberine on metabolic and cardiovascular risk factors: An analysis from preclinical evidences to clinical trials. Expert Opin Biol Ther. 12:1113–1124. 2012. View Article : Google Scholar : PubMed/NCBI
Lan T, Shen X, Liu P, Liu W, Xu S, Xie X, Jiang Q, Li W and Huang H: Berberine ameliorates renal injury in diabetic C57BL/6 mice: Involvement of suppression of SphK-S1P signaling pathway. Arch Biochem Biophys. 502:112–120. 2010. View Article : Google Scholar : PubMed/NCBI
Chen L, Guo W, Zhang S, Lu W, Liao S and Li Y: Berberine prevents high glucose-induced cell viability inhibition and apoptosis in podocytes. Int J Clin Exp Med. 9:5942–5950. 2016.
Wan X, Chen X, Liu L, Zhao Y, Huang WJ, Zhang Q, Miao GG, Chen W, Xie HG and Cao CC: Berberine ameliorates chronic kidney injury caused by atherosclerotic renovascular disease through the suppression of NFκB signaling pathway in rats. PLoS One. 8:e597942013. View Article : Google Scholar
Online ISSN:1791-244X
CiteScore Rank: #111/318 Genetics
Tweets by @IJMMedicine
Follow @IJMMedicine
Wu, F., Yao, D., Lan, T., Wang, C., Gao, J., He, L., & Huang, D. (2018). Berberine prevents the apoptosis of mouse podocytes induced by TRAF5 overexpression by suppressing NF-κB activation. International Journal of Molecular Medicine, 41, 555-563. https://doi.org/10.3892/ijmm.2017.3236
Wu, F., Yao, D., Lan, T., Wang, C., Gao, J., He, L., Huang, D."Berberine prevents the apoptosis of mouse podocytes induced by TRAF5 overexpression by suppressing NF-κB activation". International Journal of Molecular Medicine 41.1 (2018): 555-563.
Wu, F., Yao, D., Lan, T., Wang, C., Gao, J., He, L., Huang, D."Berberine prevents the apoptosis of mouse podocytes induced by TRAF5 overexpression by suppressing NF-κB activation". International Journal of Molecular Medicine 41, no. 1 (2018): 555-563. https://doi.org/10.3892/ijmm.2017.3236


text:
'use strict';

var util = require('util');

/**
 * @class
 * Initializes a new instance of the EffectiveRoute class.
 * @constructor
 * Effective Route
 *
 * @member {string} [name] Gets the name of the user defined route. This is
 * optional.
 *
 * @member {string} [source] Gets who created the route. Possible values
 * include: 'Unknown', 'User', 'VirtualNetworkGateway', 'Default'
 *
 * @member {string} [state] Gets value of effective route. Possible values
 * include: 'Active', 'Invalid'
 *
 * @member {array} [addressPrefix] Gets address prefixes of the effective
 * routes in CIDR notation.
 *
 * @member {array} [nextHopIpAddress] Gets the IP address of the next hop of
 * the effective route
 *
 * @member {string} [nextHopType] Gets or sets the type of Azure hop the
 * packet should be sent to. Possible values include:
 * 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance',
 * 'None'
 *
 */
function EffectiveRoute() {
}

/**
 * Defines the metadata of EffectiveRoute
 *
 * @returns {object} metadata of EffectiveRoute
 *
 */
EffectiveRoute.prototype.mapper = function () {
  return {
    required: false,
    serializedName: 'EffectiveRoute',
    type: {
      name: 'Composite',
      className: 'EffectiveRoute',
      modelProperties: {
        name: {
          required: false,
          serializedName: 'name',
          type: {
            name: 'String'
          }
        },
        source: {
          required: false,
          serializedName: 'source',
          type: {
            name: 'String'
          }
        },
        state: {
          required: false,
          serializedName: 'state',
          type: {
            name: 'String'
          }
        },
        addressPrefix: {
          required: false,
          serializedName: 'addressPrefix',
          type: {
            name: 'Sequence',
            element: {
                required: false,
                serializedName: 'StringElementType',
                type: {
                  name: 'String'
                }
            }
          }
        },
        nextHopIpAddress: {
          required: false,
          serializedName: 'nextHopIpAddress',
          type: {
            name: 'Sequence',
            element: {
                required: false,
                serializedName: 'StringElementType',
                type: {
                  name: 'String'
                }
            }
          }
        },
        nextHopType: {
          required: false,
          serializedName: 'nextHopType',
          type: {
            name: 'String'
          }
        }
      }
    }
  };
};

module.exports = EffectiveRoute;

redpajama_set_name: RedPajamaGithub


Submissions must adhere to the ACM double-column format. The page limit is 10 pages for full papers and 2 pages for posters and demos.
To allow for more complete and fully formatted reference lists, bibliographic references do NOT count toward the page limit of 10 pages for full papers.
Author names/affiliations must not appear in the title area of a paper-in- submission. Further anonymization is at the author's' discretion but authors must ensure that their own prior work of relevance to the submission is fully referenced in the bibliography.
Technical Papers and Demos should be submitted through EDAS, and the posters should be submitted through EasyChair.


text:
Area code 321 is the area code serving Brevard County, Florida, Space Coast Region and Seminole County, Florida. The area code has been in use since November 1, 1999; it was assigned to Florida (instead of suburban Chicago) after a successful petition led by local resident Robert Osband to commemorate the Space Coast's impact on Brevard County. The code refers to the countdown sequence which has launched many spacecraft from Cape Canaveral.

When it was activated in 2000, area code 321 was used as an overlay for most of area code 407 in the Orlando area, except for the small portion of Volusia County that includes Deltona which was in 407 at the time (it is now in 386). However, no 321 numbers were issued in the 407 area from 2003 until 2015, when 321 numbers were issued for cell phones in Osceola, Orange, and Seminole counties due to high demand. With the 407/689 overlay, 321 remains frozen in the Orlando area with new 321 numbers again being assigned only in Brevard County.

Area code 321 is also the NPA used for SatCom Satellite Phone units. Harris/Caprock Corporation has maritime satellite calls going through its corporate call center in Melbourne.

This area code contains numbers using the central office code 988 (e.g. 988-0199), which could have created conflicts given the designation of 988 as a three-digit code for the National Suicide Prevention Lifeline. As a result, in 2020, the Federal Communications Commission ordered a total of 82 area codes, including 321, to transition to ten-digit dialing for customers in the 321-only area not overlaid by 407. Per the timeline set by the North American Numbering Plan Administrator, permissive dialing began April 24, 2021, and 10-digit dialing was required on October 24, 2021.

See also

List of Florida area codes
List of NANP area codes
North American Numbering Plan

References

External links

 Florida's Area Code History
How I Got My Own Area Code by Richard Cheshire, "The Cheshire Catalyst"

321
321
Brevard County, Florida
Telecommunications-related introductions in 1999
1999 establishments in Florida

redpajama_set_name: RedPajamaWikipedia


The Divorce Encouragist recently she shared that she's Cultivating Capabilities and attended a training course on becoming a divorce coach. That will give you some idea of the possibilities DE started to see once she was out of her marriage.
I wasn't disappointed. It's funny because when I was in the marriage and I thought about leaving, I imagined it was going to be a disappointment. I thought it was going to be a disappointment for everybody. But it wasn't.
I don't know why I felt I couldn't back out of the wedding. We didn't have this big day planned, we didn't have all these guests that would be disappointed. It was really that I felt I didn't have a good excuse not to. It was the typical thing – he makes good money, we're starting this business, it's going to be successful, he doesn't beat me … It was what I was supposed to do. I'd been living with him for so many years, there was just no good reason to say no at that point.
Then when I actually went through the divorce, I wasn't disappointed in myself, I wasn't disappointed in us. I was just very happy because I knew it was the healthiest thing for me in particular and really for both of us. We were both in the marriage and we were both unhappy. I knew it was best to end it and start over.
That really propelled me through the whole time. Even now, I look back and remember what mom said to me and means so much.
The message in this part of DE's story for me, is the importance of listening to our inner voice and not doing things because they are expected of us. OK … there are times when I think it is important and correct to follow social expectations. Off the top of my head, I'm thinking that you should attend funeral services for friends and I believe in dress codes, for example. But I don't believe people should get married because it seems like the next step or your parents were expecting you to.
That lesson also applies to marriage – why do we stay in relationships that aren't working because we think that's how marriage is? It also applies to life after divorce – it's such a time of change and upheaval and even though it is difficult, it is a prime opportunity to create the life YOU want.
Wow. Thanks for the link!!


text:
Computer Literacy Interview With Donald Knuth
By Dan Doernberg
CLB: You have just-published books on both CWEB and the Stanford GraphBase, two areas of your own research. Let's start with CWEB, which integrates C and TeX to facilitate program documentation.
Knuth: The CWEB system is an add-on to C that makes programming better than any other method known in the world, by far. I simply have to be honest and say that it's the greatest thing that's there. The CWEB System of Structured Documentation is the definitive user manual and complete explanation, more than anybody really needs to know about CWEB.
CLB: You've said that CWEB gives an order of magnitude improvement in programmer productivity--- how so?
Knuth: Well, maybe not an order of magnitude, maybe only a factor of two. People who have used CWEB have noticed that they write better programs, that the programs are more portable, more easily debugged, more easily maintained... and they don't take as long to write.
CLB: Has CWEB been used just at Stanford, or in industry as well?
Knuth: It's being used around the world. We've had WEB, the original version (for Pascal) in a variety of systems, and then more and more people started getting infected by it. TeX was written in WEB. Silvio Levy did the conversion to CWEB in 1987. It was experimental for a long time, and now I'm just saying "The experiment worked!". CWEB is much better than WEB, because C is a much nicer language to work with for system programming and lots of other things. For anybody who really cares about programming, I have no idea why they would not prefer this to any other system.
CLB: Easy to use, runs fast, all that good stuff?
Knuth: Right, and it makes you happy after you finish writing a program!
CLB: Even if you write a bad program?!
Knuth: Almost... well... yeah! Jill will tell you, I come out of my office several times a week saying, "CWEB programming is such fun!" It's true, I just can't do enough of it.
The frame of mind that you're in when you're writing a CWEB program is that much better than the old attitude. You think of yourself as writing for a human being, explaining to a human being what a computer should do, instead of thinking of yourself as talking to the computer telling it what to do. You get your act together better when you're explaining it to another person. This approach helps even for a program that you're going to throw away after an hour. CWEB is a tool that I recommend using even if you're writing a program only for yourself, for your eyes only.
CLB: CWEB seems very close to the structured programming models of the 70s...
Knuth: Right, it's the next step. With structured programming, there were some people saying program top-down, and others saying program bottom-up. With WEB/CWEB you can do parts of it bottom-up and parts of it top-down, whatever you feel is right for the program, or for the part of the program you're in.
The structured programming methodology was great... but the way to really understand it is not as a cookbook of rules, but as a way to understand the relation between high-level and low-level views of a program. The way you do that is by viewing the program as a web, as a bunch of small pieces that are simple in themselves and that have simple connections to other small pieces. This way of understanding the complex whole in terms of simple small parts, and the connections between those parts, is supported by the WEB scheme.
You can create the parts in whatever order is psychologically best for you. Sometimes you can create them from the bottom up. Bottom-up means that you know somehow that you probably need a subroutine that will do something, so you write it now while you're ready, while you're psyched for it. With this bottom- up programming, your pencil gets more powerful every page, because on page nine you've developed more tools that you can use on page ten... your pencil is stronger.
With top-down programming you start at the beginning and say "I'm going to do this first and then this, and then this"... but then you have to spell out what those are--- you can wind up gasping for breath a hundred pages later when you finally figure out how you're actually going to do those things!
Top-down programming tends to look very nice for the first few pages and then it becomes a little hard to keep the threads going. Bottom-up programming also tends to look nice for a while, your pencil is more powerful, but that means you can also do more tricky stuff. If you mix the two in a good psychological way, then it works, even at the end.
I did this with TeX, a very large program: 500+ pages of code in the book . Throughout that entire program, all those lines of code, there was always one thing that had to be the next thing I did. I didn't really have much choice; each step was based on what I'd done so far. No methodology would teach me how to write a piece of software like that, if I followed it rigorously. But if I imagined myself explaining the program to a good competent programmer, all that this long program was, then there was just this one natural way to do it. The order in which the code appears in the book is the order in which I wrote it.
CLB: To what extent did you or do you follow the "holy war" debates about software engineering methodologies?
Knuth: I didn't follow every nuance of that work, but I was aware of the dominant ideas. I didn't know what the CASE tools were until many years after other people did. I think it was bad to make too much of a religion out of it. There was a lot of "political correctness" about how to program in those days.
There was a similar thing in the mathematics community in the 1920's, where people were saying that good mathematicians would have to prove theorems a certain way. You weren't supposed to use certain tools of proof that some people thought might lead you into paradoxes. It was like trying to do mathematics with a hand tied behind your back. Similarly, politically correct structured programming was keeping people from getting good programs done, when they knew perfectly well what they were doing, just because their approach didn't happen to fit with the current idea of correctness. Computer science is like every other field; it goes in waves of fashion. Some of the trends are good, but almost every good idea seems to get used in a different way than it should have been.
For example, take random number generators. People had no theory about how to generate random numbers for fifteen years. Then somebody proved one small result about a particular method: if you averaged the serial correlation over an entire period of a billion numbers, the average would be zero, which was good. All of a sudden, everybody switched over, they took out all their old routines and converted to this new method, because it was the only one that had any theory to it whatsoever. It turned out this was a horrible random number generator; the theory had not noticed that the average over the first half was +1 and over the second half was -1! All through history, people have taken ideas and misunderstood the limitations of them.
CLB: Which method was this?
Knuth: Well, it was called RANDU in most subroutine libraries. It's been pretty well purged by now; still, if anybody sees a subroutine named RANDU, get rid of it!
CLB: Did you integrate WEB with C because so many programmers today are using it, or do you personally like C and write with it?
Knuth: I think C has a lot of features that are very important. The way C handles pointers, for example, was a brilliant innovation; it solved a lot of problems that we had before in data structuring and made the programs look good afterwards. C isn't the perfect language, no language is, but I think it has a lot of virtues, and you can avoid the parts you don't like. I do like C as a language, especially because it blends in with the operating system (if you're using UNIX, for example).
All through my life, I've always used the programming language that blended best with the debugging system and operating system that I'm using. If I had a better debugger for language X, and if X went well with the operating system, I would be using that.
An extreme case occurred one year I worked in a lab where the operating system had been designed by Ned Irons. The system was for one of Cray's early machines, and Irons had also written a compiler language called IMP. IMP had a lot of horrible features. One, it was an extensible language, and everybody in the lab would keep extending it. A program that worked on Monday wouldn't work on Tuesday, and the first thing that you'd do if your program failed was to check whether the compiled code was OK. The second thing about IMP was that it was an extremely terse language. For example, where in PASCAL you would say "IF X > 0 THEN...", in IMP you say "X+=>". In other words, your program was very short. You felt like you were writing elegant programs, because there were only a few characters, but you couldn't read them the next day! Being very terse meant that you couldn't fathom this bunch of marks on the page...
CLB: I realize your current emphasis is on "literate programming", but were you ever whatsoever attracted to APL as a math-oriented language?
Knuth: That's another story. APL is for people who have problems to solve and don't care too much about efficiency; they want a nice elegant way to state the solution to their problem, but the solution that they come up with is not necessarily anything that a computer has an easy job doing. It's a problem specification language, but not a system programming language... there is an APL-WEB.
But I want to say more about IMP. The third thing against it was, if you made a mistake, the compiler would either get into an infinite loop, or it would stop on your first error and say "ERROR ERROR ERROR" and quit; you would have to figure out what the mistake was! It was not a great language or compiler.
However... it was still my language of choice, because it fit that operating system perfectly. The arrays would be named in a way that you could easily see in the debugger, and you could know where the storage was being allocated, you knew what was going on, and you could actually get your program running reliably, because IMP blended with the operating system. You couldn't do that with any of the other languages. You might be writing with a better language, but you would get your work done a couple of weeks later, instead of getting answers. I used IMP.
CLB: Was IMP being used at Stanford?
Knuth: It was at a research lab in Princeton. A year before I came to Stanford, I worked there on a classified cryptanalysis research project.
CLB: Please tell us about your other new book, The Stanford GraphBase.
Knuth: The GraphBase book is for two kinds of people. It has a research purpose; the people who are working on the study of new algorithms for combinatorial problems need a standard set of test data on which to compete with each other, and for benchmarks. As I was preparing Volume IV of The Art of Computer Programming, I decided that I would make all the examples and data that I'm using in that book available to everyone. There was a need for some standard benchmarks, and everything should be well arranged so that it is easy to use in thousands of ways. So... I now have a collection of thousands of standard data sets; anyone in Poland can have exactly the same data as anyone in California or China. It's very portable, and can be downloaded from the Internet.
The second purpose of the GraphBase hook is that it is an example of CWEB programming--- it's actually 32 examples of CWEB programming. They're short programs that illustrate the programming style that I prefer. The examples are like little essays, little short stories of computer programs, that are perhaps fun to read.
CLB: What is your current hardware and software environment?
Knuth: I use CWEB for my programming. I use the Emacs editor very heavily, and I use a great high-level language called METAPOST for drawing technical illustrations. This is a new language by John Hobby that is going to be released soon, I think. It's based on METAFONT. 75% of the code is mine from METAFONT, but it's fixed up so that it generates PostScript. I love it.
I also use Mathematica. The people at Maple are trying to convince me to switch over to Maple, another excellent system. At the moment, I like Mathematica because you don't have to type your multiplication signs; you can say "2X" instead of "2*X". Also, the Mathematica manual is exceptionally good.
CLB: You like Wolfram's writing style?
Knuth: Especially the index... you can easily find your way around that book. With the first edition, when I had a new problem to solve, I would look in the index and it would almost always refer me to the right page. There were three or four times when the word I tried wasn't there, and I penciled in where to look when I had this problem next time. In the second edition those had all been fixed, and I had not reported them to anybody.
CLB: Let me get your quick impressions on a few research areas, and whether you've read or done any work in them. The first is genetic algorithms. How do you feel about the general concept, that instead of the human determining the algorithm, you somewhat let the machine have at it...
Knuth: I plan to do a lot of experimenting on this as I get into Volume IV. There's genetic breeding, there's simulated annealing, there are other strategies that people have developed. I have a method in The Stanford GraphBase book that I call "stratified greed". These techniques are all competing for the same kind of problems, and I want to try a lot of examples; some of them might work better on one than the other, and I want to get a feel for this. Certain problems are naturals for neural nets... genetic algorithms are likely to do well on tasks related to language recognition, and people say also like predicting the stock market or something like that. Somehow the closer a problem is to nature, the more you expect the genetic algorithm to work, while the closer it is to number theory or something artificial, the more you expect some other kind of approach will help. It's hard to understand the way these methods scale up; on a small problem they might do terrifically, and then they might break down completely just when the problem gets a little bit bigger... or it might go the other way.
CLB: It sounds like you have several years of disciplined testing with your data sets ahead of you.
Knuth: The Stanford GraphBase gives me an unlimited supply of problems that I and other people can do. I read what other people have claimed about their methods, but I also try them all myself. The original work I do in The Art of Computer Programming is to take the methods of two different authors and analyze method A from the standpoint of author B, and method B from the standpoint of author A. They have only given their sides of it, so I try to fill in ....
CLB: What about object-oriented programming? Is it just a current buzzword, or does this approach appeal to you?
Knuth: I've always thought of programming in that way, but I haven't used languages that help enforce the discipline; I've always enforced the discipline myself in other languages. Programming languages can now catch you if you make a mistake, and they make it easier for you to hide information from one part of the program to another. In my own programs, with older languages, I wouldn't use what I wasn't supposed to use; I would have to discipline myself to follow these rules. I could, so I did. There weren't programs I couldn't write... but the new tools do help.
The problem that I have with them today is that... C++ is too complicated. At the moment, it's impossible for me to write portable code that I believe would work on lots of different systems, unless I avoid all exotic features. Whenever the C++ language designers had two competing ideas as to how they should solve some problem, they said "OK, we'll do them both". So the language is too baroque for my taste. But each user of C++ has a favorite subset, and that's fine. CWEB fully supports C++ as well as C.
CLB: What are your thoughts about chaos theory, fractals, those areas? Their indeterminateness seems a little discordant with the domains you've focused on in the past.
Knuth: I did some early work with fractals and so on, and I think it's a great new abstraction. People can build models that they wouldn't have thought of building before, that really match a lot of things in nature that have this character of looking the same when you change the scale. You know, if you magnify the coastline, it still looks like a coastline, and a lot of other things have this property. Nature has recursive algorithms that it uses to generate clouds and Swiss cheese and things like that. So now we have mathematical techniques for understanding such processes that go beyond the kind of differential equations that people used to have in previous centuries. Now we have a brand new tool to work with, but I'm not very intuitive about such methods. I know the limitations of my own intuition; I can solve some problems well, but I know other people are able to see something right away which takes me a long time... It's not my cup of tea.
CLB: To what extent have you ever followed developments in artificial intelligence? The third program you ever wrote was a tic-tac-toe program that learned from its errors, and Stanford has been one of the leading institutions for AI research...
Knuth: Well, AI interacts a lot with Volume IV; AI researchers use the combinatorial techniques that I'm studying, so there is a lot of literature there that is quite relevant. My job is to compare the AI literature with what came out of the electrical engineering community, and other disciplines; each community has had a slightly different way of approaching the problems. I'm trying to read these things and take out the jargon and unify the ideas. The hardest applications and most challenging problems, throughout many years of computer history, have been in artificial intelligence--- AI has been the most fruitful source of techniques in computer science. It led to many important advances, like data structures and list processing... artificial intelligence has been a great stimulation. Many of the best paradigms for debugging and for getting software going, all of the symbolic algebra systems that were built, early studies of computer graphics and computer vision, etc., all had very strong roots in artificial intelligence.
CLB: So you're not one of those who deprecates what was done in that area...
Knuth: No, no. What happened is that a lot of people believed that AI was going to be the panacea. It's like some company makes only a 15% profit, when the analysts were predicting 18%, and the stock drops. It was just the clash of expectations, to have inflated ideas that one paradigm would solve everything. It's probably true with all of the things that are flashy now; people will realize that they aren't the total answer. A lot of problems are so hard that we're never going to find a real great solution to them. People are disappointed when they don't find the Fountain of Youth...
CLB: If you were a soon-to-graduate college senior or Ph.D. and you didn't have any "baggage", what kind of research would you want to do? Or would you even choose research again?
Knuth: I think the most exciting computer research now is partly in robotics, and partly in applications to biochemistry. Robotics, for example, that's terrific. Making devices that actually move around and communicate with each other. Stanford has a big robotics lab now, and our plan is for a new building that will have a hundred robots walking the corridors, to stimulate the students. It'll be two or three years until we move in to the building. Just seeing robots there, you'll think of neat projects. These projects also suggest a lot of good mathematical and theoretical questions. And high level graphical tools, there's a tremendous amount of great stuff in that area too. Yeah, I'd love to do that... only one life, you know, but...
CLB: Why do you mention biochemistry?
Knuth: There's millions and millions of unsolved problems. Biology is so digital, and incredibly complicated, but incredibly useful. The trouble with biology is that, if you have to work as a biologist, it's boring. Your experiments take you three years and then, one night, the electricity goes off and all the things die! You start over. In computers we can create our own worlds. Biologists deserve a lot of credit for being able to slug it through.
It is hard for me to say confidently that, after fifty more years of explosive growth of computer science, there will still be a lot of fascinating unsolved problems at peoples' fingertips, that it won't be pretty much working on refinements of well-explored things. Maybe all of the simple stuff and the really great stuff has been discovered. It may not be true, but I can't predict an unending growth. I can't be as confident about computer science as I can about biology. Biology easily has 500 years of exciting problems to work on, it's at that level.
CLB: Use of the Internet is exploding right now, with everyone getting on...
Knuth: Some day we are going to try to figure out who is paying for it!
CLB: Do you currently use it? I know you did in the past.
Knuth: I spent fifteen years using electronic mail on the ARPANET and the Internet. Then, in January 1990, I stopped, because it was taking up too much of my time to sift through garbage. I don't have an email address. People trying to write me unsolicited email messages get a polite note saying "Professor Knuth has discontinued reading electronic mail; you can write to him at such and such an address."
It's impossible to shut email off! You send a message to somebody, and they send it back saying "Thank you", and you say "OK, thanks for thanking me..."
Email is wonderful for some people, absolutely necessary for their job, and they can do their work better. I like to say that for people whose role is to be on top of things, electronic mail is great. But my role is to be on the bottom of things. I look at ideas and think about them carefully and try to write them up... I move slowly through things that people have done and try to organize the material. But I don't know what is happening this month.
So now I don't read electronic mail, but I do use it occasionally. Say I'm taking a trip to Israel and I've got to make last minute arrangements. When I visit another university or research center for a few days, I have to send email from there. I've learned how to use the email facilities in Emacs, but I don't want to get good at it.
CLB: You have many interests outside of computing and mathematics--- music, religion, writing. Is music a creative outlet for you, a means of recreation, or a spiritual outlet?
Knuth: At the moment it's recreational. I like to have friends come to the house and play four-hands piano music. If I could do it every week, I would. I hope to live long enough so that after I've finished my life's work on The Art of Computer Programming, I might compose some music. Just a dream... it might be lousy music, of course.
CLB: You have written some compositions already, haven't you?
Knuth: Yeah, but it was mostly arrangements of other people's themes. I did write a short musical comedy when I was in college called "Nebbishland". Remember how Nebbishes were all the rage in the late 50s? "Nebbishland" was only about a ten minute skit, but it was all original music and lyrics.
CLB: Do you have the score somewhere in the attic?
Knuth: Yeah... no actually, I think I've lost it. I have only part of it. I'm hoping to come across it. I'm going through my files now and making a computer index of everything I have in the house.
CLB: Sounds like you don't have a paperless house!
Knuth: No!
CLB: Have you fiddled with MIDI computer technology for music, or have you purposely stayed away from it?
Knuth: I have fun with it. I bought a synthesizer for my son last Christmas, and I played it for hours and hours. I loved it. I had once played on a Kurzweil synthesizer years ago, at Marvin Minsky's house, a grand piano imitation. More recently, a friend went to England for three years and didn't want to bring his grand piano him, so he bought a Yamaha with six voices. When I visited his house, I had a tremendous time for three days going through all of the pieces I'd learned on the piano, playing them as if they were on vibraphone, or on a harpsichord, or some other voice. His "piano" has a harpsichord voice, but the keyboard is pressure-sensitive, so you can play loud and soft, which you can't do on a real harpsichord. These synthesizers are great.
CLB: When did you retire from Stanford?
Knuth: This year. I was on leave for two years until I could officially retire. Unofficially, I retired in 1990, on the same day I gave up email. I announced my plans three years earlier. I realized that my main goal in life was to finish The Art of Computer Programming; I had looked ahead and seen that it would take twenty years of work, full-time. If I continued doing everything else that I was doing, it was going to be forty or fifty years of work. I was just not getting anywhere, I was getting further and further behind. So I said, "Enough." Naturally, I hate to give up many of these other things that I like doing very much. But there are some things I didn't hate giving up, like writing proposals. I'm very happy to give up those!
CLB: You had to write proposals?? I assumed you were insulated from that somehow.
Knuth: You've got a great sense of humor! I don't have to do it anymore; but as a professor, in order to have decent equipment for my grad students, or to have visitors for active research programs, to publish reports, etc., I needed to find sponsors. It's a lot of work begging for money. The System Development Foundation said they'd give me a million dollars so that I could finish TeX and get back to The Art of Computer Programming.
CLB: Did you take them up on it?
Knuth: Sure, but it still took many, many years to finish TeX. I decided that the only way I would be able to finish The Art of Computer Programming is by going into full-time writing, and being a hermit, and telling people "No." It was hard to adjust the first couple of years. Now I feel real efficient, and the writing is going well. A nice steady state.
I give lectures at Stanford every month or so, when I'm in town, called "Computer Musings" . I plan to keep this up for twenty years, to give a talk on whatever I find interesting that month, on neat ideas I've picked up... I bring up problems that I can't solve, so that somebody will do it for me. Now, if I can't solve a problem in two hours, I've got to give it up and tell somebody else to work on it; otherwise, I'll get behind again. As I write the book, I've got to move from topic to topic, and my attention span is maybe three weeks on any particular topic.
CLB: You're best known for your writing and research; did you enjoy teaching and the interaction with students?
Knuth: We had the greatest students in the world. I can still get together with students through my lecture series, except I don't know their names anymore. That's a problem.
CLB: No student interns?
Knuth: Suppose I give a "Computer Musings" lecture, stating an open problem, and suppose that a student in the audience solves that problem, writes his thesis and finishes it in the next two weeks (maybe two and a half), and shows it to me. Then I'd still be interested in the topic, would still read it, and I'd be glad to sign his thesis... but that's the only way. 28 is the total number of Ph.D. students I've had graduate, and that's probably all that I will have... unless something happens at high speed through the "Computer Musings".
CLB: Real-time Ph.D.'s! What changes have you seen in the students coming into the computer science program over the years?
Knuth: There is a very profound change that I can't account for. In the 70s, the majority of our students were very interested in music. The first thing we'd ask them when they came in was "What instrument do you play?" We had lots of chamber groups and so on. Now almost none of the students are interested in music. I don't know if it's because a different kind of people are enrolling in computer science, or because it's true of all today's students, or what. If you ask computer science students now what their hobby is, the chances are most of them will say "Bicycling". I recently had one who played a harmonica, but there were almost no musicians in the group.
CLB: Any changes in the quality of the students?
Knuth: Not the quality... but they don't know as much about mathematics as they used to. We have to do more remedial stuff in college, even at a school like Stanford.
CLB: How about changes in the field itself... with so much progress and so many more people involved, is computer science today very different than it was earlier?
Knuth: Well, there's all the media and the visual things, that's a lot different than it was. There's also the competition; it's a great deal more difficult now than it was in my day. When I started, it was so easy to come up with something new compared to now, when you've got thousands and thousands of smart people all doing great stuff. There might have been ten great Ph.D. theses a year at one time; there's just no way to keep up with all the stuff now.
No matter what field of computer science you're in, everyone is finding it hard to keep up. Every field gets narrower and narrower, since nobody can cover all the territory anymore. Everybody can choose two small parts of computer science and learn those two parts; if one person knows parts A and B, another knows B and C, and another knows C and D, the field remains reasonably well connected, even as it expands.
CLB: Do you see yourself as one of the last of computer science's "Renaissance Men"?
Knuth: I'm not as broad as you might think--- I only work on one thing at a time. I guess I'm a quick study; I can become an instant expert in something. I've been collecting stuff for thirty years so that I can read the literature on each topic in "batch mode"--- not swapping lots of different topics in and out. I can absorb a subject locally and get good at it for a little while... but then don't ask me to do the thing I was doing a few months ago! Also, I have lots of people helping me correct my mistakes.
CLB: My last question, your least favorite to be asked... what is the current plan for completing all seven volumes of The Art of Computer Programming?
Knuth: I'm going to have fascicles of about 128 pages coming out twice a year. We're gathering four of them before we come out with the first two actually; we're going to keep some in the pipeline! Look for the first fascicles in 1995 or 1996; they will be beta-test versions of the real books. I'm thinking I can finish Volume IV (parts A, B, and C)in the year 2003, Volume V in 2008, then come out with new editions of Volume I, II, and III, then work on VI and VII... There will be a "Reader's Digest" version of volumes I through V.
CLB: What would your career, and life, have been like had you not announced the 7-volume set?
Knuth: Oh, I didn't announce it at first. I thought I was writing only one book. But if I hadn't done that, I suppose I still would have been doing a lot of writing. Somehow it seems that all the way through, I've enjoyed trying to explain things. When I was in high school, I was editor of the student paper; in college I edited a magazine. I've always been playing around with words.
This file may be copied or distributed freely, as long as it is distributed in its entirety. Copyright 1993, Computer Literacy Bookshops, Inc. No use or excerpt may be made of the file without acknowledgement of its source.
Return to Computer Literacy's home page.

redpajama_set_name: RedPajamaCommonCrawl


Democrats are still reeling from Pres. Trump's resounding victory in the 2016 election, but it's never too early to decide who they'll choose to lose in 2020.
Big names have already thrown their name in the race, but there are some lesser known Democrats hoping to stake their career on being Donald Trump's 2020 opponent. Here's a look at twenty Democrats from across the country that could run in 2020.


text:
Cry out! French writer, 93, publishes a 13-page best seller
January 11, 2011 Madonna Gauding Economy, International, Politics One comment
Stephane Hessel's slim, 13-page political pamphlet, according to a recent article in the Independent, is "smashing all publishing records in France." In just three months, Hessel's Indignez vous! (Cry out!), has sold 600,000 copies and another 200,000 print run has just been released. What could Hessel have written about that caused his book to sell eight times more copies than the second most popular book in France, a prize-winning novel by Michel Houellebecq?
Indignez vous! calls for the French, and everyone else in the industrialized world, to reject the "insolent, selfish" power of money and markets, and to defend the social "values of modern democracy" through "peaceful insurrection."
Mr Hessel and his small left-wing publisher (which is used to print runs in the hundreds) say that he has evidently struck a national, and international nerve, at a time of market tyranny, bankers' bonuses and budget threats to the survival of the post-war welfare state. . . .
In a New Year message Mr Hessel, who survived Nazi concentration camps to become a French diplomat, said he was "profoundly touched" by the success of his book. Just as he "cried out" against Nazism in the 1940s, he said, young people today should "cry out against the complicity between politicians and economic and financial powers" and "defend our democratic rights acquired over two centuries".
According to the Independent, Mr Hessel, was born in Berlin in 1917, and emigrated to France with his family when he was seven. During WWII he was captured, tortured and sent to concentration camps in Germany. After the war, he helped to draft the UN's Universal Declaration of Human Rights in 1948.
A message of resistance
The following is from Mr. Hessel's book:
* "I would like everyone – everyone of us – to find his or her own reason to cry out. That is a precious gift. When something makes you want to cry out, as I cried out against Nazism, you become a militant, tough and committed. You become part of the great stream of history … and this stream leads us towards more justice and more freedom but not the uncontrolled freedom of the fox in the hen-house."
* "It's true that reasons to cry out can seem less obvious today. The world appears too complex. But in this world, there are things we should not tolerate… I say to the young, look around you a little and you will find them. The worst of all attitudes is indifference…"
* "The productivist obsession of the West has plunged the world into a crisis which can only be resolved by a radical shift away from the 'ever more', in the world of finance but also in science and technology. It is high time that ethics, justice and a sustainable balance prevailed…"
ActivismProgressive politicsPublishing
Previous Post:100 words on…laughter
Next Post:School deseg: history, politics, impact, future?


This property	that is located at , Chicago Illinois 60617 in Cook county is currently for sale. This property is offered by Grinker & Garcia Real Estate Inc., agent Rigoberto Garcia, priced at $157,000. The property at has 3 bedrooms, 1 baths, 1,250 sq.ft. and was built in 1913. is in Chicago and in the ZIP code of 60617.
Contact Rigoberto Garcia for more information about this single family home.
I found your listing on AgentMarketing. Please send me more information about in Chicago as soon as possible.


text:
import PageCreate from '@/components/Pluma/Page/Create.vue'
import PageEdit from '@/components/Pluma/Page/Edit.vue'
import PageShow from '@/components/Pluma/Page/Show.vue'
import PageTrashed from '@/components/Pluma/Page/Trashed.vue'

export default {
  routes: [
    {
      name: 'pages.index',
      title: 'All Pages',
      path: '/admin/pages',
      component: () => import('@/components/Pluma/Page/Index.vue'),
      children: [
        { path: 'create', component: PageCreate, name: 'pages.create' },
        { path: 'trashed', component: PageTrashed, name: 'pages.trashed' },

        // Dynamic routes should be declared at the bottom
        { path: ':page', component: PageShow, name: 'pages.show' },
        { path: ':page/edit', component: PageEdit, name: 'pages.edit' }
      ]
    },
    { path: '/api/v1/pages/:page/destroy', name: 'pages.destroy', meta: { method: 'DELETE' } }
  ]
}


Would you like us to keep you updated via email about mortgages and other finance products?
The Right Remortgages is an independent and impartial introducer of remortgage leads to several whole-of-market remortgage brokers. This website is designed to find its customers the cheapest possible quotes based on the amount and length of cover they need. Our brokers browse through hundreds of remortgage providers in order to secure the best deals available. We assure you that these providers offer a superb range of products on significant cost and other benefits to customers.
Please be aware that therightremortgages.co.uk is not a direct insurance company and itself does not provide insurance. therightremortgages.co.uk only provides a matching service, helping people to compare remortgage policies from all the major remortgage companies.
I had an excellent time dealing with The Right Remortgages. Very helpful and knowledgeable. They responded to my requests almost immediately, provided many options and eventually found the best remortgage to suit me!
Top company, very easy to work with and got me a great remortgage deal where others failed.
Deal Direct Financial Solutions Ltd which is authorised and regulated by the Financial Conduct Authority for regulated mortgage and non-investment insurance contracts. Our FCA Number is 478726.
The overall cost for comparison is estimated to be 4.95% APR. Subject to circumstances, a completion fee may be payable, typically £198 upfront & £799 on completion.
If your circumstances or history involves any adverse credit, complex situations or a commercial element then this may increase to a maximum of £2594 with a minimum of £99 payable upon application. Your adviser will, in all cases, confirm all costs in writing prior to any application being made.
Reviews shown are based on Deal Direct Financial Solutions Ltd reviews.
Our brokers browse through hundreds of remortgages providers in order to secure the best deals available.
We would recommend you speak to an independent financial advisor before agreeing to any contract with a 3rd party.


text:
Q: How do I fix a StackOverflowException? I am getting a StackOverflowException in my C# program.
Cmodel.cs
public class CModel
{
    public Vector3 Position { get; set; }

    public Vector3 Rotation { get; set; }

    public Vector3 Scale { get; set; }

    public Model Model { get; private set; }

    public BoundingSphere BoundingSphere
    {
        get
        {
            // no need for rotation, as this is a sphere
            Matrix worldTransform = Matrix.CreateScale(Scale) *
            Matrix.CreateTranslation(Position); // THIS IS WHERE THE EXCEPTION OCCURS

            BoundingSphere transformed = BoundingSphere;
            transformed = transformed.Transform(worldTransform);

            return transformed;
        }
    }
    private Matrix[] modelTransforms;
    private GraphicsDevice graphicsDevice;
    private BoundingSphere boundingsphere;
    public CModel(Model Model, Vector3 Position, Vector3 Rotation,
    Vector3 Scale, GraphicsDevice graphicsDevice)
    {
    this.Model = Model;

    modelTransforms = new Matrix[Model.Bones.Count];
    Model.CopyAbsoluteBoneTransformsTo(modelTransforms);

    buildBoundingSphere();
    }

    public void Draw(Matrix View, Matrix Projection)
    {
        // Calculate the base transformation by combining
        // translation, rotation, and scaling
        Matrix baseWorld = Matrix.CreateScale(Scale)
        * Matrix.CreateFromYawPitchRoll(
        Rotation.Y, Rotation.X, Rotation.Z)
        * Matrix.CreateTranslation(Position);
        foreach (ModelMesh mesh in Model.Meshes)
        {
            Matrix localWorld = modelTransforms[mesh.ParentBone.Index]
            * baseWorld;
            foreach (ModelMeshPart meshPart in mesh.MeshParts)
            {
                BasicEffect effect = (BasicEffect)meshPart.Effect;
                effect.World = localWorld;
                effect.View = View;
                effect.Projection = Projection;
                effect.EnableDefaultLighting();
            }
            mesh.Draw();
        }
    }
        private void buildBoundingSphere()
        {
            BoundingSphere sphere = new BoundingSphere(Vector3.Zero, 0);

            // Merge all the model's built in bounding spheres
            foreach (ModelMesh mesh in Model.Meshes)
            {
                BoundingSphere transformed = mesh.BoundingSphere.Transform(
                    modelTransforms[mesh.ParentBone.Index]);

                sphere = BoundingSphere.CreateMerged(sphere, transformed);
            }

            this.boundingsphere = sphere;
        }
    }
}

A: You have a recursive call in your getter which will call itself and cause the StackOverflowException :
public BoundingSphere BoundingSphere
{
    get
    {
       ...
       BoundingSphere transformed = BoundingSphere;
       ...
    }
}

It's not completely clear what you meant to write - but if you want to preserve any state you will need a backing field for storing the bounding sphere instead.

A: Your get method calls itself: BoundingSphere calls BoundingSphere.
private BoundingSphere _boundingsphere = null;
public BoundingSphere BoundingSphere
{
    get
    {
        // no need for rotation, as this is a sphere
        **Matrix worldTransform = Matrix.CreateScale(Scale)
            * Matrix.CreateTranslation(Position);**

        BoundingSphere transformed = _boundingsphere;
        transformed = transformed.Transform(worldTransform);

        return transformed;
    }
    set
    {
        _boundingsphere = value;
    }
}

When you use following form:
public BoundingSphere BoundingSphere { get; set }

you don't need to specify variable to store actual value, but when you implement get or set explicitly you should declare additional variable and use it in get, set implementations.

A: *

*Look at the call stack or the exception's stack trace.

*Identify the loop.

*Figure out how to break the loop.

A: I think you're needing to change
get
{
    ...
    BoundingSphere transformed = BoundingSphere; // public property
    ...
}

to this
get
{
    ...
    BoundingSphere transformed = boundingsphere; // private variable
    ...
}

redpajama_set_name: RedPajamaStackExchange


text:
Doug Patterson 864.238.3176
Keowee Lots by Price Range
Lakefront Communities
Keowee Key
VIP Property Search Form
Keowee Rentals
Keowee Foreclosed Homes
Keowee Short Sale Homes
Lake Jocassee Homes
Lake Jocassee Land
Lake Photo Gallery
Lake Keowee Custom Home Builders
Custom House Plans
National Geographic Says…
Nearby Highlands & Cashiers, NC
Mountain Lake Lifestyle Photos
Greenville, SC Gallery
Clemson Tigers Sports
Waterfalls, Trails & Vistas
SC Taxes
Mountain Lake Paradise Realty
Realtor® Bios
Using a Buyer's Agent
Marketing Your Home or Land
For Realtors® Only
FAQ - SC Real Estate
Oconee Vegetative Buffer Rules
About Power Lines and EMF
National Association of Realtors®
~ National Geographic says… ~
National Geographic says that our area is home to the 9th of, "50 of the World's Last Great Places".
"Experience Pristine Locations ~ Discover Unforgettable Landscapes ~ Explore Unspoiled Environments"
National Geographic says that our area is home to the 9th out of, "50 of the World's Last Great Places: Destinations of a Lifetime." We have one of the great wild places on our planet; it is an exciting place to be. National Geographic best described, on the cover of their special edition, why we have CONSTANTLY beautiful, clean, clear mountain water in Lake Jocassee and Lake Keowee. National Geographic's 4 page article is titled, "Jocassee Gorges: an intense concentration of waterfalls." The Jocassee Gorges run from near the rushing, white water, Chattooga River at the GA/SC line eastward to Jones Gap near U.S. Hwy 25 that runs between Greenville and Asheville, and into North Carolina. There are state parks, protected forest and management areas that protect this treasured area for much of its length. These pristine waters flow through Northern Oconee County's Devil's Fork State Park, Pickens County's Table Rock State Park and Greenville County's Jones Gap State Park. We are blessed to be the home of these stunning Jocassee Gorges! Through these pristine Gorges, cool, clear mountain waters flow from the rivers of the Blue Ridge Escarpment into Lake Jocassee and Lake Keowee (visit our Lake Photo Gallery). The article is not available on-line, but below are 2 summaries and a link to National Geographic where you can purchase this special edition. This is attracting worldwide attention to our beautiful area. I'm sure you would agree, it is hard to imagine the total impact of how this could affect property values. Order this special edition directly from National Geographic.
Search Now for Lots or Homes on Lake Jocassee or use VIP Search
This Rare Phenomenon inspired National Geographic to name this One of the World's Last Great Places
This is an amazing creation that borders the Eastern Continental Divide. The north side of Lake Jocassee is in Transylvania County, NC which is one of the wettest areas in the US; it gets an average of 90 inches of rain per year (Seneca only gets 53)!! It is the home to Gorges State Park. The moisture of the Gulf of Mexico makes it way to the mountains. It hits the Blue Ridge escarpment at the Gorges like a back stop - like a wall that just stops the moisture. This huge influx of water from this concentrated area is one reason why Jocassee and Keowee constantly have such pristine, clear, emerald water. Watch these amazing videos below (left) to experience and understand this natural wonder. Jocassee Gorges is a great and nearby place to visit but we love living in the beautiful Lake Keowee area so we don't have to battle the ice and snow!
Ken Sloan, executive director of the Mountain Lakes Convention and Visitors Bureau, was quoted by The Anderson Independent-Mail newspaper as saying, "This will draw tourism; it's good for Realtors and it's good for overall economic development. As a tourism marketer, it's really one of those things you hope for but never quite believe will just drop out of the blue."
Marketing Your Property
Global Marketing 19 Languages
Image below from South Carolina Department of Natural Resources edited to remove copyrighted image
Image below from Mountain Lakes Convention & Visitors Bureau
On this site are a few of our Featured Listings that will give you insight into, not only the homes, but also this beautiful area. You will find extensive videos, visual tours, maps, photos and links that we hope you will enjoy and know you will find informative.
SOLD! Table Rock Estate & Acreage
How many people can say they live in what National Geographic says is a Destination of a Lifetime? A private 5BR/4½BA Mountain Estate on 14 acres with large creek-fed pond. Enjoy the ambiance of this gracious southern living style home.
"I have really enjoyed getting to know the two of you and I greatly appreciate the work you have done. The photography, planning and marketing you did was meticulous. As an interior decorator, I have an eye for design, also. I appreciate the time and talent you put into your marketing. You even had a babbling brook sound in the background on the Visual Tour and had a fire in my fireplace for the photographs and video. By opening the windows and French doors when you took the video, you captured the sounds of my water garden! I had my house on the market for quite a while before meeting you and had very few showings. The global marketing through YouTube videos and the detailed description of the estate were very impressive. This had not been done before. Your efforts brought me many showings and now a buyer. Over the years my listing had as few as 8 photos - never more than 6 of the home's interiors sometimes less. Bottom line - I didn't know that more was available to me. You were true professionals and I really appreciate that. Doug and Carol thank you for your honesty. I look forward to an ongoing relationship with you and will recommend you highly to my friends."
Judy K.
SOLD: Jocassee Gorges River Lodge $725,000
Thirty acre riverfront estate. Timber-built 3 bed, 2½ bath, 3,300 sq ft custom craftsman home on the banks of the Eastatoee River. Enjoy trails, fly fishing, & kayaking to Lake Keowee. Hear the rushing river from almost every room. Details & panoramas on Tour.
"I would like to take a moment to recommend Carol and Doug to anyone selling or buying a home in the Lake Keowee area. From the beginning of the process to the final closing I found the Pattersons to be detailed oriented, very responsive, and conduct their business with complete integrity. The result was a home sale that far exceeded our expectations!"
Bryan G., Customer Builder and part owner
SOLD: Creekfront Jocassee Gorges Home $399,900
How many people can say they live in what National Geographic says is a Destination of a Lifetime? Five bed, 3½ bath. Surrounded on 3 sides by pristine creeks and just a short walk from picturesque 95 foot Twin Falls!
[This home sold in 30 days. Due to Winter conditions, there was no opportunity to create a custom video.]
Thank you for selling our waterfront home! It had been on the market for several years with no offers. Within 30 days of listing with you, we got a full price offer! A Keowee custom builder friend, who also had a custom home in the Jocassee Gorges, was very satisfied with how you marketed and ultimately sold their waterfall estate as well. It also had been on the market for several years before you listed it.
"The two of you have such love and extensive knowledge about this Lake Keowee and Jocassee Gorges area. It really counted in your Global marketing. You truly have a way of selling the "romance," as you say. I have been a custom builder in the area for 35 years so I have seen it all. Your suggestions and attention to detail were appreciated. Doug is such a computer Genius!!! Of course, with you, Carol, at his side. I'm glad Marlene's summertime photos were an enhancement to the wintertime professional photography you did. Your creative babbling brook sounds really helped it come together. It was a pleasure working with professionals such as yourselves."
Ray and Marlene Chandler, Powdersville, SC
Doug & Carol Patterson • (864) 238-3176 • Mountain Lake Paradise RealtyTM - Serving Lake Keowee and surrounding Upstate South Carolina Site by Pinnacle Web Design ©2004 - 2019 • 864.238.3176 • Privacy Policy