|
Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks. |
SWE - Software Engineer, person who designs software systems, writes code, occasionally helps keep things running smoothly in production
SRE - Site Reliability Engineer, person who makes sure things run smoothly in production (answering pages, building out software & infrastructure to help keep things going without problems, figuring out how to avoid problems in the future)
SLA - Service Level Agreement, i.e. "I run this service, and I guarantee it will work 99.9995% of the time, but if it fucks up 0.000001% of the time you can't bitch about it."
oncall - think like a doctor, someone is holding a pager and gets alerted if something goes wrong page - when your beeper / phone / etc alerts you to an ongoing production issue ack - acknowledging that you saw the page and will begin working to fix the problem asap - as soon as possible
|
What are the most interesting types of companies/projects you guys have worked for? Based on my university experience I think that security or something to do with neural networks or genetic algorithms could be really interesting but I simply don't know what else is out there and how challenging/fun/interesting other stuff could be.
|
On July 19 2015 10:26 Birdie wrote: What are the most interesting types of companies/projects you guys have worked for? Based on my university experience I think that security or something to do with neural networks or genetic algorithms could be really interesting but I simply don't know what else is out there and how challenging/fun/interesting other stuff could be.
You're aiming pretty high here... Also, university experience rarely has anything to do with real-world programming and applications.
You really should go through this checklist:
What programming languages do you know?
What programming languages are being used in the field you want to get into? (Because last I checked they rarely teach you Python or Lisp at the university and they are being utilized in neural networks and genetic algorithms)
What other knowledge do you require? (For security you'll need pretty broad knowledge in cryptography, various operating systems, servers, network protocols and such. For neural networks there comes a lot of philosophy and psychology - just check this out)
How much job offers are there for my chosen field?
What are the requirements to get an entry-level job?
How much does it pay? (This should be the least of your concerns, at least in the beginning)
And go from there.
You should also consider the future of your choice. Take Java for example. Most companies and government facilities in my country are backing away from it for business applications since development (and maintenance) times and costs are lower in Python or PHP and you can get basically the same thing. It's happening much slower in the west where like 80% of business apps run Java, but it will happen eventually.
|
On July 19 2015 10:26 Birdie wrote: What are the most interesting types of companies/projects you guys have worked for? Based on my university experience I think that security or something to do with neural networks or genetic algorithms could be really interesting but I simply don't know what else is out there and how challenging/fun/interesting other stuff could be.
Neural networks / GA are not something that you "work on". They're tools that you use to accomplish your work. You might get a problem where a GA is the solution, you might not get one.
Most interesting area for me? I'd go with medicine.
On July 19 2015 19:16 Manit0u wrote: You're aiming pretty high here... Also, university experience rarely has anything to do with real-world programming and applications.
Yeah, that work is for the programming monkeys
|
On July 19 2015 10:26 Birdie wrote: What are the most interesting types of companies/projects you guys have worked for? Based on my university experience I think that security or something to do with neural networks or genetic algorithms could be really interesting but I simply don't know what else is out there and how challenging/fun/interesting other stuff could be. Well Mani was a little depressing in response to this... I really like the question though. I worked at a static analysis place last summer - so basically reading your C/C++/C#/Java source code and finding some of the nastier classes of bugs by parsing it and analyzing the syntax tree. I thought it was super cool - I really like parsers and compilers and things like that so the whole process was ultra interesting.
|
On July 19 2015 10:26 Birdie wrote: What are the most interesting types of companies/projects you guys have worked for? Based on my university experience I think that security or something to do with neural networks or genetic algorithms could be really interesting but I simply don't know what else is out there and how challenging/fun/interesting other stuff could be. There are a lot of start-ups that rely on modern machine learning techniques (to achieve popular goals like recommendation, computer vision, information retrieval, language understanding and everything AI really...). It's probably interesting work. If you can boast good programming abilities and some familiarity with machine learning techniques (like NN), you might have the right profile for an engineer.
|
@Manit0u my "chosen field" is unknown at the moment, hence my question. If I can work out what is interesting to others perhaps I can narrow down what I should be aiming for, although right out of university I will probably just take whatever job offer I get that pays the best and work from there.
|
If you want to work "on" neural networks, you had better aim for a career in academics. The hot field in that area is deep learning, and it's pretty cool. If you want to work "with" neural networks, GA and other ML techniques, then the job is generally titled "data analyst" or "data scientist", and is not generally an entry-level job, but is something you can work towards. Take a course on data mining, learn about, and work with big data tools, like NoSQL databases, hadoop. Don't start with Lisp, if you want to focus on languages, learn to use R and matlab.
Jobs are far from limited to startups. Google, Facebook, Amazon and IBM are also examples of companies looking for that skillset, but the most exciting new applications do tend to get dreamt up in startups.
|
Birdie, you can also start a PhD if you're interested in machine learning itself, or even "just" fields that make use of it. Some of the big companies Acrofales is talking about also recruit a fair share of their new hires at the PhD level. Depends on what you want to do now though, if you want to work right now (like, "real" work ;D), I'd say to stay away from that.
|
Anyone here have some advice for coming up with ideas for personal projects? I'm entering my last year of a comp sci degree, and I really need to start building a portfolio, but every time I sit down and try to come up with an idea it just turns into beating my head against a wall for half an hour. It seems like everything under the sun has already been done...
|
Does anyone know any good C# libraries which can be used to receive RTSP stream? I've found one here, but it is for 32 bits only. The library author says ffmpeg and boost need to be recompiled, but I get unknown symbols error messages. It's also weird that library asks for .a instead of .lib files of ffmpeg.
|
On July 20 2015 08:12 falconfan02 wrote: Anyone here have some advice for coming up with ideas for personal projects? I'm entering my last year of a comp sci degree, and I really need to start building a portfolio, but every time I sit down and try to come up with an idea it just turns into beating my head against a wall for half an hour. It seems like everything under the sun has already been done...
It doesn't really have to be anything groundbreaking. Just do something that's actually useful and can get you some experience that you will use later on when you're done with uni.
|
On July 20 2015 08:12 falconfan02 wrote: Anyone here have some advice for coming up with ideas for personal projects? I'm entering my last year of a comp sci degree, and I really need to start building a portfolio, but every time I sit down and try to come up with an idea it just turns into beating my head against a wall for half an hour. It seems like everything under the sun has already been done... Do you know what the personal means in "personal projects"? Lol.
|
On July 20 2015 10:38 Acrofales wrote:Show nested quote +On July 20 2015 08:12 falconfan02 wrote: Anyone here have some advice for coming up with ideas for personal projects? I'm entering my last year of a comp sci degree, and I really need to start building a portfolio, but every time I sit down and try to come up with an idea it just turns into beating my head against a wall for half an hour. It seems like everything under the sun has already been done... Do you know what the personal means in "personal projects"? Lol.
Yeah, I know it's a stupid question... Just starting to get pretty stressed out with graduation approaching so quickly, and my complete lack of creativity is frustrating. I just need to stop thinking so much about it and pick something, like Manit0u said.
|
On July 20 2015 13:40 falconfan02 wrote:Show nested quote +On July 20 2015 10:38 Acrofales wrote:On July 20 2015 08:12 falconfan02 wrote: Anyone here have some advice for coming up with ideas for personal projects? I'm entering my last year of a comp sci degree, and I really need to start building a portfolio, but every time I sit down and try to come up with an idea it just turns into beating my head against a wall for half an hour. It seems like everything under the sun has already been done... Do you know what the personal means in "personal projects"? Lol. Yeah, I know it's a stupid question... Just starting to get pretty stressed out with graduation approaching so quickly, and my complete lack of creativity is frustrating. I just need to stop thinking so much about it and pick something, like Manit0u said.
Really, don't stress out about it. Side projects are just about doing random stuff in your free time when you feel like it. Instead of having fun gaming or playing Starcraft, you take those free hours and put them into something else you enjoy equally. You shouldn't have to "force" yourself to do it. It should be natural.
For example, I'm halfway on fixing up my Kinect voice controller that can control my PC using some voice commands. But I've gotten bored of it so I'm re-doing my Poker and Sudoku solvers with all the programming knowledge I've learned in the last 4 years because I think it'll be interesting. I'm also re-doing a bunch of interview questions I've gotten that I've failed on. I'm also making a playlist manager for Youtube because I notice songs I save keep getting deleted and the song name becomes [deleted], so I'm losing songs. None of those are crazy projects, but they're stuff that you do because you want to. I have an Intel Galileo (more powerful Raspberry Pi) laying around for the last year that I haven't thought of projects with, but I'm in no rush because it'll happen when it happens.
Of course, having amazing, million dollar, million view projects would be awesome, but you start somewhere, and those projects are projects born because of random interest, not because someone wanted to be famous. It's much more fun to work on something that randomly pops into your head than it is to work on someone else's dream. Ideas are cheap. Hard work is much more valuable, and you only get there by doing doing doing.
Start with something simple and very programmery, like a Sudoku solver, and work in parallel with stuff that interests you, maybe learn Tic-Tac-Toe, or find out how to write an AI for Tic-Tac-Toe, or write a OpenGL GUI for it, or write a mobile app, or write a mobile app to use a camera to solve it, or make a 3x3 Tic-Tac-Toe to be played concurrently on a browser, or whatever sounds more interesting. Ideas are super easy. Me and my friend have a giant document of all the random useless/useful? ideas we want to do that we don't have time for.
|
I would second a sudoku solver. I'm in the process of finishing mine right now. Pretty straight forward as long as you are able to logically deduce the correct solving algorithm
|
On July 20 2015 13:40 falconfan02 wrote:Show nested quote +On July 20 2015 10:38 Acrofales wrote:On July 20 2015 08:12 falconfan02 wrote: Anyone here have some advice for coming up with ideas for personal projects? I'm entering my last year of a comp sci degree, and I really need to start building a portfolio, but every time I sit down and try to come up with an idea it just turns into beating my head against a wall for half an hour. It seems like everything under the sun has already been done... Do you know what the personal means in "personal projects"? Lol. Yeah, I know it's a stupid question... Just starting to get pretty stressed out with graduation approaching so quickly, and my complete lack of creativity is frustrating. I just need to stop thinking so much about it and pick something, like Manit0u said.
I'm trying to figure out way to cluster sc2 openers. My idea is to ignore time in build and look at build like string (sssmm), and then if it's possible to cluster them in a way people cluster strings or something. My thought behind it is: 1) don't really know how I'd do that otherwise (lol don't rly know wtf im doing here either) 2) time is implicitly considered since in wcs replays, people aren't just like...doing nothing
Parsing replays out of sc2 replay files is simple thx to sc2reader and spawning tools work on top of that (or at least hopefully heh), it's just I don't know a whole lot of the actual basic stats side of it on how to cluster builds. There's about 1800 replays of WCS available from dl that I've been using.
Maybe you could get something useful out of that? I was thinking I could hand label a few of the builds I know, and then use kmeans clustering (since you need some knows for kmeans??)? Right now I did some cursory thing with hierarchical clustering but I need to do more work on making meaningful. Also I really have no clue wtf I'm doing in general sooooooo might have to go back to drawing board on this.
I made a shitty d3 vis where you can click on nodes to get BO but there's a few major problems in it as I try to scale the number of replays clustered (this vis turns to shit, prolly need to learn more d3 or make bigger clusters...).
Here's a random set of 200 clustered. Left to right its zerg, terran, and toss, but I need to like give bigger weight to buildings then scv or tweak like delete weight vs transpose -- since im using levensthein distances to compare builds. Like why does it decide to split toss into those 2 distinct clusters -- I looked at the builds it has in each cluster there are really not too similar.
I've decided to actually put this on whole and go through some ai mooc on coursera I've been meaning too and hopefully come back to it in a month or two with a stronger understanding of potential ways to solve this that's not just trying random shit until it makes sense.
![[image loading]](http://i.imgur.com/Qad1q35.png)
|
On July 19 2015 19:16 Manit0u wrote:Show nested quote +On July 19 2015 10:26 Birdie wrote: What are the most interesting types of companies/projects you guys have worked for? Based on my university experience I think that security or something to do with neural networks or genetic algorithms could be really interesting but I simply don't know what else is out there and how challenging/fun/interesting other stuff could be. You're aiming pretty high here... Also, university experience rarely has anything to do with real-world programming and applications. You really should go through this checklist: What programming languages do you know? What programming languages are being used in the field you want to get into? (Because last I checked they rarely teach you Python or Lisp at the university and they are being utilized in neural networks and genetic algorithms) What other knowledge do you require? (For security you'll need pretty broad knowledge in cryptography, various operating systems, servers, network protocols and such. For neural networks there comes a lot of philosophy and psychology - just check this out) How much job offers are there for my chosen field? What are the requirements to get an entry-level job? How much does it pay? (This should be the least of your concerns, at least in the beginning) And go from there. You should also consider the future of your choice. Take Java for example. Most companies and government facilities in my country are backing away from it for business applications since development (and maintenance) times and costs are lower in Python or PHP and you can get basically the same thing. It's happening much slower in the west where like 80% of business apps run Java, but it will happen eventually.
Shits still running Cobol and shittier mainframe programming languages where I work. I don't imagine Java going away in < 20 yrs rly. Python/PHP don't have the same enterprise ecosystem - support contracts, drivers for all these DB and msg queues, integration with other parts of your stack like authentication systems. Like Java app integrating with opensso, some integration with webspher mq to message driven beans for sending email or other MQ to integrate with backend mainframe -- I just don't see how to do that in Python (celery being amazing). I don't even see Python/PHP being faster to get a product out in something like this simply because of Java ecosystem.
I say that as someone who likes PHP/Python.
Maybe use Scala so at least you still get JVM ecosytem and can presumably interoperate with Java code, plus you get to work with a technolog that's powering a lot of the "big data" ecosystem (Hadoop/Spark/etc is a lot of JVM).
Although maybe it's just my own myoptic viewpoint based on where I work.
|
On July 20 2015 18:13 teamamerica wrote:Show nested quote +On July 19 2015 19:16 Manit0u wrote:On July 19 2015 10:26 Birdie wrote: What are the most interesting types of companies/projects you guys have worked for? Based on my university experience I think that security or something to do with neural networks or genetic algorithms could be really interesting but I simply don't know what else is out there and how challenging/fun/interesting other stuff could be. You're aiming pretty high here... Also, university experience rarely has anything to do with real-world programming and applications. You really should go through this checklist: What programming languages do you know? What programming languages are being used in the field you want to get into? (Because last I checked they rarely teach you Python or Lisp at the university and they are being utilized in neural networks and genetic algorithms) What other knowledge do you require? (For security you'll need pretty broad knowledge in cryptography, various operating systems, servers, network protocols and such. For neural networks there comes a lot of philosophy and psychology - just check this out) How much job offers are there for my chosen field? What are the requirements to get an entry-level job? How much does it pay? (This should be the least of your concerns, at least in the beginning) And go from there. You should also consider the future of your choice. Take Java for example. Most companies and government facilities in my country are backing away from it for business applications since development (and maintenance) times and costs are lower in Python or PHP and you can get basically the same thing. It's happening much slower in the west where like 80% of business apps run Java, but it will happen eventually. Shits still running Cobol and shittier mainframe programming languages where I work. I don't imagine Java going away in < 20 yrs rly. Python/PHP don't have the same enterprise ecosystem - support contracts, drivers for all these DB and msg queues, integration with other parts of your stack like authentication systems. Like Java app integrating with opensso, some integration with webspher mq to message driven beans for sending email or other MQ to integrate with backend mainframe -- I just don't see how to do that in Python (celery being amazing). I don't even see Python/PHP being faster to get a product out in something like this simply because of Java ecosystem. I say that as someone who likes PHP/Python. Maybe use Scala so at least you still get JVM ecosytem and can presumably interoperate with Java code, plus you get to work with a technolog that's powering a lot of the "big data" ecosystem (Hadoop/Spark/etc is a lot of JVM). Although maybe it's just my own myoptic viewpoint based on where I work.
Of course it depends a lot on your "local meta" to an extent. Like I said, probably 80+% of business software in the west is written in Java so opting out isn't really feasible. Here it's a different story and development costs get pretty crazy (considering that Java devs can earn roughly thrice the pay of PHP devs) so companies are looking to cut them down. Sometimes switching to a different ecosystem isn't an option, but in many cases it's a no-brainer (when you don't really utilise the JVM ecosystem and just use Java EE as the back-end to your intranet or your run of the mill every day usual system for managing your company's invoices, tasks etc.).
On July 20 2015 13:40 falconfan02 wrote:Show nested quote +On July 20 2015 10:38 Acrofales wrote:On July 20 2015 08:12 falconfan02 wrote: Anyone here have some advice for coming up with ideas for personal projects? I'm entering my last year of a comp sci degree, and I really need to start building a portfolio, but every time I sit down and try to come up with an idea it just turns into beating my head against a wall for half an hour. It seems like everything under the sun has already been done... Do you know what the personal means in "personal projects"? Lol. Yeah, I know it's a stupid question... Just starting to get pretty stressed out with graduation approaching so quickly, and my complete lack of creativity is frustrating. I just need to stop thinking so much about it and pick something, like Manit0u said.
If you really need ideas then head over to Genesis, play it for a while to see how it looks and then apply for a wizard (MUD term for developer) position. There's plenty of work to be done both on the core system as well as web client. That's what really got me into coding seriously and the guys there taught me a fuckton of things. As a bonus, it's nice to see the stuff you coded actually being implemented in an online game that's been running continuously for over 20 years.
The possibilities for your uni project there are endless. Academically speaking you could do so much research there. Player population fluctuations, working with huge codebase created by various people ranging from complete amateurs to seasoned professionals (and still being able to modify it, push it forward and maintain backwards compatibility), network interfaces, website integration, LPC language in general (which has some awesome things, like shadowing) etc. etc.
I mean, 20+ years is pretty huge amount of time to run your app.
|
On July 18 2015 17:32 Manit0u wrote:As a bonus, I present you with this most interesting study regarding DB performance when storing dates and times (tldr: never use timestamps in your db).
It's a bit of a strong tl;dr for a study made in 2009 using a beta build of MySQL, with the database that doesn't implement foreign keys 
Doesn't it as always depend on what the usage is?
|
|
|
|