Programming/Hacking Resources - Blog

attackkaboomInternet και Εφαρμογές Web

2 Φεβ 2013 (πριν από 4 χρόνια και 6 μήνες)

470 εμφανίσεις

Programming/Hacking Mastery Resources (revision 4)

Copyleft 2011 Eyal Kalderon. All wrongs reversed.

Created:

Feb 29 2011

Updated:

Mar 10 2011


Summary:

Here's a compilation of every single programming/computer science
-
related
resource that I have ever use
d off the top of my head. You can browse these forums for
free, although most of these forums require you to be a member to ask questions and
comment, but registering is free as well (just like YouTube). Note that none of these
resources are easy to unders
tand if you are very inexperienced.

No, like any professional
programmer, you need to learn to deal with lots of useless technical data that make your
head spin and sift whatever knowledge you need out of it. In the “real world”, you will NOT
be spoon
-
fed
simple, concise help like the way we are in Giant Campus. It will take time,
but you should eventually become really good at gleaning information from forums and
books, and learning advanced programming topics will be pretty easy after that. Speaking
of th
e forums, please know that if you ever find a link that is incorrect or out of date, or if
spelling mistakes/formatting errors are found in the Word document, please notify me at
xplinux557@gmail.com

and I'll hap
pily listen to your report and fix it :)


Important Stuff:

All of the categories are listed in alphabetical order (except for the
“General Resources” section, which is at the top), and the links are likewise in alphabetical
order.


Hacker or Cracker?
Anoth
er thing, don't use the word “hacker” for someone who illegally
accesses/ruins/does something bad with a computer. Those criminals are called “crackers”,
or “black
-
hat”. A true “hacker”, or “white
-
hat”, is really someone who helps the computer
world for th
e better, by patching glitches by reverse
-
engineering and cunning tricks, and
keeping websites safe by keeping crackers out.
Please don't mix them up! It can be
offensive or annoying to some of the advanced programming community if you accuse them
of being

a “b4d h4x0r5”!


Experience Level:

To make this easier, I have labeled each of the resources with one of these ratings and a
simple description of what they have to offer.


> ••••
• All ranks (Beginner to Expert)


>

••••

Beginner


>
••
•••

Moderate



>
•••
••

Intermediate


>
••••


Advanced


>
•••••

Expert!


General Programming Resources:



Amazon

(
http://www.amazon.com/
)

Experience:

••••
• All ranks (Beginner to Expert)


Did you say
AMAZON???
” you ask. Not a ver
y likely resource, I know. But in reality,
it's a great place to start because of the multitude of programming books available.
There are basic beginner books, and hardcore programmer books (I usually look for
the hardcore books, LOL), but all in all, it a
ll comes down to experience and personal
preference. There are some situations where it's nice to have a print source handy
to flip through in your spare time rather than painstakingly surf Google for hours.
Still, don't buy
too

many books, as they may ge
t out of date and become useless as
time goes on.




Celestial Coding

(
http://celestialcoding.com/
)

Experience:

••••
• All ranks (Beginner to Expert)

Big forum with lots of good resources on ANY programming topic yo
u want, including
general C/C++ programming help, to Perl/Python/Ruby scripting, and to OS
development and 3D graphics. Very vibrant community. Be warned: the threads vary
widely in terms of difficulty, so don't visit threads that you don't fully understan
d!




CodeCall

(
http://forum.codecall.net/
)

Experience:
••••
• All ranks (Beginner to Expert)

A huge forum that covers a wide variety of topics, from C/C++/C# and Assembly, to
Java, Flash, and Python, to Web Developm
ent (HTML/PHP/SQL). It even has a
subforum for business and how to promote your product on the internet and TV and
how to sell it for green cash. Topics vary widely in terms of difficulty, but the
community is always willing to help out if you need it. Als
o has a good blog that its
worth checking out.




Daniweb
(
http://www.daniweb.com/
)

Experience:
••
••• Moderate to
•••••
Expert!

This forum is enormous. Just huge. Daniweb (or as the logo writes it, <DANIWEB>) is
one o
f the biggest forums that I have ever visited and it covers
everything
. I swear,
this site has threads on everything from C/C++/C#, Java, Assembler, and VBScript to
HTML, CSS, SQL/PHP, and even Android and Windows Phone development! Great
resource, but can

