• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Programming |OT| C is better than C++! No, C++ is better than C

Ambitious

Member
Question to anyone using a laptop with a non-QWERTY keyboard: How do you deal with inconvenient shortcuts (defined with QWERTY in mind)?

I'm using a built-in German QWERTZ keyboard. I can't find a specific example right now, but I've encountered many keyboard shortcuts which were awkward to type at best, but impossible to type at worst. This obviously hinders my coding productivity.

I could just switch the layout to QWERTY, but I can't 100% touch-type, I have to look once in a while. So the process of learning and memorizing the layout would probably be quite arduous. I'd need a printed reference or something next to my laptop.
 
Question to anyone using a laptop with a non-QWERTY keyboard: How do you deal with inconvenient shortcuts (defined with QWERTY in mind)?

I'm using a built-in German QWERTZ keyboard. I can't find a specific example right now, but I've encountered many keyboard shortcuts which were awkward to type at best, but impossible to type at worst. This obviously hinders my coding productivity.

I could just switch the layout to QWERTY, but I can't 100% touch-type, I have to look once in a while. So the process of learning and memorizing the layout would probably be quite arduous. I'd need a printed reference or something next to my laptop.

Most modern IDEs should allow you to customize all the keyboard shortcuts.
 

arit

Member
Question to anyone using a laptop with a non-QWERTY keyboard: How do you deal with inconvenient shortcuts (defined with QWERTY in mind)?

I'm using a built-in German QWERTZ keyboard. I can't find a specific example right now, but I've encountered many keyboard shortcuts which were awkward to type at best, but impossible to type at worst. This obviously hinders my coding productivity.

I could just switch the layout to QWERTY, but I can't 100% touch-type, I have to look once in a while. So the process of learning and memorizing the layout would probably be quite arduous. I'd need a printed reference or something next to my laptop.

After years of failing to consistently write {[]} I completely switched to us-international layout a few years ago with a cheap qwerty keyboard for the desktop and minor annoyances on using my qwertz laptop. It took some time getting used to it but in the end it was worth it, even switching between qwertz/qwerty keyboards isn't a problem anymore. Getting a mechanical keyboard is expensive though, at least compared to qwertz ones.
 
Good Evening GAF! Was hoping call on your powers for some advice in a C++ issue I'm having with for loops.

Below is an outline of what I'm trying to do in my program, I want to do this in C++

CCazEhCUEAA3Mbp.png


My code isn't giving me the output I want. I want to have math done to display how much is left in the body. For example, we start at 130.00. If the user enters 1 I'd like it to display in one hour, 113.1 is left in the body. If they enter 2 it should display 98.397 etc...

const float absorbed_dose = 130.00;
const float excretion_rate = 0.13;
float substanceremain = 0;
float math = absorbed_dose - absorbed_dose * excretion_rate;
float total;
int User_Hours, hour_count;

cin >> User_Hours;
cout << endl;

for (hour_count = 0; User_Hours > hour_count; hour_count++)
{
substanceremain = math;
total = substanceremain - substanceremain * excretion_rate;
cout << total << endl;
}
 

Saprol

Member
Code:
float substanceremain = 0;
float math = absorbed_dose - absorbed_dose * excretion_rate; 1

for (hour_count = 0; User_Hours > hour_count; hour_count++)
{
substanceremain = math; 2
total = substanceremain - substanceremain * excretion_rate; 3
cout << total << endl;
}
1. You don't need this math variable. Also, it causes all your results to be 1 hour off. When you enter 2 for user_hours, you get the amount you would expect after 3 actual hours.

2. substanceremain is being reset to the initial value at the start of each run through the loop, which gives you the same result over and over. You want to set it once instead.

3. You should be consistent with which variable you're going to use. substanceremain will not change because the new value for it is being set to total instead.
 
Code:
float substanceremain = 0;
float math = absorbed_dose - absorbed_dose * excretion_rate; 1

for (hour_count = 0; User_Hours > hour_count; hour_count++)
{
substanceremain = math; 2
total = substanceremain - substanceremain * excretion_rate; 3
cout << total << endl;
}
1. You don't need this math variable. Also, it causes all your results to be 1 hour off. When you enter 2 for user_hours, you get the amount you would expect after 3 actual hours.

