Best databases & big data books according to redditors

We found 1,990 Reddit comments discussing the best databases & big data books. We ranked the 541 resulting products by number of redditors who mentioned them. Here are the top 20.

Next page


Data mining books
Data warehousing books
Relational databases books
SQL books
Oracle databases books
Databases books
Data modeling & design books
Microsoft access database guides
MySQL guides
Data processing books

Top Reddit comments about Databases & Big Data:

u/samort7 · 257 pointsr/learnprogramming

Here's my list of the classics:

General Computing

u/healydorf · 227 pointsr/cscareerquestions

> When is it okay to get complacent in your job and when is it not?

That's 100% up to you. Different strokes for different folks and all that.

> How important is it to constantly be working on or learning new stuff?

Extremely important. So much so that I give almost no pushback if my people wanna spend a few days per month at a conference/training. Company will even pay for most of it. Find a company that has a line-item in the budget for professional development -- dollars that are specifically intended to be spent by the end of the year on training, conferences, etc.

And that's not exclusive to software/data/compsci. Any skilled labor is changing constantly. Professional development is important.

> For the data engineers out there what skills should I perfect that will make me employable / desirable anywhere?

Become familiar with a variety of query languages and syntax. SQL, Elastic, AQL, N1QL, a time series DB -- the specific one doesn't really matter, just know more than "basic SQL joins" that you'll see in an undergrad database course.

Recommended reading: Designing Data Intensive Applications.

u/gfody · 84 pointsr/programming

First don't think of this as "DBA" stuff - you're a developer, you need to know database technology, period. Read this rant by Dennis Forbes in response to Digg's CTO's complaints about databases it's very reminiscent of TFA.

Read Data and Reality by the late William Kent (here's a free copy) and get a fundamental understanding of "information" vs. "data". Then read Information Modeling and Relational Databases to pickup a couple practical approaches to modeling (ER & OR). Now read The Datawarehouse Toolkit to learn dimensional modeling and when to use it. Practice designing effective models, build some production databases from scratch, inherit some, revisit your old designs, learn from your mistakes, write lots and lots and lots of SQL (if you want to get tricky with SQL I suggest to pickup Celko's SQL for smarties - it's like the Hacker's Delight for SQL).

Many strange models you may encounter in the wild are actually optimizations. Some are premature, some outright stupid, and some brilliant, if you want to be able to tell one from the other then you're going to dive deep into internals. Do this generically with Modern Information Retrieval and Managing Gigabytes then for specific RDBMSs Pro SQL Server Internals, PostgreSQL Internals, Oracle CORE, etc.

Reflect on how awesome practically every modern RDBMS is as a great technological achievement for mankind and how wonderful it is to be standing on the shoulders of giants. Roll your eyes a little bit whenever you overhear another twenty-something millenial fresh CS graduate who skipped every RDBMS elective bleat about NoSQL, Mongo, whatever. Try not to fly into murderous rage when another loud-mouthed know-nothing writes at length about how bad RDBMS technology is when they couldn't be bothered to learn the most basic requisite skills and knowledge to use one competently.

u/TJSomething · 70 pointsr/CrappyDesign

I'd recommend figuring out who's responsible and them giving them a copy of Don't Make Me Think. It's a relatively short book, so they might actually read it, then they might actually get some good ideas.

u/Aldairion · 66 pointsr/AskMen

That came from data pulled off OkCupid and you can read more about this and other findings in Dataclysm, which was written by OkCupid founder Christian Rudder. It's actually a very interesting read and it covers trends in behavior beyond just that which applies to dating or attractiveness.

It's worth noting that the same data showed that a vast majority of men find women most attractive between the ages of 18 - 23 or so whereas women were pretty consistently attracted to men with a few years of their own age. There are also a lot of variables that affect what metric they're using to gauge "attractiveness" so I would take that figure with a grain of salt.

A large percentage of men don't even put much effort into their baseline appearance, either because they don't want to, don't have to, or don't think to. If we're talking about looks and looks alone, then I'm not entirely surprised. Maybe it's not 80%, but if you're comparing one group of people who have been conditioned to put a little extra effort into their appearance, to another that hasn't, or has even been discouraged from doing so, then I could see why perceptions of attractiveness would skew in one direction more than the other.

Basically, don't take a line from an OkCupid blog to heart.

u/Surprise_Buttsecks · 65 pointsr/todayilearned

If you take a look at the book OKCupid's founder wrote (Dataclysm) he makes the point that men's ratings for women are normally distributed, but women's ratings for men are a power law distribution.

u/berkes · 47 pointsr/webdev

Exactly this.

For quite some projects, I had to find a freelance frontender or webdesigner.
Here's how that goes:

  • I post an ad, classified or get names via referrers.
  • I wade through that to make a shortlist of 20+ candidates.
  • One by one I visit their sites, looking for a Resume or a Portfolio.
  • One by one, I have to wade through weird navigation, presentations, fucking horizontal scrolling, skipintros. I even had to open the source to find what fucking image represents a link to the portfolio. I've had to wait for some fancy JS caroussel to take me through the portfolio. I've had to watch videos, in order to see the resume.

    I'ts a great way to separate the rubbish developers from the good ones. If you manage to present your information on one page, with a few clicks to learn more about a certain project, in clean, simple HTML, preferable recenly updated to work on mobile (responsive): you're through. But if you cooked up your navigation while on LSD using Suprise.js or WhittyScroll.js you're out.

    Browsing 20+ sites from designers truly is a hell. So, nowadays, I simply ask them to email me the resumes.

    Because I too realise that a good webdeveloper or designer is hired most of the time. And as such, won't have time to redesign his or her site after every new change of technology. I can understand if your site looks like it was from 2008, if you've been hired and busy since 2008, it's actually a good sign.

    But really. Don't make me think. Ever.
u/dons · 38 pointsr/programming

The darcs people (and the pure FP world) have been talking about the similarities between persistant structures, transactional memory and rollback, and revision control for years, FWIW. Good to see these ideas becoming more widespread.

E.g. here's a similar, older triple:

  • tcache, database+persistance based on STM
  • darcs, flexible dvcs based on (true) immutable patches (no rebase)
  • haskell, typed, pure-by-default functional language with the first built-in STM

    and I'll throw in NixOS, a Linux package manager based on immutable packages.

    This is what the FP revolution looks like, I guess.
u/UniverseCity · 32 pointsr/golang

Designing Data-Intensive Applications seems to be the industry standard, although it's not Go specific.

u/joemi · 31 pointsr/ruby

I might not be the best person to answer this for you, since I learned Ruby after I already knew programming in general (JS, Python, C, Java) so learning Ruby for me was more about figuring out the Ruby way of doing things than learning how to program. But these are some resources I see recommended a lot that appeal to me:

  • Why's (Poignant) Guide To Ruby (free online book -- a whimsical illustrated intro to Ruby basics -- you might already know some/most of this, but it might still be a fun read)
  • Learn Ruby The Hard Way (free online book, I think? -- a less whimsical intro that goes a bit deeper than Why's guide)
  • Practical Object-Oriented Design in Ruby by Sandi Metz (non-free book, also available as an ebook maybe? -- for when you want to get deeper into Ruby beyond basics and start thinking about programming patterns and program design)
  • Ruby's Core API documentation (you can learn a lot about Ruby just from the documentation of its own modules and classes and methods)

    I've been meaning to read Sandi Metz's book since I've watch some talks she's given and they've been very informative. And searching/browsing/reading the Ruby documentation is something I end up doing almost every day, whenever I'm programming. It's a good reference if you can't quite remember the name of a method, and it's also great to click the "click to toggle source" link so you can see how Ruby's own methods are defined. Some of the most basic and important methods are going to be in C, but a lot of the methods (especially in the std-lib) are themselves written in Ruby, and the C is often simple enough to understand what it's doing if you understand Ruby but don't have any experience with C.
u/Leave-A-Note · 29 pointsr/web_design

It's not a long book, but it is all about usability. It's called "Don't Make Me Think". It's informative and concise.

That Amazon Link:

u/postmodern · 27 pointsr/ruby


  • Link to /r/rails and /r/ruby_proposals. Encourage all Rails-centric posts/questions to go in /r/rails.
  • Remove some of the Rails-centric books from the sidebar, add more Ruby-centric books (such as The Well Grounded Rubyist and Eloquent Ruby).
  • Link to TryRuby.
  • Link to the GitHub (Free) Sign-Up page.
  • Link to the RubyGems Sign-Up page.
  • Link to RVM.


    Remove link/blog-spam. It's kind of pointless to read a summary on RubyInside, when I can read the original full-article written by the primary-author/project-lead on their own blog. Summaries of complex issues which span multiple blog-posts are OK though, I enjoy reading those.

    Also, please no more articles about simple things like recursion or Arrays (that's what TryRuby and RubyKoans are for).

    What's this about a Contest? Sounds fun.
u/Vitate · 26 pointsr/cscareerquestions

Much of this stuff is learnable outside of work, too, at least at a superficially-passable level. Trust me.

Pick up a few seminal books and read them with vigor. That's all you need to do.

Here are some books I can personally recommend from my library:

Software Design

u/pippx · 24 pointsr/tumblr

The attraction graphs look very similar to ones that I saw in a book I read recently -- Dataclysm: Love, Sex, Race, and Identity--What Our Online Lives Tell Us about Our Offline Selves. It's written by the co-founder of OkCupid, so loads of the data came directly from there. That's what the OP graphs look like to me. You can use the "look inside" feature and search for "attraction"; page 47 has one of the graphs I'm referring to.

u/VanFailin · 23 pointsr/programming

I can totally believe that that code made it to production, especially while a site is still growing, but if they needed an expert to tell them not to use LIKE queries...

The book on SQL Antipatterns has my favorite cover ever, and it's a great presentation.

u/ZoraSage · 22 pointsr/polyamory

A lot are clearly copy and pasted. If it doesn't reference or ask about something in my profile, I don't bother responding.

If you're interested in this sort of thing, you should read Dataclysm.

u/cfors · 22 pointsr/datascience

Designing Data Intensive Applications is your ticket here. It takes you through a lot of the algorithms and architecture present in the distributed technologies out there.

In a data engineering role you will probably just be munging data through a pipeline making it useful for the analysts/scientists to use, so a book recommendation for that depends on the technology you will be using. Here are some of my favorite resources for the various tools I used in my experience as a Data Engineer:

u/FunkyCannaHigh · 22 pointsr/devops


SRE book is free, workbook is not.

Some of this is google cloud specific but the principles are the same with on-prem or a different provider. "State-of-the-art" deployments are usually learned by using best practices since each distributed app's deployment will vary. These books will help with best practices:

u/adremeaux · 21 pointsr/compsci

I know people love to hate on it but that's largely what Stephen Wolfram's A New Kind Of Science is about. It is, basically, a way of showing how many of natures most complex designs can be represented by very simple sets of rules.

u/thecometblast · 20 pointsr/TheRedPill

Some thoughts
One thing that got me thinking was his slide on the how and the why. Basically the chart looks like this:

Advice | Reason |
confidence | risk taking |
charisma | social hierarchy |
competence | provisions |
leadership | overall survival |

Talking to a stranger is risk taking. Having good charisma makes you seem higher up on the totem pole. Who gathered the most animals? A big question in women's hypergamous brain is who have the most provisions.

This got me to thinking about how I would develop social confidence? "The most important mark of confidence a man can do is to start a conversation with somebody... approach, approach, approach." (@~34:00)

So I brainstormed:

Advice | Reason | Action|
confidence | risk taking | Approach
charisma | social hierarchy | Work in Bar/Meet Ups/ ...
competence | provisions | Job/Budgeting/Investing/show dangerous side...
leadership | overall survival | Get in Leadership Positions/Volunteer...

How feasible are the actions? Approaching can be done today by going outside, but I am [insert hamstering] and she is [hamstering]....

Here are the books he recommended @~40:18

  1. A Billion Wicked Thoughts: What the Internet Tells Us About Sexual Relationships

    Shows what men and women want.

  2. Dataclysm

  3. Date-onomics: How Dating Became a Lopsided Numbers Game

  4. What's the most popular book for women? 50 shades... (a man taking charge is attractive and dominant)


    Become keen observers of human nature and behavior based on reality. One way is to take walks with your dog, sit at a cafe and eavesdrop on people on dates.

    He also recommended getting social history books and getting a book list together. Not sure if the list above is the list or a quick glimpse.


    Man is dying. I saw him on reddit offering free advice and skype sessions before. I thought there may be a catch and I was insecure. Fast forward today I see him on the stage, I wish I have taken up the offer
    and am thinking about spending a day with him. Usually never have someone like that in my life, wonder about how a day with him would be like. Crowd in the room are tired and silencing his side jokes, but sometimes the
    crowd (or one person) comes alive and responds. I would of been stoic/quiet/beta (on and on) in the audience, but would fantasize about his points. At end no one seem to have questions so he have to probe the audience "anyone want to know about my eye patch?"

    questions around @48:00

  5. your pickup line?

  6. charisma and leadership?

u/notingoodshape · 20 pointsr/dataisbeautiful

If you think OKTrends was cool, you should read Christian Rudder's new book, Dataclysm! It's amazing.

In fact, everyone in this sub would probably be at least somewhat interested in this book.

u/itkovian · 20 pointsr/haskell

I can highly recommend Okasaki's book on data structures:, if you are looking for inspiration or techniques.

u/coffeecoffeecoffeee · 20 pointsr/statistics

You absolutely will need R and/or SAS to do any work beyond basic statistics. You'll have to know how to do data munging and how to reshape your data to get it in the right form. It's 2018. You have to know how to clean your own data. Additionally, you'll be asked to repeat complicated analyses, or questions like "How did you calculate this number in this analysis from six months ago?" A point-and-click interface doesn't give you a record that makes it easy to do these things. In a programming language, you can rerun complex procedures in the press of a button. Programming can be a little scary at first, but once you get the hang of it, you'll wonder how you lived without it.

Fear not though! There are a ton of fantastic resources to learn how to code. If you've never programmed before, my recommendation would be to go through the Codecademy intro Python tutorial. Even if you never want to use Python after this, you'll learn about variables, conditions, loops, data types, functions, and language-specific features. These are ideas that exist in every programming language (well SAS has macros, not functions, but you get my point.)

I also recommend using R for all of your statistics homework, even if the professor doesn't require it. That's how I learned R. It'll put you in a position where you have to learn how the language works and where the functions you want to use are. Once you have the basics of R down, check out R for Data Science. It's a very modern book on R that encourages you to use user-friendly packages to do data analysis. As for SAS, it's a terrible language that's losing market share to R and is popular because it's popular. It can help to know the basics, but it's a language I leave off my resume and LinkedIn because I never want to touch it again.

I'd also recommend learning SQL at some point. Most datasets will be in databases you'll have to query for the data you want. My favorite book for this is SQL in 10 Minutes, which is a book of 10-minute lessons, where each one is on a SQL concept. Don't worry about the specific SQL dialect since they're virtually all the same. Once you're comfortable with basic queries and joins you're in good shape.

u/camelrow · 19 pointsr/BusinessIntelligence

The Data Warehouse Toolkit by Kimball was recommended to me as "The Source" for DW. I just started reading it, so no experience yet.

The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling, 3rd Edition

u/estiquaatzi · 19 pointsr/ItalyInformatica

La scelta del linguaggio di programmazione dipende molto dal contesto e dalla applicazione specifica. R é ottimo per l'analisi statistica, ma appunto si adatta solo a quello.

Per iniziare, mantenendo una forte connessione con quello che desideri studiare, ti suggerisco python.

Leggi "Python Data Science Handbook: Essential Tools for Working with Data" e "Learning Python"

u/Sam_Yagan · 18 pointsr/IAmA

First, look at

Second look at

Finally, yes, I think technical backgrounds are probably the most helpful for people in business.

u/edwardkmett · 17 pointsr/programming

Three books that come to mind:

Types And Programming Languages by Benjamin Pierce covers the ins and outs of Damas-Milner-style type inference, and how to build the bulk of a compiler. Moreover, it talks about why certain extensions to type systems yield type systems that are not inferrable, or worse may not terminate. It is very useful in that it helps you shape an understanding to understand what can be done by the compiler.

Purely Functional Data Structures by Chris Okasaki covers how to do things efficiently in a purely functional (lazy or strict) setting and how to reason about asymptotics in that setting. Given the 'functional programming is the way of the future' mindset that pervades the industry, its a good idea to explore and understand how to reason in this way.

Introduction to Algorithms by Cormen et al. covers a ton of imperative algorithms in pretty good detail and serves as a great toolbox for when you aren't sure what tool you need.

That should total out to around $250.

u/joshuaeckroth · 16 pointsr/compsci

To my knowledge, Chris Okasaki made a big impact with this work in this area, and directly influenced Clojure, among other projects.

His book is a great read:

It's based on his PhD thesis:

This StackOverflow question addresses what's changed since the late 90's:

u/45g · 16 pointsr/programming

You are repeating yourself and your position is inconsistent. You acknowledge the usefulness of generic types and functions and yet you claim it is enough to have a fixed set of those. How come there was a need for them in the first place? Why does Go need the generic functionality it already has? What if somebody wants to implement something from Purely Functional Data Structures for example? What if i need a singly linked list? Your point is I should have many of them. One per type. This is plain ridiculous. For one it precludes the possibility of putting this into libraries which is to say it goes directly against re-use. If you fail to see that I feel sorry for you.

u/fernandotakai · 14 pointsr/programming

i've been reading Designing Data-Intensive Applications by Martin Kleppman and i would recommend to all backend developers out there that want to step up their game.

(i also love that it's a language agnostic book)

u/jakevdp · 13 pointsr/Python

You can buy direct from the publisher:

But it's a bit cheaper on Amazon

u/parts_of_speech · 12 pointsr/datascience

Hey, DE here with lots of experience, and I was self taught. I can be pretty specific about the subfield and what is necessary to know and not know. In an inversion of the normal path I did a mid career M.Sc in CS so it was kind of amusing to see what was and was not relevant in traditional CS. Prestigious C.S. programs prepare you for an academic career in C.S. theory but the down and dirty of moving and processing data use only a specific subset. You can also get a lot done without the theory for a while.

If I had to transition now, I'd look into a bootcamp program like Insight Data Engineering. At least look at their syllabus. In terms of CS fundamentals... offers a list of resources you can use over the years to fill in the blanks. They put you in front of employers, force you to finish a demo project.

Data Engineering is more fundamentally operational in nature that most software engineering You care a lot about things happening reliably across multiple systems, and when using many systems the fragility increases a lot. A typical pipeline can cross a hundred actual computers and 3 or 4 different frameworks.doesn't need a lot of it. (Also I'm doing the inverse transition as you... trying to understand multivariate time series right now)

I have trained jr coders to be come data engineers and I focus a lot on Operating System fundamentals: network, memory, processes. Debugging systems is a different skill set than debugging code, it's often much more I/O centric. It's very useful to be quick on the command line too as you are often shelling in to diagnose what's happening on this computer or that. Checking 'top', 'netstat', grepping through logs. Distributed systems are a pain. Data Eng in production is like 1/4 linux sysadmin.

It's good to be a language polyglot. (python, bash commands, SQL, Java)

Those massive java stack traces are less intimidating when you know that Java's design encourages lots of deep class hierarchies, and every library you import introduces a few layers to the stack trace. But usually the meat and potatoes method you need to look at is at the top of a given thread. Scala is only useful because of Spark, and the level of Scala you need to know for Spark is small compared to the full extent of the language. Mostly you are programatically configuring a computation graph.

Kleppman's book is a great way to skip to relevant things in large system design.

It's very worth understanding how relational databases work because all the big distributed systems are basically subsets of relational database functionality, compromised for the sake of the distributed-ness. The fundamental concepts of how the data is partitioned, written to disk, caching, indexing, query optimization and transaction handling all apply. Whether the input is SQL or Spark, you are usually generate the same few fundamental operations (google Relational Algebra) and asking the system to execute it the best way it knows how. We face the same data issues now we did in the 70s but at a larger scale.

Keeping up with the framework or storage product fashion show is a lot easier when you have these fundamentals. I used Ramakrishnan, Database Management Systems. But anything that puts you in the position of asking how database systems work from the inside is extremely relevant even for "big data" distributed systems.

I also saw this recently and by the ToC it covers lots of stuff.

But to keep in mind... the designers of these big data systems all had a thorough grounding in the issues of single node relational databases systems. It's very clarifying to see things through that lens.

u/ManHuman · 12 pointsr/UofT

If you want to a job upon graduation, you need the following items:

  • Work experience. No work experience, no job upon graduation. Sucks, right? But that's a fact. Try to get as many internships as possible.
  • Languages: Python (fucking hot right now; NumPy, Pandas, TensorFlow), SQL (you need to know this as the back of your hand), R, and SAS (maybe, depends from the employer; from what I have heard, SAS is dying out).
  • Now, let's talk about cherry on top. Few things that may really spice up your resume are TA and research opportunities. Additionally, it would be nice to have some independent projects, e.g. Time Series analysis of the Toronto housing market.

    The problem with the Stats degree is that it is heavily theoretical. So, in order to balance it out, you need to get experience. Overall, I liked my experience with Stats, although I wish I spend more time on internships.

    To summarize: work experience, programming, research.

    Also, Machine Learning is hot right now. Pick up some books such as:

  • Hands-On Machine Learning with ScikitLearn and TensorFlow

  • Python for Data Analysis

  • Python Data Science Handbook.

    Lastly, you gotta network like your life depends on it. and eventbrite.come have some pretty good Data Science/ML/Programming networking events where you can make connections and learn about the industry demands. Additionally, leverage the power of LinkedIn; create your profile and start asking people out for coffee in order to learn what they do, how they do it, what tools they use and for you to gain insight into the market demands and what you can expect upon graduation.

    May Central Limit Theorem work with all your distributions.

    Also, another thing that seems to be hot in financial markets is Risk Management. I would suggest you speaking with the Stats profs or Risk Management profs from Rotman in order to understand how you can leverage your Stats degree in Risk Management. Fantastic, here is one of the first things you can do for networking. Fuck, I wish I was back in uni.

    Sorry, just remembered. Hadoop is also pretty important as is Tableau (for data visualization).

    Ah, yes, experience. I don't know whether you spent the last part of 2017 and early part of 2018 on searching for internships. If not, keep searching you still have a slight chance to find some for this summer. Indeed and LinkedIn are pretty good sources. Lastly, try reaching out to recruiters from various organizations in order to learn if they have anything available. Now, if you don't find anything at all, like AT ALL, I would suggest either you take summer school and start looking for internships during either the Fall or Summer semesters OR contact the temp agencies to see what opportunities they have. Some opportunities may not be related to what you studied, but at least they will give you some work experience and your resume will not look as empty as it does now. Also, if I am correct, then U of T should have an alumni database. Try going through that database, find the alumni of interest, reach out to them, and ask them out for coffee to learn more about what they do and if they have anything available. Tick tock, tick tock.

    After some googling, indeed

    How am I doing? I am depressed man, I am fucking depressed. But, TensorFlow is keeping me awake.
u/jozefg · 12 pointsr/programming

I'd suggest

  1. Learn You a Haskell For Great Good
  2. Real World Haskell (Though some parts are a bit dated)
  3. Parallel and Concurrent Programming in Haskell
  4. Purely Functional Datastructures

    Now past this it's not entirely clear where to go, it's much more based on what you're interested in. For web stuff there's Yesod and it's associated literature. It's also around this time where reading some good Haskell blogs is pretty helpful. In no particular order, some of my favorites are

  5. A Neighbourhood of Infinity
  6. Haskell For All
  7. Yesod/Snoyman's blog
  8. Edward Kmett's stuff on FPComplete
  9. Edward Yang's blog
  10. Lindsey Kuper's blog

    And many, many more.

    Also, if you discovery type theory is interesting to you, there's a whole host of books to dig into on that, my personal favorite introduction is currently PFPL.
u/BadassRipley · 12 pointsr/librarians

>With that said, are there any languages that you think would be particularly good for me to know?

SQL, and then Python if you're interested in working with databases. HTML and CSS might also be good if you're interested in working in an academic or public library in the future.

>Which language(s) would be most helpful to learn first?

Whichever really, HTML was easier for me to understand at first since I wanted to see how websites worked before trying to do my own thing.

>Lastly, are there any specific coding resources you would recommend?

Two great websites are General Assembly or codeacademy which have individual lessons and show you the code right alongside the instructions.

W3schools has a bunch of tutorials on the basics.

For SQL, you can't go wrong with Ben Forta's Teach Yourself SQL in 10 Minutes

Feel free to PM me if you have any more questions!

u/queensnake · 11 pointsr/programming

Thanks much, I appreciate that.

edit: Note, all, the one book I've seen on this.

u/uhkhu · 11 pointsr/learnpython

Pandas is a well-known library for data analysis. Very good tutorial.

Good book on Pandas

Good Udemy Course for Python

u/grandzooby · 11 pointsr/learnpython

This book, "Python for Data Analysis" is coming out in October on Amazon, but PDFs might be available directly from O'Reilley if you pre-order. It's by Wes McKinney, who was apparently involved with pandas and has a blog about doing quant analysis with Python:

You might find what you're looking for in some of his stuff.

u/cabbagerat · 10 pointsr/compsci

Start with a good algorithms book like Introduction to algorithms. You'll also want a good discrete math text. Concrete Mathematics is one that I like, but there are several great alternatives. If you are learning new math, pick up The Princeton Companion To Mathematics, which is a great reference to have around if you find yourself with a gap in your knowledge. Not a seminal text in theoretical CS, but certain to expand your mind, is Purely functional data structures.

On the practice side, pick up a copy of The C programming language. Not only is K&R a classic text, and a great read, it really set the tone for the way that programming has been taught and learned ever since. I also highly recommend Elements of Programming.

Also, since you mention Papadimitriou, take a look at Logicomix.

u/olifante · 10 pointsr/Python

"Python for Data Analysis" is pretty good. It's written by Wes McKinney, the creator of Pandas, so its focus is using Pandas for data analysis, but it does include sections on basic and advanced NumPy features:

Alternatively, the prolific Ivan Idris has written four books covering different aspects of NumPy, all published by Packt Publishing. I haven't read any of them, but the Amazon reviews seem OK:

u/dc_woods · 9 pointsr/web_design

As a person with no education beyond high school, take all that I say with a grain of salt. I'm a pretty successful web designer and front-end developer, having working with four startups and done a year of freelancing.

It is not uncommon to hear industry peers criticize the education system as it pertains to web design because often the practices you learn are no longer the standard or relevant. I've heard of many stories where designers exit college (with no working experience, obviously) and have an incredibly difficult time finding work for the reasons I listed above.

Education has never been brought up at any of the companies I've worked or those that I've consulted with. I believe the reason for this is that I have a body of work to show along with whatever reputation I've garnered on Dribbble, say.

All this being said, it is entirely possible for you to develop your skills on your own, such as I did, and find work. I'm happy to list all the reading materials that I own that helped me get where I am now. I'll list what I remember but I'll have to go check when I can get a second:

Hardboiled Web Design
HTML5 for Web Designers
CSS3 for Web Designers
The Elements of Content Strategy
Responsive Web Design
Designing for Emotion
Design is a Job
Mobile First
The Visual Display of Quantitative Information
The Elements of Typographic Style
Thinking with Type
The Icon Handbook
Don't Make Me Think

If you invest your money in those and actually read them, you will be well on your way. Feel free to ping me. Good luck!

u/Big-Red-Shirts · 9 pointsr/MGTOW

It's not a conspiracy guys.

The old blog posts and research projects were mostly from one of the cofounders - Christian Rudder. Who has a BS in Mathematics from Harvard.

OkCupid was sold in 2011. (Though I think Christian Rudder did occasionally still post there.)

He went on to compile and expand on the themes from his OkCupid blog posts, in his book "Dataclysm."

Check it out. It's a fun read.

u/atium_ · 9 pointsr/haskell

Not what you are asking for really, but you'll get better with experience.

Take a few imperative algorithms and convert them over.
Solve some problems on HackerRank. Do it your way, afterwards compare your solution with some of the other Haskell solutions.

Some functional algorithms and data structures are done very differently. Chris Okasaki has a book Purely Functional Data Structures that covers some (though its for ML)

There are papers/articles on topics such as Functional Binomial Queues and Hinze has got a paper on Priority Search Queues that also covers an implementation of Dijkstra and Prims.

The Haskell Wiki has got a page listing functional pearls. Maybe also take a look at how dynamic programming and such paradigms are done functionally.

For most algorithms you can write it in a imperative manner and use mutation and looping constructs, if you have to. But you aren't going to find some guide to convert any algorithm into idiomatic Haskell. Some functional implementations require you to think differently.

u/Bored2001 · 9 pointsr/consulting

SQL is insanely easy. Like, learn enough of it in a week to do real work easy. Everyone used to recommend this book But you can probably find better sources these days on youtube or something.

For python, you can find tons of resources online.

R is like SAS. It's a programming language geared specifically for doing statistics/data analysis.

u/CowboyFromSmell · 9 pointsr/compsci

Designing Data Intensive Applications by Martin Kleppmann is a solid overview of the field and gives you plenty more references for further investigation. It starts on singe-host databases and expands out to all kinds of distributed systems. Starting on single host systems is important because it helps you appreciate the designs of the distributed systems that replaced them.

Edit: markdown is hard

u/sleepingsquirrel · 9 pointsr/ECE
u/regexpressyourself · 9 pointsr/learnprogramming

I liked "Don't Make Me Think" for basic user experience and layout stuff. It's mostly about web design, but it can definitely apply elsewhere.

u/phao · 8 pointsr/cscareerquestions

The best way I know how is by solving problems yourself and looking at good solutions of others.

You could consider going back to "fundamentals".

Most programming courses, IMO, don't have nearly as many exercises I think they should have. Some books are particularly good on their exercises list, for example K&R2, SICP, and TC++PL. Deitel's has long exercises lists, but I don't think they're particularly challenging.

There are some algorithms/DS books which focus on the sort of problem solving which is about finding solutions to problems in context (not always a "realistic" one). Like the "Programming Challenges" book. In a book like that, a problem won't be presented in a simple abstract form, like "write an algorithm to sort numbers". It'll be inside some context, like a word problem. And to solve that "word problem", you'll have to find out which traditional CS problems you could solve/combine to get the solution. Sometimes, you'll just have to roll something on your own. Like a new algorithm for the problem at hand. In general, this helps you work out your reduction skills, for once. It also helps you spotting applications to those classical CS problems, like graph traversal, finding shortest plath, and so forth.

Most algorithms/DS books though will present problems in a pretty abstract context. Like Cormen's.

I think, however, people don't give enough credit to the potential of doing the exercises on the books I've mentioned in the beginning.

Some books I think are worth reading which also have good exercises:

u/Architarious · 8 pointsr/web_design

You'd probably have better luck with this at /r/design_critiques

But, for now, there's a ton of spacing issues and bugs that come up when going between different viewports. (you're primary navigation only shows the first two links at mobile size) Also, your social media icons at the bottom appear to be skewed and could use more padding. If I was you I would go back and redesign for mobile-first. Maybe even look into using bootstrap

As far as basic visuals go, You're going a little heavy on all the jquery and animations. It's hard to focus on any one thing cause there's so many different things poping and bouncing around everywhere. In that respect it almost puts me in the mind of a geocities website(no-offense). Just because you can animate something doesn't mean you should.

Also, you have to click on the icons or arrows in order to read them. And whenever you do, there's no active state on the icons(or any navigational items) to tell me which subject the information is relating to. In web design, un-seen information is always un-read information. Not to mention that I have to scroll past the content to click on the icons (or secondary navigation).

This site doesn't have a ton of content, but for some reason it feels like there's no negative space. I'd say this is mostly due to the fact that your using so much grey. Since there's no real contrast between anything, there's no real negative space. Try making your background color white or super light grey like (#efefef) and see how that looks. This will also help you out accessibility wise, because people with astigmatisms sometimes have problems with contrast may not be able to read your main content at the current moment, no matter what it's size is.

You also want to look at how your currently using your colors and imagery. You need to step back and ask yourself what the functional purpose of everything that is taking up real-estate on the screen. Generally, when people only use one color like orange in a monotone grey pallet, they're utilizing it as an ambient signifier for a call to action (think about how colors change from station to station when you're on a subway). You want to use that color to tell people to "click here!" or "look at this and do something now!". Right now it draws my eye to the name and a selling point, but I have no idea what to do afterword. For reference, check out how these sites are using their accent colors:

TL:DR; In short, there's a ton of web and usability standards along with design principles that you're overlooking. I would advise getting a book like Steve Krug's - Don't Make Me Think and studying it. It's short and fast read and it will save you mountains of time, frustration, and wasted effort. Also, be sure to review that link above. Make a list of what you think they're doing right and what they're doing wrong.

Sorry, I hope that wasn't too harsh, I'm just trying to help and sometimes honesty can be brutal.

u/dustinin · 8 pointsr/Design
u/ThisIsMyJetPackWHEEE · 8 pointsr/comics

The posts died down when the author behind them started working on his book. It's pretty great, and is basically the same stuff. Check it out.


u/[deleted] · 8 pointsr/WhereAreAllTheGoodMen

The book is Dataclysm. See my post below.


u/halifaxdatageek · 8 pointsr/SQL

Take an afternoon, read this book.

Read this blog post.

Get a copy of the Chinook database, start querying random shit to see what comes up.

That should get you 80% of the way there.

u/Lakerfan1994 · 8 pointsr/statistics

I would suggest getting some basic computing skills first. This book gives you a great grasp on data analysis in Python with statistical applications explored in the later part of the book. Read the whole thing through.

u/Calabast · 7 pointsr/dataisbeautiful

(And also Dataclysm, the book this article is based on, and where the graphics came from. I know I know, the article very clearly mentions the book, but for people who don't click your link, I want them to at least see its name.)

u/bhrgunatha · 7 pointsr/compsci

This isn't criticism or a judgment, but that sounds like an odd request. If you've really absorbed what's in CLRS, I would imagine you could just research those data structures yourself and, for example, look at some open source implementations.

Or research what's in other Data Structures and Algorithms books and read up on them.

Having said that - there is an MIT course on advanced data structures.

I also enjoyed Chris Okasaki's Purely Functional Data Structures

There are 2 Coursera courses in particular - Princeton University's Algorithms Part I and Algorithms Part II - they've provided a web site for their book where lots of algorithms and data structures are implemented using Java with the libraries and source code freely available.

u/snatchinvader · 7 pointsr/haskell

A good book describing similar techniques for designing and implementing efficient data structures with lazy evaluation is Purely Functional Data Structures.

u/AustinCodingAcademy · 7 pointsr/learnprogramming
u/reposefulGrass · 7 pointsr/learnjava

There are tons of resources in many different formats of many different qualities.

On the sidebar to the right, there are quite a few. You should pick the format you're most comfortable with -- book, video, course, etc.

As I've read a few books, for absolute beginners, Intro to java: Comprehensive was pretty good. Very easy to get into to.

Thinking in Java or The Java Reference Book are pretty good for people who already know the concepts of programming.

I haven't watched videos for learning java or taken any courses, so this is all I can give you.


I've found a playlist on YouTube, I've only watched the two first videos, but they seem great.

As a beginner, you'd first have to install Java and also a tool to easy use java -- an IDE (Integrated Development Environment) for example. Plenty of YouTube videos covering that.

Here is a course that alot of people seem to like and recommend: MOOC

Lastly, some advice: Stick through with it if you really want to program. Learning to program at first is the hardest part on the journey.

u/mstoiber · 7 pointsr/web_design

I'd start learning more about design and design theory.

Start with The Principles of Beautiful Web Design to get an introduction to Web Design, go on to Elements of Style to learn more about typography and finish with Don't make me think and Above The Fold to get started with User Experience.

u/AlSweigart · 7 pointsr/learnpython

Yeah, the course follows most of the book's content, though there are some chapters that the course doesn't cover. But it's a nice supplement regardless.

I don't really know of any follow up material off the top of my head. I'd recommend learning about version control (like git) and can recommend the free books Version Control by Example and Pro Git. Other than that, I've noticed that Data Science from Scratch is doing very well on Amazon, so you might want to check that out.

u/666f6f626172 · 7 pointsr/datascience

I doubt any courses you take would spend more than a day on the basics of a language. That's something you need to learn on your own. What's your background like? It sounds like you don't have much programming experience, so perhaps start with this. Then maybe this for learning numpy, pandas, and matplotlib.

EDIT: Didn't realize you were still in high school. I don't believe there's a specific data science undergrad program anywhere, but any STEM undergrad program will probably include an introductory programming course.

u/sayubuntu · 6 pointsr/learnpython

After you finish that and are comfortable in python check out Python Data Science Handbook. I am not a data analyst, I am a PhD student doing research in fields that generate/require a lot of data.

The handbook goes over pythons numpy package and then gets into pandas. Pandas should be the tool you want to learn. Under the hood it uses numpy a lot so don’t skip the first half. Numpy implements a lot of matrix operations in FORTRAN/C if you use it properly (avoid loops when possible) it is incredibly efficient on large datasets.

While you are learning python I highly reccomend using jupyter lab.

Good luck!

u/friend_in_rome · 6 pointsr/learnpython

Python Data Science Handbook is awesome. Doesn't cover Scikit-Lean, but it covers Pandas (which inherently means Numpy), and some visualization stuff too.

u/davidddavidson · 6 pointsr/learnprogramming

There is no "best" language for beginning learning but Python is definitely one of the "better" ones you can use in starting out. It has consistent syntax, nicely format, and low overhead needed. Ruby is has a similar style to Python and is also a good language for beginners to learn. Other people can argue that Smalltalk is a good language for beginners and then you have people all the way on the FP side of the spectrum arguing for Lisp/Scheme as a teaching language.

As for Python books I would recommend Python Programming: An Introduction to Computer Science

If you want to try Ruby I recommend The Well-Grounded Rubyist

u/zerro_4 · 6 pointsr/iamverysmart

Actually, his point about Asian men isn't completely wrong.

Asian mean are ranked as the least attractive, at least through the data accumulated through OKCupid.

u/kqr · 6 pointsr/haskell

This is a completely unhelpful answer, but if you're looking to get to know the things you listed under not comfortable, there is

u/astrokeat · 6 pointsr/learnpython

I recommend Python for Data Analysis (Holy shit! That's the title of your post!). It's written by the author of Pandas and I have found it incredibly straightforward and helpful.

u/th3_gibs0n · 6 pointsr/datascience

Data Engineering is different everywhere and task dependent. The best advice I can give is have SQL be your second language. Then depending on your role or daily tasks you would be looking at extra materials.

General Insightful Reads:

u/PM_me_goat_gifs · 6 pointsr/cscareerquestions

> scalability was a rare issue

Designing Data-Intensive Applications is a great book. Get yourself into some good personal habits, learn to cook efficiently, find a good gym near your new job, and spend some time sitting in the park reading that book.

u/Mofo_Turtles · 6 pointsr/cscareerquestions

This book is a very good for Distributed Systems at a high level.

u/terrorobe · 6 pointsr/PostgreSQL

By now already dated but a good top-to-bottom introduction into Postgres in the real world is PostgreSQL 9.0 High Performance.

Most of the things Postgres does is exposed via system tables & views - for example pg_stat_activity & pg_locks.

The rest of the documentation is great as well, give it a read.

If you are new to system administration & architecture, you may want to put Designing data intensive applications on your shopping list as well to broaden your horizon.

If you have Postgres-specific questions you can ask them here or reach out to the community.

edit: fixed links

u/Fiend · 6 pointsr/ruby

Design Patterns In Ruby - Russ Olsen

u/Stubb · 6 pointsr/ruby

Read Principles of Object Oriented Design in Ruby. Quite a few things clicked for me when reading that book.

Programming in Ruby is also just fun, and when I get frustrated, the reason for that frustration inevitably turns out to be a pleasant surprise, as in there was a language construct that I didn't quite understand and that figuring out the solution unlocked a new way of doing things.

Also not sure how much programming you've done in other languages. In Java you inevitably run up against bone-headed decisions made by the designers to dumb-down the language. They were clearly designing Java for their intellectual inferiors.

Then go attempt to debug some C++ template errors. Dear gods what a mess that can become…

Python can't figure out where it wants to go with the v3 vs. v2.7 schism.

I'm a huge fan of Lisp, but the lack of libraries makes it difficult to use for many tasks. I see Ruby as giving me all the things that I love from Lisp along with access to a large selection of polished libraries.

u/xenilko · 6 pointsr/rubyonrails

Eloquent ruby ( and Practical Object Oriented Design by Sandi Metz ( ) are two solid books that I enjoyed a lot.

u/VancouverLogo · 6 pointsr/ruby

I strongly recommended The Well Grounded Rubyist

This gives you a great foundation, it's extremely well written and a nice reference to go back to.

I also recommend Practical Object Oriented Design in Ruby

This book is just amazing. If you're new to object oriented programming, and even if you have a bit of experience, this is going to improve your skills dramatically.

Good luck!

u/xashen · 6 pointsr/web_design

Don't Make Me Think is an excellent book on UX/UI design.

u/tech-ninja · 6 pointsr/ProgrammerHumor

Depends what you want to learn. Some of my favorites are

  • Code by Charles Petzold if you want to know how your computer works under the hood.

  • Peopleware if you want to learn how to manage knowledge workers.

  • Clean Code by Uncle Bob if you want to learn about good practices and program structure. Impressive content, covers much more than I expected.

  • Don't Make Me Think if you want to learn about usability.

  • Algorithms by Robert Sedgewick if you want to learn about DS & algorithms.

  • The Art of UNIX Programming by Eric S. Raymond if you want to learn about the unix philosophy. Lots of hidden gems in there. Have you ever heard: write programs that do one thing and do it well; don't tune for speed until you've measured; imagine all this knowledge distilled to you in one book.

    This a good list to get you started :) most of my favorite books are not language specific.
u/Wentzel142 · 6 pointsr/cscareerquestions

I'm just about to graduate with my undergrad in CS with a specialization in HCI, and have had multiple UX internships. Read these two books, they'll provide a really good baseline of knowledge about user-centric design.

The Design of Everyday Things - Don Norman

Don't Make Me Think - Steve Krug

While the second one typically focuses more on web, they're both amazing books that should be in the library of any UX/HCI specialist.

The best way to start building a portfolio is to, well, just do. Find anything (not just a program/app, even) that you don't like the design of, and start from there. Try and redesign it to make things easier to figure out. Show it to others to gauge reactions and get feedback. Iterate and improve.

There are a bajillion different programs for UI prototyping, but the first tool I'd suggest is good ol' pencil and paper. Get yourself a sketchbook and keep it in your backpack (or with you in some other capacity) at all times. When you have a design idea, drop everything, make a quick sketch, and go back to what you were doing. Ideas are fleeting and temporary, so it's best to get it on paper before you forget. Once you've got time, try and improve on those designs and think of what would work and what wouldn't. After you're happy (and have shown it to others for feedback), take it into some prototyping app like Balsamiq, Indigo Studio, or Sketch. Render it in high quality and start seeing how users would react to it in its natural setting (put it on a phone, or on a computer, etc. for testing). It's all about getting user feedback because one person on one computer may not have all the right ideas.

tl;dr: Read books. Redesign crappy things. GET A SKETCHBOOK. Feedback, feedback, feedback.

u/Wayne_Enterprises_ · 6 pointsr/userexperience

This should get you started :)


u/abashinyan · 5 pointsr/ruby

Practical Object-Oriented Design in Ruby: An Agile Primer (Addison-Wesley Professional Ruby Series)

Eloquent Ruby

Metaprogramming Ruby: Program Like the Ruby Pros

u/farmerje · 5 pointsr/learnprogramming

I recommend Practical Object-Oriented Design in Ruby (aka POODR) and Eloquent Ruby.

I'm expert at C, Ruby, and Python, so if you post code examples of Ruby code you feel isn't idiomatic to I'm happy to take a look and offer feedback. I co-founded Dev Bootcamp, so I'm also familiar with the bumps along the way folks have when learning Ruby, even (and sometimes especially) if they're coming from another language.

The main thing to understand about Ruby is that everything is an object. To wit,

Foo =
foo =
puts foo.object_id

Particular classes are instances of the class "Class," if you can wrap your head around that. Objects talk to each other by passing messages around, i.e., methods. In fact, you can define methods on individual objects (although nobody ever does this):

name = "Jesse"
def name.bark!
puts "woof woof"

But this is what's happening when you see code like

class Foo
def self.bark!
puts "woof woof"

The "self.bark!" sometimes seems like arbitrary syntax used to define class methods (or static methods as they're called in some OOP languages), especially to people coming from Java where you have these seemingly-magical keyword preludes. In Ruby you just define methods on objects, period. Classes are objects, too, and "def self.whatever" is the same as "def Foo.whatever". There's a nice nod to referential transparency there that you don't see in many OOP languages.

Every method is defined on some object, even "global" methods. Exercise: when you define a global method in Ruby what object does it get defined on?

When you need higher-order functions Ruby uses blocks, which are more like functions in JavaScript than lambdas in Python (e.g., they can contain arbitrary code, not just a single expression).

If you understand those three things -- everything is an object, objects communicate via messages called "methods", higher-order functions can be defined using blocks -- you understand about 95% of how Ruby thinks about the world.

I'll add, just because you're a C guy, Ruby "pretends" it doesn't really have a class/object distinction, but the default Ruby interpreter (MRI or sometimes CRuby) does actually have separate structs for classes and objects. It's really a language-level thing.

u/partybusiness · 5 pointsr/gamedev

I have a web-dev background, so my influences often come from that rather than game-specific stuff.

About Face:

The Visual Display of Quantitative Information:

Don't Make Me Think:

u/MarcMurray92 · 5 pointsr/webdev

Don't Make Me Think by Steve Krug is basically a must read.

This blog post - 7 tips for creating gorgeous UI is a great primer, with lots to think about presented as a few tips focused on aesthetics.

This blog - The Nilsen Norman Group is a great resource for the "functional" end of things, full of tips and research results on what people find the easiest and most enjoyable to use.

u/Lavender_poop · 5 pointsr/marketing

I have a few, not all specifically about marketing but related to business, growth, customer experience, etc.

u/catatafishh · 5 pointsr/Dirtybomb

Ah, it seems we have just filled those positions! Apologies to get your hopes up, that was bad timing. We will need more UI designers later this year - most likely in late Summer. Perhaps this is better suited for you anyway so you have time to prepare an application!

Adobe XD is a must - the fastest "basic" prototyping I've ever experienced. I've pushed it's use through our studio and it's producing awesome results (at least till InVision Studio comes out!). After Effects is optional but an invaluable tool for communicating bespoke animations for the programmers.

Really, as long as you can apply good UX practices to your designs, consider different player experiences at all stages, and can create something awesome in XD / Photoshop / Illustrator that is enough.

Some relevant books from the top of my head:

u/ianblu1 · 5 pointsr/datascience

I usually recommend this book for this sort of problem:

In it you'll get your feet wet with respect to basic python and be exposed to how you would implement some core algorithms from scratch. Once you know that it should be relatively straightforward to move to the higher level libraries.

It's important to note that there aren't really "equivalent functions" mapping R to python. This is because R and python optimize for different things. R is a declarative analysis language- you tell it what you want it to do, not how to do it. Python is a full featured programming language also used for software development, so it supports many different paradigms (OO, functional, etc.). There are component libraries such as sklearn that implement declarative apis that will let you say things like "fit a model with these characteristics" or pandas that lets you say things like "what is the average of value in all of these columns". But in general python itself doesn't really work that way. You build things bottoms up.

u/abd1tus · 5 pointsr/webdev

Some resources to look into:

  • Good UI
  • Material Design
  • Material UI
  • Bootstrap
  • Don't Make Me Think Revisited

    To get started quickly and especially in the absence of a style guide, don't try to come up with with novel designs on your own at first. Look at existing resources available and use them as a starting point. A good exercise would be to go to the the material ui or bootstrap site and put together some
    pages using thier existing components (especially paper, cards, and nav bars) and blend together their examples.

u/pablostanley · 5 pointsr/UI_Design

Don't Make Me Think is an old-but-gold one :)

u/echoeightythree · 5 pointsr/Frontend

Start with the book "Don't Make Me Think" (the latest edition) and Google's Material Design. They're good introduction to visual design for digital interfaces. Then learn basic design foundation theories, these are things that all type of designers need to know. Learn the tools designers use such as photoshop (or Sketch), Illustrator, Axure, etc. Then find projects to practice on and get designers to critique your work as much as you can. Designing "in a way that is pleasing to the human eye" is something you learn through trial and error.

I'm the opposite of you. I'm a designer who wants to get better at front end coding (html/css/javascript). I will review and critique your designs, if you are willing to do the same for my code. PM me if you want partner up. This offer is also open to any coders out there, by the way.

u/Xpertbot · 5 pointsr/PHP

LOL, I am also a Junior PHP developer with a Java background ( I didn't want to work for a big corporation doing Java). I took a whole summer to read this and that was more than enough to get the basis of PHP. Its way easier than Java for sure. Good luck.

u/elitelimfish · 5 pointsr/FinancialCareers
  1. WSO is a great place to see other people's questions on this stuff so you might want to check that out.

  2. Starting pay at an okay shop should land you at least $150k but good shops will be north of $200k (Citadel, DE Shaw, Two Sigma, etc.) Quant salaries vary greatly, however the upside is practically unlimited. Not sure about other firms but at Citadel they generally don't go above 60/week.

  3. Spend some time looking at the applications for places/roles you're interested in as they will be rather specific on qualifications and background.

  4. I'm assuming you are looking to be a Quant Researcher which is where the real work is done. Many places will look at your thesis and go hardcore on poking holes in it so be ready to defend it. Your ability to research and possibly implement solutions is what they're looking for here.

  5. HFT quant work generally utilizes C++ for execution of a strategy as it runs fastest. Python and R is useful for research and analysis. In this area I'd recommend reading This Book written by a former AQR quant.

    Also I've heard good things about this book This Book. But haven't gone through it myself.

  6. Jobs are pretty stable as long as you are good at what you do. Good quant divisions will have phenomenal returns and the employees will have a good work/life balance.

  7. Location-wise NYC is naturally the best place, however Chicago would be your #2 bet.
u/uwjames · 5 pointsr/datascience

There is a LOT you can learn. It can be very bewildering. Here are some links that should help you get started. There are a lot of other posts in this sub with good tips so you should browse a bit.

Sooner or later you'll want to start tackling some projects. That's basically where I am now in the process. I'm at the point where I know enough about Python, Statistics, and SQL to integrate some skills and hopefully do something interesting.

Best advice I can give you is

  1. Keep moving forward even if the task is daunting.

  2. Try to code for at least an hour every day
u/Swisst · 4 pointsr/design_critiques

Without going into a lot of details, I would really suggest taking some time to study design fundamentals. A lot of your work looks like it stems from quick experiments with filters and various online tutorials. A better understanding of type, space, hierarchy, etc. will take you far.

Books like Thinking with Type, [Don't Make Me Think] (, and Making and Breaking the Grid would be a great place to start. Buy those—or get them from a library—and read them cover to cover.

u/ToAskMoreQuestions · 4 pointsr/datascience

Check out Dataclysm by Christian Rudder.

u/ChefJoe98136 · 4 pointsr/SeattleWA

Hrm, that's from this book ? Another way to put it is that women are conditioned to respond that guys are generally not attractive based on a photo whereas men give a more broad distribution that encompasses a full scale ("she's a perfect ten"). There's also quite an industry around giving women makeup and a rigorous education about how to make themselves photograph/appear more attractive/cover flaws that most guys (at least those who would be evaluated by women) aren't exactly indoctrinated with.

u/RedDeckWins · 4 pointsr/Clojure

I would highly recommend reading Purely Functional Data Structures.

Right now it only works with numbers. If you utilized compare you could make it more generalized.

u/PM_ME_UR_OBSIDIAN · 4 pointsr/programming

You'll find your answers in this book. Great both as a tutorial and a reference.

The TL;DR version is that with a bit of cleverness you can use redundancy in your data structures to save time and memory. For example, naively implementing a purely functional stack is easy peasy. Just take an immutable linked list; all stack operations are O(1) time and space.

u/cs2818 · 4 pointsr/PHP

Grab a decent book on the subject, I used PHP and MySQL Web Development years ago to get started.

Alternatively, has some basic PHP intro videos.

And you can find both of these options for free by searching around if you want.

u/CaptinShmit · 4 pointsr/PHP

> I'm trying to learn programming had have chosen as my language of choice.

What? What language have you chosen?! The suspense is killing me!

But seriously, this tutorial on Tizag was very helpful to me when I was first learning PHP a few years ago.

And the book PHP and MySQL Web Development is huge, and I never technically "finished" reading it, but it's certainly got some good stuff in it and I would recommend you check it out.

By and far, the best way to learn any kind of programming, is to just do it! Before I started reading programming books, I only knew exactly enough to do what I wanted to do. Choose a project to start with and keep Googling until you figure out how to make it a reality.

Let us know if you need any further help!

u/theguywithballs · 4 pointsr/SQL

I would be useful to find out which specific DBMS they use but in the meantime I would recommend getting SQL in 10 Minutes, Sams Teach Yourself.

The book teaches ASNI (American National Standards Institute) SQL - all the general main concepts like SELECT, UPDATE that all DBMS share.

It has 22 chapters that each take 10 mins to read (but you should spend more time after each chapter practicing examples). It was incredibly helpful for me when I started learning as i knew 0 about SQL. There's a reason that books it #1 Best Seller. Once you find out what database they use you can learn DBMS-specific functions in addition.

u/Autoexec_bat · 4 pointsr/BusinessIntelligence

Assuming you've already read the Data Warehouse Toolkit? If not, do.

u/yahelc · 4 pointsr/dataengineering

The most important reading from a database design perspective, IMO, is one of Kimball’s books:

It’s less technically focused, and more focused on how to build good datasets. It’s an older text so it’s references to specific technologies are a bit out of date, but when it comes to describing how to design particular schemas (or at least speak the language of people who design schemas), it’s pretty much canon.

u/randumnumber · 4 pointsr/oracle

ohh "set things up" is a very very wide term. OBIEE can do a ton of stuff. First do you have a data warehouse? What is the source of your data? I can give you the basics. OBIEE uses a metadata repository its called and RPD this is the source of all queries. You pull metadata from your source and then build out the RPD through a physical -> Business -> Presentation layer. The Business layer can do quite a bit of work for you in terms of combining dimensions and joins but you want as much of a star schema as possible from the source. Read Kimballs book listed below to understand star schema and warehousing concepts.

Inside of the OBI admin tool there is also some user management, user management isa whole nother aspect. Are you using some ldap authentiacaiton or will you be managing users though obiee? There are USERS, GROUPS, & ROLES. This is another aspect to deal with.

There is also the EM web portal, Enterprise Manager from here you do other management of users and roles and the actual services. This is another thing, where is this hosted? Do you already have OBIEE 11g set up on a server? If so you will need access to that box to do services management. Also may need to modify config files here.

Then there is the actual reporting service, OBIEE uses dimensions and a fact to create charts, pivot tables etc. Here you will log into the web front end this would be accessed by going to http://servername:port/analytics From here you log in as your development user by default its weblogic i beileve. And here is where you would create dashboards etc.

This is just one aspect of the tool set, there is also BIP (bi publisher) used to develop reports from various sources by creating a template and filling the template out by using XML.

Oracle offers classes, which if your managment is throwing you into OBIEE they should be giving you at least 1 class. The report building stuff is easy enough to pick up, but if you are responsible for the management of the server, you need a class.. there is just so much to know about it.

I have worked in the RPD and reports/dashboard building side of things for 2 years. and im still learning stuff (usually the limitations of OBIEE). We have a whole nother TEAM(TEAM) of people who manage the databases and server side.


Get a subscription to METALINK from oracle to issue service requests and look up bug fixes etc.


There are also youtube videos to explain simple stuff for setting up and RPD etc. You can also download an entire sample setup of OBIEE 11g from oracle.. its a huge download 50gb or something like that, but it has database, RPD, sample reports. all in a virtual machine. You can spend a week setting it up just to have examples to work from.

There is plenty of resources, but to give 1 generalized resource is difficult, you need to search for specific things you need to do. "Installing obiee11g on linux" "importing meta data into RPD"

If you need books on Data Warehousing and explanations of STAR schema and data denormalization I suggest reading up on kimball method:



They have different philosophies for data warehousing i personally subscribe to the Kimball method because it supports rapid development better.

I'd like you to know but not discourage you, this is a large undertaking for 1 person. We manage 2 RPD's and 2 sets of dashboards for a custom reporting application we also do the ETL and warehousing. The whole warehouse was set up by a team, then we moved in ETL is handled by another team of people and we have a team doing reporting, then there is management and functional. So building out an OBIEE implementation from the ground up doing warehousing is a huge undertaking. There is another team of people doing server management and upgrades, and migrations.

This is at least a 3 man job, with each person being specialized. Push for RPD traning, Server managment Traning, and dashboard design Training. Warehousing methods and ETL work is another story.

u/xperia3310 · 4 pointsr/web_design

Hey if you are starting to learn web design don't head towards random website and start learning randomly. Instead use books to properly grasp the concept and what web designing is all about.
If you are new to web designing don't read this book "HtmlandCssBook" which the user redditor3000 mentioned.

Start with this book instead --> Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics

After reading the very first chapter of that book most of the questions you asked should be answered.
Then I would suggest to read this book next - Learning PHP, MySQL, JavaScript, CSS & HTML5: A Step-by-Step Guide to Creating Dynamic Websites

u/ccc31807 · 4 pointsr/OMSA

I was in the same boat, with a history undergraduate major and limited math (although I picked up an MS in CS), working full time. My first semester I registered for 6040 and 8803 and had to drop 8803 because of the workload. Second semester I registered for 6501 and 6242 and had to drop 6242 because of the workload. You <might> be able to handle two courses, but GT has a lenient drop policy so the only downside is that you lose your money.

Standard advice: do your best to work through the following two books Before you start:

u/ansalonhistorian · 4 pointsr/DistributedSystems

If you want to learn it systematically, consider the following:

The popular DDIA book: Designing Data-Intensive Applications gives you some insights into data systems, which are the main reason why people study those difficult distributed theories.

The underestimated textbook: Distributed Systems: An Algorithmic Approach shows you the reasoning behind the scene and gives you a taste of the algorithms used in distributed systems.

When you think it's finally over: Distributed Algorithms talks about the system models and algorithms in a more formal way.

u/DBA_HAH · 4 pointsr/cscareerquestions

I've never used Django so I'm making some assumption here based on my Rails experience. Their feedback is pretty good.

  1. You're not using inheritance in obvious places like a WeightedItem and a UnitItem should be children of a parent Item class (or some other better named class). I would put all similar methods in the parent class (item name, description) and then the business logic for calculating the price can go in the children classes. It's possible they wanted the Item class here to be abstract (so you will never have an Item object, only items of the subclasses).
  2. The Promotion and Coupons implementation feels odd to me, maybe someone else can comment on it though. I've never designed a checkout app so I haven't really thought about it but it seems that there must be a better way to handle this.
  3. They are correct in that your controller/views should not handle much business logic at all, controllers are just for using the parameters from your views and the data from your models to route what gets show to the user, what gets stored in the backend, etc. If you're putting business logic in a controller that's usually a sign that you need another model.


    cart_items = CartItem.objects.all()
    total = cart_items.aggregate(Sum('price'))['pricesum'] or 0
    coupons = Coupon.objects.filter(total_spending_threshold

    Apply coupon if necessary

    if request.method == 'POST' and request.POST.get('coupon', '') != '':
    total -= Coupon.objects.get(pk=request.POST['coupon']).discount

    All of this should certainly be in a model. You might want a Cart model that holds Items. The Cart would then have a method you call total_price that would do the calculation inside that model and the controller would simply access that data.

    A Cart could also hold coupons and discounts too in whatever implementation they end up being.

    I would rework this controller quite a bit, I would create new routes so you have a `cart' controller with a 'reset' route separate from the 'checkout' route, no need to send those requests to the same controller action and use an IF statement to determine where to send it.

    So really your checkout action should basically be

    context = {
    'items': cart.items,
    'total': cart.total_price,
    'discounts': cart.discounts

    return render(request, 'checkout/index.html', context)

    Having an action 'unitItems' that sits under the route 'checkout/unit_items.html' that isn't used for actually checking out is a bad design choice. If this view is used to view an individual item, just have it be its own path like '/items/item_description' or whatever.

    Same goes for 'addUnitItemToCartItems', this should just be a simple 'Cart.addItem(item)' line of code in your controller and then all the business logic goes in your Cart class. You could either return an error from that method or have something like Cart.errors that you check after (not sure what the best practice is in Django).

    Also you'll see the advantage of designing everything the way I told you is you will only need a single "addItemToCart" action and only a single "viewItem" action, no need to duplicate your code to handle for weighed/unit priced items. Any of those logical differences will occur in the classes which won't matter to the controller because they will all share the same interface that they inherit from the abstract parent Item class.

    My advice to you would be to get this book Design Patterns Explained. It's a bit expensive and "old", but the design patterns in it are timeless and get you thinking in the right way for OOP design. Another book that was hugely beneficial for me was Practical Object-Oriented Design in Ruby, but if you're focusing on Python maybe you can find something similar in that realm.

    My biggest tips for you would be 1. if you're repeating code like you did several times in your unitItems vs weighedItems implementation, then it's time to stop and figure out how you can DRY it up (Don't Repeat Yourself) 2. Models are for business logic, views/helpers are for display, models are for business logic.

u/j-dev · 4 pointsr/learnprogramming

There are books out there, many of which are unfortunately not language agnostic, that deal with this. What you want to know is the basics of object oriented design and, most importantly, design patterns, which are general answers for recurring object-oriented design challenges. You may have to dabble into languages other than the one(s) you currently use in order to follow along.

u/iamktothed · 4 pointsr/Design

Interaction Design

u/davidNerdly · 4 pointsr/web_design

Just some I like:


  • [You Don't Know Javascript (series)(] Short and sweet mostly. Well written. Some are still pending publishing but there are a couple available now. I believe you can read them for free online, I just like paper books and wanted to show some support.

  • Elequent Javascript (second release coming in november). Current version here if you are impatient. I have not personally read it yet, waiting for the next revision. I recommend it due to the high regard it has in the web community.

  • Professional JavaScript for Web Developers. Sometimes called the bible of js. Big ole book. I have not read it through and through, but have enjoyed the parts I have perused.


    (I am weak in the design side, so take these recommendation with a grain of salt. I recommend them off of overall industry cred they receive and my own personal taste for them.)

  • The Elements of Typographic Style. Low level detail into the art and science behind typography.

  • Don't Make Me Think, Revisited. I read the original, not the new one that I linked. It is an easy read (morning commute on the train was perfect for it) and covers UX stuff in a very easy to understand way. My non-designer brain really appreciated it.

    below are books I have not read but our generally recommended to people asking this question

  • About Face.

  • The Design of Everyday Things.

  • The Inmates Are Running the Asylum.

    You can see a lot of these are theory based. My 0.02 is that books are good for theory, blogs are good for up to date ways of doing things and tutorial type stuff.

    Hope this helps!

    Battery is about to die so no formatting for you! I'll add note later if I remember.

    EDIT: another real quick.

    EDIT2: Eh, wound up on my computer. Added formatting and some context. Also added more links because I am procrastinating my actual work I have to do (picking icons for buttons is so hard, I never know what icon accurately represents whatever context I am trying to fill).
u/whitesooty · 4 pointsr/italy

Ecco la mia lista/elenco disordinato.

Mi piacerebbe spiegare il perché su ogni libro letto ma sarebbe troppo lungo. Se sei interessato ad un feedback in particolare, fammi sapere in un commento.

In generale: in questo periodo si trova molta letteratura; io consiglio i classici, perché in giro c'è molta bullshit e ho elencato anche tutta una serie di libri per acquisire conoscenza su skills complementari (es. negoziazione, persuasione).

Ho elencato i libri di Codice Edizioni a parte perché uno dei pochi editori che pubblica saggi su argomenti contemporanei come tecnologia e media.

Una parola in più la spendo per i libri di Mari e Munari: sono dei classici che vanno letti. Punto.



u/milky_donut · 4 pointsr/web_design

Aside from making things look nice they also have to function well too. Design should go hand-in-hand with user experience. I suggest reading the book Don't Make Me Think to get an understanding of why things are laid out. You can have a nice website but if it doesn't function well your users will opt out in coming back.

Start going to your other favorite websites and find what they have in common and what's different and keep notes that you could back to and reference; you'll start to notice a common theme in layout. There's Behance, Awwwards, Dribbble (though don't take too much away from here), Smashing Magazine, A List Apart, and more.

Learn color theory and typography -- I suggest Thinking with Type. Like another user said: draw inspiration not only from web design, but take inspiration from other sources.

u/rafaelspecta · 4 pointsr/smallbusiness


"Inspired: How To Create Products Customers Love" (Marty Cagan) - 2008

"Crossing the Chasm: Marketing and Selling High-Tech Products to Mainstream Customers" (Geoffrey A. Moore) - 1991/1999/2014

Don't Make me Think (Steve Krug)

Strategize: Product Strategy and Product Roadmap Practices for the Digital Age (Roman Pichler) - 2016

u/CSMastermind · 4 pointsr/learnprogramming

I've posted this before but I'll repost it here:

Now in terms of the question that you ask in the title - this is what I recommend:

Job Interview Prep

  1. Cracking the Coding Interview: 189 Programming Questions and Solutions
  2. Programming Interviews Exposed: Coding Your Way Through the Interview
  3. Introduction to Algorithms
  4. The Algorithm Design Manual
  5. Effective Java
  6. Concurrent Programming in Java™: Design Principles and Pattern
  7. Modern Operating Systems
  8. Programming Pearls
  9. Discrete Mathematics for Computer Scientists

    Junior Software Engineer Reading List

    Read This First

  10. Pragmatic Thinking and Learning: Refactor Your Wetware


  11. Code Complete: A Practical Handbook of Software Construction
  12. Software Estimation: Demystifying the Black Art
  13. Software Engineering: A Practitioner's Approach
  14. Refactoring: Improving the Design of Existing Code
  15. Coder to Developer: Tools and Strategies for Delivering Your Software
  16. Perfect Software: And Other Illusions about Testing
  17. Getting Real: The Smarter, Faster, Easier Way to Build a Successful Web Application

    Understanding Professional Software Environments

  18. Agile Software Development: The Cooperative Game
  19. Software Project Survival Guide
  20. The Best Software Writing I: Selected and Introduced by Joel Spolsky
  21. Debugging the Development Process: Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams
  22. Rapid Development: Taming Wild Software Schedules
  23. Peopleware: Productive Projects and Teams


  24. Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency
  25. Against Method
  26. The Passionate Programmer: Creating a Remarkable Career in Software Development


  27. The Mythical Man-Month: Essays on Software Engineering
  28. Computing Calamities: Lessons Learned from Products, Projects, and Companies That Failed
  29. The Deadline: A Novel About Project Management

    Mid Level Software Engineer Reading List

    Read This First

  30. Personal Development for Smart People: The Conscious Pursuit of Personal Growth


  31. The Clean Coder: A Code of Conduct for Professional Programmers
  32. Clean Code: A Handbook of Agile Software Craftsmanship
  33. Solid Code
  34. Code Craft: The Practice of Writing Excellent Code
  35. Software Craftsmanship: The New Imperative
  36. Writing Solid Code

    Software Design

  37. Head First Design Patterns: A Brain-Friendly Guide
  38. Design Patterns: Elements of Reusable Object-Oriented Software
  39. Domain-Driven Design: Tackling Complexity in the Heart of Software
  40. Domain-Driven Design Distilled
  41. Design Patterns Explained: A New Perspective on Object-Oriented Design
  42. Design Patterns in C# - Even though this is specific to C# the pattern can be used in any OO language.
  43. Refactoring to Patterns

    Software Engineering Skill Sets

  44. Building Microservices: Designing Fine-Grained Systems
  45. Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
  46. NoEstimates: How To Measure Project Progress Without Estimating
  47. Object-Oriented Software Construction
  48. The Art of Software Testing
  49. Release It!: Design and Deploy Production-Ready Software
  50. Working Effectively with Legacy Code
  51. Test Driven Development: By Example


  52. Database System Concepts
  53. Database Management Systems
  54. Foundation for Object / Relational Databases: The Third Manifesto
  55. Refactoring Databases: Evolutionary Database Design
  56. Data Access Patterns: Database Interactions in Object-Oriented Applications

    User Experience

  57. Don't Make Me Think: A Common Sense Approach to Web Usability
  58. The Design of Everyday Things
  59. Programming Collective Intelligence: Building Smart Web 2.0 Applications
  60. User Interface Design for Programmers
  61. GUI Bloopers 2.0: Common User Interface Design Don'ts and Dos


  62. The Productive Programmer
  63. Extreme Programming Explained: Embrace Change
  64. Coders at Work: Reflections on the Craft of Programming
  65. Facts and Fallacies of Software Engineering


  66. Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software
  67. New Turning Omnibus: 66 Excursions in Computer Science
  68. Hacker's Delight
  69. The Alchemist
  70. Masterminds of Programming: Conversations with the Creators of Major Programming Languages
  71. The Information: A History, A Theory, A Flood

    Specialist Skills

    In spite of the fact that many of these won't apply to your specific job I still recommend reading them for the insight, they'll give you into programming language and technology design.

  72. Peter Norton's Assembly Language Book for the IBM PC
  73. Expert C Programming: Deep C Secrets
  74. Enough Rope to Shoot Yourself in the Foot: Rules for C and C++ Programming
  75. The C++ Programming Language
  76. Effective C++: 55 Specific Ways to Improve Your Programs and Designs
  77. More Effective C++: 35 New Ways to Improve Your Programs and Designs
  78. More Effective C#: 50 Specific Ways to Improve Your C#
  79. CLR via C#
  80. Mr. Bunny's Big Cup o' Java
  81. Thinking in Java
  82. JUnit in Action
  83. Functional Programming in Scala
  84. The Art of Prolog: Advanced Programming Techniques
  85. The Craft of Prolog
  86. Programming Perl: Unmatched Power for Text Processing and Scripting
  87. Dive into Python 3
  88. why's (poignant) guide to Ruby
u/_a9o_ · 4 pointsr/cscareerquestions

If you're doing backend/server side work, there's no better book than:
Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems

In terms of learning what it takes to level up, I highly recommend the following books:
The Senior Software Engineer: 11 Practices of an Effective Technical Leader

The Effective Engineer: How to Leverage Your Efforts In Software Engineering to Make a Disproportionate and Meaningful Impact

u/_pml · 4 pointsr/MachineLearning

The best chapters are the ones where he covers the ML method from scratch (like ANN). The ones that start with scikit-learn are OK, but you are really learning the scikit-learn API. The code layout is not nearly as good as O'Reilly books. His coding style leaves something to be desired (OO and mutations everywhere). As an alternative, I'd recommend the O'Reilly book: "Data Science From Scratch" by Joel Grus
which covers every techniques from 'scratch.' His coding style is much better. Disadvantage is that all the routines are written in pure Python (slow).

u/KeepingItClassy11 · 4 pointsr/learnpython

I don't love the Dummies books for technical subjects; O'Reilly books are far superior. Their Python Data Science Handbook by Jake VanderPlas is worth its weight in gold, IMO.

u/datavirtue · 4 pointsr/learnprogramming

If you want to get serious and take it to the next level you should check out Microsoft SQL certification.

The author is amazing. He also has some good videos on MSDN or Microsoft Learning.

u/ircmaxell · 4 pointsr/PHP

I'd strongly suggest that you get the book SQL Antipatterns.

Specifically Polymorphic Associations starting on slide 32. It's detailed in the book, but the slide gives you some good information.

Basically, solution #3 where you use a base parent table. Store the content, title and date in a common "content" table, then store the content-specific information in sub-tables.

u/Spawnbroker · 3 pointsr/ExperiencedDevs

If you really want to push the envelope on TC, especially as a more experienced dev, you're going to need to ace the system design interview(s).

I'm still learning this myself, but a good book you might want to check out is Designing Data-Intensive Applications. I've also heard good things about Grokking the System Design Interview.

Good luck! I'm going through the studying process as well, it's brutal.

u/FullOfEnnui · 3 pointsr/cscareerquestions
u/wyzaard · 3 pointsr/IOPsychology

If your calculus needs brushing up then I am guessing that you will probably benefit from putting some effort into linear algebra too. Just a guess though.

The Sage Hanbook of Quantitative Methods in Psychology is aimed at advanced graduate students and working researchers. The Oxford Handbook of Quantitative Methods in Psychology, Volume 1 and Volume 2 is even more comprehensive with Volume 1 covering some more philosophical topics not covered in the Sage Handbook.

An introduction to programming and computer science like this one (there are many others) is probably a good idea. You can also jump straight into a basic introduction to data science like Data Science from Scratch: First Principles with Python. The author can be amusing. Consider the quote in the preface:

> "There is a healthy debate raging over the best language for learning data science. Many people believe it’s the statistical programming language R. (We call those people wrong.) A few people suggest Java or Scala. However, in my opinion, Python is the obvious choice."

u/_starbelly · 3 pointsr/guitarpedals

Thanks! I can't wait to slay this beast. I timed my defense such that I could go let it all out at a Power Trip show a few days later, haha.

Python seems pretty intuitive to me in my initial tinkering; I also come from a Matlab/R background. I'll definitely check out pandas and scikit-learn! Do you have any suggestions for resources to efficiently learn Python? I'm working on Data Science From Scratch right now.

I have a friend who recently graduated from my same program and is now working as a data scientist at a financial startup in CA. He said the exact same things. I can't wait to make more than just slave wages....

One more question: Any recommendations for an R Studio-like IDE for Python in OSX?

u/core_dumpd · 3 pointsr/datascience

Jose Portilla on Udemy has some good python based courses (and also frequents this subreddit). There's regularly sales or some sort of coupon code available to get any of the courses for $10-$15, so it's very reasonable.

For books: ... it's not out yet, but due any day. You can also get preview access on sites like Safari Online (which would also have all the books below).

For general python:

No Starch Press, OReilly, APress and Manning generally have pretty good quality publications. I'd usually skip anything from Packt, unless it's specifically received good reviews.

u/beyphy · 3 pointsr/excel

I started learning SQL by reading Itzik Ben-Gan's T-SQL Fundamentals. It's a fantastic text that I read cover to cover. One of the chapters on ACID was extremely boring (that's mostly DBA stuff) but other than that I thought it was very interesting. Microsoft also has an EdX course that's similar to the book if you'd prefer to use that.

As far as applying it goes, I set up multiple databases. So I had SQL Server, postgres, Access, and SQLite. I didn't get to apply it at my last job, but our DBA was comfortable enough with my knowledge to create a schema for me so that I could use postgres instead of having to use MS Access. I also personally found that employers were fairly impressed by it.

u/jwfergus · 3 pointsr/dataengineering

Re-iterating what the previous posters said: the fundamentals are the same regardless of system. Learning how to get data out of a SQL system is all about learning how to write SQL.

To effectively learn how to write SQL for data engineering, I highly recommend grabbing a book like one of these*:

  1. SQL Quickstart Guide
  2. SQL Queries
  3. If you're an experience programmer maybe T-SQL Fundamentals (Microsoft flavor SQL)

    and grabbing a sample database for the system of your choice:

  4. MySQL sample Employee db
  5. PostgreSQL sample dbs
  6. SQL Server - stackoverflow db

    and then practice some of your chosen book on the sample db.

    Notes and words of warning:

  • Writing SQL for data engineering or programming is really different than "database administration." A lot of resources on the web are geared towards DBAs and it probably won't help you out much.
  • University courses on databases tend to be more theoretical than practical, for the sake of learning how to write SQL. University isn't a super efficient method of learning to write SQL.

    ^((*I'm not affiliated w/ any of those books))
u/Blatherard_Osmo · 3 pointsr/webdev

Ruby and Python are both mature languages with similar and overlapping user bases. There's not a whole lot different between them, and plenty of cross-polination. Learning to use Ruby effectively will probably make you overall a better programmer, and also help you understand Python better, much as learning Spanish will enhance your understanding of French.

If you decide to keep trying Ruby, I'll make a plug for a book written by a friend of mine: The Well-Grounded Rubyist by David Black. It is a fantastic grounding in Ruby and isn't specifically about Rails at all (I don't even recall if its mentioned)

All that being said, you probably shouldn't bother doing things that you're not enjoying if you don't have any pressing reason to do so. Dig deep into python if that's what you're digging. Just don't become a language bigot, because there's already enough of those to go around.

u/Armorweave · 3 pointsr/learnprogramming

Fundamentals of Database Systems, it covers a broad range of topics about databases including database design theory, normalisation and data modeling.

SQL Antipatterns is a really great book.

u/forgetfulcoder · 3 pointsr/learnphp

PHP The Right Way is good.

If you want something for SQL I strongly recommend SQL Antipatterns.

If you want something more abstract, Head First Design Patterns is good. It uses Java in its examples but it applies to PHP too.

u/Yulfy · 3 pointsr/AskProgramming

It looks like there's an updated version released in 2013. This is the kind of book I was looking for, thanks :)

u/markertheshark · 3 pointsr/web_design

I've recently read Don't Make Me Think by Steve Krug and it was pretty great

u/meowris · 3 pointsr/learnprogramming

Junior UX person here. Not much of a programmer myself, but it's sufficient for my needs, as I am only doing front-end design when I dabble with code. There is a multitude of ways to learn how to code, but generally speaking, I find that practicing in small repetition helps the best to retain and absorb information. When you are doing a small code example, try to rewrite differently and see how it works in each of those ways. I also recommend coming up with a small project that you can work on (design and putting a personal site live, for example), as opposed just doing the practices, that way you are presented with a real world environment that contains restrictions and possibilities.

Do you draw? It might help to learn how to draw well, which will help you illustrate designs and potentially become a fun hobby.

Some beginner level books I recommend:

u/jumb1 · 3 pointsr/AskMen

They also released a book called Dataclysm which sounds interesting. I've bought the book, but have yet to read it.

u/trastevere · 3 pointsr/OkCupid

From what I know, they'd like to; their author has spent the last 3 years making an update to them and compiling the results into an independent book.

I'm sure some variant will return at some point.

u/NoFunInBand · 3 pointsr/AskWomen

In my opinion this is one of the most interesting blogs on the Internet, so I'm going to plug the guy's book that just came out last week. I'm halfway through it, and basically humanity is terrible.

u/80_20 · 3 pointsr/PurplePillDebate

It is from the okcupid book called "Dataclysm: Who We Are When We Think No One's Looking" by Christian Rudder, founder of okcupid and mathematics graduate of Harvard. It is a New York Times bestseller.

Since you are obviously interested in relationships, you should read it. It gives insight like we've never seen before because it is based off of "big data".

I am not a part of the red pill thing. I rarely go there. I consider myself more of an incel advocate myself. (I'm not incel myself though)

u/the-capitan · 3 pointsr/RedPillWomen

right. they peak between 20 and 24. (that's actual data from dataclysm). the point of mentioning 25 is that virtually all women are on the downslide by then.

u/davomyster · 3 pointsr/dataisbeautiful

I agree that these data aren't nearly as interesting as the old posts but you're comparing two different blogs. The old one with all of the detailed insight was written by one of the company founders, Christian Rudder, who wrote an entire book on the subject. You seem like you're really into the deep data analytics side of things and if you or anyone else who loved the old style of posts hasn't read it, I highly recommend it:

That blog was called OKTrends. It looks like it was last updated in 2014, the same year bought out OKCupid. Maybe Rudder didn't stick around to write blog posts anymore, I'm not sure, but this new blog we're all commenting about is called "The Deep End" so I suspect Rudder didn't write it.

Also, what makes any of you think that this simpler, less in-depth blog post has anything to do with a weakening of their matching algorithm in favor of more "folk wisdom and religion"? It's just a blog post.

u/ohmsnap · 3 pointsr/Cyberpunk

My guess is that there is more intentionally sexual art of women, and while that fact alone wouldn't make the case for it being sexist stick, there can definitely be too much of it and it could be the result of an underlying issue.

There are 77 pictures in this photoset, and pretty much all of them reinforce that "young and attractive" type that men of nearly every age idealize. Here's the women for comparison. At the very least, there's what appears to be an imbalance. Source of data

Most of the users on the subreddit are consumers, though. I think this being a conversation amonst content creators would be a pretty good idea.

Edit: parent comment added additional research, neat.

u/whattodo-whattodo · 3 pointsr/dating

This has to be a joke.

The book Dataclysm shows statistics collected from online dating sites. As you can see the chart on the right shows which ages are most attractive to men as they age. Now it's horribly skewed because all of us men are stupid. But, it shows that a 28 year old guy is MOST interested in a girl your age.

So where can you find one? Anywhere. All of us. Just pick one! ;-p

u/Yorian_Dates · 3 pointsr/MGTOW

if want more depth, I recommend the book where the info came from:

I found the book in the most useful Internet website after pornhub:

Someone posted this book here months ago. The books is written by the (co-)founder of Okcupid himself. He shows with numbers and statistics what we've talked about here for years.

u/yeahbutbut · 3 pointsr/programming

> If you can spare the ram and computing time, sure. This also exists in OOP under the name of Memento pattern but is hardly ever applied because of how slow it can be with big data sets.

The advantage with immutable data structures is that your "modifications" are stored as a delta from the original so the memory requirements are fairly low. [0][1] You probably would have plenty of ram to spare.

>`How do you write the following in FP, with a single stack

(def graph (atom #{ #_"vertices go here"}))
(def stack (atom (list)))

(let [some-value 42.0]
(def my-command {:do (fn [graph] (map #(merge %1 {:length (+ (:length %1) some-value)} graph)
:undo (fn [graph] (map #(merge %1 {:length (- (:length %1) some-value)} graph)})

(defn apply-command [cmd]
;; replace the graph with a version mutated by do
(swap! graph (:do cmd))
;; put the undo function on the stack
(swap! stack conj (partial swap! graph (:undo cmd))))

(defn undo-last []
(swap! stack
(fn [stack]
;; run the undo fn
((first stack))
;; return the stack sans the top element
(rest stack))))

(apply-command my-command)
(clojure.pprint/pprint @graph)
(clojure.pprint/pprint @graph)

But you probably wouldn't have the graph as a global atom, someValue would be injected into the command, etc, etc.



Edit: formatting, do was + undo was - in the original, add usage at the end

u/panicClark · 3 pointsr/ItalyInformatica

Io lavoro come sviluppatore ormai da diversi anni, anch'io non laureato (o meglio, laureato lo sarei, ma in un ambito piuttosto distante dall'informatica).

Le difficoltà maggiori all'inizio le ho incontrate quando si trattava di andare un pelino oltre al "giocare col lego" con linguaggi e framework (rigorosamente di alto livello): i fondamentali di come funzionano le reti e i protocolli, le strutture dati e gli algoritmi. Il primo ambito sto ancora cercando di approfondirlo bene, per strutture dati e algoritmi all'epoca mi consigliarono Introduction to Algorithms e devo dire che mi ci sono trovato abbastanza bene, seppure l'ho trovato noioso da seguire.

Mi è tornato relativamente più utile approfondire i linguaggi funzionali. Il classico in tal senso è Purely Functional Data Structures, ma a me è piaciuto di più Functional Programming in Scala.

u/gfixler · 3 pointsr/haskell

>When working in Java you just need to embrace it.

Haha. Agreed. When you're a hostage, just do what they say, and live to fight another day.

>...showed me how it's supposed to be done.

I've tried to see how it's supposed to be done many times, but it's just a broken abstraction for me. If I want to turn off a light, I flip the switch to off. In OOP, I'm supposed to create a Light class to hold the state of everything related to the light, then accessor methods with access control levels set up just so to protect me from the world, in case anyone wants to make something based on my whole lighting setup. Then I need to create nouns to shepherd my verbs around, like LightSwitchToggleAccessor, and worry about interfaces and implementations and design patterns.

In Haskell I'd say "A light can just be on or off; let's make it an alias for a boolean."

type Light = Bool

I want to be able to turn it on and off; that's just a morphism from Light state to Light state.

toggleLight :: Light -> Light
toggleLight = not

And that's it. If I realize later that I don't want Light and Bool to be interchangeable, I'd just make Light it's own type with a simple tweak to give it its own two states:

data Light = Lit | Unlit

And change the toggle to match:

toggleLight :: Light -> Light
toggleLight Lit = Unlit
toggleLight Unlit = Lit

Then I could toggle a big list of lights:

map toggleLight [light1, light2, mainLight, ...]

Or turn them all on:

map (const Lit) [light1, light2, ...]

I have equational reasoning. I can do like-for-like transformations. I get all the goodness of category theoretic abstractions, giving me reusability the likes of which I've never seen in OOP (not even close). Etc.

>objects are closures

Closures are immutable (hence the glory of this). Objects tend to be mutable, which is a nightmare (every day where I work in C#).

>try to keep as much stuff pure as possible

But you just have no way of knowing what's pure and what isn't in any of the OOP environments I've seen, and it is so obvious in C# at work; it plagues us constantly - new bugs daily, and projects always slow tremendously as they grow, and things become unchangeable, because they're too ossified. Just that small thing, that need to specify effects in your types, makes it so much easier to reason about what actually goes on in a function. For example, my Lights up there actually can't do anything in the world. I know that because of their "Light -> Light" types. All they can do is tweak data, the same way every single time they're called - you can replace them with table lookups. They'd have to get some kind of IO markup in their types before they could change anything, which is part of that equational, deterministic reasoning that makes FP so easy to understand, even as projects grow.

I don't want to try to do things. I want it to be fun to do what's good, and impossible to do what's bad. The goal of a great type system is to "make illegal states impossible to represent." I made it impossible to mess with the world, and so I can know with 100% certainty what toggleLights does. I quite literally cannot know what the same function would do in C#. It could return a different result every time. Multiply that up to a few 100klocs, and I have no idea how our projects work, and no idea what I'm breaking when I push commits (and I often break things, and everyone else constantly breaks my stuff, because we can't properly reason about anything).

u/jtreminio · 3 pointsr/PHP

Intro to PHP/MySQL:

More advanced SQL knowledge:

More advanced PHP knowledge:

Go in that order, you'll be very comfortable in a few months.

u/warl0ck08 · 3 pointsr/androiddev

Depending on what you are looking to do, and how ambitious you are, you can use something like Parse if you wanted.

The cheapest way, and the most customizable is using JSON, PHP, and MySQL. You can calculate, do whatever, and give it back to the app. [This] ( is a good book on PHP and MySQL. A simple tutorial on how to use JSON in Android and PHP should get you on the right track.

u/mogwai512 · 3 pointsr/PHPhelp

> I want to return response in real time to javascript

I'm about to get really thorough with my response so, "hold on to your butts"


As /u/Mike312 hinted at, this is not how PHP and vanilla Javascript works, and as such you would have to seek alternative frameworks or languages(like Websockets, NodeJS) or you can keep reading for an alternate solution.

What you must understand is that PHP is code that lives on and is rendered on the back-end (server). That means that by the time the front-end (browser) has access to the page, the PHP code on the server has already executed.


Now that you better understand relationship between PHP & Javascript means you have two options, a simple one and a more complex one:


Simple Option: Abandon real-time

Since you seem to be a beginner when it comes to PHP, this is the option I recommend as it is the simplest and fastest. In this case, you would have something on the front-end, like a button, that would call a new page. This page will render the results of the function I provided you.

To break it down:

  1. You press a button in the browser.
  2. The button redirects you to a new page.
  3. The new page has the PHP function I provided you above, and runs it.
  4. A page is the rendered to the user saying something like "After X attempts, here are the results: "


    Complex Option: Explore AJAX

    AJAX or Asynchronous JavaScript and XML allows your browser(front-end) to make calls to your server (back-end) without reloading the page. This means that, as an example, you can create a button on the front-end that executes a javascript function. The javascript function would then make an AJAX call to your server, and you could return that server data WITHOUT having to reload your page. Please see the link I provided above for a very good example.

    I won't write up full on code for you that shows you how the HTML/JS/AJAX/PHP all interact but, here is an outline of how I would do it:

  5. Modify the fgcContents function I gave you above to only take in a URL, and only return results and data. Since you are using AJAX, your front-end should manage and return the number of attempts. This will be explained in more depth later

  6. Create an HTML page with a button.

  7. Have the button trigger a Javascript function

  8. Have the JS function define two variables, the number of attempts and the URL to hit (the url is where your PHP code will reside).

  9. With those variables defined, build out your AJAX request using the url variable, but do NOT call it yet. Instead, define a loop that will repeat X times, with X representing the variable you defined above as the "number of attempts".

  10. Inside the loop, make the AJAX call, but also add checks for whether or not the AJAX call failed or succeeded.

  • If the AJAX call succeeded: This means that the AJAX call was successful, it does NOT mean that your fgcContents function was successful, so you need to examine the results of the call (which should be the results of the "fgcContents" function) and use javascript to update your HMTL. For example, if "fgcContents" returns an array where "results" is TRUE, then you can update or add some HTML on your page that says "Attempts: 1 and Data: your_data_here". If results is "false" ("fgcContents" returns an array where "results" is FALSE), then you can update your HTML to list out the number of failed attempts, and with each failed attempt, the users page will update, thus providing you real-time results.

  • If the AJAX call failed: Again, this does NOT mean the fgcContents function failed, it just means the AJAX call did not go through. This can happen due to errors in your code, network issues, etc. Either way you will need to capture this and report it to the user somehow.


    I know this is a lot of info to take in, but it should help implement a simple solution, then as your knowledge grows you can implement the complex solution.

    As a side note, if you are really looking into learning front-end/back-end development, I recommend the following books:

    Web Design with HTML, CSS, JavaScript and jQuery Set

    PHP & MySQL Development
u/CharBram · 3 pointsr/excel

To learn SQL, start with this book:

Then once you need more ideas with SQL, go to this book:

For Python, I would start with this book:

SQL may come almost naturally to you. For me at least, the basics of SQL came rather easily. With Python, expect to be a little lost, not with the programming concepts but with setting up your computer and getting Python packages installed, etc... Once you get all that done though, you will be golden.

u/elliotbot · 3 pointsr/cscareerquestions

Resources I used for my DE interviews:

u/muraii · 3 pointsr/datascience

Look up the DMBOK and Ralph Kimball’s The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling .

u/wolf2600 · 3 pointsr/SQL

Kimball's dimensional modeling. It's the standard for data warehousing.

u/labpartnerincrime · 3 pointsr/neopets


I've just been in a depressive state for the past few days and probably at least the next 3 weeks. Joooooooobs.

Been reading Ask A Manager and even bought her ebook on sale. Going to redo my resume from scratch. There's a career fair in 3 weeks, but it's going to suck ass.

I filtered the list of employers down to Full Time Entry Level IT, not even restricting it to my degree. I've applied for ~80% of these places already and got flat out nos or never heard back.

The only one that's almost possible has a unique downside to it: they likely aren't going to hire me since I'm dating one of their interns. And since it's the school year and he's my ride, I'd have to request to be on his lighter schedule (30hrs, 20-25 during exams) and make up the difference remote or on weekends. And if he doesn't get kept on, I'd have to go 100% remote or resign if his personal schedule doesn't allow for him to keep being my ride. But I could see them not only not wanting to put up with that, but also thinking having a couple on staff would be drama, despite that we'd be different subgroups of IT and have worked together before. If I talk to them at the career fair, I'll just be referring to him as my ride, but it's not that hard to jump to "well, he's my guaranteed ride because we live together because we've been together in a sexual emotional fashion for a year and a half."

Meanwhile, I don't even have a "dream job", "dream company", or even "thing I'm good enough at to get paid for it". I have Career Match and Do What You Are, but meh. They tell me shit like Manager, but not what I'd need to be managing so I know what to apply for to work up.

Skill: Web development, hopefully with database integration as well. So far, I haven't found a textbook I think
really covers web dev, but I have Learning Web Design and this bitchin bookmark for whenever I'm actually in the mood to get started. I also have several ebooks on my Kindle to supplement it when I'm done with that one. I just really need something on my resume to get me hired... and supposedly I'm decent at web dev. I just need to get to a higher level than an intro course before anything would take me seriously, so I bought a web design book to maybe try making my own site sometime.

Kittens: Halloween costumes. They're probably both around 4lbs about now, though Iroh (sushi) is mostly fluff and Tyco (vampire) is mostly muscle. They have another appointment for the vet tomorrow for boosters, so then I'll know how chubby they're getting. Either way, they're bulkier and it's getting harder to pick them both up at the same time :P Especially when Tyco's trying to break free.


Neopets**: I restocked the Cove item and there's no buyers right now :P The only thing I have planned for the downtime is to do Kiko Pop data.

u/WhatEvery1sThinking · 3 pointsr/learnprogramming

I think for many, including myself, knowing where to start is difficult and overwhelming. There is just so much out there, and you don't want to make the mistake of going with something subpar and dedicating ten's of hours to something that will end up feeling like a waste.

I've just started myself and have this same issue. I've decided to start with codeacademy, then go through freecodecamp after that while also using a book, hopefully this combo works out for me

u/1istening · 3 pointsr/opendata

There's a great book about this! It goes over python basics and then goes in depth on Pandas, which is a python library used for data analysis.

I think if you've never used Python before it couldn't hurt to also find some general intro-to-python online tutorial to supplement it.

u/mapImbibery · 3 pointsr/learnpython

I wanna say that Wes mentions R in his book but I'm not sure. I know numpy and pandas are pretty dang fast though, it's the statistics that Python isn't so great with.

u/justphysics · 3 pointsr/Python

This question or a variant comes up nearly weekly.

I always try to respond, if one doesn't exist already, with a plug for the module 'Pandas'.

Pandas is a data analysis module for python with built in support for reading Excel files. Pandas is perfect for database style work where you are reading csv files, excel files, etc, and creating table like data sets.

If you have used the 'R' language the pandas DataFrame may look familiar.

Specifically look at the method read_excel:

main website:

book that I use frequently for a reference and examples:

u/PM_ME_YOUR_DOOTFILES · 3 pointsr/programming

> Data Intensive systems book

Are you referring to this book? Seems like a good book according to Amazon.

u/nekochanwork · 3 pointsr/learnprogramming

> Is there a true singular source to learn Java?

Unfortunately, no. There are 1000s of places to learn Java. The right choice is dependent on your skill level and what you want to build (e.g. web apps, mobile apps, desktop sevices, etc.).

If you need some recommendations, start with The Java Tutorials on Oracle, followed by Effective Java.

If you need a comprehensive overview of the language, you can use Java: The Complete Reference 9th Edition.

u/Dolphinmx · 3 pointsr/learnprogramming

I'm reading this one because I wanted to "relearn" my java and is quite good, it includes only Java and is very detailed...but is a big book, you don't need to follow each chapter, maybe just read what interest you.

Java: The Complete Reference by Herbert Schildt

For Android, I started watching the following course on Udacity and they use Android Studio. It's free to watch the lessons.

u/dchapes · 3 pointsr/golang

Please put the title/name of what you're linking to so everyone doesn't have to follow an opaque link to find out.

The link is to: Database Systems: The Complete Book (2nd Edition) by Garcia-Molina, Ullman, and Widom.
(I've never read or head of this book, I'm just giving the name not recommending it).

u/CaptainKabob · 3 pointsr/ruby

I read it about 6 months ago and found it incredibly relevant despite actively working in Ruby 2.x. The syntax is still pretty modern, unlike, say, Why's pognant guide to Ruby.

I would read both Eloquent Ruby and Practical Object Oriented Design in Ruby which also covers the practical experience of working with Ruby. i.e. Eloquent Ruby tells you how to write good Ruby code, Practical OOD covers how to feel good doing it.

u/duggieawesome · 3 pointsr/ruby

Sounds like you want to grab the Pickaxe book. It's a tome, but it'll take you through the Ruby way of doing things. The Ruby Way is great and easily accessible, but I don't believe it's been updated for Ruby 2.0.

Lastly, you can always skim through the Ruby docs.

Edit: You should also check out POODR. Great way of learning how to refactor!

u/purephase · 3 pointsr/rails

I don't think you need it explained from a Rails point of view. Ruby is an OO language, and Rails simply exploits that.

You need to learn proper design patterns in Ruby (which apply to most OO languages). Sandi Metz's Practical Object-Oriented Design in Ruby is pretty much the gold standard for Ruby and very readable.

It's based heavily off of Martin's Agile Software Development, Principles, Patterns, and Practices.

After that, you can look into SOLID but, in Ruby-land, I think the single responsibility principal coupled with the rules laid out in Metz's book (summarized here) is a good place to start.

Also, it's worth noting that if you have good test coverage it makes re-factoring much, much easier.

Good luck!

u/attr_reader · 3 pointsr/ruby is a great resource where you're able to use your problem solving skills while you level up your Ruby.

In addition, Basic Ruby. This is extremely basic, however, BR does a great job with the fundamentals of Ruby.

+1 on Ruby Monk. -1 on CodeAcademy.

I'd recommend Sandi Metz's Practical Object-Oriented Programming.

u/inflx · 3 pointsr/rails

I always see people jump into Rails before they get into Ruby. Or, worse, they think that Rails is a language.

The latter makes me barf. Specifically, the kid I interviewed who assured me that Rails was indeed a language. and then read POODR

Then you should jump into Rails.

u/black-tie · 3 pointsr/Design

On typography:

u/squidboots · 3 pointsr/Etsy

Collections or Categories, it doesn't really matter - what matters is that A) you're consistent, and B) they are self-evident (clear). In other words, you need to endeavor so that a customer is not going to be surprised when they click on a section. Understand that a customer is always going to have some expectation when deciding to click on a category, and that expectation will range from something as straightforward as:

"I am looking for rings, so I am clicking on the 'Rings' section and I expect to see a bunch of rings"


"I see 'Tree of Life' and I know that nature-y things appeal to me, so when I click on 'Tree of Life' I expect to see things that are all clearly related to one another thematically in some way AND I can clearly see why this collection is called 'Tree of Life' through the general brand/theme conveyed by this collection of products."

Therefore, in the first example if a customer clicks on 'Rings' and sees some rings as well as bracelets and necklaces....that customer is surprised. Pretty straightforward. In the second example, if a customer clicks on 'Tree of Life' and sees a bunch of jewelry that really doesn't look like it's thematically tied together in some way AND/OR that jewelry is really not conveying the theme (maybe it's all industrial/steampunk stuff) - that customer is surprised. Surprise comes from when expectations are not met, and in this case customers being surprised will lead to disappointment and frustration. Having consistency and clarity will reduce customer confusion/frustration, and that will keep curious customers from bailing out of your store.

That said, as demonstrated above, it is generally much easier to be both consistent and self-evident with Categories, but that doesn't necessarily mean it is better. As you rightly point out, if you have a strong brand that resonates with your customers, the Collections approach can actually be a pretty powerful way to expose your products to your customer and snag sales you otherwise wouldn't have. It just takes a lot more work to maintain consistency and clarity with Collections because it depends on having strong, clear branding. With that in mind, I think if you go the Collections route you really, really, really need to be very careful and deliberate about it in order to maintain consistency and clarity - but if you do it right, you will go farrrrrr.

As an aside, I strongly recommend the book "Don't Make Me Think: A Common Sense Approach to Web Usability" by Steve Krug. It was originally intended to teach user experience and human-centered design principles to web designers, but honestly it's one of the best damn books out there for anyone trying to convey information of any kind on the internet. It's short and awesome and the world would be a better place if more people read it and practiced its principles.

u/CaptainMegaJuice · 3 pointsr/design_critiques

This site is completely unusable. Read "Don't Make Me Think" before ever making another website.

u/isperg · 3 pointsr/web_design

I have a few clients on retainer that share the same traits as your boss, and oddible is giving some salient points.

An organization I work with now had no process or standard operating procedures in place for anything tech or branding related. What brought the focus away from how the front-end looks like and on track with what and why, was asking foundational questions and getting stakeholders to think through why we're putting content there and the goals we're trying to achieve. Doing so brought everyone into the same boat and the reasoning for design decisions were recognized by the group; they needed to have insight and own the design decisions I already figured out. They were then open to the process of problem solving and being open to my recommendations for moving forward with achieving goals because they were right there with me during each step of the design process (whatever that is) and realized that my experience enables them to worry about the what and why and lets me figure out the how (including better design practices that get users to accomplish what your client wants them to, while addressing their business goals). I've written up documentation on how we handle branding, standard operating procedure for website related stuff, and helped a few other staff members re-write their job responsibilities within their contracts since I've gotten there.

For your boss, maybe you can stress the time inefficiency and cost he's incurring with the current method of edit requests. Even though you can make instant updates, doing so bit by bit is not as effective or timely as batch updates and it's probably sucking up your time's bandwidth with other tasks.

Sketches, even MSPaint, are mediums of information. Your boss sounds like he is communicating to you what he wants done, and you have to do it. Steering them towards problem solving and answering "what are we trying to accomplish here, on this page?" and proposing your recommendations may help change the type of feedback you're getting. If your boss is actively reducing the effectiveness and value of the experience of pages, you should communicate that to them and offer what you think should be done based on your experience and web standards and most importantly your reasoning behind why you recommend those options and the expected result from them.

Ultimately, if your boss keeps overriding you than you have to do what they tell you to do. You can try and put some process in place, but if you've already demonstrated that you can make an instant edit to someone who doesn't understand ux/webdev than you've opened a can of worms to someone who thinks you're a wizard that can do anything (regardless of the complexity) as fast as you've done other edits.

oddible's comment in regards to mockups "iterate, list assumptions they make, formulate hypotheses to validate, do research, compile and present data" seems to be addressing the process you're using and where mockups are within that process. Usually, a process (whatever that is) takes into account clients having dozens of minor edits by listing out the goals of the request, establishing the user groups who will interact with the experience, and the desired result; then creating a mockup of sorts to get feedback, then confirming before executing. If the client is requesting edits after the mockup is confirmed repeatedly, there's something wrong with your process; either the client isn't thinking through all the requirements of the request, you're not, or both of you are not.

As for raging anonymously on the internet: /s how dare someone point out possible useful criticism based on the information you provided. This shit is common to come across with clients, and shutting someone down who shows experience within their direct feedback to you is a selfish dick move; especially this "disrespect" nonsense. Get over it, don't take stuff personally because it's not an assault on you, web design is about the client's goals and needs not about you and how you feel about their design. Respect is earned with the amount of money your work/portfolio earns you and if you're hating your role now you'll despise working at a larger company with a senior webdev or ux role because it's filled with people like your boss everywhere, but processes are in place to avoid wasted time and micromanaging. The most successful IT professionals are likable, charismatic, and know how to get desired outcomes from social interactions; tech skill sets are secondary.

How to tell your boss to stop?
Here's a great book with strategies, tactics, methods, and tools for UX design that show you multiple processes to get from request to execution: maybe some processes in that book could help add a structure that prevents the current situation you're in now, and figure out how to iterate requests before you've already executed stuff.

How to tell your boss to stop directly? Give him this book and tell him that he needs to read it so he's speaking the same language you are:

u/HadleyRay · 3 pointsr/web_design

Personally, I liked Learning Web Design 4th ed.. It gives you a nice overview of everything you're going to work with on the front-end.

Duckett's book is good and easy to read, but as far as learning, it didn't do it for me--you may be different.

You would also be well-served to learn some design theory. Don't Make Me Think is probably the penultimate in this area. Design for Hackers is also very good.

Learning jQuery is also a must. Code School has a great jQuery course.

Like /u/ijurachi said, a scripting language like PHP or Ruby on Rails would be a next step after that.

u/offwithyourtv · 3 pointsr/userexperience

This probably isn't the most helpful answer, but any resources I might have used to learn the fundamentals myself are probably pretty outdated now. Honestly I'd just try to find highly rated books on Amazon that are reasonably priced. I haven't read this one for psych research methods, but looking through the table of contents, it covers a lot of what I'd expect (ethics, validity and reliability, study design and common methods) and according to the reviews it's clear, concise, and has good stats info in the appendix. I had a similar "handbook" style textbook in undergrad that I liked. For practicing stats, I'm personally more of a learn-by-doing kind of person, and there are some free courses out there like this one from Khan Academy that covers the basics fairly well.

But if you can, take courses in college as electives! Chances are you'll have a few to fill (or maybe audit some if you can't get credit), so go outside of HCDE's offerings to get some complementary skills in research or design. I usually find classrooms to be more engaging than trying to get through a textbook at home on my own, and especially for psych research methods, you'll probably have a project that gives you hands-on experience doing research with human subjects (most likely your peers). There are lots of free online courses out there as well if you aren't able to take them for credit.

You guys are making me miss school.

Getting specifically into UX self-study, in addition to a UX-specific research methods book (this is a newer version of one I read in school) I'd also go through the UX classics like Don Norman's The Design of Everyday Things and Emotional Design, Krug's Don't Make Me Think, and Casey's Set Phasers on Stun (this last one being more of a fun read than a practical one).

u/albinotonnina · 3 pointsr/reactjs

Hi! Thanks for your reply! Good point!
I disagree on that UX rule. This is based on my readings.
Main source: Steve Crug - Don't make me think

Or this post:

So yes, I'm trading clicks for layout simplicity.

"Navigation should get the user where they need to go, with clear, well-defined paths and decision points"

This thing is more about this.

About the cues from small devices well yes, we prefer larger screens I definitely agree with you. But are we on our mobile a lot?
Do you feel that the tapping and the scrolling became sort of natural for all of us? Do you have this general sense of people preferring mobile apps to the more traditional web apps for desktop?
I'm trying to investigate on a mixed approach maybe? A lot of real estate and the simplicity of mobile navigation.

Also as a developer I can see in this technique some advantages, code wise. It's very easy to build apps like this.
You can create enormous quantities of user flows with little effort, not having to do a lot of layouting. It's easy to prototype or reiterate. Users also can basically create their own paths.

Obviously all this may be valid or not. It's experimentation, at least for me.

I have the luxury to try this technique on a product at work, I hope I'm going to test this soon.

Thank you for your comment! Let's discuss more if you want!

u/thedaian · 3 pointsr/gamedev

Look up The Design of Everyday Things and Don't Make Me Think.

The first book is mostly about physical objects, and the second book is mostly about websites, but both cover UX fundamentals, and they're basically the essential UX books. That knowledge can pretty easily be applied to games.

Beyond that, the other important thing is just to run your game through testing sessions. Ideally, get someone who hasn't touched your game before, and watch them play it. For best results, record the entire play session on camera, and in game, and watch what they're doing in real life and in game. Recording all of that can be tough, and possibly expensive if you're paying your testers, but you might be able to find a local gamedev group and bring your game there.

u/TonySu · 3 pointsr/learnprogramming

Not a website designer, never designed a full website, but recently read Don't make me think. Though I was reading it for ideas in general usability, it's focussed towards websites. It's a pretty short book that you can pretty casually get through in a few afternoons.

Styles and schemes are easy to change, making a robust and usable website should be top priority.

u/too_much_to_do · 3 pointsr/startups

Great points. I remember reading "Don't Make Me Think" when I was in school and it was invaluable to me when doing user testing. It's focused on web UI etc but I think the lessons carry over.

u/duotoner · 3 pointsr/web_design

A Word of Caution on Inspiration Galleries

Seeking inspiration (ideas) is perfectly acceptable, but it must be done so cautiously. Too often, people fall into the trap of simply copying the sources of inspiration because it looked nice.

Instead, it's helpful to study the source of inspiration. Which components are interesting? Why were they used? What problem was the designer attempting to solve with them? Once you understand why those components were used, then you are better positioned to decide if they help solve your design problem.

It's also helpful to remember that no two design problems are the same. Sure, you're a bank and we're a bank, but we have different needs, target different audiences, have different value propositions, different brands, and so on. Thus, our design solutions will necessarily differ.

Some Helpful Resources

As for helpful resources, I would start with a video from Flint McGlaughlin on the inverted marketing funnel. You're probably already familiar with the funnel concept from marketing, but he describes it as fulfilling a sequence of "micro yes" points. If you have a good understanding of how the user moves through these "micro yes" moments, then it can help you decide where to choose and place elements on a page. For example, should your call-to-action be above the fold? Do you need pictures? Are stock photos okay? And so on.

Going more in-depth, I would recommend looking to The Elements of User Experience by Jesse James Garrett. You can find lecture videos from him on YouTube covering the ideas.

Another book on the essential reading list is Don't Make Me Think, Revisited by Steve Krug. It's a fantastic book on usability and user experience.

For a slightly more graphic design bent, although still applicable, I would recommend The Non-Designer's Design Book by Robin Williams. It will help you understand the basic components of graphic design which can be applied to web design.

What all these resources do is give you a basic framework through which you can make better design decisions.

Design is fundamentally about problem solving. You are not creating a design simply for the sake of the "design." You are creating a design to accomplish some goal. This is true of graphic designer, web design, user experience design, interaction design, and even industrial design.

u/xiongchiamiov · 3 pointsr/webdev

I'm almost finished with the book, and boy, it's great.

While we're making book suggestions, I also highly highly recommend picking up a copy of Steve Krug's Don't Make Me Think. It's important to remember, when delving into design, that it's not just about making things pretty - you need to make them functional, too.

u/blixxurd · 3 pointsr/webdev

As an ex-data guy myself (Started to do primarily UI Dev a few years back) Steve Krug's book "Don't Make Me Think" was a godsend. It can be learned, and while creativity plays a role, there are formulas to it. With some time, it will be second nature.


u/metasophie · 3 pointsr/userexperience

> Why do people use Sketch more over PS?

Sketch is light weight, easy to use, and largely focused built. PS is a generic image editing tool that isn't.

Don't get caught up in tools though. UXD is a process not a toolset competency.

> Do you guys have any beginner friendly tutorials for a material or flat design interface?

A large chunk of user experience design comes from interaction design which inherits a sizeable chunk from anthropology. So, instead of starting you off on a tutorial which will likely focus you on technology as the process I'd rather start you off with reading.

Plans and Situated Actions - Lucy and other researchers at XEROX Parc defined Interaction Design. This is the birthplace of the idea.

Lucy Suchman again - Human-Machine Reconfiguration talks about a higher level of thinking when it comes to how people interact with machines.

Alan Cooper is one of the early leaders in Interaction Design. In this book he goes over the 101 of user research and how it has been applied in digital technologies.

Love him or hate him Donald Norman helped define early Usability and the transition to Interaction design.

Don't make me think. Was one of the definitive books highlighting the approach of user centred design.

After you get through all of that I recommend that you spend some time in whatever tool you think works for you and then replicate somebody else's design. Say there's a mobile app (choose a small app) that you use all the time. Replicate every single screen and document with a flow chart how you interact with it to get to every single screen. Break them all up into individual interactions.

Make sure that you design it in the most reusable way possible. If your tool lets you make your own widgets then use them. If your tool allows you to inherit multiple layers, like Axure, then use that too.

Now find some people and test with them. Do some User Testing on the product to find flaws. Do some high level User Research to find out what their core goals are. Iterate. Don't forget that you're an amateur, it's okay to reuse your friend base.

u/LinguoIsDead · 3 pointsr/web_design

Thanks for the reply! I can safely say I would like to focus on web/digital. I've started collecting/bookmarking resources to the principles you mentioned but is there any particular path you would recommend? I don't mind throwing down some money for a learning resource (such as Lynda) and some books. My current list of books I have in my cart:

u/Chris_Misterek · 3 pointsr/userexperience

Have you looked through

u/Himekat · 3 pointsr/cscareerquestions


  • The Design of Everyday Things -- not about programming, but a great resource in general for viewing things from a design perspective, and it was required reading in my CS curriculum.
  • Don't Make Me Think -- another design-oriented book about web usability. It's quite a quick read since it's mostly pictures.


  • Sourdough -- it's a fun whimsical story about Silicon Valley, programming, and baking bread. Very quick, light read.
u/Yogi_DMT · 2 pointsr/javahelp

The official reference was definitely the best resource for me. Even if you're a beginner, if you really want to learn Java it's the most well written and best explained book. If you want to learn how to print hello world to the console there are probably some books that could get you there quicker but if you want to understand the language and not have to relearn poorly explained concepts this is the one.

u/unerds · 2 pointsr/java

i'm using Java: The Complete Reference by Herbert Schildt for syntax and general overview of the language and it's packages and such...

I'm also going through Stanford's CS106A which is a programming methodology class that uses Java 5... there are about 28 lectures with transcripts, assignments, handouts, exams and all that available at that link.

there is a lot of redundancy in the two resources i'm using, but the book is concise with it's progression through the language, while the methodology lectures are a bit more pragmatic.

u/K__Dogg · 2 pointsr/learnprogramming

Java: The Complete Reference, Ninth Edition

I have been reading this lately and it is the BEST programming book I've read. It's filled with examples and easy to understand explanations.

u/n7shadow · 2 pointsr/learnjava

Anyone knows how Java the complete reference is?

u/loamfarer · 2 pointsr/learnprogramming

The C++ Programming Language, 4th Edition - Bjarne Stroustrup
Effective Modern C++ - Scott Meyers
21st Century C - Ben Klemens
Learn You A Haskell For Great Good - Miran Lipovača
The Book & Rustinomicon - Rust Contributors
A Byte of Python - Swaroop Chitlur
Java The Complete Reference 9th Edition - Herbert Schildt

These are the books I got the most out of. None of them are good for beginners to programming, except maybe A Byte of Python.
But they have given me deeper essential knowledge over the tools that I'm working with than any sort of "zen of patterns" or "corporate feng shui" style book has offered.

Of course I have also come across other computer science books that are fantastic, namely AI and machine learning stuff. I know a handful of solid game engine and graphics books have also come out in the past few years.

u/verge36 · 2 pointsr/learnprogramming

Well, not really sure about what a complete beginner might think about the book, i already knew some basic concepts of java-classes, methods syntax Generic methods etc.- thanks to this. I also took a mandatory C course at University. I read until java.util, then decided to use Sedgewick's book, because i thought i needed some exercises so Sedgewick's course felt just right. It had plenty of exercises, and the right amount of explanations for most cases. However recursive functions are sometimes complex, and the lack of explanation sometimes makes them hard to understand. Otherwise gret book for beginners. I feel much more comfortable writing code now.
Will look into the algorithms course, that was the part of the book i enjoyed most tbh.

u/JohnDoe_John · 2 pointsr/ITCareerQuestions

> MSCA: SQL Server

Is a good choice. At the same time I see such programs and certificates as credentials for those who already have some experience.

If you

> have a good working knowledge of relational databases in general and know the general dialect of SQL pretty well already

it might be the right choice. It is not perfect but quite good.

> I've done a bunch of practice on and gone through a few database/SQL courses on

Take a look at and also.

A bit more:

Books from

u/jstraszheim · 2 pointsr/programming

If you like operating on the formal/theoretical side, I recommend this book:

Although the price is a bit high these days. Perhaps you can find a used copy at a good price.

u/catastrophe · 2 pointsr/cscareerquestions

I used this one, and thought it did a good job.

If you're self-studying I'd recommend following MIT open courseware, or something similar. It will help guide you through projects, etc.

u/hjslong · 2 pointsr/learnprogramming

Hi, I'm also still struggling about this, turns out that software architecture is really hard!

I haven't finish this book yet, but I still found so much useful information on it that I can fully recommend. I never programmed on ruby yet the book is easily one of the best that I have ever set my eyes on. You should give a try.

u/riceprince · 2 pointsr/learnprogramming

Learning Rails is harder without coding. I recommend Ruby books instead: Practical Object-Oriented Design in Ruby and The Well-Grounded Rubyist.

u/cl3v3rgirl · 2 pointsr/learnprogramming

You want to learn about design patterns. This repo has very nice code examples of many popular patterns that you would be asked about in a software engineer interview:

Do further research on each pattern to have it explained. Just follow whichever article helps you understand the concept, language doesn't matter.

This book made everything click for me.

While yes, it's in ruby, it's great for anyone who just wants to learn how to code easily maintainable projects. The wisdom in this book is beyond any language.

Coursera is a great resource as someone else has already mentioned. is an excellent resource if you want to just watch a talk. While there's a lot of Python, there are many talks on various generic subjects like you're looking for.

Edit: autocorrect

u/Pawah · 2 pointsr/cscareerquestions

The Pragmatic Programmer

Practical Object Oriented Design in Ruby

Both have probably been the two best technical books I've ever read. They don't focus on syntax or an specific languages, but on good practices to follow when working as a Developer.

And don't worry about the title of the second book: it uses code examples in Ruby, but what it explains can be applied to every Object Oriented language

u/AdvancedPizza · 2 pointsr/rails

This. The tests and charity model look good, but the website controller has too much logic and is tricky to follow. Beginning on line 9, there are 4 nested ifs / unless, which could be improved.

This would be something that should be refactored into a number of smaller methods inside a model like models/donation.rb or something alone those lines.

I highly recommend Practical OO Design in Ruby by Sandi Metz. Her talks and writing are excellent and approachable and can applied in a number of contexts.

u/_Aggron · 2 pointsr/web_design

its hard to say where you should start picking up. If you've used VB (or rather, .NET), C# should be a good start. Its a very 'pure' oop language, microsoft has a lot of web stuff built on top of it that can make your life easier, and if your freelancing stuff doesn't work out, its a very popular language with corporate employers.

Python is a fine language. Rails, the ruby web framework, is more widely adopted than its python equivalents, and I personally prefer it. Both are very pleasant languages to work with, for a variety of reasons. My hesitation about learning these languages is that it might be more difficult to find resources that don't assume prior experience--ie, won't emphasis basics (especially object oriented programming and design).

I learned programming fundamentals in school, which I think gives me a more broad perspective than what you'd get reading tutorials. I think that some books would be a fairly good compromise, since they usually offer more depth than online tutorials. The definitive ruby book can be found here for free:

You might be more familiar with programming basics than I'm giving you credit for. Still, your frogger problem could be easily fixed by having a better understanding of OO programming and design. If you decide to go down the path of ruby, this book might be helpful: . Your concerns about not having the right mindset can probably be put to rest once you've developed a good understanding of OOP--something you almost definitely wont get out of learning PHP first.

u/_its_a_SWEATER_ · 2 pointsr/startups

Don't Make Me Think for anything needing a UI, and general Customer Experience.

u/octopi-me · 2 pointsr/userexperience

Sorry to hear that! I struggle with buy-in of the same things as a UX designer, so trust me it's not just you.

First struggle is with internal projects, they are typically a rocky road and hard to get finished so keep that in mind and don't beat yourself up. On a positive note, glad you are noticing that UX is needed!

Next you need to get buy-in from others in your company. Let them know that spending strategic/design hours upfront solving problems will save loads of money in the end by reducing development time and customer retention. Find some case studies or do some on your own for example. maybe offer some A/B testing of the current product to show them how a users experience and drive revenue/conversions.

For you, Id suggest a good place to start (if you haven't already) is reading Steve Krug's book titled "Don't make me think" (revised edition).

This will help frame your mindset around user centered design. Also wouldn't hurt to read Nielson Norman Group's 10 Heuristics for User Interface Design -

These are foundation pieces every UX designer/User Centered developer should know.

Hope that helps!

u/goldbond_on_my_plums · 2 pointsr/web_design
u/reddilada · 2 pointsr/learnprogramming

Not a web developer but these books are mentioned often:

The Design of Everyday Things
Don't Make Me Think

u/an_ennui · 2 pointsr/design_critiques

Thanks so much for writing that Medium article and being open about your findings. This is an invaluable resource and something I’ll refer to in the future. The world needs more transparent heroes like you. It reminds me a little bit of this article I read a while back about all the “secret sauce” that goes into a successful product beyond simply design + development, from the perspective of a failed entrepreneur.

While it looks like you marketed somewhat, you may have not marketed quite enough—featured Tweets, Facebook posts—to your target demo. So that’s one guess.

> I think many users in the app creation space are very conscious of design, and may be dissuaded because of that.

Asking designers what’s wrong with my product? will always give you the obvious answer: your design could be improved. Which, for the record, you should always translate in your head to: As a designer, I would design that differently—not necessarily better or worse—just…differently. However, considering you’ve built a design tool for designers, that’s a very likely possibility not to be ruled out. For someone familiar with Sketch, e.g. the UI is very complicated and off-putting, yet doesn’t have basic operations such as alignment / distribution. A minor point is that the visual style of the elements are less appealing than both iOS’ and Android’s design, but as you said, that’s an easy fix.

It’s apparent how much work you’ve put into this, and I’d like to see this succeed. I’d also like to think the issues are solvable with a little design and UX TLC (ironically, yes—the marketing site’s UX for UX-App is somewhat lacking in communicating what the app does before signing up).

Anyway, I would suggest 2 things:

  1. Hiring an experienced UI designer to redesign the marketing site layout and app UI (not merely paying for consultation; there’s too much to address even for a formal consultation)
  2. Conducting in-person user testing to get the real user feedback you need. Chapter 9 in Don’t Make Me Think has the best, cheapest, most effective intro to user testing I’ve run across. If you follow that chapter (and book) you can’t go wrong.
u/mynameisgoose · 2 pointsr/userexperience

Get the book "Don't make me think", by Steve Krug.

It's a book all about usability. Naturally, given the subject matter, the book itself is a very easy read. It's a good basis for the principles of what make up a great user experience.

UX and UI go hand in hand, however like web design and SEO, they can be a whole discipline all by themselves.

If you want to focus on the design side, really sharpen your prototyping abilities with tools like Axure, as you've mentioned or Sketch. Play with Adobe XD preview, because I'm sure that will end up having a huge impact later down the road and will get you ahead of the curve. Start thinking about on-site interactions (i.e. how buttons should act when clicked, transitions, etc.)

If you want to be on the UX side of the coin, I would still learn Axure and prototyping tools, but mostly for wire framing. I would then study on usability testing and how to gather site data. It will become very important in this type of role to understand how site statistics and user actions affect your conversion rate (in regards to whatever your site's call to action is).

I mean...absolutely do all you can to learn both UX/UI, but in a lot of companies, your designers will be separate from your analysts. You might want to consider what you want to spend the bulk of your time doing later down the road and sharpen that facet as much as you can.

Being solo is tough...I'd honestly try to learn what you can in that role and on your own then move on to a place that can facilitate further growth.

Good luck, OP.

u/the5and10 · 2 pointsr/web_design

Off the top of my head, two books come to mind that you should check out.

Mobile First by Luke Wroblewski

Don't Make Me Think by Steve Krug

u/ijurachi · 2 pointsr/web_design

If you want to really make a career out of it and want to be good at it, prepare for a long journey. Web design is a mix of programming and graphic design. Design involves a lot more than you think and is just as, if not more tedious than programming (there's a reason why it is a 4 year degree). To start, learn about design theory, layout, the grid system, color theory, typography. Some of these topics will be tough to find online. A bit of design history wouldn't hurt either. Then look up User Experience and User Interface design. A good book to read is Dont Make me Think. Then you should start getting into HTML, CSS and Javascript for front-end design and at least one scripting language.

u/cplcupcake · 2 pointsr/graphic_design

Actually there's a new version of Don't Make Me Think!

u/shootathought · 2 pointsr/javascript

I did a quick search and don't see that anybody has mentioned this book before, but a UI designer friend of mine recommended this one to me when I was considering stepping from technical writing to UI design. Don't Make Me Think: A Common Sense Approach to Web Usability. It's a short-ish book (206 pages) and well written.


edit: changed link to third edition.

u/wes321 · 2 pointsr/Entrepreneur

The two books I'd recommend are Founders at Work
and Don't Make Me Think . even though this is more on the technical side it's an amazing book about user experience which most entrepreneurs should try to master :)

"Behind the scenes" meaning stories that aren't fabricated to make good TV but to give the viewer a better understanding of what goes on behind a product / website. TED talks are great with that so I'd highly recommend watching these

The more dramatic but easy to keep in the background type shows are

u/chromarush · 2 pointsr/userexperience

I am self taught and design applications for human and system workflows at a Internet security company. I am biased but I don't think a degree will necessarily give you more hands on skills than just finding projects and building a portfolio to show your skills. There are many many different niche categories, every UX professional I have met have different skill sets. For example I tend in a version of lean UX which includes need finding, requirements validation, user testing, workflow analysis, system design, prototyping, analytics, and accessibility design (not in that order). I am interlocked with the engineering team so my job is FAR different than many UX professionals I know who work with marketing teams. They tend to specialize very deeply in research, prototyping, user testing, and analytics. Some UX types code and some use prototyping tools like Balsamiq, UXpin, Adobe etc. There is heavy debate on which path is more useful/safe/ relevant. Where I work I do not get time to code because my team and I feel I provide the best value to our engineering team and internal/external customers by doing the items listed above. The other UX person I will work with me on similar activities but then may be given projects to look at the best options for reusable components and code them up for testing.


u/SlashLes · 2 pointsr/graphic_design

Crap, its coming out on 30th of December :(

u/jeffderek · 2 pointsr/crestron

Agree completely on Design of Everyday Things and 100 Things Every Designer Needs. They're both top tier books.

I also enjoy Don't Make Me Think, which is a web design book and has a lot of stuff that doesn't apply to touchpanels, but it espouses a method of looking at your design that I have found very useful for touchpanel design as well.

u/messacz · 2 pointsr/mongodb

It's normal thing in distributed systems. It's pretty logical :)

u/ProfessionalTensions · 2 pointsr/financialindependence

Honestly, I just read a lot of blog posts. Sometimes for fun, but most of the time when I'm trying to solve a specific problem. I also make sure to document what I'm learning in github (like this (not mine)) and throw up any personal projects I work on. I also try to creatively mention in interviews that I'm self-taught and always ready to learn more. I know I've gotten lucky along the way, but I also spend hours and hours applying to jobs.

If you want hard resources: the Kimball approach was one of the first things I got familiar with and Designing Data-Intensive Application is a great modern day resource. Both are pretty dry, but once you find yourself in a situation where their knowledge applies, you'll be thankful for it a thousand times over. I've even had the Kimball approach come up in an, you never know.

Edit: I also like to watch all of the PyCon videos that even remotely relate to data.

u/tpintsch · 2 pointsr/datascience

Hello, I am an undergrad student. I am taking a Data Science course this semester. It's the first time the course has ever been run so it's a bit disorganized but I am very excited about this field and I have learned a lot on my own.I have read 3 Data Science books that are all fantastic and are suited to very different types of classes. I'd like to share my experience and book recommendations with you.

Target - 200 level Business/Marketing or Science departments without a programming/math focus. 
Textbook - Data Science for Business
My Comments - This book provides a good overview of Data Science concepts with a focus on business related analysis. There is very little math or programming instruction which makes this ideal for students who would benefit from an understanding of Data Science but do not have math/cs experience. 
Pre-Reqs - None.

Target - 200 level Math/Cs or Physics/Engineering departments.
Textbook -Data Mining: Practical Machine Learning Tools and Techniques
My comments: This book is more in depth than my first recommendation. It focuses on math and computer science approaches with machine learning applications. There are many opportunities for projects from this book. The biggest strength is the instruction on the open source workbench Weka. As an instructor you can easily demonstrate data cleaning,  analysis,  visualization,  machine learning, decision trees, and linear regression. The GUI makes it easy for students to jump right into playing with data in a meaningful way. They won't struggle with knowledge gaps in coding and statistics. Weka isn't used in the industry as far as I can tell, it also fails on large data sets. However, for an Intro to Data Science without many pre-reqs this would be my choice.
Pre-Req - Basic Statistics,  Computer Science 1 or Computer Applications.

Target - 300/400 level Math/Cs majors
Textbook - Data Science from Scratch: First Principles with Python
My comments: I am infatuated with this book. It delights me. I love math, and am quickly becoming enamored by computer science as well. This is the book I wish we used for my class. It quickly moves through some math and Python review into a thorough but captivating treatment of all things data science. If your goal is to prepare students for careers in Data Science this book is my top pick.
Pre-Reqs - Computer Science 1 and 2 (hopefully using Python as the language), Linear Algebra, Statistics (basic will do,  advanced preferred), and Calculus.

Additional suggestions:
Look into using Tableau for visualization.  It's free for students, easy to get started with, and a popular tool. I like to use it for casual analysis and pictures for my presentations. 

Kaggle is a wonderful resource and you may even be able to have your class participate in projects on this website.

Quantified Self is another great resource.
One of my assignments that's a semester long project was to collect data I've created and analyze it. I'm using Sleep as Android to track my sleep patterns all semester and will be giving a presentation on the analysis. The Quantified Self website has active forums and a plethora of good ideas on personal data analytics.  It's been a really fun and fantastic learning experience so far.

As far as flow? Introduce visualization from the start before wrangling and analysis.  Show or share videos of exciting Data Science presentations. Once your students have their curiosity sparked and have played around in Tableau or Weka then start in on the practicalities of really working with the data. To be honest, your example data sets are going to be pretty clean, small,  and easy to work with. Wrangling won't really be necessary unless you are teaching advanced Data Science/Big Data techniques. You should focus more on Data Mining. The books I recommended are very easy to cover in a semester, I would suggest that you model your course outline according to the book. Good luck!

u/AKGeef · 2 pointsr/datascience

I don't know of any MOOCs that use Keras, so your best bet might be going through their documentation.

If you are looking for a Data Science MOOC that uses Python, University of Michigan has one here.

Also, another great resource is Joel Grus's book called Data Science from Scratch.

u/Dansio · 2 pointsr/learnprogramming

Then learning Python would be very useful for you. I have used the book called Automate the Boring stuff (Free).

For data science and machine learning I use: Data Science from Scratch and Hands on Machine Learning with Scikit-learn and Tensorflow.

For AI I have used Artificial Intelligence: A Modern Approach (3rd ed.).

u/Gimagon · 2 pointsr/neuralnetworks

I would highly recommend Aurélien Géron's book. The first half is an introduction to standard machine learning techniques, which I would recommend reading through if you have little familiarity. The second half is dedicated to neural networks and takes you from the basics up to very results from very recent (2017) literature. It has examples building networks both from scratch and with TensorFlow.

If you want to dive deeper, the book Deep Learning is a little more theoretical, but lacks a lot of low level detail.

Joel Grus's "Data Science From Scratch" is another good reference.

u/Sarcuss · 2 pointsr/AskStatistics

Although I am not a statistician myself and given your background, some of my recommendations would be:

u/dissss0 · 2 pointsr/sysadmin
u/alinroc · 2 pointsr/SQL

Itzik Ben-Gan has several books that come highly recommended. Carlos Chacon's Zero to SQL book is new and I've heard positive things.

u/321_kaboom · 2 pointsr/VirginiaTech

I'm in the process of learning SQL myself. I can write queries but I'm a beginner; taking Microsoft's 761 SQL exam at the end of the month...

I'm using two things to study for the exam:

-Free class in

-Book in T-SQL Fundamentals with exercises, $40 bucks

This is just what I've been using. T-SQL is the Microsoft flavor of SQL. I checked out the W3Schools website that someone suggested and it looks really good. Between that and the class (free) you will be up and running.

u/choleropteryx · 2 pointsr/CasualMath

Books on Fractal Geometry tend to have pretty pictures:

Indra's Pearls: The Vision of Felix Klein by David Mumford et al.

Beauty of Fractals by Heinz-Otto Peitgen et al

Fractal Geometry of Nature by Benoit Mandelbrot

For what it's worth New Kind of Science by Stepeh Wolfram has tons of pretty pictures, even if the content is dubious.

you might also want to checkout the Non-Euclidean Geometry for babies and other similar titles.

u/FrontpageWatch · 2 pointsr/undelete

>Hi /r/learnprogramming. I started programming 6 months ago, going from zero programming knowledge to having my pick at several NYC start-up web developer job offers. I got started by reading /r/learnprogramming, but eventually began building projects, participating in open source, reading books, and pair programming with other developers.
>To express my gratitude for this community and the impact it’s had on my path to becoming a developer, I’d like to share with you the steps I took.
> W3Schools
HTML/CSS by Jon Duckett
>I had a head start with HTML and CSS because I worked as a product designer in college. Jon Duckett's book was a great resource for the fundamentals. To practice, I worked on my personal website’s HTML and CSS.
>2. JavaScript / jQuery / AJAX
>Resources: Eloquent JavaScript
>This book is very good for beginners, as it teaches JavaScript step by step, from basic syntax, all the way to higher-order functions, object orientation, algorithms, and jQuery. It's very clear and well written; I never had to look anything up on Google while reading. It also gave me many ideas for projects to build for my portfolio.
>When you want to animate elements on your webpage, jQuery is the tool to use. I also learned this by reading StackOverflow answers and the jQuery documentation. You don't have to learn this before you get a web page up on the Internet, but you will need it eventually. AJAX lets you make asynchronous web calls, which allows you to change the DOM (the elements on the web page) without refreshing the page, allowing for a smoother user experience.
>To sharpen my JavaScript knowledge, I added animations to my website, and made a table whose cells change to a randomly generated color when clicked. I eventually refactored the hex code generation to a Ruby gem, then used AJAX calls to retrieve the data from the server — in a Ruby on Rails app.
>3. Git
> StackOverflow
Pair programming
>Git is how developers save and share their work, and collaborate with each other.
>While Git is a very complex tool, there are only four basic commands you really need to be effective from the start. "status", "add", "commit", "push". These four commands will be like your arms and legs because you type them tens of times everyday. If you find yourself needing to do something fancier, then StackOverflow likely has the answer.
>Since you can’t really practice Git on its own, the only way to become comfortable with it is by incorporating it into your development workflow.
>4. Ruby
>Learn to Program by Chris Pine
>This book is structured like Eloquent JavaScript, except for Ruby. It was a great introduction to the Ruby language because the author wrote the book for total beginners.
>The Well Grounded Rubyist by David A. Black
>This book builds upon your basic Ruby knowledge. It's gives a very in-depth look at Ruby's core API, including syntactic sugar, metaprogramming, and other Rubyisms.
>To hone in on my Ruby skills, I worked on a number of projects. I started with easy problems on Project Euler, then worked my way up to solving harder ones, like Hangman, 24, and Sudoku.
>5. Twitter Bootstrap
>This is used to quickly stylize web pages. I learned by watching Youtube videos, reading other peoples’ code on GitHub, and the official Bootstrap documentation. This is a great tool that everyone web developer needs to learn to use.
>Once I read a bit about Bootstrap, I added it to my own personal website to get some practice and to make it look better.
>6. SQL
>SQLzoo is great because it encourages learning by doing.
>I went light on SQL because I knew about ActiveRecord, a tool available in Rails that lets us query our database with plain old Ruby.
>7. Ruby on Rails + Testing
> One Month Rails
Rails 4 in Action
>* Everyday Rails Testing with RSpec
>One Month Rails was the perfect introduction to Ruby on Rails because it doesn’t go deeply into technical details. I think it’s designed for entrepreneurs who just want to get an idea off the ground quickly. It made the content in Rails 4 in Action feel familiar.
>Rails 4 in action, although a bit frustrating at times because it’s outdated, walks readers through a test-driven approach to the building of a ticket management app.
>After reading as much of this book as I could, a friend of mine helped me revisit all of my old Ruby applications and test them.
>Although these resources were immensely helpful, I think having the mentorship of another developer made a greater difference in my learning. I had a friend who pair-programmed with me daily, reviewed my code, and showed me how to think like a software developer.
>If you're interested in learning more, you can visit Ruby on Richards and sign up for the free mailing list where I'm sharing a more detailed walkthrough of the path to becoming a professional web developer. There are also things you pay for, but the in-depth guide is free.

u/w400z · 2 pointsr/ruby

The Well Grounded Rubyist is a good desktop reference.

u/dacat · 2 pointsr/ruby

Ruby by Example

Design Patterns

Well Grounded Rubyist

by the time you finish those three.. you will know what you want to move to.

u/AQuietMan · 2 pointsr/DatabaseHelp

I think the best first book you can get is Bill Karwin's SQL Antipatterns. That book alone will keep you from making most of the mistakes that come back to bite new designers.

u/rbatra · 2 pointsr/SQL
u/gram3000 · 2 pointsr/Database

I think it would depend on your data and how its being used. There's a great book 'SQL Anti patterns' that explains different approaches, pros and cons and suggests alternatives:

u/mrmonkeyriding · 2 pointsr/webdev

I buy books because they go into a lot more details, or often are written really well, and easy to follow. Also, it's really nice to read paper. Often I keep books in the office as it's a quick and reliable way to research a topic in-depth without scrolling through hundreds of shit articles on a particular (and even controversial subject).

I really recommend these:

High Performance MySQL: Optimization, Backups, and Replication - I've read snippets, but it's recommended a lot and very good for more advanced readers.

SQL Antipatterns: Avoiding the Pitfalls of Database Programming - VERY beginner friendly, easy to read, follow, provides real and common scenarios and explains the anti-pattern, it's problems, the reasons to sometime excuse their use, and solutions. I love this book.

The Go Programming Language - Very good read, not TOO technical jargon, very nice to read, explains in depth and in an understandable way.

I've had plenty more over the years, but these are my current I have at home. Still more on order. :)

u/stimtowin · 2 pointsr/design_critiques

Hey letmethinkabit,

I'd like to throw in my $0.02 from a usability perspective in regards to the "continue" modal that your_gay_uncle touched upon. More specifically, the last segment where you point out where the menu button is.

If you have to tell your users where something as critical as the menu is(and telling them with words to boot), you are doing usability wrong.

There's a highly regarded book on usability that I recommend you read(it's short, just under 200 pages), called "Don't Make Me Think!" by Steve Krug. Here's a non-referral Amazon link:

Here's an excerpt from Chapter 1 that pertains directly to what you're doing with that "here's the menu" dialogue:

> Don't make me think!

> For as long [as] I can remember, I've been telling people that this is my first law of usability.

> It's the overriding principle---the ultimate tie breaker when deciding whether a design works or it doesn't. If you have room in your head for only one usability rule, make this the one.

> For instance, it means that as far as is humanly possible, when I look at a Web page it should be self-evident. Obvious. Self-explanatory.

> I should be able to "get it"---what it is and how to use it---without expending any effort thinking about it.

> (Krug 11)

Also note that people do not like to read. Especially when they're visiting your website. So I would cut probably that entire modal popup segment, maybe you could tuck that information somewhere else like an 'About' page where people who are looking for it can find it, rather than assaulting all of your visitors with it. Try to think of your user experience from the other side of the table; something broke and you need an IT company to fix it. When you visit this hitechwolf site, you are immediately confronted with a lot of reading that you have to do. You have failed to convey any sort of value within the initial landing, and most people will probably just hit the back button. Even more so if they happen to press 'continue' once, and they are not allowed to continue(because your modal has three segments.)

Another usability note, for your six panel buttons on the bottom half of the page: make the text that appears on hover display even when not hovering. Your users shouldn't have to interact with something to figure out what it does. Here are some good ideas for progressive enhancements on hover:

Good luck and don't stop, design is hard!

u/eaz135 · 2 pointsr/simpleios

I think adding a reading list to this would be a good idea:
For intermediate iOS developers looking to take things to the next level I would recommend at least the following:

u/TweetTranscriber · 2 pointsr/chile

📅 2018-04-23 ⏰ 23:56:15 (UTC)

>Sex differences in age preferences: Women tend to rate men roughly their own age as most attractive; men tend to rate women in their early twenties as most attractive, regardless of their own age #chi2018 @okcupid

>— Steve Stewart-Williams (@SteveStuWill)

>🔁️ 24 💟 64

📷 image


^(I'm a bot and this action was done automatically)

u/notahitandrun · 2 pointsr/askgaybros

I'm around your same age and demographic as the OP and I am in the SF Bay Area. I have had countless guys do what you describe. Seems like major issues with communication and or other options. I find the same dudes often on Grindr, A4A, and other sites with differing more risque text in their profiles (conflicting what they say on OKcupid; maybe they are swamped with guys on the apps or their mailboxes).

Like you I find it quite weird they will message me, or we "match" which means they took the effort to do both and they never respond. Maybe its similar to Tinder everyone wants a self esteem boost but doesn't want to put much effort out for anything else. I've tried the direct route, the talk on the phone or have a drink route and the flirty chat route. It just seems guys on Okcupid are flakes (I even get guys from other areas contacting me). I think some of them are using it as a instantaneous chat function or geo-located grindr functionality (the app), but when you respond a day latter no response, maybe they have found someone else or messaged many others. It a free site after all (not paid like match).

Like you my response rate is low but not out of being too picky, there are some straight up freaks who contact me and have nothing in their profile, or never read mine and you can tell from the questions and text or guys across the world who want a bf. The vibe I get from Okcupid is they match with you and don't really checkout the questions, then latter they read the question find one they don't like and ignore you. For instance I have many "tops" contact me and realize its not going to work based on the questions they finally read. Try taking a look at your most important rated questions and seeing if there is something they can reject you for by looking at compatibility on their profile. The silly thing about OKcupid is it gives you a match rating based on those questions that can be answered multiple (various) ways and sometimes really don't matter or mean your compatible with a date.

I also find the average age is on the young side with guys in their 30s and over being pretty rare. I read the book Dataclysm by the guy who had the OKcupid blog. He said on average you contact 1000 people and maybe get 10 responses (those are based of of straight interactions), so imagine the more superficial and flakey gay world. He also said too many pictures is bad it gives someone a reason to reject you or too many questions answered, yet if you don't answer questions you don't get shown on wall (where everyone answers new / re-answers questions). Okcupid is the equivalent of Grindr or Craiglist, lots of response but little follow through or real dates. There was a guy in LA (UCLA) who was a mathematician who supposedly quantified and was able to game okcupid, he had to respond to thousands of profiles (he used UCLA's Super Computers as bots) to get a gf and went on countless dates a day.

u/TajMy · 2 pointsr/MGTOW

> some guy

Not just "some guy", but a co-founder of OKCupid, who just happened to have a mathematics degree from Harvard. The man and his book.

u/htedream · 2 pointsr/Clojure

most of the algorithms books are for any programming language as long as they are imperative.

as far as functional languages go, there are:

u/NLeCompte_functional · 2 pointsr/haskell

I have not read Functional Programming In Scala so I am unsure of the scope.

But Purely Functional Data Structures is a classic:

It's largely focused on SML, but all the examples are also given in Haskell. And for learning Haskell (or Scala/F#/Agda/etc), porting the SML examples is a good exercise.

u/jdh30 · 2 pointsr/rust

> To be honest I don't entirely understand the term "functional data structure" I'm sort of new to functional programming myself.

I'm sure you're familiar with the idea of an immutable int or double or even string. Purely functional data structures just extend this idea to collections like lists, arrays, sets, maps, stacks, queues, dictionaries and so on. Whereas operations on mutable collections take the operation and collection and return nothing, operations on purely functional data structures return a new data structure.

Here's an example signature for a mutable set:

val empty : unit -> Set<'a>
val contains : 'a -> Set<'a> -> bool
val add : 'a -> Set<'a> -> unit
val remove : 'a -> Set<'a> -> unit

and here is the equivalent for a purely functional set:

val empty : Set<'a>
val contains : 'a -> Set<'a> -> bool
val add : 'a -> Set<'a> -> Set<'a>
val remove : 'a -> Set<'a> -> Set<'a>

Note that empty is now just a value rather than a function (because you cannot mutate it!) and add and remove return new sets.

The advantages of purely functional data structures are:

  • Makes it much easier to reason about programs because even collections never get mutated.
  • Backtracking in logic programming is a no-brainer: just reuse the old version of a collection.
  • Free infinite undo buffers because all old versions can be recorded.
  • Better incrementality so shorter pauses in low latency programs.
  • No more "this collection was mutated while you were iterating it" problems.

    The disadvantages are:

  • Can result in more verbose code, e.g. graph algorithms often require a lot more code.
  • Can be much slower than mutable collections. For example, there is no fast purely functional dictionary data structure: they are all ~10x slower than a decent hash table.

    The obvious solution is to copy the entire input data structure but it turns out it can be done much more efficiently than that. In particular, if all collections are balanced trees then almost every imaginable operation can be done in O(log n) time complexity.

    Chris Okasaki's PhD thesis that was turned into a book is the standard monograph on the subject.

    In practice, purely functional APIs are perhaps the most useful application of purely functional data structures. For example, you can give whole collections to "alien" code safe in the knowledge that your own copy cannot be mutated.

    If you want to get started with purely functional data structures just dick around with lists in OCaml or F#. Create a little list:

    > let xs = [2;3];;
    val int list = [2; 3]

    create a couple of new lists by prepending different values onto the original list:

    > list ys = 5::xs;;
    val int list = [5; 2; 3]

    > list zs = 6::xs;;
    val int list = [6; 2; 3]

    > xs;;
    val int list = [2; 3]

    Note how prepending 5 onto xs didn't alter xs so it could still be reused even after ys had operated on it.

    You might also want to check out my Benefits of OCaml web page. I'd love to see the symbolic manipulation and interpreter examples translated into Rust!

    > Personally I used Atom for a while, until I learned how to use Vim, now I use that. IDE information for Rust can be found at

    Excellent. I'll check it out, thanks.
u/stulove · 2 pointsr/compsci

On the functional programming front, Purely Functional Data Structures has some fun stuff in it. You should be really familiar with functional languages before going through it though.

u/Mason-B · 2 pointsr/programming

An immutable list is implemented as described by the other responses, but equivalent immutable data structures exist for all mutable data structures. Immutable arrays with O(1) lookup and O(1) 'assignment', which of course enables O(1) dictionaries. And all the others.

This talk by Rich Hikley, creator of Clojure, has a good example of how it works (About 23 minutes in, but the rest of the talk is good). Also see Purely Functional Structures for an indepth look at it, and many more.

u/24x7man · 2 pointsr/PHP

If you don't really know how to code, I would vote for PHP. There are tons of books, tons more examples, and is pretty easy to get started on with WAMP and LAMP stacks.

I personally started PHP using this book:

But, if you don't want to take a formal training after this, dive in. It'll take a bit, but you can search and read for the stuff directly what your after. I have built a couple applications this way, and was fun.

u/joeschmidt45 · 2 pointsr/AskReddit

I would go with this:

The Headfirst series really helped me get my jump start into programming, and I think this would be really helpful for you.

u/PatrickMorris · 2 pointsr/PHP

Head First PHP & Mysql

The Head First series is really good, they will walk you through the language using numerous mini projects and some bigger ones, giving you a little head start in the right direction for each one. The books in this series always get great review

u/no_dice_grandma · 2 pointsr/learnprogramming

For PHP and MYSQL I really liked this book:

It doesn't have much in the way of JS, and it is not free, but the 20 dollar kindle version is worth it in my opinion. The high reviews are accurate, and the author doesn't spend much time with stuff like "this is a variable, a variable is blahblah!!"

I haven't made it all the way through yet, as I am currently picking up Java at the same time for work, but so far the book is great.

u/AjdinSamurai · 2 pointsr/learnprogramming

Add "" around free.This is an amazon link.I am short on money too but at least I will say it's pirated.

u/systematical · 2 pointsr/PHP

I grabbed a book from my local library 12 years ago and thats how I started. Went through half the book doing all the samples by hand, modifying them, even the dumb loop examples. It was this one

I'd start by rummaging through your local library. The book will act as a lecture, you can use google for the rest. It's best to have a project in mind that you will build. It was at least motivating for me knowing that once I got through enough of the book I could actually build what I wanted. Wasn't pretty to start, but it worked.

u/FurriesRuinEverythin · 2 pointsr/PHP

This was the book that helped me learn a lot of what I know

It's probably considered somewhat dated with all the current obsession with OO, MVC and "unzip and run" web apps. I'm not sure though as I had the first edition, years ago. But it is one of the best PHP books out there for beginners.

u/pisskidney · 2 pointsr/PHP

read this
then this

Build something you like while reading them.

u/U3011 · 2 pointsr/web_design

Here's a good list I keep posting because people often ask the same question - not like it's a bad thing.

In any case follow the below, but I really suggest for total newbies to first go through the course Codecademy offers. It won't teach you much in how to do things but the syntax education is good. Follow their HTML and CSS courses and when you're done, create a site using just HTML and CSS. Once done, try to emulate a few of your favorite sites using just these two languages.

Once done you should check out the free 30 day Tutsplus courses on HTML/CSS and jQuery. At some point you will want to go back to Codecademy and take their JS course. Syntax and method of doing or starting certain things is important. It's incredibly easy to pickup the actual methods of doing things once your head understands the syntax used.

Any form of education that follows a hierarchical format makes for easy learning.

Codecademy isn't bad. It won't teach you much in the way of doing things but it does teach you the way to type out code, the general process and stuff. I can't speak for myself because I work as a professional developer and have been tinkering with code for 10 years now, but I did give the first lesson to one of my brothers. He's not great with computers or the Internet, but he was able to follow the first two sections of the basic HTML/CSS course and able to make his own site albeit very basic in nature nearly a month later (3 week gap following him doing the lessons). He was able to do a rough basic site of his Facebook profile, and he nailed it. It should open doors for you in terms of having the basic knowledge of how to do things. It'll allow you to read more advanced stuff and pick it up much faster than if you hadn't.

Below is a list I sent to someone on here a while back.


>PHP and MySQL Web Development (4th Edition)
>Beginning PHP and MySQL: From Novice to Professional
>Read the second book, do all the examples, then go back to the first book. Pay a lot of attention toward array manipulation. When you're comfortable with that, get into OOP. Once you do and OOP clicks for you, you'll be able to go to town on anything. I've heard a lot of good about Jefferey Way's video lesson courses over at TutsPlus. I've never used them nor do I need to, but I've never heard a single bad thing about their video courses. Their Javascript and Jquery is a great starting point. This is great stuff too if you're willing to put in the time.
>Professional JavaScript for Web Developers
>JavaScript: The Definitive Guide: Activate Your Web Pages
>Responsive Web Design with HTML5 and CSS3
>The Node Beginner Book
> Professional Node.js: Building Javascript Based Scalable Software
>Paid online "schooling":
>I've got a shit ton (Excuse my French) of books in print and E-Format that I could recommend, but it would span a couple pages. Anything is easy to learn so as long is it's served in a hierarchical format that makes it easy to absorb the information. A year ago I started to learn Ruby and using ROR as a framework. I can say it's been quite fun and I feel confident that I could write a fully complete web app using it. I started node.JS a few months ago, but it's been on break due to being sick and some unexpected events.
>My knowledge is extensive only because I wanted it to be. I'm not gifted by any means nor am I special. Not by a longshot. Some people are gifted when it comes to dev and design, most are not. Most only know one or the other. I forced myself to learn and be good at both. I'm 23, I started when I was about 12. I'm only breathing more comfortably now. I know a load of people on here and other sites who make me look like complete shit.
>Also for what it's worth, sign up to StackOverflow. It's the bible and holy grail rolled up into one site. It's amazing.
>Hattip to /u/ndobie
>> CodeAcademy
Team Treehouse
> CodeSchool. This is more programming but still very useful & has free stuff.
> Google. Probably the best way to find out how to do something specific.
This subreddit. If you have any questions about how to do something, like parallax scrolling, try searching for it, then ask, make sure to include an example of what you want if you don't know what it is called.

u/SandyZoop · 2 pointsr/PHP

My company is working on an introductory PHP book, but I'm not sure when it'll be out (my hope is soon). It will be up to date, at least.

Until then, the most solid introductory one I've found is Luke Welling and Laura Thomson's book. It, too, is a bit long in the tooth now, but it's pretty solid. They are working on a new edition, apparently, which I'll recommend until my wallet says to trash it in favor of ours. ;)

For free resources, as always, I'll plug PHP the Right Way which really does cover up-to-date practices for developing with PHP and also covers lots of PHP 5.4 and 5.5 stuff.

u/shinigamiyuk · 2 pointsr/learnprogramming

I learn by doing: Become a PHP developer from Treehouse. I have found that treehouse is pretty basic for learning, but you are leaning by project based. They do keep adding stuff though, this is not apart of the learning adventure but they just finished using PHP with MYSQL. I like the flow and challenges and type everything out that they are doing. There is also this great PHP book, it was written in 2008 but I didn't have any trouble with the text, or project. You basically build a dynamic web app that you keep adding features to. First book I have picked up that kept me interested from chapter to chapter. I normally get programming books and never read them, or get super bored with them.

u/youlleatitandlikeit · 2 pointsr/webdev

Mastering Regular Expressions is a joy to read and makes you a better user of this powerful (and misunderstood) tool.

SQL in 10 Minutes is easily the best introduction to the most common SQL you'll need to use unless you're actually planning on being a full DBA. Anyone who ever needs to step outside of an ORM should have a basic understanding of SQL and this book is it. Short, understandable, and to the point.

A lot of the books that really helped me as a developer back in the late 90s and early 00s just aren't as relevant anymore:

  • JavaScript, the Definitive Guide by David Flanagan (just use online resources)
  • The ColdFusion Web Application Construction Kit — I don't do much ColdFusion development anymore, Ben Forta's book is way out-of-date, and again most of the info you need is now online.

    Then there are books about programming. These books still remain fairly relevant even as technologies change.

  • Code Complete & Rapid Development, both by Steve McConnel
  • Head First Design Patterns
  • Don't Make Me Think (more about interface design; an essential read for people who touch the front end)
u/beaverteeth92 · 2 pointsr/statistics

If they're that big, you might want to look at PortgreSQL. Especially if you aren't doing anything too complicated. To learn SQL, I highly recommend Sam's Teach Yourself SQL in Ten Minutes.

u/masterprtzl · 2 pointsr/todayilearned

Relational databases are definitely a lot better and scalable in the long run than excel spread sheets. I would recommend the book "Teach yourself SQL in 10 minutes" as a great way to familiarize yourself with the basics.

u/dangoodspeed · 2 pointsr/SQL

I bought the book "Sams Teach Yourself SQL in 10 Minutes", where each chapter teaches a new idea and should take about 10 minutes to read. I found it pretty handy and informative.

u/thephilski · 2 pointsr/SQL

>data warehouse toolkit

Can you confirm that this is the book you are referring to? Amazon Link

u/flipstables · 2 pointsr/cscareerquestions

BI? How much about data warehousing theory do you know? I hope you have a thorough understanding of Kimball's methodology.

For ETL, focus on specific ETL tools (e.g. SSIS) but also know how to custom build your own tool from the ground up using a scripting/programming language. You could strictly specialize with one vendor like Microsoft or you could branch out to other BI stacks.

If you want to be more of a "full stack" BI developer, again you have to figure out whether you want to be a Microsoft specialist or know the range of technologies out there. If you don't know, I would focus my energy on learning vendor neutral skills for now and figure the rest out later. For instance, you're going to want to learn MDX very, very well no matter which platform(s) you decide to pursue.

u/disastermaster254 · 2 pointsr/computerscience

Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics

And this is the book I'm using. I have no idea how to link and make it words so here you go lol

u/codeycoderson · 2 pointsr/cscareerquestions

This book and this one

I bought the first one a little while ago (a few weeks) and have really only sat down at my computer and worked through some stuff for 2 or 3 nights a couple hours a night and have my site up already. While it's suuuper basic and there's going to be a lot more to come and probably a lot of design changes, it's exciting to know that you have a working website up.

I'm a full time student with a part time job and I've been working on webdev in the little free time I have and it's awesome. Start with some books, see if you're interested, then continue. I don't have any info on colleges or anything, sorry, that seemed to be what you're looking for.

Also, /r/webdev and /r/web_design are great resources! Good luck!

u/microgrower · 2 pointsr/HTML

Great to hear man!

I also found a review on that book that he would recommend this book instead, because it's more of thorough book on the subjects

u/Nessnah · 2 pointsr/UIUC

Wish I had seen this post sooner, not sure if you'll still see this but I was pretty much in the same situation as you this past year. Statistics student trying to get into data analytics (insurance/finance). Most of these tips have already been mentioned but they are definitely valuable if you are trying to get an internship and don't have any other experience.

  • Go to career fairs. Career fair is a MUST if you don't have anything that stands out in your resume. If you don't have a perfect GPA, any internship/research experience, or noticeable personal projects then your resume won't stand out much against the hundreds of others that are submitted online. Going to a career fair gives you the chance to stand out or at least be memorable for recruiters. I applied to probably over 50 companies as well for my internship but the majority of my interviews came from career fairs. Also make sure to not limit yourself to just the Statistics/Actuarial career fair since this one is fairly small compared to others and options are much more limited. I researched some of the companies that were at the Business and Engineering fair and the positions that would be relevant for a statistic student; I got more interviews from these fairs than the Statistic one that happens later on in the year.

  • Update/Review your resume. You mentioned you only got one interview (that wasn't even relevant) out of ~50 applications which is pretty low even for someone without prior experience. Make sure your resume is formatted well and have others review it. I'm on r/cscareerquestions a lot and they have some good daily resume threads on every Tuesdays (even if you're not cs the formatting can be similar in that you should list languages/technology along with personal projects). There's also an LAS resume review office on campus available for students. When I went the professional reviewing my resume didn't know much about STEM related careers but he was able to give me some general resume tips (e.g. consistent spacing, action words, typos/grammar, eliminating white space). Also make sure your resume is always in PDF format when you submit it; resumes submitted as DOC files were usually the worst resumes at my previous job.

  • Learn and apply languages/statistical packages related to your field. Earlier you said that you are interested in learning Python and R which are very popular in most data analytic roles. Depending on how far you are in your STAT courses I wouldn't worry too much about R since it'll be used in a lot of STAT 400+ classes. Codeacademy would be a good start as an introduction to Python along with the other resources people have mentioned. After going through some of those online resources I'd also recommend you to take a look at Python for Data Analysis, it can be a difficult read but you will learn a lot about important packages that are used in the industry (NumPy, Pandas, Requests, SciPy, etc).

  • Work on your soft skills. I'm not sure if this applies to you but make sure you've practiced ways of approaching recruiters and interviews in a confident and professional manner. Many of the recruiters at the career fair are employees that work in which ever field they are trying to recruit in. On top of finding students that are qualified they also want interns that will be a good fit to their work culture. Being genuine and professional seems go a long way for interviewers/recruiters.

    All this being said, this should be taken with a grain of salt. I'm not a recruiter or a full time at a fortune 500, but these are some of the steps I took to get some internship offers this summer.
u/shaggorama · 2 pointsr/learnpython

I also do a fair amount of NLP and anomaly detection in my work and use python for both. The reason I suggested starting with numpy is because, as I suggested, it is the basis on which everything else is built on.

I learned python before R, then used R for my scientific computing needs, then learned the scientific computing stack in python after building out my data science chops in R. I've found the numpy array datatype much less intuitive to work with than R vectors/matrices. I think it's really important to understand how numpy.ndarrays work (in particulary, memory views, fancy indexing and broadcasting) if you're going to use them with any regularity.

It doesn't take a ton of time to learn the basics, and to this day the most pernicious bugs I wrestle with in my scientific (python) code relate to mistakes in how I use numpy.ndarrays.

Maybe you don't think it's that important to learn scipy. I think it's useful to at least know what's available in that library, but whatever. But I definitely believe people should start with numpy before jumping into the rest of the stack. Even the book Python for Data Analysis (which is really about using pandas) starts with numpy.

Also, I strongly suspect you use "out of the box" numpy more often than you're giving it credit.

u/tidier · 2 pointsr/Python
u/rhiever · 2 pointsr/Python
u/blue6249 · 2 pointsr/LinuxActionShow

>Like the concept of piping info between applications is just starting to make sense (even though I have no clue how it works).

Coming from a programming background it might be easier for you to think of each of the little unix core programs as a function. They all have options and generally do one thing really well. "grep" searches for things. "sed" does regex matching/replacment. "cut"... well it cuts out parts of files. The easiest way to figure out what something does is probably through the man page. (run "man grep" at the terminal). That being said some programs have -really- goddamn big man pages and are much harder to navigate. Bash, for instance, has an enormous man page.

The concept of piping makes more sense in the context of functions. In python you might write something like this:


Which would give you:


In bash you could write that as:

echo "hello" | tr '[a-z]' '[A-Z]'

That first command just prints out the string, but instead of printing it out at your terminal the pipe will send all of it's output to the "tr" command. ("man tr" will help you understand what it's doing there). Because tr does not have it's output being redirected it just gets printed back to the terminal.

>Question 1, should I stick with zsh or learn the basics of bash first?

I don't think you would have much of a problem learning either just so long as you understand that there will be minor differences between different shell languages. Those differences tend to be syntax rather than functionality, and when it is a difference in functionality it tends to be much less commonly used features. If you have to choose one I would recommend bash for scripting solely because it is somewhat more portable. "sh" is even more portable than bash, though it can be more painful to use since it doesn't have some of the nice features in modern shells. Remember that you don't have to use the same language for your shell and for your scripts. You just have to define a different shebang on the first line of the script.

>2. what are some things I can use scripting for (what do you use it for)?

I don't find myself scripting much at home. At work though I spend a TON of time writing various scripts. What I -do- use bash for a ton is one-liners. Once you get used to the syntax you can write some very useful code in just a couple lines. One example that I use frequently is "Run this command every 10 seconds forever" which can be written as

while sleep 10; do

The "watch" program does more-or-less the same thing, but I find it unwieldy once the commands inside get more complex.

An example of a somewhat longer, and arguably poorly written script for backups using tarsnap is here.

>Any explination for common commands would be awesome.

As I mentioned earlier "man" is your friend. The other option is "command --help". You can generally google for some examples, which can be really useful for some of the less easily grok'd programs (awk, for example).

>And I do know a bit of python and have heard of iPython. Could that be a replacement for bash or zsh or is that something completely different and I'm in over my head (very likely). Much thanks.

ipython is not going to be a good replacment for your standard shell. It's cool, and I use it frequently when coding in python, but it simply lacks the powerful integration with the system that bash/zsh has. What it is extremely useful for though is exploratory programming. What really opened my eyes on the subject was the book Python for Data Analysis.

Edit: Syntax

Also, for any shell junkies please don't complain about the non-necessary "echo" up there. I know you could use a here string, but I think it would defeat the purpose of an easily digested example.

u/Himmelswind · 2 pointsr/cscareerquestions

There's little backend stuff in CTCI besides the parallelism/concurrency chapter, unfortunately. You may have heard of them, but I'm a big fan of Computer Systems: A Programmer's Perspective and Designing Data-Intensive Applications.

u/Cobalt_Genie · 1 pointr/Design


So do you recommend any books on this subject? I'm trying to get a better handle on typical user flows and use cases…

Anyone read Don't Make Me Think by Steve Krug?

I was thinking of picking this up.

u/foodporncess · 1 pointr/IAmA

This is kind of the "bible" for UX: Don't Make Me Think by Steve Krug

This is another good one, particularly in the software design field: Lean UX: Applying Lean Principles to Improve User Experience

And then these websites are great:
Boxes and Arrows
User Interface Engineering
Nielsen Norman Group
UX Mag
UX Matters

u/tmartlolz · 1 pointr/web_design

Are they really any courses that are 'reputable' in the way that a potential employer cares about? I don't think so. Read some books, practice building and structuring UI without bootstrap, build a portfolio you're proud of. Don't Make Me Think is pretty good.

u/AnalyzeAllTheLogs · 1 pointr/web_design

I'd change the headline to a display typeface.

I prefer light, i'd be interesting if you just had a button to switch the theme from light/dark; probably upper right corner.

I'd lose the '10,000' dollar bit, seems gimmicky.

I'd be more interested in how they use the site: Useability testing book-> Don't Make Me Think

Edit: i'd do a bold on the text within the options and a slightly heavier stroke on the inactive buttons. I'd also condense the spacing between options just a bit, while making the first row of options after a question slightly more together (proportionally). It helps with visual grouping and relatedness; besides not having too much white space.

u/bluelite · 1 pointr/learnprogramming

The book Don't Make Me Think is a great, lightweight introduction to UI design and testing. There are no magic formulas; that is, it's impossible to state that "if your UI does X, Y, and Z, it'll be great!." But there are guidelines that you ought to follow--or consciously ignore.

Your UI is good if the majority of users can navigate it without asking for help of giving up. Start by testing your UI designs on a few friends. Give them some tasks to do. If they can accomplish the tasks, you're on the right track. If not, re-design and test again.

u/Xacto01 · 1 pointr/web_design

Don't Make Me Think. This is the 3rd edition. I read the 2nd edition and it is still applicable today. I would assume the 3rd edition would be just as good.

u/wizardApprentice · 1 pointr/AskMen

Thanks man - am currently reading Dataclysm, the book written by one of Okcupid's founders. You should check it out if you like data analysis.

u/Prof_Acorn · 1 pointr/dataisbeautiful

I'd guess it's from Dataclysm, which just came out.

u/tee_tea · 1 pointr/gaybros

I haven't actually read this, but it was written by one of the founders of okcupid. Hope it's some help.

u/soafraidofbees · 1 pointr/OkCupid

Har de har har to all the comedians replying to you... here are some non-joke answers:

  • Dataclysm, by OKCupid founder Christian Rudder
  • Tiny Beautiful Things: Advice on Love and Life from Dear Sugar, an advice columnist I happen to love who could teach a lot of OKC users a thing or two
  • OKCupid A-List gift subscription (you'd have to know their username... could maybe print out a homemade "coupon" for them to redeem with you later if you don't know it)
  • phone tripod, for taking better profile selfies
u/nunboi · 1 pointr/PoliticalDiscussion

OP it has nothing to do with politics in its outlook, but for the effects of gender and race based biases in practice, check out the book Dataclysm, but the Chief Information Scientist at OK Cupid:

u/myLifeAsThrowaway · 1 pointr/IncelTears

>As someone who has worked in research in the past

Sure, carrying a clipboard and harassing people in front of Costco gives you real authority on the matter. Here's a book by the same people that did the study. Since you're "in the biz" maybe it'll be interesting to you.

>Also, you may be any level of ugly, unless you are actually disfigured, there will be people interested on you as long as you have an interesting personality - it doesn't matter how much you say the opposite.

Well funny how I haven't found any of them. Must be my shitty personality, eh? Here's my OkCupid inbox from a few years back where I've used some normie's photos instead of my own, and my original (and rather long) profile content. I also tried the same profile content with my own pics, and hardy got any messages (and those that I did get were not friendly or flirty). Conclusion: F A C E

>first, it is because of society, then I show it's not

You didn't show me shit, you just said what you believe with nothing to support it.

>it's because men are not picky, then I show it's not true

You didn't show me shit, you just said what you believe about yourself.

>then it's because I don't flirt with women, then I show I do

My experience in flirting with women outpaces yours quite a bit. It's just that you don't have the kind of face that repulses people.

>then you know women better than they know themselves, and you know more about flirting than anyone else

I'm an authority on how women react to me. Unless they can detect my horrible personality with their sixth sense (that somehow fails to detect hooking up with an abuser), then they are completely and identically uninterested in me whether I flirt or not and whether I talk or not. Conclusion: F A C E

>And the reason for all of that? Because you cannot accept, not even for 1 second, that maybe, just maybe, your personality and behavior play a role in how people react to you too, and you could spend sometime working on yours just like you've spent 13 years in a gym.

Sure, I accept my personality is (or has become) shitty too, but is it so shitty that no one's ever loved me and it's just a coincidence that my face is ugly? Funny how that works. And funny how a shitty personality is not a barrier for good looking people to get in a relationship.

>I have no time for this victim mentality man, nor does anyone else. Have a good night.

Homophobia: doesn't exist.

Racism: doesn't exist.

Sexism: doesn't exist.

Any person who's being discriminated against should work on their personality instead.

u/AmazonInfoBot · 1 pointr/BustyPetite

Dataclysm: Love, Sex, Race, and Identity--What Our Online Lives Tell Us about Our Offline Selves.

Price: $10.87

Hi, I'm Amazon Info Bot. Every time you purchase an item through one of these links, 10% of the products price goes to the American Cancer Society.

1st Month Donation Proof Please Upvote This Comment so that I may comment more, and raise more.

[My Motive](/s "My Aunt passed away this last year from Breast Cancer. I'm in my 1st semester of Computer Science and decided to take on a project that would make a drop of difference on this world and hopefully contribute to stopping others from losing an aunt they loved as much as I did.") | [Why Not Use Amazon Smile](/s "Amazon smile gives .5% of your purchase to charity, amazon affiliate gives ~10%. That is a 20x greater affect per purchase."| Amazon Music Unlimited 30-Day Free Trial | Amazon Prime 30-Day Free Trial | 6 Months Free w/ Prime Student

u/ElasticHeadBand · 1 pointr/short

>Because OK Cupid is definitely the best measure for dating right?

Uh, yeah. It's the only measure we have.

>I still haven't seen a source.

Since you're too lazy to type a few words into google:

There was even a book published by the guy who founded OKC who talks about dating and dating trends like this:

It's pretty common knowledge at this point. Surprised you haven't heard about this until now.

u/TatuTattoo · 1 pointr/toronto

Hijacking top comment to note that the founder of OkCupid wrote a fascinating book on this phenomenon. It's called Dataclysm and was my favourite book of 2014.

See also:

u/omaolligain · 1 pointr/AskSocialScience

Why would you need to? The top commenter was saying the belief is the result of selection bias in popular culture.

If pop. culture caused us to legitmiatly see Scandanavian people, for example, on the street and believe them to be more beautiful on average how would that somehow invalidate OP's question?

OP is essentially asking a question about the role of certain social constructs. If you don't believe the construct exists fine, but we can go out and measure it via surveys and see if it does if we really wanted (and I assure you someone already has). The founder of OKCupid, Christian Rudder, wrote a book (Dataclysm) detailing all the beauty and attraction data they gathered on the dating website. It makes the case pretty solidly that some races/ethnicities are considered more attractive. Whether that's good or not is not really the point.

u/pornaccount9876 · 1 pointr/sex

Read Dataclysm by Christian Rudder if you want a more rigorous analysis of the differences in dating approaches for men and women. Or just read some of his blog, OkTrends. The short version is, this video is absolutely representative of gender's role in online dating, regardless of attractiveness.

u/utopista114 · 1 pointr/IncelTears

N por the OKCupid studies was in the hundreds of thousands. The guy running the studies is a freak of statistics. Granted, is still slanted by people in online dating, but the N is so big that you can make conclusions at least about internet-based dating (which is very popular in many countries, nowadays the most common way to meet people).

His book:

u/mreiland · 1 pointr/rust

immutable data can cause problems with data structures and the like, here's a book on the topic.*Version*=1&*entries*=0

u/DeusExCochina · 1 pointr/Clojure

Heh, I'm not about to! I don't even try to understand the other Purely Functional Data Structures - it's all black magic to me. But you're right - that doubly linked lists map so poorly onto immutable structures is no doubt a very strong reason we're not seeing them there.

u/loup-vaillant · 1 pointr/programming

> That's not an experiment, it's an anecdote about a thing that happened once.

It's a whole class, taught by a not exactly nobody professor. If it was one student, that would be anecdotal. But this is a sizeable sample, bordering on "statistically significant". As for "happened once", I'm sure he taught several other similar classes since then. Maybe we should ask him how it went?

A better argument than the worn out "anecdote", is to suspect the evidence to be filtered, one way or the other. I presented the argument to counter some point I believed false, but nothing guarantees that I didn't know of, and omitted, arguments to the contrary. (There are many reasons why I may do so, included but not limited to self deception, dishonesty, conflict of interest…) I will just hereby swear that I do not recall having ever encountered evidence that mandatory indentation was either detrimental, or neutral to the learning of programming languages. Trust me, or don't.

> And it's an anecdote about introducing absolute novices to programming.

It was their second language. I assume they programmed for at least a semester.

> Even if it were an experiment, experiments don't provide arguments, they provide data to use to test arguments.

Experiments provide evidence for or against hypothesises. Pointing out "hey, look at this experiment that crushes your beliefs flat!" is the argument. Which may have flaws besides the experiment itself (the results of the experiment may have to crush my beliefs flat, and I misread the paper). </pedantic>


> And even if this were an experiment with a result compatible with an argument about indentation, there's no reason to think that this would have any bearing on infix expression shenanigans in Lisp.

I agree. Yes, you have read that correctly, I agree. <Sardonic smile…>

There is something I suspect you and many others in this thread have totally missed: sweet expressions are not just about infix expressions. That's a detail. The crux of sweet expression is actually significant indentation. Here:

define (factorial n)
if (<= n 1)
(* n (factorial (- n 1)))

I don't like the last line (too many parentheses). Let's try this:

define (factorial n)
if (<= n 1)

  • n
    factorial (- n 1)

    So, while results about indentation doesn't have any bearing about infix notation, it does have direct bearing about sweet expressions as a whole.

    > You're pretty sloppy when you address something that seems to support your position, aren't you?

    You just deserve my smug smile :-D
u/mozilla_kmc · 1 pointr/rust

> FWIW, a persistent data structure is somewhat orthogonal to laziness.

But you do need lazy evaluation (in-place update of thunks, whether that's provided by the language or a library) to get amortized time guarantees on persistent data structures. How much this matters in practice, I do not know.

u/growlzor · 1 pointr/PHP

I started with Head First PHP & MySQL when I started years ago. Two books I loved the most though were Beginning PHP and MySQL From Novice to Professional and PHP Solutions Dynamic Web Design Made Easy.

Later this book helped me immensely PHP Objects, Patterns, and Practice.

Ultimately, is your bible and you can learn everything from there alone. Post on forums and ask for help. Try something and stick with it, don't jump around creating dozens of projects but stick with one and expand it.

Also this

u/RamonaLittle · 1 pointr/learnprogramming

I'm currently reading Head First PHP & MySQL and think it's excellent. I started some other books, but this one seems to present everything in the most logical order.

I'm also reading sections of the official MySQL manual -- I downloaded the 3000+ pages into my Kindle so I can carry it around with me and bookmark pages. It has a lot of useful details that books don't seem to mention.

Probably the most useful learning tool is actually trying to do something with it. I came up with a couple little projects which eventually may be a useful website, so I'm working on that when I can.

Hope this helps.

u/RAPTOREXPLOSION · 1 pointr/IWantToLearn

PHP is a great language to start out with. It's super easy to learn because it's very forgiving, which means it's easy to write "bad" code.

Writing bad code is okay for a while, but when you learn what "good" code is, you'll be frustrated at yourself.

I'd really recommend learning at The Odin Project

It doesn't teach you PHP, but it is a guided course that kinda holds your hand and tells you where to go.

If you're genuinely interested in PHP, I'd recommend Head First PHP & MySql

The Head First books do an insanely good job of teaching. They're among the best in my opinion, and Head First Design Patterns is kind of an industry standard.

That should teach you the basics. Enough to get started and enough to be dangerous.

After that, PHP Objects, Patterns, and Practice is a really good book to go from "okay" to "pretty great".

Good luck!

u/MPair-E · 1 pointr/HTML

I know this isn't super helpful since you're using videos, but starting out, this book can be pretty handy.

What I like about Head First is that all of their lessons are built around real-world tasks, and they build off one another from lesson to lesson (as opposed to a bunch of random one-off projects). In the PHP book's case, the very first few chapters show you exactly how to get a database up and running, how to connect to it, and how to build pages to create a mailing list, 'unsubscribe' form, 'post to blog' form, etc.

I had zero PHP expertise when I started the book, and within a week or two I had built all that's described above, and was already figuring out ways to extend functionality, tweak, etc.

FWIW, I also think that starting out, it's worth just getting some hosting space through godaddy or any other cheap host that'll give you quick dashboard access to phpmyadmin. It'll make creating databases with mysql (which the aforementioned book also explains) a snap, and you won't have to deal with a bunch of Apache/OS-level headaches.

u/erimar77 · 1 pointr/IWantToLearn

This is probably what you're looking for:

Head First PHP & MySQL

u/junglizer · 1 pointr/IWantToLearn

That looks like a pretty solid book. I have used PHP and MySQL: The Developers Guide in the past and it has served me well. I used it in college and bought myself a copy a while back. However, I will caution that I know several versions of PHP or SQL, or specifically how it connects has changed since the release of the book. I have found that the PHP information is otherwise accurate and very helpful.

u/unconscionable · 1 pointr/Entrepreneur

It depends. Is it an idea for a shipping cart or a blog or something simple? There are drop in apps to do a lot of the repeatable stuff.

> should try to take the time to learn how to make a good website

Of course, this is wholly dependent on both the complexity of the site you want to create, and your ability / willingness to learn how to program. If you do decide to give it a shot, I'd recommend picking up this book.

u/SavageGoatToucher · 1 pointr/learnprogramming

I'd recommend this book. The examples start you off small, and in many chapters they build upon each other as well. They go over important concepts including things that you may not think about right off the bat, like Security. It's the book I used when I got started, and I just adapted the examples to my own needs as I was going through the book.

u/softwaredev · 1 pointr/learnprogramming

I like PHP and MySQL Web Development, it explains everything step by step and with usage examples.

You should also check out w3schools

u/ReconZeppelin · 1 pointr/PHP

Wow. Thanks for the list. Yep, that's pretty much what I had in mind - and I suppose I'm doing this to learn and to have a working system at the end of all of this. As for my knowledge, I'm NOT very smart in PHP or MySQL. I've been reading a book called PHP and MySQL Web Development it's long, but I hope to be familiar with the language as I take my time with it throughout my life.

u/appfiction · 1 pointr/PHP

I would suggest you reading some well written PHP books, although this is a bit old fashioned.

For example:

u/anevilpotatoe · 1 pointr/sysadmin

Let me clarify a little. It's helpful to find books that I can digest from the ground up on and compare with current standards or use creatively. Simple put I enjoy doing the homework on a book. What I am look to accomplish is to write SQL Queries for corporate finances and manufacturing. Working in the environment I am in currently allows me the opportunity to learn and practice it.

Here are a few I looked into:

u/eveningsand · 1 pointr/healthIT

Go get yourself this book:

SQL in 10 Minutes, Sams Teach Yourself (4th Edition)


You can and will teach yourself practically most if not everything you'll ever need to know about SQL. You won't become a database engineer, but you'll know how to help yourself much more than you can today.

u/JustJeezy · 1 pointr/datascience

SQL in 10 Minutes

This was the book used in an introductory course I took. It did a pretty good job of explaining everything and was pretty easy to follow.

u/jemlibrarian · 1 pointr/Random_Acts_Of_Amazon

Something totally utilitarian: Learning Python the Hard Way

Oh hell, who am I kidding. I only do utilitarian

u/JeramieH · 1 pointr/IWantToLearn

May I recommend for SQL and Java

u/UnexceptionableHobby · 1 pointr/SQL

You don't need to have formal coursework or a certification.

Learn however much you need to so that you feel comfortable honestly putting it on your resume in some way. Even if this means that your resume includes something along the lines of 'light SQL experience'. If you get into an interview make sure you set the right expectation about any skills listed on your resume like this. From the mouth of a VP - "I know this job won't require (insert random skill here). I put that on there so that I have an HR friendly reason to reject any candidate."

All that being said, check out this book:

It should get you a good enough understanding to be able to talk about SQL in an interview (assuming you level set with them correctly) to demonstrate that you took the job seriously enough to start learning. It's not a lot by any means, but it can give you an opportunity to convince the person interviewing you that you can learn it if needed.

u/pikatruuu · 1 pointr/SQL

Is this the cover?

u/baineschile · 1 pointr/SQL

There is a list of training resources in the sidebar. I bought

and its pretty handy. I get most of my basics now from w3schools or stack overflow.

u/oxfordcommabandit · 1 pointr/HTML

I'm in the same boat about book > screen. I'm pretty beginner, and I found Learning Web Design incredibly helpful. It's 2012, but the author focuses on HTML5 and CSS3. I highly recommend it.

u/CaptainKick · 1 pointr/webdev

I used this book. I just read every chapter, took notes, and quizzed myself at the end of each one.

u/veloace · 1 pointr/webdev

If you really want to learn, I think a good start for you would be to read this book it was a good start for me and a tremendous help. It should also cover the basics of everything you need to know. Also this video helped me a lot as well.

u/Trentskie · 1 pointr/webdev

Triforce is right about the Jon Duckett book. It is an excellent resource that is pretty to look at, as well.

I learned all of my HTML5 & CSS3 basics from Learning Web Design by Jennifer Robbins. It is a great resource, and provides great design exercises for you to practice on.

Given your experience, you will need to bypass the first few chapters. Fortunately, the book is well-organized. This will allow you to only focus on the your particular area of need, and help when referencing the book after you finished learning the basics.

u/tells1 · 1 pointr/FreeCodeCamp

Learning Web Design by Jennifer Robbins is a really good book for learning CSS.

Also, for me, learning CSS takes a ton of practice. Take a site you like and recreate it from scratch. You'll bang your head against the wall but you'll learn practical skills that might not sink in if you just watch videos and read tutorials.

u/josiahstevenson · 1 pointr/BigDataJobs

Sorry for the misunderstanding --

>Factset, Bloomberg, Dimensional, AQR

Are not so much resources for dealing with data as employers of data wranglers. I mean Factset and Bloomberg are data providers, but...again, I was suggesting you look for employment with them, not have them teach you.

As for learning:

  • Sounds like you're still in school. Take as many stats and econometrics (especially "time series" anything) classes as you can, if you want to do data stuff in finance. stuff at all, really.

  • Python for Data Analysis is a guide to using a particular programming language (Python) to analyze data. The author developed the main library he showcases (pandas) while he was working for AQR, one of the biggest quant hedge fund managers, and open-sourced it when he left. Some of the examples in the book have to do with finance because of this.

  • You might like Quantopian especially if you like Python.

u/its_joao · 1 pointr/learnpython

You see, python is a very simple language that doesn't require you to annotate everything line by line. You might be better off brushing up your general python knowledge befire jumping into projects. This will save you time having to read or looking for comments to understand the code. Also, consider looking at the requirements.txt file for the imports of a particular repo. It'll tell you what packages are being used and you can then Google their documentation.

I'd definitely recommend you to read a book about python first. Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython

u/nbitting · 1 pointr/learnpython

This book is by Wes McKinney, the author of Pandas. It's a great resource.

u/atmontague · 1 pointr/learnprogramming

This might work for you.

u/millsGT49 · 1 pointr/gatech

I was ISYE so I'm not sure how much you are allowed to cross over being CS but I would absolutely recommend taking a regression course. ISYE also has some data analysis electives, but to me learning and mastering regression is a must.

BBUUTT my biggest recommendation is to start playing with data yourself. I am a "Data Scientist" and graduated from the MS Analytics program at Tech and still to this day I learn the most just from playing around with data sets and trying new techniques or learning new coding tools. Don't wait to take classes to jump in, just go.

Here are some great books to get started doing "data science" in R and Python.

R: Introduction to Statistical Learning (free!!)

Python: Python for Data Analysis

u/lordmister_15 · 1 pointr/cscareerquestions

I'm a little late to the thread but I work at a company that operates at a large scale and I've found Designing Data Intensive Applications to be the best overview of modern techniques for scalable applications

u/vira28 · 1 pointr/Firebase

On a side note. I am currently reading Loving it so far. Author clearly explains the difference b/w relational & document model.

Highly recommended.

u/puppy_and_puppy · 1 pointr/MensLib

Weird how I just finished the book Designing Data-Intensive Applications, and it ended with a section on ethics in computer science/big data that ties into this article really well. I'll add some of the sources from that section of the book here if people are curious. Cathy's book is in there, too.

u/Plussh · 1 pointr/javahelp

You should use classes to house methods based on relevancy and to generally make your program easier to understand.

I would say having 20 methods in your main class probably isnt best practice, but it really depends on what the functions are being used for.

Say if you were writing a program pertaining to cars, you would ideally have your main class launch the program and create instances of classes, and you could have a class called 'car' that handles all of the functions relating to the use of the car e.g openDoor(), doUpSeatBelt(). It wouldnt make sense to have these in your main class.

Classes are there to make your program easier for both you, and arguably more importantly other people to read, they also make it easier to re-use code and scale your programs.

There are tons of resources out there that explain this better than I can, see 'Java: the complete reference'.

u/leighflix · 1 pointr/learnjava

A reference book could be nice. You've already understood everything, you just need to memorize it.

If you still need to understand a few things:

u/Thehollidayinn · 1 pointr/learnprogramming

Ah, yes. I should have explained. Nothing too crazy. I have watched the courses and thought it was a good introduction. So - just a personal preference I had over the Big nerd ranch book.

My general philosophy for learning a new stack/language is the following:

  1. Get a general idea, and build some random things (where you seem to be)

  2. Pick up a "Cookbook" book. Usually something like Android Cookbook or project based books (game development - easy)

  3. Hit the theory and "boring" stuff. So for Android
u/teeceli · 1 pointr/java

Because it sounds like you already have a ton of experience with language fundamentals, best practices and design I would recommend Java: The Complete Reference. It reads more like a reference guide and covers the entire language up through Java 8. I'm sure this would suffice to just pick up the differences and nuances between the two languages.

u/Vorzard · 1 pointr/androiddev

You can buy a book and write code as you read it, including doing the assignments in the book. For one Java: The Complete Reference is good to have around if you are a beginner.

You can give Codecademy and similar services a try and learn interactively. I don't know how good are they at teaching Java. You probably still going to need a book, but these learning app services can be useful.

u/wisam · 1 pointr/learnprogramming

Java, A Beginner's Guide. is a well-paced book that's not huge (about 700 pages).

Java, The Complete Reference. by the same author of the above book is, as the name suggests, a huge comprehensive reference (about 1500 pages). I wouldn't use it to learn the basics, but would use it later as a reference.

Introduction to Java Programming, Comprehensive Version. is a slow-paced huge book (more than 1500 pages) that will benefit a beginner a lot.

Now if you are in a hurry and you need to go through the basic s quickly and possibly miss some details, I would recommend Think Java. It's a small (about 300 pages) free fast-paced book that will get you hooked quickly.

u/236throw · 1 pointr/cscareerquestions

The book that I used in grad school is this.

The first 8 chapters are good for what is typically covered in an undergrad course. We reviewed those chapters in the first few weeks of the grad course. I did a very academic career path, so mostly what I know is books.

u/chocolatemario · 1 pointr/learnprogramming

I think an example might be, do laundry: repeat every 1 week or so.

So your primary table would be something like this:

User string varchar(255) NOT NULL,
TaskName varchar(255) NOT NULL,
Date DateTime DEFAULT(getdate()),
... any other fields you want
PRIMARY KEY (User, TaskName, DateTime)

Forgive me if my syntax is wrong, I don't sql all too often.

Anyway, suppose a user logs in. When they login you are able to:

SELECT * FROM task where User=/username/
Excellent, you can now render this on your front end and update it as needed. Just remember, if you make changes on your front end, you need to update it on your back end :).

If you are interested in getting some of the theory behind DBs, I would recommend checking a book out. I used this in school. It treated me pretty well, but there is no need to read every chapter! (seriously, unless you want to be a DBA). I would look up the important subject covered in some schools curriculum and go from there. Learn some relation algebra, ddl, dml then data normalization and you're off. DBs are pretty easy to work with.

u/jaryl · 1 pointr/rails

Well I've designed countless systems just like you did, then I wised up. You will too one day, just probably not very soon =)

You are building abstractions for the sake of having them. I won't offer you any pointers or counter arguments anymore, read this, then review your code:

u/menge101work · 1 pointr/programming

Sandi Metz's "Practical Object Oriented Development in Ruby" (POODR) was the same way for me.

u/furyfairy · 1 pointr/GetSmarter

Happy to help.

BTW this book could also be useful to you , very good book:

u/gibbons1980 · 1 pointr/csharp

I think learning OOP is a very good idea. There are tons of books on the subject but I would recommend these 2:

Uncle Bob's Agile Principles, Patterns, and Practices in C#

This book will teach you not only about good OOP principles (SOLID principles) but a also a lot about other programming practices such as testing and refactoring.

Sandy Metz's Practical Object-Oriented Design in Ruby: An Agile Primer

Don't worry about being a Ruby book, you should be able to understand the concepts (and learn some Ruby). Sandy ha a very good way of teaching how to think about OOP.

Hope it helps.

PS: I'm curious: what exactly did you struggle with? What made you think you should learn OOP?

u/shipshipship · 1 pointr/cscareerquestions

Contribute to open source. Create something of your own, and contribute to other projects. Since you are basically self taught and you are going for your first gig, conveying to prospective employers that you care about design, testing, and that you are not a cowboy will help. Read and understand books like Practical Object-Oriented Design in Ruby. Also, don't be a one trick pony. Tackling JavaScript could be a next logical step. Needless to say, all your open source and projects you demonstrate should have good test suites.

Learn about the non-technical stuff as well. I think Land the Tech Job You Love is great, and you probably want to look into Cracking the Coding Interview as a starting point for learning more about algorithms and data structures. Upcase is another great resource for beginning/intermediate Ruby programmers who want to up their game. Start solving challenges on e.g.

u/zaclacgit · 1 pointr/rubyonrails

Answers to follow, but try to make sure that you're not being overzealous in your attempts to learn Ruby. Questions about general code methodology are good, but in order to really understand and apply them you'll have to have a pretty solid grasp on the basics.

Despite how it may seem, you might be making it harder on yourself by trying to "skip ahead" and start applying later concepts early on.

There's a reason the first program most people write doesn't involve creating a Person class that responds to greet_with_hello(world).

If you've simply finished the Rails tutorial and want some Ruby experience, I'd recommend giving The Well-Grounded Rubyist a try. Many people in your position have done very well by it, and it will teach you what you need to know as you need to know it.

But as for your actual questions.

>What is the best resource to learn general code methodology and syntax, language agnostic. I'm picking things up what I would consider to be pretty quickly, but I know being able to learn about general themes and syntax of coding would help immensely.

Syntax is inherently tied to the language you're using. While there are similarities between some languages, there's no general "Guide to Syntax" that you would need to worry about. Happily, many people find that syntax is the easiest thing to pick up while learning an additional language. The general concepts are what you learn the first time, and then you learn "How do you do loops in C++ again?"

So don't worry about syntax.

However, Ruby does have the Ruby Style Guide that will answer questions about how to make your code look. As you'll find is the case with many things in Ruby, the style guide is not written in stone. It's just a good idea, most of the time.

With that out of the way, we can move on to things that are not language specific. Well, sort of.

Data Structures, Algorithms, and Design Patterns are established ways of doing or handling certain tasks. In theory/abstract, these are language agnostic. In practice, application or use can vary between languages.

There are a handful of decent books that will instruct you on advanced data structures and algorithms. I would visit /r/learnprogramming and peruse their sidebar for recommendations. That being said, I have yet to find a book written with examples in Ruby though. If you're completely unfamiliar with other languages then you might want to find something that deals in some sort of pseudocode.

It might be difficult to translate the concepts that are presented in pseudocode (or whatever language the book chooses) into Ruby. Especially if you are not decently comfortable with solving problems in Ruby, and thinking about problems in Ruby.

However, there are some books out there on how to design things in Ruby. They happen to be really good books too. I've honestly lost count of how many times I've recommended them, let alone how many time I've seen them recommended.

Practical Object-Oriented Design in Ruby will essentially guide you through learning what should and should not go into an object, and when to make those decisions. It is an eminently readable book, and conveys the information in concise and graspable fashion.

But if you're not in a position where you're really comfortable with the idea of what Objects are, and how you create/use them in Ruby, this book might be best saved for after you get a handle on the basics of that stuff.

In fact, most people seem to get the most benefit out of this book after they should have already read (and heeded) it. Sort of a situation where the right way makes the most sense only after you've been doing it the wrong way.

Secondly, Design Patterns in Ruby will show you how several common ways of doing things are utilized in Ruby. Personally, I read POODR before Design Patterns in Ruby, but I'm not aware of any reason read them in any particular order.

I'll reiterate that both of these books have general design concepts inside of them, but that they are dyed-in-the-wool Ruby books. You will absolutely learn things that you can take elsewhere, but it won't come to you in a purely abstracted manner.

>Is there a list of all the predefined calls in Ruby that I can find somewhere. Occasionally I write to do something only to find out that I'm breaking down a process that is shortened already. I'm sure these are commonplace for people who have coding experience before starting Ruby, but that's not a luxury that I'm afforded.

Absolutely! It's at Ruby Docs.

Don't get yourself down on this one. In this very particular case you might be a little better off than someone that has a bunch of programming experience in other languages.

Why you ask?

Lots of people aren't necessarily expecting the ease in which you can cause things to happen in Ruby with just a few method calls. They are waaaaaaaaaaaaaaay more used to breaking things down into smaller problems as a matter of necessity than you are. So congrats! Fewer habits to break there!

You can actually just google "ruby docs class-name" for whatever class you're working with to see what methods are available to you out of the box and what those methods do.

As a recommendation, I'd get pretty familiar with the module Enumerable, and check out the Array class. You'll end up using those a lot.

Like a whole lot.

In case you're curious, the awesomeness found in Enumerable is usually where people with prior programming experience tend to make things harder on themselves, because they're use to things being harder on them. A one line split, sort, and join is just a thing of beauty.

>Lastly if there was anything that really helped you that I didn't mention I'm open to any suggestions really.

In all honesty, what really helped me the most in learning Ruby was getting really comfortable with the syntax, and then learning what to do after that.

RubyMonk is probably one of the best places I've used to get a guide through Ruby, even advanced topics.

CodeWars is a good way to give your mind a nice stretch and workout. You'll just solve little problems that force you to make sure you know how to use Ruby when you need it.

After you're comfortable with the language, start making some small projects.

Games are usually a good first start. They have clearly defined rules and orders of events, as well as lots of things that are easy to recognize as objects.

Black Jack, Tic-Tac-Toe, MasterMind, BattleShip, and Chess are all pretty good projects to work on, and maybe in that order too.

Somewhere around then end of Tic-Tac-Toe or MasterMind I'd probably crack open POODR and giving it a read through. The value of all the lessons might not make complete sense at first, but it's that way with everybody. Just trust the author and go along with it.

Lastly, and I can not stress this enough, learn how to write and use tests for your code.

I know. It seems like tests are a waste of time. You're writing them before you're even really writing the code. On top of that, you already know how you want to do the thing you want to do, and it'll work!

Trust me. If the thing you're making is at all complicated, write some tests.

If you're ever going to want to change anything about it, write tests for it.

It will save you an incredible amount of time when you start breaking things, and will also give you the confidence that things probably aren't broken after you've fixed them.

Also, feel free to ignore everything I said about not jumping too far ahead. People learn in different ways, and desire to learn in different ways. If you feel like learning more advanced concepts now is going to be way more interesting for you, then you should totally do so.

u/fedekun · 1 pointr/webdev

Personally I tried learning from books and I found it quite tedious. There's a lot to cover and if you already have experience with other MVC frameworks you feel like you can skip most parts. Probably the best Rails-specific book is Agile Web Development with Rails.

Personally I learnt using CodeSchool and their Rails courses. That way I started hacking stuff myself, some of the Rails Tutorial also doesn't hurt, although I got bored halfway though but still, good stuff, you learn about manually handling users accounts. I dislike cucumber though, but you can ignore that part and/or use other testing library (which you learn in CodeSchool too).

Once you know the basics and the idea of Rails you can get away with google and the official ruby guides for reference, and you really need to pay attention to good OO practices in Ruby, books like Practical Object Oriented Design in Ruby and Confident Ruby are great for overall ruby coding standards :)

u/drewnibrow · 1 pointr/Design

Hey Mug2k. I think you are progressing well. Here are some resources that helped me with web and interaction heavy stuff b/c that's the direction you seem to be going. Also kudos for using Sketch!

Don't Make Me Think by Steve Krug (The bible of interaction):

A Book Apart by Various Authors (Based on the excellent blog 'A List Apart'):

Design+Code by Meng To (One of the best when it comes to Sketch):

u/rootyb · 1 pointr/web_design

You know... most of my design work is strictly web-based. Links and stuff. A great book for that, though, is called Don't Make Me Think by Steve Krug.

It's a pretty solid book that talks a lot about using things like hierarchy and position to visually describe relationships, rather than expecting the user to be able to think about it and figure it out (which users don't like to do, generally). It's more focused on web-specific stuff than general UI, but I think the lessons are broad enough that you could find them useful.

u/edhdz1 · 1 pointr/u_edhdz1
u/rukestisak · 1 pointr/Ubuntu

> Please tell me you don't expect people's websites to fit into a pixel grid and follow the mockup precisely.

:D I do the transfer from mockup to code, so everything fits precisely to my specification hehehe. When I am transferring other people's mockups, I try and follow the mockup as closely as possible. Sometimes the mockups are not precise, themselves so I edit them.

> Where can I actually learn more about how to design from the ground up? I'm working on a site that has no existing analog, so I can't just look at how other people have done the same thing and mimic them. I don't even know what to put on what pages.

Hm, I would need some more information to give you good advice. Try and imagine a scenario where a customer is using your site. What is their main goal when using it? Can you simplify the process of them achieving this goal? Any less important goals? What are your main goals with the site? Where would the most logical place for various elements around the site be?

Read Don't make me think for a great usability primer. PM me if you want any more help.

> I thought Gimp did have adjustment layers. At the very least, you can set the blending mode for a layer in such a way that it effectively adjusts one thing in the overall image.

Can it place for example a Hue and Saturation filter on its own layer like Photoshop? I don't want to copy everything into a new layer, apply filter there and then mask or whatever.

> I think the cited reason for the lack of CMYK in Gimp is that they feel Gimp is specifically for image editing, not printing; Photoshop was originally created specifically for printing.

Right, PS started that way but then it evolved. I think GIMP should mimic a lot of PS functionality if they want to see pros switching.

> The .psd support is really lacking. I don't have any way of testing Krita's .psd support... But I do know that if I export a file as .psd from Krita, it doesn't open correctly in Gimp. Specifically, any text objects simply vanish. That's all I've tested, though. Granted, it doesn't exactly import into Krita perfectly either, even though it was saved from there...

Yep. If I receive a .psd from a client I need to be able to open it without any glitches. Currently it doesn't.

> If 'Blending options' in your post corresponds to this post about 'Blending Modes', yes, and Gimp has had them for a very long time. I refer to them earlier in this post, talking about adjustment layers (since I'm otherwise somewhat not sure what you mean by an adjustment layer).

I'm actually talking about the option titled Blending Options which you can select when you right click on a layer in PS. This brings up a Layer Style dialog box with a ton of options. Now, GIMP might have similar functionality scattered around, but I haven't found it yet and it's very useful as I use that dialog box constantly.

> I looked up adjustment layers. Gimp does not have them, but most people say a lot of their functionality - but not all of it - can be made up for with blending modes applied to layers 'above' the layer you want to adjust.


> Also, the APIs necessary for adjustment layers are coming in 2.10, after which they have the technological capability to make them.

That's good to hear. They have made great progress and I am sure they'll see their numbers rise if they get closer to PS functionality.

Another thing I forgot to mention, a minor gripe I have with GIMP's UI - I think the cursor and the selecting bounding boxes look clunky instead of precise. The tools should look and feel precise (as well as be precise), and I think GIMP is lacking here. Compare PS to GIMP and you'll see what I mean.

u/ZetaDot · 1 pointr/web_design

try "don't make me think" from Steve Krug. the third edition came out 2 months ago.. Is more about ui than design, still quite useful and a nice read

u/thinkingthought · 1 pointr/Entrepreneur

Poor usability. Bad navigation, fonts, colors, walls of text. All of that really hurts my opinion of a website. Design for a great user experience and customers will spend more time on your site.

I highly recommend you read the book Don't Make Me Think - A Common Sense Approach of Usability. I did not know a thing about user experience before reading this book and now I have a great idea what I'm doing. I was just updated a couple months ago and is highly relevant.

u/jmwpc · 1 pointr/learnprogramming

> An understanding of design concepts is handy, but you don't need to be able to come up with the design yourself.

I think this line really sums it up best. You are likely to be tasked with creating some mock-ups, or adding a feature after the designer(s) have more or less moved on to the next project. In the case of the former, having some basic understanding of layout and design will help you create a usable product, even if it lacks polish.For the latter, being able to interpret the existing design, and extracting a few rules from it will let you deliver something pretty close to a finished product.

Working as a contractor or as part of a small team you sometimes have to wear multiple hats. I'm mostly a backend developer, but have (and still do) work on the front-end. There are a couple of books I have read and recommend for people in that situation. Neither will make you a full-blown designer, but do cover the essentials that anyone working on the front-end really should know.

Don't Make Me Think: A Common Sense Approach To Web Usability

The Non-Designer's Design Book

u/erfling · 1 pointr/AdviceAnimals

I think this applies.

The world should teach you how to interact with it. Not that that should always be easy in a game, because that's part of the fun.

u/AnonJian · 1 pointr/marketing

> If I've got to stop looking at just the features, price, design....what direction should i be looking in?

Benefits. Okay this is remedial marketing. What you should do is click the links and read what I'm spoon feeding you. Tech loves features because you can have zero users, and the feature still exists. A benefit only exists if the customer and user says it does. A benefit can only exist if users exist and a customer is willing to pay for it.

You are far ahead of me. You know what the product is.

>How do i find out if my company actually is unique in a certain aspect that the competitor isn't?

Your sales guys will give you some biased half truths. Start there.

I've linked articles. I've written out the title and author of a book in my last comment. Hint. Hint.

== More (Reading, in case that was unclear) ==

About Face 3: The Essentials of Interaction Design

The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity

Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability

A Simple Trick to Turn Features Into Benefits (and Seduce Readers to Buy!)

u/wackycrane · 1 pointr/webdev

I would like to encourage you a little and liberate you from the thought that a good designers must "be creative" (i.e., good at making things look pretty).

Form and function. Web design is primarily about function (i.e., problem solving). Form plays a lesser role and can be highly subjective. As a general principles, so long as form does not hinder function and is not needed to communicate a particular message (e.g., elegance, happiness, anger, etc.), then good-enough form is good enough.

Consider Craigslist. It's an ugly website. It's not going to win any good-looks awards. Yet, people are not leaving in droves because it solves a problem (i.e., post, search, and review classifieds) and does so well.

On the flip side, there are many beautiful websites that are functionally defective.

Good designers solve problems. If you want to learn good design, I'd recommend a few courses:

  • Graphic Design Specialization [Coursera]
  • Interaction Design Specialization [Coursera]
  • Game Design Specialization [Coursera]
  • User Experience Research and Design MicroMasters [edX]
  • Intro to the Design of Everyday Things [Udacity]

    You can take all of these courses and specializations for free. (Make sure you select the free option if that's your preference.) They will help you learn "design thinking" from three different perspectives.

    A really good book on usability (function) with wide applicability is Don't Make Me Think by Steve Krug. A good book on graphic design basics is The Non-Designers Design Book by Robin Williams.

    Sadly, most web "design" books focus on teaching HTML, CSS and JavaScript rather than design, so I can't provide any good resources specifically on web design. (Maybe others can fill that void.)

    However, the benefit of approaching design from a variety of perspectives and in a variety of contexts is that it helps you learn how to "think design." Seeing design thinking play out across areas reinforces the basic design principles and practices and makes it easier to apply them to web design.

    If you are more interested in form, then I'd recommend looking into studio art classes (e.g., drawing, painting, photography, digital imaging, etc). (Alternatively, you could follow courses on YouTube for these.) While these sometimes focus more on technique, they'll help you learn how to dissect what you see. You'll learn to see objects as shapes, lines, textures, shades, hues, etc. Combine that knowledge with good technique (e.g., drawing, HTML/CSS, Photoshop, etc.), and it becomes easy to make things look nice.

    Also, don't neglect creativity. One of the best books on creativity that I've ever come across is Sparks of Genius: The Thirteen Thinking Tools of the World's Most Creative People. While it's a long read, it provides you with some great tools to use to "spark" creative thought.

    Hope that helps.
u/pinkwetunderwear · 1 pointr/web_design

You want to learn HTML, CSS and JavaScript. When you have the basics covered look up some CSS pre-processors like LESS, SASS and Stylus. Then consider learning a Javascript Framework like Vue, React and Angular. I recommend trying all of them and see what you like.

For software all you'll need is a text editor, most people would recommend Visual Studio Code

When learning the basics it could be helpful with a tool like BrowserSync which will auto refresh your page after save, instead of manually having to refresh your page.

If you want to read a book I can recommend Steve Krug's: Don't Make Me Think

u/pairadice3007 · 1 pointr/reviewmyshopify

My gut reaction is, "OK... What is this?". Even after clicking around a bit I don't have a firm grasp on what it is your store is there for. You're selling power products but there doesn't seem to be a theme or reason for me to return.

One resource that may help you is a book called, "Don't Make Me Think". It's about how a website should be designed in such a way that someone who visits the site knows within 1-2 seconds EXACTLY what the site is about and why they should shop there.

Here's a link to the book on Amazon:

Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability (3rd Edition) (Voices That Matter)

u/AgentXTree · 1 pointr/web_design

I was just about to recommend the same. To append more to your comment, OP can start with their playlist on UX design.

I would also recommend:

u/helion_invictus · 1 pointr/web_design

How about the revised edition that was released this year.

u/jacob_the_snacob · 1 pointr/u_jacob_the_snacob

> Great book for anyone that is maintaining a website for a small business or organization. Not a technical book about writing code. Gives you a clear direction and guidance about how the vast majority of users surf the net, and how to make your site easy for the majority of users. Less words, more photos, clear and obvious navigation. Great examples of both real and pretend sites that are good and bad, and why they are good or bad. -- William Sauber


u/bautin · 1 pointr/cscareerquestions

I have most of these books.

The Art of Computer Programming
The Art of Computer Programming is dense. It is deep. You can likely put off this one. It should be a goal to be able to get through it though.

Introduction to Algorithms
Introduction to Algorithms, I don't have it. All I know is that it does come highly recommended.

Code Complete
Code Complete is excellent. Well written, it feels a lot shorter than it is. It will get you thinking about every step of the software development process.

The Pragmatic Programmer
Another one I don't have but gets recommended time and time again.

The Mythical Man Month
The Mythical Man Month is less directly relevant. It will go over meta issues in software development.

Don't Make Me Think
Don't Make Me Think is also not about code itself, but about design. Because if no one uses your application, does it matter if you made it?

u/patrickcoombe · 1 pointr/bigseo

here is my recommendation on how to learn technical SEO (assuming you already mastered using a computer)

  • Start by learning basic HTML, CSS and Javascript. I'd also recommend codecademy for this. Build a basic website with a few features. Focus learning on responsive web development.

  • Once you've gained an intermediate familiarity with all 3 of those, I'd recommend learning another advanced language. PHP / Python come to mind right away but you can get away with learning just bash.

  • Study databases and pick one to learn such as SQL / MySQL

  • Install a Linux server from top to bottom on a local machine, and learn enough Linux to make programs, edit server configuration files, optimize servers, local and remote filesystems, ssh, etc. Focus on Apache (web servers), response codes, optimization, etc.

  • check out the book .htaccess made easy on Amazon.

  • Learn about DNS / Bind - also practice by learning dig, nslookup, purchase a domain name, edit and fwd nameservers, etc.

  • Start studying the principles of UX (user experience) and check out Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability.

  • Fully digest Google's webmaster guidelines, and Bing's while you are at it.

  • Learn to use and administer an eCommerce and CMS framework. My suggestion is WordPress and Magento.

  • Read my complete guide to on-page SEO.

  • Pick an analytics platform (I use Piwik) but the popular choice is Google Analytics.

  • Learn the basics of regex to make your life easier.

u/Echohawkdown · 1 pointr/design_critiques

I'd strongly recommend you study Swiss Style/Swiss Design through Google. Most of the issues I have with your design, which is echoed others, is that your site's design has too much stuff going on that distracts the eye.

Modern digital design, which is heavily based off of Swiss Style/Swiss Design, focuses on using transitions (e.g., blue background area to white background area) for borders, sans-serif typefaces, repetitive elements (objects which behave/function similarly should look the same; applies to static menus as well as interactive objects), and other principles, all with the express goal of focusing on the message/letting it "breathe". In short, "Don't Make Me Think".^^1

Here's some primers I found on the topic:

Tons of Posters - note the general lack of explicit borders; instead, color changes mark object borders
More in-depth discussion of the history of Swiss Design (also has a ton of posters)

Some more modern sites that I feel would act as good guidelines for the kind of data you're laying out:

Genymotion - More memory efficient Android emulator; more applicable since it has mockups of software
ProjectPsync - site of /u/Psyncitup; more applicable since it has mockups of software

Another point I want to make - your logo is cute, but has too many colors and looks extremely angular. See if you can clean it up or make it clearer what you do - logos carry a lot of visual weight AND brand recognition, and though it won't break a website (particularly one made as a hobby), it can easily change how it's perceived.

Last point - all those resources I just used don't just apply to web design; some of it will also carry over to your software development as well. Keep that in mind, because there's very few people who are good at both developing and designing.


^^1 Been a while since I've read it, but there's a book out there by the same name ("Don't Make Me Think") which was, at the time, treated as the bible/guidebook of web design. It's just been updated this year, so I can't vouch for this newest version, but the second edition is just as good, despite being published in the early '00s.

u/SquareBottle · 1 pointr/Pathfinder_RPG

Thanks for responding and for listening to my feature requests!

For #2, what I mean is going from this:

> [Link to AoN] [Feat name] [Toggle to show and hide the feat tree]

to this:

> [Toggle] [Link] [Feat name]

This small change would improve the UX by making it easier and faster for users to explore feat trees.

Currently, the user has to do a mental calculation to find each toggle. Not a demanding task, but a task nonetheless. Moving the toggle to the left will get rid of this, bringing you a step closer to Don't Make Me Think levels of comfort.

It also would dramatically reduce the amount of mouse travel needed to get from one toggle to the next, which is another one of those tiny frustrations that add up (especially for people using trackpads).

And please note that my suggestions aren't meant to fix UX problems so much as improve what's already good. I'm an interaction designer, so just let me know if I can be helpful as such.

u/tetractys_gnosys · 1 pointr/Wordpress

I've been teaching myself to make websites for a few years now and I've done random site maintenance for a firm and done a build with a larger firm's team and the whole time I was struggling to comprehend what was being thrown my way. It can be scary because there's so much ground to cover initially, to get a working understanding of front end and back end technologies, and because you're having to learn to build a house on quick sand, it seems.

It is incredibly difficult getting all the pieces together to see the big picture at first; I still don't have the entire picture. I do have enough to know generally what to look for, how to search for answers, and have a decent enough understanding of JS, PHP, and MySQL to know how to get stuck. As long as you can get yourself stuck, you're on the right track. Even the best developers get stuck; it's part of the trade and an integral part of development and programming because it is a creative kind of work through a rational and logical framework. You get sometimes bizarre or infuriating issues and you have unlimited ways to solve them so you slam a quad latte, put on some death metal (or your preferred tunage) and treat it like puzzles that you're getting paid for (hopefully). Just remember that you're never going to stop learning, refining what and how you do things. Always be learning, always be flexible, and always remember that it is a multi-faceted beast and if you end up not grooving with front end (HTML, templates, CSS, JS, whathaveyou) you can go back end. Or focus on UI/UX, testing, project management, design, or anything else you can think of.

As far as resources, I have a shit ton of bookmarks in Chrome as well as several ebooks and physical books. I'd be thrilled to share and talk to you about any of it. I definitely learn by teaching among other methods and I've never had any developer friends to learn with or bounce things off of so hit me up if you're into that kind of thing. Learn the basics by doing the Web track on CodeAcademy, play around on Codepen, read Don't Make Me Think, and read The Wordpress Anthology and go through some Youtube tutorials for making custom themes and extending the CMS using Wordpress functions and technology.


u/spiderofju · 1 pointr/webdev
u/sachio222 · 1 pointr/userexperience

hmm. Where to get started. Learn the gestalt principles of visual design. If you're designing interfaces - these little tips will help you associate, and differentiate well enough to be able to direct attention like a conductor.

Learn to do everything deliberately. If you don't have a reason for something, you're not designing, you're arting. Know the difference and when each is appropriate. For example - want a big splash screen with a fancy colorful image? Is it so you can attract the user to a particular part of the screen? Or is it because you have some extra space and feel like filling it with something. If it's the former, go for it. If it's the latter - you're just making an art project.

Learn about design methodologies, from a university if possible. Industrial design technique is very good for digital problem solving as well. Defining a problem, exploring solutions, and determining a valuable path are things that will help you in every project.

Understand why you are doing what you are doing. And who are you doing it for. Never go past page one without establishing those facts.

Stats will help you in that do everything intentionally part. If you can say 80 of people do this, 20 percent of people do that, you can from this say, that this gets center position, bright colors, dark shadow and lots of negative space. That thing that 20 percent of people do, gets bottom right, lowER contrast, and is there for people that expect it.

Good luck, conferences will help. Podcasts will help. Reading interviews from design teams at larger companies will help.

Asking reddit will help. What you should ask for is paid time off to study lol. Good luck.

Also get this book universal principles of design I think there's a pocket version. This teaches you what works and why and when to use it.

Get the design of every day things. This book teaches you what good design is. It asks the questions - what is design. When is design good. What is an affordance? How do we signal what things do what? How does all that work? Is a coffee cup good design? What about a scissors? How about vs

Check out don't make me think... or just think about the title for an hour and pretend you read the book.

a popular one now is hooked. Pavlov's dog experiments except with people, basically operant conditioning for designers.

And learn about grid systems and bootstrap for prototyping. Get a prototyping account. For something,, invision, framerjs.... Invest in omingraffle and sketch, get a creative cloud license if need be. You will need to show people things a lot. You will need to convince people of your ideas and your paths. You will need to constantly throw together quick and dirty visualizations of what you want to say. Invest in tools that make it simple.

Learn how to sell your ideas. You will be asked a ton of questions as people poke holes in your design. You need to figure out how to soothe their worries. They will your decisions, and you will have to show them that you have the answer. Learn how to present. Learn public speaking. Learn how to communicate with superiors. Learn how to talk with programmers. Learn how to give the programmers what they want from you. Learn how to negotiate, learn how to deliver on time. Learn how to handle stress.

Good luck.

u/surpriseslingshot · 1 pointr/graphic_design

Hey dude! I want to send you a huge long explanation I did a while ago about Wacom tablets (which are "industry standard") that didn't get much love in the original post, but I put a lot of work into figuring everything out for this dude so I thought I'd share it again.

Before I paste in my response to this question someone posted, I wanted to mention a few things about your unique situation.

When starting out in design, it's probably more important to invest in a mouse, the Creative Cloud Suite, and some sketching supplies. I use my tablet all the time, but in my classes only about half of the people use tablets. Everyone else gets by just fine (even in illustration) with a mouse. Trackpads are asses to work with, and a good sketchbook, a set of Micron pens, a nice .5 mechanical pencil and some Prismacolor pens are gonna do you a lot more help than a tablet, especially if you're just starting out in classes. Other supplies you might need include a T-Square, a right angle measure (is that what they're called?), a good X-acto knife and a bunch of blades, a good ruler, some tracing paper, and a case to carry it all around. Oh and a portfolio (one of the cloth ones so you can carry your print work around).

If you're specifically looking at web design, i'd invest in a couple amazon books like this book and this book

In terms of graphic tablets, I'm posting an explanation of all the ones available right now. The person for whom I was originally responding was looking to buy one as a gift for, I think, their SO who was primarily a photographer using Photoshop. And just as I post at the bottom of the quoted message, feel free to PM me if you have other questions about anything that I've mentioned here :) Good luck OP, and sorry for the wall of text!

> First off, it's much easier to navigate the different models via the actual wacom site[1] . Here's a breakdown of Wacom tablets:
Almost all wacom tablets come in different sizes. Typically they are small, medium, and large. Very simple, it just dictates how large the tablet is. On the other hand, it also dictates the ratio of calibration to the screen. Let's pretend that your tablet is 4"x5" and your screen is 8"x15" (for the sake of an example, ignore the absurd dimensions). Since every point on the tablet is directly calibrated to a point on your screen, it'll take 1.5 times longer for your cursor to travel horizontally than it will vertically. Not an issue, but it makes the learning curve for using a tablet a little steeper because you have to learn how to change your hand-eye coordination from 1:1 to 2:3.
Ok so about the different models: Bamboo is an older model that is no longer sold. Now they have Intuos Pro and just plain old Intuos. Bamboo is great, fine, wonderful even, but as time goes on it'll be harder to find replacement stuff (like pens, which I have lost once or twice) for the tablet itself.
Now, in the plain old (newest) intuos family, you've got Draw, Art, Photo, and Comic. Draw, the cheapest one, is not a touch tablet. It won't respond to your fingers on it, just the stylus. The rest are all touch tablets too. All four are considered "small". Draw is the bare minimum. Nothing special comes with it. Next level up, you've got Art. Art is touch sensitive and comes with Coral Painter. Next one (Photo) comes with Tonality Pro, Intensify Pro, Snapheal Pro, Noiseless Pro (and I know nothing about what each program does). Then Comic comes with Clip Studio Paint Pro and Anime Studio® Debut 10 (again with the not knowing what it is).
Next up You've got the Intuos Pro, which is what I use (i'm a senior design student with four years of professional design experience, to put it in perspective I do a lot of illustration and I'm very happy with my Intuos Pro). There's really nothing too complex about these, there's small, medium, and large. That's really the only difference among them.
In terms of which one to get, here's my thoughts. The Intuos Pro family is great, but if he's only editing photos then it might not be worth it to get the more expensive tablet. The bamboo tablets are adorable and easy to bring around, but they jack up the price for absurd programs that you most definitely don't need (Adobe suite is standard in the industry. While he sounds like he's only working with Photoshop, if he ever needs to share a file with someone who doesn't have the programs that come with the tablet, they'll also have to own the software in order to read the files).
I have an older generation Intuos Pro that does not have touch-capabilities. It's fine, I have learned key commands to compensate for my inability to quickly zoom and move around artboards, etc. If you're trying to save money, go for the Intuos Draw. It's a great starter, and within the next year-and-a-half to two years he'll probably upgrade. Or you can drop a hot dollar on the Intuos Pro family and kinda bite the bullet. I started out with a bamboo (back in 2007!) and used it until I came to college. I got an Intuos Pro, loved it to bits, and lost the stylus. For about 8 months I was too lazy to buy an $80 new stylus so I used my 2007 bamboo for all my work, and it went fine! I have since sold my little baby bamboo, but it served me well for a long, long time. The only problem is that the appeal of a new toy is sometimes greater than the practicality and logic of playing with an old one.
Best of luck! Let me know if you have any other questions...

u/gin_and_toxic · 1 pointr/webdev

Clean Architecture: (also read Clean Code if you haven't).

Designing Data-Intensive Applications:

u/gfever · 1 pointr/cscareerquestions

Robert Martin books are good read "Clean Code" and his architecture book.

Learn design patterns: Head First Design Patterns: A Brain-Friendly Guide

Supplement with leetcode: Elements of programming interviews

You need some linux in your life:

Get some system design knowledge:

You need some CI/CD knowledge: The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations

u/jakc13 · 1 pointr/learnpython

Looks good, and seems to have good reviews. May well order that.

However, I am more after online learning style courses that include online tutorials and videos. More my style of learning.

u/KeyVisual · 1 pointr/datascience

What resources would you recommend for newbies? I'm currently reading Data Science from Scratch(Grus) and Python for Data Analysis(McKinney). Anything else I should check out?

Love the blog!

u/mrdevlar · 1 pointr/statistics

The books I already mentioned in this thread will cover that. That said, I am generally anti-test and pro-estimation.

If you're already a proficient programmer. Try "Data Science from Scratch". I've found it to be one of the better books on the mechanics that underpin a lot of the work.

u/fieldcady · 1 pointr/datascience

First off, thank you for your service!

I hate to say it but you've got quite a lot of ground to make up. It's hard for me to gauge whether you have the coding skills needed. I get the impression that it's mostly sys admin stuff, which is good but not really sufficient (correct me if I'm wrong). You may want to teach yourself python if you don't use it yet.

The Coursera class on machine learning is something you should look into, since it will introduce you to a large body of knowledge that is critical for DS and probably all new to you.

I also encourage reading a book on data science, which would give you a good overview of the field as a whole and let you assess where the gaps are in your knowledge. I published one recently, which has great coverage of topics but has gotten mixed reviews so far. Here's another one which has better reviews, and is by a guy I know and respect.

u/KingEnchiladas · 1 pointr/datascience

I'm a sophomore in college wanting to get in to the data science field after I graduate. I'm currently learning Python in a class of mine and I'm looking to do some learning on my own. I've found two books, Data Science from Scratch: First Principles with Python and Data Science from Scratch: Practical Guide with Python My roommate has a copy of the first book and I've looked through it some. I'm wondering if anyone has experience with either of these, or any other resources that would be helpful for me.

Thanks for your help!

u/ziegl3r · 1 pointr/cscareerquestions

Thanks for the response.

Yea I have 2 quarters and summer school before transfer to university. Currently taking calculus I and next quarter calculus II.

I started that coursera course but realized I should probably go to school and learn math there since my parents are paying for it.

I just finished the statistics course offered at my junior college and am reading [Data Science From Scratch]( "").

u/SethGecko11 · 1 pointr/Python

There is That book coming out in 10 days by Jake VanderPlas. I haven't read it yet (obviously) but his youtube lectures are great.

u/alzho12 · 1 pointr/datascience

As far as Python books, you should get these 2:
Python Data Science Handbook and Python Machine Learning.

u/americio · 1 pointr/SQL

This, and this.

u/Rehd · 1 pointr/SQL

Select is exactly as it implies, it is what you are selecting. Performance wise, it's the same to say, give me everything vs give me one or two things. It's best to specify what you want, because if you don't need everything, you're going to pull a lot of network time trying to pull more data across. Also, it can break things. Example: My beginning point has 5 columns and so does my end point, I get sloppy, I just say, hey, just grab everything from my beginning point, insert it into my end point. What if I add a column in the future? It will break your code because the end point has 5 columns, but you added a 6th column to your beginning point and told it to grab everything.

For joins, practice. Lots of practice. This covers joins well:

Here are some books I'd highly recommend:

First book to read

Second book

Go download SQL 2016 developer, almost the same as enterprise and free. They have a huge DB for it that you can practice in.

u/FoCo_SQL · 1 pointr/SQLServer

I ran into a similar conundrum. If you read the 70-461 or T-SQL Fundamentals, they have practice problems that are related. The 70-761 does not contain practice testing material.

Apart from that, it's recommended to do the more official practice tests if you decide you need one. They are supposed to be more difficult than the real test, but I do not have any experience taking the practice tests. I am thinking of trying the 762 practice test though.

I did use one other resource that was a practice test and I'll list it below, but here's a copy from my site that lists my favorite resources from when I studied for my 761.

My favorite resources:

u/anilamda · 1 pointr/BarbarianProgramming

I wonder what the author would think of some of the cellular automata in A New Kind of Science.

u/potifar · 1 pointr/IAmA

I'm pretty unfamiliar with your work (except W|A), so I looked up one of your books on Amazon. The top rated review is rather dismissive (one star). I'm sure you're aware of this. Care to comment on it? Is he judging your work unfairly?

u/HowAboutABook · 1 pointr/technology
u/manuranga · 1 pointr/lectures

read the top comment on his book at amazon

u/CunningAllusionment · 1 pointr/godot

Wow. Thanks for taking such a close look at it. I took a summer class on deterministic cellular automata that generate chaotic patterns like this one (we basically just worked off of Wolfram's "New Kind of Science"), so it's pretty exciting to encounter such a pattern unexpectedly "in the wild".

I'm not sure if it's clear what I intended this thing to do, but the idea is that on frame x+1 squares are black only if they had an odd number of black neighbors on frame x and white otherwise.

What seems to be happening instead is that each square's color is being updated as its being checked, so square (1, 1) is determining it's state by the new state of squares (0, 0), (0, 1), (0, 2), and (1, 0) and the current state of the other four squares its adjacent to.

I don't really understand why it's doing that because neighborCount is incremented based on a check of pixelArray[x][y] and is then used to set a value in newArray[x][y] which is then used to set color. There shouldn't be any way for neighborCount to see values in newArray, but there is somehow. I can only think that somehow pixelArray is being constantly updated to be the same as newArray, but I don't understand why. They're set to be equal in only 2 locations, at the end of setup() and after next_frame() is called.

Does using draw rect improve performance? I've found it takes about a half second to draw each frame with 10x10 squares. I've assumed this is due to it checking almost 60,000 if statements per frame, but maybe having that many nodes loaded is a memory sink?

Thanks again.

u/BenevolentCheese · 1 pointr/mildlyinteresting

If you'd like to learn more about the fibonacci spiral in nature and other patterns in nature based on underlying math, consider a light read of the first 700 pages of A New Kind of Science by God King slash Universal Mind Genius slash Erotic Sex Lord Stephen Wolfram.

u/nudelete · 1 pointr/Nudelete

>Hi /r/learnprogramming. I started programming 6 months ago, going from zero programming knowledge to having my pick at several NYC start-up web developer job offers. I got started by reading /r/learnprogramming, but eventually began building projects, participating in open source, reading books, and pair programming with other developers.
>To express my gratitude for this community and the impact it’s had on my path to becoming a developer, I’d like to share with you the steps I took.
> W3Schools
HTML/CSS by Jon Duckett
>I had a head start with HTML and CSS because I worked as a product designer in college. Jon Duckett's book was a great resource for the fundamentals. To practice, I worked on my personal website’s HTML and CSS.
>2. JavaScript / jQuery / AJAX
>Resources: Eloquent JavaScript
>This book is very good for beginners, as it teaches JavaScript step by step, from basic syntax, all the way to higher-order functions, object orientation, algorithms, and jQuery. It's very clear and well written; I never had to look anything up on Google while reading. It also gave me many ideas for projects to build for my portfolio.
>When you want to animate elements on your webpage, jQuery is the tool to use. I also learned this by reading StackOverflow answers and the jQuery documentation. You don't have to learn this before you get a web page up on the Internet, but you will need it eventually. AJAX lets you make asynchronous web calls, which allows you to change the DOM (the elements on the web page) without refreshing the page, allowing for a smoother user experience.
>To sharpen my JavaScript knowledge, I added animations to my website, and made a table whose cells change to a randomly generated color when clicked. I eventually refactored the hex code generation to a Ruby gem, then used AJAX calls to retrieve the data from the server — in a Ruby on Rails app.
>3. Git
> StackOverflow
Pair programming
>Git is how developers save and share their work, and collaborate with each other.
>While Git is a very complex tool, there are only four basic commands you really need to be effective from the start. "status", "add", "commit", "push". These four commands will be like your arms and legs because you type them tens of times everyday. If you find yourself needing to do something fancier, then StackOverflow likely has the answer.
>Since you can’t really practice Git on its own, the only way to become comfortable with it is by incorporating it into your development workflow.
>4. Ruby
>Learn to Program by Chris Pine
>This book is structured like Eloquent JavaScript, except for Ruby. It was a great introduction to the Ruby language because the author wrote the book for total beginners.
>The Well Grounded Rubyist by David A. Black
>This book builds upon your basic Ruby knowledge. It's gives a very in-depth look at Ruby's core API, including syntactic sugar, metaprogramming, and other Rubyisms.
>To hone in on my Ruby skills, I worked on a number of projects. I started with easy problems on Project Euler, then worked my way up to solving harder ones, like Hangman, 24, and Sudoku.
>5. Twitter Bootstrap
>This is used to quickly stylize web pages. I learned by watching Youtube videos, reading other peoples’ code on GitHub, and the official Bootstrap documentation. This is a great tool that everyone web developer needs to learn to use.
>Once I read a bit about Bootstrap, I added it to my own personal website to get some practice and to make it look better.
>6. SQL
>SQLzoo is great because it encourages learning by doing.
>I went light on SQL because I knew about ActiveRecord, a tool available in Rails that lets us query our database with plain old Ruby.
>7. Ruby on Rails + Testing
> One Month Rails
Rails 4 in Action
>* Everyday Rails Testing with RSpec
>One Month Rails was the perfect introduction to Ruby on Rails because it doesn’t go deeply into technical details. I think it’s designed for entrepreneurs who just want to get an idea off the ground quickly. It made the content in Rails 4 in Action feel familiar.
>Rails 4 in action, although a bit frustrating at times because it’s outdated, walks readers through a test-driven approach to the building of a ticket management app.
>After reading as much of this book as I could, a friend of mine helped me revisit all of my old Ruby applications and test them.
>Although these resources were immensely helpful, I think having the mentorship of another developer made a greater difference in my learning. I had a friend who pair-programmed with me daily, reviewed my code, and showed me how to think like a software developer.
>If you're interested in learning more, you can visit Ruby on Richards and sign up for the free mailing list where I'm sharing a more detailed walkthrough of the path to becoming a professional web developer. There are also things you pay for, but the in-depth guide is free.

u/CoffeeSwirl · 1 pointr/DevBootcampSF

The Well-Grounded Rubyist - Another good book

u/Stilfree · 1 pointr/learnprogramming

I started out doing TOP, i also read The well grounded rubyist on the side, i got to the ruby on rails part before i decided that i wanted to do FCC/fullstack javascript instead. I got to the intermediate frontend challanges before i quit in favor of personal projects and meteor.js, while also reading Eloquent Javascript.

I made (ranks alchoholic beverages according to % per liter per money, for the national winemonopoly), also made (online multiplayer for cards against humanity). I am also working on(Finished, just testing left) an ecommerce store.

Freecodecamp has changed a lot since I stopped doing it, so it might have gotten a lot better since i tried it out(6 months). When i started, the javascript tutorials were just links to, which i found lacking, mostly syntax, not really great for learning concepts.

u/andrewd18 · 1 pointr/ruby

I can't rave about The Well-Grounded Rubyist enough. Very approachable.

u/MeGustaDerp · 1 pointr/SQL

Ah... I was thinking about getting that book. What did you think about it overall?

Just a link for future reference

u/DaveVoyles · 0 pointsr/cscareerquestions
u/nziring · 0 pointsr/compsci

If you want to dive into cellular automata in a fairly approachable but very deep way, consider Wolfram's A New Kind of Science. For more academic treatments, maybe Schiff's Cellular Automata?

u/blurrah · 0 pointsr/webdev

I can remember a small quote (let me know if i'm wrong here) from "Don't make me think" that goes kinda like this:
Clicking through links to get to content is okay as long as the user doesn't have to think about the links.

That book is a great read.

u/Manbearjosh · 0 pointsr/OkCupid

You should read Dataclysm, written by one of the OkC founders, somewhat insightful.

u/artsrc · 0 pointsr/programming

Can't you get laziness with a function pointer (in a thunk struct perhaps) in any language from C up? Having it as the default is a syntactic convenience?

What are doubly linked lists really useful for? What about having two singly linked lists in opposite orders?

Would you start by buying this book?

I tend to use sets, maps, queues (priority, fifo), and lists (indexed and singly linked).

u/dan0189 · 0 pointsr/learnprogramming

Great resources for learning:
Head First PHP & MYSQL AND
PHP 6 and MYSQL 5.

The trick is to repeat the same things over and over and then you will begin to pick them up and remember them off by heart.

I had been idol for the past month until a couple of days ago when I started developing an old site and It took me a little while to remember basic things like creating a class or remembering certain queries.

It's a bit like riding a bike. Just hang in there.

u/IronSpekkio · 0 pointsr/learnprogramming

teaches you theory, implementation, design, sql.....

u/NightweaselX · 0 pointsr/learnprogramming

If you can find this book
That's what finally made it click for me. It's short, good, and Ruby is simple enough you can understand what's going on without knowing the language. And since you're just wanting to reinforce the concepts, you don't really need to code a long in Ruby, you can do it in Java or whatever you want.

u/theofficialLlama · 0 pointsr/learnprogramming

If you can afford it I'd highly recommend this course on udemy. Its $35 but theres always tons of udemy coupons floating around. I've been working through it and it definitely has helped me get a better understanding of both the front end and back end in web development since there's code alongs, exercises, quizzes, and you even make a bunch of small websites as well as a couple of actual web applications. That being said I'm not affiliated with it in any way. Just sharing what Ive been using to learn and its been very helpful.

Also there's tons of books available both paid and free.
As other people have mentioned, Duckett's books on html, css, javascript, and jquery are very beginner friendly with colorful and easy to understand material.

This is a good one that I've been going through to learn about UI/UX and the overall look and usability of your website. It basically teaches you how to make your website more approachable to whoever is navigating it.

I don't think anyone else has mentioned it but Udacity also has tons of free content, a large majority of it being web development and programming courses.

Other than that you're honestly going to just have to start messing around in a code editor and see what does what. Come up with an idea and really just start trying to code it. It could be a small one pager or it could be the start of your web development portfolio. A big thing that I've come to learn is that when you decide that you want to build something and you have no idea what you're doing, grab a good old pen and paper and write down or sketch what you want to do. Sketch what you want your page to look like. Then figure out how to code it. And if you get stuck google is your best friend. Break down what you want to do into smaller manageable chunks, do one thing at a time, and don't be afraid to get your hands dirty. Being a computer science student, this is the best advice I can give you when it comes to learning this stuff.

u/PLEASE_USE_LOGIC · -1 pointsr/AskMen








I've read them all; they've helped a ton^1000

u/Robin_Banx · -3 pointsr/math

A New Kind of Science by Stephen Wolfram (the Mathematica guy) is supposed to be good. Never read it myself, very much want to at some point:

u/greatredpie · -4 pointsr/PHP

The O'Reilly head first series of books are great. They offer an easy to understand and read book. These books go over the basics while teaching you PHP.

u/gnocchicotti · -5 pointsr/Bumble

Uh huh, thanks. Just relating personal observation but I appreciate your input.

EDIT: Just to be particularly specific the 20% stat is my recollections from this book which is very much based on very real statistics from the founder of OKC who had unfettered access to all of the data their user base coughed up. It's eye-opening.