Ask HN: I'm a graduate who focused on C/C++, HPC and CG. What to learn next?

Author: xerok

Score: 3

Comments: 9

Date: 2020-10-29 18:55:42

________________________________________________________________________________

Petrakis wrote at 2020-10-31 00:30:54:

What to learn next? Interpersonal skills!

cyberdrunk wrote at 2020-10-30 08:36:27:

I can do as a CS engineer to help solve the big problems of our time, such as climate change

So far, technology has only created environmental problems. I don't think environmental problems created by technology can be solved with technology without creating another problems.

xerok wrote at 2020-10-30 12:41:22:

I think that this topic is quite complex, and generalities are to be done with care.

Yes new technologies such as 5G and autonomous cars (electric or not), when doing a comprehensive analysis of those systems, will bring more problems than solutions. But technology has so many other shapes, even in the field of CS. Would working on software to simulate and visualise atmospheric phenomenons be working toward more problems ? Working on optimizing the use of an electric grid ?

Even 5G and autonomous cars are not problematic by themselves, its how we plan to make, deploy and use those technologies that will lead to even more troubles.

To sum up my view, I think that tech is not the problem, but tech providers and users are.

cyberdrunk wrote at 2020-10-30 13:34:24:

In general, all environmental problems that people create stem from using technology - i.e. without technology (starting with the most basic ones, e.g. mastering fire), we are harmless enough to not be able to do any damage. So far, the more technologies we've developed, the more damage we've done to the environment. I can't see this trend reversing.

xerok wrote at 2020-10-30 14:11:58:

Well, this trend will reverse, no way out of this. We either find solutions (voluntary degrowth for instance), or physics laws will stop us, and from that point the societies us two live in collapse.

But who knows what will happen ? So far, we developed new tech not thinking about those physical limits. That state of mind is definitely changing, especially among students. With that said I also tend to be pessimistic, and I don't think things are moving fast enough in the right direction. But if I do not hope for that, try to find where I can use my skills (and what I love to do) to help tackle those challenges, what do I do ? Because yes, egotistically, I still want to work in CS.

billconan wrote at 2020-10-30 02:03:21:

CUDA

vulkan,

ray tracing

fluid simulation

physics engine

xerok wrote at 2020-10-30 12:45:19:

When it comes to ray tracing and fluid simulation, I wonder if I should start with old papers and implementations, because it may be easier to get, or they are so outdated that it would be a waste of time.

billconan wrote at 2020-10-31 03:55:12:

for ray tracing you should start with

https://pbrt.org/

I'm not familiar with fluid simulation.

graphics is a broad field. there are many sub fields.

anthonyjhan wrote at 2020-10-30 14:19:04:

can someone answer this ? its so hard for me

public class ArrayOfEmployees {

static Scanner kb = new Scanner (System.in);

                public static void main ( ) {

                         final int SIZE = 100;

                         String [ ] empID = new String [SIZE];             //array of employee's id

                         String [ ] empName = new String [SIZE];           //array of employee's name

                         double [ ] empSal = new double [SIZE];            //array of employee's salary

                         int response;



                         System.out.println ("\fInput " + SIZE + " of Empolyees' Records");

                         accept (empID, empName, empSal);



                         System.out.println (“\nUnsorted lists output:”);

                         displayAllEmp (empID, empName, empSal);

 

    do {

                       System.out.println (“\nEmployee ID is found in location “ + searchByID (empID, empName, empSal));           

                      System.out.println (“\nThere are “ + countEmpSalary (empSal, sal) + “  whose salary is above “ + sal);

        System.out.println ("\nReapeat? Press [0] to stop. >>> ");

        response = kb.nextInt();

    }while (response != 0);



                        sortBySalaryInDescending (empID, empName, empSal);                

                        System.out.println (“\nSorted lists output by Employee's Salary in Descending Order”);

                        displayAllEmp (empID, empName, empSal);



          sortByEmpNameInAscending (empID, empName, empSal);

                        System.out.println (“\nSorted lists output by Employee's Name in Ascending Order”);

                        displayAllEmp (empID, empName, empSal);

                        


                        do {

                       System.out.println (“\nEmployee's name is found in location “ + searchByName (empID, empName, empSal));                  

                      System.out.println (“\nThere are “ + countEmpSalary (empSal, sal) + “  whose salary is above “ + sal);

         deleteSpecificEmpByID (empID, empName, empSal);

        System.out.println ("\nReapeat? Press [0] to stop. >>> ");

        response = kb.nextInt();

    }while (response != 0);                    

                }//End of method main



                //Method Descriptions. 

                //You may also add a code in the main method if you think it is necessary but never delete from the existing code.

1. accept (empID, empName, empSal) – 10 points

- input N number of employees’ records. ID number must be unique. If ID number is not unique, discard the input.

2. displayAllEmp (empID, empName, empSal) – 5 points

- display all employees’ records in table form

3. searchByID (empID, empName, empSal)) – 5 points

- Input employee’s ID to be searched. Display employee’s information if found, otherwise, display an appropriate message. Use linear search in searching.

4. searchByName (empID, empName, empSal)) – 5 points

- Input employee’s name to be searched. Display employee’s information if found, otherwise, display an appropriate message. Use binary search in searching.

5. countEmpSalary (empSal, sal) – 5 points

- count and returns the number of employee whose salary is greater than sal

6. sortBySalaryInDescending (empID, empName, empSal) – 5 points

- arrange the records in descending order using salary as the key

7. sortByEmpNameInAscending (empID, empName, empSal) - 5 points

- arrange the records in ascending order using name as the key

8. deleteSpecificEmpByID (empID, empName, empSal) – 5 points

- Inputs ID to be deleted. If found, remove the record, otherwise, display appropriate message.

}