GithubHelp home page GithubHelp logo

isss23's Introduction

Hi there 👋

I'm Andrea De Angelis, currently an SNF Ambizione Researcher in the Department of Political Science at the University of Zurich. Welcome to my GitHub profile!

  • 🔭 I’m currently working on: The project “Political Misinformation in the Digital Age,” funded by the Swiss National Science Foundation. My research focuses on political misinformation, media change, dealignment, and the personalization of politics in European democracies.

  • 🌱 I’m currently learning: How to use LLMs for my teaching and research (ideas are welcome!).

  • 👯 I’m looking to collaborate on: Projects at the intersection of political science, computational methods, and digital media. I am especially interested in collaborations that explore the dynamics of political misinformation and media effects on electoral decisions.

  • 🤔 I’m looking for help with: Expanding my research in the area of political misinformation in a global context, especially studies outside the U.S. and Switzerland/Europe.

  • 💬 Ask me about: Electoral politics, media effects, political misinformation, and computational methods in social science research.

  • 📫 How to reach me: Email me at [email protected] or connect with me on LinkedIn.

  • Fun fact: I am training to run my first marathon!

Languages and Tools:

  • R, Python, HTML, CSS, HTTP, Git, LaTeX, Markdown, Stata, JAGS, Stan, MATLAB
  • Multilingual with proficiency in Italian, English, Spanish, plus some German, and French.

Recent Publications:

  • De Angelis A. and Vecchiato A. (2023). ”Panem et Circenses: Removing Political News to Generate Electoral Support, Evidence from Berlusconi’s Italy.” Fortcoming at the Italian Political Science Review.
  • De Angelis A. et al. (2022). “Political Misinformation in the Digital Age During a Pandemic: Partisanship Propaganda and Democratic Decision-Making.” OA Edited Volume at Frontiers in Political Science. Read the editorial here.
  • Garzia D. et al. (2021). “Leaders without Partisans: Dealignment, Media Change and the Personalization of Politics.” Colchester: Rowman & Littlefield/ECPR Press. OA version available at Cadmus.
  • De Angelis, A. (2020). “How Voters Distort their Perceptions and Why this Matters.“ In: Suhay, E., Grofman, B., and Trechsel, A., The Oxford Handbook of Electoral Persuasion, pp. 946-976. Pre-print available here, published version here.

Awards and Distinctions:

  • Gordon Smith and Vincent Wright Memorial Prize for the best papaer published on West European Politics (2022)
  • Swiss National Science Foundation Ambizione Grant (2022-2026)
  • Honorary mention for teaching excellence by the University of Lucerne (2022)

isss23's People

Contributors

deangelisa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

isss23's Issues

Question: Exercises 4.A and 4.B (respectively 3) in problem set 1

While trying to solve exercises 4.A and 4.B I realized that I must have misunderstood the task in exercise 3 that calls for a filtration of the categorial variable. I reduced the categorial variable to the relevant observations but did not group or summarize it so it would not really make sense to build a frequency table based on this data since each observation exists only and exactly once and thus has the same proportional, identical distribution. Can someone explain to me what was meant by "filter your data keeping only some categories/groups from the categorical data (or remove one or more categories/groups)"?

Show ceteribus paribus in a plot

In problem set 2, there is an exercise where we have to show that age and education are ceteribus paribus. Online I found the function ceteris_paribus

ceteris_paribus(
explainer,
observations,
y = NULL,
variable_splits = NULL,
variables = NULL,
grid_points = 101
)

I am not sure if this is correct, and if so, what would be the explainer and what would be the observations?

PS2: I am not able to knit - error message

Hello, as soon as I try to knit my document, I am receiving an error message, because of line 18:

image

I googled how to install DT, and I found the following code on this page: https://rstudio.github.io/DT/
remotes::install_github('rstudio/DT')

as soon as I include that on line 18, the following results:

image

and

image

does somebody else have an error message?

error at observed average difference code