be a tad techy and uses a lot of jargon sometimes, so beginners to
programming, beware.




DreamInCode

(
http://www.dreamincode.net/
)

Experience:
••••
• All ranks (Beginner to Expert)

Extremely helpful website! Has
a large and knowledgeable forum community, a set of
articles and tutorials on various languages & technologies, and a video channel for
posting video tutorials (I am addicted to them)! The community is very open and fun;
they occasionally host competitions

on who can write the best code for a specific
task or who can solve a given problem first. This site is perfect for those truly do eat,
drink, breathe, and
dream

in code (no matter what the language)!




Google
(
http://
www.google.com/
)

Experience:


•••• Beginner

It's useful. It's awesome. It's easy. It's where I get all of my knowledge. It's Google.
'nuff said.




Programming Forums.org

(
http://www.programmingforums.org/
)
(Duh!)

Experience:
••
••• Moderate to
••••
• Advanced

Contrary to what the name implies, this forum is about computer development in
general. Covers programming, dynamic scripting, Web development, *NIX operating
system administration, and more. It's a good
source, but simpler topics aren't
separated from advanced ones, so if you ever get confused, don't worry: it's normal!




SuperUser

(
http://superuser.com/
)

Experience:

••••
• All ranks (Beginner to Expert)

Handy forum run

