Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Jonnty
Aug 2, 2007

The enemy has become a flaming star!

Triple Tech posted:

Here's a thread on StackOverflow, how do I deter decompilation of my program?. A handful of answers recommend compiling with full optimizations. My question is... What does that mean? How does that prevent one from decompiling a program? (Of course not literally, just making it harder, right?)

I guess I'm not familiar with what side effects optimizations have to code rather than straight up compiling. :confused:

What makes you think your code is so important that people will be lining up to reverse-engineer it, and is that really a problem?

Adbot
ADBOT LOVES YOU

Triple Tech
Jul 28, 2006

So what, are you quitting to join Homo Explosion?
I don't know if this wasn't clear, that's not my post. I'm merely asking what the effects of optimization are on compiled code.

Sweeper
Nov 29, 2007
The Joe Buck of Posting
Dinosaur Gum
I am getting a strange error when I compile under linux (kubuntu in VM) with a project that works on Windows and Linux.

error: macro "max" requires 2 arguments, but only 1 given

The way I fixed this in the past is to go through and every time it says this for min or max I put "#undef min" or "#undef max". This makes it compile and it works, but I feel like there is something I am missing.

Here is my makefile, I'm not sure what info to add about the project to help. It uses the HL2SDK, it is a plugin for source dedicated server for the game counter strike source.

http://pastebin.com/mbd9554a

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh

Triple Tech posted:

I don't know if this wasn't clear, that's not my post. I'm merely asking what the effects of optimization are on compiled code.

Luckily for you, Wikipedia has an article all about compiler optimization, conveniently named "compiler optimization".

shrughes
Oct 11, 2008

(call/cc call/cc)

Sweeper posted:

error: macro "max" requires 2 arguments, but only 1 given

Well, what line of code is giving this error?

Sweeper
Nov 29, 2007
The Joe Buck of Posting
Dinosaur Gum

shrughes posted:

Well, what line of code is giving this error?
Some files in /usr/include/c++/4.4

Specifically if I remember off the top of my head, stl_algobase.h, limits, sstream.tcc and couple other I cannot remember.

An example would be:
code:
For max:
const __size_type __opt_len = std::max(__size_type(2 * __capacity), __size_type(512));
For min:
const __size_type __len = std::min(__opt_len, __max_size);
Also sometimes it complains it got 3 arguments instead of 1.

Sweeper fucked around with this message at 19:15 on Feb 16, 2010

ShoulderDaemon
Oct 9, 2003
support goon fund
Taco Defender

GrumpyDoctor posted:

Is it not just that you can't share the results of anonymous functions? (How could you?) That seems too simple.

That's pretty close. The fact that the function is anonymous doesn't really matter, just the fact that there's a parameter. Consider:

code:
one_list :: [Int]
one_list = 0 : [ x + 1 | x <- one_list ]

some_lists :: Int -> [Int]
some_lists n = n : [ x + 1 | x <- some_lists n ]
In the first case, there is obviously only one list. Once it's computed, it's done. As a result, the runtime can replace it's uncomputed definition with its computed form, saving work.

In the second case, the list depends on a parameter n. There are many lists, one for each value of that parameter. The runtime can't replace the general-case code for building a list with a computed list, because it might need the general-case code again later. So the result is not memoized automatically.

The rules are approximately as follows:

In the expression let x = foo in bar, the computation of foo will happen at most once per computation of bar.

In the expression \x -> foo the computation of foo will not be saved.

Vanadium
Jan 8, 2005

Sweeper posted:

I am getting a strange error when I compile under linux (kubuntu in VM) with a project that works on Windows and Linux.

error: macro "max" requires 2 arguments, but only 1 given

The way I fixed this in the past is to go through and every time it says this for min or max I put "#undef min" or "#undef max". This makes it compile and it works, but I feel like there is something I am missing.

Here is my makefile, I'm not sure what info to add about the project to help. It uses the HL2SDK, it is a plugin for source dedicated server for the game counter strike source.

http://pastebin.com/mbd9554a

windows.h defines min and max as macros because it is retarded, maybe you are indirectly including that or something else that is as stupid.