Hello everybody :)
I'm struggling with the code for the observed average difference.
First I had this code, then R replied that: Fehler in r[i1] - r[-length(r):-(length(r) - lag + 1L)] : nicht-numerisches Argument für binären Operator
obs_avg_diff <- dat %>%
group_by(T) %>%
summarize(average = mean(diff(Y)))

So then I transformed Y into a numeric variable and it replied the same error?!

obs_avg_diff <- dat %>%
group_by(T) %>%
summarize(average = as.numeric(mean(diff(y))))

Can anyone give me a hint?

Issue session 04.11 on the face dataframe

RStudio is not able to read the face dataframe we use at the beginning.

I did the following runs:

Sys.setenv(R_REMOTES_STANDALONE = "true")
remotes::install_github("kosukeimai/qss-package")
data(package = "qss")
data(elections, package = "qss") # load e.g. the elections data
vignette(package = "qss") # list all vignettes
browseVignettes("qss") # list vignettes and R code
vignette("causality", package = "qss") # show the vignette for the Causality chapter

which gave me a positive outcome and also showed me, that the data frames of the qss package are on my RStudio
1
:

And then, when I am writing the command face <- read.csv("face.csv") the error message comes:
image

did anybody had this problem as well?

I am already accepting, that I am having a never ending story with the qss package...

PS#2 Download format

Hi!

I'm trying to download my Rmarkdown file in PDF but every time I try to knit I get the following error and only the graphics are saved as PDF.

Captura de pantalla 2021-11-10 a las 16 42 24

Does it happen to someone else or know how to fix it?

Perusall - How can I highlight text?

I like to highlight certain keywords and phrases while reading difficult texts, as it helps me memorize and focus on certain aspects. However, in the Perusal Software highlighting a word or a sentence, will instead activate the annotation function. Going through all the settings I did not find a solution.
Simply downloading the file is not possible, as 1) Perusal doesn't let me. And 2) I don't want to read the text twice. Highlighting the text on a separate document would mean I would have to read the same text parallel.

Importing data set

Hey everyone :)

I am nearly finished with my final assignment. I wanted to knit everything but now I get the error message that my data set cannot be found. I presume it is because I imported my data set over the global environment and files (I tried both) and now it is not linked to the markdown as the file is a downloaded csv files from Keaggle (there was no csv internet link).

Therefore I have been trying to set the working directory and import my data set again in different ways and lots of youtube videos. But most seem to do it over the files or global environment.

These are some of the codes I tried:
getwd() or HDI <- read.csv("./HDI.csv/") or library(readr)' and then HDI <- read_csv("<Desktop/Introduction to Statistics/Final/archive (2)/HDI.csv>")`
I also tried it with a converted excel file but still, it cannot be found over the rmarkdown console

Then I get error messages like
Warning in file(file, "rt"), cannot open file './HDI.csv/': Not a directory or Error in file(file, "rt") : cannot open the connection

Did anyone else download a csv file onto the computer and was able to fully link it to the rmarkdown working file?

Have a good evening!

Additional learn videos

Hi Guys,

I just wanted to add, that there are some learning courses on Data Camp, which maybe help you to refresh what we have learned. I just wanted to share it with you. :)

https://app.datacamp.com/learn/courses/introduction-to-the-tidyverse
https://app.datacamp.com/learn/courses/introduction-to-data-visualization-with-ggplot2
https://app.datacamp.com/learn/courses/data-manipulation-with-dplyr

And then Andrea asked me also to share thhe ModernDrive Book, which also gives you some additional help and info :)
https://moderndive.github.io/moderndive_labs/static/previous_versions/v0.4.0/2-getting-started.html

Maybe we could use this "Issue" to add interesting learning material.

Final assignment: Plot

image
Hello everybody :)
I'm a bit unsure about the gap in my plot, do I interpret this correctly that none of the respondents can be assigned with a materialist value of ~ 3.55 -3.7?

ifelse condition

Does anyone know, how to do an ifelse conditon with variables for "if" and "else" arguments. If I put the first variable as the argument that should result if my condition is true, it works, but as soon as I put the "else" argument, R just again takes the "if" variable.:

condition, x,y = variables

ifelse (condition == 1, x, y)

R just always takes x, even if there isn't a 1 in "condition".

