Login required to started new threads

Login required to post replies

Prev Next
Re: Learning a programming language - what to pick [kostya416] [ In reply to ]
Quote | Reply
kostya416 wrote:
jkca1 wrote:

Every once in a while you get a real life changing possibility and this is yours. I believe that traditional programming as we have known it for the last 50+ years is going the way of the dodo, to be replaced by Artificial Programming Languages. AI is going to create brand new skill sets that we have not even considered yet. Every company developing AI is using a custom set of tools with some of the older programming languages/DB's. Which company do you want to work for? What do you really want to do there? Find out what languages/skills their best programmers have, read articles by the CIO. Run some Google searches. Or be bolder still and ask the questions in person. It's your life. Grab it by the balls. You don't want to be in a dead end job maintaining C++ code do you? It's a safe job, but the boredom will kill you. Ask any mainframe guy ;)


What a bunch of unsubstantiated propaganda. AI definitely has its uses and can show some amazing results but it does not come anywhere close to covering all the problems software industry is generally working on. Someone's having wet dreams

Unsubstantiated? You need to do some reading. Innovators like Elon Musk and Bill Gates haven spoken and written on the AI issue for years. You remind me of a blacksmith when he first saw a car, pure denial. True AI will change every way we live. We're in the embryonic stages of development. Just like we were when the first PC's hit the market, not too long ago. Show me an industry that has not changed due to computers and it will probably require a minimum education and a pool of cheap labor.

"The object of teaching a child is to enable the child to get along without the teacher. We need to educate our children for their future, not our past." Arthur C. Clarke.

"The great pleasure in life is doing what people say you cannot do."
Quote Reply
Re: Learning a programming language - what to pick [jkca1] [ In reply to ]
Quote | Reply
jkca1 wrote:
...You remind me of a blacksmith when he first saw a car, pure denial...

I develop software for living and familiar with AI. If it helps you I coded my first perceptron (hope you know what that is) some 30 years ago. I just do not run around like a headless chicken repeating someone else's sales pitch,
Quote Reply
Re: Learning a programming language - what to pick [kostya416] [ In reply to ]
Quote | Reply
kostya416 wrote:
jkca1 wrote:
...You remind me of a blacksmith when he first saw a car, pure denial...


I develop software for living and familiar with AI. If it helps you I coded my first perceptron (hope you know what that is) some 30 years ago. I just do not run around like a headless chicken repeating someone else's sales pitch,

I am not sure why you feel AI is a sales pitch, but I believe that eventually you will be proven wrong. You have to remember that the initial idea for the Internet "is credited to Leonard Kleinrock after he published his first paper entitled "Information Flow in Large Communication Nets" on May 31, 1961."

I am sure there were many people back then and later still, that felt the way you do about AI.

"The great pleasure in life is doing what people say you cannot do."
Quote Reply
Re: Learning a programming language - what to pick [347CX] [ In reply to ]
Quote | Reply
Another vote for python, but I would also add to not just jump in and start trying things. You can do that, and make a lot of progress, but your projects will be disorganized and poorly conceived and you’ll spend a lot of time doing things you don’t need to do. I’d definitely recommend running through a basic text like “learn python the hard way”. If you have any coding experience you can do it very quickly and it will set you up with a solid foundation to work with more complex packages and use them efficiently. Wish I’d done that through grad school - so much unnecessary pain!
Quote Reply
Re: Learning a programming language - what to pick [jkca1] [ In reply to ]
Quote | Reply
jkca1 wrote:
..I am not sure why you feel AI is a sales pitch...
AI is not. You are
Quote Reply
Re: Learning a programming language - what to pick [kostya416] [ In reply to ]
Quote | Reply
kostya416 wrote:
jkca1 wrote:
..I am not sure why you feel AI is a sales pitch...

AI is not. You are

Sigh.

"The great pleasure in life is doing what people say you cannot do."
Quote Reply
Re: Learning a programming language - what to pick [jkca1] [ In reply to ]
Quote | Reply
jkca1 wrote:

