Tools of the trade
Moderator: Team Members
- Gangrenous
- Posts: 812
- Joined: Sun Apr 24, 2016 6:54 am
- Characters: Dinsmoor
Tools of the trade
I think it would be a good conversation for us to all discuss our learning methods, tools we use and best practices. My goal like everyone else's goal is to be the best coder that I can be. I am basically self taught, my degree is actually in electronics. The way I learned programming was very forceful at work, not enjoyable. Once it finally started clicking in my head things got somewhat easier. I did not develop a passion for it into I discovered emulators, MMORPG emulators in particular. I prefer ones written in C++ instead of C#, well because they seem harder to learn and understand which in turn I think sharpens the mind. I mainly program at night on a very high end laptop. I find I get tired of being on a desktop all day and it is refreshing to be able to listen to some audio on a laptop while I code at night. So lets discuss tools!
My server is on Debian 9. I always run a Windows 10 desktop but all of my home servers, and there are a bunch, are Debian. As an editor I find Notepad++ has always served my needs. One tool though I cannot do without is Beyond Compare. It is very nice to be able to compare folders or just blocks of text quickly to see where my source differs from official source. I keep my own GIT repository on my hosted Gitlab vm, also on Debian. I do a mix of my commits via command line and Tortoise, I find it best practice to learn both methods. All of my database changes are on the developing public editor but I use HeidiSQL for doing my crazy changes. I would love to hear from John, Jabantiz or others on things you have learned over the years especially on things you should not do.
My server is on Debian 9. I always run a Windows 10 desktop but all of my home servers, and there are a bunch, are Debian. As an editor I find Notepad++ has always served my needs. One tool though I cannot do without is Beyond Compare. It is very nice to be able to compare folders or just blocks of text quickly to see where my source differs from official source. I keep my own GIT repository on my hosted Gitlab vm, also on Debian. I do a mix of my commits via command line and Tortoise, I find it best practice to learn both methods. All of my database changes are on the developing public editor but I use HeidiSQL for doing my crazy changes. I would love to hear from John, Jabantiz or others on things you have learned over the years especially on things you should not do.
Resident Dirty Hippy
- Gangrenous
- Posts: 812
- Joined: Sun Apr 24, 2016 6:54 am
- Characters: Dinsmoor
Re: Tools of the trade
Two things I just remembered that helps. On Debian while debugging it is essential to turn on debug symbols on your compiler. Running gdb and bt during a crash dump and being able to see the line of the crash is just essential. Also when doing your compile changing the cores speeds things up depending on your cores, my VM is using 8 cores so...
make -j8
Resident Dirty Hippy
- Ememjr
- Team Member
- Posts: 975
- Joined: Wed Mar 15, 2017 9:41 am
- EQ2Emu Server: Perseverance
Re: Tools of the trade
I use MS all the way, i could never get the hang of linux and have to pull out the cheat sheets everytime i working on my customers linus box
i use notepad++ as well nothing worse that close your editor out and forgetting to save, i use winmerge to compare the EMU files but look for something better to compare blocks of text, even from within the same document, would help so much with structs
I have never had to hard core program for work, maybe that why i like it so much, just a hobby for me
mostly use VB, more and more C++ but still lost in the best way to achieve some things, and C# i am totally lost, but i can get around something already written
i use notepad++ as well nothing worse that close your editor out and forgetting to save, i use winmerge to compare the EMU files but look for something better to compare blocks of text, even from within the same document, would help so much with structs
I have never had to hard core program for work, maybe that why i like it so much, just a hobby for me
mostly use VB, more and more C++ but still lost in the best way to achieve some things, and C# i am totally lost, but i can get around something already written
-
tyrbo
- Team Member
- Posts: 271
- Joined: Thu Feb 18, 2016 12:33 pm
Re: Tools of the trade
I've been programming since I was like 8. I do just about everything in a console.
For editor, I use vim (neovim), but historically I've used Sublime Text (way back), vscode, and emacs.
I'm using NixOS right now for everything. I tend to jump around a lot. Server-wise, prior to jumping to NixOS, I generally run Ubuntu or Debian.
Also <3 docker.
idk what all you really want to know
For editor, I use vim (neovim), but historically I've used Sublime Text (way back), vscode, and emacs.
I'm using NixOS right now for everything. I tend to jump around a lot. Server-wise, prior to jumping to NixOS, I generally run Ubuntu or Debian.
Also <3 docker.
idk what all you really want to know
- Gangrenous
- Posts: 812
- Joined: Sun Apr 24, 2016 6:54 am
- Characters: Dinsmoor
- Cynnar
- Project Leader
- Posts: 738
- Joined: Sat Sep 27, 2014 1:22 am
- EQ2Emu Server: Eq2emulator
- Characters: Vlash
Veinlash
Taragak
Cynnar
Re: Tools of the trade
Still trying to get the hang of C++. It has not clicked for me on a lot of it. I can do some C#. For some reason I tend to grasp it better. One of my biggest problems I think is I am not very good at engineering code. I can use parts of code to make something work, so long as I understand what it is doing, but to outright create the code to do something I seem to lack the ability to do so.
Windows is my main os and I dabble with *nix off and on. I don't mind the terminal, but there is so much going on in Linux that I too have to have a cheat sheet to do any thing beside move around from directory to directory.
As far as tools go Visual Studio, and currently on 2017, notepad++ for some things, Sublime for others, Visual Code lately to help with the php/html stuff. GitHub Desktop, and Firefox for the repos on github. HeidiSQL for most of my database work. PuTTY and BitVise SSH for my ssh needs. BitVise I really like best as it also has the SFTP client launch as well as the terminal when you connect. Various of other things that are less important or I don't really know how to use like x32dbg/x64dbg, Hex Workshop Hex Editor, ScreenHunter Pro for screen image capture, Gimp to edit photos, Adobe Photoshop Elements 20196 to edit photos as well, DDS Converter for some of the dds images in EQ2, OBS Studio for screen recording, Handbrake to compress any large videos produced by OBS Studio, VMware Player to run my Linux, and other Windows, install on, WinMerge to compare folders and files, Discord to chat with everyone,
and a few more that I am sure I am overlooking.
I think this will be a nice thread as I too would like to learn more about the what not to do that our experienced developers have learned the hard way.
One of the best things I can contribute is that using something like our SAY() function in our scripts to determine where the script is running to, or where it is not getting to, is something Jabantiz has told me over and over to use. I tend to forget to use it when I get frustrated, but it does help out a lot. I would assume that you can take that and apply it to almost any code like using printf() in C++ or echo in php, etx to see what your code is actually doing, where it is stopping, and so on.
Windows is my main os and I dabble with *nix off and on. I don't mind the terminal, but there is so much going on in Linux that I too have to have a cheat sheet to do any thing beside move around from directory to directory.
As far as tools go Visual Studio, and currently on 2017, notepad++ for some things, Sublime for others, Visual Code lately to help with the php/html stuff. GitHub Desktop, and Firefox for the repos on github. HeidiSQL for most of my database work. PuTTY and BitVise SSH for my ssh needs. BitVise I really like best as it also has the SFTP client launch as well as the terminal when you connect. Various of other things that are less important or I don't really know how to use like x32dbg/x64dbg, Hex Workshop Hex Editor, ScreenHunter Pro for screen image capture, Gimp to edit photos, Adobe Photoshop Elements 20196 to edit photos as well, DDS Converter for some of the dds images in EQ2, OBS Studio for screen recording, Handbrake to compress any large videos produced by OBS Studio, VMware Player to run my Linux, and other Windows, install on, WinMerge to compare folders and files, Discord to chat with everyone,
I think this will be a nice thread as I too would like to learn more about the what not to do that our experienced developers have learned the hard way.
One of the best things I can contribute is that using something like our SAY() function in our scripts to determine where the script is running to, or where it is not getting to, is something Jabantiz has told me over and over to use. I tend to forget to use it when I get frustrated, but it does help out a lot. I would assume that you can take that and apply it to almost any code like using printf() in C++ or echo in php, etx to see what your code is actually doing, where it is stopping, and so on.
[ 01000011 01111001 01101110 01101110 01100001 01110010 ]
Follow on:
Twitter Facebook
Contact me:
PM Discord chat email
Hardware: the parts of a computer that can be kicked
Follow on:
Twitter Facebook
Contact me:
PM Discord chat email
Hardware: the parts of a computer that can be kicked
- Ememjr
- Team Member
- Posts: 975
- Joined: Wed Mar 15, 2017 9:41 am
- EQ2Emu Server: Perseverance
Re: Tools of the trade
i forget as wellCynnar wrote: Sat Apr 13, 2019 6:33 pm
One of the best things I can contribute is that using something like our SAY() function in our scripts to determine where the script is running to, or where it is not getting to, is something Jabantiz has told me over and over to use. I tend to forget to use it when I get frustrated, but it does help out a lot. I would assume that you can take that and apply it to almost any code like using printf() in C++ or echo in php, etx to see what your code is actually doing, where it is stopping, and so on.
what i will do alot of time is temporarily modify the text that is showing up on screen during a dialog and put something identifyable in it
like when i was working on books there were some theat you read the book and there was book dialog and then there would be a quest completeion that had the same dialog but came from the quest script instead of the item script put an "I" at the begining of the dialog in item and a "Q" at beginning of quest script help determine what order stuff wa coming in as and ekkp it straight , also when working on quest lines that intertwine with each othe i will add the quest number to the quest name till its finished
- John Adams
- Retired
- Posts: 9684
- Joined: Thu Jul 26, 2007 6:27 am
- EQ2Emu Server: EQ2Emulator Test Center
- Characters: John
- Location: Arizona
- Contact:
Re: Tools of the trade
I'll play, although I am officially retired from all-things-gaming 
Hi, my name is John, and I'm a code-a-holic. I did not start when I was 8... My first computer was in 1986, a Kaypro IBM Clone where I was learning COBOL/FORTRAN for a class I was taking. Complete waste of time, btw. I wrote some BASIC code around the same time, thinking it was amazing (anyone remember Sprites?) until I discovered a BBS (bulletin board software) called "WWIV" - written in Pascal, which became the first compilable code I started writing utility/game modules for. I did [Turbo]Pascal until around 1993 when a job I took required some lower-level processing of data and I picked up Borland C. My first C program was a simple File IO that read a text file and parsed it and output the data in a consumable format (the almighty and still ever-present CSV, or comma-separated values).
It wasn't until that great explorer Al Gore discovered the internet while sojourning with Tibetan monks through the Himalayas that I started working with <HTML>... mid 90s, I recall. In y2001, I discovered Everquest, got addicted, joined my first guild, and offered to make a "Guild Web Site" using Adobe Cold Fusion (I still have the code..) I few years of dinking with CFM, I moved to ASP/VBScript because a job I took required it - and I tossed CFM for that (I still have the code..) Finally around 2005, I learned about PHP - and as far as web development goes, the rest is history.
Because of MMO Emulators, I returned to my roots of sorts with C++ in 2007, and also because of some need for automated testing at my day job, I picked up C# in 2008. Since then, I have >started< over 11 DB Editors for various projects, and have yet to complete a single one. Day jobs have consumed my life, and as of 2016 I have basically left the scene entirely - leaving it to the next generation of brilliant coders and data crunchers.
My tools of choice have mostly been Visual Studio (from 2003+) and Adobe Dreamweaver... which is, in fact, still loaded on my dev station (CS5, stop laughing) I've used a trillion other tools along the way, but those are the primary ones that get stuff done. I am an SVN h0r, I refuse to ever accept Git as a thing, because SVN works. And no one is trying to gouge me for dollars to use it. Other tools, of course Windows/Linux/MacOS, TortoiseSVN, SQLYog is my database tool of choice (I dated a Heidi, cannot use HeidiSQL... bleah...) and really, that's about it for emu work.
Right this moment, I am diving into the world of Java for work... test automation, building frameworks and CI/CD pipelines, etc. I run a 3-node ESXi vCenter cluster in a spare bedroom which you all visit every day. Welcome to my home. My empire is shrinking though, because I simply have no time to just "have fun" anymore. Kinda sad, really. I wish I were 20-something again
Hi, my name is John, and I'm a code-a-holic. I did not start when I was 8... My first computer was in 1986, a Kaypro IBM Clone where I was learning COBOL/FORTRAN for a class I was taking. Complete waste of time, btw. I wrote some BASIC code around the same time, thinking it was amazing (anyone remember Sprites?) until I discovered a BBS (bulletin board software) called "WWIV" - written in Pascal, which became the first compilable code I started writing utility/game modules for. I did [Turbo]Pascal until around 1993 when a job I took required some lower-level processing of data and I picked up Borland C. My first C program was a simple File IO that read a text file and parsed it and output the data in a consumable format (the almighty and still ever-present CSV, or comma-separated values).
It wasn't until that great explorer Al Gore discovered the internet while sojourning with Tibetan monks through the Himalayas that I started working with <HTML>... mid 90s, I recall. In y2001, I discovered Everquest, got addicted, joined my first guild, and offered to make a "Guild Web Site" using Adobe Cold Fusion (I still have the code..) I few years of dinking with CFM, I moved to ASP/VBScript because a job I took required it - and I tossed CFM for that (I still have the code..) Finally around 2005, I learned about PHP - and as far as web development goes, the rest is history.
Because of MMO Emulators, I returned to my roots of sorts with C++ in 2007, and also because of some need for automated testing at my day job, I picked up C# in 2008. Since then, I have >started< over 11 DB Editors for various projects, and have yet to complete a single one. Day jobs have consumed my life, and as of 2016 I have basically left the scene entirely - leaving it to the next generation of brilliant coders and data crunchers.
My tools of choice have mostly been Visual Studio (from 2003+) and Adobe Dreamweaver... which is, in fact, still loaded on my dev station (CS5, stop laughing) I've used a trillion other tools along the way, but those are the primary ones that get stuff done. I am an SVN h0r, I refuse to ever accept Git as a thing, because SVN works. And no one is trying to gouge me for dollars to use it. Other tools, of course Windows/Linux/MacOS, TortoiseSVN, SQLYog is my database tool of choice (I dated a Heidi, cannot use HeidiSQL... bleah...) and really, that's about it for emu work.
Right this moment, I am diving into the world of Java for work... test automation, building frameworks and CI/CD pipelines, etc. I run a 3-node ESXi vCenter cluster in a spare bedroom which you all visit every day. Welcome to my home. My empire is shrinking though, because I simply have no time to just "have fun" anymore. Kinda sad, really. I wish I were 20-something again
John Adams
EQ2Emulator - Project Ghost
"Everything should work now, except the stuff that doesn't" ~Xinux
EQ2Emulator - Project Ghost
"Everything should work now, except the stuff that doesn't" ~Xinux
- Gangrenous
- Posts: 812
- Joined: Sun Apr 24, 2016 6:54 am
- Characters: Dinsmoor
Re: Tools of the trade
Well if you officially retire from work, you may want to come back to this all after a break.
Resident Dirty Hippy
- John Adams
- Retired
- Posts: 9684
- Joined: Thu Jul 26, 2007 6:27 am
- EQ2Emu Server: EQ2Emulator Test Center
- Characters: John
- Location: Arizona
- Contact:
Re: Tools of the trade
Hah. I will never retire. I came up in the generation of terrible planning
but hopefully my house stops falling apart so I get time to "play" again someday.
-
tyrbo
- Team Member
- Posts: 271
- Joined: Thu Feb 18, 2016 12:33 pm
Re: Tools of the trade
Also git for life. I've used svn and bazaar in the past but for personal projects and just about every company I've ever worked for (so far), it's been git.
-
Jabantiz
- Lead Developer
- Posts: 2912
- Joined: Wed Jul 25, 2007 2:52 pm
- Location: California
Re: Tools of the trade
Nothing really special for me. I took a couple C++ classes in high school but those were a joke, was basically follow the packet to make the program then play games in what ever time you had left. So I am mostly self taught and it is a hobby for me.
For tools I use visual studio for c++ and c#, visual studio code (thanks John for pointing me to this) for php/html, though for whatever reason I really hate working with php/html now. For the DB it is HeidiSQL, or for anything more complicated then a select or update I send a pm to John asking for help
For tools I use visual studio for c++ and c#, visual studio code (thanks John for pointing me to this) for php/html, though for whatever reason I really hate working with php/html now. For the DB it is HeidiSQL, or for anything more complicated then a select or update I send a pm to John asking for help
- Gangrenous
- Posts: 812
- Joined: Sun Apr 24, 2016 6:54 am
- Characters: Dinsmoor
Re: Tools of the trade
I can do some pretty crazy ass MySQL stuff, mainly what I use at work. I do a lot of custom reports which means I do insane joins and grouping, mainly financial data. I may be of some use.Jabantiz wrote: Sun Apr 14, 2019 5:35 pm For the DB it is HeidiSQL, or for anything more complicated then a select or update I send a pm to John asking for help
Resident Dirty Hippy
-
tyrbo
- Team Member
- Posts: 271
- Joined: Thu Feb 18, 2016 12:33 pm
Re: Tools of the trade
Yeah, I'm not too bad with SQL myself.
Most of the work I do has an ORM behind the scenes, so less manual writing for myself nowadays, but I can do a thing or two.
Most of the work I do has an ORM behind the scenes, so less manual writing for myself nowadays, but I can do a thing or two.
- Gangrenous
- Posts: 812
- Joined: Sun Apr 24, 2016 6:54 am
- Characters: Dinsmoor
Re: Tools of the trade
Ughhh.....documenting...kill me.tyrbo wrote: Sun Apr 14, 2019 7:00 pm Yeah, I'm not too bad with SQL myself.
Most of the work I do has an ORM behind the scenes, so less manual writing for myself nowadays, but I can do a thing or two.
Resident Dirty Hippy
Who is online
Users browsing this forum: No registered users and 0 guests