If I try it with a single word like "no" instead of y....

ifelse (Condition == 1, x, "no")

.. it perfectly works.

Does anyone has a solution for this? Thanks a lot.

Final assignment: knitting

Hi :)
When I try to knit the document I get this error message.

processing file: Final-assignment-korrigiert.Rmd
Fehler in parse_block(g[-1], g[1], params.src, markdown_mode) :
Duplicate chunk label 'setup', which has been used for the chunk:
knitr::opts_chunk$set(echo = TRUE)
Ruft auf: ... process_file -> split_file -> lapply -> FUN -> parse_block
Ausführung angehalten

I included the following things but it still doesn't work.
title: "Final assignment"
author: "Laura Grawehr"
date: "29 11 2021"
output:
html_document:
toc: true
toc_float: true
theme: united

Can anyone help me?

ProblemSet2 Excersice 1.3

I work with @Andrina123 at the problemset and we are stuck at 1.3.
We are not able to add more than one controlvariable.
What are we doing wrong? How is it possible to add more than one controlvariable?
image

issues with downloading "gradethis" package

Hey everyone

I am having issues with installing the "gradethis" package to do the extra activities.
So far I have installed the "devtools" package, "learnr", "remotes" as well as set up the tutorial code. Everything works perfectly except the tutorial code as it is having issues or not finding resp. the load failed with "gradethis".

I have installed "gradethis" with the following code:

library(remotes)
remotes::install_github("rstudio/gradethis")

Which seems to have worked.
However, the issue occurs when I try to activate it

library(remotes)
remotes::install_github("rstudio/gradethis")