Unsubstantiated? You need to do some reading. Innovators like Elon Musk and Bill Gates haven spoken and written on the AI issue for years. You remind me of a blacksmith when he first saw a car, pure denial. True AI will change every way we live. We're in the embryonic stages of development. Just like we were when the first PC's hit the market, not too long ago. Show me an industry that has not changed due to computers and it will probably require a minimum education and a pool of cheap labor.

"The object of teaching a child is to enable the child to get along without the teacher. We need to educate our children for their future, not our past." Arthur C. Clarke.

I think you may be misinterpreting the hype. As I interpret Musk's statements on AI, true AI is something to be fearful of because it is largely unpredictable. Once it is established there is absolutely no basis to believe that it can be controllable by humans. The premise of Terminator is AI run amuck, which although fictional in the movie is completely plausible. I predict within the next 10 years (well before we can achieve AI), there will be a major cyber attack or disruption based on the internet of things and interconnection that will cause a huge paradigm shift in thinking about the benefit of networking everything together as compared to the possible bad outcomes. Up until now we have seem a predominant benefit, however because of the overall power of such systems, huge catastrophe is possible, it is only a matter of time. Once we see the consequences of this event, and put that together with AI being an even greater power I think we logically determine the AI singularity must be prevented because it is too dangerous. This goes way beyond the threshold into the nuclear era we have been living in for the past 70 years. Think about how Hiroshima and Nagasaki changed the world, we have not had the equivalent event for networks/computers. Black Friday and the flash crash are just minor glitches that hint at what could happen.

I think an entirely plausible scenario is for practical ethical reasons we decide AI cannot be allowed because it is too much of a Pandora's box. So it is hype in the sense that there is a strong possibility that even if it is possible we never use it.

AI is basically the equivalent of a god-like intelligence. Even though it would be based on human technology, at some level following it would be no different than a religion from a philosophical point of view. In this respect it's a weird paradox.
Quote Reply
Re: Learning a programming language - what to pick [347CX] [ In reply to ]
Quote | Reply
One more vote for python from another math/computer science nerd (turned biomedical informaticist). My initial training was C/C++ which is only doable if you understand computer architecture and some OS, which is why the old school CS folks would typically do Architecture (Usually the brick written by Tanenbaum) followed by Unix and C/C++. It’s painful somewhat but fun.

With python you can do stuff fast and ignore how things are run in the background, ignore compiler stuff, don’t have to worry about memory management etc.

I’d suggest Golang as an alternative if you want to move to C/C++ later.
Quote Reply
Re: Learning a programming language - what to pick [tri_yoda] [ In reply to ]
Quote | Reply
The funny thing is that when people say AI these days, they’re really referring to a very small subset of AI (typically machine learning which encompasses both reinforcement learning and deep learning).

I do this for a living. Applied to biomedical questions. And we are still pretty far from terminator. But we are doing some pretty cool stuff. Google health published in nature on Wednesday a study where their DL tool has better detection of breast cancer than radiologists (in reality, the bar was somewhat low, but still). It has fewer false positives and negatives too.

But all in all we are far from passing the Turing test. And despite Peter Norvig being at google all the efforts are on deep learning and not really broad AI anymore.

There is definitely some hype though.
Quote Reply
Post deleted by spudone [ In reply to ]
Re: Learning a programming language - what to pick [ In reply to ]
Quote | Reply
Just a quick update on this. I've been messing around with Python as recommended by many. With the long weekend and my wife out of town and my son being sick I got to messing around with Strava API and Python, because who cares about the basics when you can just dive in and start messing stuff up, right?? lol

Fortunately there's stravalib which made the work "easy" and over the course of a couple of days I figured out how to get an access token to get my data through API and pull multiple streams of data into individual files. My next challenge is fixing the json files with the ride data (time, watts, and heartrate) to properly format so I can graph data. If anyone has any tips I'll take them!
Quote Reply
Re: Learning a programming language - what to pick [347CX] [ In reply to ]
Quote | Reply
347CX wrote:
Just a quick update on this. I've been messing around with Python as recommended by many. With the long weekend and my wife out of town and my son being sick I got to messing around with Strava API and Python, because who cares about the basics when you can just dive in and start messing stuff up, right?? lol

Fortunately there's stravalib which made the work "easy" and over the course of a couple of days I figured out how to get an access token to get my data through API and pull multiple streams of data into individual files. My next challenge is fixing the json files with the ride data (time, watts, and heartrate) to properly format so I can graph data. If anyone has any tips I'll take them!

I'd love to see your code on that. I hadn't thought about playing with Strava, but that could be a fun project. Did you put it up in Github or another repo that is available to the public?
Quote Reply
Re: Learning a programming language - what to pick [347CX] [ In reply to ]
Quote | Reply
347CX wrote:
Just a quick update on this. I've been messing around with Python as recommended by many. With the long weekend and my wife out of town and my son being sick I got to messing around with Strava API and Python, because who cares about the basics when you can just dive in and start messing stuff up, right?? lol

Fortunately there's stravalib which made the work "easy" and over the course of a couple of days I figured out how to get an access token to get my data through API and pull multiple streams of data into individual files. My next challenge is fixing the json files with the ride data (time, watts, and heartrate) to properly format so I can graph data. If anyone has any tips I'll take them!

I'd suggest using pandas for getting the data into a dataframe and then using your preferred plotting library. Pandas is well worth learning if you ever want to get into the data science side of things. For plotting, I personally prefer plotly because I can make interactive javascript plots with it while only needing to program in python. That said, matplotlib (I'd suggest also getting seaborn), bokeh, and pyqtgraph are also good.
Quote Reply
Re: Learning a programming language - what to pick [riotgear] [ In reply to ]
Quote | Reply
Yeah, I've got pandas and put the data stream into a dataframe. The snag I'm encountering is that the stream is being pulled as a dictionary first, so brief example {"time":{"0"[0, 1, 2]}, "watts":{"0"[164, 156, 157]} }, and the issue is that all the time, watts, and heartrate data are being put into individual cells in excel/csv. So columns time, watts, heartrate, and one row 0 (hope that makes sense). If the structure could be {"time":[0,1,2], "watts":[164, 156, 157]} it would deliver the output in a way that can be used for plotting. So that's my newbie hurdle at the moment lol

I haven't gotten my stuff on github, but stravalib is located here https://github.com/hozn/stravalib and has a lot of documentation to it
Quote Reply
Re: Learning a programming language - what to pick [347CX] [ In reply to ]
Quote | Reply
347CX wrote:
Yeah, I've got pandas and put the data stream into a dataframe. The snag I'm encountering is that the stream is being pulled as a dictionary first, so brief example {"time":{"0"[0, 1, 2]}, "watts":{"0"[164, 156, 157]} }, and the issue is that all the time, watts, and heartrate data are being put into individual cells in excel/csv. So columns time, watts, heartrate, and one row 0 (hope that makes sense). If the structure could be {"time":[0,1,2], "watts":[164, 156, 157]} it would deliver the output in a way that can be used for plotting. So that's my newbie hurdle at the moment lol

I haven't gotten my stuff on github, but stravalib is located here https://github.com/hozn/stravalib and has a lot of documentation to it


