The Main Trunk - Developer Talk Shop Thread
- Page 1 of 1
I'll flesh out an OP if this goes anywhere, but I thought I'd like to try a community thread here for developers to rant, vent or talk about misc development stuff they feel doesn't justify making a thread on it's own.
This is for anyone in games or program development (although I'll lean towards games), in any capacity.
Also if people can think of a better name for it, I'm all ears!
This is for anyone in games or program development (although I'll lean towards games), in any capacity.
Also if people can think of a better name for it, I'm all ears!
I'll start off with some crap I ran into with Google Play last week - I submitted a game that I made a while back. Google rejected the app for 'impersonation of another developer, company, or game' on the app store.. even though I own it. And there isn't even a game with a name close to the name of the game. Then they put a strike on my account for infringing on myself.
Took 3 days but they finally listened to my appeal and took the strike off. Even had to leave a note on my domain that it was me submitting the app, but wtf Google. I've heard horror stories where people have to basically pre-upload their stuff and THEN submit it because somebody will copy your site with a similar name, upload it first, then the Google bot thinks you are the one copying the freeloader.
Took 3 days but they finally listened to my appeal and took the strike off. Even had to leave a note on my domain that it was me submitting the app, but wtf Google. I've heard horror stories where people have to basically pre-upload their stuff and THEN submit it because somebody will copy your site with a similar name, upload it first, then the Google bot thinks you are the one copying the freeloader.
Have do you deal with writers and creative input?
I've always wondered how that relationship typically is in games versus comics or other stuff.
I've always wondered how that relationship typically is in games versus comics or other stuff.
When on a smaller team I basically go "think up your stuff, and I'll make it work, just don't change something with a week to go before release".
And then they change something a week before release.
It all depends on how the project is being run. It wouldn't be too much different than other creative industries, just can't turn on a dime as much as say, a comic book could.
And then they change something a week before release.
It all depends on how the project is being run. It wouldn't be too much different than other creative industries, just can't turn on a dime as much as say, a comic book could.
More lighthearted story in an effort to pre-jumpstart this thread:
As you improve upon yourself over time with certain projects, of course, you always go back and look at old code/libraries you wrote and go "who the hell wrote this? oh, ..... that was me". This happens a lot even with APIs you write for the public to use. What's hilarious is in almost every instance of a site having a public API, is that you'll have that one guy or gal that writes something against something never intended to be publically exposed, but makes something cool out of it anyway.
Since I tend to write sites like game engines, I wrote our member statistics page like I would a game loop - it calculated everyone's stats in real time and spat them out. It wasn't cached at all, and was fairly large, but the site was being written by the seat of all our pants and things needed to work first before they worked well. As the site grew, this particular function of the site was left to rot as it got longer and longer to even pull up. I wanted to re-write it but there was never the time (I super cache everything now)
One of our users figured out the endpoint file the member list was generated from, and used it to make an IRC bot in our IRC channel. You could query it for stats and everything, and maintained his own EXP leaderboards and even made new leaderboards out of the data. It was really neat, but was hilarious because near the end of the site's run I think that endpoint was generating like 20MB of HTML. So he had to eat a huge download / processing cost every time someone triggered an update, since it couldn't do anything while it was downloading the file, and then he had to parse it since it was HTML and not something nice like JSON, and generating the file (remember, not cached!) took multiple minutes. I kept that old ass code up there solely for that bot.
As you improve upon yourself over time with certain projects, of course, you always go back and look at old code/libraries you wrote and go "who the hell wrote this? oh, ..... that was me". This happens a lot even with APIs you write for the public to use. What's hilarious is in almost every instance of a site having a public API, is that you'll have that one guy or gal that writes something against something never intended to be publically exposed, but makes something cool out of it anyway.
Since I tend to write sites like game engines, I wrote our member statistics page like I would a game loop - it calculated everyone's stats in real time and spat them out. It wasn't cached at all, and was fairly large, but the site was being written by the seat of all our pants and things needed to work first before they worked well. As the site grew, this particular function of the site was left to rot as it got longer and longer to even pull up. I wanted to re-write it but there was never the time (I super cache everything now)
One of our users figured out the endpoint file the member list was generated from, and used it to make an IRC bot in our IRC channel. You could query it for stats and everything, and maintained his own EXP leaderboards and even made new leaderboards out of the data. It was really neat, but was hilarious because near the end of the site's run I think that endpoint was generating like 20MB of HTML. So he had to eat a huge download / processing cost every time someone triggered an update, since it couldn't do anything while it was downloading the file, and then he had to parse it since it was HTML and not something nice like JSON, and generating the file (remember, not cached!) took multiple minutes. I kept that old ass code up there solely for that bot.
By Moris Go To PostThis is making me feel as dumb as reading sharp and reilo correspondenceBruh's stories are quite to the point and entertaining. What Sharp and I discuss in the tech channel... I am so sorry.
By Bruh Go To PostMore lighthearted story in an effort to pre-jumpstart this thread:Caching is really hard. The solution Sharp is concocting for this site right now is quite nuts, but it will be beautiful.
As you improve upon yourself over time with certain projects, of course, you always go back and look at old code/libraries you wrote and go "who the hell wrote this? oh, ….. that was me". This happens a lot even with APIs you write for the public to use. What's hilarious is in almost every instance of a site having a public API, is that you'll have that one guy or gal that writes something against something never intended to be publically exposed, but makes something cool out of it anyway.
Since I tend to write sites like game engines, I wrote our member statistics page like I would a game loop - it calculated everyone's stats in real time and spat them out. It wasn't cached at all, and was fairly large, but the site was being written by the seat of all our pants and things needed to work first before they worked well. As the site grew, this particular function of the site was left to rot as it got longer and longer to even pull up. I wanted to re-write it but there was never the time (I super cache everything now)
One of our users figured out the endpoint file the member list was generated from, and used it to make an IRC bot in our IRC channel. You could query it for stats and everything, and maintained his own EXP leaderboards and even made new leaderboards out of the data. It was really neat, but was hilarious because near the end of the site's run I think that endpoint was generating like 20MB of HTML. So he had to eat a huge download / processing cost every time someone triggered an update, since it couldn't do anything while it was downloading the file, and then he had to parse it since it was HTML and not something nice like JSON, and generating the file (remember, not cached!) took multiple minutes. I kept that old ass code up there solely for that bot.
Everybody's caching solutions are crazy. And if you have money like the big guys you just avoid hitting disc completely until you damn well need to
By Bruh Go To PostEverybody's caching solutions are crazy. And if you have money like the big guys you just avoid hitting disc completely until you damn well need to
What do you mean by this?
By JayEleven Go To PostWhat do you mean by this?
Google and Facebook (with different solutions) just try to solve most of their cache issues the brute force way by holding entire databases in RAM, let alone the caches. They only actually write data that has not been accessed for a while to hard disk to be possibly read. If by some freak accident Facebook's datacenters all lost power at the same time, and all the batteries failed, you'd see millions of posts just disappear into the ether. While you can invent tricks and algorithms all day long to optimize your stuff, the brunt of the advantages today is just trying to fit everything in RAM.
You can roll ram cache for your own stuff, but you can't rely on it if you're making a web product for a lot of people to download as most of the web is running on shared hosting, which is often allocated stuff like <100MB of RAM. Searching on forums hosted on those types of installs isn't fun.
Games also try to do this, and avoid decompression steps, so you get stuff like Titanfall keeping all of it's audio uncompressed on the disk to be read and played, because on the fly decompression is still not a solved problem for games. Halo's solution is to load everything into the map file and then load most all of it into RAM, so it's sort of both the map data file and a straight up pre baked cache. This also has the advantage that later maps can include stuff not specifically hard coded into the game at launch.
One of my favorite cache cleverness things I did was have a site automatically adjust it's cache aggressiveness per usage. If a lot of people started using the site, it'd go more to static html caches. When less people were on, the site ran in real-time. Avoided downtime while kept the site running. I even grafted a change to the client's forum where it adjusted the post timer on the fly to dynamically relieve pressure. The users preferred having to wait 30 more seconds to post than not being able to use the forum at all.
As someone who hasn't had to deal with cacheing much. i'm glad.
As someone who is having to relearn log math (logarithmic), ARGH. I thought i left this behind in high school.
As someone who is having to relearn log math (logarithmic), ARGH. I thought i left this behind in high school.
By Bruh Go To PostOne of my favorite cache cleverness things I did was have a site automatically adjust it's cache aggressiveness per usage. If a lot of people started using the site, it'd go more to static html caches. When less people were on, the site ran in real-time. Avoided downtime while kept the site running. I even grafted a change to the client's forum where it adjusted the post timer on the fly to dynamically relieve pressure. The users preferred having to wait 30 more seconds to post than not being able to use the forum at all.
I think Facebook does this now, as well. During the day, you have to refresh in order to see new posts. But at night time, the discussion can be virtually real time with new posts popping up without a refresh.
In any case, I know what you mean about old APIs. Over the past 6 years, ever since we started my company, we've gone through a number of developers. We've been consistent with one whom we hired 4 years ago and he's been terrific. The guy who initially laid down the foundation of our reporting API has come back to the company recently, and when he looked at his old work (which we haven't used in years, since all of our APIs have changed dramatically) he was like "damn, this is poorly writ....ohhh.,.aaahh 2010? Wasn't it just me back then?"
LMAO. So yeah, I'd say it's a universal thing. :p
Anyone been to hackathons?. Curious since there's one like every weekend this month and I registered for all of them besides the paid one. Granted I'm probably going to attend that one too since it's only $10. Figure I'll network and they'll help me level up quicker since I'm self taught in web dev.
Also I feel like an idiot not realizing all these were available for past year. I live in the Bay Area yet I thought I was alone learning lol.
Also I feel like an idiot not realizing all these were available for past year. I live in the Bay Area yet I thought I was alone learning lol.
By AlphaSnacks Go To PostI think Facebook does this now, as well. During the day, you have to refresh in order to see new posts. But at night time, the discussion can be virtually real time with new posts popping up without a refresh.
In any case, I know what you mean about old APIs. Over the past 6 years, ever since we started my company, we've gone through a number of developers. We've been consistent with one whom we hired 4 years ago and he's been terrific. The guy who initially laid down the foundation of our reporting API has come back to the company recently, and when he looked at his old work (which we haven't used in years, since all of our APIs have changed dramatically) he was like "damn, this is poorly writ….ohhh.,.aaahh 2010? Wasn't it just me back then?"
LMAO. So yeah, I'd say it's a universal thing. :p
You know you've chosen the development path when realize a program isn't going to get updated without you doing it.
"Man, this software needs a bugfix/feature, I need to send the programmer an em- oh fuck that's me"
By Nelo Ice Go To PostAnyone been to hackathons?. Curious since there's one like every weekend this month and I registered for all of them besides the paid one. Granted I'm probably going to attend that one too since it's only $10. Figure I'll network and they'll help me level up quicker since I'm self taught in web dev.
Also I feel like an idiot not realizing all these were available for past year. I live in the Bay Area yet I thought I was alone learning lol.
I haven't done any, but the people that do always love participating in them.
Oh awesome thread!
Today I tried to make a synchronous call that relied on a async call in order to call a synchronous function for an async callback.
Felt real stupid after figuring that one out.
Today I tried to make a synchronous call that relied on a async call in order to call a synchronous function for an async callback.
Felt real stupid after figuring that one out.
By reilo Go To PostBeing on-call is… fun? At least it's only 24 hours.
fun?
i'm not a developer but still in IT. Sucks mane. It's not too bad in my current role. When our on call shift rolls around we are on call from 12p-6p m-f, 6a-6p sat-sun. Way better than it used to be -- which was 24 hrs. Impossible to sleep. Always had one eye open.
By reilo Go To PostFun was a legally sarcastic term.
btw -- any material you could suggest to get into coding / development? i took java, javascript, and some other items back in college some time ago as part of my degree plan. Obviously things are different today but everything still revolves around loops, strings, and if statements.
Just curious if there is kind of go to reference material. Or did you go to school for development, scored a job, and it's second nature by now?
By Smokey Go To Postbtw – any material you could suggest to get into coding / development? i took java, javascript, and some other items back in college some time ago as part of my degree plan. Obviously things are different today but everything still revolves around loops, strings, and if statements.There's a thread we recs here: http://slaent.com/thread/265653/
Just curious if there is kind of go to reference material. Or did you go to school for development, scored a job, and it's second nature by now?
I'll add a formal write-up after I'm done eating dinner and post it in here.
So, foreword: my experiences becoming a developer are obviously my own, so this is just my suggestion with hindsight.
Back in highschool, I was always fascinated with the web. Even at that early age, I was already freelancing and making websites. Up until that point, most of my education was very informal and self-taught.
However, I was always more into design, and I made it a goal to become a good programmer to improve my design skills, but naturally over time I did more and more programming.
If I could do it all over again, I would've gone a more traditional route as far as programming and spent more time learning something like Python or another traditional language rather than say, PHP and Javascript. Python, in my opinion, is pretty great. It's a great starter language and it's easy to get into and it has many development paths.
If you want a more hardcore and traditional experience, get Structures and Interpretations of Computer Programming. Be warned though, that's a really difficult book to go through especially on your own. If you want to be more formal and self-taught, start out with Python, learning functional programming, and move onto a strict-typed language. I would leave Javascript to the side until you get the fundamentals in place and proper programming paradigms in your head before you move onto the wild and crazy world of Javascript. Familiarize yourself with databases and how to write SQL (Postgres is amazeballs), and then dive into some Dev Ops stuff (nginx + uwsgi). At this point, if you feel comfortable, then jump into a web framework.
As far as, Javascript it is really only a necessity to learn if you want to do front-end heavy work, and even then you can make elegant website with minimal to no Javascript.
HTML should be quite straight forward but CSS can be a mess. And it'll really be a mess because of cross-browser issues. I'm very partial to Compass (http://www.compass-style.org), btw.
Hope that helps!
Back in highschool, I was always fascinated with the web. Even at that early age, I was already freelancing and making websites. Up until that point, most of my education was very informal and self-taught.
However, I was always more into design, and I made it a goal to become a good programmer to improve my design skills, but naturally over time I did more and more programming.
If I could do it all over again, I would've gone a more traditional route as far as programming and spent more time learning something like Python or another traditional language rather than say, PHP and Javascript. Python, in my opinion, is pretty great. It's a great starter language and it's easy to get into and it has many development paths.
If you want a more hardcore and traditional experience, get Structures and Interpretations of Computer Programming. Be warned though, that's a really difficult book to go through especially on your own. If you want to be more formal and self-taught, start out with Python, learning functional programming, and move onto a strict-typed language. I would leave Javascript to the side until you get the fundamentals in place and proper programming paradigms in your head before you move onto the wild and crazy world of Javascript. Familiarize yourself with databases and how to write SQL (Postgres is amazeballs), and then dive into some Dev Ops stuff (nginx + uwsgi). At this point, if you feel comfortable, then jump into a web framework.
As far as, Javascript it is really only a necessity to learn if you want to do front-end heavy work, and even then you can make elegant website with minimal to no Javascript.
HTML should be quite straight forward but CSS can be a mess. And it'll really be a mess because of cross-browser issues. I'm very partial to Compass (http://www.compass-style.org), btw.
Hope that helps!
JavaScript is a pita to learn so far. I'm learning about loops and arrays atm and they're throwing me for a doozy lol. Started out with python when I first tried but never really went anywhere. My 2nd attempt at learning on my own I went with the HTML/CSS/JavaScript combo due to it being in demand afaik. That and I was planning on attending one of those bootcamps in the City and most are JS focused. Though like I said earlier going hardcore into it and hoping all these meetups and Hackathons I'm attending this month will level up me quickly.
Just did a quick search and there's no specific meetups for Python either. Though I'm guessing it's alot easier to figure out on your own?. Right now I feel like I definitely need someone to guide on the front end. Especially to help me figure out how to get a project off the ground. I'm still terrified of typing code up from scratch since my mind goes blank on anything I've learned when I try typing up code without an exact or similar example to work off of.
Also Smokey or anyone else that's trying to learn lmk. Would love to have someone to work with to help learn. Half the reason I'm attending all these meetups and Hackathons is to meet people that will hopefully learn with me or even better teach me. And this time around I'm all in on coding. Not gonna give up until I get that coding job and I'll continue to try and level up even after I get a dev job.
Just did a quick search and there's no specific meetups for Python either. Though I'm guessing it's alot easier to figure out on your own?. Right now I feel like I definitely need someone to guide on the front end. Especially to help me figure out how to get a project off the ground. I'm still terrified of typing code up from scratch since my mind goes blank on anything I've learned when I try typing up code without an exact or similar example to work off of.
Also Smokey or anyone else that's trying to learn lmk. Would love to have someone to work with to help learn. Half the reason I'm attending all these meetups and Hackathons is to meet people that will hopefully learn with me or even better teach me. And this time around I'm all in on coding. Not gonna give up until I get that coding job and I'll continue to try and level up even after I get a dev job.
Loops and arrays are standard in most any programming language. I would honestly look to learn those fundamentals from another more traditional language first and stick to it. You'll be able to apply good principals over to JS much easier that way.
By reilo Go To PostLoops and arrays are standard in most any programming language. I would honestly look to learn those fundamentals from another more traditional language first and stick to it. You'll be able to apply good principals over to JS much easier that way.Ahh ic, I was worried about learning multiple languages then being bad in all of them lol. I'll look into python again.
Also another reason I'm focusing on web dev is I'm trying to make a career out of it sooner rather than later. I'm think I'm going to go insane otherwise if I have to work for poverty again doing a mundane job that's taking away time from studying. But I'm kinda glad to hear the learning curve is nuts since some days I feel like a complete idiot for not understanding something.
Learning programming fundamentals are universal in web development. There's no such thing as learning too many languages, they all have very similar core principals that become extremely useful no matter what you do. I'd jump on Code Academy or something similar and go through the entire course, then supplement yourself with plenty of higher-level books covering some bigger concepts and programming methods (e.g. functional programming). Then learn about databases and HTML and CSS. Even if you decide that's not the type of programming you want to do, the knowledge you gain from it is invaluable if you decide to move into a front-end realm.
By reilo Go To PostLearning programming fundamentals are universal in web development. There's no such thing as learning too many languages, they all have very similar core principals that become extremely useful no matter what you do. I'd jump on Code Academy or something similar and go through the entire course, then supplement yourself with plenty of higher-level books covering some bigger concepts and programming methods (e.g. functional programming). Then learn about databases and HTML and CSS. Even if you decide that's not the type of programming you want to do, the knowledge you gain from it is invaluable if you decide to move into a front-end realm.
Yeah right now I'm on CodeAcademy doing the JS course. I have a basic grasp of HTML and CSS from Treehouse. Mainly doing CodeAcademy right now since I was following freecodecamp curriculum.
Was 100% focused on anything front end. Like tonight I'm attending a MakersSquare meetup for JavaScript and basically everything I've found at least for meetups is front end focused. And based on what you said I'm seriously reconsidering halting the progress I've made on the front end tech and starting python. Since it sounds like it might be a better idea to learn python now then come back to the front end . Sounds like I'll have a better grasp of fundamentals learning python now rather than the other way around.
Swift is now Open Source: https://github.com/apple/swift