by the fine folks at Stack Overflow (below). A nice message board
for fixing different operating system issues (no posting any “MAH WEB BROZER NO
WORK I NEED MA INTRNETZ HELP ME!!1!!1!1! :(” messages, guys!). It is sometimes a
good place to go to if somet
hing in Windows or Visual Studio isn't working correctly.




Stack Overflow

(
http://stackoverflow.com/
)

Experience:

••••
• All ranks (Beginner to Expert)

Wonderful forum on various programming topics. It has a more de
centralized
structure where no thread is ever sorted by topic (I guess it's more “message board”
style?), so the search bar and the tag list is essential. Otherwise, it's a great source
of information. You can register for free and start asking questions y
ourself. You will
get answers in mere minutes! I really love this site! PS: The name is a computer joke.
You know how in Microsoft Word, the toolbars on the top panel sometimes have this
little arrow on the right that you click on to see additional hidden
buttons? That
feature is called “stack overflow”. That's also why the SO logo resembles a box full of
a tall stack of books about to fall down XD. *snicker* D'you get it?..... no? Anybody?




Wikipedia
(
http://en.wikip
edia.org/
)

Experience:

••••
Beginner to
••
•••
Moderate

I know it has a bad reputation, but surprisingly, it's one of the most complete and
technical sources of computer knowledge out there. A wonderful place to start off to
see what in programming inter
ests you and what doesn't. Great for reading about
how computers work (down to the hardware and firmware level) and their history, as
well as learning about what language choices are out there for you. A word of
caution: watch out for very technical words,

guys! Thankfully, none of the computer
science
-
related pages have been edited to say “HAX I EDITD TEH PAJ LULZ!1!!!1!11”
or otherwise.




Young Coders

(
http://www.youngcoders.com/
)

Experience:

••••
Beginner to
••
••

Advanced

Very friendly forum made up primarily of pre
-
teens, teenagers, and young adults,
ranging from budding beginners to “ancient” wise programming gurus. Unlike
Programming Forums.org, there are typically “sticky” threads dedicated towards
beginner
s where newbies shouldn't be afraid to ask obvious questions without being
ridiculed. Very helpful forum to start with!


C/C++ Family:



C++ Forums
(
http://www.cplusplus.com/
)

Experience:

••••
• All ranks (Beginner to

Expert)

Really wonderful source for any C++ references or tutorials. Refers to both cross
-
platform ANSI C++ and Microsoft's Visual C++. It's very well laid out, with an FAQ and
articles targeted specifically for beginners and how to program in Windows and

Mac/Linux/BSD/etc and how to keep your programs portable between OS's. A
“message board” style forum, anyone who has seen/used Usenet knows how to move
around this kind of site. Articles/threads range from highly technical to simple and
beginner
-
friendly.




CFanatic Forums

(
http://www.cfanatic.com/
)

Experience:
••
••• Moderate to
••••
• Advanced

A great resource for all things C/C++! There are discussions and subforums about all
of the C derivative languages, such as C
++ and Microsoft's Visual C# and MFC model.
Nice resource, but not as beginner
-
friendly as you would expect.




C Programming.com

(
http://www.cprogramming.com/
) (Double duh!)

Experience:

••••
• All ranks (Beginner
to Expert)

One of the best all around places to learn C or C++. It's an article and tutorial
-
driven
site with an FAQ and detailed how
-
to's on getting started or learning various concepts
in either language. Nicely explains the pros and cons of C and C++ an
d which types of
applications is each language suited for. Great for beginners or intermediate users
trying to brush up on their programming.




C Programming.com Forums
(
http://cboard.cprogramming.com/
) (TRIPL
E duh!)

Experience:

••••
• All ranks (Beginner to Expert)

This is Cprogramming.com's sister site, and is run by the same people. A great place
to begin reading about C and C++, or it's proprietary cousin, Microsoft Visual C#.
Plenty of resources to keep you

busy, and topics range from general programming
questions to video game and AI programming.


Game Development (3D and 2D video games):



Gamedev.net

(
http://www.gamedev.net/
)

Experience:

••••
• All ranks (Beginner to E
xpert)

One of the largest internet hubs for writing 3D and 2D video games! Lots of articles
and news posts, picture galleries showcasing the users' latest creations, FAQ's for
beginners or advanced users having issues, video/text tutorials, programming boo
k
recommendations and reviews, and to top it all off, a huge forum with a highly
respected international community. It has great OpenGL/DirectX tutorials. It's a great
place for people of all ages and skill levels who want to write an FPS, MMO, RPG,
MMORPG
, MMOFPS, or an MMO
-
whatever
-
you
-
want. I have written a simple 3D game
engine called Alkaline in OpenGL/SDL and C++ using their help and support. Must see
this site for video game
-
making!




NeHe's 3D OpenGL Tutorials
-

World Famous!
(
http://nehe.gamedev.net/
)

Experience:
••
••• Moderate
to
••••• Expert!

Firstly, for those who don't know, there are two major 3D graphics platforms today:
Microsoft Direct3D and Khronos OpenGL. Direct3D (part of the DirectX collection) is
commonly used in Windows & Xbox video games, such as Call of Duty, Crysis, Halo,
etc. OpenGL is another technology that once was popular in PC video games until
Direct3D came along. It is currently used in NASA simulations, business applications,
and PS3/M
ac OS X/iTouch/Linux/Mobile phone games. OpenGL is great for making
small, casual games that will work on any operating system you like, whereas DirectX
is large and cumbersome, and works only in Windows. Moving on, the NeHe tutorials
are a large collectio
n of the best and most concise tutorials to using OpenGL that I
have ever seen! They are actually referenced internationally throughout the internet
and various books. You must know C++ to do these, and for the advanced tutorials,
you should know algebra a
nd trigonometry very well. Good read for making 3D video
games!




SDL

(
http://www.libsdl.org/
)

Experience:
••••
• Advanced to

••••• Expert!

SDL is an open
-
source multimedia library for C and C++. It is a cross
-
platform
and
DRM
-
free alternative to DirectX. SDL automates most of the heavy work such as
audio, keyboard/mouse/joystick input, 2D graphics, and 3D OpenGL graphics for you,
letting you put more effort into the gameplay itself, and not investing it all in trying
to

get it to run. It works on Windows, Mac OS X, Linux, iPhone/iTouch/iPod, and most
mobile phones. Very good free library with good (albeit sometimes cryptic)
documentation.




XoaX.net OpenGL Video Tutorials
(
http://xoax.net/comp/cpp/opengl/
)

Experience:

••
••• Moderate

to
•••
•• Intermediate

A very nice (and underestimated) set of video tutorials by XoaX (alternatively found
on YouTube) on helping beginners learn the basics of OpenGL. These are great for
learni
ng how to create simple 3D shapes and effects and explains how to include
OpenGL in your program, download and set up GLUT, use matrices and cameras to
create and render a scene, and create 3D shapes on the screen. Since this is a basic
“getting started” s
ort of tutorial, no advanced math is needed. However, you should
know C++ well. Very good starting point for beginners into 3D game design!




The Game Programming Wiki

(
http://gpwiki.org/index.php/Main_Pa
ge
)

Experience:

••••
• All ranks (Beginner to Expert)

A wiki on general game programming concepts. Very well maintained, contains some
good AI and OpenGL/DirectX tutorials and other references. It is aimed at introducing
the concepts and code to beginners
easily and gradually working up the complexity
to ensure that the user has learned from it. I love this site very much. Please, don't
jump ahead to see what's coming up before you have learned the basics; you will get
confused and will make using the wiki
much harder for you.


Operating System Development (Advanced!):



Kernel.Org
(
http://www.kernel.org/
) (*sigh* Duuuhhhh...)

Experience:
••••• Expert!

One of the best ways to figure out how to write an operating system (e
xamples of
OS's: Windows 7, Mac OS X, Linux/BSD, etc) kernel is to actually study one. One of
the most prominent examples of free/open
-
source operating systems is the famous
Linux project. The source code to Linux is located here. Come on down to kernel.or
g
and download a copy of the current source snapshot! Note: Beginners should
definitely not download the source code without more experience seeing as it has
over 14,000,000 lines of code (as of February 2011). I would only let them go here if I
could see
the look on their faces as to how confused they are (Just kidding) :D




OSDev.org Wiki
(
http://wiki.osdev.org/
)

Experience:
••••

Advanced


to

••••• Expert!

A great wiki that covers how to write your own operating syst
em from scratch.
Teaches everything from monolithic kernel/microkernel structures, bootsectors, and
Intel/AT&T assembler syntax, to cross
-
architecture compiling, memory
segmentation, and handling CPU interrupts. Requires deep knowledge about inner
workings

of computer hardware and the BIOS! Must know Hexadecimal and Binary
notation! Knowing Octal notation wouldn't hurt either. I have written a miniscule
“Hello World” operating system that boots from a floppy with their articles and it
was quite challenging,

but fun!




OS Dev Usenet Archive

(
http://groups.google.com/group/alt.os.development
)

Experience:
••••

Advanced


to

••••• Expert!

Oh, Usenet, how do I doth love thee? Let me count the ways..
. aw forget it, I'm not
good with Shakespeare. Back in the late '70's up until the '90's, Usenet was
the

place
to ask computer tech questions. It was the only place where you could join a huge
forum
-
like international community to talk about anything compu
ter
-
related. It is a
highly historical place: the World Wide Web was first announced here, and the
famous GNU components and the Linux kernel were first published here. The
community originated at Duke University in the USA, but when the WWW project was
an
nounced, thousands of users collaborated together to write the HTTP/HTML
protocols and bring Usenet to the rest of the world. Unfortunately, Usenet reached
its death in ~1998
-
2005 since Duke University shut down their ancient main server for
good. Recently
, Usenet has been resurrected by Google, renamed “Google Groups”.
The forum “alt.os.development” is a newsgroup that contains both the historic posts
from the '80's and the new, fresh posts as recent as last week. Invaluable for getting
answers to real tou
gh dev questions and for seeing university
-
level programming
content! Technically, you could get all of your information from here, but scouring
this massive 30
-
year
-
old forum is a pain in the neck :)


Programming with *NIX Operating Systems:



FixUnix
(
http://fixunix.com/
)

Experience:
••
••• Moderate
to
••••• Expert!

Okay, listen up! Whoever uses these operating systems at home or at work, please
raise their hand. Anyone use GNU/Linux? Anyone use a *BSD OS? Not many people,

I
see? Well, what about Mac OS X? (amount of raised hands suddenly double) Ah, a lot
more people! Well, Mac users, I'm sorry to say this, but you owe your existence to
the other two OS's that I mentioned before! (mostly BSD) The modern Mac that you
are us
ing right now is really BSD at the core. Both BSD and Linux are modern
-
day free
versions of the UNIX operating system, originally written in 1969. In the olden days,
everyone was UNIX
-
crazy, and there was so much software available for UNIX, it
made your h
ead spin! This forum shows you how to make software that will work on
both the slim, silver Mac, or the classic beige box that is UNIX. And although UNIX is
one of the best OS's EVAR (Mac is the best example), it's not like it doesn't have
faults. This for
um shows how to fix issues fast and easy. Also, this forum talks about
various household technologies pioneered by UNIX, such as the Internet, firewalls,
SSH, etc. and how to program with them.




Mac Rumors Website/Forum

(
http://www.macrumors.com/
)


Experience:


•••• Beginner to
••••
• Advanced

A website centered around, you guessed it, Mac OS X! It has a blog that talks about
various Apple
-
related news, and has a large forum that operates side
-
by
-
side with it.
Not on
ly is the programming section of the forum excellent for newbies and gurus
alike who wish to program in C, C++, or Java using Xcode (the Mac equivalent to
Visual Studio), but the blog and other forum sections are also nice for looking at
some Apple gossip
every now and then ;)




