BitShares Forum

Main => General Discussion => Topic started by: fuzzy on August 27, 2015, 06:40:04 pm

Title: Code Academy Learning Path?
Post by: fuzzy on August 27, 2015, 06:40:04 pm
I am planning to start a weekly Study Group where members of the community can join and learn to code together once a week.  Naturally there will be time to do it on one's own (without the group) as well, but I think it helps to have a weekly group for the same purpose. 

My questions, though, are:
A) does https://www.codecademy.com/learn have a particular learning path that would be most beneficial to our ecosystem?
B) are there any of these subjects that are low on the list of priorities?  High on the list?

I spoke with kencode a bit about this, and walked away thinking html/css/javascript would be the way forward.  This is because once a little learning crew gains a solid level of understanding of how to work with those, they will be able to work learn react.js--which is apparently where we need to go.  I am interested in others' thoughts though as well, of course.  :)
Title: Re: Code Academy Learning Path?
Post by: puppies on August 27, 2015, 06:45:48 pm
Very nice fuzzy.   I would love to take part.  I have taken most of those courses on code academy already, but would love to go through them again and have crypto fanatics to discuss them with.  I am a learn by doing type of guy and if I don't have a fun reason to use the skills I end up not retaining them.  I have also heard good things about http://exercism.io/ but have never gotten too far into it. 
Title: Re: Code Academy Learning Path?
Post by: lafona on August 28, 2015, 04:20:04 am
I would also be interested in joining. I am curious what skills/languages might be the best or easiest to pick up, which could be used to help the community. I have also started looking at http://www.theodinproject.com but haven't gotten past the first few intro lessons.
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on August 28, 2015, 04:22:55 am
I would participate.
Title: Re: Code Academy Learning Path?
Post by: Tuck Fheman on August 28, 2015, 04:38:49 am
I'm down for css/javascript.
Title: Re: Code Academy Learning Path?
Post by: mike623317 on August 28, 2015, 04:54:57 am
 +5% fuzzy.
I will join up for this, especially with learning any skills that can be put to work on the project immediately.
Title: Re: Code Academy Learning Path?
Post by: JWF on August 28, 2015, 05:00:48 am
I'll participate as I think this might actually get me to complete some courses and learn coding finally. I keep starting them but end up getting distracted with life.
Title: Re: Code Academy Learning Path?
Post by: xeroc on August 28, 2015, 06:01:51 am
I could give an introduction on how to use websockets with js if you are interested
Title: Re: Code Academy Learning Path?
Post by: fuzzy on August 28, 2015, 06:11:48 am
Very nice fuzzy.   I would love to take part.  I have taken most of those courses on code academy already, but would love to go through them again and have crypto fanatics to discuss them with.  I am a learn by doing type of guy and if I don't have a fun reason to use the skills I end up not retaining them.  I have also heard good things about http://exercism.io/ but have never gotten too far into it.

I would also be interested in joining. I am curious what skills/languages might be the best or easiest to pick up, which could be used to help the community. I have also started looking at http://www.theodinproject.com but haven't gotten past the first few intro lessons.

Both of these sites look good too. Now the question I'd ask now is whether those sites give points for learning?
Title: Re: Code Academy Learning Path?
Post by: puppies on August 28, 2015, 06:13:30 am
I could give an introduction on how to use websockets with js if you are interested

I would very much appreciate that. 
Title: Re: Code Academy Learning Path?
Post by: fuzzy on August 28, 2015, 06:15:47 am
I could give an introduction on how to use websockets with js if you are interested
We have a big blue button server on standby just waiting for people who want to teach.  :)

My thinking is we put up content like that on a separate portion of beyond bitcoin.
Title: Re: Code Academy Learning Path?
Post by: pal on August 28, 2015, 07:08:12 am
Brilliant idea! I started to learn to code over year ago, because of bitshares and crypto in general. I would glad to do it together!

I knew some Python, JavaScript, HTML/CSS, and jQuery in process.  I want to apply this skill in some way in real world and maybe it would be beneficial for community. So, I think, that we not only need to learn together, but also build some simple project together. That way we will learn from each other and maybe create something useful for community.

But I really don't know there to start. Maybe someone has idea?

Only real opportunity I see for now is  development of Bitshares Wallet, maybe we as newbies could't help much, but we can review, test, find bugs and discuss with each other how it all works.
Title: Re: Code Academy Learning Path?
Post by: MJK on August 28, 2015, 12:40:14 pm
I could give an introduction on how to use websockets with js if you are interested
We have a big blue button server on standby just waiting for people who want to teach.  :)

My thinking is we put up content like that on a separate portion of beyond bitcoin.

This is a great idea that will help gel the community in my opinion.
A really nice idea that can help bridge the gap between non-technical investors and developers.
Theres no reason anyone can't learn these skills right now, but the issue i have always found is the best way to get started.
Title: Re: Code Academy Learning Path?
Post by: EstefanTT on August 28, 2015, 01:17:24 pm
That's an awsome idea Fuzzy.

I learned some AutoHotKey to build scripts to play faster when multitabling poker.
In june I learned how to build a website from scratch with HTML and CSS. (A new BitShares French ConneXion is about to be released)

I would love to keep learning !
You can count me in !!!
Title: Re: Code Academy Learning Path?
Post by: xeroc on August 28, 2015, 01:27:06 pm
I could give an introduction on how to use websockets with js if you are interested
We have a big blue button server on standby just waiting for people who want to teach.  :)

My thinking is we put up content like that on a separate portion of beyond bitcoin.
What do I need to do then?
Title: Re: Code Academy Learning Path?
Post by: JA on August 28, 2015, 03:08:03 pm
if you need the bbb server up just pm me
you need firefox and flash installed in order to use all functions....doesnt work eith chrome
Title: Re: Code Academy Learning Path?
Post by: Thom on August 28, 2015, 04:19:06 pm
I could give an introduction on how to use websockets with js if you are interested

I would very much appreciate that.

As would I. I'd also like to see an introduction to react.js.

Of course the area of focus needs to be catered to where on the coding learning curve everyone is. Fuzzy, have you published prerequisites to address that, or does code academy address that well? It seems like it would be difficult for participants to make much progress if some don't have even a basic level of understanding about programming like if-then-else, or what objects are or different approaches to programming in general like sequential / structured programming vs. an object oriented approach.
Title: Re: Code Academy Learning Path?
Post by: EstefanTT on August 28, 2015, 04:50:10 pm
Good point, we need to define where the learning starts, what is the basic knowledge require to be able to keep up from the beginning.
I know mine is not very deep so, depending on what are the basics,  I would have to study a bit before to start.
Title: Re: Code Academy Learning Path?
Post by: fuzzy on August 28, 2015, 07:31:07 pm
I could give an introduction on how to use websockets with js if you are interested

I would very much appreciate that.

As would I. I'd also like to see an introduction to react.js.

Of course the area of focus needs to be catered to where on the coding learning curve everyone is. Fuzzy, have you published prerequisites to address that, or does code academy address that well? It seems like it would be difficult for participants to make much progress if some don't have even a basic level of understanding about programming like if-then-else, or what objects are or different approaches to programming in general like sequential / structured programming vs. an object oriented approach.

Nope not defined.  Anyone can join and learn what they want to learn, but we have a group that gets together so there are many participants who can help each other when one is stuck.  I think naturally some groups off varying levels of understanding will form

I personally have made basic websites, for instance, but I'm going to start at the beginning of html/css and then likely move to Javascript.  I'm going to start from the beginning. I'm actually also kicking around the idea of distributing a learning coin of some sort to those who join us, too.  It can be done based on the skill points and badges earned in codeacademy.com (why I asked if the other sites have point systems implemented).
Title: Re: Code Academy Learning Path?
Post by: emailtooaj on August 28, 2015, 11:37:26 pm
I don't know a damn thing about coding. Would this be something I could join in on?


Sent from my iPhone using Tapatalk
Title: Re: Code Academy Learning Path?
Post by: fuzzy on August 29, 2015, 03:43:03 am
I don't know a damn thing about coding. Would this be something I could join in on?
Sent from my iPhone using Tapatalk

Yes. The intention is to increase our own individual and collective intrinsic value to the space.  If we form groups and teams from it who share work and rewards on projects someday then that is even better. :)
Title: Re: Code Academy Learning Path?
Post by: Fox on August 29, 2015, 04:26:29 am
@Fuzzy @All,

My comments below should not be viewed as downplaying the direction of this thread thus far.

I am personally more interested in learning the Graphine codebase than various frameworks. A daunting goal, as I'm not aware of a 'learning path' outlined for BitShares. I feel this community will benefit greatly from a deeper understanding of how the toolkit that BitShares revolves around functions.

I understand documentation exists in the form of blog posts, a wiki, and even sparsely within the code itself on various BitShares technology features. However, I feel a deeper dive and trace of the code will provide benefits to new potential developers looking to build solutions for the ecosystem and for existing advocates to speak intelligently about the features and functionality available.

How To Topics in a peer lead learning environment may include: using FC and its features, constructing a transaction and understanding its data structure, creating a multisig wallet, hierarchical account maintenance and various market functions.

I am willing to participate in this type of collaborative learning, though I am not qualified to lead the coursework. Surely I can assist outlining a ciriculum.

Best,
Fox
Title: Re: Code Academy Learning Path?
Post by: lil_jay890 on August 29, 2015, 06:59:26 am
@Fuzzy @All,

My comments below should not be viewed as downplaying the direction of this thread thus far.

I am personally more interested in learning the Graphine codebase than various frameworks. A daunting goal, as I'm not aware of a 'learning path' outlined for BitShares. I feel this community will benefit greatly from a deeper understanding of how the toolkit that BitShares revolves around functions.

I understand documentation exists in the form of blog posts, a wiki, and even sparsely within the code itself on various BitShares technology features. However, I feel a deeper dive and trace of the code will provide benefits to new potential developers looking to build solutions for the ecosystem and for existing advocates to speak intelligently about the features and functionality available.

How To Topics in a peer lead learning environment may include: using FC and its features, constructing a transaction and understanding its data structure, creating a multisig wallet, hierarchical account maintenance and various market functions.

I am willing to participate in this type of collaborative learning, though I am not qualified to lead the coursework. Surely I can assist outlining a ciriculum.

Best,
Fox

I think we are talking more about learning to code rather than learning to utilize graphene.  Many need the basics taught first before they can move on to making direct Bitshares programs.
Title: Re: Code Academy Learning Path?
Post by: fuzzy on August 29, 2015, 07:11:39 am
@Fuzzy @All,

My comments below should not be viewed as downplaying the direction of this thread thus far.

I am personally more interested in learning the Graphine codebase than various frameworks. A daunting goal, as I'm not aware of a 'learning path' outlined for BitShares. I feel this community will benefit greatly from a deeper understanding of how the toolkit that BitShares revolves around functions.