2. substanceremain is being reset to the initial value at the start of each run through the loop, which gives you the same result over and over. You want to set it once instead.

3. You should be consistent with which variable you're going to use. substanceremain will not change because the new value for it is being set to total instead.

Thanks for the feedback, I changed a few things, but now the math is wrong and I cannot figure out why.

#include <iostream>
#include <iomanip>
#include <string>
#include<math.h>
#include<stdint.h>
using namespace std;
int main()

{
//VAR
const double absorbed_dose = 130.00;
double current = absorbed_dose;
const double excretion_rate = 0.13;
double remain;
int User_Hours, hour_count;

cout << fixed << showpoint << setprecision(2);
cin >> User_Hours;
cout << endl;

for (hour_count = 0; User_Hours > hour_count; hour_count++)
{
current = current - absorbed_dose * excretion_rate;
cout << current << endl;
}

//END
system("PAUSE");
return 0;
}
 

Saprol

Member
Thanks for the feedback, I changed a few things, but now the math is wrong and I cannot figure out why.
Code:
total = substanceremain - substanceremain * excretion_rate;
current = current - absorbed_dose * excretion_rate;
The line you wrote before was fine except for setting the result to total. Now you're subtracting the amount you would lose going from hour 0->1 each time instead of hour x->x+1.
 
I would argue that that's easier to understand than a lot of java code. You can tell by looking exactly what it's doing, which is just setting some fields of a struct to some values. Presumably it has to do with creating a window. You might not know what all those values mean, but that's just because you haven't looked at the documentation for the API being called.

I feel like my problem deals with naming conventions, while your example shows a problem with programming practices.

I mean, I'm not saying that the "enterprise" style Java code is easy to read. My argument is basically that code with much more meaningful names would improve readability for me a whole lot. That way, I wouldn't have to visit an API documentation to look up what lpfnWndProc means (like, is it a process? A procedure?) or what hInstance means.

And I'm not trying to single out the WinAPI, but I feel like a lot of C/C++ code I've come across looks similar.