This is the error I get:
Error: package or namespace load failed for ‘gradethis’:
.onLoad failed in loadNamespace() for 'gradethis', details:
call: (function (exercise.cap = "Code", exercise.eval = FALSE, exercise.timelimit = 30,
error: unused argument (exercise.error.check.code = "gradethis_error_checker()")

I have googled it and found the following page (https://community.rstudio.com/t/building-tutorial-with-learnr-and-gradethis/116494) where someone else has had the same issue and someone suggested the following:
"The problem is most likely that gradethis requires the development version of learnr and according to your DESCRIPTION file the CRAN version is being installed. You can add rstudio/learnr to your Remotes section (and note that the repository for gradethis has moved).
Remotes:
rstudio/gradethis
rstudio/learnr"

As far as I am aware it already is already loaded with rstudio/gradethis. Has anyone managed to download everything and set up the workspace and may be able to help me here?

Lia

Final assignment: missing values

Hello everyone :)

When I use is.na("variable") to look if there are missing values, R always returns FALSE although I can see missing values when I look at the data.
Have you encountered the same?

Question: downloading data using "raw" button

@DeAngelisA I'm sorry, I already have problems with the first excercise in the R script. We have to import data from the website using "Raw" button. I know, that the button exists on Github, but how do I do it using data from Kaggle? I have already downloaded the dataset from the website and I have no problems importing it from my computer, but I don't understand how to import it from Kaggle website without the html code.

I used the code:
pokemon <- read.csv('https://www.kaggle.com/datasets/abcsds/pokemon/download')

But if I want to see my table in RStudio, it's just html code. Thanks!

Question about R Studio Coalition framework

I have a Dataset called CVP_Mitte_Position.
In this Dataset we can see how each Party voted for Climate votations in the Lucerne Council.
It is coded with 0 (vote against the law) and 1 (vote for the law)
So for example in one row we see SVP(0), FDP(0), CVP/Mitte(0), GLP(1), Grüne(1), SP(1), which will means SVP, FDP, CVP/Mitte are against the law and SP,GLP,Grüne are for the law
Now this vote-coalition can change, one time the CVP can vote together with SP,GLP,Grüne or CVP can only vote with the FDP ....

How can I create a code, where it will calculate the how many times the different coalitions voted together?
Example of coalitions (numbers are invented):
SVP, CVP, FDP: 35 times
GLP, SP. Grüne: 49 times
CVP, GLP, SP. Grüne:: 19 times
SVP, FDP: 3 times

Could someone help me or give me a hint?

Final Assignment: Problems with my Plots

Hi there

I am working to do the plots in the final assignment, but I am facing some visualizing problems.

I prepared my data set like this:


Suicide_rate_gdp <- Suicide_rate %>%
  rename(country = ï..country, gdp_per_year = gdp_for_year....) %>%
  group_by(country, year, gdp_per_year) %>%
  filter(year >= 1996, suicides_no > 0) %>%
  summarise(suicides_total = sum(suicides_no), pop_total = sum(population)) %>%
  mutate(suicides_per_pop=suicides_total*100/pop_total)

My tibble of the data is the following (after cleaning my data set):

image


First Problem:
Now while trying to do a plot, with my variables gdp_per_year and suicides_total (or even with suicides_per_pop)

ggplot(Suicide_rate_gdp, aes(x=gdp_per_year, y= suicides_per_pop)) +
  geom_point() + geom_smooth(alpha = 0.3, method=lm, se=FALSE, col="blue") + ggtitle("Scatter Plot: Suicides per Population and GDP per Year") + xlab("GDP per Year") + ylab("Suicide Rate per Population")

ggplot(data=Suicide_rate_gdp, aes(x=year, y=suicides_per_pop)) +
  geom_line()+ggtitle("Line Plot: Suicides per Population and Year") + xlab("Year") + ylab("Suicide Rate per Population")

ggplot(Suicide_rate_gdp, aes(x=gdp_per_year, y= suicides_total)) +
  geom_point() + geom_smooth(alpha = 0.3, method=lm, se=FALSE, col="blue") + ggtitle("Scatter Plot: Suicides per Population and GDP per Year") + xlab("GDP per Year") + ylab("Suicide Rate per Population")

ggplot(Suicide_rate_gdp, aes(x=suicides_total, y= gdp_per_year)) +
  geom_point() + geom_smooth(alpha = 0.3, method=lm, se=FALSE, col="blue") + ggtitle("Scatter Plot: Suicides per Population and GDP per Year") + xlab("GDP per Year") + ylab("Suicide Rate per Population")

all what comes out is this:
image

image

image

image


And I think it doesn't look good, I can't see anything specific. I am also confused, as I would like to be able to see in my plot, gdp_per_year, the difference between the countries (like in a legend) and also the year and the suicide rate. By defining my data set, wouldn't it be possible to see these 4 things in my plot? What am I missing? Because I am aware, that I have to include my My independent variable, whcih is in general the GDP per Country per year and my dependent variable is the suicide rate.

Or did I do sth wrong with my data?

Because while trying out the boxplot (not in ggplot) it looked perfect!

Suicide_rate_gdp %>% 
  boxplot(suicides_per_pop ~ year, data = ., main="Boxplot of Suicide Rate", ylab = "Suicide Rate per Population", xlab = "Year between 1996 - 2016", col="orange")
grid()

image


Or does it has something to do with the type of the variable? Because I found out, that the variable gdp_per_year is and I think (but I am not sure about it), it should be an . So I found out, that we can change it with this code:
But I am confused, as I am not sure how to integrate this change into my tibble / data set. (If this type of variable is the cause of it)

gdp_int <- as.integer("gdp_per_year")

Meaning of T and interpretation of Y

I don't know if this belongs on gitHub, since it's not actually related to the R code but I'm having trouble understanding the meaning of T and Y in problem set 2.

  1. Treatment T is described in part 1.2 as the presence (1) or absence (0) of health insurance. But in the related question "name treatment" ist mentioned ("create the variable y which reports the observed health for each job applicant, based on her/his name treatment status (T)"). Is this now about names after all as in QSS p. 46f.?

  2. The interpretation of Y is also unclear to me. Y is the "indicator of overall health (you can think of it as a standardized summary of multiple health tests)" but how exactly should I think of these tests? Does a high score mean that especially many health risks were found or that the health is especially good?

PS3 1.2

Hello everybody :)
I'm really struggling with 1.2.
I know that the formula for the expected value is: E(x)= xi* P(xi)
So I thought maybe: 500 (winning sum) * 0.5 + 5 (loosing sum) * 0.5 but then we know from exercise 1.1 that winning (which means having five consecutive heads in a row) has a smaller probability than loosing. But I don't know where to put those probabilities and also I'm very confused how/ where to use these brackets [].
Can anyone help me?

Problemset 2 Exercise 1.1

I am trying to solve the excessive 1.1 now for about 2 hours. Somehow I always get errors and R can not read my data. I tried these codes:

load("/Pfad/zur/Datei/Mein_Avengers_Datensatz_rec.Rdata") --> this is my filtered and transformed data from Problemset 1 in a Rdata format. Loading the data works as far as there are no errors. But then I try this Code:

fit1 <- lm(Number_of_appearances ~ Years_since_joining, data = Mein_Avengers_Datensatz_rec) --> This step isn't working. I get the error:

Error in eval(mf, parent.frame()) :
object 'Mein_Avengers_Datensatz_rec' not found

Trying other ways I get this error:
load(avengers_problemset1_clean_filtered_transformed) :
bad 'file' argument

Next I tried the code load(link of the path). But then I get this error:
Error in terms.formula(formula, data = data) :
invalid term in model formula

I just don't know what to do. Am I using the wrong data? Why isn't it working? Is my data in the wrong format?
It's really frustrating that I can't even solve the first part of exercise one.

Problem with exercise 1

Hey everyone, I am trying to do my exercise 1 but I have been stuck for hours with one error that does not let me continue forward. When I try to use select code to select 4 variables, R gives me the following error:
Error: Must subset columns with a valid subscript vector.
x Subscript has the wrong type data.frame< country : character beer_servings : integer spirit_servings : integer wine_servings : integer total_litres_of_pure_alcohol: double>.
ℹ It must be numeric or character.

I hope someone helps me find a solution to the problem as the assignment is for tomorrow. Thanks!

Error message mutate()

Hello everyone

I am struggling by understanding the following error message:

Error in UseMethod("mutate") : 
  no applicable method for 'mutate' applied to an object of class "character"

When I run the following code:
dat$YInsurance <- mutate(ifelse(test = dat$T == 1, yes = "1", no = "0"))

Can anyone help or has had a similar issue before?
Thank you
Lia

Final Assignment - does anyone else work with an ESS dataset?

Hi, i know i may be late to the party but this my first issue
for my FA i work with a dataset from ESS. It comes with a codebook, where i have to find / pick my variables. I have trouble finding all my variables.

I have a sneaking suspicion that I am not doing myself any favours with this dataset. Does anyone also work with ESS?

Thank you
Codebook.pdf
!

Final assignment: Contingency tables

Hello everyone,

I am working in my final assignment and I am stuck in a problem.

To summarize, I have three variables:

  1. Age -> It is a factor with 3 values: "18-30 years", "31-65 years", "66 or more years"
  2. Year of the survey -> Numeric variable (2002, 2004, 2006, 2008, 2010, 2012, 2014, 2016, 2018)
  3. Interest in politics -> With 4 values: 1 (Not at all interested), 2(Hardly interested), 3(Quite interested), 4(Very interested)

I want to see the average interest by age over the years. It would be like making a contingency table between the three variables. After much trying, I have only managed to reach the solution with the Stata program, which gives me the output of what I want to achieve:
table cat_age year, c(mean interest) format(%9.2f) center
Captura de pantalla 2021-12-20 a las 12 51 39

Does anyone know how to reach the same solution with R?

Perusall data: active reading time

Hi all, hi @DeAngelisA,

Looking at the read.xlsx spreadsheet, the following question came up:
The spreadsheet doesn't seem to be sorted by session, but by chapter / text. Most of them are easy to assign, however the chapter R4DS_Part_I_Explore has been used in sessions 2, 3, and 4. How should we now put in the active reading time? Just divide by three?

image

PS3: Exercise 3.1.5

Dear all :)