I understand documentation exists in the form of blog posts, a wiki, and even sparsely within the code itself on various BitShares technology features. However, I feel a deeper dive and trace of the code will provide benefits to new potential developers looking to build solutions for the ecosystem and for existing advocates to speak intelligently about the features and functionality available.

How To Topics in a peer lead learning environment may include: using FC and its features, constructing a transaction and understanding its data structure, creating a multisig wallet, hierarchical account maintenance and various market functions.

I am willing to participate in this type of collaborative learning, though I am not qualified to lead the coursework. Surely I can assist outlining a ciriculum.

Best,
Fox

I think we are talking more about learning to code rather than learning to utilize graphene.  Many need the basics taught first before they can move on to making direct Bitshares programs.

This ^^

But fox is also on point when he says we need to have the availability of that material for those who are advanced enough to start wanting to mess around with it.  This is the first steps of that process imho.  Id like someone to run a "course" (aka a walkthrough) live to walk people through how to set up and update a delegate as well as a number of best practices.  I'd definitely be interested in getting someone to do that because as more DPoS chains start popping up I want the community to all have the opportunity to try to work for them in some way. 
Title: Re: Code Academy Learning Path?
Post by: Tuck Fheman on September 30, 2015, 06:15:39 pm
watch out werld ima fuck some shit up now! i'm certified as, "knows enough to be dangerous".  :P

(http://i.imgur.com/7kybfeL.jpg)

i haz 1 skillz  :-\

Title: Re: Code Academy Learning Path?
Post by: Tuck Fheman on September 30, 2015, 06:42:09 pm
(http://i.imgur.com/m1jlcw2.jpg)

Which should I learn a little of next?
Title: Re: Code Academy Learning Path?
Post by: Thom on September 30, 2015, 10:22:46 pm
(http://i.imgur.com/m1jlcw2.jpg)

Which should I learn a little of next?

Way 2 go dude!  I dunno what path is best for you, but those 6 squares are all excellent choices. Unless you're bored or want a change I think a good path is to continue on to the right and move to the next line when you finish javascript and jquery. All 3 of the first line are much more closely related than the items on the second line, all being a family of web development essentials. The second line is more generalized programming, tho php is highly web centric.

Any choice of the 6 is good, you've done well.

Mind if I ask what age bracket are you in?
Title: Re: Code Academy Learning Path?
Post by: Tuck Fheman on September 30, 2015, 10:29:58 pm
Way 2 go dude!  I dunno what path is best for you, but those 6 squares are all excellent choices. Unless you're bored or want a change I think a good path is to continue on to the right and move to the next line when you finish javascript and jquery. All 3 of the first line are much more closely related than the items on the second line, all being a family of web development essentials. The second line is more generalized programming, tho php is highly web centric.

Any choice of the 6 is good, you've done well.

Cool, that's what I shall do, thanks!

Mind if I ask what age bracket are you in?

[age]Tuck Fheman[/age]  <-- this one currently.  ;)

Title: Re: Code Academy Learning Path?
Post by: fuzzy on October 02, 2015, 06:49:26 am
I am preparing to send out an email to all who were interested in this. 
Just wanted to let you all know I would like to be able to get permission to distribute some brownies to those who complete certain tasks that will benefit our ecosystem.  So if you are interested in this and think it would A) improve your motivation, B) improve your loyalty to building future tools and trinkets to improve bitshares, I would love if you would kindly consider sending BM (cc stan) with a message showing him the link to this post.  :)

I'll gladly disburse them until such a time as we can make it more decentralized (other volunteers who are better suited take my place).  Regardless, I don't think we need to take a specific path, but it could be helpful to have groups to talk about problems we each are having when we reach roadblocks. 
Title: Re: Code Academy Learning Path?
Post by: fuzzy on October 02, 2015, 06:53:07 am
@Fuzzy @All,

My comments below should not be viewed as downplaying the direction of this thread thus far.

I am personally more interested in learning the Graphine codebase than various frameworks. A daunting goal, as I'm not aware of a 'learning path' outlined for BitShares. I feel this community will benefit greatly from a deeper understanding of how the toolkit that BitShares revolves around functions.

I understand documentation exists in the form of blog posts, a wiki, and even sparsely within the code itself on various BitShares technology features. However, I feel a deeper dive and trace of the code will provide benefits to new potential developers looking to build solutions for the ecosystem and for existing advocates to speak intelligently about the features and functionality available.

How To Topics in a peer lead learning environment may include: using FC and its features, constructing a transaction and understanding its data structure, creating a multisig wallet, hierarchical account maintenance and various market functions.

I am willing to participate in this type of collaborative learning, though I am not qualified to lead the coursework. Surely I can assist outlining a ciriculum.

Best,
Fox

Though I fully agree with you, @Fox, I feel like we are unfortunately probably a good year away from having solid enough documentation for everything Graphene unless there is a strong initiative to push it forward.  I would LOVE to lead it, but unfortunately that would be an area too far out of my realm.  I have a solid high level understanding of tech (got an IT degree) but don't tinker too much in the deep stuff yet. 

Now with that said, this might also be an initiative that would be Brownie-licious.
Title: Re: Code Academy Learning Path?
Post by: Thom on October 25, 2015, 02:25:50 am
FYI - I have tried throughout the day to access the python and angularjs courses with timeouts in every case. The codecademy site is up but not the courses it seems. Also tried the "Sign up" button in the top right with the same timeout.

There are plenty of similar resources on the net, just thought I'd give that one a go to be on the same page as everyone else & see how good it was. Oh well, so much for that idea!
Title: Re: Code Academy Learning Path?
Post by: fuzzy on October 25, 2015, 05:04:27 pm
Codeacademy is amazing.  Being free, some courses may be works in progress.  I still want to get something put together with respect to this, but it had to be put on the backburner since noone was interested in sitting in at various times throughout the week to help
Newbies who are stuck. 

Im still in love with the idea and have a room specifically for it in the beyond bitcoin slack.  If anyone is interested in forming up, message me with your email address and ill add you to it.  :)

Sometimes i have ideas waiting for others to pick up simply due to time constraints.  But this one would be very powerful if the community were interested.  Heck, id even pay people be there for community members stuck on this stuff in brownies. 
Title: Re: Code Academy Learning Path?
Post by: puppies on October 25, 2015, 05:12:11 pm
Codeacademy is amazing.  Being free, some courses may be works in progress.  I still want to get something put together with respect to this, but it had to be put on the backburner since noone was interested in sitting in at various times throughout the week to help
Newbies who are stuck. 

Im still in love with the idea and have a room specifically for it in the beyond bitcoin slack.  If anyone is interested in forming up, message me with your email address and ill add you to it.  :)

Sometimes i have ideas waiting for others to pick up simply due to time constraints.  But this one would be very powerful if the community were interested.  Heck, id even pay people who hold big blue button server hangouts to teach this stuff to our community in brownies.

Please invite me to the slack.

I wish I was advanced enough to teach.  I will provide any help to newbies that I can, but I am would not be willing to charge for that, as I am pretty much a newbie myself.
Title: Re: Code Academy Learning Path?
Post by: Thom on October 25, 2015, 08:19:20 pm
Not much sense in promoting a school that can't keep it's site operational. Please check and see if you can access any of the courses, particularly the python course.
Title: Re: Code Academy Learning Path?
Post by: JWF on October 25, 2015, 08:24:16 pm
Not much sense in promoting a school that can't keep it's site operational. Please check and see if you can access any of the courses, particularly the python course.

I just logged in and am able to access the Python course. I am currently in the "practice makes perfect" part of the Loops section. Everything loads fine for me, Win7 / Firefox.
Title: Re: Code Academy Learning Path?
Post by: Tuck Fheman on October 25, 2015, 08:47:55 pm
Not much sense in promoting a school that can't keep it's site operational. Please check and see if you can access any of the courses, particularly the python course.

10% done with Python, finished HTML & CSS and 47% done with JavaScript, so far no issues. Personally I really like the site.
Title: Re: Code Academy Learning Path?
Post by: Thom on October 25, 2015, 10:23:32 pm
I see it's back online now, so I'll check it out later tonight.

Glad they got it back online.
Title: Re: Code Academy Learning Path?
Post by: pal on October 28, 2015, 08:54:42 am
Just wanted to point out on good learning resource i've found out just now by listening last episode of Software Engineering Daily podcast.
http://freecodecamp.com/

Podcast with founder here: http://softwareengineeringdaily.com/2015/10/28/free-code-camp-with-quincy-larson/
Title: Re: Code Academy Learning Path?
Post by: fuzzy on October 28, 2015, 07:37:34 pm
Just wanted to point out on good learning resource i've found out just now by listening last episode of Software Engineering Daily podcast.
http://freecodecamp.com/

Podcast with founder here: http://softwareengineeringdaily.com/2015/10/28/free-code-camp-with-quincy-larson/

Hm. Interesting.  Im going to look into this :)
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on December 01, 2015, 04:06:04 am
bumping this thread because I'm halfway through the python course and having a blast of it.
Title: Re: Code Academy Learning Path?
Post by: rgcrypto on December 01, 2015, 04:21:28 am
I am down for the react.js or angular.js path.
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on December 01, 2015, 04:33:31 am
theoretically, python could be used to write a wallet that communicates with bitshares blockchain, even though graphene is written in react.js c++, right?
Title: Re: Code Academy Learning Path?
Post by: lil_jay890 on December 01, 2015, 05:21:02 am
theoretically, python could be used to write a wallet that communicates with bitshares blockchain, even though graphene is written in react.js, right?

I believe graphene is written in c++
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on December 01, 2015, 05:30:50 am
theoretically, python could be used to write a wallet that communicates with bitshares blockchain, even though graphene is written in react.js, right?

I believe graphene is written in c++

appreciate the correction.

question still stands though, if I wanted to make an alt wallet (a BTS equivalent to BTC/LTC's electrum, if you would), and actually saw this thing through long enough to get to that point, could that be done in python?
Title: Re: Code Academy Learning Path?
Post by: cube on December 01, 2015, 05:50:18 am
theoretically, python could be used to write a wallet that communicates with bitshares blockchain, even though graphene is written in react.js, right?

I believe graphene is written in c++

appreciate the correction.

question still stands though, if I wanted to make an alt wallet (a BTS equivalent to BTC/LTC's electrum, if you would), and actually saw this thing through long enough to get to that point, could that be done in python?

Yes, you can do that.
Title: Re: Code Academy Learning Path?
Post by: xeroc on December 01, 2015, 10:17:54 am
theoretically, python could be used to write a wallet that communicates with bitshares blockchain, even though graphene is written in react.js, right?

I believe graphene is written in c++

appreciate the correction.

question still stands though, if I wanted to make an alt wallet (a BTS equivalent to BTC/LTC's electrum, if you would), and actually saw this thing through long enough to get to that point, could that be done in python?
Absolutely .. All you need o do is construct transactions and sign them ..
I have actually started that part already but haven't had the time to test my implementation and get it done ..
I'll try to work more on it asap ..
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on December 01, 2015, 04:58:08 pm

Yes, you can do that.
Absolutely .. All you need o do is construct transactions and sign them ..
I have actually started that part already but haven't had the time to test my implementation and get it done ..
I'll try to work more on it asap ..

Beautiful. I will attempt to maintain this learning momentum I've started.
Title: Re: Code Academy Learning Path?
Post by: fuzzy on December 02, 2015, 05:02:55 pm
Very soon I will be starting this group.  Now that most of the basic infrastructure for ShareBits is operational, I'd like to take this project to the starting phase. 

First stop will be the Command Line Interface (CLI) (https://www.codecademy.com/learn/learn-the-command-line)

I'll post more this weekend.
Title: Re: Code Academy Learning Path?
Post by: rgcrypto on December 02, 2015, 05:19:38 pm
Very soon I will be starting this group.  Now that most of the basic infrastructure for ShareBits is operational, I'd like to take this project to the starting phase. 

First stop will be the Command Line Interface (CLI) (https://www.codecademy.com/learn/learn-the-command-line)

I'll post more this weekend.

Can you add me to an email list to be notified?
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on December 09, 2015, 09:55:51 pm
(http://i.imgur.com/2lwBbGe.png)

I want more.

Now what? Books? Anybody have any good book suggestions to follow up on this course and learn more pythons?

edit: I guess the next step would be studying how to implement a GUI, right?
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on December 09, 2015, 11:40:03 pm
I decided to go try this (https://projecteuler.net/problem=1):

Quote
If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.

Find the sum of all the multiples of 3 or 5 below 1000.

So I used this code:

Code: [Select]
theList = [x for x in range(1,1001) if x%3 == 0 or x%5 == 0]
result = 0
for item in theList:
    result += item

print theList

print result

which produced this as output:

Code: [Select]
[3, 5, 6, 9, 10, 12, 15, 18, 20, 21, 24, 25, 27, 30, 33, 35, 36, 39, 40, 42, 45, 48, 50, 51, 54, 55, 57, 60, 63, 65, 66, 69, 70, 72, 75, 78, 80, 81, 84, 85, 87, 90, 93, 95, 96, 99, 100, 102, 105, 108, 110, 111, 114, 115, 117, 120, 123, 125, 126, 129, 130, 132, 135, 138, 140, 141, 144, 145, 147, 150, 153, 155, 156, 159, 160, 162, 165, 168, 170, 171, 174, 175, 177, 180, 183, 185, 186, 189, 190, 192, 195, 198, 200, 201, 204, 205, 207, 210, 213, 215, 216, 219, 220, 222, 225, 228, 230, 231, 234, 235, 237, 240, 243, 245, 246, 249, 250, 252, 255, 258, 260, 261, 264, 265, 267, 270, 273, 275, 276, 279, 280, 282, 285, 288, 290, 291, 294, 295, 297, 300, 303, 305, 306, 309, 310, 312, 315, 318, 320, 321, 324, 325, 327, 330, 333, 335, 336, 339, 340, 342, 345, 348, 350, 351, 354, 355, 357, 360, 363, 365, 366, 369, 370, 372, 375, 378, 380, 381, 384, 385, 387, 390, 393, 395, 396, 399, 400, 402, 405, 408, 410, 411, 414, 415, 417, 420, 423, 425, 426, 429, 430, 432, 435, 438, 440, 441, 444, 445, 447, 450, 453, 455, 456, 459, 460, 462, 465, 468, 470, 471, 474, 475, 477, 480, 483, 485, 486, 489, 490, 492, 495, 498, 500, 501, 504, 505, 507, 510, 513, 515, 516, 519, 520, 522, 525, 528, 530, 531, 534, 535, 537, 540, 543, 545, 546, 549, 550, 552, 555, 558, 560, 561, 564, 565, 567, 570, 573, 575, 576, 579, 580, 582, 585, 588, 590, 591, 594, 595, 597, 600, 603, 605, 606, 609, 610, 612, 615, 618, 620, 621, 624, 625, 627, 630, 633, 635, 636, 639, 640, 642, 645, 648, 650, 651, 654, 655, 657, 660, 663, 665, 666, 669, 670, 672, 675, 678, 680, 681, 684, 685, 687, 690, 693, 695, 696, 699, 700, 702, 705, 708, 710, 711, 714, 715, 717, 720, 723, 725, 726, 729, 730, 732, 735, 738, 740, 741, 744, 745, 747, 750, 753, 755, 756, 759, 760, 762, 765, 768, 770, 771, 774, 775, 777, 780, 783, 785, 786, 789, 790, 792, 795, 798, 800, 801, 804, 805, 807, 810, 813, 815, 816, 819, 820, 822, 825, 828, 830, 831, 834, 835, 837, 840, 843, 845, 846, 849, 850, 852, 855, 858, 860, 861, 864, 865, 867, 870, 873, 875, 876, 879, 880, 882, 885, 888, 890, 891, 894, 895, 897, 900, 903, 905, 906, 909, 910, 912, 915, 918, 920, 921, 924, 925, 927, 930, 933, 935, 936, 939, 940, 942, 945, 948, 950, 951, 954, 955, 957, 960, 963, 965, 966, 969, 970, 972, 975, 978, 980, 981, 984, 985, 987, 990, 993, 995, 996, 999, 1000]
234168

choosing random numbers, they all seem to be multiples of 3 or 5. but when I give the final answer to projecteuler, it says I did something wrong.
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on December 10, 2015, 12:15:14 am
blahblahblah project euler #1

figured out what I did, included 1000 when euler wants only the numbers BELOW 1000.
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on December 10, 2015, 02:22:25 am
So I was looking at some books that seem to cover some of the content I'd like to learn, and they all seem to be written for python v3, and the IDE I've chosen seems to be using 2.7.3 (which is also what I've been studying at codecademy).

should I switch to 3.x? would it be a difficult switch at this stage?

maybe I should just look for some learning material for 2.7.3?
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on December 11, 2015, 12:05:08 am
So I was looking at some books that seem to cover some of the content I'd like to learn, and they all seem to be written for python v3, and the IDE I've chosen seems to be using 2.7.3 (which is also what I've been studying at codecademy).

should I switch to 3.x? would it be a difficult switch at this stage?

maybe I should just look for some learning material for 2.7.3?

nothing? nobody?

well i stayed up later than I should have reading and 3.x seems the way to go. while i'm still early enough on to change my syntax habits. 2.7.x would also be fine but most of the texts seem to be 3.x

I was thinking about working my way through Learning Python 5th Edition by Mark Lutz. It's thick but I wanted something comprehensive. I'm tired of being the master of beginner tutorials.
Title: Re: Code Academy Learning Path?
Post by: lil_jay890 on December 11, 2015, 03:04:22 am
So I was looking at some books that seem to cover some of the content I'd like to learn, and they all seem to be written for python v3, and the IDE I've chosen seems to be using 2.7.3 (which is also what I've been studying at codecademy).

should I switch to 3.x? would it be a difficult switch at this stage?

maybe I should just look for some learning material for 2.7.3?

nothing? nobody?

well i stayed up later than I should have reading and 3.x seems the way to go. while i'm still early enough on to change my syntax habits. 2.7.x would also be fine but most of the texts seem to be 3.x

I was thinking about working my way through Learning Python 5th Edition by Mark Lutz. It's thick but I wanted something comprehensive. I'm tired of being the master of beginner tutorials.

I'm getting closer to finishing the javascript tutorial... i'm about 60% done.  I plan to look on the internet for some basic projects to do after i complete the course.  This should allow me to apply everything I learned and hopefully ingrain the techniques into memory.

I do have and end goal and project that I wan't to code myself for bitshares.  Hopefully I can stay focused enough to get it done.
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on December 15, 2015, 03:25:55 am
what the hell does this (http://i.imgur.com/zG1Aa5Z.png) mean?

everything I've read so far has at least made some kind of sense to me. this just left me dumbfounded. tried looking it up in the docs. still dumbfounded.

stared at it for about 40 minutes. made a reddit post. still don't understand.

moved ahead in the book anyway, book making sense again. just that random page of gibberish completely over my head. something to do with binary. anybody wanna take a stab at ELI5ing it for me?

i mean, i get that its a way of writing to a file. but I don't understand what pack does. the output doesn't look like 1s and 0s to me so how is it binary? why does it get those numbers out of the list? >i4sh seems to be some kind of attribute, what does it mean???
Title: Re: Code Academy Learning Path?
Post by: Thom on December 15, 2015, 05:45:57 am
So I was looking at some books that seem to cover some of the content I'd like to learn, and they all seem to be written for python v3, and the IDE I've chosen seems to be using 2.7.3 (which is also what I've been studying at codecademy).

should I switch to 3.x? would it be a difficult switch at this stage?

maybe I should just look for some learning material for 2.7.3?

nothing? nobody?

well i stayed up later than I should have reading and 3.x seems the way to go. while i'm still early enough on to change my syntax habits. 2.7.x would also be fine but most of the texts seem to be 3.x

I was thinking about working my way through Learning Python 5th Edition by Mark Lutz. It's thick but I wanted something comprehensive. I'm tired of being the master of beginner tutorials.

I'm still a noob at python but from my perspective 3 is the way to go. One reason is that it is used more often by BitShares coders. Another is that it is the newest generation. I don't think you'll have much difficulty transitioning, plus you're just starting out so not much to unlearn. They're not that different anyway, fundamentally.
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on December 15, 2015, 04:49:33 pm
So I was looking at some books that seem to cover some of the content I'd like to learn, and they all seem to be written for python v3, and the IDE I've chosen seems to be using 2.7.3 (which is also what I've been studying at codecademy).

should I switch to 3.x? would it be a difficult switch at this stage?

maybe I should just look for some learning material for 2.7.3?

nothing? nobody?

well i stayed up later than I should have reading and 3.x seems the way to go. while i'm still early enough on to change my syntax habits. 2.7.x would also be fine but most of the texts seem to be 3.x

I was thinking about working my way through Learning Python 5th Edition by Mark Lutz. It's thick but I wanted something comprehensive. I'm tired of being the master of beginner tutorials.

I'm still a noob at python but from my perspective 3 is the way to go. One reason is that it is used more often by BitShares coders. Another is that it is the newest generation. I don't think you'll have much difficulty transitioning, plus you're just starting out so not much to unlearn. They're not that different anyway, fundamentally.

I ended up agreeing with you. Fortunately the book seems to be teaching both ways of doing it anyway.
Title: Re: Code Academy Learning Path?
Post by: fuzzy on December 15, 2015, 04:54:11 pm
So I was looking at some books that seem to cover some of the content I'd like to learn, and they all seem to be written for python v3, and the IDE I've chosen seems to be using 2.7.3 (which is also what I've been studying at codecademy).

should I switch to 3.x? would it be a difficult switch at this stage?

maybe I should just look for some learning material for 2.7.3?

nothing? nobody?

well i stayed up later than I should have reading and 3.x seems the way to go. while i'm still early enough on to change my syntax habits. 2.7.x would also be fine but most of the texts seem to be 3.x

I was thinking about working my way through Learning Python 5th Edition by Mark Lutz. It's thick but I wanted something comprehensive. I'm tired of being the master of beginner tutorials.

I'm still a noob at python but from my perspective 3 is the way to go. One reason is that it is used more often by BitShares coders. Another is that it is the newest generation. I don't think you'll have much difficulty transitioning, plus you're just starting out so not much to unlearn. They're not that different anyway, fundamentally.

I ended up agreeing with you. Fortunately the book seems to be teaching both ways of doing it anyway.

Hey Merockstar...out of curiosity how interested would you be in studying and providing some screenshots and personal notes while you practice?  I think this might help others who go through the same book...but when you take that extra step it also helps reinforce your memory, and also helps others who are trying to follow along.  :)
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on December 15, 2015, 04:58:07 pm
So I was looking at some books that seem to cover some of the content I'd like to learn, and they all seem to be written for python v3, and the IDE I've chosen seems to be using 2.7.3 (which is also what I've been studying at codecademy).

should I switch to 3.x? would it be a difficult switch at this stage?

maybe I should just look for some learning material for 2.7.3?

nothing? nobody?

well i stayed up later than I should have reading and 3.x seems the way to go. while i'm still early enough on to change my syntax habits. 2.7.x would also be fine but most of the texts seem to be 3.x

I was thinking about working my way through Learning Python 5th Edition by Mark Lutz. It's thick but I wanted something comprehensive. I'm tired of being the master of beginner tutorials.

I'm still a noob at python but from my perspective 3 is the way to go. One reason is that it is used more often by BitShares coders. Another is that it is the newest generation. I don't think you'll have much difficulty transitioning, plus you're just starting out so not much to unlearn. They're not that different anyway, fundamentally.

I ended up agreeing with you. Fortunately the book seems to be teaching both ways of doing it anyway.

Hey Merockstar...out of curiosity how interested would you be in studying and providing some screenshots and personal notes while you practice?  I think this might help others who go through the same book...but when you take that extra step it also helps reinforce your memory, and also helps others who are trying to follow along.  :)

not really very interested to be honest. but if somebody else happens to be going through the same book id be happy to work with them where ever possible.

 I'm finding its less about the notetaking and more about actually running the code in console or in a script
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on January 27, 2016, 03:37:24 am
Update on this: I managed to stay focused for a few weeks, then it lost my interest, in classic failure fashion.

Blew another week or two playing civ iv. realized that I've played that game for a decade and am still terrible at it. learning programming can't be THAT much harder than this.

the way I see it, this could be a major bitter defeat that results in me giving for an even longer amount of time and making zero progress.

or I could get my ass up and back on the horse, analyze what went wrong, and try again.

here's what I think went wrong:

1) I picked the wrong kind of book. In my quest to find something comprehensive, i went a little overboard and picked a book completely dedicated to syntax. I think it would have made a much better reference book than something for a near-newbie to learn from.

2) I think I picked the wrong programming language. I need to be picking a tool based on what I want to do. And what I want to do, people use c++, so that should be the syntax I'm learning, even if it is a little tougher. as I was forcing myself to press on in that book I kept thinking "even after I learn python, I'm still another book on programming away from getting closer to what I really want to study." that allowed a discouraging feedback loop to fester.

So I'm reexamining the situation. I really want to make something of this so I'm researching new learning options. These ones oriented towards C++, and designed to be a TUTORIAL, not a reference. I'm going to choose carefully this time. I want something readable, that doesn't go into way too much detail, but still goes deep and teaches what I need to know.

If anybody gives a shit, I'll let you know what I decide.
Title: Re: Code Academy Learning Path?
Post by: lil_jay890 on January 27, 2016, 03:55:38 am
Update on this: I managed to stay focused for a few weeks, then it lost my interest, in classic failure fashion.

Blew another week or two playing civ iv. realized that I've played that game for a decade and am still terrible at it. learning programming can't be THAT much harder than this.

the way I see it, this could be a major bitter defeat that results in me giving for an even longer amount of time and making zero progress.

or I could get my ass up and back on the horse, analyze what went wrong, and try again.

here's what I think went wrong:

1) I picked the wrong kind of book. In my quest to find something comprehensive, i went a little overboard and picked a book completely dedicated to syntax. I think it would have made a much better reference book than something for a near-newbie to learn from.

2) I think I picked the wrong programming language. I need to be picking a tool based on what I want to do. And what I want to do, people use c++, so that should be the syntax I'm learning, even if it is a little tougher. as I was forcing myself to press on in that book I kept thinking "even after I learn python, I'm still another book on programming away from getting closer to what I really want to study." that allowed a discouraging feedback loop to fester.

So I'm reexamining the situation. I really want to make something of this so I'm researching new learning options. These ones oriented towards C++, and designed to be a TUTORIAL, not a reference. I'm going to choose carefully this time. I want something readable, that doesn't go into way too much detail, but still goes deep and teaches what I need to know.

If anybody gives a shit, I'll let you know what I decide.

I did a bunch of the paths in codecademy and realized that it is just a primer.  I needed to practice better as codecademy just has you fill in little snipits here and there.  It's great as an introduction but i needed something thorough and with more examples so that I could get my brain to actually comprehend and apply what I was reading.

I ended up going to Javascriptissexxy.com and following the learn javascript properly path.  So far so good as it combines codecademy, a text book, code school and some blog posts.  The course is broken down into 6 weeks of learning.  Best of all it's free other than buying the textbook for $30.

@merockstar I chose Javascript because BM said that plasma was going to be very friendly to people who know js... I thought I would get a jumpstart. 
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on January 27, 2016, 04:10:30 am
Update on this: I managed to stay focused for a few weeks, then it lost my interest, in classic failure fashion.

Blew another week or two playing civ iv. realized that I've played that game for a decade and am still terrible at it. learning programming can't be THAT much harder than this.

the way I see it, this could be a major bitter defeat that results in me giving for an even longer amount of time and making zero progress.

or I could get my ass up and back on the horse, analyze what went wrong, and try again.

here's what I think went wrong:

1) I picked the wrong kind of book. In my quest to find something comprehensive, i went a little overboard and picked a book completely dedicated to syntax. I think it would have made a much better reference book than something for a near-newbie to learn from.

2) I think I picked the wrong programming language. I need to be picking a tool based on what I want to do. And what I want to do, people use c++, so that should be the syntax I'm learning, even if it is a little tougher. as I was forcing myself to press on in that book I kept thinking "even after I learn python, I'm still another book on programming away from getting closer to what I really want to study." that allowed a discouraging feedback loop to fester.

So I'm reexamining the situation. I really want to make something of this so I'm researching new learning options. These ones oriented towards C++, and designed to be a TUTORIAL, not a reference. I'm going to choose carefully this time. I want something readable, that doesn't go into way too much detail, but still goes deep and teaches what I need to know.

If anybody gives a shit, I'll let you know what I decide.

I did a bunch of the paths in codecademy and realized that it is just a primer.  I needed to practice better as codecademy just has you fill in little snipits here and there.  It's great as an introduction but i needed something thorough and with more examples so that I could get my brain to actually comprehend and apply what I was reading.

I ended up going to Javascriptissexxy.com and following the learn javascript properly path.  So far so good as it combines codecademy, a text book, code school and some blog posts.  The course is broken down into 6 weeks of learning.  Best of all it's free other than buying the textbook for $30.

@merockstar I chose Javascript because BM said that plasma was going to be very friendly to people who know js... I thought I would get a jumpstart.

that is excellent! are you still popping into mumble in the afternoons? my work situation is weird right now. they'll use me for a week then abandon me. then call me in a few days a couple weeks later and I'm finding it hard to get into a routine.

it's too bad there isn't more interest in something like this here. just three different guys with interests in learning different things. I feel like something like the original purpose of this thread would be difficult to organize that way.

but it sounds like javascriptissexy has done just that for you!

I think I missed the thread where it was revealed what Plasma is going to be exactly. Still a mystery in my mind. That could maybe be the motivation I need to jump in and join you on javascript. what you describe does sound like something I really need.

But designing websites just doesn't appeal to me the way writing applications does. the ability to tell a computer what you want it to do with the hardware it's running on just sounds so much cooler to me than coding up a webpage. Bitcoin is C++, and so is BitShares. Most major for profit products are written in C++. C++ just seems like the language for somebody who wants to step up and wield the true power of a computer. It's the one that really excites me to think about knowing.

I was considering other learning paths, but the FAQ in the C++ section of the learnprogramming subreddit had the following advice: It doesn't matter what programming language you want to learn, pick the tool that suits what you want to do and learn it. If you want to learn C++, learn C++. If you want to learn Python learn Python, but don't pick Python because it's easier for learning. That was exactly what I was doing.

That's exactly what I'd be doing for Javascript too, unless somebody sells me on it. Maybe I should google "Why learn Javascript," see if I can stimulate my own interest.

Does anybody know what would be a good language to study for somebody interesting in writing apps on ethereum? Just out of curiosity.
Title: Re: Code Academy Learning Path?
Post by: lil_jay890 on January 27, 2016, 09:55:14 pm
Update on this: I managed to stay focused for a few weeks, then it lost my interest, in classic failure fashion.

Blew another week or two playing civ iv. realized that I've played that game for a decade and am still terrible at it. learning programming can't be THAT much harder than this.

the way I see it, this could be a major bitter defeat that results in me giving for an even longer amount of time and making zero progress.

or I could get my ass up and back on the horse, analyze what went wrong, and try again.

here's what I think went wrong:

1) I picked the wrong kind of book. In my quest to find something comprehensive, i went a little overboard and picked a book completely dedicated to syntax. I think it would have made a much better reference book than something for a near-newbie to learn from.

2) I think I picked the wrong programming language. I need to be picking a tool based on what I want to do. And what I want to do, people use c++, so that should be the syntax I'm learning, even if it is a little tougher. as I was forcing myself to press on in that book I kept thinking "even after I learn python, I'm still another book on programming away from getting closer to what I really want to study." that allowed a discouraging feedback loop to fester.

So I'm reexamining the situation. I really want to make something of this so I'm researching new learning options. These ones oriented towards C++, and designed to be a TUTORIAL, not a reference. I'm going to choose carefully this time. I want something readable, that doesn't go into way too much detail, but still goes deep and teaches what I need to know.

If anybody gives a shit, I'll let you know what I decide.

I did a bunch of the paths in codecademy and realized that it is just a primer.  I needed to practice better as codecademy just has you fill in little snipits here and there.  It's great as an introduction but i needed something thorough and with more examples so that I could get my brain to actually comprehend and apply what I was reading.

I ended up going to Javascriptissexxy.com and following the learn javascript properly path.  So far so good as it combines codecademy, a text book, code school and some blog posts.  The course is broken down into 6 weeks of learning.  Best of all it's free other than buying the textbook for $30.

@merockstar I chose Javascript because BM said that plasma was going to be very friendly to people who know js... I thought I would get a jumpstart.

that is excellent! are you still popping into mumble in the afternoons? my work situation is weird right now. they'll use me for a week then abandon me. then call me in a few days a couple weeks later and I'm finding it hard to get into a routine.

it's too bad there isn't more interest in something like this here. just three different guys with interests in learning different things. I feel like something like the original purpose of this thread would be difficult to organize that way.

but it sounds like javascriptissexy has done just that for you!

I think I missed the thread where it was revealed what Plasma is going to be exactly. Still a mystery in my mind. That could maybe be the motivation I need to jump in and join you on javascript. what you describe does sound like something I really need.

But designing websites just doesn't appeal to me the way writing applications does. the ability to tell a computer what you want it to do with the hardware it's running on just sounds so much cooler to me than coding up a webpage. Bitcoin is C++, and so is BitShares. Most major for profit products are written in C++. C++ just seems like the language for somebody who wants to step up and wield the true power of a computer. It's the one that really excites me to think about knowing.

I was considering other learning paths, but the FAQ in the C++ section of the learnprogramming subreddit had the following advice: It doesn't matter what programming language you want to learn, pick the tool that suits what you want to do and learn it. If you want to learn C++, learn C++. If you want to learn Python learn Python, but don't pick Python because it's easier for learning. That was exactly what I was doing.

That's exactly what I'd be doing for Javascript too, unless somebody sells me on it. Maybe I should google "Why learn Javascript," see if I can stimulate my own interest.

Does anybody know what would be a good language to study for somebody interesting in writing apps on ethereum? Just out of curiosity.

I actually had a semester of coding in C++ and C# during college.  From what I can tell they are very similar to javascript.  They are all object oriented programming languages with similar syntax.

When I was starting I was kind of in the same boat as far as picking a language... what I realized is that choosing a language isn't like choosing a car.  It's not I'm a Ford guy vs I'm a Chevy guy.  Many languages compliment each other.  Just look at bitshares... the wallet I believe is Javascript while the code is C++.  I also was doing some research on Reactjs vs Angularjs.  What I found out is that these are both used to write apps, but become much more powerful when used together.

I think when you say javascript is just for designing websites, you are thinking more html, css, and jquery (which is just a library for javascript).  I believe javascript can do just about anything when it comes to apps and devices, including storing user authentication data.

I don't think you can go wrong starting with javascript.  I think you are going to be able to do everything that you listed and probably more, especially if plasma turns out to be similar to what BM was talking about.  And once you learn it, you shouldn't have much trouble picking up on C++ later.
Title: Re: Code Academy Learning Path?
Post by: fuzzy on January 27, 2016, 11:53:23 pm
Im definitely up for ideas on how we could all work together in some way.  someone posted a community awhile back on this thread pointing us to it in order to potentially partbrr with them, but like a week later when i went to find it and reach out the person who posted it must have deleted it...
Title: Re: Code Academy Learning Path?
Post by: merivercap on January 28, 2016, 03:27:08 am
Yeah CodeAcademy is a great start.   I'm a total newb.  I ran through a number of their courses.   Udemy is also a good next step after CodeAcademy.. there is one on ReactJS I just finished: https://www.udemy.com/learn-and-understand-reactjs/learn/#/  You can get a Udemy coupon and take courses for $10.  There is also one for Modern React that I signed up for by the same instructor.

Other than that it's probably good to just work on a real project.   You can count me in on any coding group...
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on January 29, 2016, 05:53:41 pm
@fuzzy and @merivercap

if you guys want to join lil_jay and work through javascriptissexy.com with him I'd jump in too. and we could all talk about the lessons on mumble.

otherwise im pretty intent to learn c++. sounds like I'm eventually going to have to pick up some javascript anyway though.

currently taking a look at programming: principles and practice using c++ by bjarne stroustrup, the languages creator. from the introduction, the way he describes this book, it sounds like exactly what I need so I think I might give it a try.
Title: Re: Code Academy Learning Path?
Post by: fuzzy on January 30, 2016, 06:17:47 pm
@fuzzy and @merivercap

if you guys want to join lil_jay and work through javascriptissexy.com with him I'd jump in too. and we could all talk about the lessons on mumble.

otherwise im pretty intent to learn c++. sounds like I'm eventually going to have to pick up some javascript anyway though.

currently taking a look at programming: principles and practice using c++ by bjarne stroustrup, the languages creator. from the introduction, the way he describes this book, it sounds like exactly what I need so I think I might give it a try.

yeh sure lets all talk sometime in mumble about it. right now im at the hospital with a fam member though so wont be today :/
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on January 31, 2016, 02:14:00 am
@fuzzy and @merivercap

if you guys want to join lil_jay and work through javascriptissexy.com with him I'd jump in too. and we could all talk about the lessons on mumble.

otherwise im pretty intent to learn c++. sounds like I'm eventually going to have to pick up some javascript anyway though.

currently taking a look at programming: principles and practice using c++ by bjarne stroustrup, the languages creator. from the introduction, the way he describes this book, it sounds like exactly what I need so I think I might give it a try.

yeh sure lets all talk sometime in mumble about it. right now im at the hospital with a fam member though so wont be today :/

hope all is okay :(
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on February 02, 2016, 10:56:26 pm
Does anybody know if there is a technical reason magic constants and magic numbers are bad?

I understand the readability and convenience reasons. example: a constant occurs many times throughout the code, and you see the need to change that constant someday, you an do it all in one spot. I also understand how x < MAX_LETTERS_FOR_PASSWORD will make more sense to future human readers than x < 50.

Are those the only reasons though? Is there any technical advantage to initializing and declaring as many constants as possible at compile-time/run-time?
Title: Re: Code Academy Learning Path?
Post by: EstefanTT on February 13, 2016, 02:39:25 pm
Hi coders,

I recently learn HTML and CSS to build the BitShares French ConneXion web site. Now I'm starting to play with PHP an MySQL, trying some stuff.

I did this recently : http://www.bitsharesfcx.com/zzz_dex_p.php (http://www.bitsharesfcx.com/zzz_dex_p.php)
It checks the volume of our DEx every hour and store it in a database, then spits it in a table. Enjoy !!

I'm now trying something else. I made a script to go find the price of the different crypto coins I'm investded in. I multiplicate the price by the coins I have and it give me the total.
So I can have a quick look at how my global investment is going (it depends a lot of BitShares but the recent raise of maidsafe had an nice impact on it)

The only coin I have I can't go grab its value on coinmarketcap are brownies.

Anyone have an idea how could I get the browies price in bts, USD or EUR with some lines of PHP ?

EDIT 2016/02/15 : I found a way, I use the BROWNIE:PTS page of cryptofresh to grab the price.
Title: Re: Code Academy Learning Path?
Post by: lil_jay890 on June 13, 2016, 03:50:39 pm
How is everyone doing in this?  Would like to hear if people are continuing or have hit any road blocks.

I'm almost finished with the "Beginning Javascript" text book I bought a few months ago.  I've also been trying to learn AngularJS in parallel.  So far I have created a trading simulator for forex to analyze expected return vs risk.  Also created a basic betting app that I can hopefully utilize the DEX with at some point.  Yet to do anything with bitshares, but hopefully soon.
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on June 13, 2016, 04:05:14 pm
How is everyone doing in this?  Would like to hear if people are continuing or have hit any road blocks.

I'm almost finished with the "Beginning Javascript" text book I bought a few months ago.  I've also been trying to learn AngularJS in parallel.  So far I have created a trading simulator for forex to analyze expected return vs risk.  Also created a basic betting app that I can hopefully utilize the DEX with at some point.  Yet to do anything with bitshares, but hopefully soon.

One of the chapters of the text I was using started to deviate from the online content at their website, which was outdated. Then I found a second job, hours started picking up at my first job, and a perfect storm of losing interest occurred.

Someday when I have time again I'll probably try to find a new book or something and take another crack at it.
Title: Re: Code Academy Learning Path?
Post by: 70231f697a2b3c2b on June 13, 2016, 05:43:09 pm
Does anybody know if there is a technical reason magic constants and magic numbers are bad?

In addition to the reasons you cited, I will add one more:  If other people need to read/maintain your code, it may not be obvious to them what the magic value means (even if it seemed obvious to you when you wrote it), and you may run into situations where another developer (or, after enough time has passed, you) tries to "fix" your code because they don't understand what it is supposed to do.

Take a look at http://programmers.stackexchange.com/q/266717/ and http://programmers.stackexchange.com/questions/251540/ for some good discussions on magic constants.
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on June 13, 2016, 07:25:21 pm
Does anybody know if there is a technical reason magic constants and magic numbers are bad?

In addition to the reasons you cited, I will add one more:  If other people need to read/maintain your code, it may not be obvious to them what the magic value means (even if it seemed obvious to you when you wrote it), and you may run into situations where another developer (or, after enough time has passed, you) tries to "fix" your code because they don't understand what it is supposed to do.

Take a look at http://programmers.stackexchange.com/q/266717/ and http://programmers.stackexchange.com/questions/251540/ for some good discussions on magic constants.

But it's pretty much just for clarity and preventing your code from turning into an enigmatic riddle, and poorly written but logical code that uses lots of them will still compile and run just fine at the same speeds, right (not that I am advocating their use)?

Anyway, I need to try a new book. I don't care what programming language. My only two requirements are that it be a well-written/gripping read, and a consistent, current, and in depth enough book that if I work through it, I'll be at a point where I can write almost anything by supplementing my knowledge here and there independently.

Open for recommendations.
Title: Re: Code Academy Learning Path?
Post by: lil_jay890 on June 13, 2016, 07:33:38 pm
Does anybody know if there is a technical reason magic constants and magic numbers are bad?

In addition to the reasons you cited, I will add one more:  If other people need to read/maintain your code, it may not be obvious to them what the magic value means (even if it seemed obvious to you when you wrote it), and you may run into situations where another developer (or, after enough time has passed, you) tries to "fix" your code because they don't understand what it is supposed to do.

Take a look at http://programmers.stackexchange.com/q/266717/ and http://programmers.stackexchange.com/questions/251540/ for some good discussions on magic constants.

But it's pretty much just for clarity and preventing your code from turning into an enigmatic riddle, and poorly written but logical code that uses lots of them will still compile and run just fine at the same speeds, right (not that I am advocating their use)?

Anyway, I need to try a new book. I don't care what programming language. My only two requirements are that it be a well-written/gripping read, and a consistent, current, and in depth enough book that if I work through it, I'll be at a point where I can write almost anything by supplementing my knowledge here and there independently.

Open for recommendations.

A gripping coding book??? Not sure if one exists lol.

I can't complain about "beginning Javascript"  The examples are interesting and useful and it moves at a good pace.  I actually feel like I kind of no what I'm doing when I write a program from scratch.

It's cool to be able to write the code and then immediately interact with the program through the browser.  The mainstream browsers also have some decent debugging tools to.

I know you wanted to learn C++, but I think if you started with javascript first that it would keep your interest longer.  There seem to be lots of real world examples to either practice on or emulate.

Personally I almost quit because it seemed like I wasn't getting anywhere, but I just kept doing at least 1 or 2 pages each day and eventually I gained some confidence and started to improve.  Doing a little (maybe only 15 minutes or so) each day or every other day definitely helped.
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on June 14, 2016, 02:42:23 am
Does anybody know if there is a technical reason magic constants and magic numbers are bad?

In addition to the reasons you cited, I will add one more:  If other people need to read/maintain your code, it may not be obvious to them what the magic value means (even if it seemed obvious to you when you wrote it), and you may run into situations where another developer (or, after enough time has passed, you) tries to "fix" your code because they don't understand what it is supposed to do.

Take a look at http://programmers.stackexchange.com/q/266717/ and http://programmers.stackexchange.com/questions/251540/ for some good discussions on magic constants.

But it's pretty much just for clarity and preventing your code from turning into an enigmatic riddle, and poorly written but logical code that uses lots of them will still compile and run just fine at the same speeds, right (not that I am advocating their use)?

Anyway, I need to try a new book. I don't care what programming language. My only two requirements are that it be a well-written/gripping read, and a consistent, current, and in depth enough book that if I work through it, I'll be at a point where I can write almost anything by supplementing my knowledge here and there independently.

Open for recommendations.

A gripping coding book??? Not sure if one exists lol.

I can't complain about "beginning Javascript"  The examples are interesting and useful and it moves at a good pace.  I actually feel like I kind of no what I'm doing when I write a program from scratch.

It's cool to be able to write the code and then immediately interact with the program through the browser.  The mainstream browsers also have some decent debugging tools to.

I know you wanted to learn C++, but I think if you started with javascript first that it would keep your interest longer.  There seem to be lots of real world examples to either practice on or emulate.

Personally I almost quit because it seemed like I wasn't getting anywhere, but I just kept doing at least 1 or 2 pages each day and eventually I gained some confidence and started to improve.  Doing a little (maybe only 15 minutes or so) each day or every other day definitely helped.

that sounds like a good idea. maybe I'll take a look at javascript. codecademy really did a good job of holding my interest for python but it wasn't comprehensive enough. it basically left me at the same point that I'm at with every other language I've ever tried to study. earlier in the year you mentioned a similar site to codecademy, but oriented towards javascript, how did that pan out for you?
Title: Re: Code Academy Learning Path?
Post by: 70231f697a2b3c2b on June 14, 2016, 03:16:11 am
But it's pretty much just for clarity and preventing your code from turning into an enigmatic riddle, and poorly written but logical code that uses lots of them will still compile and run just fine at the same speeds, right (not that I am advocating their use)?

Correct.  The code will still work exactly the same either way (and depending on the language/compiler, the resulting bytecode/opcode may be the same in both cases as well).

Even if the code runs more slowly with constants, the performance hit will be so small as to be negligible*, and since a developer's time is generally more valuable than a computer's time[citation needed], it usually makes sense to optimize for maintainability over runtime performance.

* There are exceptions, but generally you won't know what they are until you profile your code.  See http://programmers.stackexchange.com/q/80084/ for a discussion about what constitutes "premature" optimization.
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on June 14, 2016, 03:30:02 am
But it's pretty much just for clarity and preventing your code from turning into an enigmatic riddle, and poorly written but logical code that uses lots of them will still compile and run just fine at the same speeds, right (not that I am advocating their use)?

Correct.  The code will still work exactly the same either way (and depending on the language/compiler, the resulting bytecode/opcode may be the same in both cases as well).

interesting! that is not how I would have guessed that works. I perused that discussion, but at the moment that's the only way I could think of to optimize at all, let alone unnecessarily. I'm just not there yet.

do you have any advice regarding my dilemma on getting started and over the hill, as described in this thread?
Title: Re: Code Academy Learning Path?
Post by: lil_jay890 on June 14, 2016, 03:39:04 am
Does anybody know if there is a technical reason magic constants and magic numbers are bad?

In addition to the reasons you cited, I will add one more:  If other people need to read/maintain your code, it may not be obvious to them what the magic value means (even if it seemed obvious to you when you wrote it), and you may run into situations where another developer (or, after enough time has passed, you) tries to "fix" your code because they don't understand what it is supposed to do.

Take a look at http://programmers.stackexchange.com/q/266717/ and http://programmers.stackexchange.com/questions/251540/ for some good discussions on magic constants.

But it's pretty much just for clarity and preventing your code from turning into an enigmatic riddle, and poorly written but logical code that uses lots of them will still compile and run just fine at the same speeds, right (not that I am advocating their use)?

Anyway, I need to try a new book. I don't care what programming language. My only two requirements are that it be a well-written/gripping read, and a consistent, current, and in depth enough book that if I work through it, I'll be at a point where I can write almost anything by supplementing my knowledge here and there independently.

Open for recommendations.

A gripping coding book??? Not sure if one exists lol.

I can't complain about "beginning Javascript"  The examples are interesting and useful and it moves at a good pace.  I actually feel like I kind of no what I'm doing when I write a program from scratch.

It's cool to be able to write the code and then immediately interact with the program through the browser.  The mainstream browsers also have some decent debugging tools to.

I know you wanted to learn C++, but I think if you started with javascript first that it would keep your interest longer.  There seem to be lots of real world examples to either practice on or emulate.

Personally I almost quit because it seemed like I wasn't getting anywhere, but I just kept doing at least 1 or 2 pages each day and eventually I gained some confidence and started to improve.  Doing a little (maybe only 15 minutes or so) each day or every other day definitely helped.

that sounds like a good idea. maybe I'll take a look at javascript. codecademy really did a good job of holding my interest for python but it wasn't comprehensive enough. it basically left me at the same point that I'm at with every other language I've ever tried to study. earlier in the year you mentioned a similar site to codecademy, but oriented towards javascript, how did that pan out for you?
It's an article called "learn JavaScript properly" on the website JavaScriptissexy.com.

It is basically a lesson plan giving specific steps on how to learn JavaScript. It even tells you what chapters of the book to read and when to use codeacedemy as a supplement.  If you are looking for a solid structured plan to learn JavaScript, I think this course is a good fit.  Best of all it's free, other than the 35 dollar text book that i bought off Amazon.
Title: Re: Code Academy Learning Path?
Post by: fuzzy on June 14, 2016, 07:14:54 am
You know lil jay this initiative makes a heck of a lot more sense now that steemit exists..
Title: Re: Code Academy Learning Path?
Post by: lil_jay890 on June 14, 2016, 11:32:52 am
You know lil jay this initiative makes a heck of a lot more sense now that steemit exists..

I've only just casually used steem... how do you mean?
Title: Re: Code Academy Learning Path?
Post by: 70231f697a2b3c2b on June 14, 2016, 03:23:16 pm
interesting! that is not how I would have guessed that works. I perused that discussion, but at the moment that's the only way I could think of to optimize at all, let alone unnecessarily. I'm just not there yet.

No worries.  Let it percolate, maybe come back to it in a few months and see if it makes more sense.

I use this technique from time to time at my job.  By the second or third time I review an article, my perspective and situation have changed, leading to new insights.

do you have any advice regarding my dilemma on getting started and over the hill, as described in this thread?

In my opinion, the best way to learn how to code is by coding.  If you are having trouble finding resources to learn from, or if you are having trouble staying motivated, maybe it's time to jump the formal track and just dive into a project that you're passionate about.  The learning will be less structured, but at least you'll make regular progress, and you'll still learn what you need to know (it'll just take a little longer is all).
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on June 16, 2016, 02:53:30 am
You know lil jay this initiative makes a heck of a lot more sense now that steemit exists..

I've only just casually used steem... how do you mean?

he means because people would get "paid" to help others learn to code.
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on June 16, 2016, 02:57:30 am
do you have any advice regarding my dilemma on getting started and over the hill, as described in this thread?

In my opinion, the best way to learn how to code is by coding.  If you are having trouble finding resources to learn from, or if you are having trouble staying motivated, maybe it's time to jump the formal track and just dive into a project that you're passionate about.  The learning will be less structured, but at least you'll make regular progress, and you'll still learn what you need to know (it'll just take a little longer is all).

Thank you for your input. Say I wanted to extend that interest to something like... bts...

Should I just pick a language, pull up the source code for a version of graphene that can be released freely, and get to rewriting at my lack of skill level, just researching every single new thing as I go and pestering reddit relentlessly for advice? What sort of project do you suppose would be a good start?
Title: Re: Code Academy Learning Path?
Post by: 70231f697a2b3c2b on June 16, 2016, 05:20:46 am
Thank you for your input. Say I wanted to extend that interest to something like... bts...

Should I just pick a language, pull up the source code for a version of graphene that can be released freely, and get to rewriting at my lack of skill level, just researching every single new thing as I go and pestering reddit relentlessly for advice? What sort of project do you suppose would be a good start?

Good questions.  Learning how to code by rewriting Graphene is akin to learning construction by recreating the Burj Khalifa.  It is possible, but the process will be extremely slow, difficult and fraught with peril (think more, "learning bad habits" and less, "plummeting 2.7km to your death").  No one will disparage your ambition, but there may be more effective ways for you to build your skill set.

Instead, think of the Burj Khalifa as the foundation that you will build upon (e.g., set yourself to the task of constructing a helipad at the top of the building).  The existing tower will provide structure that you can use to support your creation, and you can reference aspects of the building for inspiration and best-practices.

This may sound anti-climactic, but starting small grants you many benefits:


And, you can always expand the scope of the project later, when you're ready to work on v2.0.

If you'd like a starter app that you can use as a PoC, try this:


@xeroc has published a fantastic library on GitHub (https://github.com/xeroc/python-graphenelib) that you can use in a Python application to interact with the BitShares blockchain.  The code is incredibly well-documented, and it includes several examples that you can look at and run (https://github.com/xeroc/python-graphenelib/tree/master/examples) to see how it works.

This may seem like a trivial application, but keep in mind that your primary goal at this point is to learn, so you want to design the requirements of your first application around that goal.  Once you get the hang of it, new ideas will start to flow, and you will start building momentum to tackle larger and more complex projects.

If you have any questions, need help understanding how something works, run into a bug that you can't squash – even if you need assistance getting started – do not hesitate to post on BitSharesTalk/StackOverflow/Reddit/etc.
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on June 16, 2016, 04:57:58 pm
Thank you for your input. Say I wanted to extend that interest to something like... bts...

Should I just pick a language, pull up the source code for a version of graphene that can be released freely, and get to rewriting at my lack of skill level, just researching every single new thing as I go and pestering reddit relentlessly for advice? What sort of project do you suppose would be a good start?

Good questions.  Learning how to code by rewriting Graphene is akin to learning construction by recreating the Burj Khalifa.  It is possible, but the process will be extremely slow, difficult and fraught with peril (think more, "learning bad habits" and less, "plummeting 2.7km to your death").  No one will disparage your ambition, but there may be more effective ways for you to build your skill set.

Instead, think of the Burj Khalifa as the foundation that you will build upon (e.g., set yourself to the task of constructing a helipad at the top of the building).  The existing tower will provide structure that you can use to support your creation, and you can reference aspects of the building for inspiration and best-practices.

This may sound anti-climactic, but starting small grants you many benefits:

  • You can complete the project more quickly.
  • You can publish your code more frequently and get valuable feedback from other developers.
  • Other developers will be more inclined to review your code if there's less code to review.
  • A smaller project has fewer moving pieces, which frees up head-space for learning and retaining new concepts as you go.
  • A smaller project is easier to refactor if you realize that you made a mistake in a critical piece of code.

And, you can always expand the scope of the project later, when you're ready to work on v2.0.

If you'd like a starter app that you can use as a PoC, try this:

  • The application runs via command-line.
  • When started, the application will prompt the user to enter a BitShares account name and press return.
  • If the account name is blank, the application will exit.
  • Else, output the corresponding BTS balance.
  • When finished outputting the balance, the application will prompt the user to enter another BitShares account name.  Continue until the user enters an empty account name.

@xeroc has published a fantastic library on GitHub (https://github.com/xeroc/python-graphenelib) that you can use in a Python application to interact with the BitShares blockchain.  The code is incredibly well-documented, and it includes several examples that you can look at and run (https://github.com/xeroc/python-graphenelib/tree/master/examples) to see how it works.

This may seem like a trivial application, but keep in mind that your primary goal at this point is to learn, so you want to design the requirements of your first application around that goal.  Once you get the hang of it, new ideas will start to flow, and you will start building momentum to tackle larger and more complex projects.

If you have any questions, need help understanding how something works, run into a bug that you can't squash – even if you need assistance getting started – do not hesitate to post on BitSharesTalk/StackOverflow/Reddit/etc.

Great idea! The Burj Khalifa comparison gave me a good hearty laugh.

Your project idea sounds very plausible for my skill level, but I'm going to have to learn how to make a programming language interact with the internet, so it also sounds challenging.

I accept your homework.
Title: Re: Code Academy Learning Path?
Post by: fuzzy on June 16, 2016, 05:00:00 pm
You know lil jay this initiative makes a heck of a lot more sense now that steemit exists..

I've only just casually used steem... how do you mean?

People upvoting team efforts to learn code together would pay the entire team as well as those who organize these sitdowns.
:)
Title: Re: Code Academy Learning Path?
Post by: xeroc on June 17, 2016, 04:45:47 pm
Thank you for your input. Say I wanted to extend that interest to something like... bts...

Should I just pick a language, pull up the source code for a version of graphene that can be released freely, and get to rewriting at my lack of skill level, just researching every single new thing as I go and pestering reddit relentlessly for advice? What sort of project do you suppose would be a good start?

Good questions.  Learning how to code by rewriting Graphene is akin to learning construction by recreating the Burj Khalifa.  It is possible, but the process will be extremely slow, difficult and fraught with peril (think more, "learning bad habits" and less, "plummeting 2.7km to your death").  No one will disparage your ambition, but there may be more effective ways for you to build your skill set.

Instead, think of the Burj Khalifa as the foundation that you will build upon (e.g., set yourself to the task of constructing a helipad at the top of the building).  The existing tower will provide structure that you can use to support your creation, and you can reference aspects of the building for inspiration and best-practices.

This may sound anti-climactic, but starting small grants you many benefits:

  • You can complete the project more quickly.
  • You can publish your code more frequently and get valuable feedback from other developers.
  • Other developers will be more inclined to review your code if there's less code to review.
  • A smaller project has fewer moving pieces, which frees up head-space for learning and retaining new concepts as you go.
  • A smaller project is easier to refactor if you realize that you made a mistake in a critical piece of code.

And, you can always expand the scope of the project later, when you're ready to work on v2.0.

If you'd like a starter app that you can use as a PoC, try this:

  • The application runs via command-line.
  • When started, the application will prompt the user to enter a BitShares account name and press return.
  • If the account name is blank, the application will exit.
  • Else, output the corresponding BTS balance.
  • When finished outputting the balance, the application will prompt the user to enter another BitShares account name.  Continue until the user enters an empty account name.

@xeroc has published a fantastic library on GitHub (https://github.com/xeroc/python-graphenelib) that you can use in a Python application to interact with the BitShares blockchain.  The code is incredibly well-documented, and it includes several examples that you can look at and run (https://github.com/xeroc/python-graphenelib/tree/master/examples) to see how it works.

This may seem like a trivial application, but keep in mind that your primary goal at this point is to learn, so you want to design the requirements of your first application around that goal.  Once you get the hang of it, new ideas will start to flow, and you will start building momentum to tackle larger and more complex projects.

If you have any questions, need help understanding how something works, run into a bug that you can't squash – even if you need assistance getting started – do not hesitate to post on BitSharesTalk/StackOverflow/Reddit/etc.

Great idea! The Burj Khalifa comparison gave me a good hearty laugh.

Your project idea sounds very plausible for my skill level, but I'm going to have to learn how to make a programming language interact with the internet, so it also sounds challenging.

I accept your homework.
You should take a look at 'airsign' in my github repo. It is a cli wallet tool that talks to bitshares network ..
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on June 18, 2016, 02:18:36 am
Thank you for your input. Say I wanted to extend that interest to something like... bts...

Should I just pick a language, pull up the source code for a version of graphene that can be released freely, and get to rewriting at my lack of skill level, just researching every single new thing as I go and pestering reddit relentlessly for advice? What sort of project do you suppose would be a good start?

Good questions.  Learning how to code by rewriting Graphene is akin to learning construction by recreating the Burj Khalifa.  It is possible, but the process will be extremely slow, difficult and fraught with peril (think more, "learning bad habits" and less, "plummeting 2.7km to your death").  No one will disparage your ambition, but there may be more effective ways for you to build your skill set.

Instead, think of the Burj Khalifa as the foundation that you will build upon (e.g., set yourself to the task of constructing a helipad at the top of the building).  The existing tower will provide structure that you can use to support your creation, and you can reference aspects of the building for inspiration and best-practices.

This may sound anti-climactic, but starting small grants you many benefits:

  • You can complete the project more quickly.
  • You can publish your code more frequently and get valuable feedback from other developers.
  • Other developers will be more inclined to review your code if there's less code to review.
  • A smaller project has fewer moving pieces, which frees up head-space for learning and retaining new concepts as you go.
  • A smaller project is easier to refactor if you realize that you made a mistake in a critical piece of code.

And, you can always expand the scope of the project later, when you're ready to work on v2.0.

If you'd like a starter app that you can use as a PoC, try this:

  • The application runs via command-line.
  • When started, the application will prompt the user to enter a BitShares account name and press return.
  • If the account name is blank, the application will exit.
  • Else, output the corresponding BTS balance.
  • When finished outputting the balance, the application will prompt the user to enter another BitShares account name.  Continue until the user enters an empty account name.

@xeroc has published a fantastic library on GitHub (https://github.com/xeroc/python-graphenelib) that you can use in a Python application to interact with the BitShares blockchain.  The code is incredibly well-documented, and it includes several examples that you can look at and run (https://github.com/xeroc/python-graphenelib/tree/master/examples) to see how it works.

This may seem like a trivial application, but keep in mind that your primary goal at this point is to learn, so you want to design the requirements of your first application around that goal.  Once you get the hang of it, new ideas will start to flow, and you will start building momentum to tackle larger and more complex projects.

If you have any questions, need help understanding how something works, run into a bug that you can't squash – even if you need assistance getting started – do not hesitate to post on BitSharesTalk/StackOverflow/Reddit/etc.

Great idea! The Burj Khalifa comparison gave me a good hearty laugh.

Your project idea sounds very plausible for my skill level, but I'm going to have to learn how to make a programming language interact with the internet, so it also sounds challenging.

I accept your homework.
You should take a look at 'airsign' in my github repo. It is a cli wallet tool that talks to bitshares network ..

Thank you xeroc, I will. I've already installed the repos that 7 linked, but I haven't had a chance to sit down and think about coding yet. Got both jobs tomorrow and job #1 sunday.
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on June 19, 2016, 07:30:01 pm
Am working on that project right now, but I had a follow up question regarding how compilers turn code into bytecode.

Is it ever possible, at a certain level of simplicity maybe, for two different programming languages to compile the same bytecode?
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on June 19, 2016, 07:57:31 pm
@70231f697a2b3c2b

Here's what I've gotten so far. I haven't tried to compile yet, figure I'll bugfix once the whole thing's written.

I'm currently perusing xeroc's libraries to try and figure out how I should proceed

Code: [Select]
# passes in a Bitshares name,
# returns corresponding balance from blockchain
def bal(name):
name = string(name)
if name == "" or name == " "
print("No name entered.")
#code to make program exit
else
balance = #something goes here, probably a call to one of xerocs libraries which I should import, right?
return balance

# greet the user, get a name
name = input("Greetings, please enter a Bitshares name, leave blank to exit: /n")

# pass name to bal function to return balance
balance = bal(name)
print("BTS balance: " + balance)

@xeroc 
I can't find airsign in your github repo, where would it be? found it
Title: Re: Code Academy Learning Path?
Post by: xeroc on June 19, 2016, 09:08:11 pm
Take a look at http://python-graphenelib.readthedocs.io/en/latest/exchange.html#usage-1
Title: Re: Code Academy Learning Path?
Post by: xeroc on June 19, 2016, 09:08:29 pm
... there is also a youtube live coding for the exchange stuff
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on June 19, 2016, 10:39:13 pm
trying to figure out how to pull the balance for whatever account name is entered.

i was looking at two ways.

in airsign (https://github.com/xeroc/airsign/blob/master/airsign/__main__.py) I see that lines 247-260 seem to accomplish this. So I'm thinking I need to figure out a way to simplify that code into something usable for me. It seems to be working with an object called "rpc," which is an instance of GrapheneWebSocketRPC from the graphenenewsrpc api (lines 204, and 6). So I went to scope out  this code  (https://github.com/xeroc/python-graphenelib/blob/master/grapheneapi/graphenewsprotocol.py) to see what airsign was referring to and I'm not finding a get_accounts_balance like in the airsign code of line 251.

the return balances call in the examples you just linked may help, xeroc, but then I'll have to figure out a way to get just the BTS balance to show up on screen. I'd also have to change account name "xeroc" to an argument in the class config example.

Am I on the right track?
Title: Re: Code Academy Learning Path?
Post by: 70231f697a2b3c2b on June 20, 2016, 03:03:03 am
So far it looks like you're on the right track.

The tricky part is that GrapheneWebsocketRPC defines a magic method called __getattr__ (https://github.com/xeroc/python-graphenelib/blob/master/grapheneapi/graphenewsrpc.py#L307).

When you try to access an attribute that does not exist, Python will try to call that object's `__getattr__` method instead (if the object doesn't have a `__getattr__`, Python will raise an `AttributeError`).

Here's what's going on when you call `rpc.get_account_balances(account["id"], [])`:


The end result is an API request that looks something like this (I think "xeroc" is actually replaced by a numeric ID, but otherwise this should be correct; I'm interpreting the code manually):

Code: [Select]
{
  "method": "query",
  "params": [0, get_account_balances, ["xeroc", []]],
  "jsonrpc": "2.0",
  "id": 0
}

You can verify this by adding `print query` just before `self.rpcexec(query)` (https://github.com/xeroc/python-graphenelib/blob/master/grapheneapi/graphenewsrpc.py#L322)

* (it's actually a little more complicated than this, but the extra bits aren't important here, so I omitted them for KISS)
Title: Re: Code Academy Learning Path?
Post by: xeroc on June 20, 2016, 07:05:15 am
@70231f697a2b3c2b is right here. The `rpc` (or somethimes also `ws`) are objects whose methods are wrapped around a RPC-call and get forwarded to the witness node (or cli wallet).
I use this kind of syntax because it makes it very easy to use ANY method that is implemented in the witness node. If there was a new call added (like `foobar`) you could use it right away by calling `rpc.foobar()` without waiting for me to update the library ..
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on June 20, 2016, 07:13:34 pm
So far it looks like you're on the right track.

The tricky part is that GrapheneWebsocketRPC defines a magic method called __getattr__ (https://github.com/xeroc/python-graphenelib/blob/master/grapheneapi/graphenewsrpc.py#L307).

When you try to access an attribute that does not exist, Python will try to call that object's `__getattr__` method instead (if the object doesn't have a `__getattr__`, Python will raise an `AttributeError`).

Here's what's going on when you call `rpc.get_account_balances(account["id"], [])`:

  • First, Python has to resolve `rpc.get_account_balances`.  Ignore the `(account["id"], [])` part for now.
  • Python looks for `rpc.get_account_balances`, but it doesn't exist.
  • Python looks for `rpc.__getattr__`, which does exist.*
  • Python invokes `rpc.__getattr__('get_account_balances')` (note that it passes the name of the attribute it's trying to resolve, not the parameters `account["id"], []` )
  • `rpc.__getattr__` returns a function that will send a `get_account_balances` API request when invoked.
  • Now that Python has resolved `rpc.get_account_balances`, it can now interpret the `(account["id"], [])` part.
  • Python effectively replaces `rpc.get_account_balances` with the function from step 5, and it then invokes the function using the parameters `(account["id"], [])`.

The end result is an API request that looks something like this (I think "xeroc" is actually replaced by a numeric ID, but otherwise this should be correct; I'm interpreting the code manually):

Code: [Select]
{
  "method": "query",
  "params": [0, get_account_balances, ["xeroc", []]],
  "jsonrpc": "2.0",
  "id": 0
}

You can verify this by adding `print query` just before `self.rpcexec(query)` (https://github.com/xeroc/python-graphenelib/blob/master/grapheneapi/graphenewsrpc.py#L322)

* (it's actually a little more complicated than this, but the extra bits aren't important here, so I omitted them for KISS)

I'm mostly following, I think. In step 6, how does it interpret that part? I'm thinking I only need lines 248, 251, and 257 in airsign _main_.py to do what I need to do if I instantiate my own rpc object.

__getattr__ seems like a method for choosing from a variety of methods based on the input, does that seem accurate?
Title: Re: Code Academy Learning Path?
Post by: 70231f697a2b3c2b on June 21, 2016, 06:00:10 am
I'm mostly following, I think. In step 6, how does it interpret that part? I'm thinking I only need lines 248, 251, and 257 in airsign _main_.py to do what I need to do if I instantiate my own rpc object.

Start with a simple example:

Code: [Select]
the_answer = 42

class Test1(object):
  def __getattr__(self, name):
    return the_answer

t1 = Test1()

t1.foo # 42
t1.bar # 42

t1.foo + t1.bar # 84

In the first example, wherever you see `t.something`, you can substitute `the_answer`, and that's more or less what Python does, too.

Now let's make it a little more interesting:

Code: [Select]
def get_the_answer():
  return 42

get_the_answer # <function get_the_answer at 0x10906ec80>
get_the_answer() # 42

Once you define a function, you can treat it just like any other variable.  `the_answer` is a reference to a variable containing the value `42`, and `get_the_answer` is a reference to a function that returns `42` when invoked.

Code: [Select]
class Test2(object):
  def __getattr__(self, name):
    return get_the_answer

t2 = Test2()

t2.foo # <function get_the_answer at 0x10906ec80>
t2.bar # <function get_the_answer at 0x10906ec80>

t2.foo() # 42

`Test2.__getattr__` returns a reference to the `get_the_answer` function, so wherever you see `t2.something`, you can substitute `get_the_answer`:

t2.foo => get_the_answer => <function get_the_answer at 0x10906ec80>
t2.foo() => get_the_answer() => 42

One more example to bring it closer to what you saw in airsign:

Code: [Select]
class Test3(object):
  def __getattr__(self, name):
    def create_request(*args):
      return {'params': [name, args], 'method': 'query'}
    return create_request

t3 = Test3()

t3.foo # <function create_request at 0x10906ec80>
t3.bar # <function create_request at 0x109088668>

t3.foo() # {'params': ['foo', ()], 'method': 'query'}
t3.bar(1, 2, 3) # {'params': ['bar, (1, 2, 3)], 'method': 'query'}

Unlike `Test2.__getattr__` where it returned a reference to the same function every time, `Test3.__getattr__` creates a function on the fly and returns that, but otherwise the idea is the same.

__getattr__ seems like a method for choosing from a variety of methods based on the input, does that seem accurate?

Not quite.  In this case, `GrapheneWebsocketRPC.__getattr__` literally creates a new function every time you call it, similar to `Test3.__getattr__`.  You can verify this by checking the object ID of the resulting function:

Code: [Select]
t2.foo # <... at 0x10906ec80>
t2.foo # <... at 0x10906ec80> (same)

t3.foo # <... at 0x10907ccf8>
t3.foo # <... at 0x109075758> (different)

(if you run the code on your system, the exact values will be slightly different, but the result will be the same; `t2.foo` always returns the same instance, but `t3.foo` always returns a different one)

Note:  when you write your own classes, you don't have to use `__getattr__` this way.  It has many uses; generating a function on the fly is just one of them.
Title: Re: Code Academy Learning Path?
Post by: 70231f697a2b3c2b on July 22, 2016, 04:15:07 pm
If you want a really cool intro to Python and cryptography, work your way through https://inventwithpython.com/hacking/chapters/ .  It will help you get up to speed with Python, and you'll be learning by writing programs to implement and break cryptographic ciphers.

Once you're feeling confident, then move onto https://cryptopals.com/ .
Title: Re: Code Academy Learning Path?
Post by: fuzzy on July 23, 2016, 12:24:07 am
If you want a really cool intro to Python and cryptography, work your way through https://inventwithpython.com/hacking/chapters/ .  It will help you get up to speed with Python, and you'll be learning by writing programs to implement and break cryptographic ciphers.

Once you're feeling confident, then move onto https://cryptopals.com/ .

You are awesome....
Title: Re: Code Academy Learning Path?
Post by: 70231f697a2b3c2b on July 26, 2016, 03:02:54 am
If you want a really cool intro to Python and cryptography, work your way through https://inventwithpython.com/hacking/chapters/ .  It will help you get up to speed with Python, and you'll be learning by writing programs to implement and break cryptographic ciphers.

Once you're feeling confident, then move onto https://cryptopals.com/ .

You are awesome....

555 Well, I'll take a teeny bit of credit for posting the links, but I am really amazed at the knowledge (and generosity) demonstrated by the creators of those projects.

Incidentally, anyone who's interested in working through these exercises collaboratively, send me a PM.
Title: Re: Code Academy Learning Path?
Post by: unreadPostsSinceLastVisit on August 03, 2016, 08:53:36 pm
Hey sorry for the vanishing act. Lost control of my life... again...
Title: Re: Code Academy Learning Path?
Post by: 70231f697a2b3c2b on August 11, 2016, 11:09:21 pm
JetBrains recently released a new version of PyCharm Edu (https://www.jetbrains.com/pycharm-edu/).  PyCharm is a fantastic Python IDE, and the Edu edition is a free version loaded up with Python courses and exercises to get you up-to-speed.

Because PyCharm Edu is built on top of a real working Python IDE, you also get the benefits of code inspection, pop-up documentation, and more.  It's like Code Academy on steroids.  You can also browse and download new lessons directly from PyCharm Edu.

Here's a video of PyCharm Edu in action:
https://youtu.be/ztXR9tP1KVc (https://youtu.be/ztXR9tP1KVc)

You can download PyCharm Edu here:
https://www.jetbrains.com/pycharm-edu/download/ (https://www.jetbrains.com/pycharm-edu/download/)

Disclaimer:  I haven't used PyCharm Edu, but I am a professional Python developer and have used several IDEs over the past several years, and I can attest to the exceptional quality of JetBrains products.  If PyCharm Edu is built on top of the PyCharm IDE (it is), then I'm confident that it is really good.
Title: Re: Code Academy Learning Path?
Post by: fuzzy on August 12, 2016, 05:17:03 am
JetBrains recently released a new version of PyCharm Edu (https://www.jetbrains.com/pycharm-edu/).  PyCharm is a fantastic Python IDE, and the Edu edition is a free version loaded up with Python courses and exercises to get you up-to-speed.

Because PyCharm Edu is built on top of a real working Python IDE, you also get the benefits of code inspection, pop-up documentation, and more.  It's like Code Academy on steroids.  You can also browse and download new lessons directly from PyCharm Edu.

Here's a video of PyCharm Edu in action:
https://youtu.be/ztXR9tP1KVc (https://youtu.be/ztXR9tP1KVc)

You can download PyCharm Edu here:
https://www.jetbrains.com/pycharm-edu/download/ (https://www.jetbrains.com/pycharm-edu/download/)

Disclaimer:  I haven't used PyCharm Edu, but I am a professional Python developer and have used several IDEs over the past several years, and I can attest to the exceptional quality of JetBrains products.  If PyCharm Edu is built on top of the PyCharm IDE (it is), then I'm confident that it is really good.

You are a badass man...can i upvote you?  wait... :(