Developer's Utilities

  • 2 Replies
  • 2229 Views
*

Ultron

  • Trusty Member
  • *******
  • Starship Trooper
  • *
  • 472
  • There are no strings on me.
Developer's Utilities
« on: May 09, 2015, 09:47:43 PM »
I recently remembered those talks about improving the forum and helping newcomers, so I figured it's time to start actually doing something.

A lot of people coming here seek beginner guidance and pointers on where to exactly start. While we cannot provide individual pointers for everyone since every goal and project greatly varies, we can share our personal experiences and the means by which we have achieved our goals. Also we can share the useful tools we personally use and are aware of, so those seeking assistance can figure out the best solution for themselves.

While I am too lazy and unwilling to share my whole story at the moment, I am going to provide some useful links, hopefully helpful to future and already established programmers seeking improvement. Please note that this topic aims to differ from the original ''useful links thread'.

Starting to learn programming by attending classes may be ideal, but if you have the will and true desire to learn something then YouTube and Google can be just as good teachers. My first language was HTML, quickly followed by CSS and a slight scratch of JavaScript. I learned them by following a humble tutor on Youtube - after only 1 (yet lengthy, 1 hour) video I could make some barebones old-school websites. It took me 3 days to finish the video and digest it. What is important however, is that I copied all of the tutor's actions after previously listening to his words. The rest of the time I was experimenting on my own - editing fragments, making my own combinations and so on... Remember those 3 words. Once you have understood the basics of the language, (and if you are a completely new programmer, then also make sure you understand the concept of logic and programming) you can then carry on to some more advanced methods of learning - reading actual books, analyzing more complex examples, reading online reference pages and attempting to reconstruct professional pages and applets.


A useful link to those studying web development: http://www.w3schools.com/
      Over there you may find tutorials, examples and tests for HTML, CSS, JS, PHP, Ajax, ASP and more.

