Jump to content
IGNORED

Programming


zlemflolia

Recommended Posts

the syntax can't really be simplified any more than they it is. it's essentially template parameters + constexpr compiler inference. it has a high learning curve admittedly, and also admittedly there is some ugly stuff though like the requirement to use typename when accessing type members

 

agreed on compilation time but it's not an issue when you use a proper isolation of components and don't include massive header-only things when it's not needed

If the syntax can't be simplified how come the c++ folks are currently implementing new features to do the same things with better syntax? Also, basically all other modern languages have better generic polymorphism designs. Templates were not actually designed to do what they can be currently used for, it was just an accident that they turned out to be so powerful, so it's not surprising it looks like such an ugly hack.

Link to comment
Share on other sites

  • Replies 467
  • Created
  • Last Reply

''personally I find the act of programming, analysing & designing data & processes fascinating by itself and my musical output has been losing importance relative to it. but i don't see this as a bad thing tbh'' 

 

-- phling, watmm, may 2014

 

I’m kind of sick of programming.

I’ve had some niche success in the iOS / macOS App Stores, I’ve spent years diving into lower level stuffs, all together been working on code stuff for 10 years now, 8 years professionally / seriously.

But it’s just not fun anymore. Writing code..
“ugh, do I really have to type this shit into this file”
“oh noes, a thing doesn’t work, do i really care enough to fix it?” — the most common thoughts that come up..

It’s major capital TEEEEEDIOUS.

And yeh all these startups can fucking suck it. All they produce is useless shit. I don’t like the sort of tech bro people who work there either.

I still do enjoy some CLI tool stuff and writing simple nodejs apps is fun as well tho.. ¯\_(ツ)_/¯

 

phling's soundcloud page imminent?  :music:

Link to comment
Share on other sites

I've considered quitting programming several times and finding some other work to do. But code comes sort of naturally from me, and it pays decently, and there's shitloads of jobs available. So even if I'm not happy doing whatever I'm currently doing I can always find some other programming job. Anyway, now I'm trying this freelancer thing for a while and see how it works out.

 

To be honest, I don't know what I would be rather doing? I've worked in a library and as a painter (like houses) when I was young and those jobs were tedious as fuck. I need some kind of mental challenge. I thought about going for a research career but after I did some work towards a PhD and saw that side of things and after talking with some relatives and friends who work in academia I don't think that's what I want to do. I had a sort of idealized image in my head about the life of a scientist. Maybe some other engineering field would be ok but I don't know any that would interest me more than programming (or applied mathematics which basically boils down to programming in the end).

Link to comment
Share on other sites

  • 1 month later...

My last elective at SDSU for Computer Science:

 

Computer Vision vs. 3D Game Programming. What say you WATMM?

 

The computer vision class is taught by one of our most esteemed computer scientists Mahmoud Tarokh; he's got software on mars rovers and whatnot. I see this subject as being more cutting edge and more widely applicable. The programs are in java which seems a bit lame, though it might not be bad to brush up on my java since i've been mostly programming in C/C++, Python, and *nix shells lately.

 

The game class uses the Unity engine, and you make your own 2D game and a team-based 3D game. I've heard the class spends way too much time going over 'what makes a game fun' vs. the mechanics of how games are scripted. I'm really only interested in the class because it will expose me to C# and I'll be able to do a Pure Data 'procedural audio' side project with it.

 

Currently enrolled in both, but only want to take one. I'm pretty low priority on the wait list for Machine Learning, which would be my first choice just out of the sheer hotness of the field.

 

My other 4 electives were: Software Engineering, Networks & Distributed Systems, Unix/Linux Systems Administration, and Embedded Systems Programming.

Link to comment
Share on other sites

 

the syntax can't really be simplified any more than they it is. it's essentially template parameters + constexpr compiler inference. it has a high learning curve admittedly, and also admittedly there is some ugly stuff though like the requirement to use typename when accessing type members

 

agreed on compilation time but it's not an issue when you use a proper isolation of components and don't include massive header-only things when it's not needed

If the syntax can't be simplified how come the c++ folks are currently implementing new features to do the same things with better syntax? Also, basically all other modern languages have better generic polymorphism designs. Templates were not actually designed to do what they can be currently used for, it was just an accident that they turned out to be so powerful, so it's not surprising it looks like such an ugly hack.

 

 

