Top products from r/uwaterloo

We found 40 product mentions on r/uwaterloo. We ranked the 137 resulting products by number of redditors who mentioned them. Here are the top 20.

Next page

Top comments that mention products on r/uwaterloo:

u/bigfatrichard · 6 pointsr/uwaterloo

I think your idea of seeking assistance is an excellent one. Most people don't realize the impact of mental health in tackling intellectually challenging tasks. An athlete knows that to perform well, they must take care of their physical health by working out, controlling diet, etc... Similarly, one with intellectual pursuits need to take care of their mental health, but often they are unfamiliar on how to do so. Sleeping well, eating properly, etc. are very important, and instead of a coach, as in the case of an athlete, counselling services, psychologists, psychiatrists, etc. can help in training for mental health.

Be honest when working with Counselling Services or psychotherapists. If CS hasn't been working well for you, explain to them why you think that is. They will provide you with a list of psychologists / therapists in the area. The University Health Insurance Policy (UHIP) covers 80% of the costs of a psychologist. CS will explain this to you in greater detail.

Other than that, I can recommend a few things to get in better (mental) shape.

  • Hit the Gym. Working out is the best all-around fix for every problem in life. Visit /r/fitness and read the starter's list. Before you know it, you'll be sleeping well, feeling energetic and more motivated than you've every been in your life.

  • Read books about things that you like. For example, if you're looking forward to a career in finance, read The Big Short. Also read some books that might help you get motivated. I recommend Talent is Overrated.

  • Continue working with CS or a psychotherapist and get (mentally) fit. Even the faculty and staff at the University also take advantage of these services, because they know its importance.

    And remember, this is exactly why you're here in University! This is part of your education, and as you tackle these challenges, you will grow as a person. Good luck!
u/GreenBurette · 1 pointr/uwaterloo

Yeah sure.

So right off the bat a good place to start (summary text if you want something simple with break down of the old arguments but written in Modern English and offering analysis) I would suggest Michael Sandel's Justice: A Reader, what's the right thing to do you can also watch the videos/discussions Dr Sandel has at Harvard's Justice Symposium Course (it's actually a great lecture series to just put on while you're doing something...

If you want a concise list of good books, I would suggest the following:

  • The Republic (Plato)‡;

  • The Prince (Machiavelli)‡;

  • Anarchy, State, and Utopia (Nozick);

  • Utopia (Thomas Moore)‡;

  • The Social Contract (Jean-Jacques Rousseau)‡;

  • Leviathan (Thomas Hobbes)‡;

  • Politics (Aristotle)‡;

  • Two Treatises on Government (John Locke)‡;

  • Treatise on Property (John Locke)‡;

  • On Liberty (John Stuart Mill)‡;

  • The Communist Manifesto (Karl Marx and Fredrick Engels)‡;

  • Reflexions sur la Revolution Francaise (Edmund Burke);

  • Capital (Karl Marx)‡;

  • Spirit of Laws (Montesquieu)‡;

  • Natural Right and History (Leo Strauss);

  • Modern Liberty: and the Limits of Government (Charles Fried);

  • Concept Political (Carl Schmitt);

  • The Constitution of Liberty (F. A. Hayek);

  • The Wealth of Nations (Adam Smith)‡;

  • The Road to Serfdom (F. A. Hayek);

  • Freakonomics ();

  • The Law (Frédéric Bastiat)‡;

  • Economy and Society (Max Weber);

  • The Protestant Ethic and Spirit of Capitalism (Max Weber);

  • Politics as a Vocation/Politik als Beruf (Max Weber)‡;

    The stuff with a double dagger (‡) are some critical ones I would recommend beginning with. The list is a lot longer than this because if there's one thing people can do it's write about issues of their times, but they are good nonetheless.

    Good luck!!
u/Cohesionless · 16 pointsr/uwaterloo

If you want to develop better software, then the following is what I recommend. I am going to use Java as my programming language of choice. I believe it's important to learn how to program well with one language first, learn key principles, and transfer the knowledge to other tools when the need arises. Google has a guide to technical development:


1. Learn your language of choice (i.e. Java) to a beginner level.

a. Learn the basic syntax through a beginner friendly resource:

b. Understand what is generally available to you in the standard libraries:

* At this point, you would be able to program very basic software.


2. Learn about the third-party ecosystem for your language.

a. What IDEs are available for you to develop productively?,

b. What build tools are available for you to manage your projects effectively?,

c. What testing frameworks exist for you to test your code effectively?,

d. What are common libraries and frameworks that developers use to solve certain problems? (Most languages have a community-curated list of frameworks and libraries available to solve certain problems.)

* At this point, you will be introduced to the vast ecosystem of your chosen language. Hopefully, you can start experimenting with how to be productive as a developer through the use of general frameworks, libraries, and tools to solve basic non-trivial problems.


3. Learn software design patterns. Various solutions can be designed by using various common patterns ranging from various programming paradigms. Find a resource that covers the same topics as

* At this point, you will start understanding how to design basic, reusable software components.


4. Read Clean Code (

* At this point, you will learn how to name things, how to write good functions, how to write good comments, how to format your code well, and how to attempt designing certain systems.


5. Learn how to verify that you are writing good code.

a. You can follow a style guide:

b. You can use a code coverage framework to verify how well tested your code is:

c. You can use a static code analyzer and linter to adhere to a style guide:

d. You can use a continuous integration setup to continually test your code:,

* At this point, you can tell yourself that you are writing well engineered code. It may not have the best performance, but the source code is adequately designed and maintained.


6. Learn a version control system because you want to be able to manage your projects:
* At this point, you are easily able to allow other people to review your code changes to verify you wrote good code.


7. Learn core computer science concepts. This includes algorithms and data structures:,

* At this point, you can start solving computationally complex problems with a toolbox of strong theoretical concepts. Do not be discouraged whether you would frequently apply these theoretical concepts because they help you learn techniques to comprehend and solve problems.


8. Find an area of problems that you want to specialize in, and pursue the knowledge and skills required to excel. It is important to remember that everyone sucks in the beginning, so just keep looking forward.

*. I specialize in distributed systems and databases. As a result, I read books and papers relating to concurrency, databases, consensus algorithms, and the like. By pursuing an area you are interested in, you learn various concepts and tools pertaining to that area. Recently, I was experimenting with various probabilistic filters for real-time streaming scenarios by adapting several research papers. I had to evaluate my implementations by writing various comprehensive tests and using micro-benchmarking tools.


I hope this helped? I want to stress that it is important to learn more of the engineering concepts and theory than the actual tools themselves. Tools come and go, so the tools I listed for my Java example may be bad. In context of myself, I followed these eight steps when I first started learning programming several years ago, and it has landed me very good opportunities: I worked in California for a big company, I got to edit a book that was published about a hipster programming language, I got free admission for some coding conferences, and I got to give a presentation at a meetup.

u/DoorknobSpeaking · 2 pointsr/uwaterloo

Thanks for the answer!

Glad to hear about Spivak! I've heard good things about that textbook and am looking forward to going through it soon :). Are the course notes for advanced algebra available online? If so, could you link them?

Is SICP used only in the advanced CS course or the general stream one, too? (last year I actually worked my way through the first two chapters before getting distracted by something else - loved it though!) Also, am I correct in thinking that the two first year CS courses cover functional programming/abstraction/recursion in the first term and then data structures/algorithms in the second?

That's awesome to know about 3rd year math courses! I was under the impression that prerequisites were enforced very strongly at Waterloo, guess I was wrong :).

As for graduate studies in pure math, that's the plan, but I in no way have my heart set on anything. I've had a little exposure to graph theory and I loved it, I'm sure that with even more exposure I'd find it even more interesting. Right now I think the reason I'm leaning towards pure math is 'cause the book I'm going through deals with mathematical logic / set theory and I think it's really fascinating, but I realize that I've got 4/5 years before I will even start grad school so I'm not worrying about it too much!

Anyways, thanks a lot for your answer! I feel like I'm leaning a lot towards Waterloo now :)

u/InuKaT · 7 pointsr/uwaterloo

Black Friday is coming up, so I highly recommend waiting until then to see if there are any deals if you can put up with your current laptop for another 2 weeks.

Otherwise some of my current recommendations include these

Asus Zenbook 2in1. Generally 2 in 1s are pretty bleh but at $920 I think it checks off what you need.

Lenovo currently has this 14 Inch ThinkBook for $941.

If you have Amazon Prime and don't mind buying an open box product, I also recommend checking out Amazon Warehouse. There are some nice laptops selling at a discounted price. If you don't like it, it's always easy to return (bought a new laptop for school during the spring term through the warehouse). Just make sure to check the condition ("Very Good" is usually basically brand new but YMMV)

Zenbook 13

Zenbook 15.6

Zenbook Ultra

u/RealisticKinStudent · 2 pointsr/uwaterloo

I know this isn't a comment you want to read, but tbh dude, just buy this book if you haven't already read it.

I think you have a problem with being self-loathing because you're constantly comparing yourself to other girls. There's a good part in the book the really encapsulates your situation, and I think you'd benefit overall from reading it. It's $12 and it's a short read. Give it a shot.

For my own personal advice, when it comes to diet and exercise, your goal should be to develop habits, not to seek a specific weight. Focus on developing healthy habits (which it seems you are doing good). I find doing that makes me much happier rather than trying to obtain a goal hoping i'll be happier once I reach it.

u/abr71310 · 1 pointr/uwaterloo

I've been mostly finding that website coding is insanely helpful.

HackerRank, CodeForces, TopCoder are all great resources for "competition" problems (which translate really well into interview problems and problem-solving in general).

I read this book, it actually proved to be a lot more helpful for my Riot Games interview, since it had to do a lot with "in-depth" thinking, which this book is great at helping break down (I always found "Cracking the Coding Interview" to be way too high level, especially if you're in a pinch):

(NOTE: If you're a primarily Java developer, there's an equivalent book for the above, just search "Data Structures and Algorithms in Java", from the same author)

I learned a lot more from that book than I did McDowell's, since I found that this author actually cared about doing "deep dives" into each of the topics presented. I own an earlier edition - not to say this one isn't great, I'm actually pretty sure the "algorithmic puzzles" he presents are a lot more relevant to current programming interviews.

There's also the age-old CLRS, which I found to be useful for any kind of theoretical computer science topic (Runtime analysis, big-O, etc):

Let me know what you think! -- I've been using both of these to get my next job (hopefully full-time)! ^_^

u/Uwaterloo123-_- · 3 pointsr/uwaterloo

hmm... As for me, i saw a lot of tech companies requiring the knowledge of c++, java and front-end development.
You could also learn either iOS development or Android development.
You definitely need to learn git.

Try "TeamTreeHouse" for 2-3 months, they have a lot of stuff there. Try some of the courses and then create some projects and put them on github to later on add to your resume.

And also, during interview when they give you some technical questions, you need to be ready for them.

Here is the good book for it.

GOod luck :)
Try to find a job and if you dont, try to learn as much as you can during this summer :)

