Ask a CS PhD student anything tech related

There are few interesting threads right now and I'm bored out of my mind. I know AMA threads are sort-of frowned upon, but if we keep it Sup Forums related, it should be okay.

I'm a CS PhD student working in project with alongside a company that makes hardware and software for PCIe-based interconnects. I'm not so into hardware stuff, and more of a software guy.

Ask me anything related to tech or to academia, and I'll answer as best I can.

what did you have for lunch 3 days ago and would you have it again?

How many dicks have you sucked?

technically speaking, how long is your dongle?

Three days ago (last friday) I worked from home and skipped lunch actually.

0

How many dicks haven't you sucked?

Unknown. I don't recall being asked to suck a dick (at least not in person), but maybe I have forgotten about it if I were.

Why don't you just tell us some cool shit. Like tell us what you think we should know.

>OP sucked an unknown amount of dicks.

Did studying CS actually teach you anything you currently know about computers and specifically programming?

Well, the knowledge and skill level on this board vary a lot. Let me think a little bit about that.

Indeed I have.

Why your company uses botnet based hardware and software like Apple, Microsoft and systemd?

Do you get paid better than the average code monkey, does the PhD matter?

What are you working on right now that you wanted to brag about in this thread?

Do you regret studying CS? If you could go back in time, would you choose another major?

Yes, very much so. I had only a superficial understanding of what programming was (I attempted to program some QuickBASIC stuff in my childhood), and I didn't at all understand how networks worked at all.

Of course, most of my specific knowledge comes from classes that were electable and from working actively on stuff. But yeah, CS taught me most of it.

Not really. But I would have tried harder in high school to get better grades in (and better understanding of) math and taken some heavier math classes. That's my only regret, as a lot of the really cool classes had the heavier math stuff as prerequisites.

As a PhD student, I don't get paid a lot (it's a decent salary, but not something to brag about). I doubt I will see a great increase compared to if I had just worked full time after I graduated my master's, but I expect to get decently paid, yes. Then again, it depends on the company I get to work for.

Good for you, then. My course was so theory and math heavy that I pretty much learned everything actually computer related on my own.

I'm working on a software framework to combine PCIe's IO capabilities with the shared memory architecture the PCIe interconnects create. More specifically, we want IO resources in a PCIe cluster to be available for every node in the cluster, rather than owned just by one node.

I guess a middle way is ideal then, since I think I had too little math.

Where did you study before your PhD? I attended ETH Zurich btw.

University of Oslo. I still get my PhD from there, but I'm employed by a national research institute and work in collaboration with a privately owned company. Basically, the national research council wants the industry to collaborate with academy, so they have a fund which you can create a project proposal and apply for.

>More specifically, we want IO resources in a PCIe cluster to be available for every node in the cluster, rather than owned just by one node.
Easy bridge the lanes. The end. Ur whalecum.

I'd really fucking like to know how those self encrypting work. How do you activate them? Do you have to use special software or Windows? Can you change the key? Will they work without a BIOS password? Just tell me everything, as there seems to be no concrete info about this.

So a botnet?

Bridging the lanes only allow for transparent bridging, which means that a single root complex owns the devices. This is already done when you use stuff like expansion chassis.

The PCIe interconnects work by using non-transparent bridging, which is basically translating addresses between root complexes and effectively creating a shared memory architecture. All devices and drivers are currently made with one root complex in mind, so you need entirely new semantics to deal with concurrent access from multiple machines.

I know next to nothing about self encrypting drives, sadly. But my guess is that this is handled by the disk driver, not by BIOS per se.

whats ur thesis gonna be

I need to narrow it down somewhat over time, but see first response in

Have you ever cheated on a test at uni?

Yes, but only once IIRC. I drew up the circuit for an opamp inverter because I studied and studied and could never remember how it was supposed to be.

>Bridging the lanes only allow for transparent bridging, which means that a single root complex owns the devices. This is already done when you use stuff like expansion chassis.
Bridge the lanes into a shared inteconnect for all nodes to access simultaneously, and scribble up a version of tsx for it. Done.