I don't think it's ugly at all, it's basically lisp with < instead of (

Link to comment
Share on other sites

I've heard the class spends way too much time going over 'what makes a game fun' vs. the mechanics of how games are scripted. 

Probably just me, but I think user experience (and developer experience) is way more interesting than the standard nuts and bolts nerdy academic CS type of stuff. I get most inspired when I see people using tools in a way that it becomes a smooth flow and the separation between the person and the tool just fall away. I guess that is kind of the thing that attracts a lot of us to code in the first place - I want to share that with other people.

 

I do want to learn ML as well, though - both because it's in demand but also to get a better understanding of where it can be best applied. My understanding of it right now is that you just ram a bunch of data at some learning algo and it pulls a model out of its ass, which all sounds really boring and tedious to me. If I understood it better I would probably appreciate it more.

 

C# is a nice language but you might get more mileage out of other languages for audio - C++ in particular, which it sounds like you already know.

Link to comment
Share on other sites

@eczem: i'd pick computer vision

Not only because odds are you'll be doing some machine learning as well. (Train a robot to find its way in a maze, using his onboard camera) and it teaches you lots about data manipulation with linear algebra. Which will give you a huge headstart if you want to end up in a data science kind of job.

 

Only go for gaming if youre certain you want to makes games. Every joe would go for gaming. But only a few would actually get there. So the question you end up with: if youre not producing games, what did it bring you? Not sure if C# would be more helpful than the stuff youll learn in computer vision. Although i agree with you on the java thing, btw. Was expecting matlab or something. Thats how i was thaught. But that was in the context of an AI course, so the angle on computer vision might be a completely different one.

 

@ sweep: if you think ml sounds tedious and boring, im guessing its not your thing. Your description is not too far off. So i dont expect you to change your mind very much if you had a better understanding, tbh. If building models is not your cuppa, youd be better off learning something else, imo. It's not like listening to a new ae album.

Link to comment
Share on other sites

Thanks to both of you for your feedback

@eczem: i'd pick computer vision
Not only because odds are you'll be doing some machine learning as well. (Train a robot to find its way in a maze, using his onboard camera) and it teaches you lots about data manipulation with linear algebra. Which will give you a huge headstart if you want to end up in a data science kind of job.

Only go for gaming if youre certain you want to makes games. Every joe would go for gaming. But only a few would actually get there. So the question you end up with: if youre not producing games, what did it bring you? Not sure if C# would be more helpful than the stuff youll learn in computer vision. Although i agree with you on the java thing, btw. Was expecting matlab or something. Thats how i was thaught. But that was in the context of an AI course, so the angle on computer vision might be a completely different one.
 

 

Yeah, the class is weird because the texbook is Digital Image Processing in Java and the class seems to follow it pretty closely, so a lot of Java library stuff on filtering, enhancements, edge detection, interpolation, FFT, and compression.  Not seeing much in the course objectives in the way of the machine learning/matlab side, and yeah i was hoping that if i couldn't get into the actual ML class that the vision class would at least touch on it.

 

Yeah, I love video games but I have no burning passion to get into the industry, I'm just intrigued by the niche areas of game audio and procedural audio, but i think the chances of actually landing a job doing that are pretty low.

 

 

 

 

I've heard the class spends way too much time going over 'what makes a game fun' vs. the mechanics of how games are scripted. 

Probably just me, but I think user experience (and developer experience) is way more interesting than the standard nuts and bolts nerdy academic CS type of stuff. I get most inspired when I see people using tools in a way that it becomes a smooth flow and the separation between the person and the tool just fall away. I guess that is kind of the thing that attracts a lot of us to code in the first place - I want to share that with other people.

 

I do want to learn ML as well, though - both because it's in demand but also to get a better understanding of where it can be best applied. My understanding of it right now is that you just ram a bunch of data at some learning algo and it pulls a model out of its ass, which all sounds really boring and tedious to me. If I understood it better I would probably appreciate it more.

 

C# is a nice language but you might get more mileage out of other languages for audio - C++ in particular, which it sounds like you already know.

 

