Question How to learn more?

Discussion in 'Switch - Exploits, Custom Firmwares & Soft Mods' started by 877, Sep 1, 2018.

  1. 877
    OP

    877 GBAtemp Regular

    Member
    3
    Mar 8, 2017
    United Kingdom
    A serious question as I would like to help my teenage kids progress in this field:

    How did people such as @rajkosto @Reisyukaku @caitsith2 @tomGER @SimonMKWii @jjbredesen @EventAssistant (to name a few I know) get starting in creating cfw/homebrew/programming/reverse engineering (or whatever it is called)?

    Did you self learn?
    Did a parent/friend start you off?
    Did you learn at work/for a job?
    Where is best to start?

    This is an area of interest for my own kids (and myself), but I don't know where to start!
    Please anyone with experience feel free to give your advice!
     
    Last edited by 877, Sep 1, 2018
    fadx, Deftsu, tomGER and 4 others like this.
  2. Cyan

    Cyan GBATemp's lurking knight

    Global Moderator
    22
    Oct 27, 2002
    France
    Engine room, learning
    what I learned about console, emulation, hacking and development is only self taught. to me, it's not enough, but I lack time to be more involved.
    if you can't learn at school (development, computer), you need lot of time and be always curious to want to understand how things are working, and why.
    trying, is probably a good way to learn.

    Even before I got internet (in 90's) I started being interested in emulators and follow all the release progression, trying to understand how it works, and what all the changelog means, and their purpose.
    Curiosity and wanting to try things myself.

    One thing I feel is harder now : When I started being interested in homebrew and console hacking, it was easy. no protection, no ssl, no encryption keys or security layers. it was simple to learn, mod games, replace files, code and try.
    If you start only now, you'll have to understand a lot more things at once to even begin having results. you'll have to understand security and cryptology.
     
    Last edited by Cyan, Sep 1, 2018
  3. TR_mahmutpek

    TR_mahmutpek medic

    Member
    6
    Jul 28, 2015
    Turkey
    E-X-P-E-R-I-E-N-C-E
     
    ccprodigy likes this.
  4. 877
    OP

    877 GBAtemp Regular

    Member
    3
    Mar 8, 2017
    United Kingdom
    I feel exactly the same way! I've been into computers since the late 80's and always read changelogs, even phone updates. I build my own PC's/watercooling, and have hacked every console. But always on the shoulders of those who created the tools. I do lack time as I have a full time job which is a technical job (electrics), but I really think i am not maybe intelligent enough too lol.
    But I think my kids are :)

    — Posts automatically merged - Please don't double post! —

    What does that even mean, I'm after practical advice..
     
  5. Cyan

    Cyan GBATemp's lurking knight

    Global Moderator
    22
    Oct 27, 2002
    France
    Engine room, learning
    I don't think intelligence is a problem, except for how fast you learn maybe?
    Time is a problem instead, time to read/learn but also time to create and test and maintain a project.

    he meant practicing, doing it. for example, you want to learn developing homebrew ? don't just read site to learn C/C++, but get a project and do it ! practice and get experience, making errors and fixing them, etc.
    even with hardware, trying and seeing how it reacts. For example, there are software hacks, but there are also hardware hacks and without trying you can't see if your idea works.
     
    Last edited by Cyan, Sep 1, 2018
    justmiiplaynwii, Quantumcat and 877 like this.
  6. 877
    OP

    877 GBAtemp Regular

    Member
    3
    Mar 8, 2017
    United Kingdom
    No joking apart intelligence is not an issue, I learn pretty fast and am educated to a high standard in my field.
    It's time definitely, just where to begin? I would love to hear people's journey..
     
  7. FAST6191

    FAST6191 Techromancer

    pip Reporter
    22
    Nov 21, 2005
    United Kingdom
    We do have a few threads on the matter.
    https://gbatemp.net/threads/some-hacking-concepts-and-links.287721/
    https://gbatemp.net/threads/how-does-one-start-with-console-hacking.464057/
    https://gbatemp.net/threads/what-wo...m-to-start-hacking-consoles-handhelds.330808/
    https://gbatemp.net/threads/what-do...be-able-to-hack-or-understand-hacking.501840/
    https://gbatemp.net/threads/what-do-i-need-to-start-helping-the-scene.479123/

    If you are purely interested in making homebrew code then that is fairly conventional programming ( https://gbatemp.net/threads/so-you-want-to-learn-to-program.371255/ ), maybe a bit rougher around the edges and some of the libraries are not quite the same but by and large it would be standard programming. Custom firmware (CFW) is a different matter.
    Reverse engineering runs everything from the lowest levels of hardware to the firmwares they run to the services said firmwares support, to the games they run ( https://gbatemp.net/threads/gbatemp-rom-hacking-documentation-project-new-2016-edition-out.73394/ ), all being somewhat different in their approaches.

    Self learning is popular, mainly as it is not really taught in schools; schools traditionally teach you either how to program or how to administer computers, both incredibly useful skills to have but any hacking skills* you gain, especially those terribly useful to consoles/embedded devices, are almost incidental to those. If you are going to learn it from a school then it will tend to come from the really hardcore areas of computer science and electrical engineering, the latter of which you will need to bias towards it as it won't necessarily happen by default but with the slightest push it will. Maths and physics have provided a few as well over the years, mainly as before computers became their own thing they were the main users of them, but you will have to really push for it in those cases. With that said other than having to learn how to think like a hacker (not necessarily a trivial feat if you spent that long in academia, my favourite example coming from Lessons of the Kobayashi Maru) you will probably come out of such a thing fairly primed for it.
    For myself then while I can't and wouldn't discount what I learned in school (granted I am more traditional engineering with a heavy electronics bias) if it was left as just what I needed to pass exams then not so much from school.

    *it has been said that most of hacking is computer administration, a favourite example being a client a while ago got their wordpress install twisted away from them by a marketing consultant's web dev that wanted to handle everything. Did I comb through the code looking for a password handling error? Nope, not a fucking chance. I went on the server's database admin and did something like http://wpcrux.com/blog/change-wordpress-password-phpmyadmin/ . Such things are rather less prevalent/available on embedded devices though.

    I have always pulled things apart, computers and electronics are cheaper and easier than the big boy industrial toys I would be doing in an ideal world. Once you understand enough of how things, or the thing in front of you, works then you start seeing how to make it better or doing things you want it to do.

    It is a skill set I offer my clients I guess, though more as a thing I can do than an out and out service.

    Hopefully you get something from the links above, failing that find yourself some nice channels covering hacker conferences and the sorts of devices/programs/concepts you care to look at (while I don't necessarily expect that you will know what JTAG is and why it might be useful to you then if you see it mentioned in a talk, say on 360 hacking then you might push deeper into such things. You will then probably find out there is more like i2c, spi and all the rest of the things you might find on something like http://dangerousprototypes.com/docs/Bus_Pirate ).
     
    Switchup, 877 and BelmontSlayer like this.
  8. Cyan

    Cyan GBATemp's lurking knight

    Global Moderator
    22
    Oct 27, 2002
    France
    Engine room, learning
    probably not helpful to you, but here is mine:
    my journey started before 10 years old, at primary school on thomson MO-5, learning LOGO. (80's)
    then, BASIC on amiga, trying to create programs by myself. decyphering how cheatcode worked on console's gamegenie (90's)
    then, understanding how internet is working, html, javascript, PHP, sql, etc. (90s' -early 2000's)
    I needed something which didn't exist, and decided to make it myself (firefox addon), so I learned about everything myself by try and error, reading a lot the Mozilla's website developers resources. finally got something used by thousands of people, which encouraged me to continue and improve it.

    finally I joined here and started wanting to understand everything, and ended as beta tester for homebrew developers. being available helped the developers and gave them will to work on their project. they started telling me to do small things in their projects, looking how c/c++ worked wasn't too hard due to my past programming knowlege. managing to do small things, developers gave me their trust and I had access to different projects (usbloadergx, wiisx, nintendont, etc.).

    My next step would be wanting to create my own homebrew game by myself, from start to finish, instead of modifying and maintaining other existing projects.
     
    Last edited by Cyan, Sep 1, 2018
    Quantumcat and 877 like this.
  9. The Real Jdbye

    The Real Jdbye Always Remember 30/07/08

    Member
    18
    GBAtemp Patron
    The Real Jdbye is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Mar 17, 2010
    Norway
    Alola
    I haven't done much homebrew development, but I do program.
    I started at 10 or so when my dad gave me a copy of VB6 for Dummies, but didn't do much actual coding, mostly just reading the book and trying out the stuff mentioned there, it was a bit hard to figure out how to code my own stuff. I didn't get started properly coding until I discovered Game Maker a couple of years later and slowly learned how to use GML (Game Maker Language) and got really good at it.
    That in turn made coding come more naturally to me so it was much easier for me to code in VB6 when I went back to that, and I kept using GM to make games and VB6 to make other things for years until switching over to Delphi for software development.
    I've tried out a number of languages but these days I mostly stick to C# and PHP/HTML.

    I think GM is still a good place to start, because it doesn't force you to code, but the option is there and when you start feeling the need for more complex mechanics you will naturally ease yourself into coding like I did. And a lot of it is just mirrored from the GUI object editor so once you're familiar with that you kind of get the hang of how the code is structured and how the functions are used. But of course these days there are other options like Unity.
    Plus, level design is a lot of fun.
     
    877 likes this.
  10. Dust2dust

    Dust2dust GBAtemp Advanced Fan

    Member
    6
    Jun 17, 2010
    Canada
    Just out of curiosity, what addon is it, Cyan? Who knows, I might be using it myself without knowing you wrote it. It's a small world.
     
  11. fadx

    fadx Filthy Cheater

    Member
    5
    Sep 15, 2016
    United Kingdom
    For me I first got into programming back when I RGH'd my Xbox 360. I wanted some specific tools that hadn't been created yet and I couldn't find anyone that wanted to make the tools. I came to the conclusion that I'd have to make them myself so what I did was basically take tools source code and I opened it in Visual Studio and just started seeing what the buttons etc. did and then I attempted to modify them to do what I needed them to do. It was just hours and hours of trial, error and googling until it did what I wanted it to. There's no shame in asking for help and if someone is going to mock you because you write poor code or don't know how to do something basic then they're just assholes. From my experience all the people I've asked for help were extremely helpful and I wish I had asked for help a lot more when I was first starting because then I'd have learned a lot faster.

    A lot of the learning process for me was just using google. Like say for example I wanted to make a button that took a bunch of text boxes and made them into a list I would really just google something like "Combine text boxes into list <programming language>". The downside to learning this way is that you don't really learn the correct practices and your code won't be very maintainable or workable for anyone other than yourself. You might think when you're coding that you don't need comments etc. but I promise you if you don't at least put very basic comments in your code you'll go back to a project you worked on 2 months earlier and you'll have no clue what the fuck any code does, why it does it and why you need it.

    If you're wanting to create some application for use with the switch you'd want to figure out what IDE people are using and what language the applications are written in. I don't know anything about developing for Switch etc. though so I'm not of much help there. After you start to learn more and more about a specific programming language, what you've learned will be transferable to other languages. Languages do a lot of things similarly so say you developed a decent understanding for C#, you could then take a look at some Java code and you'd have a pretty easy way of understanding how everything is working and therefore learning that language would come a lot easier than it was learning C#.
     
    Quantumcat likes this.
  12. 877
    OP

    877 GBAtemp Regular

    Member
    3
    Mar 8, 2017
    United Kingdom
    @FAST6191 thank you for the comprehensive reply, I really appreciate the list of links. Also I will be watching the Lessons of the Kobayashi Maru) videos. I've also taken things apart from a young ages, most went back together as well lol. I used to hack cable boxes and used jtag back in the day, my young son recently jtag'd his 360 and backed nand up etc without my help. Gives me somewhere to start, thanks again!

    @Cyan sounds like you are well on the way to creating your own homebrew game! I did the same, logo then basic on my amstrad, but mainly copying from magazines. When the amiga came along I was more interested in copying games via floppy disk (i remember nibble mode).I don't think I ever took to it the way you did. I wonder if you had some person who influenced you, or you just found it yourself. Thanks for your input!

    @The Real Jdbye Game Maker looks very good, thanks for mentioning it. I will definitely be trying that!

    @fadx modyfying tools to make your own is quite impressive, I think my kids are at the stage where they are taking apart programs and modding them (mainly for game mods). Seems like C# is the way to go as a few have mentioned it.

    Thanks everyone for your posts, it's a lot to absorb and I will be working my way through all the info. Very interesting to see how people got started :bow:
     
    Cyan likes this.
  13. caitsith2

    caitsith2 GBAtemp Fan

    Member
    6
    Jan 16, 2004
    Canada
    a secret location 93 million miles from the sun
    Pretty much all of my experience for the most part was self-taught.
     
    VinsCool likes this.
  14. VinsCool

    VinsCool Cattus Incerta Tacitusque

    Member
    25
    GBAtemp Patron
    VinsCool is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Jan 7, 2014
    Canada
    Another World
    I assume that trying stuff over and over until it does what you want would be a simple answer to this question.
     
  15. FAST6191

    FAST6191 Techromancer

    pip Reporter
    22
    Nov 21, 2005
    United Kingdom
    Answer, perhaps.

    Most efficient? Not a chance.
     
    VinsCool likes this.
  16. 877
    OP

    877 GBAtemp Regular

    Member
    3
    Mar 8, 2017
    United Kingdom
    @caitsith2 thanks for the reply, it would be very interesting to briefly know how you got started, and what would you advise for a young teenager nowaday to begin learning?
     
  17. Niels Van Son

    Niels Van Son Unspecified Life Form

    Member
    4
    Jan 1, 2016
    France
    Mirepoix, Ariège, Occitanie
    95% of my English vocabulary and language knowledge in general was self-taught. I can even recall the day I started to understand my first English YT video, I felt like a world was opening to me.

    To be fair I started to learn English pretty early in my childhood, my native language being French, repeating the things I needed to learn (Believe me, French is a hard language) was boring as heck and I wanted something new. One day, when I was 6 or something, I went at a pawn shop with my dad which was and still is located right in front in our house. I found a PC game there called "Peter Pan's adventure in neverland" iirc. I asked my dad to buy it, and he agreed.

    Once we were back home, I popped the cd into my Windows 98 machine. One thing bothered me though : The game was in English.

    I didn't know a single word of English at that time, so I didn't understand anything and because I was 6 I didn't have any "logical gameplay reflexes" (if that makes sense) to play the game without instructions. Well, I ultimately asked my dad all the time to translate for me since he worked for some time in English speaking countries.

    So, I think this is where it all started. I remember starting to know what "Start", "End" and other words meant before moving on to the internet. On the school side of things, I didn't actually have any real English classes until when I was like 11 (1st year of junior high school basically) and honestly they rarely helped, I was already watching PewDiePie at 13 whereas other guys in the classroom were trying to tell their names correctly (And failed most of the time lmao)

    What helped me the most ? The internet. Almost everything I learnt about English comes from the internet. Awesome communities, a lot of places to talk to foreign people and I even made a few good English friends over the years which is super cool !

    Now, I'm basically fluent. I can hold any type of conversation without any problems and I even use it for semi-pro work. I still need to do exams to ""confirm"" my learnings but still, I can't help but feel proud about just that.

    I'm only 15 atm. Imagine if I didn't have the chance to learn English that soon.

    EDIT : I knew it was self-taught not self-learnt lmao
     
    Last edited by Niels Van Son, Sep 2, 2018
    877 likes this.
  18. 877
    OP

    877 GBAtemp Regular

    Member
    3
    Mar 8, 2017
    United Kingdom
    Hey @Niels Van Son thanks for the long post, your English seems pretty good to me, I wouldn't have known. You seem very mature for a 15yr old which I am sure will bode well for you in the future. I studied French as school and never understood the masculine/feminine thing, now I can only speak a few dozen words, but being English I am lucky it's universally understood (like it or not).

    It's good to have that drive to learn, I did not study hard at school and just about passed my gcse's, but afterwards felt annoyed with myself and tried very hard to learn, which helped me become successful in my career. You have already learned this it seems :yay:

    PS - watching PewDiePie though, that's unforgivable :rofl:
     
    Niels Van Son likes this.
  19. Niels Van Son

    Niels Van Son Unspecified Life Form

    Member
    4
    Jan 1, 2016
    France
    Mirepoix, Ariège, Occitanie
    lmao like it or hate it :rofl:

    Thanks for the support though. It's true that having to differentiate between masuline and feminine words combinations can be really confusing at first. I'm kinda glad that I learnt french first (and most of all naturally), I don't think it would have interested me that much otherwise...
     
    877 likes this.
  20. VinsCool

    VinsCool Cattus Incerta Tacitusque

    Member
    25
    GBAtemp Patron
    VinsCool is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Jan 7, 2014
    Canada
    Another World
    Certainly not the most efficient indeed, but it definitely helps.
    Better try and fail a lot of times, eventually improve, rather than never try anything, which would prevent any progress.
     
Loading...