Once the drive to build websites was out, I slowly entered my hacker phase. I was a born geek / nerd (can't tell the difference) so this was only to be expected. While playing certain MMO's (the old, cool ones) you would here about a notorious player who has these amazing magical tricks in his chest. When you gain trust you might also be passed a valuable exploit guide from the faction's leaders... This makes becoming a hacker very tempting... However it would be years before I actually succeeded at hacking something - it takes a wondrous combination of knowledge, bravery and creativity.

For those seeking a practice ground for hackers and security testing: https://www.hackthissite.org/
      You may also find some educative articles and if you do manage to succeed in the missions it is a precious experience.

It is also worth mentioning that I was greatly motivated by a true a**hole hacker from Canada, who I met ages ago in Galaxy Online (Sci-Fi MMO - best ever). Competition and racing can be a very powerful motivation factor - just look at the success of the Apollo missions! Now the next logical step would be to evolve past web development and get a more general picture of programming - regardless if you wish to focus solely on WD or not - would be to learn an actual programming language (client-based). Many would argue, but judging from personal experience, usefulness and overall success in educative programs I would say that C++ is a very good solution. Other suggestions would include Java, Python and C/C#.
C and C++ are very similar, while C# may be the most used (good choice for programmers aiming at mobile platforms).
I learned C++ at many places - school (not much, honestly), YouTube, web guides but the most thorough understand came from Sir Bucky - an amazing programmer with an even more amazing tutorial series on youtube.

You can find Bucky's tutorials (and others) here: https://www.thenewboston.com/
    Once you get the hang of C++, or require/wish for a deeper explanation of a function / library, visit http://en.cppreference.com/w/
 
What am I working on now? Well, although my knowledge is still maybe at average, after learning everything from the above-referenced tutorials and some additional exploration of SQLite (Simple C++ database engine) I managed to create a barebones framework for a desktop assistant program - something you can read about if you search the forum for "J.A.R.V.I.S.". I also managed to make an encryption algorithm called Vaneheim, which nobody has managed to break so far (not that anyone has tried, but...). I put those project on hold, however, and decided I need to learn more.
Some things are just too complex and if you are like me and want to learn about as much as you can, then you don't really have time to reinvent the wheel every time you want to try something new. The following are some useful tools, albeit aimed at users who have already mastered the basics and are ready to go the true next level...

openFrameworks - much like a Processing (Java-based) port for C++. Very useful for those in need of graphics, hardware control, sound etc. Also a good way to enable communication with development boards such as the Arduino (robotics, yay!): http://openframeworks.cc/
    Please note that the installation can be rather tough - not a lot of things are mentioned explicitly in most guides so P.M. if you need help.

It also comes with a lot of add-ons (a whole library of choices!)... The most notable of which is the following: http://www.ofxaddons.com/categories/14-machine-learning
    Now this goes beyond the realm of newbie suggestions and is aimed at serious programmers or experienced A.I. enthusiasts seeking programming utilities for their new entity.

Also here is a C e-book in PDF format which you would not probably find for free, however it is always best to buy printed books and support the author's in whichever way possible: http://www.filedropper.com/c-programming-ebook

Whatever you choose to learn, there will always be traffic jams and roadblocks. There will also be things you cannot handle on your own, but you must always try! The single best way to become better and learn from your mistakes is to fix the mess you made by yourself! http://stackoverflow.com/

I also urge Ranch to check out the graphics aspect of this framework - openGL has never been so easy! I do realize that you are not working with openGL, tho.
It would be nice if this thread would be made more apparent to new visitors and if you guys would help by maintaining with new links and maybe even helpful tips/tutorials. Let's make it easy for the future!

I realize there are not too many links and I know most of you are aware of at least 10 more fine guides regarding HTML, C++ and whatnot. However, there is a reason for that, and that is that providing a single link (or up to one alternative) saves the beginner the hesitation and choice of which guide is better and which one is the best to be pursued.
Software and Hardware developer, and everything in between.

*

ivan.moony

  • Trusty Member
  • ***********
  • Eve
  • *
  • 1284
    • e-teoria
Re: Developer's Utilities
« Reply #1 on: May 09, 2015, 10:37:57 PM »
You can kill me, but personally I don't have much to share with beginners. I started investigation when I didn't have a web access outside of public library. I borrowed two-three books on Math Logic and some AI theory (useless) and crunched them slowly until I learnt some logic basics. The rest of my investigation (when I got web access) bases on investigating Type Theory (a theory about theories) and ignoring dozens of other technical papers that I didn't find useful.

By now I can say that I understand some basics about Math Logic and Type Theory just because that was really only two areas I found useful for implementing in AI (they give you basics to automatically draw conclusions and automatically construct different algorithms based on specifications). So other than these two scientific areas I have really nothing (yet) to recommend if you are into true AGI.

P.S.
I'll have more than this when I finish Coglog, an AI toolkit.
« Last Edit: May 10, 2015, 11:58:45 AM by ivan.moony »
Dream big. The bigger the dream is, the more beautiful place the world becomes.

*

squarebear

  • Trusty Member
  • *********
  • Terminator
  • *
  • 754
  • It's Hip to be Square
Re: Developer's Utilities
« Reply #2 on: May 09, 2015, 11:54:47 PM »
I have a few sample AIML files that beginner's are welcome to study, use and learn from at http://www.square-bear.co.uk/aiml/ and am also happy to answer any questions about AIML.
Feeling Chatty?
www.mitsuku.com

 


wind just lasts forever on earth
by goaty (General Hardware Talk)
Today at 11:09:52 AM
Who are you, what do you do & what do you want to do ?
by ruebot (New Users Please Post Here)
December 08, 2019, 09:59:54 PM
Implika automated inference engine
by LOCKSUIT (General Project Discussion)
December 08, 2019, 02:05:55 PM
In The Age of AI - (full film)
by Art (Future of AI)
December 08, 2019, 02:41:11 AM
Friday Funny
by Freddy (General Chat)
December 07, 2019, 08:10:58 PM
It's Not All Doom and Gloom
by ruebot (Bot Conversations)
December 07, 2019, 06:53:09 PM
mini a.i puzzles
by yotamarker (General AI Discussion)
December 07, 2019, 02:46:52 PM
XKCD Comic : Flu Shot
by Tyler (XKCD Comic)
December 07, 2019, 12:00:04 PM

Users Online

13 Guests, 0 Users

Most Online Today: 22. Most Online Ever: 340 (March 26, 2019, 09:47:57 PM)

Articles