u/djao · 2 pointsr/uwaterloo

Judging from your flair I assume you're SE; if not, then adjust my advice accordingly.

Of course I think that taking the courses is the best way to learn. That's why we offer the courses! But if you can't take the courses, here are a few points to keep in mind.

The kind of mastery that I'm talking about is beyond what you would need for practically anything in SE or even in undergraduate math. You only need this kind of hyper-fluency in rigour if you're planning to do a PhD in pure math or a closely related field such as theoretical CS. For everything else, MATH 135 (if learned properly) is totally sufficient. In fact, MATH 135 also teaches rigour and proofs, although the syllabus has been under frequent revision in the past couple of years as we (hopefully) converge upon an optimal solution, which means if you've taken it in the past couple of years or so, you might have been subjected to a less-than-perfect pre-beta version of the intended final product.

If you just want to brush up on your MATH 135 skills, I would recommend reading through How to Prove It, and actually doing all the exercises (no slacking). It's not as good as a Waterloo course, but it's the next best thing, and it gets you there with minimal effort (although still considerable effort -- remember, I said to do the exercises).

For MATH 145 style expert-level achievement, frankly, I don't know how to get there without a course or else some equivalent intensive experience such as a full-time undergraduate research term. If you go back and look at my course evaluations on MathSoc, students spent an average of around 15 hours per week on my MATH 145 course, and even then:

  • these are the brightest students in Waterloo Math, and
  • only about half of them, give or take, actually got to expert level (although all of them did reach the level of mere competence),

    and I just see no way for anyone with an SE workload to find an extra 15 hours per week for this stuff.
