3 points by krogers 2 hours ago 3 comments top 2

1

jtfairbank 55 minutes ago 0 replies

Seems reasonable, though I wouldn't be a great target audience (CS major here). Perhaps you should ask people coming out of coding bootcamps? Maybe the bootcamp doesn't teach them about the interview process, finding freelance work, and other next steps?

2

aarohmankad 2 hours ago 1 reply

5.99 is a good price point for me, but what does it do better than the competition?

4 points by minaandrawos 3 hours ago 5 comments top 4

1

kjksf 3 hours ago 1 reply

If you want to get more advanced knowledge then independent study will be way more efficient use of your time. Masters degree isn't all that advanced (after 8 years of programming you should know much more than a masters degree can provide) and in addition to teaching stuff you might be interested in, there's also a lot of wasted time on things that are not very interesting (in general and/or to you). Not to mention massive cost (you not only have to pay the tuition but also are not being paidfor doing software work).

If you want more recognition, blog about technical topics and create useful open-source projects.

I can tell you that no company ever has contacted me after seeing that I have MS in CS. That's not indicative of anything and after few years of professional experience, you're judged on your past performance and not your degree.

Plenty of companies contacted me offering job interviews after seeing my open source work that I wrote about on my blog.

2

davismwfl 2 hours ago 0 replies

Unless you are wanting to get into compiler development, get certain government positions or work in specific scientific fields of development 5-8 years of experience is worth more than the MSCS.

Unless someone has < 3 years of experience in the field I basically ignore the education section on their resume. I will look for relevant certifications, and any job/technical related training, but experience is worth so much more than a degree in my book.

As for getting recognition for your skills, you'd be better of doing any of the following:

1. contribute to open source projects 2. start a blog, write guest posts3. contributing to conferences as a speaker.4. publish white papers on work you have done/been a part of (with permission of course)

If you just want it for personal development though, go for it, I can't think of any reason it would hurt anyone.

3

viraptor 3 hours ago 0 replies

I did it in one go with the rest of the studies. But I did work at the same time - not sure if I'd do MComp otherwise.

From my experience:

1. With 8 years of experience you're unlikely to learn anything new and interesting. Unless you have only coding-to-a-spec experience with no research and learning involved.

2. With 8 years of experience, I don't think anyone will even look at education field anymore. I didn't when I was doing interviews.

3. You've got 2 very different goals listed: "more advanced knowledge in the field" and "more recognition for my skills". You can easily do the first at any point without the second. EDx, published MIT courses, published research papers, etc. are available to you right now. Are you using them already? The only thing that a degree will give you is someone to talk to in person about those things - this may be a great thing, or not. Depends how you like to learn and who is available at the university you're thinking of.

Personally I had a few years of work experience already by the time of starting MComp and looking back: It was rather boring to spend time on stuff I already knew. It was cool to get really advanced people give you specific papers to read. The final project was painful - I never want to write ~80 pages on anything ever again. I don't think it helped with my hiring either - it was more just the professional network.

These days I try to pick up one EDx course at a time, every once in a while, or do some Rosalind problems to learn new things.

8 points by sbenario 11 hours ago 9 comments top 5

1

davismwfl 10 hours ago 1 reply

You might check with a couple of the OS/hardware vendors too. I know Microsoft used to have labs on both east and west coasts that allow you to do this type of debugging, I would imagine they still do.

Sun used to do the same thing back in the day, not sure since Oracle took over, but it would be worth a call. IBM/HP also might have a lab environment where you can test on.

Maybe call the machine vendor your client used for that machine and explain what you need, you'd be surprised how accommodating they can be. It won't be free, but it likely is far far cheaper than a 60 core machine.

Good luck!

2

JoachimSchipper 9 hours ago 1 reply

If you're not scared of a "weird" architecture, http://labs.runabove.com/power8/ gets you a lot of threads at a very low price.

3

Bluecobra 9 hours ago 0 replies

If you don't mind AMD, you buy find a quad Opteron 6168 server and return it. This one is $8,029 and has 48 cores:

http://www.ebay.com/itm/DELL-C6145-SERVER-QUAD-AMD-6168-1-90...

4

valarauca1 10 hours ago 1 reply

Look into used UltraSPARC hardware. T3/T4/T5 all should offer >100 cores, or start building a beowulf cluster with in house computers.

9 points by nolimits1228 6 hours ago 4 comments top 2

1

brd 5 hours ago 1 reply

I appreciate the spirit of the message but opportunity cost is something that demands attention. Most of my why's allude to the fact that life is short, I only have so much time, and I better ensure I'm making decisions that don't pull me down bad paths or from paths I'd rather be on.

Dive into things head first, just make sure you're diving into the right things.

2

blakehaswell 5 hours ago 1 reply

Thanks for posting this, its the truth.

And its exactly why my wife and I are leaving our jobs to cycle around Europe for 10 months. I dont know what will happen, but Im diving in head first and I cant wait to grab life by the horns and do something real.

Life is WAY too precious to waste it working for the man.

17 points by djmill 11 hours ago 33 comments top 16

1

brucehart 6 hours ago 0 replies

I would start looking for a new job immediately, but stay in your current job until you have something lined up. It's much easier to find a new job when you are already employed. Relax and just focus on developing your skills and learning as much as you can while you are there. What's the worst that could happen, you get fired or laid off? You are considering leaving the job off of your resume anyway. You might as well collect a paycheck while you are looking.

Learn everything you can about Java/Spring even if you never intend to write another line of Java in your career. It's always helpful to be familiar with other languages. Be polite to your employer and (when you have a new job lined up) just say you are moving on to an opportunity that is better aligned with your goals.

I once worked on a project that required refactoring classic ASP code written by a company in India. The code was a rat's nest. The site had hundreds of pages and most of them had three or four copies of the code commented out (this was their "version control system"). At the time I hated it, but looking back I learned a lot about what not to do and how to be a better programmer. I used the opportunity to create automated tools to clean up the code and experiment with new technologies.

2

JSeymourATL 9 hours ago 1 reply

> The new code has almost no comments. The new code almost ALL needs to be refactored -- and this is landing on my shoulders.

As the ONLY in-house developer-- can you help your employer?That is to say, can you manage-up and make the necessary changes? Can you learn the new technologies? If you could make those changes, how might that impact the attitude toward your work? How might overcoming these challenges help you grow professionally?

It's easy to run and find a new job. It's much harder to stay and fix things. But that's how great careers are made.

3

jtchang 11 hours ago 0 replies

Totally. Your career is yours alone. If you don't need the money immediately then why be unhappy?

Put it this way. You've spent 2 years 3mos at this company. You're a free agent and now is the time to focus on other career opportunities. Your boss won't fault you. When people ask what you're gonna do just say you are evaluating your options. If they ask why you are leaving just be very straight forward.

Be prepared for a counter offer if you are critical to the team.

4

saturdayplace 10 hours ago 1 reply

Before I was a working programmer, I worked in graphic designer and 3D modeler and sometime animator. In 2008 I was working for an architecture firm building pre-visualizations for the projects they were either currently building or ones they were bidding on. I'd dabbled as a web developer as a hobby for a couple years.

Then the bottom dropped out of the economy and I was laid off. I took it as a chance to turn this whole web hobby thing into a full-time gig. After two months I landed a job as a web developer at a very small printing company. They needed someone who could blend design and web dev into one role, and it seemed I fit the bill. They had another dev and apart from that had no idea how to build a website. I was grateful I wasn't going to have to dig into my savings any more. Three days in I already started dreading going to work in the morning. I didn't gel with my manager, we constantly misunderstood each other. I never understood what he was looking for design-wise, so I kept bugging him for clarifications. I got the impression he thought I was a diva. And the dude was a printing industry vet, who just didn't understand the web at all. It wasn't a good fit.

I was rescued that Friday by an offer from a different company I'd interviewed with. So after a week, I walked into the owner's office, told him I had a better offer[0], and that I was leaving now. I walked right out the door. No two-weeks notice.

That job is notably absent from my resume. Why would I put it there? The whole point of a resume is to sell yourself to potential employers. If you don't want it to come up in future job interviews, don't put it on there, and it won't.

No one else is going to look out for your career[1]. I almost look at my personal career development as my actual "job" and positions at companies as steps along the way. Take charge of it. You get to be responsible for your own path.

[0] It really was a better offer. Something like a 40% pay raise, WAY better benefits, a boss who understood what I did and could communicate what he wanted, and a very nurturing company culture.

[1] Well, someone else might. Some companies are better at this than others. But no one's going to advocate for you the way you would. So you might as well get used to doing that work for yourself.

5

Smushman 10 hours ago 1 reply

I think you need to leave. Start looking immediately even if you are not sure yet.

BTW I am in the exact same position right now myself. I did not follow what I am going to suggest to you next. But I hopefully have learned my lessons and won't be here again. These lessons were learned through mistakes I made and still make.

1. Always be looking for a job.

This means you should often be checking for jobs in your career field, even if you know there is no chance you would leave. Make sure you keep in mind:

Growth or looking for your next step. Too many people go from one job to the same job elsewhere. They are passing up a great opportunity to change their direction!

What kinds of things/skills others are looking for in an employee with your skillset. Helps you keep yourself employable.

Temperature and pay of your field. Is is waxing or waning in popularity?

This also reminds you to keep your resume and profiles updated.

2. Keep in mind it can be 1-3 months to find a new job that works. So, see #1 again to keep that number at the low end. Careers outside of tech can expect much longer timeframes.

3. It is a numbers game.

There are odds that work in your favor and odds against.

Timing is probably the biggest single predictor of your happiness and pay. For example, I work in IT. If I am applying for jobs in Nov-Dec I know I am probably a backfill replacing someone who is leaving. Backfill gives you great negotiation room but are almost guaranteed to be difficult. Why difficult? Logically, there must be some reason the last guy is leaving. And you will be expected to be at least as good, and lastly you will have to quietly clean up his mess.

Timing is also almost impossible to control. So keep that in mind. See #1 again to improve those odds.

HTH.

6

hashtree 10 hours ago 1 reply

I'd go with your gut on this one and get out of there as quickly as possible, without something else lined up. I say this knowing this cannot always be the right answer for every dev in this scenario, but if you are one of those who is unwilling to settle in life/career, are talented, and are confident in your ability to get hired if you set your mind to it, well...

I've been there myself, and it is hard to go against the herd telling you to play safe and stay for the security/money. Life is short, make yours worth while and take risks on yourself. Jobs, money, and titles are fungible for those who are truly great practitioners of their craft. This might sound like anti-advice, but a great way to ensure you have all the job prospects in the world going into the future is truly falling in love with practicing your craft and be uncompromising for things that get in your way of that.

One thing I would mention before you fully depart is to go for a "longshot" pitch to your superior(s). Put together a plan for how the department could be put back on track and show you can help reach that vision. Find out why the Rail to Springs change was made, why outsourcing is being preferred, what the department's goals are, your thoughts on moving forward, and how you can lead such a change, etc. Worst case, you know for sure this isn't the right fit. Best case, you get a promotion to lead and bring the change the department needs. If you have plans to be more than an employee someday, you might also enjoy finding out how the series of events lead to a poor outcome came about. Something to take insight of, if you ever venture off on your own (plus, it is interesting to know how the world "works").

I wish you the best in life and career!

7

realusername 6 hours ago 0 replies

All the answers here are really good. I would just add some advice for your new job (if you choose to change) : Always ask for a detailed presentation of the product and the current work in the interview. First, that is showing them that you are interested in the job and everyone like talking about their work but even more important than that, they cannot hide anything.

You will see instantly from what they do currently and how they present it which type of company they are, you will see any management issues, how good everything is done and how they care about their product(s). Nothing can be hidden this way. As a software developer you have a tremendous choice about the type of company you will work, so life is too short too work in a company you don't like !

8

9

10

djmill 6 hours ago 0 replies

Thank you all for the replies, they really helped me analyze both sides to finding something new.

I've decided to stick it out and make the most of it while I look for something more suitable for my skill level. At worst, this position has shown me what I'd like to avoid in the future.

11

12

AnimalMuppet 10 hours ago 2 replies

I think it's important that, on the way out, you tell your current company the truth - that they put you in an impossible situation. It won't help you any, but it might help the next person not be put in the same situation.

Don't tell them this in malice or anger, but do tell them.

13

chudi 11 hours ago 0 replies

Its normal, read this http://michaelochurch.wordpress.com/2012/04/13/java-shop-pol...

its posibly that you are the victim of a power struggle at the management level

14

braindung 10 hours ago 1 reply

I'm in a similar situation. Started as a software engineer this summer and it was a perfect work environment: boot-strapped with fast-growth ($50m in 2 years), pingpong/food, good team, $85-90k + 0.2% equity. Then they hired some executives who started changing our roles and let go some of our teammates. I'm still technically an engineer but I'm working on functional tasks that a high schooler is capable of (eg. powerpoints, researching prices, documenting).

Not sure if I should stay just because it's paying well and is mind-numbingly easy work or leave because it's soul-draining and the company is likely to fail with the new management.

15

tomashertus 7 hours ago 0 replies

run, run as fast as you can....Offshoring of this kind is wrong in all ways and the software it produces is terrible. I don't believe that it is working model and you will become just refactoring machine with zero interest in the product development/improvement and after while you will start hating your job.

Don't waste your time. If you are not bound with visas or other strings in that company, just go away.

6 points by fempreneur 7 hours ago 9 comments top 4

1

alain94040 6 hours ago 1 reply

Best option: find someone you worked with before

Second best option: friends of friends

Last resort: some random developer who falls in love with your idea. Just don't sign any paperwork until 1-3 months after you start working together (if so, read https://medium.com/@colunchers/founder-vesting-c214e86c59b0).

2

MalcolmDiggs 5 hours ago 1 reply

Angellist is a good place to start. Meetups are great (depending on your area), coworking spaces (Like WeWork, etc), and even conferences for your niche.

It's very unlikely that you'll personally meet the right person, but actually fairly likely that someone you meet will *know* the right person. So just talk about your idea with everybody who will listen, get those business cards into people's pockets and see what the universe brings your way.

You'll wanna get facetime with "connectors" (if you've read the Tipping Point, you'll know what I mean). An email intro from one of them to the *right* person is all you need.