what personality type are you?

EZ PZ. Now let's solve some real problems.

You mean Meyer-Briggs? I get different type every time I take a test, so don't remember. It's pretty useless since the results are inconsistent anyway.

What is your opinion on Rome's dropping of Lorita Segmentia during the last stages of its existence and using the chain mail widely?

I don't have any opinions about this, but I guess the chain mail had greater coverage and was lighter?

>Bridge the lanes into a shared inteconnect for all nodes to access simultaneously
This is already done, because the interconnect sits on the PCIe bus (in fact, it *is* PCIe).

> and scribble up a version of tsx for it
The idea is to make it work with existing software and hardware, not to require vendors to make everything from scratch.

Explain to me how the device selection phase of the PCI configuration space access is implemented in the hardware?

I have troubles understanding this from Wiki:

"The PCI device is required to decode only the lowest order 11 bits of the address space (AD[10] to AD[0]) address/data signals, and can ignore decoding the 21 high order A/D signals ([AD[31] to AD[11]) because a Configuration Space access implementation has each slot's IDSEL pin connected to a different high order address/data line AD[11] through AD[31]. The IDSEL signal is an actually different pin for each PCI device/adapter slot"

If the IDSEL is on a different pin each slot, how the PCI card knows on which pin to check for a signal?

Should have Hannibal attacked Rome instead of destroying everything around it? or was it hopeless to begin with?

Sup Forums is pathetic

I think it was hopeless to begin with, I believe he exhausted his soldiers on the march there.

As mentioned in OP, I know very little about the hardware and I don't know a lot about bus enumeration. Sorry.

Why did you decide to do a PhD instead of making lots of money on the industry?

I actually worked full-time during my masters and for 6 months after my masters, but I was kind of disillusioned with the jobs I had and ultimately got seriously demotivated. As the embedded industry is extremely small where I live, I decided my best chance of doing something challenging and motivating was by getting into research.

But as I understand it, the IDSEL pin is correlated to the actual slot. I don't think it matters to the card itself, only to BIOS. Config space is read by BIOS and is more or less static, it doesn't require any interaction with the card.

maybe you have dissociative identity disorder

It's of course possible, but I doubt I would be functioning very well in my job (or in life in general) if I did.

How so?

Is CS a course worth to take or are there better options you think?

Technically, my degree is in "informatics" which is even a wider term than computer science. But it depends on a lot of factors, I think. Some places focus more on theoretical CS and mathematics, while others provide more of a heavier version of software engineering. Other places again, may be more into signal processing and hardware stuff.

So I would really check with different colleges/universities, and try to talk to someone who actually goes there (or have gone there) to get an impression.

It all boils down to what you're interested in. I was lucky enough to go to a place where they had a bunch of electable classes that suited my interests, but where the core classes everyone had to do were kind of shit.

>Oslo
Å halla, var det ingeniör innen datateknikk du gikk? Åssen er arbeidsmarkedet for nyutdanna bachelor studenter i Oslo området? Har UiO hvirkelig IT studier? Så aldri det når jeg sökte. Hvor tar du doktorgraden?

Så du tok Informatikk teknikk?

Why not information systems engineer?

>Å halla, var det ingeniör innen datateknikk du gikk?
Nei, informatikk.

>Åssen er arbeidsmarkedet for nyutdanna bachelor studenter i Oslo området?
Ikke fryktelig bra. Mitt inntrykk er at du enten må være heldig og få jobb in-house, ellers så må du bite i det sure eplet og ta en master. Alle de store konsulenthusene ansetter nesten utelukkende folk som har mastergrad dessverre.

>Har UiO hvirkelig IT studier?
Ikke såvidt jeg vet, nei.

>Hvor tar du doktorgraden?
Jeg får den fra UiO, men jeg er ansatt ved et forskningsinstitutt (som samarbeider med UiO).

Is not a field of study at the university I went to, or even the other universities here AFAIK.

Nei, det heter bare informatikk.

Have you installed gentoo?