u/grapeape25 · 11 pointsr/uwaterloo

If you're just looking to learn instead of fulfilling a degree requirement then it is a probably more useful to pickup a book and do it yourself.

Some useful subs:

u/TheAlbinoRino · 7 pointsr/uwaterloo

Asus zenbook is your best choice, it has amazing battery and really good performance, SSD, 8gb ram, i5 7th gen. It's on sale right now, definitley worth a look.

u/shhyfz · 6 pointsr/uwaterloo

Read this
It will help you pass the interview process.

But before that you need to have a strong resume to attract recruiters.
Build a personal project. Participate in algorithm contests(acm).

u/notarowboat · 1 pointr/uwaterloo

Don't pay too much attention to the other replies - if you really want to take Math 145/146 it's possible, it will just be a lot of work.

My marks were good in high school (but not 95+) and my score on the Euclid was terrible (in order to enrol without an override you need 80+ on the Euclid). The thing to know is these courses have heavy emphasis on proofs, so the summer before coming I worked my way through the first half of a book on proofs and ended up doing relatively well in these courses.

You can certainly do it, but you have to be really dedicated.

u/UWhiteBelt · 2 pointsr/uwaterloo

&gt; how does one improve social skills?

Reading some books on how to deal with social anxiety may help. This one has pretty good recommendations. Mark Manson also has an easy to read book.

For myself, I enjoy stoic literature. It's good to know that even during times of hell, you can still find some inner peace in your mind. The point of stoicism isn't to imagine that bad things don't happen, but that you are much more capable of dealing with terrible situations than you would otherwise think.

u/mudkipzftw · 6 pointsr/uwaterloo

I've had about 5 interviews with companies in the Bay Area, and in my experience all of them follow the same general sequence:

  1. Resume screening. If they like you they'll ask for a phone or skype call
  2. Three technical phone screens. Usually last an hour each, and usually 100% technical (very rarely they ask about your resume). Each interview is done by a different software engineer. After the third screening they talk to each other and discuss or vote on whether you're any good. This is the hardest part and most people don't make it past this stage.
  3. Discussion with a high ranking engineer (e.g CTO). This is more of a get-to-know-you type thing and they usually go more into your resume here.
  4. (Sometimes) Discussion with a non-engineer manager
  5. If you make it here, buy a bigger wallet

    For the specific type of questions they ask, I recommend this book and /r/cscareerquestions

    edit: and the technical screenings are always live coding sessions using a shared document. That shit is nerve racking and I recommending practising before the interview.
u/ElectricMoose · 1 pointr/uwaterloo

Go find and read/memorize "Cracking the Coding Interview". It's the one book I've had consistently recommended to me by Software Engineers, hiring managers, and other co-op students :)

u/Ojamallama · 4 pointsr/uwaterloo

I've had a 70 minute interview once, it was one long technical question with personal questions in between parts. Apparently this is the key to success for software interviews;amp;*Version*=1&amp;amp;*entries*=0

u/Victawr · 0 pointsr/uwaterloo

Everywhere, but I suggest these.

Because of the stupid stigma people have against the word 'pills', its rebranded a lot of the time in stores and wont be called caffeine. It will be like Vivaren or something like that.

I recommend 200mg pills. Its basically a large coffee.

Don't take more than 1600mg/day or you'll probably die.