I am facing issues with the following point on exercise 3.1.5. The dependent variable res_price is a function of age, income plus the error term: on average, older and high-income consumers can spend more to buy your e-bike (feel free to choose how much more). Problem: I am not understanding well how I can set the parameters. How do I know which numbers I have to add/multiple/subtract from my variables? Of course, I understood that we have to do trial/error and find out what makes sense, but how do I know if I should take 0.01 and then 0.3 (like in the example of PS2).

This would be an example of the PS2, in which andrea set the parameters:

#y0i: overall health without insurance
#here I set a lot of parameters after some trial and error
y0 = -19 + 0.9 * age - 0.01 * age_sqrd - 0.3 * educ_high_school + 0.2 * educ_college + 0.6 * educ_grad_school + error

I also found this simple example on this page, but also here I am really confused with the parameters.
I am pretty sure I am overthinking this step.

set.seed(1234)

# Linear Regression
# Generate the independent variable and the error
x1=rnorm(100,50,9)
x2=rnorm(100,200,64)
error=rnorm(100,0,16)

# Generate the dependent variable (b0=150, b1=-4, b2=2.5)
y1 = 150 - (4*x1) + (2.5*x2) + error

# create the model
m1=lm(y1~x1+x2)
summary(m1)
autoplot(m1)