3

anthony_franco 6 hours ago 1 reply

It's a matter between either being lucky or having a compelling enough story/background that people gravitate toward you.

I've heard a lot from the other side as well, technical people asking how to find the perfect business partner at a time when everyone has their own idea.

Ask yourself what qualities would a founder have to have that would make you give up your idea and join theirs. Then strive toward having those qualities.

In my perspective, if I see anyone hustling either by getting together a makeshift MVP or pre-selling to customers, then I know they have the drive to succeed.

4

45 points by STRML 10 hours ago 59 comments top 30

1

rmxt 9 hours ago 3 replies

I prefer to avoid placing my password store/database on the web in any form. I like to use KeePass + key file + long password on a thumb drive. [1] There are ports for pretty much every platform, and the Windows and Android ones that I've used are pretty convenient once you incorporate them. The Windows program offers a lock-screen reprompt, say if you are stepping away from your screen. Also, it offers the option of only using a key file, rather than entering a long password each time you access the database store. Lastly, the Windows version offers an auto-type keyboard shortcut that you can customize based on the window title in your browser (e.g. to match a specific webpage). It is susceptible to keyloggers, but at that point you might have other issues than your password stores being compromised.

2

Someone1234 8 hours ago 1 reply

> However after noticing (https://news.ycombinator.com/item?id=6621560) that LastPass' vault is easily broken into when open

So to use an analogy, you're unlocking your front door, showing a stranger into your home, and then are upset because they can steal stuff once inside?

They've already defeated all of your security if they have complete unrestricted access to your LastPass vault. The fact they can hit F12 and use the developer bar to inspect the DOM or restrive passwords from behind ###### is both expected and not a security issue.

> even with strict reprompt settings

That wasn't in your link. How do you bypass reprompt?

> I'm starting to trust their security model less and less.

Why? None of the reasons you've given are technically sound.

> I opened a support ticket about the obvious password breach detailed above, and they say it's an inevitable consequence of Chrome's broken security model in extensions.

It has nothing to do with Chrome's "security model." If you have completely unrestricted access you have complete unrestricted access. End of.

You are literally accessing a UI that can display all of your passwords in plain text and you're complaing because you can see your passwords in plain text... Well, yeah...

> Well, if that model is broken, I don't want to use it.

You haven't explained how it is.

> I find it misleading that LastPass even offers a reprompt option, since it is so easy to retrieve passwords from the application when it is logged in, even if a reprompt is required.

Huh? Can you explain how you're able to bypass the reprompt prompt?

> Sure, it would slow down unsophisticated attackers, but you don't need to be that sophisticated to change the type of an input.

It shouldn't slow anyone! You've giving the attackers complete unrestricted access to your password database. Nobody should be slowed, everyone should have a complete overview.

> I have been trying to use it with very fast autologout policies but it very annoyingly asks for a password twice (once to login, once as a reprompt) as well as the Yubikey for every single site. The usability is garbage.

Then turn the reprompt off and just have it ask for login...

> What do you use and what do you like/dislike about it?

I use LastPass, but I'd consider something else if any of your complaints had any technical credibility at all.

3

RoboTeddy 9 hours ago 1 reply

I use KeePassX (macosx) + MiniKeePass (iOS). They use the same password database format. I only generate new passwords on my macosx device. Occasionally, I manually copy my password database to my iOS device.

It's a bit annoying, and it means that recently generated passwords might not be available from iOS, but overall seems to work!

4

vijayp 9 hours ago 3 replies

We open sourced (GPL3) Mitro (https://www.mitro.co). You can find the code here: https://github.com/mitro-co/mitro.

We have a similar model for reprompting, but you can alter the code as you see fit. Someone was working on a command line client too, but I'm not sure what became of it.

5

tdicola 9 hours ago 0 replies

I'm actually going through and setting up KeePass with two factor auth (just using Google's Authenticator app for now, maybe a yubikey in the future) right now and have a similar question. After looking into KeePass and kicking the tires a bit I really, really wish someone would step in and make a nice cross platform version to simplify setting up a password store with two factor auth and other best practices (long pass phrases, etc.).

Right now from what I see it's a horrible mish-mash of different apps on different platforms written by different people with an unknown level of support for each of them. Frankly I don't even know if most of the KeePass apps are compatible with each other, and that kind of scares me. Setting up two factor access to KeePass is also pretty obtuse and requires tracking down blog posts and such to figure it out.

I don't mean to denigrate any of the contributions or work people have done in this space (in fact I am incredibly thankful), but it does feel like some leadership to put all these pieces together is badly needed.

I would absolutely love and be more than happy to spend some money on a polished app that's cross platform and is 'batteries included' so you can setup two factor auth & use devices like yubikeys without any extra screwing around. Bonus points if it doesn't require Mono too.

6

dozy 9 hours ago 2 replies

How about the Bruce Schneier-built Password Safe?

https://www.schneier.com/blog/archives/2014/09/security_of_p...

Although, in addition to being a non-cloud-based option, it seems he only vouches for the original, Windows-compatible version. That said, the Android and iOS versions do seem to be open source, so at least you can build inspect them for yourself.

7

sigil 9 hours ago 0 replies

This has been my system for a while now:

- For each new account, generate a long, random but pronounceable password using apg [1].

- Don't let it touch disk. Immediately save it to a gpg-encrypted password file. I use gnupg.vim. [2]

- After a few logins the pronounceable password usually sticks. If I can't remember though:

` gpg -d passwords.gpg | grep example.com`

The downside: there's no mobile version. That's okay -- I'm not sure I trust my phone with the keys to my kingdom anyway. I also wouldn't trust closed-source software with the keys to my kingdom, or even immature open-source software, for that matter.YMMV depending on paranoia level / threat model.

8

richardjs 9 hours ago 0 replies

I'm a little confused about the issue. I understand the problems you have with the reprompt option, and if that causes you to switch from LastPass, it's your decision.

But could this issue be solved by keeping your computer locked when you're not using it? I understand that might not fit your general computer usage, but it's how I use LastPass, and I certainly wouldn't use the service without locking my machine (reprompt enabled or otherwise--reprompt is turned off for most of my passwords).

You also mention trying very fast autologout policies, but that it gets annoying to have to enter your password twice. My question is, if you're logging out immediately, why do you need the reprompt option enabled at all? If a user can log in, they can certainly reenter the password, so the only thing the reprompt does is annoy you, with no added security.

I don't know your particular computer use, though, so forgive me if what I'm saying isn't applicable.

9

sedachv 9 hours ago 1 reply

Bruce Schneier still recommends using copy and paste to transfer passwords from a password manager to the browser: https://www.schneier.com/blog/archives/2014/09/security_of_p...

I've been using Emacs and GPG files (one for personal stuff, one for work accounts) as a password manager since GNU Emacs 22 came out with GPG integration in 2007. Works almost anywhere without needing any other applications. I back up the GPG files to remote servers and keep my private keys on several private devices to get the benefit of remote backups without the risk.

Both iOS and Android are pretty much designed as surveillance devices, I would not recommend putting your private keys or password list on them.

10

smacktoward 9 hours ago 1 reply

I do it like this:

- Password database in KeePass (the mainline version, not KeePassX or one of the other spinoffs)

- Database requires both password and key file to unlock

- Key file only lives on a USB thumb drive, which lives on the keychain in my pocket

- Database lives in a folder that is auto-synced to my various devices via SpiderOak (https://spideroak.com/)

- Password autofill provided by KeeFox (http://keefox.org/)

Using a password and a key file provides a "kinda sorta 2FA" solution, since the key file is tied to a physical artifact (the thumb drive, "something I have") while the password provides "something I know." It's not perfect, however, since the key file could theoretically be separated from the thumb drive if someone got ahold of it.

A better 2FA solution would be one that incorporates a key that's completely tied to the physical token. However, I haven't found a great consumer-oriented product along those lines yet, despite much looking. The YubiKey is the closest, but after buying two of them and spending hours fighting with them, I eventually gave up trying to make them work; they force a choice between their one-time-password (OATH) implementation, which is theoretically awesome but in practice very finicky, and just using a static password stored on the key, which isn't really any better than my USB stick solution.

I chose SpiderOak for syncing the database over alternatives like Dropbox, primarily because SpiderOak appears to actually give a shit about security and privacy. But it doesn't really matter that much because without both the keyfile and the password they couldn't look into the database anyway.

I chose KeeFox for the browser integration primarily because it's well-reviewed and open-source. But if you're concerned about the security of autofill in the browser, you could omit it entirely and just copy the password from the KeePass app when you need it. As always, the right balance of security vs. convenience will vary from person to person.

11

lectrick 9 hours ago 1 reply

LastPass supports 2FA through Google Authenticator, maybe that will help you rest easier?

https://helpdesk.lastpass.com/security-options/multifactor-a...

12

rickr 9 hours ago 1 reply

If you're paranoid about password security why are you storing them on a server you don't own?

You can try KeyPass (http://keepass.info/), but if you're upset with the usability of LastPass you probably won't like KeyPass.

13

acdha 9 hours ago 0 replies

> I've been looking at 1Password but I was turned off by their lack of meaningful 2FA support (Yubikey), and their exposure of data if used in any sort of convenient fashion (I would like access from my phone, which is part of the reason I want Yubikey support).

What exactly are you referring to by that? The 1Password keychain is encrypted using PBKDF2 with a large number of iterations so they're rather resistant to offline attacks, particularly since I'd assume all of your devices have FDE enabled. If you're too paranoid to trust iCloud/Dropbox for the actual file exchange there's also a local WiFi sync option.

15

16

vhodges 8 hours ago 0 replies

I use http://www.alexhornung.com/2014/01/15/introducing-bpasswd2/ because it doesn't store anything anywhere except some settings for some sites that need different options when generating the password.

17

jrochkind1 9 hours ago 0 replies

If you don't need something that keeps your passwords sync'd accross devices, then you have many more options.

Chrome on OSX uses the OSX Keychain to store passwords -- and I figure if you can't trust OSX Keychain, then you're kinda doomed anyway using OSX. (But I actually think it's pretty solid software). (I am not sure if Firefox on OSX also uses the OSX Keychain? Safari surely does.)

And it's easy to share a Keychain file accross multiple OSX computers, even over dropbox -- but just OSX.

There are also of course a number of third-party, and in some cases multi-platform, password storage systems that simply keep your passwords in an encrypted file. I am not sure if any of them have as good browser integration as LastPass (or built-in browser auto-fill) though. Anyone know of any good ones?

18

19

abandonliberty 9 hours ago 0 replies

The issue described in the linked article is a vulnerability where credentials set to reprompt for use still autofill into fields on the page.

This doesn't seem like intended behavior and I'm surprised it hasn't been fixed yet.

In any case, couldn't you avoid it by simply turning off the autofill function as well for that credential? Then in order to access the site you would need to go through the menu and reprompt.

Update: The other weaknesses addressed in the following have been resolved in my chrome instance of lastpass https://news.ycombinator.com/item?id=6622154

20

hartator 9 hours ago 2 replies

You can use a easy trick to have a unique password for each website you need to log in into:

1- Choose a common base ie. laroS-14

2- Take the two first characters of your login and slide one character back in the alphabet ie. mylogin = lx

3- Take the two first characters of the websites and slide again one character back in the alphabet ie. dropbox = cq

4- Concatenate 1-2-3 ie. laroS-14-lx-cq

Voil! You have now uniq combinaisons for each website/login. Of course, change the rules to suit your habit and make it yours. It's stronger than using an external service or a software and you don't have to rely on anything!

22

23

julianz 9 hours ago 0 replies

The description of how to see the password in the linked HN comment doesn't work as described - if it's set to reprompt then you have to enter the master password before it ever gets to the detail form, so you can't just jump into the dev console and make it display the password.

24

25

rmurri 8 hours ago 0 replies

You could try http://masterpasswordapp.com/.

I like its philosophy, even if some of the versions could use a bit more polish.

26

paulrd 9 hours ago 0 replies

I've been using UPM (http://upm.sourceforge.net/) for quite a few years. It's portable and full of great features.

27

BorisMelnik 9 hours ago 0 replies

I've been using Roboform for 7 years very surprised it isn't better represented in here tbh. Cloud option or desktop option and does a really good job of not invading your entire workspace.

28

5 points by elcuervo 8 hours ago 7 comments top 4

1

MalcolmDiggs 5 hours ago 0 replies

Anywhere, really. I think with the exception of Yahoo, most tech companies today will at least entertain the conversation. Of course it depends on what you're doing. It's an easier sell for a dev than a pm, for example. And much easier sell for a software person than a hardware person.

I'd say line up a job and then drop the telecommuting bomb during your salary negotiation. Always worth a shot.

2

MichaelCrawford 8 hours ago 1 reply

I don't know about "cool" but here are some companies that employ remote coders:

http://www.warplife.com/jobs/computer/telecommute/

I'll have lots more soon - I have identified the companies, but do not yet have complete information.

3

dubin 7 hours ago 0 replies

Buffer's entire team is remote, and they write a lot about their approach https://open.bufferapp.com/distributed-team-benefits/

4

337 points by smtucker 12 days ago discuss

1

nicklaf 11 days ago 5 replies

I absolutely, positively second the recommendation of "Real Mathematical Analysis" by Charles Pugh (don't miss the advice he relates from his colleague, on pages 9&10, with the heading "Metaphor and Analogy", which could easily form the basis for a dissertation on the psychology of mathematical intuition and inspiration). Pugh does an exquisite, uncommonly good job of avoiding a pitfall that >99.9% of mathematics authors fall into, making it more or less impossible for one to genuinely understand mathematics outside of a university. What pedagogy is it that Pugh (and Spivak) care enough to get right, where nearly all others fail? It is this: Pugh has carefully crafted his book into what I'd call a 'mind expansion tool': almost everything there is crafted to be read, internalized, and meditated on. By contrast, almost all other mathematics books read like a laundry list of theorems and proofs, with some discussion inserted as an afterthought.

Let me tell you a dirty secret about mathematics textbooks: almost all of them are highly flawed and incomplete dialogs between the author and the supposed reader. The reason for this: the first and foremost purpose of almost all mathematics textbooks is to organize the AUTHOR'S conception of the subject (not the student's!), for the primary purpose of TEACHING a course on the subject. In other words, the book's primary purpose is NOT to be read directly. A given mathematics textbook represents a model of the way in which the author (casually) BELIEVES students of your level might try to reason about the subject, whereas in reality, the author has so long ago advanced beyond your level that s/he cannot even remember how difficult it was when s/he first learned the subject.

If you attempt to read most mathematics texts directly, outside the context of a university course (and without having already gained a true understanding of mathematics), you will almost certainly reach a stage in your reading in which you have internalized a certain amount of verbiage (say, some theorems, maybe a proof or two, and some light discussion, with the pretense that the abstractions introduced are 'useful' for some unknown reason). Certainly, you are asked to do some problems at the end of the section, and this is in fact a somewhat reliable way to reach some kind of personal discovery, and hopefully at least some mild enlightenment about just what the section was really about. (A good textbook will have highly instructive problems; however, the difficulty is, it is virtually impossible to know just how worthy of your time they will be before you spend hours working on them.)

However, even at university, I almost NEVER resorted to reading the textbook: careful attention paid to the lecture, copious notes, regular attendance of office hours, and most of all, intense thought about the problems SPECIFICALLY given (and hopefully invented) by the lecturer were all that I was ever inclined to pursue (and all that I ever needed to succeed). If I read the textbook at all, it was only ever sought as a reference, or to fill in the gaps of a lecture which I failed to understand completely. Which is precisely the reason most math texts read so poorly: they are supplementary material for university courses.

Despite vouching for it, I do not recommend you only read Pugh--at least not right away, and not from cover-to-cover. If you must start from scratch, please start with Spivak's "Calculus", which is similarly excellent in directly addressing the pedagogical needs of an autodidactical learner. Please note that by far the most thing to learn when studying mathematics is something that is impossible to encapsulate in any specific result; I am talking about "mathematical maturity". If you only do a one or two problems in all of Spivak, but spend several hours thinking deeply about a specific aspect of a problem or passage that leads you to have new, creative thoughts, you will have learned more than you could have by merely working through it in a mindless fashion.

If you do intend to make it through a significant chunk of Spivak, be prepared to spend an enormous amount of time at it. There are many, many difficult problems in it. In addition, you should be spending time and effort not only writing down the steps of your proofs, but trying to come to grips with the very definitions you are working with. In mathematics, definitions and assumptions are most important--and they are certainly more important than clever tricks. This is why graduate students in mathematics have to learn their subjects over again--most undergraduate subjects do not do a precise or complete enough job of completely stating all definitions needed to make the theory entirely clear.

The greatest mathematician of the 20th century, Alexander Grothendieck (who recently passed away), was as productive as he was because of his uncanny skill in inventing definitions of mathematical objects which put the problem in a broader context. Raw mathematical power is available to mathematicians to the extent that they allow the context of ANY given problem which they attempt to expand in their mind, until it connects with the relevant intuition. Once this inspiration strikes, the answer becomes easy. To Grothendieck, solving a problem was more a test of his ability to create a useful theory, than an end to itself. This speaks volumes to the value of thinking abstractly and creatively, rather than just trying out hoards of problems and expecting things to magically line up in your brain, hoping for an answer to pop out. There are generally two kinds of problems in mathematics: those which simply require organizing the essential definitions and required theorems until the answer is obvious, and those which need a fundamentally new idea. In neither case will you be able to 'plug and chug'. A great deal of harm is done to students of mathematics in grade school, because the subjects are invariably taught by non-mathematicians, in a highly non-mathematical way--in fact, in a way that is antithetical to the very core of the subject. Please google and read Paul Lockhart's essay titled "A Mathematician's Lament" to see if you really understand just what mathematics is (or if deleterious notions from your schooldays are continuing to blind you from the simple beauty of pure mathematics). I will add as well the recommendation that you read G.H. Hardy's essay, "A Mathematician's Apology".

Learning mathematics is so incredibly difficult for the novice because it is almost impossible to teach this process. One must fail over and over again. I cannot lie: mathematics will be probably be difficult and unnatural for everybody except those who allow themselves enough time to commit to thinking freely and creatively about it, until a point of 'accelerating returns' is reached. Attempting to proceed directly to applied problems will invariably fail. The counter-intuitive truth about applied mathematics is that studying pure mathematics is in fact far more practical than attempting to think about the problem directly. This is because an understanding of pure mathematics gives you the ability to CREATE. Alfred Whitehead said: "'Necessity is the mother of invention' is a silly proverb. 'Necessity is the mother of futile dodges' is much nearer the truth."

I'll also leave you with a relevant quote from the great expository writer and mathematician Paul Halmos: "What does it take to be [a mathematician]? I think I know the answer: you have to be born right, you must continually strive to become perfect, you must love mathematics more than anything else, you must work at it hard and without stop, and you must never give up."

And another, in which he tells you how you should read a mathematics text: "Don't just read it; fight it! Ask your own questions, look for your own examples, discover your own proofs. Is the hypothesis necessary? Is the converse true? What happens in the classical special case? What about the degenerate cases? Where does the proof use the hypothesis?"

I have heard professional mathematicians express themselves the difficulty that even they have in maintaining the attention span required to read a traditionally written, unmotivated mathematics textbook. One such mathematician said that he skipped directly to the theorems, and attempted to discover a proof for himself. This is another secret to mathematics: it is always better to invent proofs yourself than to read the ones given in the text. This may be counter-productive in the early stages of your learning, but it is something you should continuously challenge yourself to attempt. If the first steps of a proof do not come to mind automatically, cover up the proof given in the text, except for the first few words. Then try to prove it again from scratch, with the knowledge that the objects being used in just that initial part might be part of one possible proof. Repeat as necessary, until you have either discovered a proof for yourself, or you have uncovered the entire proof given in the text. In either case, you will have thought long and hard enough to never forget the definitions and ideas needed to write the proof you end up with, even if you forget the proof itself. Later, you will only remember the essential idea. Then, it is an excellent exercise to attempt to work out the details again.

2

tel 11 days ago 4 replies

There is no royal road to math.

There are instead, roughly, between 4 and 50 branches of mathematics which each start and "end" in different places with different goals and philosophies and styles.

What makes this all "math" is that almost inexplicably these branches tread the same ground over and over. Which is to say: learning one branch can dramatically improve your ability to understand another branch. Learning several builds your "mathematical intuition" all together.

In order to learn more math you will most likely want to choose one of these branches and study it intensely. You will *not* want to start from first principles to begin. Nobody does, it's too complex. Instead, you should seek to understand some set of "introductory core ideas" from that branch.

In order to study *any* branch you will need to learn the language of mathematics: logic, theorems and proofs. Essentially, this is a language you can think in and speak. Without it, you will be incapable of carefully expressing the kind of sophisticated ideas math is founded upon.

Fortunately, programming *is* an application in logic. If you can program a computer you're between 1/3rd and 2/3rds of the way to understanding mathematical logic well-enough to begin to understand mathematical argument. That said, you will not yet know enough. There are books which teach this language directly (Velleman's How to Prove It, perhaps) and there is an entire field of *study* of this language. Usually, however, you just learn by doing. Certain branches are more amenable to this learning of the logical language than others.

One thing to note about the logical language that would be told to you by any teacher but is only mentioned in a few books is that it is not much like English in that you can just listen to or read something in the logical language and have it immediately form a cogent picture in your mind. Mathematical language is a language of action---you *MUST* complete proofs, often on your own, in order to have grasped what was being said. This doesn't mean there isn't value in skimming a math book and reading the results without doing the proofs. Indeed, that's often a great first pass through a book! But think of doing that like reading the Cliff's Notes for a great work of literature. You might be able to talk about it a little bit, but you certainly haven't understood the material.

One final note with respect to learning any branchwhere you start is critical. Often, even the simplest reviews of the material of one branch of mathematics will assume "basic, working knowledge" of many other branches. This is done in order to accelerate learning for those who possess that working knowledgeit takes advantage of the frequent crossover properties from one branch of mathematics to another. Finding resources which do this minimally will be important to begin... but you will probably not succeed entirely. Sometimes, you just have to read a math book and walk away from it without being too much the wiser, but recognizing that there was some technique from another field you could learn to unlock a deeper understanding.

---

Some major fields of mathematics are:

1. Algebra. This is like and unlike what you may call algebra today. It is the study of how things are built and decomposed. Indeed, it notes that many "things" can be described entirely in terms of how they are built and decomposed. It is often a good place to begin for programmers as it espouses a way of thinking about the world not dissimilar to the way we model domains in while programming. Some books include *Algebra: Chapter 0* by Aluffi and *Algebra* by MacLane.

2. Combinatorics. This is the study of "counting", but counting far more complex than anything meant by that word in normal usage. It is often a first field of study for teaching people how to read and speak proofs and theorems and therefore is well recommended. It is also where the subfield of graph theory (mostly) lies which makes it more readily accessible to programmers with an algorithms background. I can recommend West's *Introduction to Graph Theory*, but only with the caveat that it is incredibly dry and boring---you will get out of it what you put into practicing the proofs and nothing more.

3. Topology. This is the study of what it means for one thing to be "near" another. Similarly, it is the study of what it means to be "smooth". It's a somewhat more abstract topic than the others, but in modern mathematics it holds a privileged role as its theorems tend to have surprising and powerful consequences elsewhere in mathematics. I don't know any good introductory material here---perhaps Munkres' *Topology*.

4. Calculus and Analysis. This is the study of "smooth things". It is often the culminating point of American high school mathematics curricula because it has strong relationship with basic physics. Due to this interplay, it's a remarkably well-studied field with applications throughout applied mathematics, physics, and engineering. It is also the first "analyst's" field I've mentioned so far. Essentially, there are two broad styles of reasoning in mathematics, the "algebraicist's" and the "analyst's". Some people find that they love one much more than the other. The best intro book I know is Spivak's *Calculus*.

5. Set Theory. This is, on its surface, the study of "sets" which are, often, the most basic mathematical structure from which all others arise. You should study it eventually at this level to improve your mathematical fluency---it's a bit like learning colloquial English as compared to just formal English. More deeply, it is a historical account of the philosophical effort to figure out what the absolute basis of mathematics is---a study of foundations. To understand Set theory at this level is far more challenging, but instrumental for understanding some pieces of Logic. This can therefore be a very useful branch of study for the computer scientist investigating mathematics. I don't know a good introductory book, unfortunately.

6. Number Theory. This is, unlike the others above excepting "surface" Set theory, a branch which arises from studying the properties of a single, extremely interesting mathematical object: the integers. Probably the most obvious feature of this field is the idea that numbers can be decomposed into "atomic" pieces called prime numbers. That idea is studied generally in algebra, but the properties of prime numbers escape many of the general techniques. I don't know a good introductory book, unfortunately.

7. Measure Theory and Probability Theory. Measure theory is the study of the "substance" of things. It generalizes notions like length, weight, and volume letting you build and compare them in any circumstance. Furthermore, if you bound your measure, e.g. declare that "all things in the universe, together, weigh exactly 1 unit", then you get probability theory---the basis of statistics and a form of logical reasoning in its own right. I don't know a good introductory book, unfortunately.

8. Linear Algebra. A much more "applied" field than some of the others, but one that's surprisingly deep. It studies the idea of "simple" relationships between "spaces". These are tackled in general in (general) algebra, but linear algebra has vast application in the real world. It's also the most direct place to study matrices which are vastly important algebraic tools. I don't know a good introductory book, unfortunately.

9. Logic. A much more philosophical field at one end and an intensely algebraic field at the other. Logic establishes notions of "reasoning" and "judgement" and attempts to state which are "valid" for use as a mathematical language. Type Theory is closely related and is vital for the development of modern programming languages, so that might be an interesting connection. I don't know a good introductory book, unfortunately.

---

Hopefully, some of the ideas above are interesting on their surface. Truly understanding whether one is interesting or not is necessarily an exercise in getting your feet a little wet, though: you will have to dive in just a bit. You should also try to understand your goals of learning mathematics---do you seek beauty, power, or application? Different branches will be appealing based on your goals.

Anticipate studying mathematics forever. All of humankind together appears to be on the path of studying it forever---you personally will never see its end. What this means is that you must either decide to make it a hobby, a profession, or to consciously leave some (many) doors unopened. Mathematics is a universal roach motel for the curious.

But all that said, mathematics is the most beautiful human discovery. It probably always will be. It permeates our world such that the skills learned studying mathematics will eke out and provide value in any logical concern you undertake.

Good luck.

3

WallWextra 11 days ago 4 replies

I got started on "real" math with Spivak's Calculus. Some people start with Topology by Munkres, which is not a difficult book but is very abstract and rigorous so makes a good introduction. If you feel like you have ok calculus chops, maybe Real Mathematical Analysis by Charles Pugh. Other good books are Linear Algebra Done Right by Axler, or the linear algebra book by Friedberg, Insel, and Spence. Maybe even learn linear algebra first. It's so useful.

Do plenty of exercises in every chapter, and read carefully. Count on about an hour per page (no joke). Plenty of math courses have their problem sets published, so you can google a course which uses your chosen book and just do the exercises they were assigned.

If you don't feel comfortable with basic algebra and other high school math, there's Khan Academy, and some books sold to homeschoolers called Saxon Math.

If you haven't had a course in calculus before, maybe you should skim a more intuitive book before or alongside reading Spivak. I don't know of any firsthand, but I heard Calculus for the Practical Man is good. Scans are freely available online (actually, of all these books) and Feynman famously learned calculus from it when he was 12.

4

hal9000xp 11 days ago 1 reply

I had the same problem with math. There are two books which changed my mindset forever:

http://en.wikipedia.org/wiki/What_Is_Mathematics%3F

http://en.wikipedia.org/wiki/Concrete_Mathematics

The first one is the general book about math. It's a classical book.

The second one is Donald Knuth's book written specifically for computer science guys.

5

brudgers 11 days ago 0 replies

If one takes the view that mathematics is naught but a set axioms and some conventions for replacement, then the use of Euclidean or Riemannian space simply becomes a choice based on the problem one wishes to investigate...neither is wrong. We pick the axioms and the rules, if they're interesting and reasonably consistent, it's mathematics.

The first principle of *learning* mathematics is that the notation describing idea `M{n}` depends on an understanding of some notation describing idea `M{n-1}. That's why there is some sense in which "first principles" of mathematics makes sense. In the end, learning mathematics is a long haul - the academically elite of the world normally spend twelve years just getting to the point of completing a first calculus course before heading off to university.

Of course, there isn't really an explicit ordering to the notation. This despite our ordering of the school-boy educational system. Out in the adult world, mathematicians, engineers, scientists, etc. just grab whatever notation is convenient for thinking about the problem they are trying to solve. Thus, it is common for separate domains to have wildly different underlying abstractions for a common mathematical concept: ie. two problems which are reducible to each other by manipulating notation using replacement.

What this means is that there's no meaningful reason to derive the domain specific language [notation] of cryptography and antenna design simultaneously from Peano arithmetic...sure there's a formalism, but it's a Turing tarpit equivalent to building Facebook's infrastructure in Brainfuck. Starting from first principles is a task for mathematicians of Russel's and Whitehead's calibers. For a novice, it constitutes a rookie mistake; keeping in mind that the problem Gdel found with *Principia Mathematica* is foundational to computer science.

The philosopher CS Pierce's criticism of Descartes *Meditations* can be elevator pitched as: enquiry begins where and when we have the doubt, not later after we have travelled to some starting point. The base case for extending our knowledge is our current knowledge; creating better working conditions and unlearning poor habits of mind are part of the task.

If the enquiry grows out of knowledge in computing, it is impossible to start anywhere but from computing. Getting to the "No! I want to start over here!" place is part of the enquiry and a sham exercise.

All of which is to preface two suggestions:

+ Knuth's *Art of Computer Programming* presents a lot of mathematics in a context relevant to people with an interest in computing. Volume I starts off with mathematics, Volume II is all about numbers, Volumes III and IV are loaded with geometry and the algebraic equivalents of things we think about geometrically.

+ Iverson's *Math for the Layman* and other works are useful for introducing the importance of notation and tying it to computing. [Disclaimer: I'm currently in love with J, and posting the following link was where I started this comment]. http://www.cs.trinity.edu/About/The_Courses/cs301/math-for-t...

+ Because notions of computability are implicit in mathematics, automata theory is another vector for linking knowledge of computing to an increased understanding of mathematics.

Good luck.

6

maroonblazer 11 days ago 0 replies

I found myself in a similar situation about a year ago and while I've made a lot of progress I still have a long way to go. Here's what I've found useful:

Precalculus, Coursera, https://www.coursera.org/course/precalculus

"Precalculus Mathematics In A Nutshell", George F. Simmons, http://www.amazon.com/Precalculus-Mathematics-Nutshell-Geome...

"The Hitchhiker's Guide to Calculus", Michael Spivak, http://www.amazon.com/Hitchhikers-Guide-Calculus-Michael-Spi...

7

osoba 6 days ago 0 replies

I will try to list resources in a linear fashion, in a way that one naturally adds onto the previous (in terms of knowledge)

[PREREQUISITES]

First things first, I assume you went to a highschool, so you don't have a need for a full pre-calculus course. This would assume you, at least intuitively, understand what a function is; you know what a polynomial is; what rational, imaginary, real and complex numbers are; you can solve any quadratic equation; you know the equation of a line (and of a circle) and you can find the point that intersects two lines; you know the perimiter, area and volume formulas for common geometrical shapes/bodies and you know trigonometry in a context of a triangle. Khan Academy website (or simple googling) is good to fill any gaps in this.

[BASICS]

You would obviously start with calculus. Jim Fowlers Calculus 1 is an excellent first start if you don't know anything about the topic. Calculus: Single Variable https://www.coursera.org/course/calcsing is the more advanced version which I would strongly suggest, as it requires very little prerequisites and goes into some deeper practical issues.

By far the best resource for Linear Algebra is the MIT course taught by Gilbert Strang http://ocw.mit.edu/courses/mathematics/18-06sc-linear-algebr...If you prefer to learn through programming, https://www.coursera.org/course/matrix might be better for you, though this is a somewhat lightweight course.

[SECOND STEP]

After this point you'd might want to review single variable calculus though a more analytical approach on MIT OCWhttp://ocw.mit.edu/courses/mathematics/18-01sc-single-variab...as well as take your venture into multivariable calculushttp://ocw.mit.edu/courses/mathematics/18-02sc-multivariable...

Excellent book for single variable calculus (though in reality its a book in mathematical analysis) is Spivaks "Calculus" (depending on where you are, legally or illegally obtainable here http://libgen.org/ as are the other books mentioned in this post)). A quick and dirty run through multivariable analysis is Spivaks "Calculus on Manifolds".

Another exellent book (that covers both single and multivar analysis) is Walter Rudins "Principles of Mathematical Analysis" (commonly referred to as "baby rudin" by mathematicians), though be warned, this is an advanced book. The author wont cradle you with superfluous explanations and you may encounter many examples of "magical math" (you are presented with a difficult problem and the solution is a clever idea that somebody magically pulled out of their ass in a strike of pure genius, making you feel like you would have never thought of it yourself and you should probably give up math forever. (Obviously don't, this is common in mathematics. Through time proofs get perfected until they reach a very elegant form, and are only presented that way, obscuring the decades/centuries of work that went into the making of that solution))

At this point you have all the necessery knowledge to start studying Differential Equations http://ocw.mit.edu/courses/mathematics/18-03sc-differential-...

Alternativelly you can go into Probability and Statistics https://www.coursera.org/course/biostats https://www.coursera.org/course/biostats2

[FURTHER MATH]

If you have gone through the above, you already have all the knowledge you need to study the areas you mentioned in your post. However, if you are interested in further mathematics you can go through the following:

The actual first principles of mathematics are prepositional and first order logic. It would, however, (imo) not be natural to start your study of maths with it. Good resource is https://www.coursera.org/course/intrologic and possibly https://class.stanford.edu/courses/Philosophy/LPL/2014/about

For Abstract algebra and Complex analysis (two separate subjects) you could go through Saylors courses http://www.saylor.org/majors/mathematics/ (sorry, I didn't study these in english).

You would also want to find some resource to study Galois theory which would be a nice bridge between algebra and number theory. For number theory I recommend the book by G. H. Hardy

At some point in life you'd also want to go through Partial Differential Equations, and perhaps Numerical Analysis. I guess check them out on Saylor http://www.saylor.org/majors/mathematics/

Topology by Munkres (its a book)

Rudin's Functional Analysis (this is the "big/adult rudin")

Hatcher's Algebraic Topology

[LIFE AFTER MATH]

It is, I guess, natural for mathematicians to branch out into:

[Computer/Data Science]

There are, literally, hundreds of courses on edX, Coursera and Udacity so take your pick. These are some of my favorites:

Artificial Intelligence https://www.edx.org/course/artificial-intelligence-uc-berkel...

Machine Learning https://www.coursera.org/course/ml

The 2+2 Princeton and Stanford Algorithms classes on Coursera

Discrete Optimization https://www.coursera.org/course/optimization

Convex Optimization https://itunes.apple.com/itunes-u/convex-optimization-ee364a... https://itunes.apple.com/us/course/convex-optimization-ii/id...

[Physics]

8

gtani 11 days ago 0 replies

Very similar question: http://www.reddit.com/r/compsci/comments/2notz5/how_do_you_p...

(with a good answers regarding Khan Academy, Polya "How to Prove", lamar.edu, math.stackexchange.com, universityofreddit.com, lots of online curriculums from different universities, curricula aimed at data science (Prob/stats, linear algebra, calculus). These're good listings of resources for precalc and for data science:

http://www.reddit.com/r/math/comments/2mkmk0/a_compilation_o...

http://www.reddit.com/r/MachineLearning/comments/1jeawf/mach...

http://www.zipfianacademy.com/blog/post/46864003608/a-practi...

______________

The threshold question are,

- can you locate like minded folks to bootstrap a study group, or tutor(s) who are willing to devote time?

- (if you're in US/Canada) how about community colleges by you, in a lot of places they're still well funded and will efficiently pull you up to first year college calculus and linear algebra, and maybe further

- What level of high school / college math did you last attain, because reviewing to that level shouldn't be too stressful. At least, in my very biased view of math education.

9

jpfr 11 days ago 2 replies

Wanting to learn mathematics from "first principles" brought a lot of comments from graduate-level mathematicians. While their advice applies very much for mathematics students, I can't recommend going down that road for engineering types.

In mathematics, everything is connected. One can build up a specific topic from first principles only. But with a too narrow focus one looses these lovely connections between different fields that allow to change the perspective on how we think about problems.

I was in a similar situation some 2 years ago. Try "Vector Calculus, Linear Algebra, and Differential Forms" by Hubbard and Hubbard. You will not be disappointed. Yes, you get (enough) rigor and a lot of first principles mathematics. Nonetheless, the authors have found a lovely way to integrate a wealth of important results from many fields into a coherent text that has one goals: letting you understand the connections and letting you solve the problems.

10

westoncb 11 days ago 0 replies

I was in a very similar situation. The thing that helped me the most was getting an understanding of what it is mathematicians are trying to do and what their methods are. "What is Mathematics?" ended up being pretty pivotal (as another poster mentioned), though the topics did seem pretty random to me when going through it at first. The introductory material to "The Princeton Companion to Mathematics" is an excellent compass for orienting yourself. That introductory portion is about 120 pages, though it's a huge book (well over 1000 pages) and the rest of it probably won't be too useful to you for a while (but at the same time, those intro essays were invaluable). I'd second Axler's "Linear Algebra Done Right" as a nice early (yet pretty serious, despite the title) book. Linear algebra is used all over the place, and the way it's addressed in that book you'll learn something about creating mathematical systems rather than merely how to use some existing system. It also helped me understand what's interesting and why in mathematics to read in philosophy of mathematics and math history, and popularizations, etc. "Men of Mathematics" is quite good, as are "Gdel's Proof" and "Mathematics and the Imagination."

Once I was immersed in it for a while, I started getting into more CS related mathematics: things in computation theory, programming language theory, category theory--and I would spend a lot of time reading networks of wikipedia math articles from basically random starting points inspired by something I read. Didn't understand much to start with, but I'm glad I did it and I find them indispensable now.

I think it's of the utmost importance to go into it with an understanding that you SHOULD feel lost and confused for quite a while--but trust in your mind to sort it out with a little persistence, and things will start coming together. If you find yourself avoiding math, finding it unpleasant and something you 'just can't do,' check out Carol Dweck's 'Self-Theories.' Good luck!

11

haxiomic 12 days ago 2 replies

Try http://www.khanacademy.org (free), their math series starts from basic arithmetic and walks all the way through to undergrad-level mathematics.

I personally preferred khanacademy to my math teaching at school and it's been handy during my degree.

For more advanced stuff i've found Stanford's online courses (https://www.youtube.com/user/StanfordUniversity/playlists) and MIT OpenCourseWare (http://ocw.mit.edu/index.htm) to have the best material for Physics

12

infinity 11 days ago 0 replies

One way to approach your wishes to learn "mathematics from first principles" is to see modern mathematics as the study and application of formal systems:

http://en.wikipedia.org/wiki/Formal_system

A formal system has several components:

An alphabet of symbols from which sequences or strings of symbols are constructed. Some of these strings of symbols can be well-formed according to some formal grammar, which is the next component.

Next we have a collection of basic assumptions, called axioms, which are supposed to reflect the obvious truths about whatever we want to formalize in the formal system.

And then we have some rules of inference. They allow us to derive conclusions from premises. An example would be the rule of modus ponens: If we have "If A then B" and "A", we can conclude "B".

An example of a formal system is ZFC set theory which can be regarded as a formalization of one concept, the concept of a set:

We take "classical predicate logic" as a background formal system, it already has logical symbols, like symbols for AND, OR and "IF ... THEN ..." and quantifiers "FOR ALL ..." and "THERE EXISTS ...".

We enhance this logic with one non-logical symbol, the binary element-of-symbol . With it we want to express the idea that something is an element of something, for example x y is supposed to mean that x is an element of y.

Of course this is a bit simplified, but now we can build expressions (with symbols from the alphabet, according to the grammar for logical formulas plus the element symbol) which talk about the element-of-relationship between individuals.

Next, we sit together at a round table and discuss which properties about sets and element-of or membership of a set we see as self-evident - there is room for discussion and there can be many different intuitions.

For example, as in ZFC set theory, we may want to have some existence axioms. They guarantee us that in this formal system certain objects do exist. An example is the axiom of the empty set: There exists a set which has no elements. This statement can be written in our formal language.

Other axioms may have a more constructive meaning. Instead of telling us that something exists, they say that given the existence of some objects we know the existence of further objects. An example would be the axiom of set unions: Given some arbitrary sets A and B, there exists a set C, which contains all the members of A and all the members of B as its elements. Another axiom asserts the existence of an unordered pair of any two given sets, from this we can define the concept of an ordered pair, which is very important.

ZFC is one example of a set theory, there are many different set theories. You could exchange classical logic with intuitionistic logic and arrive at some formal system for intuitionistic or constructive set theory. You can drop certain axioms, because maybe they do not appear as self-evident to you (for example the axiom of choice, which contributes the "C" in ZFC, is not accepted by some people). You may add further axioms to arrive at a possibly stronger theory.

One interesting aspect about set theory is that the concept of set is very powerful and expressive, because many concepts from modern mathematics can be build up from sets: natural numbers 0,1,2,3,... can be constructed from the empty set, functions can be represented through ordered pairs of sets. Sometimes set theory is regarded as "the foundation of all mathematics", but feel free to disagree! Just because natural numbers can be modelled as sets it is not certain that natural numbers are indeed sets.

The basic pattern above is the formalization of an intuitive or natural concept, something from everyday life. We try to capture the essentials of this concept within a formal system. And then we can use the deductive power of the formal system to arrive at new and hopefully interesting conclusions about whatever we wanted to formalize. These conclusions are theorems. Not all theorems are interesting, some are even confusing, paradox and disppointing. Formalization is used to arrive at new insights about the original concept. Interesting in this context is Carnap and his idea of explication of inexact prescientific concepts:

http://en.wikipedia.org/wiki/Explication

What I want to express with this is that it is really possible to start your journey into mathematics at a beginning.

13

jvvw 11 days ago 0 replies

I suspect there is some confusion here by the use of 'first principles' in the title. As a former mathematician when I see 'first principles' I think of axiomatic approaches to mathematics and the study of subjects like analysis, algebra and geometry from those first principles. I suspect however that what you want is good ground in the foundations of mathematics necessary to understand common applications of mathematics, which is quite different.

It is also a difficult question to answer without some context of your current mathematical understanding. Do you know any calculus? Any linear algebra? If you don't, those would be good places to start as they underpin many areas with applications of mathematics. Bear in mind too that Mathematics is a huge subject in that even if you take to it naturally, you're not going to acquire a breadth and level of understanding without a fair amount of study. Looking back I probably put a lot of hours in my youth into really understanding linear algebra fully for example to the level that I could teach it at a high-ranking university, and that was with the help of people whom I could pester with my questions and the incentive of exams to take.

The other approach is to look at the areas you want to understand and then work out what topics you need to study to fully understand them. Cryptography is worlds away from electromagnetism for example. Looking at cryptography, are you interested in public key cryptography or symmetric key cryptography? If the former, then you need to start learning number theory and if the latter, knowing some statistics is probably more relevant.

14

ivan_ah 11 days ago 1 reply

I recommend you start with a review of all the topics from high school math which are not clear to you, e.g. functions, solving equations, geometry, and algebra. This may take some time, but it's totally worth it. Building your math knowledge is like building a house---you want to start from a solid foundation.

Next, the traditional "pillars" of STEM are calculus and mechanics. Calculus will beef-up your skills for understanding and manipulating function. Mechanics is important because it teaches you about modelling real-world phenomena with mathematical equations.

Perhaps of even greater importance are the subjects of probability and linear algebra. Probabilistic reasoning and linear algebra techniques (e.g. eigendecomposition) are used for many applications.

RE problems, I think you should reconsider your stance about that. It is very easy to fall into the "I learned lots of cool stuff today" trap, where you think you're making progress, but actually you haven't integrating the knowledge fully. Solving problems usually will put you outside of your comfort zone and force you to rethink concepts and to form new "paths" between them. That's what you want---ideally the math concepts in your mind to be a fully connected graph. Speaking of graphs, here's a concept map from my book that shows (a subset of) the links between concepts from high school math, physics, calculus, and linear algebra: http://minireference.com/static/tutorials/conceptmap.pdf

Good luck with your studies!

15

chris_wot 11 days ago 0 replies

Here is what I've read so far (I've been starting from first principles). Basically, I've been reading through the series "Humungous Book of x Problems", having read (and about to read) the following:

1. Humungous Book of Basic Math and Pre-Algebra Problems

2. Humungous Book of Algebra Problems (still actually going through this)

3. Humungous Book of Trigonometry Problems (up to vectors)

4. Will be reading Humungous book of Calculus Problems soon and then the Humungous Book of Geometry Problems.

I know this sounds slanted, but I'm a big fan of these books. However, I also had to do what you did with Trigonometry - one of the extremely irritating things is that nobody teaches you *why* the names are sine, cosine, tangent, cotangent, secant and cosecant. For me, I had to go to do some elementary research and draw the lines on a circle to understand that sine was "gap" or "bow" (corruption of the original Arabic), tangent was based on tangens (to touch) and secant was based on secans (to cut). Once I worked that out, actually everything started to get rather a lot easier. Sure wish I'd had easy Internet access in high-school and a more adventurous intellect!

16

learnstats2 11 days ago 0 replies

I've worked with several adult learners on this but almost no adult is able to learn math just for fun - unless they have a project or crucial examination to work towards. But, you do have a project. You should use that.

I think you're mistaken that your existing tactics won't get you further. This is how most people learn, by trying things out and building on them until they understand what works and what doesn't - standing on the shoulders of giants.

For practical purposes, your satisfactory solutions are a great piece of learning and the start of your understanding. You're maybe experiencing some discomfort about it, but that's normal. Keep going!

P.S. You said "from first principles", which has a specific meaning in math. It's a kind of philosophical ideal in math that you start from nothing (forget about high school math) and carefully and precisely build the subject of mathematics on top. Some of the answers here picked up on that phrase, but it probably isn't relevant to the other interests you mentioned - to do programming or electronics, you will want to build on the knowledge that you have learned already.

17

mathgenius 11 days ago 0 replies

I suspect the real answer to your question is "in your own head, and with your own pen and paper." Amazingly, you cannot learn mathematics from reading books. Especially the abstract stuff. It is just too opaque. Not until you start to manipulate the symbols yourself, in your own way, does it start to make sense. Having said that, I would still like to recommend a book to read :-) This is big-boy maths (i am not shitting you), explained with cartoons and a bazillion examples from things like sensor networks, robotics, pattern recognition, electromagnetism, it goes on and on. Just published, but also available for free. I bought several copies. It blows my mind that a mathematician took the time to explain these advanced topics to the mere mortals:

"Elemantary Applied Topology", Robert Ghrist.http://www.math.upenn.edu/~ghrist/notes.html

Although you probably need to have some idea of multi-variate calculus (and linear algebra) before you get started.

18

19

alfiedotwtf 11 days ago 0 replies

First principles? You're not going to beat:

` http://en.wikipedia.org/wiki/Naive_Set_Theory_(book)`

It starts with defining what a set is, then builds up from there while being completely contained. No knowledge is assumed and could be enjoyed by someone with high school maths.20

tiler 11 days ago 1 reply

On where to start => I'd start by getting a very solid grasp of graph theory. It is the bedrock of many algorithms and along the way you'll learn all kinds of useful mathematical notation, but in a way that should be easier for you to pick up than plain old 'pure-math.' I've found the following series of videos presented by Donald Knuth, aka The Christmas Tree Lectures, to be incredibly informative and inspirational [1].

Another area of math that you need to know for C.S. related activities is linear algebra. To get started I'd recommend reading 'Coding the Matrix' by Phillip Klein.

[1] => https://www.youtube.com/playlist?list=PLoROMvodv4rNMsVRnSJ44...

21

azmenthe 11 days ago 3 replies

I wanted to give some recommendations before I hijacked your thread with my own question but I was going to suggest What is Mathematics, How to Prove it and Naive Set Theory which have already have been mentioned.

I'm actually in a related situation in which I'm competent in analysis (bachelors in physics) but I struggle with all the category theory inspired design patterns in functional programming.

Every book/article I've tried to read is either far too mathematical and so is disconnected from programming or is too close to programming and lacking in general foundations (ie: a monad is a burrito).

I would greatly appreciate any suggestions!

22

dil8 12 days ago 0 replies

I have found the below links excellent pathways to mastering mathematics. I actually was in the same place as you and started with Spivak Calculus. Now I am back at school studying mathematics :P

http://www.amazon.com/gp/richpub/syltguides/fullview/20JWVDE...

http://www.amazon.com/gp/richpub/syltguides/fullview/R1GE1P2...

23

Tinned_Tuna 11 days ago 1 reply

I would highly recommend reading:

` - A Course of Pure Mathematics (G. H. Hardy). I read this before I started my undergrad in CS/Maths. Free Online. - University Calculus (Hass, et. al.). This was reading for my first year, and continued to be useful throughout. Expensive. - A Book of Abstract Algebra (Charles C. Pinter). I read this after my degree, but boy, do I wish I'd had it _during_ my degree. Fairly cheap. - Linear Algebra Done Right (Sheldon Axler). Moderately priced.`

I can't remember which of the texts I had on Number Theory were good at this point, but I do remember that it was quite hard to locate one which was tractable. There's a whole heap of fields which I chose to avoid (woo for joint degree!) but now I kinda regret it -- although I wouldn't have easily given up any of the comp. sci. modules I did...I would always recommend working through Hardy first, regardless of what else you do.

I don't know of any good websites for this stuff. You may be able to find reading lists on public-facing university module/course web pages, which will help bolster this list.

It may be cheaper to buy access to your local uni's library than try to buy all of the above books. The uni I attended is around 70 a year for a non-student.

Your best bet is to get a notebook and the book that interests you most and work through that book, then the next, and so on. If you get stuck, as someone with a maths degree what the heck's going on :-p

24

spc476 11 days ago 1 reply

I found "Mathematics for the Millions" (http://www.amazon.com/Mathematics-Million-Master-Magic-Numbe...) to be a very interesting read. It goes through the history of math, how it was discovered and used, from ancient Egypt (geometry) to the 1600s (Calculus) and shows the progression of thought.

25

plinkplonk 12 days ago 0 replies

Learn how to prove theorems. "How to Prove It" by Velleman is the best book for this (imho). (Amazon link http://www.amazon.com/How-Prove-It-Structured-Approach/dp/05...)

More good advice at http://scattered-thoughts.net/blog/2014/11/15/humans-should-...

26

brandonmenc 11 days ago 0 replies

Mathematics: Its Content, Methods and Meaning by Aleksandrov, Kolmogorov, and Lavrent'ev

http://www.amazon.com/Mathematics-Content-Methods-Meaning-Do...

Covers something like three years of an undergraduate degree in mathematics. Lots of words - but that text is used to develop an understanding of the concepts and images. Considered a masterpiece. An enjoyable read.

27

RohanAlexander 11 days ago 0 replies

'The Nature and Origins of Modern Mathematics: an Elementary Introduction' could be a nice complement to the suggestions already here. It's very much first principles, but in a comprehensive and interesting way. You can download it here:http://cupid.economics.uq.edu.au/mclennan/NatureOrigins/natu...

28

jckt 11 days ago 1 reply

You seem quite resourceful so you might enjoy MetaMath[1]. This is, in my opinion, *literally* learning mathematics from first principles. Well, it's not really *learning* mathematics (insofar that lot of the concepts won't be particularly novel), but it's really showing you the "first principles" of mathematics, and how you can build that up into other stuff.

If you feel like MetaMath is your kinda thing, do visit the FAQ; it's quite good (and virtually required reading if you're going to do this alone).

Admittedly, it's not going to give you the tools suited for solving problems of antenna designs, or enlighten you about electromagnetism, but if you're into just pure recreational mathematics, it's worth a look.

29

tfont 11 days ago 1 reply

This is a beautiful post! I'm loving what I am reading and the suggestions seem quite insightful :]

I am not sure if any of the following books were recommendation already:

- Carl B. Boyer - A History of Mathematics- William Dunham - Journey Through Genius- Philip J. Davi & Reuben Hersh - The Mathematical Experience- Martin Aigner & Gnter M. Ziegler - Proofs from the Book- Imre Lakatos - Proofs and Refutations- Robert M. Young - Excursions in Calculus: An Interplay of the Continuous and the Discrete- Courant & Robbins - What is Mathematics?- George Plya - How to Solve It- Morris Kline - Klines Mathematics: The Loss of Certainty

More or less a general deep understanding of Mathematics but will definitely give you a boost in a direction that you will favor.

30

rankam 11 days ago 0 replies

If you are looking for calculus one resources, Jim Fowler's Calculus One Coursera course is great, IMHO. I watched the videos at 2x speed (I found he speaks very slow, which can be great at times) and was able to complete it in a couple of weeks. The best part was that it didn't seem like he tried to "dumb it down". I would also recommend reading one of the many books others have suggested while taking the course - I've found that I learn much better when I hear topics explained in different ways and from different perspectives. Best of luck!

31

senderista 10 days ago 0 replies

It presupposes a certain degree of mathematical maturity, but Robert Geroch's _Mathematical Physics_ (don't let the title fool you!) has the most intuitive explanations (with diagrams) I've ever seen of definitions, concepts, and proofs. It's roughly at the first-year grad level, but is almost completely self-contained, and uses category theory to motivate the entire organization of the book (whatever object is being treated in the current chapter generally has a forgetful functor to an object in the previous chapter).

32

j2kun 11 days ago 0 replies

Here is a shameless plug for my own blog, [Math Programming](http://jeremykun.com/). The difficulty ranges in how much mathematical background you need, but there are also some primers aimed at programmers, starting from this [essay](http://jeremykun.com/2013/02/08/why-there-is-no-hitchhikers-...).

I'd really love feedback from you on what you found approachable and what you found unapproachable.

33

iyogeshjoshi 11 days ago 0 replies

here I also found this website http://codingmath.com where they only teaches you math and how to apply it to program i found it very interesting. you should give it a try too.

34

uonyx 7 days ago 0 replies

Methods of Mathematics Applied to Calculus, Probability, and Statistics by Hamming is an excellent and rigorous introduction text.

http://www.amazon.com/Methods-Mathematics-Calculus-Probabili...

35

CurtMonash 11 days ago 0 replies

My favorite first-year calculus text by far is Michael Spivak's Calculus. When I was in school in the 1970s, he was by common consensus THE great and differentiated writer of math books -- but that was based on a small sample size, and Calculus is the only one that should be in this discussion.

There were a lot of other books back then that I think of as likely to have been the best in their time, but those were all more in the vein of texts for classes that I just happened to feel served me well.

36

saintx 11 days ago 0 replies

"A Source Book in Mathematics" by David Eugene Smith. ISBN 0486646904.

Short description:The writings of Newton, Leibniz, Pascal, Riemann, Bernoulli, and others in a comprehensive selection of 125 treatises dating from the Renaissance to the late 19th century most unavailable elsewhere. Grouped in five sections: Number; Algebra; Geometry; Probability; and Calculus, Functions, and Quaternions. Includes a biographical-historical introduction for each article.

37

cwhy 11 days ago 0 replies

Other people have given very good suggestions. But just mention that there is not any first principles for mathematics, that is an active area for research for pure math.

There are a lot of layers of mathematics, the deeper you get, the more difficult it becomes. But for normal applications (like antenna design, machine learning, electromagnetism, cryptography etc), you don't need to get to the deepest level, which are mostly proofs for a formulation of the whole mathematics framework.

38

ArkyBeagle 12 days ago 2 replies

There is some distance from this to antenna design, electromagnetism, etc, but I think you have to be fluent in proofs to actually follow along on those. Math is a big subject; ymmv.

A Transition to Advanced Mathematics by Douglas Smith (Author), Maurice Eggen (Author), Richard St. Andre (Author)

ISBN-13: 978-0495562023 ISBN-10: 0495562025 Edition: 7th

It shows up on Abebooks which could help with the price. It's a *small* book, exceedingly well-crafted and worth every nickel.

39

playing_colours 11 days ago 0 replies

Many people here advised Algebra Done Right by Sheldon Axler. There is 3rd edition of this book available now in electronic form, and paper books will be available in a week. They are just beautiful, colour: http://www.springer.com/mathematics/algebra/book/978-3-319-1... .

40

jeremyis 12 days ago 0 replies

I went from being a below average math student in high school to a really good one and it started by reading this text book and doing the problems in the back: http://www.amazon.com/Stewart-Redlin-Watsons-College-Algebra...

41

timwaagh 11 days ago 0 replies

you will need time. lots of time. I dont think its worth it.

you need to start off with- logic and set theory. an introduction to proofs (level 0). something on (proofs in) classical geometry.- then linear algebra. (level 1)- group theory (fe Joe Armstrongs book) and an introductory (real, single-variate) analysis course. also probability theory (I'd recommend Meester's book) (level 2)- calculus, rings & galois theory, topology (fe Munkres) (level 3)- complex analysis, (and other stuff I didnt even pass) (level 4)

I'd recommend buying one book at a time and working through the entire thing, all the problems. It can quickly become too difficult if you try paralellize. But it can actually be a good experience to do one thing well.

oh yeah. the payoff of this stuff isnt very good. take it from a guy coding php for 10 euro / hour. so another warning not to do this.

Calculus is usually taught early because physicists need to know it as well but it depends on other things so if you do this early you will not really understand.

42

phonon 11 days ago 0 replies

I would check out

Mathematics: From the Birth of Numbers by Jan Gullberg

Beautiful book, goes from the counting numbers to partial differential equations. It's also a delight to read.

I would start that as a survey of mathematical concepts, and then move on to a good math engineering/physics textbook, like Mathematical Methods in the Physical Sciences by Mary L. Boas

43

begriffs 11 days ago 2 replies

If you really want to go back to first principles, try "Foundations of Analysis" by Edmund Landau. It builds the integers, fractions, Dedekind cuts, and the real and complex numbers from scratch.

It's totally rigorous and starts from, "the ability to read English and to think logically -- no high-school mathematics, and certainly no advanced mathematics."

44

TimSchumann 11 days ago 0 replies

"Read Euler, read Euler, he is the master of us all." - Pierre-Simon Laplace

Seriously though, 'Euler: The Master of Us All' by William Dunham was the book that got it going for me. Good mix of history, narrative and mathematics. Really great read.

As an aside, it's absolutely fascinating to learn how much we don't know about maths.

45

sudorank 11 days ago 0 replies

I started to learn maths again in university. The library was a great place to learn the history of it (I started to get into the history of Encryption)

As for learning how to do stuff with maths. I'm a huge fan of being taught it - then again i'm the sort of learner who really gains when showed how to do something and then left to practice.

46

kikowi 11 days ago 0 replies

I am also interested in getting better at math, especially algorithmic type of math. I though about playing TopCoder arena, which focuses on algorithmic problems and often requires a lot of math. What do you guys think about this approach? Is it realistic to solve those problems with google as primary resource of knowledge and get better at algorithmic math?

47

galeos 11 days ago 0 replies

I can recommend 'Who is Fourier?' By the Transnational College of Lex. It assumes very little prior knowledge and introduces the reader to, among others, the concepts of trigonometry, calculus, imaginary numbers, logarithms and Fourier analysis.

I wish I'd known about this book when I was studying maths at school.

48

mathattack 11 days ago 1 reply

This is a bit of a divergence, but a fun way to practice what you learn is Project Euler, which will link it to your programming. https://projecteuler.net/ It's more of an applied problem set of increasing difficulty than learning from first principles though.

49

amathstudent 11 days ago 1 reply

Perhaps you might enjoy an essay I wrote on this very topic, based on my experiences of learning math on my own for 5 years: https://medium.com/@amathstudent/learning-math-on-your-own-3...

50

rajeshpillai 10 days ago 0 replies

Apart from all the great replies, here, do try out http://betterexplained.com/ (Many things are free here, you wont' be at a loss, checking this site).

It has some nice aha! moments in math study.

51

ryanlbrown 11 days ago 0 replies

I'm trying to do this too right now. I've found this course on real analysis to be very helpful (I suggest watching it sped up though):

52

sekon 11 days ago 0 replies

Thanks for putting this question. I too hope to do this someday .. I am stuck with knowing what are the fundamental topics so that i can apply what i learn to as many domain as i see fit, with minimal learning of basic concepts.I have unfortunately not made that much headway.

53

54

55

blablabla123 11 days ago 0 replies

Surprised to not read it here yet, but if you are really serious about it, read the Bourbaki books: http://en.wikipedia.org/wiki/Nicolas_Bourbaki

56

57

58

amdcpus 9 days ago 0 replies

I always buy my books from amazon. You should try them out.http://www.amazon.com/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF...

59

barry-cotter 11 days ago 0 replies

Betterexplained.com has many very good intuitive explanations of mathematical concepts. Elements by the publishers of Dragonbox will give you reasonable intuition for geometry. If you just want to use calculus Silvanus P. Thom(p?)son's *Calculus Made Easy* is excellent. Linear Algebra Done Right and LAD Wrong are both good books. LADW is free, legally.

The Art of Problem Solving series of books are uniformly excellent.

60

iyogeshjoshi 11 days ago 0 replies

you can visit http://functionspace.org or Khanacademy.org both side provide amazing stuff like video lectures, materials, articles etc for all level starting from very beginner to advance to Experts. Good luck :

61

graycat 11 days ago 0 replies

Take the standard path.

High School

Algebra I

Plane geometry (with emphasis on proofs)

Algebra II

Trigonometry

Solid geometry (if can get a course in it --terrific for intuition and techniquesin 3D)

College

Analytic geometry (conic sections)

Calculus I and II

Linear algebra

Linear algebra II, Halmos, *Finite DimensionalVector Spaces* (baby version of Hilbert spacetheory)

Advanced calculus, e.g., baby Rudin, *Principlesof Mathematical Analysis* -- nice treatmentof Fourier series, good for signals in electronicengineering. The first chapters are about continuity, uniform continuity, andcompactness which are the main tools usedto prove the sufficient conditions for theRiemann integral to exist. At the end Rudinshows that the Riemann integral exists if and only if the function is continuouseverywhere but on a set of measure zero.But what Rudin does there at the beginningwith metric spaces is more general thanhe needs for the Riemann integral but isimportant later in more general treatmentsin *analysis*. Rudin does sequences andseries because they are standard ways todefine and work with some of the importantspecial functions, especially the exponentialand sine and cosine further on in the book.The material in the back on exterior algebra is for peopleinterested in differential geometry, especiallyfor relativity theory.

Ordinary differential equations, e.g.,Coddington, a beautifully written book,Coddington and Levinson ismuch more advanced) -- now can do basicAC circuit theory like eating ice cream.

Advanced calculus from one or several more traditionalbooks, e.g., the old MIT favorite Hildebrand,*Advanced Calculus for Applications*,Fleming, *Functions of Several Variables*,Buck, *Advanced Calculus* -- can now lookat Maxwell's equations and understand at leastthe math. And can work with the gradientfor steepest descent in the maximum likelihoodapproach to *machine learning*.

Maybe take a detour into differential geometryso that can see why Rudin, Fleming, etc. doexterior algebra, and why Halmos does multi-linearalgebra, and then will have a starton general relativity.

Royden, *Real Analysis*. So willlearn measure theory, crucial forgood work in probability and stochasticprocesses, and get a start on functionalanalysis (vector spaces where each pointis a function -- good way to see how to usesome functions to approximate others).Also will learn about linear operatorsand, thus, get a solid foundation forlinear systems in signal processing andmore.

Rudin, *Real and Complex Analysis*,at least the first, real, half.Here will get a good start onthe Fourier transform.

Breiman, *Probability* -- beautifullywritten, even fun to read. Measuretheory based probability. If that is too big a step up in probability,then take a fast pass through someelementary treatment of *probabilityand statistics* and then get back toBreiman for the real stuff. Willfinally see what the heck a randomvariable really is and cover the importantcases of convergence and the importantclassic limit theorems. Will understandconditioning, the Radon-Nikodym theorem(von Neumann's proof is in Rudin, *R&CA*),conditioning, the Markov assumption,and martingales and the astoundingmartingale convergence theorem and the martingale inequality, the strongestin mathematics. So will see thatwith random variables, can look forindependence, Markov dependence, andcovariance dependence, and theseforms of dependence, common inpractice, can lead to approximation,estimation, etc.

Now will be able to understand EEtreatments of second order stationarystochastic processes, digital filtering,power spectral estimation, etc.

Stochastic processes, e.g., Karatzas and Shreve. *Brownian Motionand Stochastic Calculus*. Now canget started on mathematical finance.

But there are many side trips availablein numerical methods, linear programming,Lagrange multipliers (a surprisingly general technique), integer programming(a way to see the importance ofP versus NP), mathematical statistics,partial differential equations, mathematical finance, etc.

For some ice cream, Luenberger, *Optimizationby Vector Space Methods* or how to learnto love the Hahn-Banach theorem and useit to become rich, famous, and popularwith girls!

63

64

bobsadinook 12 days ago 1 reply

book:

http://www.lulu.com/shop/ivan-savov/no-bullshit-guide-to-mat...

world.mathigon.org

mathworld.wolfram.com

good luck!

65

5 points by re1ser 10 hours ago 2 comments top

1

saluki 7 hours ago 1 reply

Two years is a pretty good runway . . .

Listen to StartupsForTheRestOfUs.com lots of good advice there for building SaaS/Products/Lifestyle business.

This will give you some ideas of what options are out there.

As far as remote consulting it seems Rails is the best language for remote positions that pay well.

I would recommend learning Rails . . .

I usually recommend HTML->CSS->js->jquery->Rails(ruby) or Laravel(php)->angular (or other js frameworks)

That will give you a good foundation of full stack web development if that's the type of company you want to work for or build your own.

To build up two years of runway you're doing well . . . so I would keep up what you're doing, choose and new skill to learn and start on your product/SaaS idea.

Here are some other people you should check out:Brennan Dunn (double your freelance rate)Patio11Nathan BarryAmy HoyRob Walling (Start Ups for the rest of us podcast)

6 points by blaurenceclark 8 hours ago discuss

9 points by aretx 12 hours ago 7 comments top 6

1

hkarthik 11 hours ago 0 replies

Sounds like the new tech leadership is taking the opportunity to scratch a technical itch (learning and building stuff on Golang) rather than giving a crap about the actual business they are helping to build and move forward.

With such an aggressive delivery date, they have already figured out they have no hope of reaching it, so they aren't going to blow their holidays on it. But they aren't telling you (and presumably the rest of the team) because they want to see what you can accomplish.

From here you have a couple options:

1) Get jazzed up about the technology and hitch your wagon to theirs. The project will likely fail spectacularly, but you might learn some skills that will come in handy for your next job.

2) Run, don't walk to your next gig.

My suggestion would be to stick things out through the holidays and start looking for a new gig in January when the job market is usually better. But don't work any more hours than you normally would.

2

davismwfl 10 hours ago 0 replies

I pretty much agree with all your warning signs, so I guess it mostly depends on your love for the product/startup. If you feel compelled and love it, and it is concerning you that this direction is wrong. Which by your account it sure seems to be. Then use the holidays to do some searching, talk to the CEO to feel him out and see where you are in the first week of January. You may find out the CEO is just as confused and dumbfounded as you are, but is trusting the people he hired. Or you may find out that he is a technology chaser and wants to be able to say Golang to whomever asks.

Either way, they aren't overly dedicated to making this happen given their schedule, so I wouldn't bust my ass in this case, but I wouldn't half ass it either. I would give it 100% because it is your reputation that you are protecting here.

Lastly, sometimes we don't see all the details or have all the answers even when the issue looks so clear from our current seat. So asking direct questions without being accusatory or sounding derogatory can really be enlightening. And that new knowledge can go either way of course, but that makes your decision easier.

3

tptacek 9 hours ago 0 replies

Honestly, just *having* a CTO in a small startup is a bit of a warning sign. More so if the CTO isn't a founder (in 2+ founder companies, sometimes people get the CTO title just because it's the only C-level title that doesn't have misleading business connotations, so you cut them some slack).

4

andrew_gardener 11 hours ago 0 replies

If you're unhappy if your job in general, go with the 3rd option (look for something better during the holidays).

If you're only unhappy if the pending deadline and the ensuing chaos, go with the 1st or 2nd option. This depends on how you feel the CEO will react to the deadline not being reached (he could take it out on the people around him or the people who took time off).

If you genuinely care about the company and what its trying to do, go for the risky 4th option. If it doesn't pay off, fallback to 3rd option.

my 2 cents

5

4 points by illaigescheit 8 hours ago discuss

7 points by ericthegoodking 14 hours ago 3 comments top 2

1

MalcolmDiggs 5 hours ago 0 replies

Until recently I was running a 500GB cluster (500 million records of about 1kb each) and it cost me almost a grand a month. But, most of these costs were from the provisioned throughput capacity, not the storage.

I never had any scaling problems, availability problems, data corruption or anything like that. It did exactly what it claimed to do.

Remember that Dynamo is a database as a service (it's not something you have the option of running on your own servers). So it's not comparable to MongoDB exactly, it's more like a hosted MongoDB service. For me, a comparable MongoDB cluster hosted at compose.io would have cost me 6 grand a month, MongoLab would have cost me about 3 grand a month, so the pricing felt ok.

That being said, don't expect MongoDB features, Dynamo is setup more like a simple key-value store (although you could force it to store documents, you won't get the indexing/searching/filtering capabilities of mongo).

If you want fault-tolerance and practically unlimited scalability it's a good choice. Just as long as you don't need to get tons of data in and out all time (that's when the provisioned throughput costs go soaring). It's also a complete pain in the ass to export data (it's a whole pipeline-to-mapreduce-to-hive thing).

2

aritraghosh007 9 hours ago 1 reply

Let me start by saying that DynamoDB is by far the most aggressively priced cloud service. It charges per throughput (read write) units assigned to a table on an hourly basis which makes it really expensive to use. On the other side, it provides supreme scalability with extremely low latency as the catalogue claims which has been true for most of our production workloads in the last 3 years that we have run with it. DDB is a great columnar store alternative.Their query API Is gradually maturing and is now way more useful to get most job done.

2 points by tim_nuwin 9 hours ago 3 comments top 3

1

2

3

johnatwork 8 hours ago 0 replies

Even though I don't FB a lot, the App is quite handy to message someone that's not as tech savvy (or don't have a smartphone), especially in groups, and keep track of the convo history.

5 points by agentargoh 11 hours ago 5 comments top 2

1

stonemetal 11 hours ago 2 replies

Sounds like it would be awesome for political parties sending out registration\get out the vote crews, power companies inspecting lines after a storm. Maybe search and rescue crews could use it to make sure everywhere is checked and done in an efficient manner.

2

mtmail 11 hours ago 1 reply

Why concentrate on B2C? Aren't there other businesses that need coordination of multiple vehicles? Police, rescue workers, farmers? Some high end tractors have GPS to store which part of field they worked on.

http://www.fendt.it/images/939Vario_Multifunktionsarmlehne.j...

4 points by mailarchis 12 hours ago 9 comments top 3

1

saluki 9 hours ago 1 reply

yes you can . . .

For SaaS . . . use Stripe.com for payments.

When you start out I wouldn't form a company until you have revenue . . . once you grow your SaaS to a few hundred dollars of recurring revenue it's time to form an LLC. <$500 in most states.

You could form one right away if you feel your SaaS is at risk for a lawsuit or you have a large amount of assets . . . but typically waiting till you have signups and regular revenue is recommended.

Listen to:http://StartupsForTheRestOfUs.com

read/listen to everything by patio11

Good luck in 2015.

5 points by revorad 13 hours ago 5 comments top 3

2

manishsharan 13 hours ago 1 reply

I could not figure out what your service does .The context is that I do use a/b testing service for marketing . Is your site similar ?

3

5 points by Warewolf-ESB 15 hours ago 12 comments top 6

1

LeoSolaris 15 hours ago 1 reply

On Arch: Randomly pull it in from the repos or AUR, fiddle with it till I am bored, then figure out if I have a real use for it. 90% of the time it is a no, but I have found some really neat stuff out in the wilds.

In production: Search for software based on a need. Read the docs first. Install in a dev docker and test it. Ship docker to production once I understand it.

2

valarauca1 15 hours ago 1 reply

When its Linux/Windows productivity or even general utils. I've often read a solid 1/4 to 1/8 of the documentation trying to ensure this tool will fit my use case, isn't malicious, etc.

Once I've downloaded and installed it, I generally just use it.

But then I'm not everyone.

3

4

sarciszewski 15 hours ago 1 reply

First, if possible, I verify a PGP signature. :)

Then, I dunno, I generally just fumble through it based on the standard desktop user's beliefs of which options go in/under which UI widget.

5

3 points by patrickcb 14 hours ago 4 comments top 2

1

valarauca1 14 hours ago 1 reply

Local new likely can't be disrupted because its existence tailors primarily to those who shun modern technologies. Therefore using new tech to "disrupt it" fundamentally fails to understand your target audience.

For example the "Average" viewer of local news only watches for ~6-12 minutes if you throw out the 60+ demographic which will watch 70min+. On top of that viewer engagement is typically 50-60%, once gain if you throw out the 60+ demo which reaches the 90-95% engagement local news likes to brag about.

The 18-29 and 29-39 demo's only have high >70%/90% engagement for traffic/weather. Most other categories are <50-60%

The "core" audience local news is tailored too are people who watch news not to gain news, but to be entertained by news. This is also shown by most 18-29 demo believes that news doesn't report in-depth enough, while the 60+ demo feels there aren't enough stories in a given time block.

Young crowd wants journalism, old crowd wants to be entertained.

2

davismwfl 13 hours ago 0 replies

Yes, I think it can be. I feel the reason no one has yet been successful is that the cost to do so is likely very high, even using local volunteers. Many people try to solve local news, local events type problems. Even Google and Yahoo want to solve this as it really is something that can drive user engagement.

The problem is it takes significant man hours to make local news, events relevant daily. If you just look at your local news, cut out all the sensationalizing around each crime/victim, the news boils down to about 6-10 minutes of real news, 3-5 of which is your local weather, the other few minutes is usually something the local station is doing in the community or highlighting, like a local teacher etc. They repeat the same news cycle about every ~6 hours, usually 6am, noon, 6pm and 11pm. I believe they use this formula in part because the can centralize research and collection of news stories around the local police, jail and city/county daily publishings, and then hammer it home for a 24 hr cycle. The formula works too because a lot of people will watch that type of content and they are hitting different demographics with each time slot.

So IMO to properly solve this problem, it would take significant local presence to collect, and organize the happenings around the city/area, assuming you wanted to differentiate some from local news. Then you have to get it published in some meaningful way where people can search it, use it and receive value so they will return again. This takes significant production in a short window.

Also, as I think a lot of sites/people have found out, the build it and they will come just doesn't work. Volunteers just won't start adding their content to a site because it exists, there has to already be a following or there is no benefit. Same for companies willing to sponsor a persons time to do this, if there is no audience to sell to, why would they dedicate the dollars to do it. So it is up to a central group/company to create the local following first then it can expand with the aid of others, but initially it would require significant labor, time and money. Multiply this by the number of local areas and you start to see that while doable it is definitely a large problem to tackle.

3 points by Blakefolgado 12 hours ago discuss

3 points by jarben 13 hours ago 7 comments top 3

1

debacle 13 hours ago 1 reply

Of course it is legal. On the other hand, Sencha regularly pushes the license cycle by slowing/stopping bugfixes for older versions of the software. They also pioneered the predatory open/closed model. They are not a good company to place your trust in.

Someone at Sencha decided that the value of squeezing their locked in users is more than the value of acquiring new users.

2

hkarthik 11 hours ago 0 replies

Welcome to enterprise, closed source software.

There are two rules you need to know.

1) They will price things as high as they think their customers will pay.

2) Nobody pays sticker price, but you have to go through sales people and trade parts of your soul to negotiate better pricing.

3

toddkazakov 13 hours ago 1 reply

Why would you think it is? At the grocery store I often buy a six-pack, without the possibility of buying a single beer.

8 points by mavsman 1 day ago 17 comments top 11

1

apawloski 10 hours ago 1 reply

I'm on a fully remote team, though I happen to live two subway stops from our product's HQ. A few times a year I will go in to work alongside people from other teams, or when someone from my team is in town for one reason or another.

My experience working remotely has been overwhelmingly positive. A notable advantage is avoidance of certain office dogmas -- particularly, the expectation of 8 contiguous work hours.

When it comes to coding, I don't have the mental stamina to produce meaningful technical thoughts for longer than 4 or 5 straight hours. 8 hour shifts are inefficient for me personally, because I get drained and "waste" 25-35% of those working hours with lower quality output.

Working from home lets me work in multiple 2-4 hour spurts a day with time to mentally refresh inbetween. I'm still available to my team during the 9-5 block(computer nearby, phone always on if I'm out), but if I were in an office, I think coming in and out for 2-5 "micro shifts" a day would be frowned upon.

The major downside is that at times it is difficult to turn off. My manager's (tongue in cheek) claim is that WFH is a trick to make employees work longer. I'd say that's true. The lack of effort it takes to start working when you're at home makes it easy to justify "oh, I'm here; I'll just hit this now." At it's worst -- this August -- there was so much work that I'd work straight into the night, fall asleep, wake up, and pick up my laptop. If I was working from an office I imagine the 9-5 rhythm might have been easier.

One other thing worth mentioning is that I lucked out with a great team. They are great technologists from a wide variety of backgrounds and I'm humbled and impressed by my teammates frequently. Sometimes I think learning little things from them has been more valuable to me than the experience I've gained in our "hot" technologies..

3

palmaec 6 hours ago 0 replies

I've been working remotely from home since 2004, as a contractor/freelancer developer. Before, I had worked in a big consulting company (that one). Since 2008, I've been living so far way from big cities that since then I haven't seen the face of my clients.

Working from home, at least for me, means to be more productive, even with kids at home. It also means eventually I work more hours to accomplish my daily goals, and that can become a problem some time (the oldest son already told me "you don't know anything else?")

Depending on the client, there may be some resistance from the in-office workers that have to stay there every day. The key is to do a good work and win confidence from management.

On socializing, in the last two years I started missing more. Probably less because of working and more because of staying too much time at home.

4

daly 21 hours ago 1 reply

I've worked remotely for the last 10 years. My largest coding effort lasted 6 years, generated 60k lines of code,and 6k pages of documentation. The same averages (10k loc,1k docs, per year) seem to hold for all projects. In generalI find I'm very productive working from home.

The hard part is that I discovered that I have a "natural"27 hour day so I tend to be out of phase with the group.In order to communicate I end each "day" (aka bedtime) witha 1-3 line email stating progress (or at least effort).

"Work" is also a 7 day per week activity as there are nonatural boundaries. It helps that I really love to writeprograms. Calling saturday morning is fine but I might beasleep on tuesday at 3pm.

Also, I write "literate programs" so the work product isa book containing the explanation and the source code.That way the boss can read everything up to the lastestovernight checkin. The book contains all work done to dateso there is never a question about "the state of the work"or whether there is "progress".

On the other hand, if you don't like weeks of dead silence,a lack of extra eyes to find bugs, a river of badly brewedhomemade coffee, and hotdogs for breakfast ... get anoffice job. Working from home is not for everyone.

5

saluki 1 day ago 1 reply

Working remote is great, most of the time. The biggest benefit is not having to commute . . . saving on gas, mileage and most importantly TIME. I would recommend at least trying it out.

The only lacking part is office banter . . . socializing . . . but that is good and bad to miss out on. With skype and conference calls it's easy to stay connected with team members.

6

7

hkarthik 11 hours ago 0 replies

Where do you live?

My suggestion would be to find a company with a local contingency in your city. Like 3-4 developers that are local to you and can meet up to cowork occasionally or a few times per week.

It works best if you have some nice coworking spots locally within a reasonable commute.

8

Jayd2014 15 hours ago 0 replies

I work from home. I have to convince my wife all the time that I'm actually working and can't just run to the store and get groceries. I like working from home, but from time to time it's good to go see people in the office. If you are keen on making a career you have to show up and socialize a bit. You will not be promoted if you always work from home.

9

jpetersonmn 14 hours ago 0 replies

I work from home in the afternoons during the school year, and then full time during the summers. It's real nice to be able to have the option to work from home whenever I'm sick or there's a blizzard, etc... But for the most part by the end of the summer I'm really ready to get back into the office.

10

Jeremy1026 1 day ago 0 replies

I dislike people, specifically, stupid people. I loved my last year working remotely. No dealing with stupid people is an amazing plus.

If you are a talker, you might it harder seeing only a handful of people each week. (Family, friends, service industry workers.)

11

canterburry 23 hours ago 0 replies

When I worked remotely I'd get my work done and with the additional spare time I had, since I didn't have to commute waste time in meetings, I went to as many meetups as I could to make up for the lack of social interaction at work. Working out of a coffee shop or co-working space can also alleviate some loneliness.

10 points by dont_be_mean 1 day ago 15 comments top 14

1

toumhi 14 hours ago 0 replies

This is of dear interest of me. So much that I actually keep a list of questions in Evernote.

from the book "change your questions, change your life":

` - What do I want? - What are my choices? - What assumptions am I making? - What am I responsible for? - how else can I think about this? - What is the other person thinking, feeling, and wanting? - What am I missing or avoiding? - What can I learn? - ... from this person or situation? - ... from this mistake or failure? - ... from this success? - What action steps make the most sense? - What questions should I ask (myself or others)? - How can I turn this into a win-win? - What's possible?`

Questions from "no more mr nice guy":` - what do I want? - what feels right for me? - what would make me happy?`

from forgotten source:` - if there were no limits on your life... - ... where would you live? - ... what would you be doing in your leisure time? - ... what kind of work would you be engaged in? - ... what would your home and surrounding look like? - what do you really want in life? (write down 3 things) what prevents you from making it happen?`

from sebastian marshall:` - what am I doing? - why am I doing it? - what are the results? - what are the highest value activities Im not doing? - what can I cut? - What hard questions am I avoiding?`

2

proveanegative 20 hours ago 1 reply

"What part of what I'm doing is responsible for my successes?" Credit to Less Wrong for this one.

3

rayalez 17 hours ago 0 replies

I'm not sure if it's the *most* valuable, but it's definitely one of the questions that gave me a lot of valuable insights and changed my world view dramatically:

"Which of my beliefs are false?" Or "What, among the things I believe in, is not true?"

This question seems very obvious for any intelligent person to ask, but as I put more and more attention to it - I discover more and more shocking things about myself and the world. I have SO much more false beliefs than I've expected.

Because I think of myself as skeptic and atheist, as a rational and "scientific" person, I had no idea that me, and other sceptics/atheists still hold so much beliefs that turn out to be ridiculous and made up when you look at them closely.

And I have no idea how much more is left to discover.

The book that really taught me to ask this question, by the way, is Jed McKenna's enlightenment trilogy. I disagree with a lot of it's new-age'y ideas, but I got a lot of value out of it because of this question, highly recommend it.

To put it shortly "put as much of value and attention into *un*learning things and identifying the false knowledge as you put into learning and knowledge"

4

wrd 10 hours ago 0 replies

What is the root of human behavior? What are all people striving for? And how does the ensemble of individuals striving for the same thing(s) produce the systems we live in today? These questions are some of the most fundamental questions you can ask, and answering them is tantamount to solving one of the deeper meta-puzzles that life presents to you. You are your biology, psychology, and environment, and understanding how these all influence each other is incredibly useful.

5

JSeymourATL 9 hours ago 0 replies

> what's the most valuable question one could ever ask?

*"How can I best help you?"* Asked with the sincere intention to be of some assistance.

Incidentally, great book recommendation, Give and Take: A Revolutionary Approach to Success. http://www.goodreads.com/book/show/16158498-give-and-take

6

7

8

10

justintbassett 1 day ago 0 replies

"How do you know what you know?"

Don't be afraid to cross-examine your own beliefs!

11

wallflower 1 day ago 0 replies

What do you really care about?

When is the last time you felt you were lucky? (in the non-sexual sense)

12

13

mindcrime 21 hours ago 0 replies

Depends on context, but I like variations of the ole

*"If you could wave a magic wand and change one thing about (your life | your job | this situation | your marriage | whatever), what would you change?"*

Another good one, is this - after asking a series of questions, ask

*"Is there anything I should have asked you, that I didn't?"*

This seems more appropriate for business conversations than casual smalltalk / social situations, but you might be able to riff on it and come up with some useful variations.

Also, for when talking to doctors:

*"What's the worst thing that could be causing my symptoms?"*

*"Could I have multiple problems contributing to these symptoms?"*

*"If this diagnosis were to turn out wrong, what would the correct diagnosis then probably turn out to be?"*

Credit to "How Doctors Think" for the above three (not necessarily word for word, but the spirit of them anyway).

5 points by jsprogrammer 1 day ago 7 comments top 4

1

ankurdhama 1 day ago 1 reply

The so called toy problems are "generalization" of many real-world problems. Which means if you could solve these problems efficiently then that (single) algorithm can be used to solve problem in different areas of engineering, physics, biology, chemistry, shipping etc. Ask any of the professional in these areas and the "real world" problem that they would describe are basically NP-complete problem i.e the solution space is huge and the only way they are trying to solve them as of now is using brute force i.e try each possible solution and check if it works or not, which is obviously not an efficient way. Most of the time the problems are kind of optimization problems - "How to use the resources I have to make most of it" OR finding the right combination - "What sort of composition of all the chemicals would produce the desired effect?"

Once in a while a breakthrough happen in these areas and some problems are now become simple but that doesn't meant they solved a NP problem, that means they have discovered that the problem was not NP complete problem. So if you really want to solve the real world problems you would basically find some insight in that specific problem which would make it efficient to solve that particular problem but it wont mean that you solved a NP problem, it would just mean that you proved that the problem is not NP problem.

2

linvin 12 hours ago 1 reply

It once cropped up for seemingly simple everyday problem that I will describe here:

When I was still a graduate student (1980's), I was helping out some local businesses. There was a need to print a lot of receipts, and these receipts would be of some size, measured in number of lines. Say 10, 35, 20, 5, 12 etc. The paper size would be about 60 lines.

And then, we thought we should reduce the number of papers actually consumed for printing, by fitting as many receipts in single paper (We had cheap manpower to cut the pages manually.) Ordering of receipts was immaterial.

So given a simple list of (receipt no, #lines), how do you re-order them and create groupings so that each of that group size is less than 66 (in this case), and yet, the wasted size from all groups is minimized?

It is famous Knapsack problem.

3

4

6 points by evc123 1 day ago 1 comment top

1

JoachimSchipper 9 hours ago 0 replies *crickets*

So, what were the best sessions *you* attended at NIPS 2014?

54 points by shubhamjain 1 day ago 49 comments top 16

1

jarcane 1 day ago 1 reply

1) Many of them don't. The turnover of grunt level coders and QA staff is huge, and the senior figures in the industry mostly made it through the days before crunch-time was simply "all-the-time", and now have the seniority to avoid it themselves.

2) An endless supply of True Believers. The games industry feeds on exploiting the idealism of youth. Young guys who grow up with 'making games' as their dream job, but no idea how the sausage is made, are hired up for QA jobs and junior programming jobs with promises to do just that. And when they burn out or realize they're just going to be doing bug testing for the rest of their lives because they don't actually have the experience to be anything else, the industry shrugs and hires one of the thousands of others lining up at the door with the same dreams.

The whole reason the indie market in games has exploded is precisely because of this, I think. The ones who burn out but still have the talent, or who're smart enough to avoid the AAA system to begin with, just say fuck it and make their own games like almost everyone once did in the 80s. Market standards have shifted from necessarily expecting only the AAA experience, and while few indie games are going to rival the sales of the next hoorah-FPS game, if you're lucky, talented, and willing to spend a fuckload of time self-promoting, you can eke out a living without the meatgrinder.

2

NateG 1 day ago 0 replies

I've been programing games since I was 10 years old and games are the only reason I went into Computer Science. I started off at a smaller studio out of college and accepted a salary about 15% less than my friends who went into Aerospace and Finance. I didn't care, because games is where I wanted to be and I loved every moment. I found games interesting, intellectually challenging and ultimately very rewarding. I moved from UI to game play to AI, did some Audio programming, dabbled in graphics, helped with design, etc. There was always something new to learn and do. Fast forward and many of my non-game industry friends were bored with their jobs, not learning new skills and maintaining legacy code. Some friends left the game industry to find greener pastures and more money in other fields and eventually came back due to the lack of creativity and monotony many non-game jobs entail. This is obviously subjective and perhaps the kind of person that is not attracted to making games would find those other jobs rewarding and that is not to say that all game jobs are dynamic and wonderful.

Regarding long work hours and terrible pay, not all employers are created equal. I eventually worked for a couple of different AAA companies before going indie and I had a very good salary and benefits at both companies surrounding by extremely talented developers. I have a few friends who I would say have extraordinary salaries and perks, however, they are very good at what they do. I have worked the crazy crunch times sure, but I think that is becoming less common especially after the EA Spouse debacle and the industry matures. It does still exist at some companies, however, there are many other jobs and industries out there that are just as demanding. I eventually went the indie route mainly just to see if I had the chops to run a small company and be the captain of my own ship. It was a question I wanted to answer for my own personal growth.

Working at a game company just so you can have a "job" is probably not a good idea. Just like I wouldn't recommend starting or joining a startup unless your heart is really into it and you love what you are doing because, yeah, there are going to be some long hours sometimes and there is a good chance you could be making more money elsewhere. If you like games, want to make games and are passionate about it, there are good companies out there that will pay and treat you well. Seek them out.

3

yzzxy 1 day ago 2 replies

I think most people don't enter the games industry because they see it as a subset of programming. They learned to program or create art to make games, not vice versa. Many programmers began coding because they wanted to make games, including myself. But I think most people don't find game code interesting after they make some initial demos, outside of a few areas like computer graphics, which is pretty centralized nowadays in engine vendors like Unity and Unreal.

But there are those who believe in games, who live them day and night, who idolize famous developers like rock stars. They would like nothing more than to work at $GAMEDEV.

As a result, they might not be comparison shopping with other company types like other programmers between financial, startup, BigCo, and others.

I myself considered entering games for a long time, but growing fear of entering such a predatory industry, as well as a growing interest in PLT and other CS topics, led me away from that path. I still would consider joining or starting a small indie team, and participating in game jams or game hackathons. But I personally don't see the appeal of AAA jobs - the artistry isn't there the way it is with indie games, and the pay isn't either.

One note - the movement to F2P games like Dota2 and LoL seems to be improving this trend. These games ship features when they're done, like a SaaS product, and can avoid the crazy crunches and turnover that a release cycle perpetuates. Riot and Valve also have some of the highest industry scores on Glassdoor.

4

jay_kyburz 1 day ago 4 replies

I'm a long time lurker, but finally a topic I know a little about.

I can't speak for every company out there, but I worked at 2K / Irrational Games through the Bioshock days. Things may have changed in the last few years. I left several years ago to work twelve hour days, 7 days a week, for no pay at all in my own company.

You have to ask yourself what you want in life. Do you want to spend years working on B grade games nobody has heard about, or do you want to work on a AAA game with a huge budget that everybody is talking about.

Do you want to be the best, or do you want to be some average joe.

If you want to be the best you have to work hard, and you have to fight, and you have to put aside some other things in life. And if you're doing it, you will expect it of the others around you.

If you don't mind being a member of an average team making average games, well you can have a better work life balance.

It sounds a little harsh, but I honestly think it's as simple as that.

5

fredophile 1 day ago 0 replies

There are a bunch of good comments here already but as someone that's worked as a game developer for years here's my take on it. I do have a few comments on the question itself before I get to my reasons for staying in the game industry.

First, not all game companies are created equal. The example you cited is from a company with a reputation for working long hours in and industry that already has a reputation for working long hours.

Second, compare what you read there to typical start up culture. All of the listed downsides are present to some degree in start ups. Are people more forgiving of this for start ups because of the potential for financial reward?

As someone else mentioned, not everyone sticks around and turnover for junior employees is pretty high.

Most people get into working in games because they love playing games. Making games and playing games are very different activities. I'd call this a necessary but insufficient reason for staying in games. If this is the only reason someone is in the games industry they'll probably, but not necessarily, leave relatively quickly.

Now that I've gotten generalities out of the way here's some reasons why I stay in games.

For me money isn't an issue. I could probably make more doing something else but I make enough to cover my expenses and have a pretty comfortable lifestyle. I'd need a very significant pay raise to consider leaving the industry if that was the main reason to go.

Making games is hard. I like working on challenging things. There's also a very wide variety in the challenges. If you don't like working on one type of challenges there are other challenging problems to work on.

Another big thing for me is the people I get to work with. Because of the wide variety of roles you see people with very different backgrounds making games. Personally, I prefer this and the impacts it has on company culture over the more tech heavy companies. I'm also very fortunate to work with incredibly talented people every day at my current job.

6

7

chipsy 1 day ago 0 replies

For people who have gotten far enough into it(and I would count myself among them) there is a "point of no return" where you're like any other devoted artist - you see designs that have not been made and that you have to make. No amount of money can buy them because they aren't realized in any form yet, and only you can do the work. This is at the core of the artistry emerging from the independent scene these days, although you have to go trawl sites like itch.io and Warp Door and play a sampling of free games to actually see what's out there - the commercial sector isn't going to reward all of that stuff, and this group is drifting inexorably towards Patreon as a funding source.

But there is a dual vision here. The point of no return is not the thing attracting people to the AAA sector, and it isn't even held by the majority of independents, who feel a lot of pressure to think about the bottom line constantly, pander to a perceived audience, and just put out something, anything, that will keep their doors open. You only get past that thought pattern if you've hung on long enough and attained a certain mindset(which I attribute to chance factors, not all of which are necessarily good or healthy). As you outline, a cold industrial-capitalist labor valuation indicates that you get worse payment and conditions in games than equivalent work elsewhere.

No, what gets everyone in there, including younger, more naive me, is some combination of exceptionalism, short-term thinking, or status seeking. Framing life in terms of "it'll be so cool to put these things on the screen" or "I'll be recognized for this work later!" People who feel this way have trouble keeping away from it - they are "working to live," even as the system makes them "live to work." Like any workaholic, they may be escaping from personal issues, and there is a combination of intrinsic empowerment in helping to create a tangible virtual world, and a social power in working on big, impressive geek shibboleths(amaze your friends who said you'd never amount to anything: "I worked on this popular successful game"). The people who break tend to reach a point where they need a more stable situation, they feel disillusioned about the type of works they're making, or they're just burned out from the repetitive aspects.

8

jmnicolas 1 day ago 1 reply

I think it's a common mistake for young people to aspire to be a game dev just to make games.

The journey (programming) is the most important not the destination (the game).

If you don't like coding you won't be happy making games (and there's a good chance you won't make games at all).

If you like coding you don't need a job in the game industry. Apart from the work environment, for a real programmer coding challenges in others industries are as fun as in the game industry.

9

pandaman 1 day ago 1 reply

For a game designer there are no better opportunities that I am aware (I am not a designer though).

For an artist - there is the VFX industry, which is much worse from what I've heard (at least game artists don't go on protests). A concept artist could probably do some illustration freelance, not quite as same as a FTE with benefits and salary.

For a programmer, and I am one, I don't see anything that could be as fun. Besides, programmers in the games are paid pretty well.

For a QA - beats me, QA are treated pretty badly, I guess they are there for the chance to break into the industry.

Producers - it seems there is oversupply of middle management, they could probably do the same job of sitting on meetings in a Fortune 500 company for a much better salary but nobody is offering them such a position.

10

LeicaLatte 1 day ago 0 replies

This is my first year working with a gaming company. Working on Watch Dogs, The Crew was quite intense at times but the people have so much passion they make it worthwhile. Game dev are often younger than say enterprise software dev. They have time that needs filling rather than old people who maintain a completely different relationship with time.

11

LBarret 1 day ago 0 replies

The game industry is quite dysfunctional. It had been proved that crunch is counter-productive. But there is macho thing to it and it's reassuring to managers. And as jay_kyburtz's comment shows, there is also a lot of (misplaced IMHO) pride participating in a AAA project. It is the kind of discourse managers tell their team to make them work harder, but in a team of 200+, everybody is just a (replaceable) cog in the machine.

Nevertheless, Gamedevs love what they do because a game is full of interesting problems. As a friend told me : the best game is to build the game. On the other end of the spectrum, working for a crud project in an enterprisey environment can be soul crushing.

I've done a few years in the industry and it is a good place to work on hard problems and becoming a very good coder. But except if you go to the indie (or middleware) route, it is not sustainable : it has the same alluring seduction as Hollywood and it is even harsher (due to its ties to the finance industry).

12

q3sniper 1 day ago 2 replies

Because of the thrill of it.

My day-to-day is devops with a little frontend. It's drugery. I got into programming because I wanted to do games programming. That's where I started. It was thrilling, doing demos, entering competitions, pushing pixels. Fucking thrilling. But then I needed to get a job. Nobody needs a games/graphics programmer. So, I read a couple of database books, and now life sucks.

I'd love to go back to where the rubber hit the road.

13

agersant 1 day ago 0 replies

I can only speak for myself but my reasons are:

1. I love making games more than making big money.

2. I get to work with smart people who care about their work.

3. I feel like I'm solving interesting technical challenges.

4. Most studios I have worked at are managed reasonably well. Your "common knowledge" is a broad generalization based on the most horrific examples around.

14

MrScruff 1 day ago 0 replies

You'll find this applies to any creative industry. The conditions will be terrible compared to less creative jobs because the work is fun and everyone wants to do it, creating intense competition.

However, people will find it tough to quit and get a regular job because... the work is fun. It turns out enjoying what you do counts for a lot.

15

16

cached 16 December 2014 05:05:02 GMT