And don't take caffeine if you're planning on pulling allnighters lmao. Go find some student selling Modafinil or something, caffeine is probably the LEAST effective thing for that.

Go walk into the asian supermarket and buy some Matcha powder and boil that up.


However, to those curious, if you're like me and make a distraction out of getting coffee, I highly suggest getting caffeine pills.

u/thecavebreathes · 4 pointsr/uwaterloo

I used one of these all of last term - incredibly sharp and very nicely balanced/shaped (my dad's a chef and very picky). It's also in your price range.;amp;qid=1519496372&amp;amp;sr=8-1&amp;amp;keywords=victorinox+chef+knife

u/pokoleo · 7 pointsr/uwaterloo

Going through jobmine, there are exactly two parts to getting a job:

  • Get the interview
  • Get the offer

    You get the interview by having a good resume, and knowing how to talk to recruiters.

    You get the offer if you appear technical. Socially fitting together with your interviewer is invaluable. You want to feel like a coworker.
u/heartuary · 1 pointr/uwaterloo

Here is a book that will help you with those tech questions during interviews:

u/Heyorant · 1 pointr/uwaterloo

&gt;Again, name a non-asian stable country.

&gt;not knowing when our stability started, not knowing Western history, forgetting what nuance is yet again

&gt;White people built the cities and their wealth

Fuck off. Don't reply to me anymore. I'm done with this White Pride^TM historically revisionist bullshit. Non-white people aren't people to you, and any of their contributions, innovation, or leadership in the Western world since its inception are invalid, so frankly, you aren't a person to me either. Your brand of culture that you express is trash.

It's cultish vomit, you should kys, and you should export yourself elsewhere where you aren't enjoying the fruits of past immigrants' labour out of ethical commitment.

Not completely on this topic (I don't have the time to find literature on hand for our conversation), but because of your illiteracy (combined with brash, dehumanizing extremity) I've noticed in some areas, here are a few accessible books I'd recommend reading in general;amp;printsec=frontcover&amp;amp;redir_esc=y#v=onepage&amp;amp;q&amp;amp;f=false

and, just to really get on your nerves, here's some interesting triggering history of philosophy

Islamic scholars also scoured the earth to obtain copies of books and texts so that they may build on that knowledge and share it with future generations. But progression in society is not always a certainty.

u/Disparallel · 2 pointsr/uwaterloo

At a $50 price point, you'll probably be happy with the Victorinox or Henckels knives. The Henckels one cuts through anything I've thrown at it.

u/kw2002 · 2 pointsr/uwaterloo

Eliminating stress and resultant anxiety and resultant mood problems as much as possible from life. In my case that meant learning not to give a fuck and more importantly just bing myself. Perhaps counterintuitively my grades actually improved as a result so caring less == performing better

u/NewChameleon · 38 pointsr/uwaterloo

ok let's calm down, one at a time

&gt;I've been just walking around by myself, eating by myself, going to class by myself, sitting in class by myself

totally normal, in uni it's actually a hassle to get other people to eat/walk with you because everyone have different schedule

&gt;my living conditions are near hellish. I have a double room in REV and my roommate is someone who loves parties.I wake up approximately 10 times a night

This is pretty serious, you can't study if you don't sleep, try earplugs? I've used those ones and they do wonders

Now you know mayyyybe res is not a good choice, which is why most upper years live off-campus
&gt;I am in all three advanced math/cs courses which I'll drop down from on Monday

If you feel you can't handle it, then drop down to the 135 version, there is NO shame in dropping down, in fact props to you for going 145 in the first place

&gt;Lastly the food. I've tried Shawerma Plus, Paninos, Subway (in SLC), V1 cafe so far and it all tastes sort of bad. I also feel guilty because it's so expensive but anything less than a combo meal and I don't feel full.

newsflash: almost all on-campus food are literally garbage, if you want better food go to plaza or do grocery shoping and cook it yourself

some old posts about what to get in plaza: 1 2 3

u/Deputy_Dan · 2 pointsr/uwaterloo