It's hard to tell what the dictionary looks like. Based on what you wrote, my first impression would be to read the dictionary as a string and strip out a few things like the '{"0"' so that would be something like a str.replace('{"0"',""). You'd have to strip up out the trailing brace as well. str.replace("]}","]"). That would leave the data as a list which ought to be easier to deal with.

That said, there's probably a cleaner way to do this rather than dealing with replacing characters in a string.
Last edited by: riotgear: Jan 21, 20 8:42
Quote Reply
Re: Learning a programming language - what to pick [riotgear] [ In reply to ]
Quote | Reply
I think I figured something out, I'm sure it's inelegant though lol Basically I had the individual data stream dictionaries sent to different dataframes, renamed keys and columns and merged the dataframes into a merged dataframe then send to csv.

Gonna try some plotting and see how it goes!
Quote Reply
Re: Learning a programming language - what to pick [riotgear] [ In reply to ]
Quote | Reply
riotgear wrote:

That said, there's probably a cleaner way to do this rather than dealing with replacing characters in a string.

Straying dangerously close to https://blog.codinghorror.com/...u-have-two-problems/ ☺️
Quote Reply
Re: Learning a programming language - what to pick [ In reply to ]
Quote | Reply
Just wanted to update, hopefully someone finds this interesting! I'm continuing to learn, I've migrated a bit more to using fit files using fitparse rather than the strava API for now. I'm doing more in Django, really going in with developing a PMC site, nothing like reinventing the wheel to do something I already have free access to in a bunch of places! lol But it's a good project based approach to learning is how I figure it.

I've got a couple of challenges I'm trying to work on: one is writing fitfiles to a model. I can save the actual file to the database (it generates a link to it), and I can even parse the file upon upload and write some summary stats (IF, TSS, NP) to another model, but when writing the files contents to the database, the only option I currently have working writes each sample to its own object in the model, when (in my mind) the ride itself should be the object with all the data inside the object. There's definitely something I'm missing in trying to get the fit file data (passed into a Pandas dataframe) formatted in such a way that makes this work.

I'm also working with listview and detailview in Django so I'm trying to get it so the detailview will bring up ride analysis. I think I actually have enough to go on that I could do a PMC since I do have the other model with summary stats, but I'm trying to work out accessing individual ride files for detailed analysis.

Anyhow, I started a public github and trying to get folks to contribute code (and include some myself) to help new folks put together their own thing. If anyone wants to contribute, feel free! https://github.com/pgp80/cycling-coders
Quote Reply
Re: Learning a programming language - what to pick [347CX] [ In reply to ]
Quote | Reply
Here's what I would do... Parse .fit files as JSON and store them to a document database such as MongoDB. Look it up :)

347CX wrote:
Just wanted to update, hopefully someone finds this interesting! I'm continuing to learn, I've migrated a bit more to using fit files using fitparse rather than the strava API for now. I'm doing more in Django, really going in with developing a PMC site, nothing like reinventing the wheel to do something I already have free access to in a bunch of places! lol But it's a good project based approach to learning is how I figure it.
I've got a couple of challenges I'm trying to work on: one is writing fitfiles to a model. I can save the actual file to the database (it generates a link to it), and I can even parse the file upon upload and write some summary stats (IF, TSS, NP) to another model, but when writing the files contents to the database, the only option I currently have working writes each sample to its own object in the model, when (in my mind) the ride itself should be the object with all the data inside the object. There's definitely something I'm missing in trying to get the fit file data (passed into a Pandas dataframe) formatted in such a way that makes this work.

I'm also working with listview and detailview in Django so I'm trying to get it so the detailview will bring up ride analysis. I think I actually have enough to go on that I could do a PMC since I do have the other model with summary stats, but I'm trying to work out accessing individual ride files for detailed analysis.

Anyhow, I started a public github and trying to get folks to contribute code (and include some myself) to help new folks put together their own thing. If anyone wants to contribute, feel free! https://github.com/pgp80/cycling-coders

What's your CdA?
Quote Reply
Re: Learning a programming language - what to pick [G. Belson] [ In reply to ]
Quote | Reply
I'll look into it, I have figured out stuff (I'm just running the fitparse code in a function under detailview in Django), but I'm sure there are much better ways to do what I'm doing, I'm just bumbling my way through, but it's working! So now I can click on a ride from the listview and get a graph and summary statistics in the detail window (combining models in one view, how expert! lol). I'm adding a power duration curve now. I'm having fun, for sure!
Quote Reply
Re: Learning a programming language - what to pick [jkca1] [ In reply to ]
Quote | Reply
jkca1 wrote:
shoff14 wrote:
jkca1 wrote:
andrewjshults wrote:
jkca1 wrote:
347CX wrote:
I kind of want to learn a programming language in 2020 and not really sure which to really go with. I took a Java course in 1999 and know html and have very basic Access/sql abilities so I wouldn’t be a complete novice. Not even sure what I would want to do with it, but I suppose maybe I could do something with cycling files, so whatever would make it easier to work with fit files and whatever would be cool.

So what to go with?


Every once in a while you get a real life changing possibility and this is yours. I believe that traditional programming as we have known it for the last 50+ years is going the way of the dodo, to be replaced by Artificial Programming Languages. AI is going to create brand new skill sets that we have not even considered yet. Every company developing AI is using a custom set of tools with some of the older programming languages/DB's. Which company do you want to work for? What do you really want to do there? Find out what languages/skills their best programmers have, read articles by the CIO. Run some Google searches. Or be bolder still and ask the questions in person. It's your life. Grab it by the balls. You don't want to be in a dead end job maintaining C++ code do you? It's a safe job, but the boredom will kill you. Ask any mainframe guy ;)