You are apparently defining NOMINMAX to avoid that, but it loks like you are doing things in C++ and only setting that for C or something. Not sure. :shobon:

Vanadium fucked around with this message at 21:18 on Feb 16, 2010

Strat
Nov 6, 2004
Got a very simpler (I assume) question about a simple batch script i'm writing.

I'm using the following to search for all the *.txt files recursively in a directory.

code:
FOR /F %%a IN ('DIR /b /X *.TXT') DO ECHO %%~da %%~na %%~xa
%%~da returns the path
%%~na returns the filename
%%~xa returns the extension.

This works fine if there are no spaces in the filenames. But if there is a space it only returns the first portion of the filename.

Is there an easy way around this?

(My apologise if this is a stupid/simple question... Google isn't giving me much in return).

Sweeper
Nov 29, 2007
The Joe Buck of Posting
Dinosaur Gum

Vanadium posted:

windows.h defines min and max as macros because it is retarded, maybe you are indirectly including that or something else that is as stupid.

You are apparently defining NOMINMAX to avoid that, but it loks like you are doing things in C++ and only setting that for C or something. Not sure. :shobon:
It compiles under windows without error or warning, but it fails under Linux, does Linux have a Windows.h somewhere that it includes? If so I will look to see if my project includes it and put an #ifndef or something around it.

Vanadium
Jan 8, 2005

Sweeper posted:

It compiles under windows without error or warning, but it fails under Linux, does Linux have a Windows.h somewhere that it includes? If so I will look to see if my project includes it and put an #ifndef or something around it.

Just guessing here, maybe the SDK headers include a copy or something. Can you search them for #define max or something?

raminasi
Jan 25, 2005

a last drink with no ice

ShoulderDaemon posted:

That's pretty close. The fact that the function is anonymous doesn't really matter, just the fact that there's a parameter. Consider:

code:
one_list :: [Int]
one_list = 0 : [ x + 1 | x <- one_list ]

some_lists :: Int -> [Int]
some_lists n = n : [ x + 1 | x <- some_lists n ]
In the first case, there is obviously only one list. Once it's computed, it's done. As a result, the runtime can replace it's uncomputed definition with its computed form, saving work.

In the second case, the list depends on a parameter n. There are many lists, one for each value of that parameter. The runtime can't replace the general-case code for building a list with a computed list, because it might need the general-case code again later. So the result is not memoized automatically.

The rules are approximately as follows:

In the expression let x = foo in bar, the computation of foo will happen at most once per computation of bar.

In the expression \x -> foo the computation of foo will not be saved.

I think you were giving me too much credit when you said I was close, but I think I understand better now.

tripwire
Nov 19, 2004

        ghost flow

tablebreaker posted:

Here's a quick question: How can I run a script/whatever that will allow a text editor (eg Notepad++) to search and select all text between <div id="here"> and </div>, and delete all other text? Bonus points if it could do this with multiple sections-- keep <title>*</title> in addition to the div "here"...

Does this make sense? Thanks for any help...

Notepad++'s regular expressions are horribly twisted and broken so you are kind of out of luck there without a horrendous hairy kludge.

Theres about a billion ways to do this, but I can't really suggest one without knowing more about what it is you are trying to do. What do you want to do with the text inside that div tag?

It sounds like you want the functionality of a full fledged html (or at least xml) parser; have you got any experience with jquery or say xpath?

torb main
Jul 28, 2004

SELL SELL SELL
edit: nevermind, figured it out

torb main fucked around with this message at 04:17 on Feb 17, 2010

Sweeper
Nov 29, 2007
The Joe Buck of Posting
Dinosaur Gum

Vanadium posted:

Just guessing here, maybe the SDK headers include a copy or something. Can you search them for #define max or something?

This is what I got with grep

code:
./boost/boost_1_38/boost/gil/deprecated.hpp:#define max_channel         static_max
./boost/boost_1_38/tools/jam/src/modules/sequence.c:# define max( a,b ) ((a)>(b)?(a):(b))
./boost/boost_1_38/tools/jam/src/make.c:    #define max( a,b ) ((a)>(b)?(a):(b))
./boost/boost_1_38/libs/gil/doc/html/g_i_l_0072.html:<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#define max_channel         static_max</span>
./HL2SDK/public/XZip.cpp:#define max_insert_length  max_lazy_match
./HL2SDK/public/minmax.h:#define max(a,b)  (((a) > (b)) ? (a) : (b))
./HL2SDK/public/tier0/basetypes.h:	#define max(a,b)  (((a) > (b)) ? (a) : (b))
./HL2SDK/vgui2/controls/Label.cpp:#define max(a,b)            (((a) > (b)) ? (a) : (b))
./HL2SDK/vgui2/controls/QueryBox.cpp:#define max(a,b)            (((a) > (b)) ? (a) : (b))
./HL2SDK/vgui2/controls/MessageBox.cpp:#define max(a,b)            (((a) > (b)) ? (a) : (b))
./HL2SDK/vgui2/controls/ProgressBox.cpp:#define max(a,b)            (((a) > (b)) ? (a) : (b))
./HL2SDK/vgui2/controls/TreeView.cpp:#define max(a,b)            (((a) > (b)) ? (a) : (b))
./HL2SDK/vgui2/controls/RichText.cpp:#define max(a,b)            (((a) > (b)) ? (a) : (b))
./HL2SDK/vgui2/controls/ListPanel.cpp:#define max(a,b)            (((a) > (b)) ? (a) : (b))
It seems like everything is normal to me?

mdemone
Mar 14, 2001

All I need is a way to string a bunch of Postscript files (visualizations of galaxy simulations; each .ps frame is about 10 MB) together into a movie, where I can choose the resolution and the output won't look like somebody filmed a flipbook of inkjet-printed paper using a first-generation iPhone.

I've tried using "convert" to get .png frames and then again to produce an .mpg -- are there options I can select that will ensure my quality is super-high in the video encoding part? Or am I doomed to use a different software package?

Scaevolus
Apr 16, 2007

mdemone posted:

...output won't look like somebody filmed a flipbook of inkjet-printed paper using a first-generation iPhone.

...to produce an .mpg
I think I found your problem!

You probably want to use x264 with mencoder as the frontend.

mdemone
Mar 14, 2001

Scaevolus posted:

I think I found your problem!

You probably want to use x264 with mencoder as the frontend.

Okay, I'll muddle on that for a while. Thanks, I figured it's always the codec-

Richard M Nixon
Apr 26, 2009

"The greatest honor history can bestow is the title of peacemaker."
I've been a CS student for a few years now, and I'm ready to try and make a program outside of university. I have an idea for a D&D style game, but once I sat down to begin I realized I have no loving idea how to get started on a 'real' program that wasn't assigned to me as homework. I don't even know how to describe the sort of uncertainty I'm feeling. For starters, I have no idea what the gently caress sort of IDE I should be using. In class, all we've gotten up to is writing separate .h and .cpp files and a basic overview of memory management and classes. I wast this to be a learning experience, but I feel the first step is way too big. I am used to writing all of my programs in gedit and hand-writing my g++ compilation scripts. I have no idea how to begin making a gui either.

I am here to learn, so I tried to dive in headfirst. I looked up IDEs and found that QT was both popular and had books published on it, was available on linux, and was open source. I downloaded the most recent version and was again met with disappointment. Now I am faced with project views, all sorts of complicated ways to manage classes and separate files, and I again feel overwhelmed. The question I want to ask is "How do you get started writing a program?" but that is stupid and ignores the fact that I am a goddamn CS student who is plagues with meaningless courses that haven't taught me jack poo poo about writing code.

How should I organize myself? I have learned UML from one professor only to be told by another that is is useless. One prof told me that I should start by making a main menu (gui) to figure out what I want to be done, and another told me to write down every function and class, maping a map of what inherits what as I go. I know this is a big thing to start off on, but I know I will lose interest in CS if it doesn't connect with me soon. I'm stuck taking technical writing and ethics, and I've forgotten what the gently caress :: means in C++.

Is it best to stick to what I know and just open up my little text editor and bang out a command line, poorly written, memory leaking program and then refine it slowly and surely, probably rewriting the whole loving thing because QT has all this extra poo poo that I don't even begin to understand?

I've been working on this project for 7 hours today, so my brain is a little fried.

TL;DR: I am a student who has never had the opportunity to write a program that wasn't handed out and carefully structured by a teacher. I am trying to take on a project ten times bigger than me and I am making GBS threads my pants in fear as the scope of it and reconsidering my degree plan. How can I pull myself together and teach myself how to use a big boy's IDE?

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh

Richard M Nixon posted:

I looked up IDEs and found that QT was both popular and had books published on it, was available on linux, and was open source.

If you think Qt is an IDE, you have a loooong way to go. (You're probably thinking of Qt Creator, which is different from Qt.)

Also I'm really curious what constitutes "a few years" of CS education, since I think most schools stop teaching the ins and outs of programming languages around the end of the first year (sometimes moving into first semester of sophomore year).

Avenging Dentist fucked around with this message at 05:14 on Feb 20, 2010

Dijkstracula
Mar 18, 2003

You can't spell 'vector field' without me, Professor!

Richard M Nixon posted:

:words:
Things like IDEs really don't matter. You can be just as productive with vim + gdb as with Visual Studio, so don't get hung up on little things like that. Just pick something and use it until you get pissed off, then try something else. Repeat until you've found something that you hate the least. :)

As for how to get started, start small and work up. Get a small subset of the final project working and use that to build up the next component. Working on the GUI frontend is one way, but as you've pointed out, QT is an enormous nightmare. Why not start with a console-based version? This lets you get all the program logic down, and if you've written it properly, nothing needs to be changed on the back-end of things.

As for designing, I agree that UMLing everything is overkill, especially for a personal project. But, it's not a bad idea to informally sketch out what you want it to do, just sort of as a brainstorming exercise. At the end of such sessions, for me, I usually have a rough inheritance tree, pseudocode for a few key functions, an idea of how the program as a whole works, a GUI mockup, etc. I generally try to not start coding until I can "see" the project all at once, if that makes sense.

quote:

Is it best to stick to what I know and just open up my little text editor and bang out a command line, poorly written, memory leaking program and then refine it slowly and surely,
yes, it's the only way you get better.

mdemone
Mar 14, 2001

Scaevolus posted:

You probably want to use x264 with mencoder as the frontend.

Following up on this...

After I convert .ps to .png with -density 300, and then run mencoder with x264 as follows:

code:
for i in `gseq 1 3`; do mencoder mf://*.png -sws 10 -mf fps=24 -vf scale=800:800 /
-ovc x264 -x264encopts qp=40:subq=7:pass=$i:bitrate=2000 -o output.avi; done
I get the below result where the AVI output on the right has a hosed-up color profile compared to the input PNG frame on the left. Anybody know what's going on? The color-loving happens in a different way on each frame, if that matters.

Only registered members can see post attachments!

Scaevolus
Apr 16, 2007

mdemone posted:


A few things come to mind:

- PNG decoding: maybe convert wrote palette-based files that aren't being read properly? Try playing the PNG sequence with mplayer and see if it looks right.
- Colorspace: I think mencoder converts colorspaces automatically, but you might try explicitly converting to YUV for x264.
- Muxing an H264 stream into an AVI container: Try making mencoder produce y4m (raw) output (perhaps to a special fifo file), use x264 on the raw file, then mux the resulting .x264 file with mkvmerge or mp4box.


As a side-note, you probably want to use x264's crf mode (-crf 18 for good quality) instead of qp & bitrate.

mdemone
Mar 14, 2001

Scaevolus posted:

A few things come to mind:

- PNG decoding: maybe convert wrote palette-based files that aren't being read properly? Try playing the PNG sequence with mplayer and see if it looks right.
- Colorspace: I think mencoder converts colorspaces automatically, but you might try explicitly converting to YUV for x264.
- Muxing an H264 stream into an AVI container: Try making mencoder produce y4m (raw) output (perhaps to a special fifo file), use x264 on the raw file, then mux the resulting .x264 file with mkvmerge or mp4box.

I don't understand your third point, but the first two seem to be appropriate. Converting to JPG and then using the same mencoder command eliminates the color problem, but the JPGs look lovely, of course.

I've installed pstopng and that seems to produce PNGs that work much better with x264. ImageMagick can lick me.

Scaevolus posted:

As a side-note, you probably want to use x264's crf mode (-crf 18 for good quality) instead of qp & bitrate.

Thanks for that, it helped-

fletcher
Jun 27, 2003

ken park is my favorite movie

Cybernetic Crumb
I'm thinking about rewriting The Awful Yearbook. I've been writing a bunch of Java lately and going back to the dynamically typed PHP is a bit frightening. Am I crazy for just wanting to rewrite the whole thing? I'm also a huge fan of Eclipse now, I never was able to find a PHP IDE I really liked. Am I going to regret this?

Factor Mystic
Mar 20, 2006

Baby's First Post-Apocalyptic Fiction
Theres nothing stopping you from starting, then stopping if it doesn't seem to be working out. Just keep the existing site live and put the project on a separate subdomain while you work on it.

Plus, nobody was ever called crazy to stop working on PHP. It's the "buy IBM" move of language choices.

Richard M Nixon
Apr 26, 2009

"The greatest honor history can bestow is the title of peacemaker."

Dijkstracula posted:

:words:

Good to know; I'll just stick to my happy little text editor and use something like visual studio for gui design.

Avenging Dentist posted:

If you think Qt is an IDE, you have a loooong way to go. (You're probably thinking of Qt Creator, which is different from Qt.)

Also I'm really curious what constitutes "a few years" of CS education, since I think most schools stop teaching the ins and outs of programming languages around the end of the first year (sometimes moving into first semester of sophomore year).

I was referring to QT creator, yes. I have never worked with a framework before, so I simplified the entire QT package into 'gui designer that comes packaged with an IDE and a bunch of poo poo I have no clue how to use'.

I call 'a few years' of experience 6. My knowledge is nowhere as close to where is should be because that 6 years is comprised of 3 years in high school followed by 2 years of college that taught me what I learned in high school, but in C++ instead of Java, and then a year (ongoing) in a different major at college, because the CS classes I took in the business school don't transfer to the school of science for some amazing reason. I've been doing this long enough to know that I'm just scratching the surface of "real" CS, but I'm getting dickslammed by the man and his prerequisites that keep me down.

EDIT: the CS department has 3 intro CS classes that must be taken before you can move on to take whatever sort of programming you want (AI, embedded device, gui poo poo). That is 3 semesters of prereqs that are broken up as such: Class 1 is an intro to programming and goes from hello world to arrays. Class 2 goes from a review on arrays to very basic classes and functions, with pointers being the last thing covered. Class 3 is a review of memory and classes/functions, intro to modular programming, and fun things like inheritance, encapsulation, polymorphism, linked lists, trees, and the rest of the good and fun CS stuff. There is also a corequisite of discrete math I and II before any of those upper level CS classes can be taken.

Goddamn I am bored in school.

Richard M Nixon fucked around with this message at 23:46 on Feb 21, 2010

haveblue
Aug 15, 2005



Toilet Rascal
What do you learn in the course on GUI programming? Is it more of a high-level interface design course, or do they just make you memorize a particular window manager's API?

spiritual bypass
Feb 19, 2008

Grimey Drawer

fletcher posted:

I'm thinking about rewriting The Awful Yearbook. I've been writing a bunch of Java lately and going back to the dynamically typed PHP is a bit frightening. Am I crazy for just wanting to rewrite the whole thing? I'm also a huge fan of Eclipse now, I never was able to find a PHP IDE I really liked. Am I going to regret this?

Nobody is crazy for wanting to move away from PHP for any reason.

However, I'll mention that Netbeans is a good PHP IDE these days.

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

Richard M Nixon posted:

the CS department has 3 intro CS classes that must be taken before you can move on to take whatever sort of programming you want (AI, embedded device, gui poo poo). That is 3 semesters of prereqs that are broken up as such: Class 1 is an intro to programming and goes from hello world to arrays. Class 2 goes from a review on arrays to very basic classes and functions, with pointers being the last thing covered. Class 3 is a review of memory and classes/functions, intro to modular programming, and fun things like inheritance, encapsulation, polymorphism, linked lists, trees, and the rest of the good and fun CS stuff. There is also a corequisite of discrete math I and II before any of those upper level CS classes can be taken.

Goddamn I am bored in school.
There's a programming class that doesn't even cover functions? :psyduck:

Jirolico
Jan 27, 2005

My ambition is handicapped by my laziness
Access Question:

I have an established database with a Household Form that has an "Add Member" button that opens up a Member Form.

My question -- how can I have the Member Form's Household ID textbox automatically display the Household ID (foreign key) from the corresponding Household Form? The Member Form then needs to update the Member table once completed.

I've tried various methods: DLookup expression, Control Source (will display the ID, but not update the table), and even some VBA.

I'm an amateur access user and any help would be greatly appreciated. I suspect I'm going about this the wrong way.

ErIog
Jul 11, 2001

:nsacloud:

Plorkyeran posted:

There's a programming class that doesn't even cover functions? :psyduck:

You see this in all manner of departments in academia. They take a real world thing like programming or foreign languages, and then they turn it into a curriculum. In turning it into a curriculum, it gets watered down over the years to prevent people from failing out of classes or dropping the major. This means that pretty much all the classes are worthless because there's never enough time to go beyond the very basics.

1 semester devoted to hello world and arrays, with functions only being introduced in a second semester. Sounds a lot like the Japanese language major I did where there were only 3 or 4 of us out of 40 Japanese majors in that graduating class that actually had working knowledge of the language enough to have conversations with native speakers and understand things like movies, television shows, and books on our own. We were only able to do this because we exercised the opportunity to study abroad. Even there, though, the classes babied everybody. The only people I knew who did really well busted their rear end studying on their own all the time outside of class.

That seems like the sort of program Nixon is in. I find it to be borderline unethical the way some schools advertise their programs in such a way that leads you to believe you will be skilled when you exit, only to railroad you into "everybody must pass" classes where nobody learns a drat thing.

The only answer for somebody like Nixon is to make sure you do all your schoolwork the best you can, and learn all the worthwhile stuff outside of classes. Make sure to create good relationships with the professors, as they can be very useful for getting jobs after you graduate. Also, network with people who are better than you in your program. You'll learn from them, and they might be able to get you hired after you graduate. You should also be networking with people in your town and community that do what you want to do. They should be able to tell you pretty easily what you need to be focusing on.

When I got out of school, I realized most of my class-mates didn't know jack poo poo. I realized the curricula I had completed were worthless, but I valued the relationships and opportunities that going to school gave me outside of my classes. I ended up getting a pretty great job right out of school due to the networking that I had done. That's how you get your money's worth in a bad academic program.

Dijkstracula
Mar 18, 2003

You can't spell 'vector field' without me, Professor!

Somebody here once said that the point of doing a CS degree is to give you the theoretical foundations for all the poo poo you should be able to pick up on your own. Nixon's doing exactly the right thing by starting a side project - second year is the ideal time to do this IMO, since you're far enough along to kind of know your rear end in a top hat from your earhole but are not bogged down with intense upper-level project courses and stuff.

Richard M Nixon
Apr 26, 2009

"The greatest honor history can bestow is the title of peacemaker."

ErIog posted:

You see this in all manner of departments in academia. They take a real world thing like programming or foreign languages, and then they turn it into a curriculum. In turning it into a curriculum, it gets watered down over the years to prevent people from failing out of classes or dropping the major. This means that pretty much all the classes are worthless because there's never enough time to go beyond the very basics.

1 semester devoted to hello world and arrays, with functions only being introduced in a second semester. Sounds a lot like the Japanese language major I did where there were only 3 or 4 of us out of 40 Japanese majors in that graduating class that actually had working knowledge of the language enough to have conversations with native speakers and understand things like movies, television shows, and books on our own. We were only able to do this because we exercised the opportunity to study abroad. Even there, though, the classes babied everybody. The only people I knew who did really well busted their rear end studying on their own all the time outside of class.

That seems like the sort of program Nixon is in. I find it to be borderline unethical the way some schools advertise their programs in such a way that leads you to believe you will be skilled when you exit, only to railroad you into "everybody must pass" classes where nobody learns a drat thing.

The only answer for somebody like Nixon is to make sure you do all your schoolwork the best you can, and learn all the worthwhile stuff outside of classes. Make sure to create good relationships with the professors, as they can be very useful for getting jobs after you graduate. Also, network with people who are better than you in your program. You'll learn from them, and they might be able to get you hired after you graduate. You should also be networking with people in your town and community that do what you want to do. They should be able to tell you pretty easily what you need to be focusing on.

When I got out of school, I realized most of my class-mates didn't know jack poo poo. I realized the curricula I had completed were worthless, but I valued the relationships and opportunities that going to school gave me outside of my classes. I ended up getting a pretty great job right out of school due to the networking that I had done. That's how you get your money's worth in a bad academic program.

I took a semester of japanese here and failed miserably. I was expected to memorize all the katakana and hiragana characters after 4 weeks. :psyboom Your advice is exactly what I'm trying to do; learn OMFG REAL PROGRAMMING on my own, seeing as I only need to take 40 something CS hours and 80 non-cs hours, and those CS hours are watered down like gently caress. I'm realizing how little I actually know, and I was freaking the gently caress out when I wrote my OP.

Fake edit: Dijkstracula, I hope to get on to the more theoretical stuff. In the 11th grade I was learning the basics of big O and runtime efficiency, and I sort of understood pointers and memory management. Fast forward to 5 years in the future and I've actually forgotten all that from disuse. I know terms like inheritance and polymorphism, but gently caress me if you ask me to give examples of them.

Dijkstracula
Mar 18, 2003

You can't spell 'vector field' without me, Professor!

Richard M Nixon posted:

I took a semester of japanese here and failed miserably. I was expected to memorize all the katakana and hiragana characters after 4 weeks.
Unrelated, but, 4 weeks?! Pansy. I tried to take Japanese in my first year, and the Monday class was devoted to the entirety of hiragana, the Wednesday class was all of katakana, and we had a quiz on both on the Friday. Now that is intense poo poo. (Suffice it to say that I got the gently caress out)

Richard M Nixon
Apr 26, 2009

"The greatest honor history can bestow is the title of peacemaker."

Dijkstracula posted:

Unrelated, but, 4 weeks?! Pansy. I tried to take Japanese in my first year, and the Monday class was devoted to the entirety of hiragana, the Wednesday class was all of katakana, and we had a quiz on both on the Friday. Now that is intense poo poo. (Suffice it to say that I got the gently caress out)

What the gently caress; pansy? Goddamn that poo poo was hard. Our teacher drilled us into the loving ground and half the class dropped. Yours is hard too, though.

RussianManiac
Dec 27, 2005

by Ozmaugh
True nerds take Latin not Japanese.

Richard M Nixon
Apr 26, 2009

"The greatest honor history can bestow is the title of peacemaker."
Edit: Can someone give me an explanation of what a framework is and when you would use one? I've taken it to be the sort of thing I'd have to learn when I joined a company (custom framework), or when I wanted to do rapid application development on my own (like what I assume the QT package included). Confirm or deny?

Real edit: gently caress, that was not the edit button. Oh well...is there a framework that is common to lots of c++ projects? Rephrased: Is there an easily accessible framework that does basic things that I could use to learn how to use frameworks? Sorry for the poor sentence structure, I'm trying to shoot spacelasers in eve.

Edit 2: @RussianManiac, I am regretting not taking latin in high school so badly. I'd use it so much in my philosophy classes, and spanish didn't do jack poo poo for me.

I just lost my Drake.

Richard M Nixon fucked around with this message at 01:05 on Feb 23, 2010

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

RussianManiac posted:

True nerds take Latin not Japanese.
Latin was my favorite class in high school. Sadly I've forgotten 90% of it now.

Also, learning to read hiragana and katakana took me a weekend :smugdog:.

Adbot
ADBOT LOVES YOU

Richard M Nixon
Apr 26, 2009

"The greatest honor history can bestow is the title of peacemaker."

Plorkyeran posted:

Latin was my favorite class in high school. Sadly I've forgotten 90% of it now.

Also, learning to read hiragana and katakana took me a weekend :smugdog:.

You memorized upwards of 80 symbols in two days? Are you austistic?

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply