Calling All Developers

see4

Well-Known Member
Just wanted to reach out and see who are the developers in RIU. What's your forte? Me...

Java, Python, C#, PHP, Flex, Ruby, and all the browser languages.. Javascript, Actionscript, blah blah.

I also dabbled in Objective C when experimenting writing iPhone apps... ugly syntax if you ask me..
 

ilikecheetoes

Well-Known Member
im a hack with PHP and html. i mainly copy paste but can get some pretty decent stuff going. At least I could a few years ago. Ive been farming all my programming work to some canadians lately as I hate it.
 

fb360

Active Member
Just wanted to reach out and see who are the developers in RIU. What's your forte? Me...

Java, Python, C#, PHP, Flex, Ruby, and all the browser languages.. Javascript, Actionscript, blah blah.

I also dabbled in Objective C when experimenting writing iPhone apps... ugly syntax if you ask me..
Nice, you have any sites out there?

I'm pretty similar.

My mains I use everyday are the browser languages:
PHP, ASP, .NET, JS, HTML, CSS. Php is my <3.

I also know:
C, C#, C++, Java, ANSProlog, Logix, a few other small languages.
 

heckler73

Well-Known Member
Is this thread too old to ask about Python?
I've installed Anaconda and have begun working through Python for Finance to learn how to apply the language and libraries (Numpy, SciPy, Pandas). Considering its efficiency at spitting out usable programs, I can see why it is popular with scientists and quants alike. What has surprised me is the rise of its use in quant circles especially. But I see it come up in experimental work as well. I particularly like the math functions...

I've been trying to work through tutorials on YTube, but they are fragmented. What is the best all-round resource for learning the language (v3.4)?

One thing I am also wondering is what limitations does Python have? @see4 what is your experience with it?
 

see4

Well-Known Member
Is this thread too old to ask about Python?
I've installed Anaconda and have begun working through Python for Finance to learn how to apply the language and libraries (Numpy, SciPy, Pandas). Considering its efficiency at spitting out usable programs, I can see why it is popular with scientists and quants alike. What has surprised me is the rise of its use in quant circles especially. But I see it come up in experimental work as well. I particularly like the math functions...

I've been trying to work through tutorials on YTube, but they are fragmented. What is the best all-round resource for learning the language (v3.4)?

One thing I am also wondering is what limitations does Python have? @see4 what is your experience with it?
What specifically are you looking for in Python? You mentioned finance, and you mentioned "quants", and therefore I assume you are looking to calculate percentages and do some math functions for averaging and what not. Python is ok with math, but other languages are better, for instance Java. What are "quant circles"? Is that like a fractal thing?

What are you looking to do? And why have you selected Python as your language of choice? Python has its pros, as well as its cons, just like every other language. It ALL depends on what you are trying to do with the language.

I've got a couple years experience with Python. I reverse engineered a scanner, wrote a Python library to re-engineer the device application to a bunch more functionality than originally intended. That project was bought by a big company and now Im leading and advising developers to make a production version.

Python, like Perl is a fantastic string manipulator, and can parse text like a beast. I hear its pretty darn good with fractals and Fibonacci sequencing, etc.. but I'm not exactly sure on the math.
 

heckler73

Well-Known Member
What specifically are you looking for in Python? You mentioned finance, and you mentioned "quants", and therefore I assume you are looking to calculate percentages and do some math functions for averaging and what not. Python is ok with math, but other languages are better, for instance Java. What are "quant circles"? Is that like a fractal thing?
"Quant circles" = sector of finance where nerds and scientists cook up programs and algorithms to rip off the market...err...I mean make "wise investment decisions" by "mitigating risk" through the use of data analysis in Python. I've been using Excel essentially, but want to do more complicated math and filter data more efficiently. Programming in VBA is not bad, but still clunky feeling to me.

:lol: while trying to find a good example video, I stumbled onto a vid from the guy who wrote this book :



What are you looking to do? And why have you selected Python as your language of choice? Python has its pros, as well as its cons, just like every other language. It ALL depends on what you are trying to do with the language.
I want to use it as a way to make prototype programs like ,
  • finding the angular frequency vs k-space data for a certain input of initial conditions and printing it on a nice graph of the 1st Brillouin Zone (I think the matplotlib is for that),
  • control my arduino for prototyping (a possible problem with Python 3.4, seems to need 2.7), and
  • tinker around with analyzing & displaying stock info.
I selected Python based on input from engineers I've discussed it with. But they don't smoke weed, so they aren't on here. :lol: Physicists around me use it, too. I'm sort of forced to learn Java on the side through programming the Arduino, as it is, in the native interface. But I mostly hack shit on there, and learn what I need when needed. I am not a "coder" in the proficient sense, at least not yet. ;) I will be taking a course in the summer either on Python or Java, but I am thinking I should probably take the Java course based on what I'm hearing from you and Doer, among others.

Python, like Perl is a fantastic string manipulator, and can parse text like a beast. I hear its pretty darn good with fractals and Fibonacci sequencing, etc.. but I'm not exactly sure on the math.
If it can handle fractals and Fibonacci, it can handle the math I'm interested in.
In this book I'm trying to learn from, it opens up with a Black-Scholes model in Python. So that's already some funky math incorporating the libraries I mentioned earlier (Scipy, mostly). I take it you never did any weird calculus with it?
 
Last edited:

see4

Well-Known Member
"Quant circles" = sector of finance where nerds and scientists cook up programs and algorithms to rip off the market...err...I mean make "wise investment decisions" by "mitigating risk" through the use of data analysis in Python. I've been using Excel essentially, but want to do more complicated math and filter data more efficiently. Programming in VBA is not bad, but still clunky feeling to me.

:lol: while trying to find a good example video, I stumbled onto a vid from the guy who wrote this book :





I want to use it as a way to make prototype programs like ,
  • finding the angular frequency vs k-space data for a certain input of initial conditions and printing it on a nice graph of the 1st Brillouin Zone (I think the matplotlib is for that),
  • control my arduino for prototyping (a possible problem with Python 3.4, seems to need 2.7), and
  • tinker around with analyzing & displaying stock info.
I selected Python based on input from engineers I've discussed it with. But they don't smoke weed, so they aren't on here. :lol: Physicists around me use it, too. I'm sort of forced to learn Java on the side through programming the Arduino, as it is, in the native interface. But I mostly hack shit on there, and learn what I need when needed. I am not a "coder" in the proficient sense, at least not yet. ;) I will be taking a course in the summer either on Python or Java, but I am thinking I should probably take the Java course based on what I'm hearing from you and Doer, among others.


If it can handle fractals and Fibonacci, it can handle the math I'm interested in.
In this book I'm trying to learn from, it opens up with a Black-Scholes model in Python. So that's already some funky math incorporating the libraries I mentioned earlier (Scipy, mostly). I take it you never did any weird calculus with it?

I'm quite familiar with Black-Scholes, I was a Finance double major in college. :-)

So, to this point, if you are only looking to do non-learning scripts, I think Python and Java are a bit of overkill. If you are using this to build models and test theories, you don't need multi threaded application speeds.

BUT, with that being said, you are tinkering with Arduino boards, which I then can assume you are tinkering with Android and/or some flavor of Linux. So this stuff isn't totally out there for you. So I'd say go for it if you like Python..

I've never done any weird math functions like Black-Scholes theorem, but I've used it to calculate associations between different indices of text with advance AI algorithms.

Now, with that being said, Python is not really a prototyping language like PHP or Ruby, or even Javascript (with Nodejs), unless you use libraries like Django. Now, if you have a set of math libraries that you would like to take advantage of, and they seem to only be in Python, well then, there is your answer. If not, and you think you might write your own advanced equations, then any language would do, including Javascript (with Nodejs). Why? Because it is waaaaay faster, in terms of scaffolding.
 

heckler73

Well-Known Member
I'm quite familiar with Black-Scholes, I was a Finance double major in college. :-)
I figured you had some finance in you, or else you wouldn't have such peculiar comprehension of economics. Now I understand why :lol:

Now, with that being said, Python is not really a prototyping language like PHP or Ruby, or even Javascript (with Nodejs), unless you use libraries like Django. Now, if you have a set of math libraries that you would like to take advantage of, and they seem to only be in Python, well then, there is your answer. If not, and you think you might write your own advanced equations, then any language would do, including Javascript (with Nodejs). Why? Because it is waaaaay faster, in terms of scaffolding.

The libraries are nice. I'm still only tinkering at this stage, anyway, so if I get into it, I'll get into it. But I can already see potential in using it to crank out these horridly tedious equations I have to deal with, especially since I am already familiar with LaTeX and Python uses the same "form" in equation writing. It may be a "toy" language, but it seems pretty damn powerful all around. As for speed though, I believe the math libraries help destroy that time issue, at least to the point of making it relatively moot (comparing C++ to Python comp times). Yes, if I write code using just the basic Python commands, it'll be slower, but I am not interested in measuring GHz noise, ATM, so I can get away with some minor millisecond differences. I'm also not interested in cranking out front-running algorithms or anything like that; just esoteric data analysis techniques. What I am trying to avoid is the plodding along that something like Excel has to do. Even using VBA, the turnover time for data processing is annoying. Is Python not going to be faster than that, at least, especially as the formulae get more complicated?


I was talking to the engineers again about it today, re: my Arduino hassles, and they said, in that case, I'm better off just hacking in the Arduino interface. Windows Py-Duino action is still sketchy...someone needs to cook up a proper library for it. All the more reason for me to take a course in Java, I suppose :mrgreen:
 

see4

Well-Known Member
I figured you had some finance in you, or else you wouldn't have such peculiar comprehension of economics. Now I understand why :lol:


The libraries are nice. I'm still only tinkering at this stage, anyway, so if I get into it, I'll get into it. But I can already see potential in using it to crank out these horridly tedious equations I have to deal with, especially since I am already familiar with LaTeX and Python uses the same "form" in equation writing. It may be a "toy" language, but it seems pretty damn powerful all around. As for speed though, I believe the math libraries help destroy that time issue, at least to the point of making it relatively moot (comparing C++ to Python comp times). Yes, if I write code using just the basic Python commands, it'll be slower, but I am not interested in measuring GHz noise, ATM, so I can get away with some minor millisecond differences. I'm also not interested in cranking out front-running algorithms or anything like that; just esoteric data analysis techniques. What I am trying to avoid is the plodding along that something like Excel has to do. Even using VBA, the turnover time for data processing is annoying. Is Python not going to be faster than that, at least, especially as the formulae get more complicated?

I was talking to the engineers again about it today, re: my Arduino hassles, and they said, in that case, I'm better off just hacking in the Arduino interface. Windows Py-Duino action is still sketchy...someone needs to cook up a proper library for it. All the more reason for me to take a course in Java, I suppose :mrgreen:
It sounds like you are on the right track. And it sounds like you sort of have your heart set on Python anyway, being that you are familiar with LaTeX. If you were to ask me how I would approach this project, I would likely use a scripting language such as Javascript or PHP to get the job done. It's so much faster to get up and running than Python. I'm assuming you will be attaching some sort of UI to this project?
 

heckler73

Well-Known Member
It sounds like you are on the right track. And it sounds like you sort of have your heart set on Python anyway, being that you are familiar with LaTeX. If you were to ask me how I would approach this project, I would likely use a scripting language such as Javascript or PHP to get the job done. It's so much faster to get up and running than Python. I'm assuming you will be attaching some sort of UI to this project?
Yes...all projects (except pure math crunching) should have a UI, from my perspective, if they are meant to be consumed regularly as opposed to one-shot deals. But could I not create GUIs with something like 'Processing' and then incorporate the programs from Python to be executed within that? Is that too messy? Am I asking for trouble? :lol:

Anyway, how did you learn Python? On your own or under regimental supervision?
And what is the deal with this schism between v2.7 and v3.X ?
 

see4

Well-Known Member
Yes...all projects (except pure math crunching) should have a UI, from my perspective, if they are meant to be consumed regularly as opposed to one-shot deals. But could I not create GUIs with something like 'Processing' and then incorporate the programs from Python to be executed within that? Is that too messy? Am I asking for trouble? :lol:

Anyway, how did you learn Python? On your own or under regimental supervision?
And what is the deal with this schism between v2.7 and v3.X ?
No you wouldn't use Processing to make GUIs. Processing is a pseudo language for scientific processing, like visualizing gravity or collision detection, etc. You would use HTML, CSS and Javascript to create GUIs, assuming this will be browser based server application as opposed to a desktop application, in which case you will use some flavor of wxPython if you are using Python.

Which leads me back to my original thought.. you may want to consider an "easier" language, because it doesn't sound like you "need" to use Python to its fullest extent, which is string manipulation.

I learned all programming on my own. I've never taken a single course in software development.

People are complaining that Python 3 is "too much", in that it is bloated. Python 2 was more lightweight and allowed for many more 3rd party libraries to be easily imported, and Python 3 that same import functionality has been broken. Therefore backwards compatibility is sort of out the window.
 

heckler73

Well-Known Member
Which leads me back to my original thought.. you may want to consider an "easier" language, because it doesn't sound like you "need" to use Python to its fullest extent, which is string manipulation.

I learned all programming on my own. I've never taken a single course in software development.

People are complaining that Python 3 is "too much", in that it is bloated. Python 2 was more lightweight and allowed for many more 3rd party libraries to be easily imported, and Python 3 that same import functionality has been broken. Therefore backwards compatibility is sort of out the window.

What would be an "easier" language in your estimation which fulfills my requirements? Is it Java?
 

see4

Well-Known Member
What would be an "easier" language in your estimation which fulfills my requirements? Is it Java?
Java would be one way. It could be done in PHP or Javascript. Just need to find the right libraries. Nodejs has an ass-ton of community driven libraries.
 

heckler73

Well-Known Member
Tough call...I can see PHP's value as a web developer tool (far more activity), but for my purposes...?

@see4 how did you set about learning Python? I presume it wasn't your first language.
 

see4

Well-Known Member
Tough call...I can see PHP's value as a web developer tool (far more activity), but for my purposes...?
@see4 how did you set about learning Python? I presume it wasn't your first language.
I have a very analytical mind, so programming comes naturally I suppose. Developing is about standards and methodologies, once you understand and know them, languages just become about syntax.

That being said, I set about to learn Python because it was required for the project. I needed Python to run some natural language processing tasks, and several open source libraries were written in Python to do said tasks. As I mentioned, Python is a very powerful string manipulation language, like Perl. I wrote several models that wrapped these libraries, and since I was writing models, I stayed with Python and wrote my application controllers in Python as well. Went with a Python template engine to run my HTML and Javascript for views. (Hint hint, MVC)
 

see4

Well-Known Member
Tough call...I can see PHP's value as a web developer tool (far more activity), but for my purposes...?
@see4 how did you set about learning Python? I presume it wasn't your first language.
Oh and dear lord god, don't choose Ruby or Rails to do this. If you go that route, just do Nodejs. Trust me.

Twitter used Ruby for a while, then had to jump ship because of scaling issues.
Facebook used PHP for a couple years, then wrote their own PHP-C like version called HipHop.
Instagram used Ruby, then bailed.

Google uses Python, Nodejs, Java, C, and some PHP. They avoid Ruby. Or at least they did in the past.
 

god1

Well-Known Member
Tough call...I can see PHP's value as a web developer tool (far more activity), but for my purposes...?
@see4 how did you set about learning Python? I presume it wasn't your first language.

What is the real application? You mention the Audrino platform and heavy canned math functions together.

Any high speed real time acquisition dsp stuff seems to negate the Audrino. Are you building a multi processor system with the Audrino as a display controller?

In any event it would seem hard to beat "C" or some variant with roll your own math functions for speed and efficiency with the Audrino.

If you're looking to post process data files, (non-real time), then I could understand the desire for higher level languages. But if it's real time acquisition/processing you're after, that's a different problem that will require some thought re hardware, firmware and software.

Just my two cents, good luck.
 
Top