What languages would you put into the Artificial Programming Languages bucket? Something like CUDA (not really a language, but close)? Major ML projects are still being written in C++ (e.g., tensorflow - https://github.com/tensorflow/tensorflow ) so I'm not sure I'd throw C++ into the EOL bucket, just yet.


Great question. You could put them all in, but what's really going to be the next big thing(s)? I learned C++ in the mid 1980's, I wouldn't want my kids to spend much time learning it. Architectures for AI are in flux. Google uses the algorithm RankBrain and Knowledge Graph, but try finding any architectural material that explains the details. Python, R and Haskell have possibilities. The definitive AI language may not have been written yet, which is why we don't have true AI. Or perhaps it's the hardware...or lack of it. Cool questions to ponder but a bit nerdy.... ;)


I have a group coming from Europe in a couple of weeks to discuss robot implementation for a couple of processes. I will ask them what programming language they are using in the background of their AI software.


Very cool. I am looking forward to your reply.

Great thread. One thing to consider, depending on your age/what you want to do: "Expert" C++ are becoming few & far between, especially in fly-over country, and there are a LOT of companies still using "solid" legacy platforms straight out of the late 1990s. My wife works for one of them--publicly traded, reasonably high profile, but still using archaic platforms/technology "because that is how they have always done it". As the generation that knew/grew C++ goes away, there is going to be a serious need for experts, especially in the financial services industry (looking at you local/regional banks & CUs).

____________
"There are two novels that can change a bookish fourteen-year old's life: The Lord of the Rings and Atlas Shrugged. One is a childish fantasy that often engenders a lifelong obsession with its unbelievable heroes, leading to an emotionally stunted, socially crippled adulthood, unable to deal with the real world. The other, of course, involves orcs." John Rogers
Quote Reply
Re: Learning a programming language - what to pick [347CX] [ In reply to ]
Quote | Reply
If you can do Python and SQL and have some working knowledge of AWS or GCP - you should have no shortage of work.

Next races on the schedule: none at the moment
Quote Reply
Re: Learning a programming language - what to pick [347CX] [ In reply to ]
Quote | Reply
How is it going for you now? Are you a pro already? I've started with the python so many times and always giving up for some reason. Laziness? Any tips?
Quote Reply
Re: Learning a programming language - what to pick [MitchMcCrown] [ In reply to ]
Quote | Reply
Just replying to the last post...

I learned PASCAL on a mainframe in the 80's. Later I learned C++ (Borland's version). For the last 20 years all I've used is MS Visual Basic for applications in Excel.

Unless you plan to work in the profession Visual Basic is all you need in business.

"...the street finds its own uses for things"
Quote Reply
Re: Learning a programming language - what to pick [AutomaticJack] [ In reply to ]
Quote | Reply
AutomaticJack wrote:
Just replying to the last post...

I learned PASCAL on a mainframe in the 80's. Later I learned C++ (Borland's version). For the last 20 years all I've used is MS Visual Basic for applications in Excel.

Unless you plan to work in the profession Visual Basic is all you need in business.

I learned PASCAL on a mainframe in the 70s. Before that it was PL/C (on punch cards), and before that it was BASIC (on paper tape). Then programmed professionally using HP Assembly language, BASIC, compiled BASIC, C, C++, Objective-C, SmallTalk, Java, Perl, and Python. Not listing scripting languages like JavaScript.

I'm now retired.

----------------------------------
"Go yell at an M&M"
Quote Reply

Prev Next