(By the way, what it's the "lpfn" in "lpfnWndProc"? Is it Hungarian style?)
 
I feel like my problem deals with naming conventions, while your example shows a problem with programming practices.

I mean, I'm not saying that the "enterprise" style Java code is easy to read. My argument is basically that code with much more meaningful names would improve readability for me a whole lot. That way, I wouldn't have to visit an API documentation to look up what lpfnWndProc means (like, is it a process? A procedure?) or what hInstance means.

And I'm not trying to single out the WinAPI, but I feel like a lot of C/C++ code I've come across looks similar.

(By the way, what it's the "lpfn" in "lpfnWndProc"? Is it Hungarian style?)

I don't know about that. I googled "lpfnWndProc" and now I know what it does and when to use it in less than 10 seconds. If it was spelled out "LongPointerFunctionWindowProdure" I would have had to google the same exact thing.

Not that I think that the C-style names are good and I do prefer self-describing function/class/variable names but many times the problem lies in the underlying systems themselves. Like what the crap is a bean factory.
 
Code:
total = substanceremain - substanceremain * excretion_rate;
current = current - absorbed_dose * excretion_rate;
The line you wrote before was fine except for setting the result to total. Now you're subtracting the amount you would lose going from hour 0->1 each time instead of hour x->x+1.


Okay thanks so much for your input, I feel like I'm nearly there.

My question now is, what would I need to do if I wanted the program to only display one line for the number of hours they enter? Like if they enter 6 for hours, it will only display the math on that 6th loop?

#include <iostream>
#include <iomanip>
#include <string>
#include<math.h>
#include<stdint.h>
using namespace std;
int main()

{
//VAR
const double absorbed_dose = 130.00;
double current = absorbed_dose;
const double excretion_rate = 0.13;
double remain;
int User_Hours, hour_count;
string username;
string askusername = "Please enter your name: ";
string askhournum = "Please enter a number for hours: ";

//SET DECIMAL PRECISION
cout << fixed << showpoint << setprecision(2);

//MAIN
cout << askusername;
cin >> username;
cout << askhournum;
cin >> User_Hours;

if (User_Hours == 0)
{
cout << "Total Substrate for Hour " << User_Hours << " is " << current << endl;
}
else if (User_Hours < 0 || User_Hours >= 35)
{
cout << "Please enter a value for hours greater than -1 and less than 35" << endl;
}
else
{
for (hour_count = 1; User_Hours >= hour_count; hour_count++)
{
current = current - current * excretion_rate;
if (hour_count == 5)
{
cout << "Total Substrate for Hour " << hour_count << " is " << current << " Substrate is at Half-Life" << endl;
}
else
{
cout << "Total Substrate for Hour " << hour_count << " is " << current << endl;
}
}

}

//END
system("PAUSE");
return 0;
}
 
Okay thanks so much for your input, I feel like I'm nearly there.

My question now is, what would I need to do if I wanted the program to only display one line for the number of hours they enter? Like if they enter 6 for hours, it will only display the math on that 6th loop?

Put the display code outside (after) the loop?
 
I feel like my problem deals with naming conventions, while your example shows a problem with programming practices.

I mean, I'm not saying that the "enterprise" style Java code is easy to read. My argument is basically that code with much more meaningful names would improve readability for me a whole lot. That way, I wouldn't have to visit an API documentation to look up what lpfnWndProc means (like, is it a process? A procedure?) or what hInstance means.

And I'm not trying to single out the WinAPI, but I feel like a lot of C/C++ code I've come across looks similar.

(By the way, what it's the "lpfn" in "lpfnWndProc"? Is it Hungarian style?)

I know what you mean. I mean descriptive variable names are better. Part of it is just becoming familiar with the coding conventions of whatever you're working on. For example, Windows API calls have a couple of very common prefixes you'll see over and over:

cb - "count bytes" (e.g. the number of bytes of something)
dw - DWORD (e.g. the actual type DWORD)
pfn - pointer to function
h - handle
p, lp - pointer to something
sz - string

Once you know these, you can read almost all of the variable and type names.

I'm not saying that hungarian notation is necessarily good, but just that it only takes a small effort to be able to get the same vocabulary going, and then you can follow everything else.


As for visiting the documentation, I would argue that it's always good to visit the documentation, even if you can tell by looking at a variable name what it is. There are often many subtleties and interactions between the parameters that a simple name won't tell you. So even if you know what a variable is from its name, you should still check the documentation to see how to use it.
 

Ambitious

Member
Most modern IDEs should allow you to customize all the keyboard shortcuts.

Sure. I considered this once. But I imagine it must be really hard to come up with a set of shortcuts that makes sense and even more importantly, is consistent. Other people - smart people - have done this already, so surely adapting to their results is the better option.

After years of failing to consistently write {[]} I completely switched to us-international layout a few years ago with a cheap qwerty keyboard for the desktop and minor annoyances on using my qwertz laptop. It took some time getting used to it but in the end it was worth it, even switching between qwertz/qwerty keyboards isn't a problem anymore. Getting a mechanical keyboard is expensive though, at least compared to qwertz ones.

I can't see myself ever using a desktop again. Of course I could use an external keyboard with my laptop too, but that's no perfect solution either. My desk is not that big, I prefer my current distance to the screen and I'd have to take it with me if I intend to work elsewhere, e.g. at university.

But still, I think this has to be the best solution. Maybe I could keep my laptop close by putting it on some kind of stand, with the keyboard partially below it. This would probably even free up some desk space.
As for working elsewhere.. well, as I said, I could either take it with me or just deal with the built-in keyboard.

And the next time I buy a laptop, I will of course choose the US layout.
 

Purdy

Member
Strange and probably unwanted request but would anyone know somewhere I could perhaps get someone to do a small coding assignment for me for a fee (a small one, it is pretty short). Got bogged under with other coursework and a presentation to prepare for after work
 
Strange and probably unwanted request but would anyone know somewhere I could perhaps get someone to do a small coding assignment for me for a fee (a small one, it is pretty short). Got bogged under with other coursework and a presentation to prepare for after work

Can I get your instructor's email address?
 

Granadier

Is currently on Stage 1: Denial regarding the service game future
Wrote a program to simulate the LRU/OPT page scheduling algorithms last night. It was supposed to go from 1-8 frames available and then spit out the resulting faults for each number of frames.

Well, sleepy me saw the output of increasing faults as frames increased as just fine. It was pretty embarrassing handing it in today after realizing my mistake when talking with my classmates.
 
Well, the logic needs to execute in the event handler for both boxes. So I suppose you could outsource it to its own function that gets called from both event handlers, or just register the same event handler for both the checkboxes and handle everything there. Also from the snippet of logic you posted I'm not sure why Checkbox2 not being checked guarantees that Checkbox is checked, though maybe there is other logic.

I tried something like that but I still didn't like it. I got exactly what I was looking for by putting that code in the form's paint event. Now it even updates to the correct name at the start of the program.
 

iapetus

Scary Euro Man
I tried something like that but I still didn't like it. I got exactly what I was looking for by putting that code in the form's paint event. Now it even updates to the correct name at the start of the program.

This is a really bad idea. Just hearing it described makes me throw up in my mouth a bit, and I've worked with some seriously bad code...
 
I tried something like that but I still didn't like it. I got exactly what I was looking for by putting that code in the form's paint event. Now it even updates to the correct name at the start of the program.

If you want something to happen at the start of the program use Form_Load event. The correct way to achieve what you want is to set both checkboxes event handler to the *same* function.
 

survivor

Banned
Would reading 100 text files into memory be a bad idea? What about 1000 text files? Talking mostly about text files in Markdown format so I expect at max average size of each one would be like 20KB. This is working with Javascript/Node.js so I'm a bit unsure if the size of each file would translate 1:1 when it's under a String object. I feel like it would be bigger due to some overhead added by JS. Or maybe not, I'm really unsure how this works.

For a context, I'm working on a static site generator in Node.js and I'm trying to see if reading all the files at once and then process them would be better than say trying to read and process one file at a time.
 
1000*20KB = 20000KB = 20MB. You shouldn't have any problem fitting that in RAM. Too big for cache, though, but I'll admit I don't have much knowledge when it comes to cache. (And you can still read everything from file first.)
 

Mr.Mike

Member
Would reading 100 text files into memory be a bad idea? What about 1000 text files? Talking mostly about text files in Markdown format so I expect at max average size of each one would be like 20KB. This is working with Javascript/Node.js so I'm a bit unsure if the size of each file would translate 1:1 when it's under a String object. I feel like it would be bigger due to some overhead added by JS. Or maybe not, I'm really unsure how this works.

For a context, I'm working on a static site generator in Node.js and I'm trying to see if reading all the files at once and then process them would be better than say trying to read and process one file at a time.

That would probably be the better option, yes, given that disk I/O would be really slow compared to having it all in memory. And it's not that much memory really. (But what do I know, I'm just a student).
 

Granadier

Is currently on Stage 1: Denial regarding the service game future
Would reading 100 text files into memory be a bad idea? What about 1000 text files? Talking mostly about text files in Markdown format so I expect at max average size of each one would be like 20KB. This is working with Javascript/Node.js so I'm a bit unsure if the size of each file would translate 1:1 when it's under a String object. I feel like it would be bigger due to some overhead added by JS. Or maybe not, I'm really unsure how this works.

For a context, I'm working on a static site generator in Node.js and I'm trying to see if reading all the files at once and then process them would be better than say trying to read and process one file at a time.

In my opinion you would be better off reading the sites in one at a time, or loading just 5-10 sites at a time. Depending on your generation situation, if you load all of them at once, but only display 10 or generate 10 or however it's laid out, that's wasted space.

But, based on this SO question, if you are handling this on the server side and not trying to store them into the browser all at once, you should be able to load them all up. If you are handling this in the browser at all then you're limited by the heap size of each browser itself.
 

wolfmat

Confirmed Asshole
Would reading 100 text files into memory be a bad idea? What about 1000 text files? Talking mostly about text files in Markdown format so I expect at max average size of each one would be like 20KB. This is working with Javascript/Node.js so I'm a bit unsure if the size of each file would translate 1:1 when it's under a String object. I feel like it would be bigger due to some overhead added by JS. Or maybe not, I'm really unsure how this works.

For a context, I'm working on a static site generator in Node.js and I'm trying to see if reading all the files at once and then process them would be better than say trying to read and process one file at a time.

In nodejs, you can use Buffer.byteLength(yourstring, 'utf8') to determine its size. (Provided that UTF-8 is your encoding.)

Loading all strings, then processing them has the drawback that you have to wait until all strings are loaded before doing anything with the processing result.
Processing them one file after another enables you to get processing results early.

Cache misses are heavily reduced if you load, then process one file after another. Might not matter at all; depends on how you're traversing loaded data. (You'll have a hard time measuring this directly; you might observe less time used for processing though, along with less CPU cycles used (the latter is a tautology here -- less raw processing time => less cycles)).

Preloaded data is harder to debug -- diving into big dictionaries is a pain in the ass.

File reading locks your program if you're not processing while reading -- seems insignificant until you're going over lots of files. So use buffering: Declare the buffer, traverse the buffer. (Since you're using nodejs, I'm pretty sure you're already buffering. Just sayin'.)

Since you're buffering data, you should be nice to the buffer -- process as early as possible to leave time for file reads. This is much easier if you're not preloading data.

You'll probably do a directory listing to find the files in some folder (either directly or indirectly). In Linux systems, directory listings have to complete before producing output. So THIS LISTING should be done as early as possible, and if you can manage it, you should do it asynchronously. No biggie with 1000 files, but with, say, 398572 files, it'll result in a complete stall.

Edit: Oh, if you're on Linux, consider having the files in RAM on a RAM FS. Helps if file ops are the bottleneck.
sudo mount -t tmpfs -o size=200M none /your/path/to/poop/
Then copy to that folder.
As soon as you umount that, it's gone though. So it's some hot shit.

The directory listing stall issue can be handled with multibucket directories in RAM FS, that's only interesting if you're eating Twitter firehoses to feed a RabbitMQ or whatever. (Probably not what you're doing; you wouldn't ask then.)
 

Milchjon

Member
Trying to read some Haskell code and the syntax seems like a nightmare to my untrained eyes, compared to something like... any other language I've used before.

How are you supposed to quickly grasp the structure of some piece of code without syntax highlighting?

And pretty much none of it seems self-explanatory, I've seen alphabet soups with less random strings of symbols...

I'm too dumb for this shit. Bummer, because what little I've tried so far seems kinda fun.
 

injurai

Banned
Trying to read some Haskell code and the syntax seems like a nightmare to my untrained eyes, compared to something like... any other language I've used before.

How are you supposed to quickly grasp the structure of some piece of code without syntax highlighting?

And pretty much none of it seems self-explanatory, I've seen alphabet soups with less random strings of symbols...

I'm too dumb for this shit. Bummer, because what little I've tried so far seems kinda fun.

http://learnyouahaskell.com/

try this
also there are certainly syntax highlighting extensions and packages for various editors

I sort of agree with you about the syntax. It's a bit esoteric. Especially compared to other mathy languages.
 

Milchjon

Member
http://learnyouahaskell.com/

try this
also there are certainly syntax highlighting extensions and packages for various editors

I sort of agree with you about the syntax. It's a bit esoteric. Especially compared to other mathy languages.

Thanks, I already came across that book, but I have yet to take a closer look.

Oh well, will have to learn that stuff eventually, as it's part of a project this semester. Will be fun.
 

Tater Tot

"My God... it's full of Starch!"
Code:
private String convertNumber() {
        int quotient, remainder, digitCounter = 0;
        char tmp;        
        char [] remainders = new char[16];
        String answer = "";
        while(inputNumber != 0) {
            remainder = inputNumber % outputBase;        
            inputNumber /= outputBase;
            if(remainder < 10)
                tmp = (char) (remainder+0x30);
            else
                tmp = (char) (remainder+0x37);
            remainders[digitCounter++] = tmp;
            }
        // since the remainders are read from the bottom up, you
        // must reverse the answer string.
        for(int i=digitCounter-1; i >= 0; i--)
            answer += remainders[i];
        return answer;

So this is Java, I have a to convert this into assembler. But I am having trouble since in class we have not gone over arrays for Assembler.

I was thinking about using the mod function. Then diving by using the SHIFT command. Then set loop to keep going till the number user inputs is equal to zero. I am just having trouble even setting this up. Anybody got any ideas?
 

Slavik81

Member
In nodejs, you can use Buffer.byteLength(yourstring, 'utf8') to determine its size. (Provided that UTF-8 is your encoding.)
You need to know the encoding to find out how many bytes were allocated for your string? The underlying storage has to know the size of the string in bytes, so why do we need to know the encoding? I guess we should check the docs.
NodeJS Docs said:
Gives the actual byte length of a string. encoding defaults to 'utf8'. This is not the same as String.prototype.length since that returns the number of characters in a string.
No explanation as to why we need the encoding, but it does refer to how it's different from String...

...that's weird. Determining the number of Unicode characters in a string is an expensive operation compared to just returning the byte count. It also seems less useful. I wonder why String.prototype.length returns that. Let's check the docs.
Mozilla JS String Docs said:
This property returns the number of code units in the string. UTF-16, the string format used by JavaScript, uses a single 16-bit code unit to represent the most common characters, but needs to use two code units for less commonly-used characters, so it's possible for the value returned by length to not match the actual number of characters in the string.
Uh huh. So, the NodeJS docs are wrong.

These sorts of oddities and mistakes seem to follow Unicode around. It's like nobody can manage the enormous complexity that's been added by trying to make string into a language-agnostic editing tool.
 

Granadier

Is currently on Stage 1: Denial regarding the service game future
Out of curiosity, is there be a difference in the UTF character specs between V8 and SpiderMonkey?
 

survivor

Banned
thanks guys for the replies. I think I might end up going with loading files all at once and work with that. Seems like down the road it will help better with customizing and adding more features and it looks like memory shouldn't be a big issue. Realistically I doubt I'm ever gonna go above 1000 files. Although I might try to find a way of using date accessed of files to try and not load old ones to lessen the memory usage.

File reading locks your program if you're not processing while reading -- seems insignificant until you're going over lots of files. So use buffering: Declare the buffer, traverse the buffer. (Since you're using nodejs, I'm pretty sure you're already buffering. Just sayin'.)

Since you're buffering data, you should be nice to the buffer -- process as early as possible to leave time for file reads. This is much easier if you're not preloading data.
Quick question on this, I was under the impression file reading asynchronously in Node.js doesn't lock the program. Unless I'm misunderstanding what you are describing.
 

leroidys

Member
I have the need for some advice that doesn't involve code. I'm in a situation where I do 90% of my teams work (4 people, I'm the most junior by far), but my manager seems to either not be aware of the situation despite my many attempts to subtly bring it up, or he just doesn't give a shit because (most of) the works getting done anyway. We haven't had a project manager for the past ~5 months, which I think has contributed to the workload distribution getting so wonky. So now, even though I've had most of my teams work forced on me, it's appearing as if I'm the one slipping dates. My manager doesn't seem overly concerned about this, but it's more like "Oh, well you're still new so you'll get better/faster at this stuff as you learn" instead of the deserved "OMFG you're doing 3 other people's jobs heres a raise and a medal". I also feel like it makes me look bad outside of our team.

This is my first job out of college btw. Any advice is greatly appreciated.
 
I have the need for some advice that doesn't involve code. I'm in a situation where I do 90% of my teams work (4 people, I'm the most junior by far), but my manager seems to either not be aware of the situation despite my many attempts to subtly bring it up, or he just doesn't give a shit because (most of) the works getting done anyway. We haven't had a project manager for the past ~5 months, which I think has contributed to the workload distribution getting so wonky. So now, even though I've had most of my teams work forced on me, it's appearing as if I'm the one slipping dates. My manager doesn't seem overly concerned about this, but it's more like "Oh, well you're still new so you'll get better/faster at this stuff as you learn" instead of the deserved "OMFG you're doing 3 other people's jobs heres a raise and a medal". I also feel like it makes me look bad outside of our team.

This is my first job out of college btw. Any advice is greatly appreciated.

Sad to say this but most reasonable thing would be bail the hell out.

Other than, only thing you can do is either document the proof that you are doing 90% of the work and then take it on with the manager, HR and some kind of union worker / other party that looks after the interests of the workers (if you have that kind of luck) and present the facts in a "look at this shit" kind of way.

But most likely that won't lead to anything as your manager seems rather oblivious to the fact that things are going to shitter so it's pretty much back to the "bail out" point.
 
I have the need for some advice that doesn't involve code. I'm in a situation where I do 90% of my teams work (4 people, I'm the most junior by far), but my manager seems to either not be aware of the situation despite my many attempts to subtly bring it up, or he just doesn't give a shit because (most of) the works getting done anyway. We haven't had a project manager for the past ~5 months, which I think has contributed to the workload distribution getting so wonky. So now, even though I've had most of my teams work forced on me, it's appearing as if I'm the one slipping dates. My manager doesn't seem overly concerned about this, but it's more like "Oh, well you're still new so you'll get better/faster at this stuff as you learn" instead of the deserved "OMFG you're doing 3 other people's jobs heres a raise and a medal". I also feel like it makes me look bad outside of our team.

This is my first job out of college btw. Any advice is greatly appreciated.

Start polishing your resume and bail. Its clear you are in a bad situation that is unlikely to improve.
 

tokkun

Member
I have the need for some advice that doesn't involve code. I'm in a situation where I do 90% of my teams work (4 people, I'm the most junior by far), but my manager seems to either not be aware of the situation despite my many attempts to subtly bring it up, or he just doesn't give a shit because (most of) the works getting done anyway. We haven't had a project manager for the past ~5 months, which I think has contributed to the workload distribution getting so wonky. So now, even though I've had most of my teams work forced on me, it's appearing as if I'm the one slipping dates. My manager doesn't seem overly concerned about this, but it's more like "Oh, well you're still new so you'll get better/faster at this stuff as you learn" instead of the deserved "OMFG you're doing 3 other people's jobs heres a raise and a medal". I also feel like it makes me look bad outside of our team.

This is my first job out of college btw. Any advice is greatly appreciated.

Your job is to ensure that you can finish the work that is assigned to you, not to ensure that everyone is doing the same amount of work. If you are being assigned more work than you can reasonably finish, that is the problem you should focus on, not what everyone else is doing.

Tell your manager that you are overloaded and ask to have some of your responsibilities shifted. It may help for you to make a list of all the tasks that are assigned to you. Don't complain that you are doing more work than your teammates; that seems unprofessional.
 

wolfmat

Confirmed Asshole
Quick question on this, I was under the impression file reading asynchronously in Node.js doesn't lock the program. Unless I'm misunderstanding what you are describing.
Buffered reading doesn't lock up normally. I'm not sure whether you can read unbuffered in nodejs. My remarks weren't specific to reading files in nodejs.

Generally, nodejs callbacks should also not lock up your program, although there surely are cases where you can break that. (Fork bombs maybe.)

You'll probably do buffered reading with a callback, so I don't see a reason for a lockup. Even I/O errors will just lead to the error callback firing, as I understand it.

I tried to articulate some common file reading traps. So my remarks really were of a general nature. It would be good practice to check all file reading caveats with nodejs regardless. If you're just trying to get things done, don't bother though. I think you'll be fine with just reading the files early.
 
I have a technical interview next week for an internship. I've seen some advice here and I've got quite a few blogs covering interviews to look through, but for an internship what should I focus on studying? I'm just refreshing my knowledge on what I've learned in school so far.
 

msv

Member
I have the need for some advice that doesn't involve code. I'm in a situation where I do 90% of my teams work (4 people, I'm the most junior by far), but my manager seems to either not be aware of the situation despite my many attempts to subtly bring it up, or he just doesn't give a shit because (most of) the works getting done anyway. We haven't had a project manager for the past ~5 months, which I think has contributed to the workload distribution getting so wonky. So now, even though I've had most of my teams work forced on me, it's appearing as if I'm the one slipping dates. My manager doesn't seem overly concerned about this, but it's more like "Oh, well you're still new so you'll get better/faster at this stuff as you learn" instead of the deserved "OMFG you're doing 3 other people's jobs heres a raise and a medal". I also feel like it makes me look bad outside of our team.

This is my first job out of college btw. Any advice is greatly appreciated.
How does this go? Your teammates tell you to do this and that or something? Or do you just take up most of the tasks on the board? Either way it should be provable. Or is that not the case?

You can take up the project manager role and delegate tasks to your teammates. You can vie for the position as well with your manager, shouldn't be a problem if you've shown you're capable of all the tasks and doing all the work. I wouldn't continue without a project manager though, working without any organization seems horrible to me.
 
Top Bottom