nixCraft
(
http://nixcraft.com/
)

Experience:
••
••• Moderate
to
••••• Expert!

Has a lot of resources here. It's entirely unbiased towards any particular *NIX
-
like
operating system and discusses Linu
x, *BSD, Mac OS X, HP
-
UX, classic UNIX, and
others. Is both a tech support forum and a tutorial archive. Very useful for *NIX gurus
like me!




Ubuntu Forums
(
http://ubuntuforums.org/
)

Experience:

••
••• Moderate
to
••
•••
Expert!

SO USEFUL! Ubuntu is one of the most versatile and popular Linux distributions on
the internet, and it's forums are no exception. A tech support/questions/tutorial
forum so popular, that even non
-
Ubuntu users often visit it every now and then.
Tons
of UNIX resources and handy quick solutions to problems.


Proprietary(
-
ish) Languages (Java/Visual C++/Visual C#/VB.NET/etc):



CodeGuru
(
http://www.codeguru.com/
)

Experience:
••
••• Moderate to
••••
• Advanced

Gre
at site about Visual C++, C#, and VB.NET. It's all about Microsoft, Microsoft,
Microsoft! (try saying that ten times fast!) Has a message board forum, but is mostly
centered around articles/tutorials posted by other users in the “Articles” section of
the s
ite. Very good place to get some in
-
depth information about Visual Studio
programs, and community is helpful. However, I still prefer the articles by The Code
Project (below) because they generally have more pictures.




MSDN


(M)icro(s)oft (D)eveloper (N)e
twork

(
http://msdn.microsoft.com/en
-
US
)

Experience:

••••
Beginner to
••••

Advanced

What better place to get resources on programming with Visual Studio than
Microsoft? The “Code” section contains handy “cop
y & paste” code snippets and .NET
Framework PowerPacks. The “Library” section is where you will find all of the useful
documentation (but typical of Microsoft, it's short and cryptic). The “Forums” section
is invaluable for asking questions and finding ans
wers. To ask questions and
comment, you will have to make a user by creating a Windows Live ID (which is free).
If you have one already, then great; just sign in like you normally would. If you have
not been to this site and you want to program in Visual S
tudio, go there. Now. It's a
necessity.




The Code Project
(
http://www.codeproject.com/
)

Experience:

••••
Beginner to
••••

Advanced

Like CodeGuru, where everything revolves around dev articles and tutorials, onl
y this
site seems to be a lot larger, and I find its articles are a tad easier to understand.
Deals with virtually the four most popular programming languages of today: Visual
Basic, Visual C++, Visual C#, and Java. Articles can range from being ridiculous
ly easy
to being impossibly hard, depending on what subject you are looking for and what
language you are using. Also includes tutorials on SQL/PHP and HTML web
development. Very helpful for learning and I use this site a whole lot, but it probably
will no
t be useful for someone trying to make cross
-
platform applications not locked
in by Microsoft, Apple, or Sun/Oracle.




VBForums

(
http://www.vbforums.com/
)

Experience:


•••• Beginner to
••••
• Advanced

A popular forum
for the popular Microsoft Visual Basic programming language.
Conveniently separates topics relating to the modern Visual Basic .NET language and
the VB6 and older legacy languages. Has some handy topics relating on how to use
DirectX with VB (DirectX doesn
't support VB, but workarounds can be made to hack
the two platforms together). Very large community, worth checking out!


Security/Bug Exploitation (Advanced!):



Government Security
(
http://www.governmentse
curity.org/
)

(
DOY!
)

Experience:

••••
• Advanced to
•••••
Expert!

Very advanced site with tons of near
-
daily blog articles on network security and
hacking of various sorts. Has a
monstrous

forum, with a very knowledgeable
community. Blog talks about hackin
g in the media/around the world as well as
various hacker news. Forums deal with both hacking and cracking techniques, ranging
from social engineering, privilege escalation, and proxies to bug exploitation, data
collection, and forensics.




Hack Forums
(
http://www.hackforums.net/
)

Experience:
••••

Advanced


to

••••• Expert!

Kind of a misnomer; this should be called the “Crack” Forums (see the “Hacker or
Cracker?” section on the first page of this document if you do
n't get it). Deals with
the more dangerous grey
-
areas of network security, such as botnets, keyloggers,
MITM attacks, human manipulation, WiFi cracking, and virus development. Yeesh! I
like this site, but do yourself a favor: DO NOT EVEN
APPROACH

this foru
m unless you
are experienced in this area and you are aware of consequences!




Insecure.org Site/Forums
(
http://insecure.org/
) (What'd ya expect,
unicorns.com
?)

Experience:
••••

Advanced


to

••••• Expert!

AMAZING site o
n network security, hacking, and forensics! Tells you all about the
nitty
-
gritty, low
-
level details about TCP/IPv4 and v6, packet sniffing, firewall
evasion, password cracking, SSH tunneling, and lots more. Lists the top 100 best
network tools out there on

the internet, albeit biased a tad towards the “offense”
rather than “defense”. Also the home of the awesome GPL open
-
source nmap port
scanner (which I love to mess around with)! What more can you ask for? Well, you
better have a lot of knowledge about com
puters; this is NOT for beginners at all!
Please note that most of the best programs here are for Linux/BSD only, and many of
the Windows ones either cost money or are inferior to the *NIX ones (*NIX OS's for the
win!).


Web Development:



Coding Forums.org
(
http://www.codingforums.org/
) (OK, this is downright painful!)

Experience:


•••• Beginner to
••••
• Advanced

Great forum with a lot to offer! Covers many webdev
-
ing topics, including HTML,
Javascript, and client
/server SQL/PHP. Also includes topics on lots of advanced
techniques and system security. Great read!




Devshed
(
http://www.devshed.com/
)

Experience:


••••
Beginner

to
•••
••
Intermediate

A
huge

collection of various w
eb development articles (blog
-
style). Has a forum with
a very patient and knowledgeable community. Learn ways to hop over your HTML
hurdles, jiffy your Javascript jams, and ______ your XML ______ (my mind went
blank for words :P).




HTML Code Tutorial (HCT)

Forums
(
http://www.htmlcodetutorial.com/
)

Experience:

••
••• Moderate

to
•••
•• Intermediate

Tons of resources on HTML, but in reality, this site offers
SO

much more! It has
articles and tutorials ranging fro
m HTML/CSS to SQL queries and internet business.
Also has giant forum with lots of members for you HTML hyenas to pounce on. For
those looking for a webdev heaven, drop in here.




HTML Help
(
http://htmlhelp.com/
)

Experie
nce:


••••
Beginner

to
•••
••
Intermediate

Very helpful site for beginning web developers. Has links to the official W3C HTML
and CSS documentation, a forum for both noobs and gurus alike, an FAQ, various tips
and tricks, and other links for additional read
ing. Not as full of info as HCT, but it's
more sequential, and is a little more clear and simple for beginners who are starting
off.


Conclusion:

Well, that's the end of my list. Dang, this got quite long. I worked on this (revision 2) until
3/1/2011 11:35

PM EST (Woohoo!) I hope that someone out there will find this link archive
helpful in their ventures into the wonderful world of programming. But the thing that will
help you the best... is... to... sleep......... zzzzzzzz...