• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Your Programming FUCK YEAH moments.

Status
Not open for further replies.

Toma

Let me show you through these halls, my friend, where treasures of indie gaming await...
Okay this is probably a strange topic but I'd like to introduce myself a little first. Fair warning: I tend to write a lot, please dont complain and just leave the thread if you dont like that.

I am 24 years old and like many others on GAF I dreamed about programming a small successful game to bring to your and others attention. I have ideas, aspirations, inspirations, just like many people starting out with this goal have.

I started some minor programming in school with Basic and already thought it is very interesting to be able to WRITE the program, actively make decisions to tell the computer what to do. I think my first FUCK YEAH programming moment ever was the first time I was able to get "Hello World" shown on screen in the first language(Basic) I learned. Consequently I had a few more FUCK YEAH moments when i learned how to create geometrical objects on school, but thats probably something we all share.

The first somewhat interesting results I had were with RPGMaker, where I created a game basically only for myself about my home. I made the complete layout of my home, added my family members and thinking back probably used it as a way to process my experiences within my family. I think it had a pretty deep dialogue system in the end, where if I forget to put on my trousers, my mother would tell me to get them, or if I stayed too long in the kitchen, she'd shout at me when I am finally finished eating. I even found a way to play hide and seek with my sister, only to lock her up in the attic if need be. (I love her now, though) A lot of time has passed since then (8-10 years maybe?) but I think that was my first somewhat working program that I did without anyone telling me to, but it didnt really give me a FUCK YEAH moment as I didnt feel like accomplishing anything.

After that there was quite a gap since I had other stuff on my mind, but the next bigger step was programming something on GameMaker which I already posted here:
http://www.neogaf.com/forum/showpost.php?p=24872361&postcount=143
I created my own, lets call it "algorithm", to create a random dungeon layout. There are a few possibilities out there but I wanted to create my own. It took me about 120 working hours JUST to get the randomized dungeons working, but I cant describe the FUCK YEAH feeling I had when my own Dungeon Randomizer finally worked. I added a few more enemies and put a boss in, only to realize that I cant have GameMaker put out more than one sound at a time (There were multiple projectile shooting things randomly and basically one one could make the "shoot" noise at a time), which was like the ultimate VADERNOOOO to my FUCK YEAH moment before.
It could be that there even is a way to get around that somehow, but I probably dont care too much anymore since the game like I programmed it was way too ressource hungry anyway (saving monster and dungeon layout for multiple floors and saving a changeable village floor).

Then I delved into the wonderful world of C#.

I dont want any discussions about which programming language is the best or anything like that, but the difference it made to use a REAL programming language was kind of.. overwhelming. I still wish I had a mentor or something to help me out for certain things that I cant quite grasp yet. For example the program I recently made was about 720 lines long, all in a single main method. Not much usage of object oriented programming so far. That tends to make things more complicated for me instead of helping for now. I hope I can get to learn how to do that efficiently eventually, though.

Anyway, onto my biggest FUCK YEAH programming moment ever, but a little back story since it wouldnt be possible to understand why this was my biggest without it:

I run a blog for free Indie music (because I think artists that put out their music for free are shamefully overlooked and many people dont even consider listening to something non-commercial) and some Interviews I get to make with those artists (feel free to check my profile for the link), but I had a serious time management problem. I just made a 4-5 month long break from my blog due to that. The time I used to find music, sort them, listen to them, create the review post and write the reviews in english and german was in no relation to the satisfaction I got out of it, since I was working about 6-7 hours on one blog entry that no one seemed to notice.
Anyway, I wasnt able to continue my blog due to internet restrictions on my semester abroad and then simply for the above mentioned time put in/satisfaction ratio. A while ago a thought just struck me: "Is there any possible way to use my newfound programming knowledge to make my work on that blog easier?"
I work like this:

1. Find what I want to create
2. Start programming what I can do
3. Find whatever I can't do on forums.

The basic idea was this: I look through 500 musicians on the bandcamp site just to waste time on 450 because they arent a genre I am interested in, havent got enough songs or because the music they were putting out simply wasnt free.
First "problem" I had to overcome was that the most basic thing I would need is a way to read out a website. I was fearing that this would be long, dreadful, complicated and wouldnt be possible without opening a browser or something. Turns out it was and looked like this:

WebClient webdownload = new WebClient()
string Rawdata = client.DownloadString("http://www.website.com");

After I noticed how EASY that was, my anticipation senses tingled and I wasn't able to think about anything else for 3-4 days, thankfully my girlfriend reminded me to eat (j/k... partly)

