|
Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks. |
well technically machine learning can solve anything, and I don't even really understand the complaints there.
the reason some of these statistics techniques are being referred to as machine learning is because they are being done by a machine in an algorithmic way that takes past information and uses it for the future. hence machine + learning.
honestly though... the guy sounds kinda dumb to me. machine learning is "in" right now because it is solving a lot of problems and creating a lot of opportunities.
I guess, to understand his complaints, he's going to need to complain about actual tangible examples instead of generalities.
|
On March 21 2019 05:33 travis wrote: well technically machine learning can solve anything, and I don't even really understand the complaints there.
the reason some of these statistics techniques are being referred to as machine learning is because they are being done by a machine in an algorithmic way that takes past information and uses it for the future. hence machine + learning.
honestly though... the guy sounds kinda dumb to me. machine learning is "in" right now because it is solving a lot of problems and creating a lot of opportunities.
I guess, to understand his complaints, he's going to need to complain about actual tangible examples instead of generalities.
The problem with ML is that people are introducing it forcibly to solve trivial problems (and create new ones, like how do we complicate it just to use ML) just for the sake of using ML.
In any case, I wanted to ask people around here who reached senior-levels if your observations are similar to mine: 1. The more senior you get, the less code you write. 2. The more senior you get, the less you care about implementation details. 3. The more senior you get, the more you abhor "clever" solutions and "cool new things".
I've checked my recent commits to the repos (at my current company I have master acces to 192 repositories, lol) and most of them are like +2 -964, where +2 is me adding 2 blank lines around a control structure (ffs, this is not the 80's, please add blank lines around your control structures). I am now solving problems by listing processes on the server and checking the changelogs in the external libraries rather than touching any of our own code. It is at the same time encouraging and terrifying (programmer middle-age crisis equivalent?).
|
On March 21 2019 08:27 Manit0u wrote: The problem with ML is that people are introducing it forcibly to solve trivial problems (and create new ones, like how do we complicate it just to use ML) just for the sake of using ML.
the last couple of years i've done a few data mining projects that get labelled as "machine learning" because the COO or CIO knows the CEO will approve spending on the coolest, newest trend.
its easiest to say "its a machine learning exercise that costs 40K" ..."we have to get outside help because we don't know enough about Maple" ...the CEO will just gobble that one up and spend the money.
here is what is harder for the CIO or COO to get CEO approval ... Chief Operations Officer:
i'm gonna have a guy get knee deep in all our data .... he's done several projects for us and knows our data and databases better than anyone we have in-house because we won't pay anyone more than 75K/year.... he'll do a comprehensive audit of our data acquisition methods ... poke around a bit more after doing that stuff because he'll discover a bunch of new ugly things. .. after all this he and i can spitball some ways to spend less money retaining our biggest customers
the "spit balling" is rarely between me and the CIO//COO. Its usually between me and two or three middle managers that report to the COO or CIO.
its the same data-mining i've been doing for 10 years. That is not sexy enough to get CEO's to spend money though.
The CEO likes to view their toughest IT problems as only solvable by an elite high tech C.S.I.unit... when the reality is ..... they are just calling in Lieutenant Columbo.
|
Zurich15234 Posts
On March 21 2019 04:18 JimmyJRaynor wrote:to your point... In general, "Machine Learning" is being oversold by its proponents. Show nested quote +"I apparently have a bit of a reputation as someone who is anti-machine learning or anti-AI when it comes to human research. This is a bit of misrepresentation of my views, and (I'd argue) a misrepresentation of the issues "statistics people" take with AI/ML as a whole." "I personally think that AI/ML has a lot to bring to the table to enhance science, health and human performance. The problem is that the AI/ML crowd are over-selling their wares and often being disingenuous about what is current state-of-the art" "Issue 1: CLAIMING EVERYTHING IS MACHINE LEARNING. Just because AI/ML may use algebra or linear regression, doesn't mean it is AI/ML. Same goes for Nonlinear regression, correlation, logistic regression, or everything else that IS STATISTICS (or information theory, etc.) " "It's cool if you use statistics and statistical concepts properly. Really, we're a big-tent kind of people. Just don't claim you invented something you clearly did not. And no, stringing together multiple correlations in an automated way doesn't make it extra special. " "Issue 2: OMG THE HYPE MACHINE, MAKE IT STOP. Again, a lot of really good stuff is being trialed with AI/ML. You don't need to oversell the genuinely good work and advances being pioneered. Here's the thing, most "statistics people" are allergic to hype." "Many human research statisticians work in areas of health where people can die or receive in appropriate treatments if we do our job wrong. It isn't to say we're perfect, but we work hard to be conservative and criticize our models so we're confident in the results." "This is, I think, the main reason statisticians have issues with the AI/ML crowd: we can smell snake oil. The really good and avant garde AI/ML work gets lumped in with the utter nonsense directed at VC's and the pop media." "Issue 3: THE SNAKE OIL IS SPREADING (tweet #7) Again, there is good AI/ML work being done, but most of it is just re-branded statistics or 'stuff' hiding behind the term "proprietary". This snake oil is leaking into government, academia, etc in an attempt to be 'cool'" "We're seeing this salesmanship more-and-more outside of traditional AI/ML technology circles. There are conference presentations or academic papers that call things like principle component analysis AI/ML... it was invented in 1901! https://en.wikipedia.org/wiki/Principal_component_analysis … " "Finally, many "stats people" are interested in applying AI/ML techniques and seeing where it can compliment our backgrounds and current work. We just get turned off by the bravado, hype and salesmanship that accompanies AI/ML. So yeah, we'll keep giving it a hard time. " This super contrarian position is just as annoying as some sales rep overhyping their "AI powered" software that does linear regression somewhere under the hood.
As if there is a need to have a hard cut between what is "statistics" and "ML". There is plenty of overlap, and being super anal about statisticians having been doing logistic regression for decades to deride someone doing strictly speaking the same using a deep neural net is just being annoying. This goes both ways. ML heads laughing about someone suggesting regression as "that's just statistics" is just as dumb.
I think we can all agree that there is huge overselling on anything that has the ML, or worse, AI label on it. But what's new about that? Sales people sell. It's their job. Taking that fight to the engineering level and starting turf wars between statisticians and "new" ML people is completely unnecessary and counter productive.
|
Who's that guy and why should we care about his tweets? From reading along, I'm probably the one in this thread closest to being an "AI person" (I would say "yes" if you asked me if I were one), and this alleged feud between statistics and machine learning is just a farce. We use tools to solve problems, and nobody really cares what you want to label the tool as. Everybody I work with is very realistic about what we can and cannot do currently. I don't interact with clients a lot in my role, but when I do, I'm ASKED to oversell what we're able to do with their data.
People probably confuse the science and the marketing part of the AI bubble.
|
On March 21 2019 22:33 ZenithM wrote: Who's that guy and why should we care about his tweets? He is a colleague of Justin Jacobs. Who is Justin? "Justin’s research efforts are in spatio-temporal statistics, manifold learning, ranking analytics, streaming analysis, and recommender systems. Justin’s work has led to over 30 publications within the Department of Defense and a patent on pseduo-GPS methods." https://twitter.com/Squared2020 Jacobs acknowledged his counter opinion as a good one. I've also provided my anecdotal experiences where data-mining projects get labelled as "machine learning" in order to get the CEO to commit money to it.
On March 21 2019 18:30 zatic wrote: I think we can all agree that there is huge overselling on anything that has the ML, or worse, AI label on it. But what's new about that? Sales people sell. It's their job. Taking that fight to the engineering level and starting turf wars between statisticians and "new" ML people is completely unnecessary and counter productive. It is not just "sales people" doing this. Its pretty high up IT people who report to the #1 money man in the company being really slippery about how they are solving problems in order to get management to spend money. When there is money involved you will always end up in turf wars.
|
On March 21 2019 08:27 Manit0u wrote:Show nested quote +On March 21 2019 05:33 travis wrote: well technically machine learning can solve anything, and I don't even really understand the complaints there.
the reason some of these statistics techniques are being referred to as machine learning is because they are being done by a machine in an algorithmic way that takes past information and uses it for the future. hence machine + learning.
honestly though... the guy sounds kinda dumb to me. machine learning is "in" right now because it is solving a lot of problems and creating a lot of opportunities.
I guess, to understand his complaints, he's going to need to complain about actual tangible examples instead of generalities. The problem with ML is that people are introducing it forcibly to solve trivial problems (and create new ones, like how do we complicate it just to use ML) just for the sake of using ML. In any case, I wanted to ask people around here who reached senior-levels if your observations are similar to mine: 1. The more senior you get, the less code you write. 2. The more senior you get, the less you care about implementation details. 3. The more senior you get, the more you abhor "clever" solutions and "cool new things". I've checked my recent commits to the repos (at my current company I have master acces to 192 repositories, lol) and most of them are like +2 -964, where +2 is me adding 2 blank lines around a control structure (ffs, this is not the 80's, please add blank lines around your control structures). I am now solving problems by listing processes on the server and checking the changelogs in the external libraries rather than touching any of our own code. It is at the same time encouraging and terrifying (programmer middle-age crisis equivalent?). Yes, ML is hype and people try to use it everywhere - or just the term no matter the actual implementation.
1. True. I think I still hold the record for most commits in the company, but I doubt I'll hold it for long. A lot of my time goes into explaining stuff. 2. Well, I decided that something is possible without thinking about the details and then I go and do it. The implementation details are never really a problem. Or I just give my colleagues a rough outline and expect them to figure out the details. But I do care about the details in the end result. We have enough legacy code already. 3. I've been against "clever" solutions for pretty much all of my professional career as a developer. I also call people out on premature optimizations. But I do strive for elegant solutions - 2 lines of simple LINQ over 8 lines of foreach is not only shorter but also often much easier to understand (especially on an algorithmic level). And "cool new things"... well it's ok to try out things, but when some people come back from a conference and want to do X new thing they heard, I am very skeptical. Often there is no actual gain and we have other issues to address. Especially if X new thing involves JS. And there always is a new thing in the JS environment.
I recently had a sprint where I probably didn't write more than 5 lines of code. Whenever I finished answering someone's questions the next one was already waiting. I doubt that's all good. On the one hand it's important that I share my knowledge to improve productivity of my colleagues and make sure the company doesn't rely too much on me. On the other hand it means that most of the actual code base will be produced by the less experienced developers.
|
On March 22 2019 15:36 spinesheath wrote: I recently had a sprint where I probably didn't write more than 5 lines of code. Whenever I finished answering someone's questions the next one was already waiting. I doubt that's all good. On the one hand it's important that I share my knowledge to improve productivity of my colleagues and make sure the company doesn't rely too much on me. On the other hand it means that most of the actual code base will be produced by the less experienced developers.
The senior developers architect something and make sure it will work theory wise and then the junior developers can code it. There's still some problem solving at the lower level because nothing works exactly as planned, but figure out or work with the scrum master to work out the details.
The only problem with this approach is that there's too many senior developers that you don't need a million architects.
|
Well, the thing is that junior developers produce worse (and often straight up bad) code than someone who has a couple years of experience. Unless you "architect" it down to a level of detail where they can't make any mistakes (at which point you probably could have implemented it yourself in that time), or spend lots of time on code reviews and code reviews of the changes that followed from those.
Our entire profession has like 50% people with less than 5 years of experience. It's debatable whether we can even call it a profession.
|
On March 23 2019 05:20 spinesheath wrote: Well, the thing is that junior developers produce worse (and often straight up bad) code than someone who has a couple years of experience. Unless you "architect" it down to a level of detail where they can't make any mistakes (at which point you probably could have implemented it yourself in that time), or spend lots of time on code reviews and code reviews of the changes that followed from those.
Our entire profession has like 50% people with less than 5 years of experience. It's debatable whether we can even call it a profession.
That's the problem with our profession though. How do you teach the new developers how to write better code without any code review? You don't just wake up one day writing good code.
|
On March 23 2019 05:30 Blitzkrieg0 wrote:Show nested quote +On March 23 2019 05:20 spinesheath wrote: Well, the thing is that junior developers produce worse (and often straight up bad) code than someone who has a couple years of experience. Unless you "architect" it down to a level of detail where they can't make any mistakes (at which point you probably could have implemented it yourself in that time), or spend lots of time on code reviews and code reviews of the changes that followed from those.
Our entire profession has like 50% people with less than 5 years of experience. It's debatable whether we can even call it a profession. That's the problem with our profession though. How do you teach the new developers how to write better code without any code review? You don't just wake up one day writing good code. Neither do you wake up as a master carpenter. Yet people don't really want to pay the full price for an apprentice's work. I think we still have other forms of learning software development to explore. Like closely pairing up a junior developer with a senior mentor for months, where the junior never works unsupervised for more than a couple hours. I don't think you can expect the average junior to become a decent developer in an adequate amount of time off just code reviews and stackoverflow, while at the same time also ensuring they don't leave too much of a mess in your codebase.
|
|
Anyone here use google colab to train models?
My professor kept telling us to use it, so I did, and even on GPU it seems to train slower than my CPU does...
|
On March 23 2019 05:30 Blitzkrieg0 wrote:Show nested quote +On March 23 2019 05:20 spinesheath wrote: Well, the thing is that junior developers produce worse (and often straight up bad) code than someone who has a couple years of experience. Unless you "architect" it down to a level of detail where they can't make any mistakes (at which point you probably could have implemented it yourself in that time), or spend lots of time on code reviews and code reviews of the changes that followed from those. Our entire profession has like 50% people with less than 5 years of experience. It's debatable whether we can even call it a profession. That's the problem with our profession though. How do you teach the new developers how to write better code without any code review? You don't just wake up one day writing good code. Find a good management structure that develops its young talent. Get hired by them.
In the general business world its expressed this way: "Chase management ... not money. If you are working within a good management structure the money will come." I agree wholeheartedly with this philosophy.
I'm currently considered one of the top West Wind Web Connection developers in Canada. How did I acquire that distinction? I worked for the best within a solid management structure that develops its young talent..That and ummm no one wants to code in it.
thoughts, any one?
|
On April 10 2019 05:05 JimmyJRaynor wrote:Show nested quote +On March 23 2019 05:30 Blitzkrieg0 wrote:On March 23 2019 05:20 spinesheath wrote: Well, the thing is that junior developers produce worse (and often straight up bad) code than someone who has a couple years of experience. Unless you "architect" it down to a level of detail where they can't make any mistakes (at which point you probably could have implemented it yourself in that time), or spend lots of time on code reviews and code reviews of the changes that followed from those. Our entire profession has like 50% people with less than 5 years of experience. It's debatable whether we can even call it a profession. That's the problem with our profession though. How do you teach the new developers how to write better code without any code review? You don't just wake up one day writing good code. Find a good management structure that develops its young talent. Get hired by them. In the general business world its expressed this way: "Chase management ... not money. If you are working within a good management structure the money will come." I agree wholeheartedly with this philosophy. I'm currently considered one of the top West Wind Web Connection developers in Canada. How did I acquire that distinction? I worked for the best within a solid management structure that develops its young talent..That and ummm no one wants to code in it. thoughts, any one?
The west wind website really puts the sentence "Web Connection is a proven development platform that has been around since 1995..." into context lol
|
There's definitely a secondary problem where people who have never known good management don't actually know that it exists, or how to judge companies based on their management, nor are they in positions money wise to decline, or to leave after determining management is bad.
But yes, your absolute bottom bar for a job should be good management. And especially important for juniors to make sacrifices in other areas (money, location) to set yourself up in situations to have good management.
All the "major" tech companies have the same organizational (and promotional) structure, because frankly it works better at a large scale than any other structures. Which is, for intermediate and senior level promotions you must clearly demonstrate strong mentorship skills, either individually or for the organization, for juniors and your peers, therefore having mutually beneficial opportunities for juniors to learn from seniors.
|
If you're C++ developer and you wish to lose your mind, I recommend you to learn about the C++ washing machine. :D Joke? No, it's std::launder. I doubt you'll need it in your professional career though.
Also, it's good they made the method [[nodiscard]] (C++20) because this means that you MUST use the return value. It's like if you don't use the return value of std::move, it just doesn't make.
TLDR/Too complicated: As far as I understand it, if you use "new" to change value of a variable via its address, then compiler might apply optimisation and you could still get the old value or it's simply undefined behaviour. std::launder tells compiler not to optimise in that case.
|
I just wanted to share a video of this guy because I think he's hilarious:
+ Show Spoiler +
|
Thanks for the video, it feels like what I'm doing right now trying to learn "everything". Personally not considering learning everything but least as he described, learn how it works. I'm trying to main in Java and Spring framework in particular but lately found myself deeply invested in learning frontend on this channel: https://www.youtube.com/channel/UC80PWRj_ZU8Zu0HSMNVwKWw
This channel is just amazing, I have been frightened by Js in general and the only thing I knew is some basic syntax, I know nothing about NPM, Node, MongoDB, Angular, React... etc. Now I'm investing some time to learn about them and how they work, not aiming to build something outstanding but if I ever needed to work on these, I have some background that can help me start working.
Another thing is that I'm really your average uncreative unoriginal boring dude so even when I learn stuff and want to practice these, I cannot think of anything beyond the tutorial material. I'd love to create projects, I don't even aim to make money out of them yet, just want to practice by making stuff but my mind is blank and I cannot think of anything. Still trying to overcome this issue, if you have any ideas, please enlighten me
|
You can start by making a game. Tetris, snake, maybe a text based adventure, or football manager. Youll only need some graphics like javafx to get going. And there are plenty of guides out there as well. You can also make games in the browser if you want to use JS
|
|
|
|