No. I guess I should do that.

High level math you had learn?

What?

>Ikke fryktelig bra. Mitt inntrykk er at du enten må være heldig og få jobb in-house, ellers så må du bite i det sure eplet og ta en master. Alle de store konsulenthusene ansetter nesten utelukkende folk som har mastergrad dessverre.
Nice, jeg har tenkt å ta master på NTNU så da har jeg ikke mye å bekymre annet enn fryktelig mye lesing
Tror du data(teknikk)ingeniör er et solid valg?

Hva er den störste forskjellen mellom datateknikk og informatikk tror du?
Har du også noen studieteknikker du kunne annbefalt?

Snakker sikkert om Mattematikk III

>Tror du data(teknikk)ingeniör er et solid valg?
På NTNU, ja. :-)

>Hva er den störste forskjellen mellom datateknikk og informatikk tror du?
Jeg vet ikke så mye om informatikk på NTNU, men det jeg vet er at dataingenior er betraktet som den "ekte" ingeniorlinjen og er ganske bra. UiO har ikke noen ingeniorlinjer i samme forstand som NTNU, så mitt inntrykk er at NTNU sin dataingenior er ganske likt de informatikkursene jeg endte opp med å ta på Blindern.

>Har du også noen studieteknikker du kunne annbefalt?
Tja, det er jo ekstremt individuelt. Men noe jeg lærte tidlig er at å gjore ukesoppgaver jevnt og trutt igjennom hele semesteret hjelper.

En annen teknikk jeg har ofte brukt er når jeg begynner å lese til eksamen å skrive ut alle forelesningsfoiler og organisere temaer og kapitler på samme måte som de har blitt forelest, og skrive notater underveis. Gjerne jobbe sammen i en gruppe (kollokvie) og lese ett og ett tema, og så sporre hverandre. Også starte i god tid med dette (ca 2 uker), men ikke alt for lenge for selvsagt.

Wanting to teach or just running from student loans?

Neither, I'm making downpayment on my debt now (and have been since I were doing my masters) and I hate teaching.

What is best curry?

I have no idea. I didn't know there were different kinds of curry.

>pretending to not know any curry so you don't come off as indian
lol, give it a break pajeet

Anders Breivik...national treasure or national hero?

Village idiot, if anything. He managed to get the labour party have a historically good election in the municipality elections, because of sympathy votes, and he also set back the political climate for criticising islam and immigrant criminals because suddenly everyone felt an urge to distance themselves from what he might represent.

So running from the real world.

Jeg kom inn på ingeniör innen datateknikk på Vestfold da. Men planlegger å ta master på NTNU

>Også starte i god tid med dette (ca 2 uker),
Så en slags skippertaksteknilk?

Jeg lurer også på hvordan studiene generelt er. Er det mye skriving av flere sider med sitatet fra andre boker eller er det mest en ting som ble igjen på vidregående?

You could say that, but seeing how I'm collaborating with a privately owned company, I would claim that I actually do have one foot in the industry.

>Så en slags skippertaksteknilk?
Mer eller mindre, men det krever også at du faktisk har jobbet og lest underveis også.

>Er det mye skriving av flere sider med sitatet fra andre boker
Veldig lite av dette. Det er mest praktiske oppgaver kombinert med lesning på egenhånd. Det eneste du trenger å skrive egentlig er notater i forelesninger og mens du leser, men det er ikke sånn som det var på skolen i det hele tatt.

>Jeg lurer også på hvordan studiene generelt er
Og for å svare på dette: Det er litt forskjellig fra sted til sted. Hoyskolen er nok mye mer organisert i klasser på en måte, mens på universitetet er det 100% selvstendig arbeid (og du må finne deg en gruppe du trives å jobbe med helt på egenhånd). Men det er langt mer selvstendig arbeid enn det er på skolen og du blir i mye storre grad behandlet som en voksen (det er opp til deg hvor mye du gidder å gjore, når du gidder å jobbe osv). Det er selvfolgelig noen obligatoriske innleveringer nå og da, men i hovedsak så er det lite pliktarbeid.

