오늘 흥미로운 걸 발견하는 운이 좋은 모양이네요. HN에서 보았는데, 결과물보다는 코멘트 첫머리에 링크된 블로그포스팅이 더 재미있었습니다.
글 초반의 어떤 문구에서 저는 부정적인 인상을 받았는데, HN에서 본 다음 코멘트를 읽고 조금 완화되었습니다.
I mean this pretty literally though - I'm not particularly interested in these questions. They've been discussed a ton by people way more qualified to discuss them, but I personally I feel like it's been pretty much the same conversation on loop for the last 5 years...
That's not to say they're not very important issues! They are, and I think it's reasonable to have strong opinions here because they cut to the core of how people exist in the world. I was a musician for my entire 20s - trust me that I deeply understand the precarity of art in the age of the internet, and I can deeply sympathize with people dealing with precarity in the age of AI.
But I also think it's worth being excited about the birth of a fundamentally new way of interacting with computers, and for me, at this phase in my life, that's what I want to write and think about.


















![part of source code
virtual void build(Graph& ssg){
enum NodeFlag {NS_CORE, NS_CNEIGH, NS_UNV};
NodeFlag* node_flags = new NodeFlag[nof_sn]; //indexed by node_id
int** weights = new int*[nof_sn]; //indexed by node_id
int* t_parent_node = (int*) calloc(nof_sn, sizeof(int)); //indexed by node_id
MAMA_PARENTTYPE* t_parent_type = new MAMA_PARENTTYPE[nof_sn]; //indexed by node id
for(int i=0; i<nof_sn; i++){
node_flags[i] = NS_UNV;
weights[i] = new int[3];
weights[i][0] = 0;
weights[i][1] = 0;
//weights[i][2] = ssg.out_adj_sizes[i] + ssg.in_adj_sizes[i];
weights[i][2] = ssg.out_adj_sizes[i] + ssg.in_adj_sizes[i];
t_parent_node[i] = -1;
t_parent_type[i] = PARENTTYPE_NULL;
}](https://media.hackers.pub/note-media/37aa3455-d16b-4549-8193-023e705e4ba7.webp)
![part of source code
edges[si] = new MaMaEdge[e_count];
e_count = 0;
for(i=0; i<ssg.out_adj_sizes[n];i++){
if(map_node_to_state[ssg.out_adj_list[n][i]] < si){
edges[si][e_count].source = map_node_to_state[n];
edges[si][e_count].target = map_node_to_state[ssg.out_adj_list[n][i]];
edges[si][e_count].attr = ssg.out_adj_attrs[n][i];
e_count++;
}
}
// for(i=0; i<ssg.in_adj_sizes[n];i++){
// if(map_node_to_state[ssg.in_adj_list[n][i]] < si){
// edges[si][e_count].target = map_node_to_state[n];
// edges[si][e_count].source = map_node_to_state[ssg.in_adj_list[n][i]];
// e_count++;
// }
// }
for(int j=0; j<si; j++){
int sn = map_state_to_node[j];
for(i=0; i<ssg.out_adj_sizes[sn]; i++){
if(ssg.out_adj_list[sn][i] == n){
edges[si][e_count].source = j;
edges[si][e_count].target = si;
edges[si][e_count].attr = ssg.out_adj_attrs[sn][i];
e_count++;
}
}
}
}
delete[] node_flags;
for(int LoopIndex=0; LoopIndex<nof_sn; LoopIndex++)
delete[] weights[LoopIndex];
delete[] weights;](https://media.hackers.pub/note-media/965fa84f-e90c-4256-be5d-39f60182dda2.webp)