Newfound Computer Insecurity

A place to discuss the implementation and style of computer programs.

Moderators: phlip, Moderators General, Prelates

User avatar
Clumpy
Posts: 1883
Joined: Thu Jul 19, 2007 4:48 am UTC
Contact:

Newfound Computer Insecurity

Postby Clumpy » Sun Feb 10, 2008 9:25 am UTC

I was just thinking about my moderate attention span for coding, technology and hardware, etc.

In the past I've felt good because my computer knowledge surpasses most of my peers, but I just realized about five minutes ago that maybe I only learned enough to be able to goof around on the Internet, download music and play games. Much of what I've learned, however technical, has been for frivolous purposes.

So, those of us who stand as potential computer geniuses in embryo but haven't yet gone all the way - does anybody else feel the same?

User avatar
zombie_monkey
Posts: 644
Joined: Mon Oct 16, 2006 1:26 pm UTC
Location: Bulgaria

Re: Newfound Computer Insecurity

Postby zombie_monkey » Sun Feb 10, 2008 10:06 am UTC

Yes, I know how you feel, and it can be a very serious problem if you intend to go into CS in University. Being naturally better in the way of thinking you need for CS can also, paradoxically, be more of a problem than an advantage in University.

User avatar
MoD
Posts: 107
Joined: Sun Dec 30, 2007 4:55 pm UTC

Re: Newfound Computer Insecurity

Postby MoD » Tue Feb 12, 2008 12:09 am UTC

I know the feeling you've got--it seems like everything you can do is just end-user stuff, and everything you'd like to do is either too advanced or has been done before. I don't really know what can be done once you get past "knowing how foo works" and try to become a foo wizard, but in pretty much every endeavor, Qui-Gon Jinn has some applicable wisdom: "There's always a bigger fish." No matter how much you know, someone is going to be able to make you look like a 'tard.
Last edited by MoD on Wed Jan 21, 2009 11:15 pm UTC, edited 1 time in total.

User avatar
krynd
Posts: 194
Joined: Tue Jan 08, 2008 2:09 am UTC
Location: Basement Bedroom

Re: Newfound Computer Insecurity

Postby krynd » Sat Feb 23, 2008 5:06 am UTC

Yep, I've been (and in some ways, still am) there.

