• 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.

DevGAF: The Official Programming Thread

Do you program? If so, in which languages?


  • Total voters
    102

ReyBrujo

Member
No problem. Don't be fooled by the inital easy difficulty. They ramp up pretty fast. You can look at the latter half of the last few events to get an overview.

I noticed the faster you solve them the more points you get, unfortunately new puzzles are released at 2AM so I just solve them during the day and upload the solutions to my repo. So far I solved them all although I had some trouble with the second half of the fourth day as my algorithm didn't get the right solution due a misunderstanding (I also notice that more people got that part wrong as well than previous days). Since NET 5 and C# 9 were released last month I'm using this contest to play with some of their new features, so some solutions are somewhat complex when they shouldn't be. But it's been fun so far!

I'll certainly try the previous years too, again thanks for the tip!
 
Last edited:

ReyBrujo

Member
ReyBrujo ReyBrujo
Since this thread gained some traction, do you think a name change might be in order?

Maybe "DevGAF," or something of the like to fit us being huge nerds
Make it like a OT
Yeah, I'm that dude in the office; "But we can name it something fancy!"
Guess it's high time we made this an official thread. So, how can this be renamed / claimed? :goog_unsure: I'm guessing "DevGAF: The Official Programming Thread" or something that fancy could catch more eyes. What do people think?
 

ReyBrujo

Member
Finished the 18th day of Advent of Code 2020 successfully. Feels nice being in the 10% of people who have managed to finish everything (though I guess you can skip puzzles if you can't solve them, otherwise day 15th wouldn't have more solvers than day 14th) so far for being the first time I ever tried an online competence (even if I have 0 effective points, :messenger_tears_of_joy: ).

PS9xAl4.png


People with computer science background have an advantage indeed but I can still handle the pressure. A couple of days were pretty hard (I think the 10th day was the hardest, took me 6 hours with lunch and work in the middle, my first solution worked with the sample data but the puzzle data made it just impossible to finish).

RsCXxOe.png


I start the daily event whenever I'm ready to, the only day I started at 2 AM (my local time when the daily puzzle is opened) was on the 6th day, finished the first half in less than 10 minutes. Then I decided it was not worth the effort of staying up so late if I ended over 3000th :messenger_grinning_sweat:

In other news, a mod changed the thread's title so this is an official thread now. I'll get to work in the opening post once I get some more time. Thanks everyone for making it possible (y)
 

CloudNull

Banned
I just finished my advanced Database design class using T-SQL. It was pretty damn fun.

What's everyone's favorite project they have worked on? I'll go first.

I work in IT and I was tasked with revamping our asset management process. When deploying assets we have used a very manual process for years that was a pain in the ass. It required manually updating several different databases. I used PowerShell and the .net framework to build an automation tool. It is essentially duck taping everything together so that the databases update in real time.

It was super difficult to build the tool within the parameters provided, but when I was finished my appreciation for PowerShell had reached new heights. Currently PowerShell is my favorite language to code in.
 

wolfmat

Confirmed Asshole
What's everyone's favorite project they have worked on?
Two stand out (professionally / relatively recent):
1. Realtime audio waveform rendering -- quite the interesting mathematical numpy monster I built there; hard to read the code of course; also interesting that something like that isn't freely available ITW
2. A reverse geocoding toolset, along with a worldmap GUI to generate the data, with gizmos for region painting, collision detection for country borders and stuff like that -- all rendered via primitives like lines, circles, points
 

CloudNull

Banned
Two stand out (professionally / relatively recent):
1. Realtime audio waveform rendering -- quite the interesting mathematical numpy monster I built there; hard to read the code of course; also interesting that something like that isn't freely available ITW
2. A reverse geocoding toolset, along with a worldmap GUI to generate the data, with gizmos for region painting, collision detection for country borders and stuff like that -- all rendered via primitives like lines, circles, points
This is gibberish to me besides numpy but sounds amazing. The reverse geocoding sounds fantastic.

I love that the umbrella of dev is so wide. Thanks for sharing.
 
Finished the 18th day of Advent of Code 2020 successfully. Feels nice being in the 10% of people who have managed to finish everything (though I guess you can skip puzzles if you can't solve them, otherwise day 15th wouldn't have more solvers than day 14th) so far for being the first time I ever tried an online competence (even if I have 0 effective points, :messenger_tears_of_joy: ).

PS9xAl4.png


People with computer science background have an advantage indeed but I can still handle the pressure. A couple of days were pretty hard (I think the 10th day was the hardest, took me 6 hours with lunch and work in the middle, my first solution worked with the sample data but the puzzle data made it just impossible to finish).

