|
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. |
On May 11 2014 05:16 Invictus wrote: wow thanks for all the advice! so i think i shall start on python instead then.
on a side note, is Linux really that good? everyone seems to be recommending it as the to go platform. And yes i'm using windows. It's more of a case of Linux enthusiasts speaking out for Linux. Nobody is going to say "man you should totally try out Windows!" because you most likely know Windows pretty damn well anyways.
Try out Linux when you feel like exploring different options and decide yourself.
|
On May 11 2014 05:25 spinesheath wrote:Show nested quote +On May 11 2014 05:16 Invictus wrote: wow thanks for all the advice! so i think i shall start on python instead then.
on a side note, is Linux really that good? everyone seems to be recommending it as the to go platform. And yes i'm using windows. It's more of a case of Linux enthusiasts speaking out for Linux. Nobody is going to say "man you should totally try out Windows!" because you most likely know Windows pretty damn well anyways. Try out Linux when you feel like exploring different options and decide yourself.
Pretty much this. For some of the programming (C, C++ for example) Linux is pretty much the default platform with all the tools (compilers and debuggers mostly, which is all you need) readily available as a part of system core or in case of web development (PHP, Apache, Nginx, Lighttpd) it's easier and better to work in an environment where your stuff will actually be deployed (seeing how majority of the web runs on Linux servers).
I tried configuring Windows to work well with PHP, Symfony etc. and the process was rather tedious and frustrating. After I finished doing it I got frustrated at how hard actually making changes to some settings (virtual server) and generally managing your project was. Under Linux you can change practically everything by simply modifying some text files and restarting the service (which is as easy as typing: 'service <name> restart' in the console). Fast and easy = better productivity as you spend more time doing what you need to do rather than managing other stuff and much less frustration in general.
Also, sometimes you get conflicts with your firewall, under Linux you can easily check which service (mysql server for example) is listening on which ports and changing your firewall settings (if you even run a firewall) is also simply achieved through the console.
For me switching over to Linux was a matter of convenience and customization to my personal needs. Switched over 6 years ago to solo-boot Linux and never looked back. I have a Windows-only machine too for when I need to do something for this platform or play a game but it gets used for like 4-5hrs/week (if that) as opposed to my 3 computers running Linux which are in constant use both at work and home.
This also reminds me what actually got me into coding and Linux in the first place some 15 years ago - MUDs. Started with manually compiling basic clients from source on my first shell account, then made scripts for my characters and finally moved on to actually developing the game itself (MUD is a text-based MMO). There are many other people who started their coding careers like that:
http://andrewbrookins.com/programming/four-lessons-i-learned-programming-muds-as-a-teenager/ http://archive.wired.com/wired/archive/1.03/muds_pr.html
Perhaps you could give it a shot after you've tried some Python. Most MUDs are willing to take on coders, even if they're completely green. Then you get to work on a big project (with hundreds of thousands if not millions of unique objects), in a team and under tutelage of some experienced programmers (most of the MUD staff are full-time professional coders with 20+ years of experience and doing that in their free time). The language used in most MUDs is LPC, which is a very nice and modern object-oriented language that can give you a jump-start into other C-family languages).
Edit: Haha, check out this 'how to learn programming' file from 1993. Pure awesomeness that brings tears to my eyes (tears caused by fond memories). http://pastebin.com/BHupYEAJ
|
On May 11 2014 06:06 Manit0u wrote: Pretty much this. For some of the programming (C, C++ for example) Linux is pretty much the default platform with all the tools (compilers and debuggers mostly, which is all you need) readily available as a part of system core or in case of web development (PHP, Apache, Nginx, Lighttpd) it's easier and better to work in an environment where your stuff will actually be deployed (seeing how majority of the web runs on Linux servers).
MinGW + MSys works just fine on Windows - this is relatively new that it works well though. Alternative is Cygwin but it's very big for the same functionality as MinGW + MSys.
Xampp install and it works. Nginx and Lighttpd runs like shit on Windows if you have serious loads, but for playing around purposes they work just fine and the config files are movable to whichever distro you're using.
On May 11 2014 06:06 Manit0u wrote: I tried configuring Windows to work well with PHP, Symfony etc. and the process was rather tedious and frustrating. After I finished doing it I got frustrated at how hard actually making changes to some settings (virtual server) and generally managing your project was.
As mentioned - xampp just works and gives you apache, mysql, php and perl.
On May 11 2014 06:06 Manit0u wrote: Under Linux you can change practically everything by simply modifying some text files and restarting the service (which is as easy as typing: 'service <name> restart' in the console). Fast and easy = better productivity as you spend more time doing what you need to do rather than managing other stuff and much less frustration in general.
And you can do exactly the same under Windows, to be fair. It's of course not 'service <name> restart', but it's 'net restart <name>'
On May 11 2014 06:06 Manit0u wrote: Also, sometimes you get conflicts with your firewall, under Linux you can easily check which service (mysql server for example) is listening on which ports and changing your firewall settings (if you even run a firewall) is also simply achieved through the console.
And again you can do exactly the same in Windows, using netstat -b
---
My point is, even though it may not be clear, is to be good at using and managing both Windows and a few different linux distros, if possible. Looking at how some BSD's do things are not stupid either. (It's from BSD we have the sockets, as an example)
It's silly to completely disregard one system or the other. There's always things to learn from both worlds so you can pick the best solution and make the best pragmatic decisions - those that integrate well with the existing systems and will cause the least amount of pain for everyone involved to get up and running.
|
On May 11 2014 04:45 darkness wrote: Do you guys use Java reflection? Or is this only a Java EE thing? It is sometimes necessary, yes. We try to avoid it whenever humanly possible, and it typically incurs a lot of long term maintenance cost, but sometimes you need it. Very rarely, thank fucking god.
|
On May 11 2014 05:25 spinesheath wrote:Show nested quote +On May 11 2014 05:16 Invictus wrote: wow thanks for all the advice! so i think i shall start on python instead then.
on a side note, is Linux really that good? everyone seems to be recommending it as the to go platform. And yes i'm using windows. It's more of a case of Linux enthusiasts speaking out for Linux. Nobody is going to say "man you should totally try out Windows!" because you most likely know Windows pretty damn well anyways. Try out Linux when you feel like exploring different options and decide yourself.
It's not worth one's time to discuss shit with Linux freaks. Especially those who talk about servers and neither mention Debian nor RedHat. So just wave & smile.
Try Linux it's worth the experience. It's not even close to the holy grail.
|
On May 11 2014 08:11 Zocat wrote:Show nested quote +On May 11 2014 05:25 spinesheath wrote:On May 11 2014 05:16 Invictus wrote: wow thanks for all the advice! so i think i shall start on python instead then.
on a side note, is Linux really that good? everyone seems to be recommending it as the to go platform. And yes i'm using windows. It's more of a case of Linux enthusiasts speaking out for Linux. Nobody is going to say "man you should totally try out Windows!" because you most likely know Windows pretty damn well anyways. Try out Linux when you feel like exploring different options and decide yourself. It's not worth one's time to discuss shit with Linux freaks. Especially those who talk about servers and neither mention Debian nor RedHat. So just wave & smile. Try Linux it's worth the experience. It's not even close to the holy grail.
It just has a steep learning curve, most people who don't like linux know almost nothing of the possibilities. Its not just about having 3d window managers and conky.
Basically my productivity in programming is increased by a significant margin using linux, being able to use a window manager that suits programming perfectly by having every operation keybinded is part of it. To a layman it looks like I'm playing a game when I'm actually programming.
Also package managers are amazing, people are so used to going to websites and downloading stuff that they don't really think twice. To a linux person that is slow and inefficient, imagine being able to download any game you want without having to open a webbrowser and because everything is mirrored it is super fast, just type "package install starcraft" and you have it in 10 seconds flat, then when you are finished you can delete it and try another game, etc.
|
Or you look at it the other way and you realize that to even figure out what you're installing you have to find a download page in the first place, so either you copy in a command into a terminal and hope the dependencies all work or you download the self-contained installation package and then run it. There is no magical one side is better. You say your productivity in Linux is better than in Windows. My productivity in Windows is better than in Linux, especially when I'm using a desktop and not a laptop. No comparison. You say your window manager system is great. I work perfectly on a multimonitor system using Windows shortcuts as well. Get your Linux-is-superior-always mentality out of your head. It's not a law. It's up to the user's preferences. I know of all that crap and I still prefer using Windows once I have everything set up. People watching me program in Windows usually wtf when screens fly in and out. It's not unique to Linux dude.
On May 10 2014 12:41 phar wrote: Ahh I see what you're talking about now.
I've seen it both ways. I've seen systems that treat all separate ways of login as separate users. I've seen systems that try to merge them together into a single user, so you can use any of the login ways.
I must say as an end user I prefer the latter. On a new login type, you prompt for auth credentials of an existing login (redo oath from the original login if the third party supports that, or whatever), and merge that way. Though I have no idea how they treat revoking single logins vs whole account, how to detect if someone's lost access to one of their three login methods but not the other two, etc. I can imagine it'd be more of a headache.
Haha, it's giving me and my team huge headaches right now...
It's good to know that there's a preference to that. The simplest solution is the former, but it doesn't really add any value to either party by having one person have multiple identities. We want to have a system where the user doesn't have to go through a registration process to use the service - just use your existing ids. But we also want to support the idea that you are only one person. I think we have to make a decision one way and just go do anything with that way in mind, rather than stalling at this point and just brainstorming positives and negatives....
|
On May 11 2014 12:55 sluggaslamoo wrote: Also package managers are amazing, people are so used to going to websites and downloading stuff that they don't really think twice. To a linux person that is slow and inefficient, imagine being able to download any game you want without having to open a webbrowser and because everything is mirrored it is super fast, just type "package install starcraft" and you have it in 10 seconds flat, then when you are finished you can delete it and try another game, etc.
Unless you're looking for an arena shooter or a civ clone, you're not going to find much in the way of games in your distro's repos.
|
On May 11 2014 13:58 Blisse wrote: Or you look at it the other way and you realize that to even figure out what you're installing you have to find a download page in the first place, so either you copy in a command into a terminal and hope the dependencies all work or you download the self-contained installation package and then run it. There is no magical one side is better. You say your productivity in Linux is better than in Windows. My productivity in Windows is better than in Linux, especially when I'm using a desktop and not a laptop. No comparison. You say your window manager system is great. I work perfectly on a multimonitor system using Windows shortcuts as well. Get your Linux-is-superior-always mentality out of your head. It's not a law. It's up to the user's preferences. I know of all that crap and I still prefer using Windows once I have everything set up. People watching me program in Windows usually wtf when screens fly in and out. It's not unique to Linux dude.
What's with the attitude? Rofl
I don't care if you "work perfectly" on your multimonitor with "windows shortcuts" lol... its nothing like using a decent tiling window manager like XMonad, nothing like it at all. Trying to trick out Windows is like polishing a turd, its still going to be a piece of shit.
If you actually "knew all of that crap" you simply wouldn't be using Windows, because using Windows for programming is like trying to code while stabbing yourself in the face repeatedly.
Linux can do everything Windows can do, Windows can't do everything Linux can do. So by logic if you actually gave a shit, you could set up Linux to be exactly like Windows, only the Linux version would take a fraction of the time to setup, and you would have a terminal that actually worked. But only a retard would do that because everything Windows does is really stupid and inefficient.
Linux is just straight up better. Deal with it.
|
On May 11 2014 16:35 sluggaslamoo wrote:Show nested quote +On May 11 2014 13:58 Blisse wrote: Or you look at it the other way and you realize that to even figure out what you're installing you have to find a download page in the first place, so either you copy in a command into a terminal and hope the dependencies all work or you download the self-contained installation package and then run it. There is no magical one side is better. You say your productivity in Linux is better than in Windows. My productivity in Windows is better than in Linux, especially when I'm using a desktop and not a laptop. No comparison. You say your window manager system is great. I work perfectly on a multimonitor system using Windows shortcuts as well. Get your Linux-is-superior-always mentality out of your head. It's not a law. It's up to the user's preferences. I know of all that crap and I still prefer using Windows once I have everything set up. People watching me program in Windows usually wtf when screens fly in and out. It's not unique to Linux dude.
What's with the attitude? Rofl I don't care if you "work perfectly" on your multimonitor with "windows shortcuts" lol... its nothing like using a decent tiling window manager like XMonad, nothing like it at all. Trying to trick out Windows is like polishing a turd, its still going to be a piece of shit. If you actually "knew all of that crap" you simply wouldn't be using Windows, because using Windows for programming is like trying to code while stabbing yourself in the face repeatedly. Linux can do everything Windows can do, Windows can't do everything Linux can do. So by logic if you actually gave a shit, you could set up Linux to be exactly like Windows, only the Linux version would take a fraction of the time to setup, and you would have a terminal that actually worked. But only a retard would do that because everything Windows does is really stupid and inefficient. Linux is just straight up better. Deal with it.
Well, there are situations where Windows is better (Windows native development for example) but apart from that it's hard to find too many pros to using it over Linux when coding. The added benefit of Linux is that there are so many options and distros that you can for example get a cheap, weak laptop and have exactly the same functionality as on any high-end computer whereas Windows Vista and up simply won't run decently on any lower-end stuff and differences between major Windows milestones (98, XP, Vista+) are greater than any two Linux distros (which are all practically the same at their core).
|
On May 11 2014 16:35 sluggaslamoo wrote:Show nested quote +On May 11 2014 13:58 Blisse wrote: Or you look at it the other way and you realize that to even figure out what you're installing you have to find a download page in the first place, so either you copy in a command into a terminal and hope the dependencies all work or you download the self-contained installation package and then run it. There is no magical one side is better. You say your productivity in Linux is better than in Windows. My productivity in Windows is better than in Linux, especially when I'm using a desktop and not a laptop. No comparison. You say your window manager system is great. I work perfectly on a multimonitor system using Windows shortcuts as well. Get your Linux-is-superior-always mentality out of your head. It's not a law. It's up to the user's preferences. I know of all that crap and I still prefer using Windows once I have everything set up. People watching me program in Windows usually wtf when screens fly in and out. It's not unique to Linux dude.
What's with the attitude? Rofl I don't care if you "work perfectly" on your multimonitor with "windows shortcuts" lol... its nothing like using a decent tiling window manager like XMonad, nothing like it at all. Trying to trick out Windows is like polishing a turd, its still going to be a piece of shit. If you actually "knew all of that crap" you simply wouldn't be using Windows, because using Windows for programming is like trying to code while stabbing yourself in the face repeatedly. Linux can do everything Windows can do, Windows can't do everything Linux can do. So by logic if you actually gave a shit, you could set up Linux to be exactly like Windows, only the Linux version would take a fraction of the time to setup, and you would have a terminal that actually worked. But only a retard would do that because everything Windows does is really stupid and inefficient. Linux is just straight up better. Deal with it.
Shit I'm a linux fanboy and I wanted to add my pinch of salt to this conversation, but now I feel dirty
|
Another important thing to note: once you discover how to set up urxvt to have tabs life is never the same again
|
Ignore the platform war nonsense. You use what you can, and what works best for the task at hand. If you need to learn something new to get by, you do that (... and get used to it. The more adaptable you are the better).
If you're working for someone else, the choice won't be yours to make anyway. You can't tell your boss you're switching to Linux when you're making a game targeted at Windows. Or if you have a web service that runs on Linux, you won't be moving to Windows on a whim.
That goes for other things too, e.g. coding styles. You may prefer to put all your opening curly braces on the same line, but if the rest of the project has them on the next line, then that's what you do. That's not to say you can't have your own preferences, but don't get too hung up on them, and let them turn into prejudice.
|
I thought the Windows vs Linux war was finished with Windows Vista/7, but you guys never fail to amaze me. I think Windows and Linux have different tasks and aims. Now, Windows vs Mac is a different story in my opinion. Both compete for the desktop choice. At least, I, as a Windows user, feel more 'threatened' by Mac's popularity.
|
On May 11 2014 05:16 Invictus wrote: wow thanks for all the advice! so i think i shall start on python instead then.
I guess that after a bit of typical "Which OS is superior" banter it'd be nice to get back on track. It's good that you've chosen Python, what you should do now is head over here: http://learnpythonthehardway.org/book/ and do what it says. This should give you a nice basis for future (don't bother with the videos and other stuff offered on the site, after you're done with the course you might want to buy them just to support the creator but you won't need them for learning).
|
So, I have an interview soon, and I have to carry presentation (10 min), then 35 minutes questions/answers. The idea is to show code and talent. I am thinking of showing my university project because it has over 3k lines of code, hence it displays evidence of some work. I think I'll just pay attention to design patters, data structures in the project and the reason behind the choice, possibly some algorithms. Maybe a bit reasoning on GUI's interface. Any other suggestions?
Edit: We should organise some StarCraft2 tournament to determine the best TeamLiquid programmer in StarCraft. :D
|
On May 11 2014 16:35 sluggaslamoo wrote:Show nested quote +On May 11 2014 13:58 Blisse wrote: Or you look at it the other way and you realize that to even figure out what you're installing you have to find a download page in the first place, so either you copy in a command into a terminal and hope the dependencies all work or you download the self-contained installation package and then run it. There is no magical one side is better. You say your productivity in Linux is better than in Windows. My productivity in Windows is better than in Linux, especially when I'm using a desktop and not a laptop. No comparison. You say your window manager system is great. I work perfectly on a multimonitor system using Windows shortcuts as well. Get your Linux-is-superior-always mentality out of your head. It's not a law. It's up to the user's preferences. I know of all that crap and I still prefer using Windows once I have everything set up. People watching me program in Windows usually wtf when screens fly in and out. It's not unique to Linux dude.
What's with the attitude? Rofl I don't care if you "work perfectly" on your multimonitor with "windows shortcuts" lol... its nothing like using a decent tiling window manager like XMonad, nothing like it at all. Trying to trick out Windows is like polishing a turd, its still going to be a piece of shit. If you actually "knew all of that crap" you simply wouldn't be using Windows, because using Windows for programming is like trying to code while stabbing yourself in the face repeatedly. Linux can do everything Windows can do, Windows can't do everything Linux can do. So by logic if you actually gave a shit, you could set up Linux to be exactly like Windows, only the Linux version would take a fraction of the time to setup, and you would have a terminal that actually worked. But only a retard would do that because everything Windows does is really stupid and inefficient. Linux is just straight up better. Deal with it.
I disagree with your statement about Linux being straight up better for a decent number of use cases but I will stop the discussion here because the point has been made on the Internet many times already.
|
On May 12 2014 02:04 darkness wrote: So, I have an interview soon, and I have to carry presentation (10 min), then 35 minutes questions/answers. The idea is to show code and talent. I am thinking of showing my university project because it has over 3k lines of code, hence it displays evidence of some work. I think I'll just pay attention to design patters, data structures in the project and the reason behind the choice, possibly some algorithms. Maybe a bit reasoning on GUI's interface. Any other suggestions?
Edit: We should organise some StarCraft2 tournament to determine the best TeamLiquid programmer in StarCraft. :D
Dunno about your programming experience/language etc. but the most typical questions I got during numerous interviews apart from language-specific stuff, design patterns and uml: 1. Are you familiar with any frameworks for the language (which, and how familiar are you)? 2. Version control systems (git, subversion). 3. Random tricky question.
Also, not sure if you apply for anything that has to do with databases, if so expect some questions in this field as well (database and query optimization etc.).
|
10 minutes is a damn short time to present anything, that's going to disappear more quickly than you would imagine. You're going to have to keep it pretty short. I would discuss:
- Describe problem you're trying to solve
- Rough outline of your design
- Other solutions considered, and why they were thrown out
- Maybe a very short amount of time describing some interesting detail you'd like to show off
- Wrap up with things that went well, and things that did not go well which you would do differently next time
But I really don't know man. I have no idea what they're looking for, I've never had to give a presentation for an interview, so I'm really just basing that off of presentations I have to give while employed. So it could well be that my presentation experience is completely different from what you need as an interviewee. I tried to make it more interview appropriate, but I probably failed :p.
|
Wow holy crap thanks for the huge amounts of advice, i'll slowly work my way through everything each of you said!
I guess I have a long way to go before I can start to comprehend at least abit of what you guys are saying. Thanks for the help again!
|
|
|
|
|
|