How much theory of computation did you learn at uni?

I have a few if you care to answer.
What's your favorite operating system?
What's your opinion on System D from a design perspective?
UNIX or non UNIX?
What could be done in OS R&D that nobody's bothered to look into?

Not a lot, I did the obligatory classes on discrete mathematics and algorithms and data structures, but that's pretty much all I did. There were plenty of classes I could have chosen that went more into detail about this, but I chose a more practical route (as I'm not a theorist).

>What's your favorite operating system?
As a user: macOS
As a developer: Ubuntu Linux

>What's your opinion on System D from a design perspective?
I think it makes sense to try to unify the services systemd attempts to and for streamlining services it is perfect. But I do have sympathy for people who want to do stuff that isn't streamlined and end up fighting it. It's also quite a big shift, so getting to know it in and out requires a considerable amount of effort.

>UNIX or non UNIX?
Whether systemd is UNIX or non-UNIX you mean? I personally think "the UNIX philosophy" is a meme anyway, it's arbitrarily and vaguely defined.

>What could be done in OS R&D that nobody's bothered to look into?
Well, I'm obviously biased here, but I would say what I'm doing right now, actually. Exploring concepts of memory distance, and providing semantics to express memory locality in a much larger degree than it is done today. I would very much like to see concepts of far NUMA memory, for example, included into the kernel.

Some guys from Intel are working on an NTB implementation right now, so it might come pretty soon.

>Veldig lite av dette. Det er mest praktiske oppgaver kombinert med lesning på egenhånd. Det eneste du trenger å skrive egentlig er notater i forelesninger og mens du leser, men det er ikke sånn som det var på skolen i det hele tatt.
Deilig. Er ikke så glad i hundrevis av slike oppgaver
Her jeg går heter det hoyskole, men annet enn noen få timer i uka på datalabben, så er det mest frivillige forelesninger. Hogskolen i Sor-Ost Norge har sokt om å bli akreditert som universitet så det har nok noe med det å gjore
Hadde du noen valgfag det siste året på bachelor studiene? Hvis så, hvilke tok du?

>Hadde du noen valgfag det siste året på bachelor studiene?
Ja, hadde vel 70 studiepoeng valgfag totalt igjennom bacheloren. Tok blant annet et operativsystemkurs hvor vi skulle implementere en OS-kjerne fra bootloader til scheduler til virtuelt minne til filsystem, et kurs i programmering av mikrokontrollere, et kurs hvor vi implementerte en veldig enkel kompilator for et C-liknende språk, et kurs hvor vi lagde lag 2 og lag 3 routing, så var vel databasekurset et valgfag tror jeg.. Er ganske lenge siden nå.

Fordi fjerde semesteret mitt så har jeg noen valgfag, plus obligatorisk Bacheloroppgave og Systemutvikling. En av lærerne sa jeg må ta Optimering og Mattematikk III for å komme inn på NTNU.

Bildet relatert. Hvilke kunne du annbefalt? Jeg kunne tenkt maritim elektro automasjon i tillegg, men hvor mange tror du man kan ha kapasitet til?

Vet ikke hva opptakskravene til master fra hoyskolen er på NTNU dessverre, men personlig synes jeg jo at mikroelektronikk og introduksjon til engineering elektromagnetisme hortes veldig goy ut. Du burde helt sikkert ta matematikk III og optimering da, aner ikke hva optimering er, men matematikk har de helt klart krav til på NTNU.

Om du tar mekatronikk eller fluidmekanikk og oljehydraulikk eller varme- og energiteknikk eller konstruksjonsteknikk så kan det hende du kommer inn på en av de andre kombinerte sivilingeniorstudiene. For noen år siden i alle fall, så var det en av linjene på NTNU som kombinerte datateknikk med byggfag og noe annet.

NTNU har jo også en kybernetikk-linje da, om du er interessert i det.

How hard is it to get into a CS PhD program at a good university?
Everyone seems to want to get either an AI/ML or some sort of security-focused PhD, but what other (interesting) specializations are there?