Yeah, I'm inclined to agree with the UX idea, you do want the technology to smoothly facilitate and not get in the way; shouldn't be noticed. I'm all for smooth DevX as well. I guess what I was referring to was the following possibly misguided notion: that as someone who has been playing video games since the original NES, i would find multiple lectures of "this is what a game is and how we design good gameplay" would be a bit obnoxious. (this probably comes off a bit elitist lol.) Mostly going off second hand accounts from classmates who've already taken it.  If i end up taking it I'll give an update, but I think I'm leaning towards computer vision.

Link to comment
Share on other sites

@ sweep: if you think ml sounds tedious and boring, im guessing its not your thing. Your description is not too far off. So i dont expect you to change your mind very much if you had a better understanding, tbh. If building models is not your cuppa, youd be better off learning something else, imo. It's not like listening to a new ae album.

Well I don't like dismissing stuff outright until I give it a shot. And there's applications of ML I've seen that are pretty damn cool; for example, one of the Renoise devs is working on an app that auto-organizes your sample collection. Recently I've also started to get that "spidey sense" when a problem could use a dab of ML (as opposed to it being the foundation of an application) even though I only understand it at a high level, and having a tool like that in my box could only help, just like getting a feel for choosing/creating a general algorithm (e.g. stack vs. queue) that fits a problem. I get the feeling that sort of "assisted automation" applications are a good and somewhat underutilized fit for ML, like where it suggests something or tries to auto-fill some selections and you only have to make minor corrections to it instead of filling the whole thing out.

 

And, yeah, I'm changing jobs so I'll have plenty to learn, and that will probably keep me busy enough for a while.

 

Yeah, I'm inclined to agree with the UX idea, you do want the technology to smoothly facilitate and not get in the way; shouldn't be noticed. I'm all for smooth DevX as well. I guess what I was referring to was the following possibly misguided notion: that as someone who has been playing video games since the original NES, i would find multiple lectures of "this is what a game is and how we design good gameplay" would be a bit obnoxious. (this probably comes off a bit elitist lol.) Mostly going off second hand accounts from classmates who've already taken it.  If i end up taking it I'll give an update, but I think I'm leaning towards computer vision.

Honestly your friends/classmates probably know your interests and inclinations better than I do, and based on your description I agree w/ goDel about the Computer Vision class. It just sounds more up your alley and like a better opportunity for you. But, yeah, based on my experience working with other devs, UX is greatly underappreciated, so I would recommend at least learning some general design principles on how to make software intuitive and enjoyable, which might actually be hard to learn at school.

Link to comment
Share on other sites

Careerwise I'd go for computer vision. Heard so many horror stories about working for game companies. But of course if you love game development then go for that. But it's more of a calling, isn't it?

 

Personally I stay clear from consumer software in general. Enterprise and engineering software is where the money's at. But you need to have a sort of an engineer disposition to not be thoroughly bored by it.

 

 

52caf1baeb08ae4f17d9a2c8df3468cc2402e437

 

 

Link to comment
Share on other sites

Yeah, I love video games but I have no burning passion to get into the industry, I'm just intrigued by the niche areas of game audio and procedural audio, but i think the chances of actually landing a job doing that are pretty low.

 

Check out AlgoRave and the tools those artists use for computer audio maybe? Would be a good start if you want to explore independently.

Link to comment
Share on other sites

Computer Vision is definitely the way to go, learning to use Unity doesn't sound all that interesting, most of the interesting stuff in game development is already handled by the Unity engine, so most of the code you write for that will be just a pretty boring bunch of ifs elses and loops based around items in the entity component system, you'll spend as much time fooling around in the editors probably. It might be a good idea if you want to get into game development, as a basic introduction; but if you're already competent with C/C++ it might be better to start off writing a simple 2D game with SDL or something. You could throw together a simple rouguelike in under a week probably, allowing you to focus on procedural audio if that was what you really wanted to do. Procedural audio is something that's not done that often in games, so might be an interesting area to go into, lots of scope for innovation.

Link to comment
Share on other sites

The only example of procedural music I can think of in a videogame is No Man's Sky (which I think was mostly done by 65daysofstatic - one of whom funnily enough has an AlgoRave attached side project as Polinski)

Link to comment
Share on other sites

Guest Ovitus

I would like to get into some generative visual programming language. Would that be Processing? Any others? Honestly if I could get anything like an ep7 type visual effect I'd be satisfied.

Link to comment
Share on other sites