Thanks for a hint / help, very much appreciated :)

ifelse()

Hello all together

Flora and I have been working on our problem set #1. So far all good :) However, we have been having issues with ifelse(). We have predetermined the "high" and "low" however, cannot figure out how to structure the ifelse() argument respectively in which order to set the dataset, the variable, etc.

Thank you very much for your help!
Lia and Flora

Question mapping and setting

Did I understand it correctly: The differences between setting and mapping is basically the difference in variables:
In setting I can change the size, colour, shape…. but only using two variables.
But in mapping I add another variable. On Page 28- 32 we have on the x axis “displ” and on the y axis “hwy”. Adding now “size=year” I will add a new variable “year”.
Is this basically the main difference, the number of variables?

Final assignment: vectors

Github

Hello everyone :)

I wanted to transform my variable "education_level "such that the numbers from the data set correspond to different levels of education. But R returns to me that this vector has to be logical and not double. This makes no sense to me, because the variable is constituted by different education levels from 1 to 7 and not just TRUE or FALSE.
Does someone know what might be the problem?

Measuring performance of for loop - strange results

Hi all,
In this week's assignment, there was a task to measure the for loop performance depending on whether we allocate space first or not (part 4, page 317, Exercise 4).
I did this with the following code:

slow <- function(x) {
  t1 <- Sys.time()
  output <- vector("integer", 0)
  for (i in seq_along(x)) {
    output <- c(output, lengths(x[[i]]))
  }
  t2 <- Sys.time()
  T1 <- as.numeric(t2) - as.numeric(t1)
  return(T1)
}

fast <- function(x, lx) {
  t3 <- Sys.time()
  output <-vector("integer", lx)
  for (i in seq_along(x)) {
    output <- c(output, lengths(x[[i]]))
  }
  t4 <- Sys.time()
  T2 <- as.numeric(t4) - as.numeric(t3)
  return(T2)
}

Then I pass different arguments, however as you can see in the comments, the time is not as I expect: I expect fast < slow.

x = 1:5
lx = length(x)
slow(x) # [1] 2.717972e-05
fast(x, lx) # [1] 1.072884e-05

y = 1:1000
ly = length(y)
slow(y) # [1] 0.004562378
fast(y, ly) # [1] 0.002670527

z = 1:90000
lz = length(z)
slow(z) # [1] 3.894891
fast(z, lz) # [1] 12.16922

Does anyone have an idea what could be the problem here?

2.2.3

Hi Guys,

So I really AM struggling with the "for loop" including the creation of these 5000 dataframes. I managed to set the two empty vectors.
I don't get how I can include the creation of these df's with the caluculation of the mean / model. Do I have to set both in these brackets: { } and how am I supposed to combine these?

To receive the mean of the any variable, like the reservation price (var = res_price) I have to relate to a specific value, like if I store my df to x (x <- tibble(...)), I can code:

res_mean[i]  <- mean(x$res_price)

, but of course there are 5000 df, not just one. How can I refer to different df's in this code?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.