So I told my program to download the website of the last 500 albums uploaded on bandcamp and worked myself from there. Of course there is a lot of useless clutter on that webpage, like text, image links, other bandcamp links etcetc.
I split the whole thing into single strings, looked for something that only those band links had in common, found it, and deleted every string that didnt fit, which left me with 500 clean band links. Then I did the same a level deeper to check those band link websites for stuff like whether they were free, how many tracks they had, which genre they belong to and kicked every link off my list which didnt fit.
I am still a beginner in terms of programming so that might not be too impressive but still... for a work of like 10 hours I managed to write a program that saved me 5 hours each time I want to check up 500 bands, and gets the number down to about 60-70 band links, which simply blew my mind and looked in the end like this:

pgCZj.png


Of course I save the "good" links into a text file for further use. This was the first program I had an actual use for, something I am using now on a daily basis, saving me about 2 hours each day if I want to check up on the latest uploaded stuff, if that isnt FUCK YEAH, then what is?

Then it occured to me that if I was able to make a program for the biggest time waster for my blog, why not for the second biggest one, too? Just creating the basic blog layout with headline (artist - year - album), image of the album, link to their website, embedded player, a few bulletpoints and song recommendations(including links) takes me about 30-40 minutes, now it takes 20 seconds and looks like this:

4XggK.jpg


And I only need to enter the genre I want to classify it in, the score out of five I want to give it (It automatically adds an image corresponding to the score) and which of the songs listed I would recommend for first time listeners. All the other stuff, even the embedded player is created by the program. God, I felt like superprogrammerman.

This is so, so, soooooo FUCK YEAH. Unbelievable. In moments like this it seems like programmers have no boundaries whatsoever. Now I only wish I was a better one, but maaaaybe I can work out my problems with C# and finally create a good game, which still hovers above me as a childhood dream.

So, what are your stories GAF?
 

daviyoung

Banned
When I was 13 I followed some guidance and made a Pac Man clone on Basic, but he would leave a spectrum behind him rather than the black background so I gave up and haven't attempted to program anything since.
 

Casp0r

Banned
I can't program, however when I edited my counter strike autoexec.cfg to stop the game downloading sound files every time I join a server ... that gave me a fuck yeah moment.
 

Toma

Let me show you through these halls, my friend, where treasures of indie gaming await...
daviyoung said:
When I was 13 I followed some guidance and made a Pac Man clone on Basic, but he would leave a spectrum behind him rather than the black background so I gave up and haven't attempted to program anything since.

Yeah I also tend to get demotivated by problems like this. I wrote it in the huge ass post above, but I dont blame you for not reading it. I made a year long break from programming after my forays into Basic in school, and got back to it later. Maybe you should try again if you liked it back then.
 

Dragon

Banned
I created a script to download the music my friend had on Lala that he had uploaded and subsequently deleted off his hard drive. He owned all the CDs, but they were in San Francisco and we're both in Charlotte. The fact Lala didn't give you a way to do this for ones that you uploaded kinda sucked but whatever. I also had to do it in a couple of hours because Lala was going to shut down.
 
A first year games programming elective (we worked with Actionscript for that unit) had me sitting in the lab wondering what I should do for my major game project. I decided to make start working on a text adventure as the intro to the game (like you'd participate in a short text game before the game proper started up). Anyway, making a command line interface was far more difficult than I had realized it would.

The Fuck Yeah moment was when it all clicked into place and worked. It had an array (<3 AS arrays) that stored all the commands you'd put in previously, and you could navigate through the stack by pressing up and down. The text was just the right shade of green and it had a black background. It worked surprisingly well considering it was hacked together with text boxes. You'd basically wander around an environment until you activated some machine which would transport you to the GUI sidescrolling action game.
 

Toma

Let me show you through these halls, my friend, where treasures of indie gaming await...
TheBranca18 said:
I created a script to download the music my friend had on Lala that he had uploaded and subsequently deleted off his hard drive. He owned all the CDs, but they were in San Francisco and we're both in Charlotte. The fact Lala didn't give you a way to do this for ones that you uploaded kinda sucked but whatever. I also had to do it in a couple of hours because Lala was going to shut down.

Sounds like that would take me an awful lot of time. Do you still have it? Could you pm it to me or explain how you did it so I can try myself? Maybe I can use this technique for my blog to immediately download the free music I reviewed.

Edit: To read all of your stories is incredibly interesting. More please :)
 
10 LET a=1 TO 7
20 PRINT "I AM ACE!";
30 BORDER a: INK a: PAPER a
40 GOTO 10