So, in less inflated terms, you work for a think tank?

Well, AI and machine learning is definitively the most popular hype right now, alongside machine vision/3D reconstruction.

CS is a pretty wide field, I'm more into systems stuff now with the PCIe thing, but for my masters I did mostly TCP-related stuff.

As for how hard it is to get a PhD position at a good university, depends entirely on the university I think. The most common model is that they have some subtask of a project that they make into a PhD position and put out ajob posting, so many candidates apply for it.

No, it's a research institute. Think tanks are usually not state funded and do advocacy or try to influence policies, this is purely research based and wholly owned by the government. It's just independent of but loosely affiliated with the university, rather than being an university department.

Da får jeg se hva jeg får tid til. Tenker maritim er et godt valg også pga marinindustrien. Håper det blir mulig for kanskje på ett fag til
Tusen takk! Var jo kjempebra at det var en Nordmann med erfaring innen IT studier jeg mötte på her så jeg kunne få litt svar på forskjellige spörsmål jeg har innen studiene

What's your salary?

455k NOK before taxes (I pay around 28% in income tax), but I also get my broadband at home and phone bill covered because government benefits.

Cool, thanks. Last question, why are you on Sup Forums if you ignore insults well and seem like a well adjusted person?

Contrary to popular belief, there really are knowledgeable people lurking Sup Forums and /sci/ from time to time. I've had interesting discussions with people who know a lot more about the hardware part of PCIe than I do, for example.

Lykke til i alle fall! Håper alt går som du vil. :-)

I'm heading to college as a freshman next week to study CS, any advice?

What would you recommend to someone who hesitates which field of CS to pursue and has some interest in ML, networks and systems as well?

Also how useful is it to take a math minor or double major?

Join a hacker space or some student organisation that's relevant to your interest I guess. It will help with building a network, and you will most likely get help for study-related stuff and improve your skills by doing extracurricular stuff.

>What would you recommend to someone who hesitates which field of CS to pursue and has some interest in ML, networks and systems as well?
Well, you could always pick a bunch of classes and see what you like the best. I was kind of like you during my bachelor's, I picked courses here and there and didn't really know which route to go until I picked a master thesis and chose classes relevant to that.

>Also how useful is it to take a math minor or double major?
I'm not really sure, I guess a double major is always good. But in my country we don't really have that whole minor/major/double major thing. I mean, technically we do because we have 40+80 ECTS + 60 ECTS electables (so I technically I minored in math and majored in CS), but we don't really think in those terms on this side of the pond.

>$50k
lel what a poorfag

>But in my country we don't really have that whole minor/major/double major thing
Well, would you say that taking many more math classes than what is required for a typical CS curriculum is stupid, or does it give more opportunities for the future?

Well, it's grad school, so what did you expect?

If you plan on doing a masters, it definitively opens up some doors. If you plan on just going out and getting a job, in general it doesn't really pay off (most people don't really care what specific classes you took). HOWEVER, there are some employers out there that get hung up on these sort of things, and they tend to like that people have done a lot of math. If you get to choose between simple math and harder math, go for the harder. But don't replace classes you find interesting for math classes instead, if you don't have to.

If you can do them in addition, then consider it unless you have to work yourself halfway to death for it.

Well I'd like to go to grad school and ideally get a PhD because specializing seems interesting. Though there probably isn't much math in security-related fields (aside from crypto) if that's what I decide to do, it might still be useful.
Thanks for the advice man.

You can always ask some student advisor or something or go directly to one of the research groups and ask them what kind of classes they would recommend you to take and mention that you potentially would like to join them. I guess they would be able to give you lot better and more specific advise than I can do. Anyways, good luck to you.

...

I'm trying to model wind affecting a plant. I'm using a simple sine wave right now, where the peaks = max strength and the valleys = no wind. Can you use your math knowledge to think up a simple solution to generate a waveform that is less static, and that will generate "gusts" of wind in a pseudo-random matter?

I just need an algorithm or method.