I think procedural environmental sounds would be a more interesting thing to develop than procedural music, because creating algorithmic music that doesn't sound terrible is next to impossible (unless maybe you were just stitching together pre-composed loops in various ways or something). Audio engines in most games are very simple, just a mixer, a sample library, some direction/distance info, a few fx here and there, done. Lots of scope for improvement.

Link to comment
Share on other sites

Can second the suggestion for Processing for some interesting but simple-to-get-into visuals. I did the art for my first album (https://tsrono.bandcamp.com/album/i) with Processing and then fucking around in Photoshop. I know jack shit about coding and was able to go from a few tutorials and just playing around some to making some slightly interesting source material for manipulation in little time. Would definitely take some actual effort to get better control than I ever had...but there's plenty of resources for beginners online, and of course lots of sample stuff you can mess with and learn from ... I have actually started to play around with it again a little bit lately, forgotten any little bit I learned back then of course...

Link to comment
Share on other sites

Can second the suggestion for Processing for some interesting but simple-to-get-into visuals. I did the art for my first album (https://tsrono.bandcamp.com/album/i) with Processing and then fucking around in Photoshop. I know jack shit about coding and was able to go from a few tutorials and just playing around some to making some slightly interesting source material for manipulation in little time. Would definitely take some actual effort to get better control than I ever had...but there's plenty of resources for beginners online, and of course lots of sample stuff you can mess with and learn from ... I have actually started to play around with it again a little bit lately, forgotten any little bit I learned back then of course...

I've been holding off doing anything visual art related stuff for a long time. (literally since the early 2000's)

 

My brother does some graphic design, so i was gonna have him do some upcoming album art, but I might check this Processing out in the mean time.

 

@auxien, yeah i like that a lot, what you did for your album art.

Link to comment
Share on other sites

^thanks, probably owes more to Photoshop than Processing, but Processing definitely allowed me to create what I had in mind. 

 

Always a bonus if you've got someone close who can help with something like that...so if your brother can sorta follow what you're wanting out of things then that could be cool, certainly easier than trying to learn even some basic programming. Make family do the work :)

Link to comment
Share on other sites

most state of the art "artificial intelligence" / computer vision seems to be mostly different variations of throwing shit at the wall and seeing what sticks, with very complex shit throwing algorithms. Which makes sense considering you can't model something when you don't know how it works to begin with

Link to comment
Share on other sites

computer vision is more than just neural networks, but yeah the neural net stuff is mostly just playing around with various different options at each stage (e.g. you pick a method to convert your input data into numbers, pick a classifier or regression algorithm to process that data, train and test, if the result is bad go back to step 1 and just pick different methods and try again, repeat until you get something that works; then if it stops working as well in the future, because maybe some features of your data have changed, repeat the whole thing again). you don't have to have any idea how any of the different methods work, though you might build up an intuitive understanding of what might work well in certain situations, there's just a bunch of different ones in the library to choose from. there doesn't seem to be a huge amount of research into why different methods work well with some things more than others, or exactly why a lot of it works at all, definitely more of an art than a science at this point.

Link to comment
Share on other sites

computer vision is more than just neural networks, but yeah the neural net stuff is mostly just playing around with various different options at each stage (e.g. you pick a method to convert your input data into numbers, pick a classifier or regression algorithm to process that data, train and test, if the result is bad go back to step 1 and just pick different methods and try again, repeat until you get something that works; then if it stops working as well in the future, because maybe some features of your data have changed, repeat the whole thing again). you don't have to have any idea how any of the different methods work, though you might build up an intuitive understanding of what might work well in certain situations, there's just a bunch of different ones in the library to choose from. there doesn't seem to be a huge amount of research into why different methods work well with some things more than others, or exactly why a lot of it works at all, definitely more of an art than a science at this point.

 

I notice few people talk as much about feature extraction in comparison to the classification algorithms etc., but despite this it's essentially the primary determiner of whether a given ranking algorithm or whatever will end up working in your use case - whether you've extracted features that represent all of the information relevant to the problem you're solving, and whether they're extracted accurately with noise reduction.  I'm no AI/ML expert let alone a computer vision expert, but I can still see a pathway towards things getting a lot better in the future.  You can't rely on the DNN to do all of the heavy lifting, you need some domain specific knowledge to isolate the problem to be based on input data that's smaller and more abstract

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.