My first and only fuck yeah moment in the world of programming :(
 

Totalriot

Member
My last one must have been when I had finally set up a web service client to communitcate with the server in two-way SSL
 

Nemo

Will Eat Your Children
Pretty sure every feat I ever programmed was a "fuck yeah" moment as soon as I compiled it working. I always have to think hard like a mofo for the most simple things
 

Tremas

Member
First time coding type double laplacian filters and unsharp masking in MATLAB. Mostly because I was thrown in the deep end when learning MATLAB for for the first time with no prior programming experience., and I needed it for a very important assignment.
 
I made a Pong game for the iPhone once. I was so glad when I got it working, after hours of working out frustrating bugs. It looked awesome too - everything was glowing and neon.

Also wrote a script to auto-start my mac at a certain time, immediately run my Minecraft server and auto-update the IP. Was glad when it worked, but nothing complex.
 

Rapstah

Member
When I ran that program that used the beep card to transmit a 1+(loop) hZ beep in the school library. Hell yes, it worked. And was in Pascal which I had no idea how to program in.
 

Jill Sandwich

the turds of Optimus Prime
Kubricks Ghost said:
10 LET a=1 TO 7
20 PRINT "I AM ACE!";
30 BORDER a: INK a: PAPER a
40 GOTO 10

My first and only fuck yeah moment in the world of programming :(


We were the scourge of computer shops everywhere!
 

Toma

Let me show you through these halls, my friend, where treasures of indie gaming await...
Lasthope106 said:
Every time Visual Studio tells me I'm missing a semicolon!

Why is that a Fuck Yeah moment? You dont like semicolons? :p
 

ULTROS!

People seem to like me because I am polite and I am rarely late. I like to eat ice cream and I really enjoy a nice pair of slacks.
I think my fuck yeahs was when I made a simple sentence translator and a parser/compiler using my made-up language in C++.

You do not want to see my translator and parser/compiler codes.
 

V_Arnold

Member
A few years ago, when I "know" programming but did not "know" it really, and had to write some bash scripts, and the code was bleeding from so much wounds that what seemed like a minor wound took actually a few days to repair, while I was staring at the black screen and my head was about to explode.

Now, at the end of the semester, when the script DID work, It was a huge fuck yeah, but I felt ashamed at how poorly I managed to create the code itself. I felt dirty.

Flash forward a few years ahead, and now while creating XNA projects, sometimes I write at least 100-150 lines of code - and the fuck yeah comes when upon compiling it, there is no error. It works, flawlessly. And that is awesome, mostly because I can still remember the feeling when every single line of code contains some silly mistake :D
 

Kuramu

Member
I get multiple Fuck Yeahs a day when I'm working on something new. I rub my hands together with glee. I feed off of it like stem cells from a fetus's neck... slurp.

I never get them when fixing someone else's code. They feed on me like zombies.

My most recent Fuck yeah was.. well, I wrote my own greenscreen code a few months ago. It analyzes pixel color and sets alpha of anything green to 0, and de-greeenifies anything close to green while setting alpha to .4, which removes the greenish outline around a subject and almost anti-aliases it.

It was too slow for video and took several seconds to do an entire photo, but last week i took advantage of pixelBender's access to the GPU and incorporated my greenscreen code into it. Now I can greenscreen video at 30 fps and do whatever with it. Feels good man.
 
In order:

C++ Hello World
C++ Understanding pointers
C++ writing awesome memory manager
First iOS game release.
Proving arrogant senior programmer wrong.
Fixing arrogant senior programmers code.
First PSP game release.
 

Ecrofirt

Member
It's funny, but I feel I had a lot more of these as a young kid than I do now.

When I was probably 13-15 or so, I did a lot of programming in QBasic, mainly because I found QBasic on our old Windows 95 PC. Taught myself the language by opening up the help file, starting at "A", and going from there.

As a kid I did some neat stuff. Pong and Breakout games, basic graphic demos, an Etch-A-Sketch looking clone, an old RPG-style turn-based fight game (where you set up basic stats and fought a PC opponent turn-for-turn until someone won), and some more.

I did a lot of neat stuff as a kid, and I was proud as hell of what I was doing. Nowadays, I don't seem to have that proudness behind what I do, and I don't think I have for a long time.

I'm working on a game now that, to the best of my knowledge, is a 'new' style of game. Not something that's really been done before. That in itself should be exciting, let alone the fact that I basically have it working. However, eh, I'm just not feeling it like I used to.
 

Wichu

Member
When I added phases of the moon to my 2D Minecraft clone. I know it's already been done in Terraria, but it's still awesome (plus unlike in Terraria, the ambient light level at night changes depending on the phase). It wasn't particularly difficult to program (unlike the pseudo-raycasting used in the lighting engine or the infinite random terrain generation), but it gave a nice satisfying touch to the game, and worked first time to boot.

And also having the first version of an unrelated program take 5 minutes to run, and optimising that down to 40 seconds.
And then coming up with a different algorithm that takes less than a second to do the same thing :/
 
Haven't had a "fuck yeah" moment in awhile, unfortunately.

However, I'm working on Active Directory group policy installs combined with Visual Studio setup projects. That tends to result in many "fuck you" moments.
 

Zeppu

Member
I remember in my previous job I was in charge of several modules from a product. One of them was horribly slow, sequentially performing some 16 checks on the same email to determine whether it was spam. My solution was super elegant.

I split each check into a separate thread, created my own internal manager for these threads, allowed an object to be passed into all threads, with interlocked recounting and escape mechanism, such that preprocessing would be performed on the main thread, and each check is executed as soon as all data required for the check is preloaded. Futhermore the object took care of telling threads to quit if an email has already been flagged as spam.

While the best case scenario (first check yields positive result) remained the same in terms of processing time, for worst case scenarios (i.e. email is not spam and therefore all checks return a negative result) it went down from 7-8 seconds down to 2.5s..

FUCK YEAH.

<3 C++, pointer stuff in multithreaded environments is pantswarmingly awesome.
 

Einherjar

Member
Working for corporate, I deal with VBA pretty often. Most recently I automated the process of creating an entire color coded Org Chart in Visio (50+ pages). This was significant since I had to make it simple for everyone to use, and involved having Visio run processes in Excel to extract data. Also the first time I did any VBA in Visio, which was a lot tougher than learning VBA for Excel.

I'm actually interested in the web scraping stuff you discussed in the OP. Is there a good resource to learn it somewhere? I tried doing it in VBA, but it requires the use of the Internet Explorer object, and I don't want anything to do with IE lol. Specifically, I'd like to be able to make the program go to a URL, click a button (ie. "Generate Report"), and save the resulting Excel file. Wouldn't mind also learning how to save a webpage (.php, .html, .etc.) and extracting data from it.

I'm also interested in your 2nd program. Does it automatically make the post on the blog? Or does it just organize the data? I think it would be convenient to know how to automate sending data.
 
i used python to make a custom window in maya. mostly so i could have a quick window for things i do frequently like freezing transformations, deleting history, all that good stuff.
 

-Winnie-

Member
When my Game of Life assignment started drawing things. Granted it was completely wrong, but this was one of the first times I had to deal with graphics at all. Massive fuck yeah moment.
 

Garryk

Member
I'm a SAS programmer and my boss is a VB programmer. I depended on him to code Excel workbooks to make my data outputs functional for the end-users. I had a FUCK YEAH moment when he was gone for a week and I taught myself the VB part.
 
I'm currently working on an Android app, just last night I hit a pretty nice milestone. Should be about 3 more weeks and I can launch. It uses a lot of data in terms of databases, both created when the app first launches and sipped internally. Getting everything flowing right for one of the internal databases was a great feeling. Now tonight or tomorrow night I'm going to work on the user created db.

By profession I'm a C#/ASP.Net developer. Since I just finished school, while in school I have just been working on an internal test automation framework. Pretty much built it myself and when I got it running it was such a great feeling!!

Also finishing the companies first MVC app. Its an internal deployment manager. It was the first time I picked up a project half-way through that hasnt been touched in a few months, and finished it myself!
 

Wanace

Member
I made a shitty "Choose Your Own Adventure" game on my TI graphing calculator in high school, complete with cutscenes. Then I tried to write a text adventure in Inform, but didn't get very far. My vision of the end result always far exceeds my ability and I don't have the patience to finish.

I don't fool with programming anymore. :(
 

Tenks

Member
I know I had them before but I've been programming so long and I'm so proficient at it that I rarely view tasks as a challenge anymore ... just routine. Don't take that as pompous boasting because I'm sure anyone who has been getting paid to program for over 6 years is in the same boat.


I guess my biggest moment was in high school I programmed up a little game in C++ and it was the #1 most downloaded object off the shared network drive?
 
Well, web programming is the vain prodigal son of you real programmers, but as a Web Developer, pretty much anytime I come through with a solid website based off of a good design, a little part of me jumps for joy. Like, when all of the design elements come together with a tight, clean stylesheet or collection of stylesheets... I take serious pride.
 

deadbeef

Member
When I wrote a custom priority queue with a custom "malloc" routine on a 16-bit microcontroller that went on a black box with only audio output and discrete/analog inputs that managed and generated a variety of sound and tone outputs, prioritized, running on bare metal. My first real professional accomplishment as a developer, some 10 years ago.

Working A/Ds and codecs and registers and stuff is just awesome. I miss it.
 

vordhosbn

Banned
1. Hello World!
2. Writing my own functions.
3. Created an application that predicts words for a pub-quiz game.
4. Writing a concurrent client-server program with built in download service.
 

Hayvic

Member
In my first year of engineering I had a crash course in Java programming. I had to write a script that would check whether a square was a magic square. I can't remember the details but I was debugging it for two days and I just could not figure out what the problem was. After practically giving up, the solution came to me in a dream, and I'm completely serious here. Next morning I tried it out and it worked!
 

survivor

Banned
Right I'm working at a startup as part of co-op using PHP, JavaScript, jQuery and so on. The problem is before starting work, I didn't know anything about these languages/libraries and had no idea how to develop websites outside of HTML.

So after a month of just putting bunch of Selenium tests, I was assigned to do an actual feature. I had to add a functionality, in which we need to email the user a stats of his campaign/publications 24 hours after they are made. Of course that sounds easy, but keep in mind I have no idea how our code works, how the entire Yii framework functions, and how the hell do we even send regular emails.

After hours of hard work figuring out how it works, I was finally able to write a decent looking code that should work. The problem, however, was it never send the emails. It always kept crashing. When I go to debug mode, it oddly sends the emails then crashes.

After days of working, debugging, checking every possible option, I was finally able to figure out the problem and get it to work. Seeing that email in my Gmail inbox was probably the happiest thing to ever happen to me that week.
 

alphaNoid

Banned
I programmed for years but hated it, my FUCK YEA moment was when I completely dropped programming as a career choice and moved onto more passionate things.
KuGsj.gif
3AQmK.gif
 

DonasaurusRex

Online Ho Champ
i had been breezing thru my intro C/C++ programming class then we got a harder project around week 6 , had to make a game program . spent my very first spring break killing that thing off (was broke anyway) and it ran perfectly , fell in love with programming after that.

properly allocating memory and emulating a vector and array using asm instead of lovely c++ and a few commands. Doesnt sound like much but on first try you really really get to see how all of this programming stuff is memory manipulation how anything is possible if you can mold memory to your commands, then either store or load it, pop or push it , allocate or flush it etc etc. You really do look at high level programming languages different once you look at those lower level ones like asm. You see that correlation and by the gods you are thankful for the time saved.
 

Ecrofirt

Member
Hayvic said:
In my first year of engineering I had a crash course in Java programming. I had to write a script that would check whether a square was a magic square. I can't remember the details but I was debugging it for two days and I just could not figure out what the problem was. After practically giving up, the solution came to me in a dream, and I'm completely serious here. Next morning I tried it out and it worked!


Back when I had my data structures class, my professor did a terrible job of teaching anything beyond stacks or queues. By the time we got to trees, nothing made any sense. Everything was taught as arrays, where we'd just reference other nodes in a big array.

Frustration ensued, and I stopped paying attention to what was going on. Did well in the class, but it was mostly because the professor didn't do much in the way of anything with regards to teaching.

Fast-forward about a year later, and I was sitting in my recliner watching Spongebob, having long forgotten about trees, and never having learned how to implement them. All of a sudden I had a flash of insight, and everything became clear to me. The next day I went into work and programmed my own implementation of a binary tree that worked beautifully.

Strange things happen!
 

Rapstah

Member
MrHicks said:
programmers are SCARY
how they can turn all that gibberish into software is something i'll never understand
Programmers don't turn gibberish into anything, they write the gibberish.
 

deadbeef

Member
Rapstah said:
Programmers don't turn gibberish into anything, they write the gibberish.
Compiler writers do! :)

Well gibberish into even more gibberish, I guess.

Thought of my other one - writing my own scripting language and interpreter.
 

Toma

Let me show you through these halls, my friend, where treasures of indie gaming await...
Einherjar said:
I'm also interested in your 2nd program. Does it automatically make the post on the blog? Or does it just organize the data? I think it would be convenient to know how to automate sending data.

Nah, its not that intricate. I was thinking about that possibility and it might even work in some way, but in my case I still need to write the review, so I dont want my program to automatically post it, just to make the layout, so that I can finish the review in my text file before posting myself. I didnt even try that basically.

>_> Still proud of it, though.
 

KimiNewt

Scored 3/100 on an Exam
Running my own kernel? That was pretty cool.

Edit: In the same vein, changing a compiler to add various options to a language.
 
Status
Not open for further replies.
Top Bottom