RsCXxOe.png


I start the daily event whenever I'm ready to, the only day I started at 2 AM (my local time when the daily puzzle is opened) was on the 6th day, finished the first half in less than 10 minutes. Then I decided it was not worth the effort of staying up so late if I ended over 3000th :messenger_grinning_sweat:

In other news, a mod changed the thread's title so this is an official thread now. I'll get to work in the opening post once I get some more time. Thanks everyone for making it possible (y)

Awesome

I just finished Day 19, definitely the hardest for me so far since I suck at regex. Would be interesting to know if anyone else here actively solves these every day?

I haven't missed anything so far but yeah, you can just skip whatever you want this year. It was different in 2019 when half of the problems depended on eachother (you had to write a VM).
 

ReyBrujo

Member
Awesome

I just finished Day 19, definitely the hardest for me so far since I suck at regex. Would be interesting to know if anyone else here actively solves these every day?

I haven't missed anything so far but yeah, you can just skip whatever you want this year. It was different in 2019 when half of the problems depended on eachother (you had to write a VM).
I solved day 18 1st half in some complex way (I thought about writing a reverse polish calculator but considered it would take me too much time so basically TDD'ed a 3-way decision table with switches). For the second half at first I tried to make that table configurable but decided to write a new "AdvancedLong" type that would act as a Long type but overrode the * operator so that it acted as +, and the + so that it acted as *, then rewrote the puzzle input to work in terms of this new type, and it worked. I thought that was brilliant (if I can say it myself :messenger_grinning_sweat: ).

Later that day I wrote the solution using RPN, just need to refactor it to make it work with both puzzles. Truth be told it had been like 20 years since I last wrote one in C so there were parts I couldn't remember. I checked at Computerphile and tried to implement it as a stack but didn't work 🤦‍♂️ In the end I implemented it with a list for the final equation and one stack per parenthesis set.



Today's was hard too. I'm a fan of formal grammars, automatas and the like (used to write compilers for my scripting engines with bison and yacc) so I immediately understood what I had to do. I also found it odd that there were no loops and guessed they were going to appear in the second half, so decided not to build a full automata and instead build a decision table with the rules. For the second half I decided to follow their suggestion and instead of using backtracking and having to decide which route to go with the recursive rules I would just expand them all until one branch is able to parse the whole message or all of them fail. It took me quite a while to implement the idea, at all times I was with like 18 failed unit tests, and suddenly I return the list with consumed items and suddenly everything turned green.

Kind of surprised that so few have passed today, it's at about 10k only, that's like half of the ones that solved yesterday successfully which makes me believe there are a lot of people who are solving the latest puzzles

By the way, have you ever scored a point there?

What's everyone's favorite project they have worked on? I'll go first.
Hey, I want to learn ps, especially now that it's available on Linux. The fact that you can load assemblies is awesome. Still got some books in my queue but whenever I finish enough I was considering buying Learn Windows PowerShell in a Month of Lunches.

As for projects I got several work-related ones but the one I use the most is actually a set of command-line utilities I wrote in Python 2.7 (which is not my main language btw) to interact with the broadcasts at Showroom, a Japanese streaming service. It runs 24/7 keeping track of broadcasts, automatically collecting items from rooms to throw them in my favorite streamers when they go online, log the chat, automatically collect new avatars from any room, throw massive amounts of paid gifts in a short period of time, etc. At work we are migrating 1.2m of VB6 code into C# using an automatic translator and adding modifications to Roslyn, the C# compiler. If it works it'll be something we'll be proud of. The document importer feature of our product came from an idea I had back in 2003 when I noticed they were doing it manually and I guessed we could write our own optimized regex parser. It worked so well that it's still in use, it's fast and can be configured without touching a single line of code.
 
Last edited:
I solved day 18 1st half in some complex way (I thought about writing a reverse polish calculator but considered it would take me too much time so basically TDD'ed a 3-way decision table with switches). For the second half at first I tried to make that table configurable but decided to write a new "AdvancedLong" type that would act as a Long type but overrode the * operator so that it acted as +, and the + so that it acted as *, then rewrote the puzzle input to work in terms of this new type, and it worked. I thought that was brilliant (if I can say it myself :messenger_grinning_sweat: ).

Later that day I wrote the solution using RPN, just need to refactor it to make it work with both puzzles. Truth be told it had been like 20 years since I last wrote one in C so there were parts I couldn't remember. I checked at Computerphile and tried to implement it as a stack but didn't work 🤦‍♂️ In the end I implemented it with a list for the final equation and one stack per parenthesis set.



Yeah, I actually did it that way for Day 18, I converted the expression from infix to postfix and evaluated it using a stack. Changing the precedence of operators is trivial using a stack based approach.

By the way, have you ever scored a point there?

Sadly, no. The leaderboard starts in the middle of the night where I live.
 

Kazza

Member
I've moved on to C++ now. I've got a few simpler, more beginner projects in mind that I'm going to complete first, but I also have an idea for a more complex project that would actually be very useful in my everyday life.
 
Last edited:

ReyBrujo

Member
Todays puzzle was brutal.

p9wPh3G.png


Really cool but yeah, I absolutely hate matrix transformations which is why I never tried OpenGL or 3D. Took me a little more than 11 hours with some time off especially at night. Right now it's 2:30 AM, Day 21 started half an hour ago and I had to manually (aka, vim and regex) count the monsters because I couldn't just finish the radar algorithm. I'll have to come back at it after Year's End.

I just want to comment that I think programmers are wizards. Really want to try my hand at it again sometime soon. Last time I dabbled with it was 25 years ago.
Uncle Bob (Robert C Martin, famous programmer and designer) says that coding is an act of creation which could mean we cast spells to get things done... source code is just a long list of ingredients to pour into the cauldron via a keyboard 🧙‍♂️ I'll try to rewrite the first post with resources for novices and veterans alike once I get time again.
 
Last edited:

DarkestHour

Banned
p9wPh3G.png


Really cool but yeah, I absolutely hate matrix transformations which is why I never tried OpenGL or 3D. Took me a little more than 11 hours with some time off especially at night. Right now it's 2:30 AM, Day 21 started half an hour ago and I had to manually (aka, vim and regex) count the monsters because I couldn't just finish the radar algorithm. I'll have to come back at it after Year's End.


Uncle Bob (Robert C Martin, famous programmer and designer) says that coding is an act of creation which could mean we cast spells to get things done... source code is just a long list of ingredients to pour into the cauldron via a keyboard 🧙‍♂️ I'll try to rewrite the first post with resources for novices and veterans alike once I get time again.

Thats mighty kind of you.
 

ReyBrujo

Member
24 days done! Day 23 was personally bad because I had lots of stuff at work to do since we are closed from 24th til next Monday, I didn't understand the samples (specifically the fourth move) and the array copy solution I did for the first half wouldn't obviously work for the second one (also spent quite a lot of time trying to get my array copy solution to match the samples). Today's 24th was easy if you had worked with hex tiles. Not sure if I'll be able to solve day 25, got to visit relatives as Xmas is huge down here.

qgpig8L.png


Really impressed by both the puzzles and the competing guys, I'll study more about competitive programming (it almost looks like a whole branch of computer science). As for myself I'm quite pleased with my performance, sometimes you spend so much time within a field that turning the switch off is refreshing. Maybe next year we could create a private DevGAF leaderboard trying to get as many stars as possible (as timezones make it impossible for many of us to solve things first). I'll also check the previous editions and, who knows, maybe even try them in Haskell or F#.
 

Bitmap Frogs

Mr. Community
I'm in the process of learning how to code. I dabble in C# and Java - at work I'm QA and do requisite analysys, TC generation and manual test running. My goal is to do test automation and be the full QA package. I joined an official course that's 3 years and you get an official degree (if you're familiar with Euro education, it's a equivalent to the german Applied Sciencies courses). The course is cool because it works as a door opener, but of course walking the path is on oneself.

It's very cool and interesting and when you realise of something and get something to work better you get that 💡 dopamine (when I realised you could create methods that accept or return objects I was like whaaaat - I know, I know, noobie stuff bear with me), but at the same it's terrifying - coding is a huuuuge world lol.

Anyway, I won't bother you guys much since obviously you are way more ahead than me, but I might occasionally post :)
 

ksdixon

Member
I think such an app wouldn't be codable in today's environment. In fact I'm fairly certain Facebook removed the api which allowed it to happen.

... But that brief window of time when Windows 8 was fresh, and the "People" app essentislly acted as a huuuge content aggregator. I had FB posts, followed by Twitter tweets, nd whatever else was supported (rss? fb messages?), in one giant activity feed. I would kill for something like that today.
 

CloudNull

Banned
I'm in the process of learning how to code. I dabble in C# and Java - at work I'm QA and do requisite analysys, TC generation and manual test running. My goal is to do test automation and be the full QA package. I joined an official course that's 3 years and you get an official degree (if you're familiar with Euro education, it's a equivalent to the german Applied Sciencies courses). The course is cool because it works as a door opener, but of course walking the path is on oneself.

It's very cool and interesting and when you realise of something and get something to work better you get that 💡 dopamine (when I realised you could create methods that accept or return objects I was like whaaaat - I know, I know, noobie stuff bear with me), but at the same it's terrifying - coding is a huuuuge world lol.

Anyway, I won't bother you guys much since obviously you are way more ahead than me, but I might occasionally post :)
Coding is a form of true creation. You can get the same dopamine rush from coding that you get from video games or writing a book. You just need to find the project and language that excites you.

Currently my work is starting to spin its gears again since they feel they have survived the worst of the Pandemic. Lots of moving projects starting up. Mostly recently I did some basic automation to update the mySQL server with raw data from our Master Data Repository that is written Sql. It wasn't an elegant solution but it gets the job done.
 

Bitmap Frogs

Mr. Community
Coding is a form of true creation. You can get the same dopamine rush from coding that you get from video games or writing a book. You just need to find the project and language that excites you.

Currently my work is starting to spin its gears again since they feel they have survived the worst of the Pandemic. Lots of moving projects starting up. Mostly recently I did some basic automation to update the mySQL server with raw data from our Master Data Repository that is written Sql. It wasn't an elegant solution but it gets the job done.

Sometimes that's what you need.
 

CloudNull

Banned
Recently I have been learning the Kusto Query Language(KQL) which is great for using Azure Log Analytics.

Its a very unique read only language which helps you parse the data within your enterprise. Currently I am building a pretty advanced query which compares to different datasets to one another. After I nail this down I will add an extra layer and run the query from within a python script.
 

CloudNull

Banned
I haven’t worked on any code for the past two months besides minor QoL fixes. I got promoted from Sys Admin to a System Analyst. I have given my mind a break until I’m done with my training and know what systems I will have to build from scratch.

I am itching to get back in the saddle and make something.
 
Didn't know there was a programming thread here woah

My current job consists of Java Programming + Swift/Objective C+ some SQL shenanigans. I asked my boss for a SSL certificate for connections to my own developed web service and the mofo told me no. So i had to do all the encryption and bullshit by hand (and still other things to be done). This job is taking away the joy of programming from me.

Fuck.
 

CloudNull

Banned
Didn't know there was a programming thread here woah

My current job consists of Java Programming + Swift/Objective C+ some SQL shenanigans. I asked my boss for a SSL certificate for connections to my own developed web service and the mofo told me no. So i had to do all the encryption and bullshit by hand (and still other things to be done). This job is taking away the joy of programming from me.

Fuck.
Being gatekeeped because of inter office politics is the worst. I had to fight tooth and nail just to get access to my companies master data repository.

Good on you for saying fuck it and doing the encryption yourself. Probably sucked knowing it made the process that much harder but hopefully you learned a lot of stuff you would normally have overlooked.
 
Being gatekeeped because of inter office politics is the worst. I had to fight tooth and nail just to get access to my companies master data repository.

Good on you for saying fuck it and doing the encryption yourself. Probably sucked knowing it made the process that much harder but hopefully you learned a lot of stuff you would normally have overlooked.
Like, even though I'm not that good of a programmer, I'm passionate about the thing I'll be doing. I always found cryptography fascinating and still remember having classes about it during my master's, but never had the actual work experience with it. It was a good thing and I really enjoyed it, but managed to make me overwork, coming to the office on weekends. And my boss still doesn't give a shit and keeps sinking the company. Feels like my work is going nowhere, but I did learn a lot.

I love programming when done in a flexible way, but this shit? This shit is just boring me and stressing me, and the joy is starting to fade away to the point im considering a career change.
 

ThatGamingDude

I am a virgin
Didn't know there was a programming thread here woah

My current job consists of Java Programming + Swift/Objective C+ some SQL shenanigans. I asked my boss for a SSL certificate for connections to my own developed web service and the mofo told me no. So i had to do all the encryption and bullshit by hand (and still other things to be done). This job is taking away the joy of programming from me.

Fuck.
Fuck him
Snag yourself a Let's Encrypt cert, they're free
 
Just gave my 2 weeks notice this morning. Going to another local company that will let me work remotely using basically the same stack for about 11-12% more pay and opportunity for advancement. It’s bittersweet since I’m leaving a good thing but their parent company has been tight with their purse strings, even before COVID.
 

BadBurger

Is 'That Pure Potato'
I haven’t worked on any code for the past two months besides minor QoL fixes.

Same, only make that about six months. Just been fixes to C# intranet apps for the department and helping out with powershell--driven automation for various things.

It's funny how when we all started working from home the various low-level sys admins and such stopped breaking shit every week so I haven't had to write any serious new code.
 
Fuck him
Snag yourself a Let's Encrypt cert, they're free
Didn't know that's a thing. Always thought they were super expensive.


Today I had a second interview for a position related to translation and localization management in a mobile gaming company. Better pay, more extras, and very probably way less work. I just worry that if I decide going back to programming in the future it will hurt my chances. My current job really burned me out.
 

ThatGamingDude

I am a virgin
All my bake in tests went splendid this week :D
And then the boss cracked the whip of finishing the project lol
Gotta love AD restructuring

Didn't know that's a thing. Always thought they were super expensive.


Today I had a second interview for a position related to translation and localization management in a mobile gaming company. Better pay, more extras, and very probably way less work. I just worry that if I decide going back to programming in the future it will hurt my chances. My current job really burned me out.
Yep! It's wicked; you either need access to your DNS records or to be able to file an upload for the challenge though
 

Tazzu

Member
Hey guys, I am currently at a dead-end job and want to get into the IT industry. I do have a part completed degree in Chemistry but gave it up because I felt like I hit an intellect dead-end towards the the last stages of the degree. I am currently weighing up finishing it now that my mental health has improved massively partly due to going on medication.

I have read a lot of success stories of people who went to bootcamps and came out with jobs. However they are mostly from people who are in the US. I happen to live in the UK. I need to now consider trying to finish my degree or getting myself into an intense coding programme and trying to find a job that way.

As such, are the prospects as well as pay as good as they are in the UK or is this currently just a US phenomenon? Thanks!
 
Hey guys, I am currently at a dead-end job and want to get into the IT industry. I do have a part completed degree in Chemistry but gave it up because I felt like I hit an intellect dead-end towards the the last stages of the degree. I am currently weighing up finishing it now that my mental health has improved massively partly due to going on medication.

I have read a lot of success stories of people who went to bootcamps and came out with jobs. However they are mostly from people who are in the US. I happen to live in the UK. I need to now consider trying to finish my degree or getting myself into an intense coding programme and trying to find a job that way.

As such, are the prospects as well as pay as good as they are in the UK or is this currently just a US phenomenon? Thanks!
I'm not in either country but, as an IT professional, the pay is usually good everywhere in the world. I had a well paid job in Portugal, and it's no different now that I'm in China. And by well paid I mean a bit above average - you can live comfortably and manage to save quite a bit. Not rich, this is not a job to get rich unless you work for the big boys or you are already in a senior manager position or something like that. But the work can get super stressful and you do work a LOT. One thing: if you go for programming jobs just because of the money, I have to advise against it. It's a super challenging job, stressful as hell, and a lot of times you don't get any recognition. It does give you some security because of how well sought engineers/programmers are, but just for the money is not worth the stress imo.

However, if you think you can do it and endure what it brings, I say go for it. But don't look into it just because the pay is good.
 

ThatGamingDude

I am a virgin
Hey guys, I am currently at a dead-end job and want to get into the IT industry. I do have a part completed degree in Chemistry but gave it up because I felt like I hit an intellect dead-end towards the the last stages of the degree. I am currently weighing up finishing it now that my mental health has improved massively partly due to going on medication.

I have read a lot of success stories of people who went to bootcamps and came out with jobs. However they are mostly from people who are in the US. I happen to live in the UK. I need to now consider trying to finish my degree or getting myself into an intense coding programme and trying to find a job that way.

As such, are the prospects as well as pay as good as they are in the UK or is this currently just a US phenomenon? Thanks!
How well can you fix a Windows 10 machine?
 

Tazzu

Member
I'm not in either country but, as an IT professional, the pay is usually good everywhere in the world. I had a well paid job in Portugal, and it's no different now that I'm in China. And by well paid I mean a bit above average - you can live comfortably and manage to save quite a bit. Not rich, this is not a job to get rich unless you work for the big boys or you are already in a senior manager position or something like that. But the work can get super stressful and you do work a LOT. One thing: if you go for programming jobs just because of the money, I have to advise against it. It's a super challenging job, stressful as hell, and a lot of times you don't get any recognition. It does give you some security because of how well sought engineers/programmers are, but just for the money is not worth the stress imo.

However, if you think you can do it and endure what it brings, I say go for it. But don't look into it just because the pay is good.
No problem. I am thinking of a career switch so your info was really insightful. Honestly, given how things have turned out for me, a steady job and pay is not exactly something I would complain about.

How well can you fix a Windows 10 machine?
Depends what it is, but generally I don't struggle.
 
So guys, anyone here knows their Swift? I'm struggling to understand some stuff and would greatly appreciate if someone could help me.
 
Top Bottom