I originally came to this horrible revelation about 6 months ago, when I realized my C++ II class was over my head. It only got worse as I've started to read professional source code (originally as a way of "learning", but it turned out to only make me feel even less knowledgeable). Possibly compounding it, I have friends and family who still argue that I'm this uber-hacker just because I can write a Python script to sort a few files into new folders. There's nothing worse than being unable to reconcile the idea that you can't write anything "worthwhile" (where worthwhile > simple CS-level apps // by a factor of 10. You never get any "good" CS projects, only the mindless "textbook" apps that prove a point and nothing more), all while people are telling you the opposite (mainly because of their sheer lack of understanding at what exactly is needed to be "great" in this industry).

Anyway, my advice to you:
  • Do not consider reading professional-level source code yet (unless you've already started).
  • Find some tutorials online, and some programs to write. Whatever you do, do not look for an answer, and try your best to not post a question on a forum (you'll be far too tempted to ask for a specific answer).
  • Learn how to access a CVS/Subversion repository.
  • Lurk in an open-source project's mailing list for insight into the political atmosphere of it (yep, the FOSS world is as political as the rest of the world. Apparantly, throwing a group of somewhat anti-social hackers who all think their idea is best isn't the best idea...)

With regards to non-coding CS:
  • Set up a Linux server to store your music and "whatnot".
  • Learn the differences between Paint/Tux Paint, Photoshop/GIMP, and other 3d Studio Max/Blender. Learn the differences beyond a "well, obviously Blender is for animations, and Photoshop is for editing pictures". Learn when to use them, and how to choose the best tool for the job (hint: just because GIMP can add a basic shape (rectangle, etc) to an object doesn't mean you should draw with GIMP).
  • Set up a slightly advanced web site. Incorporate your standard Web 2.0 stuff, and try to write as much as you can (don't blindly copy scripts from a repository).
  • Create new game levels or mods for your favorite game. Work your way up to a full-mod of the game (kind of like Counter-strike (you did know that, right? I hope so, at least...)).

Basically, keep yourself learning something practical. The key word is "practical", since once you realize you're just doing book exercises, you'll likely give up. Somewhere along the line, you'll stumble upon something you have a knack for, and might be able to turn that into a career. For instance, video game modding can help introduce you to the industry, and will make getting a job as a video game developer much easier.

As I said before, try your best to do it on your own. Post on a forum only if you're completely stuck on a problem and have exhausted your other resources (books, web sites, lurking in forums, etc). That'll help a lot more than you think it will, trust me.
Last edited by Hammer on Sat Feb 23, 2008 1:07 pm UTC, edited 1 time in total.
Reason: Fixed list tags
Dangermouse wrote:I hope this doesn't mirror too much of what you've read--and btw, you should read less and do more. No one takes good pictures or runs a marathon sitting on their couch surfing the internet.


WCG xkcd team

User avatar
Nebulae
Posts: 593
Joined: Wed Feb 06, 2008 11:20 pm UTC
Location: Anywhere

Re: Newfound Computer Insecurity

Postby Nebulae » Sun Feb 24, 2008 10:37 am UTC

krynd wrote:With regards to non-coding CS:
  • Set up a Linux server to store your music and "whatnot".
  • Learn the differences between Paint/Tux Paint, Photoshop/GIMP, and other 3d Studio Max/Blender. Learn the differences beyond a "well, obviously Blender is for animations, and Photoshop is for editing pictures". Learn when to use them, and how to choose the best tool for the job (hint: just because GIMP can add a basic shape (rectangle, etc) to an object doesn't mean you should draw with GIMP).
  • Set up a slightly advanced web site. Incorporate your standard Web 2.0 stuff, and try to write as much as you can (don't blindly copy scripts from a repository).
  • Create new game levels or mods for your favorite game. Work your way up to a full-mod of the game (kind of like Counter-strike (you did know that, right? I hope so, at least...)).

Never knew all of this stuff was part of the CS curriculum, especially the getting to know how to use photoshop parts. :shock:

EvanED
Posts: 4331
Joined: Mon Aug 07, 2006 6:28 am UTC
Location: Madison, WI
Contact:

Re: Newfound Computer Insecurity

Postby EvanED » Sun Feb 24, 2008 10:50 am UTC

I wouldn't consider any of that CS, except maybe the last one. (And perhaps if you are doing something non-trivial in JavaScript, the third one, but then it wouldn't be "non-coding CS" either because it would have coding.)

There are related things -- like talking about how Photoshop or Blender actually works -- that would be, but if you are just talking about using those tools, I would not consider that CS. I'm not the only one here who I think would take that opinion either.

Not an Evil Robot
Posts: 117
Joined: Sat Aug 04, 2007 2:05 am UTC

Re: Newfound Computer Insecurity

Postby Not an Evil Robot » Mon Feb 25, 2008 3:46 am UTC

Clumpy wrote:I was just thinking about my moderate attention span for coding, technology and hardware, etc.

In the past I've felt good because my computer knowledge surpasses most of my peers, but I just realized about five minutes ago that maybe I only learned enough to be able to goof around on the Internet, download music and play games. Much of what I've learned, however technical, has been for frivolous purposes.

So, those of us who stand as potential computer geniuses in embryo but haven't yet gone all the way - does anybody else feel the same?

did I get cloned again!?
I've felt the same for a few months now, I haven't been able to think up anything cool to do. I've got a linux system set up, but I dont really use it much, I know a few languages well but I feel like I don't code enough to remember it all.
Yet somehow my friends think I'm some 'uber hacker'.
:'(

User avatar
krynd
Posts: 194
Joined: Tue Jan 08, 2008 2:09 am UTC
Location: Basement Bedroom

Re: Newfound Computer Insecurity

Postby krynd » Mon Feb 25, 2008 4:42 am UTC

The original post did not ask about going to University for a CS degree. S/he asked about our personal experiences in computing (which I naively called "CS". Maybe I subconsiously thought "Computer Stuff"?). Plus, I should've prefaced my reply with "regarding applications of computing knowledge", as about everything I wrote regarded applying what you either know or may learn at Uni. Mt. Dew has failed me in mental coherency...

Anyway, if you disregard the part where I called it CS, it works. In fact, it may even still work if you do call it CS. Honestly, how many programs have you written where you never had to create your own graphics? Knowing what tools to use, when to use them, and how to use them can make a big difference in how productive you are. Sure, most professional companies have an art department, but you can't rely on that when you're building your own apps or designing something over the weekend.

About the "over the weekend" thing: sometimes this is necessary. If you're creating something and want a realistic idea of how it could look, you need to know how to create graphics. They don't have to be complicated, just enough that you can say "well, I don't really like that effect after all" (get rid of it) or "Not liking how when a plane flys overhead, the frame rate drops like a rock" (probably a bug in how you redraw the plane) if you need to. These are important so that when you come into work on Monday, you don't submit an idea that you'll find out won't work (on Tuesday, when you load the graphics and find out you made some design errors in your graphics engine).

If your communication skills (verbal/written idea of what you want a graphic to look like) aren't "perfect" (who's are?), a quick sketch may not be enough. Suppose you can't draw, but can use Photoshop (happens quite often, actually). That might be the better way to convey your idea than an essay on the details.

Also, applications of CS aren't in just programming. Knowing how to setup a network (sys admin) is important, as are SQL/DBA skills (database admin), create web pages (sometimes sys admin, mostly web dev), etc.

As far as "what to learn before going to University":
  • Learn how to communicate well (read my posts in this thread if you need an idea of why). Start with blogging, and work your way up to documenting something (a process (whitepaper), a product (product review), code, etc) in a professional way.
  • Learn what interests you before you go. Don't go into Uni expecting something to pop out at you in the first year. A lot of your introductory courses will be boring and put you off on what might be a perfect fit for you.
  • Learn a scripting language (if you don't already know one). Lua is used in a lot of games, but Python is the recent xkcd choice for scripting (mostly because of how complete the libraries are. There's almost literally a library for everything).
  • Learn Linux/Unix. Learn how to use Live CDs first, then install it on a non-critical (junk) computer. Learn how to use the terminal, how to write shell scripts, configure hardware, etc. It's just general-purpose learning for the sake of enhancing your idea of how the hardware works (which is why I suggested setting up a network. It's something practical that might give you a lot of fun problems to solve. Just be sure that all the computers you use aren't needed for something important. Ask your parents first if you aren't sure). For general learning fun, Ubuntu is the current favorite. If you have a low-end computer, DSL (D*** Small Linux) will run on almost anything. If you want hardcore Linux, Slackware is about the best you can get without running into Gentoo's insanity (either one I'd consider "uber-nerds only").
  • Have fun with it. The worst thing you can do is scare yourself away from CS. It is fun, but challenging, and definately is not favorable to someone who wants to go out drinking every Saturday night (not many majors that you are serious about are).

I fixed your list tags again. Since you seem to like lists, you might want to hit edit and look at how to make them. You need the list tags themselves as well as the * tags. - Hammer
Didn't know that's how that works. Thank you. -Krynd
Last edited by krynd on Mon Feb 25, 2008 10:58 pm UTC, edited 2 times in total.
Dangermouse wrote:I hope this doesn't mirror too much of what you've read--and btw, you should read less and do more. No one takes good pictures or runs a marathon sitting on their couch surfing the internet.


WCG xkcd team

HappySmileMan
Posts: 52
Joined: Fri Nov 09, 2007 11:46 pm UTC

Re: Newfound Computer Insecurity

Postby HappySmileMan » Mon Feb 25, 2008 10:12 pm UTC

I feel the same, I can code C++ but can't handle any more than a few source files, I have a feeling I could do much better, since I understand what's going on and stuff, I can just never think of any ideas that are both worthwhile, good for learning and that I'm interested in.

Posi
Posts: 111
Joined: Mon Jul 16, 2007 6:08 am UTC

Re: Newfound Computer Insecurity

Postby Posi » Tue Feb 26, 2008 12:35 am UTC

HappySmileMan wrote:I feel the same, I can code C++ but can't handle any more than a few source files, I have a feeling I could do much better, since I understand what's going on and stuff, I can just never think of any ideas that are both worthwhile, good for learning and that I'm interested in.

Is there any particular thing that you would want to work on? If so, you could program a very simple version, which you could then improve.

User avatar
aeki
Posts: 109
Joined: Fri Feb 22, 2008 12:25 am UTC

Re: Newfound Computer Insecurity

Postby aeki » Tue Feb 26, 2008 12:46 am UTC

Yeah, it's a little weird to go from trying to figure out how to set up a SVN repository in linux or only understanding about half of what your classmates are talking about in any given conversation to being told "Wow, you're a computer GENIUS!" because I helped a co-worker fix a problem with her email by opening it in Firefox instead of IE.

There is a huge amount of technical knowledge out there, and you're never going to be an expert in all of it. All you really need is the ability to seek out and learn the detailed stuff about whatever subject you're motivated to explore, and most of that is going to be frivolous because that's what's fun and interesting to learn.

User avatar
OOPMan
Posts: 314
Joined: Mon Oct 15, 2007 10:20 am UTC
Location: Cape Town, South Africa

Re: Newfound Computer Insecurity

Postby OOPMan » Tue Feb 26, 2008 2:16 pm UTC

Chin-up lads, you're young yet :-)

Once you've been working in the industry for a bit you'll realise that the reason most of that professional source code is going over your head is because it's poorly written.
Image

Image

atto
Posts: 2
Joined: Wed Feb 27, 2008 6:54 pm UTC

Re: Newfound Computer Insecurity

Postby atto » Wed Feb 27, 2008 6:59 pm UTC

I know several people that fit your description in my CS department. They come in, thinking they will be the best computer scientists, and get shocked real quick.

My advice goes along with what was said earlier. Start learning slow, and don't give up. I recommend Java before C/C++ because it's a bit more forgiving, and allows you to get a good grasp of OOP, but anything works. Hell, learn how to do simple stuff on your TI-83 and you're getting there. Once you get better, I recommend you try your hand at TopCoder.


Return to “Coding”

Who is online

Users browsing this forum: No registered users and 8 guests