Thoughts on x86 assembly and infosec
So in working more with Sam Bowne’s CCSF classes, I definitely need to get better with assembly which should be a fun challenge. Additionally I watched an infosec panel this evening and infosec seems to suffer from the same issues that the software development/engineering field does, whicch is pipeline problems and getting into the industry. Usually the advice on how to solve the two issues comes down to 1. Do work for free to display “passion” and 2. “be passionate”. I take issue with both of those, because as the art community puts it “exposure doesn’t pay the bills”, so the question is, why do work for free/be passionate, when it’s entirely possible (though admittedly harder) to go through the route to the industry where you don’t have to do that?
Finally getting set up
Finally got set up with a VM after a boot/CPU scare. It was easier than I expected and now I’m finally getting the tooling I want on to the machine. I think my first order of business for analysis is looking at old malware and analyzing it.
RE-Malware Analysis 101
Malware analysis/RE is always fun from CTFs to just random stuff found on the internet like farming bots While I’ve worked with some IDA in the past, I’m getting into Ghidra with The Ghidra Book/Definitive Guide to Ghidra to have a more robust toolset when it comes to RE. I’m getting back into RE/malware analysis because development is fun, but RE feels like more of a chess game/challenge to figure out. So far I’m going through the general static analysis stuff, have a lab/dynamic analysis environment set up, and am going back over some of the basics with Sam Bowne’s classes.
pull requests!
Getting back into workflow has been anxiety inducing, hoping that I’m making the right change, the right pull, and following workflow correctly. Oh well, things can only get better from here. Advent of Code is also having the wonderful side effect of making me feel dumber, but that’s the feeling I enjoy and miss so much about coding.
AdventOfCode FOSDEM
I’ve been having fun and practicing lately with Advent of Code which has been a ton of fun and learning. Furthermore, I found a super cool talk from FOSDEM 2021 by its creator Topaz/Eric Wastl which was a great listen with tons of behind the scenes info of AoC and thoughts on accessiblity, puzzles, and coding in general.
Financial Advice
Today I came across an interesting PBS VOD on financial advice that boils down to Save 10-20% of income, pay off credit card debt in full every month, invest in mutual funds/don’t try to pick stocks, max out your 401k, get high deductible insurance, promote social insurance/programs.
Security Fun
So I found this article regarding an active disinformation campaign extremely interesting. I think it’s interesting for a few reasons in that it shows that disinformation is constant thing being played out, how disinformation is disseminated in a modern media ecosystem and potential reasons for why something like that would be happening now. I can think of a few off of the top of my head.
Conferences and stuff
It was another great couple of days for Github Universe this year, and I really enjoyed it and got to meet a ton of fun and interesting people along the way in addition to learning some really cool things.
Day 12 End Of Day
Today was starting to cover integration. I also realized that I’m behind where I want to be so I’ll have to work out a tighter schedule to get it sorted out.
Day11 EndOfDay
Today was finishing up on derivatives and going over all of the rules again.
Day10 End Of Day Report
Today was getting git/version control set up on my work environment for myself and my team as well as myself. Continued to work on differentation getting some outside resources for implicit differentiation.
Day9 End Of Day Report
Today was getting through more calculus and making sure I fully understand the basics of derivatives/the notation for them.
Day8 End Of Day
So today I got deeper into derivatives and started learning the rules. I also got to help teach someone HTML and how to code/contribute.
day7 EndOfDay
Today was more derivatives while speaking with Github and planning for SF in October.
Day6 end of day report
So I got finished for the most part with my weekend project, and it’s going to require some more research, but the hard stuff is over for now. Today I reviewed derivatives again to make sure they stuck and started on some basic integration stuff.
Day6 FunProjectsAndCalc
So today I ended up working on a fun side project compiling stock data, and reviewed some calc/derivaties.
Day 5 Even More Calc
So today consisted of going over more of the formal defnition of a derivative (which I still need to study more/be more comfortable with), and getting into derivative rules.
day4 More Calc
So today was all about getting more calc done, focusing on KA practice and reviewing the basics of what I need i.e. trig identities, remebering the slope formula, standard form of a line equation, radians/degrees, etc… I also read some more of the BWAPI documentation and need to commit to an open source project.
Day3 Learning Syntax
Ok, so the last day or so I’ve been diving in through tutorial videos and stack overflow posts for C++ syntax since it’s in one of the upcoming class, and it’s not bad, but pointers aren’t really fun.
day2EndOfDayReport
Today I opted to brush up on/study limits more, especially on trig limits. Overall things are progressing slower than I’d like, but they’re progressing which is what matters in the end.
21 06 58day1
layout: post title: day1 date: 2018-08-21-21-06-58 author: techenomics1 comments: true categories: [Uncategorized]—
End Of Day 0 report
End Of Day 0 Report
PR and Politics
Walmart announced today that they’re subsidizing college tution for employees, which is a great notion and more companies should follow suit. However, it’s important to look at the caveats and context with this as well:
journal entries 2018-05-27
journal entries 2018-05-26
journal entries 2018-05-21
journal entries 2018-05-20
journal entries 2018-05-19
journal entries 2018-05-18
journal entries 2018-05-16
journal entries 2018-05-15
journal entries 2018-05-14
journal entries 2018-05-13
journal entries 2018-05-12
journal entries 2018-05-10
journal entries 2018-05-09
journal entries 2018-05-08
2018-05-08 21:33, Today I learned that Javascript’s eval is an AWESOME function since I was orginally going to parse through the array that I was throwing things into, but luckily eval handles all of converting strings to a final calculation.
Now I just need to update the HTML window ECHO is off.
journal entries 2018-05-07
journal entries 2018-05-05
journal entries 2018-05-04
journal entries 2018-04-30
journal entries 2018-04-29
journal entries 2018-04-28
journal entries 2018-04-27
journal entries 2018-04-26
journal entries 2018-04-25
journal entries 2018-04-24
journal entries 2018-04-23
journal entries 2018-04-22
journal entries 2018-04-21
journal entries 2018-04-19
journal entries 2018-04-18
journal entries 2018-04-17
journal entries 2018-04-16
journal entries 2018-04-14
journal entries 2018-04-12
journal entries 2018-04-11
journal entries 2018-04-10
2018-04-10 16:50, I keep thinking Waaaayyyyyy too much about the Iron Man movies, and how they’ve influenced my love/disposition toward tech.
journal entries 2018-04-09
journal entries 2018-04-08
2018-04-08 13:18, Learned a ton at Sunhacks and super happy with my team and our presentation
Learned about good team communication practices, planning, and how to change project scope. ECHO is off.
journal entries 2018-04-07
journal entries 2018-04-06
journal entries 2018-04-04
Project Management
I’m now realizing more and more, why project management is important. Timelines/deadlines. There was a good thread on r/programmer analyzing the Stack Overflow dev survey and what it mean for overtime/time management.
Notes on everything new in ECMAScript 2016, 2017, 2018
ECMAScript 2016(AKA: ES7)
Updates on Life
So I’ve got a coding project at work, and things are…interesting. I’m the only person working on the coding project which is a mix of jQuery, HTML5, CSS, and Javascript all of which has few comments, and there is NO documentation to speak of anywhere(well at least until I started implementing some).
journal entries 2018-04-02
journal entries 2018-04-01
journal entries 2018-03-30
journal entries 2018-03-29
journal entries 2018-03-28
journal entries 2018-03-27
journal entries 2018-03-26
journal entries 2018-03-25
journal entries 2018-03-24
journal entries 2018-03-23
journal entries 2018-03-22
journal entries 2018-03-21
journal entries 2018-03-20
journal entries 2018-03-19
journal entries 2018-03-18
journal entries 2018-03-17
journal entries 2018-03-16
journal entries 2018-03-15
journal entries 2018-03-14
journal entries 2018-03-13
journal entries 2018-03-11
journal entries 2018-03-10
journal entries 2018-03-09
journal entries 2018-03-08
journal entries 2018-03-07
journal entries 2018-03-04
2018-03-04 20:35, Finally
After ~1 month of work, hours of trial and error, and endless frustration, roadblocks, and setbacks, I’ve finally completed the letter/email writer I set out to build in Python FeelsGood.jpg ECHO is off.
journal entries 2018-03-03
2018-03-03 19:33, FINALLY finished my first book, grokking Algorithms
journal entries 2018-03-02
journal entries 2018-02-28
journal entries 2018-02-26
journal entries 2018-02-24
journal entries 2018-02-22
journal entries 2018-02-21
journal entries 2018-02-20
journal entries 2018-02-19
2018-02-19 22:57, It feels good to be working on javascript again and working on FCC stuff
journal entries 2018-02-18
2018-02-18 19:37, Learning about P, NP, and NP complete problems today along with greedy algorithms feels very intellectually satisfying in a way that I haven’t felt in a while.
Learning about software development
So I’m writing this because I don’t know when I will otherwise. Here are the main points I’ve learned while developing a fun and potentially useful side project:
journal entries 2018-02-16
journal entries 2018-02-14
journal entries 2018-02-13
journal entries 2018-02-12
2018-02-12 18:17, Oh lord, I feel SOOOOO dirty.
TWO GLOBAL VARIABLES IN THIS PROGRAM ughhhhhhhhh…. ECHO is off.
2018-02-12 19:21, adding features takes longer than you think, and properly added features take even longer than that…
journal entries 2018-02-10
journal entries 2018-02-09
journal entries 2018-02-08
2018-02-08 17:50, I have no idea what I’m doing dog meme
journal entries 2018-02-07
2018-02-07 22:44, One of the things that still drives me is the OODA loop (Observe, Orient, Direct, Act), I’m finding it to be a simple yet effective approach to software development at this point.
journal entries 2018-02-06
2018-02-06 23:41, I’m realizing more and more that good programming is about good planning/implementation/future proofing.
journal entries 2018-02-05
2018-02-05 18:43, With this letter generator I’m certainly learning that perfect is the enemy of good.
journal entries 2018-02-04
2018-02-04 09:00, Installed ubuntu on Windows, watched an AI class, cleaned up, got laundry done, worked on a good portion of my letter generator.
Things I did not get done: buy a charger for my razor. ECHO is off.
journal entries 2018-02-03
2018-02-02 14:48, Now I’m finally figuring out the joy of refactoring…it feels nice making a program better.
journal entries 2018-02-02
2018-02-02 14:48, Now I’m finally figuring out the joy of refactoring…it feels nice making a program better.
journal entries 2018-02-01
2018-02-01 13:00, Now let’s write the aff….
ECHO is off.
2018-02-01 21:14, I’m having a brick wall when it comes to deconstructing this blackjack project.
I have everything I want/need but I want to break parts of it down into smaller functions, but don’t currently see a reasonable way to do that. ECHO is off.
2018-02-01 22:31, Who knew, updating one variable can make ALL the difference
journal entries 2018-01-31
2018-01-31 13:06, For some reason it still surprises me that print() is a NoneType object in python despite reading over/through that multiple times.
ECHO is off.
2018-01-31 18:26, Ok, I have hacky blackjack, but it’s there…ugh.
Now I need to prettify it. ECHO is off.
journal entries 2018-01-30
2018-01-30 18:03, Did I actually find a possible mentor???
Stay tuned ECHO is off.
journal entries 2018-01-29
2018-01-29 23:23, Getting emails from metors and finding awesome resources online is a great feeling.
journal entries 2018-01-28
2018-01-28 22:16, Horray for that feeling of solving a problem after a long time of trying at it.
journal entries 2018-01-26
journal entries 2018-01-25
2018-01-25 12:10, YES
I FINALY SOLVED IT//www.reddit.com/r/dailyprogrammer/comments/3bzipa/20150703_challenge_221_hard_poetry_in_a_haystack/ It only took me 4 days at about 4 hours a day, but I solved it ECHO is off.
journal entries 2018-01-23
2018-01-23 22:20, That feeling when you compile a full dictionary that you like <3
journal entries 2018-01-22
journal entries 2018-01-21
2018-01-21 22:17, Some days you try a lot of stuff and don’t get it right, today was one of those days.
Ah well, there’s always tomorrow. ECHO is off.
journal entries 2018-01-20
2018-01-20 00:22, Oh my goodness, getting rid of awkward linting/syntax highlighting around my code in Sublime helped soooooo much
https://stackoverflow.com/questions/41469055/sublime-text-3-white-boxes-around-lines ECHO is off.
2018-01-20 12:40, Well that was a fun adventure of trying to get a database set up and working, luckily http://bobbyong.com/blog/installing-postgresql-on-windoes/ that link/post helped a ton
ECHO is off.
2018-01-20 22:57, APIs, for they are fickle things.
ECHO is off.
2018-01-20 23:41, Sooooo, I think I just built an API???
journal entries 2018-01-19
2018-01-19 00:05, ?
ECHO is off.
2018-01-19 00:05, help
journal entries 2018-01-17
2018-01-17 20:46, Alright, so I think I figured out .gitignore (s), but now I have 20+ commits lolololol another day, another time breaking stuff and figuring it out.
- You can force add things in the .gitignore with -f and 2. You can’t retroactively add things to the .gitignore when they’re already being tracked, you have to remove those files and -rm the tracking and then do the gitignore. ECHO is off.
journal entries 2018-01-16
2018-01-16 22:52, So I didn’t solve the project euler problem I wanted to solve today (problem 9) but I did solve one of them.
ECHO is off.
2018-01-16 22:53, On another note, I CONTRIBUTED TO R/DAILYPROGRAMMER
I helped update the wiki challenges so that they’re more current/updated. ECHO is off.
journal entries 2018-01-15
2018-01-15 19:56, Jose Portilla was right, taking some time to think about a problem really does help.
ECHO is off.
2018-01-15 20:46, Ok, now I’m proud of myself, I can actually solve interview problems(albeit not always the most optimal way, but I can do it)
ECHO is off.
2018-01-15 23:39, Super proud of myself after a rough weekend as I solved 4 potential interview questions today including the palindrome problem, the anagram problem, remove certain characters that are contained in a separate list from a given string, and project euler probelm 8(find the largest 13 consecutive digit product in a list of 1000 digits).
journal entries 2018-01-14
2018-01-14 21:37, Ok, I ust learned about extend which has some advantages over append.
Extend writes the elements of the list, whereas append tries to tries to write the list itself in a situation in which you are attempting to add a list to an existing list. (e.g. »>newList = [], »>newList.append([1, 2]) # [[1, 2]], »>newList.extend([1, 2]) # [1, 2] ECHO is off.
Things I Learned at the Latest Hackathon
- Always work with a team if you can, going it alone is putting to much on yourself.
journal entries 2018-01-13
2018-01-13 00:32, OK.here we go hackathon idea…let’s see if we can get this to work.
ECHO is off.
2018-01-13 09:24, protip: use the current version of something…
ECHO is off.
2018-01-13 22:36, What I’ve learned at the hackathon: Planning is important, knowing what tools you want to use, making sure those are the right tools for the job, and knowing what your tools CAN’T do is important.
PLANNING IS SUPER IMPORTANT. ECHO is off.
2018-01-13 22:45, Oh, also understanding what you DO need and what you DON’T need for an MVP.
journal entries 2018-01-12
journal entries 2018-01-11
2018-01-11 22:08, OK, I officially love python enumerate….
journal entries 2018-01-10
2018-01-10 19:39, Recursion is still kinda weird/out there, and researching creating your own language is fun.
journal entries 2018-01-08
2018-01-08 00:00, The life of programming: Everything works
Wait, I changed one thing…NOTHING WORKS??? ECHO is off.
2018-01-08 12:09, hello regex my old friend
ECHO is off.
2018-01-08 17:21, arrrrggghhhh my regex only covers 100% of valid US PTN cases, but does NOT cover cases such as 123:4567890 or 123/456-6789…blargh.
Everything else checks out but those two, and I’ve been trying to write the regex to cover the last two for an hour now. ECHO is off.
2018-01-08 20:28, Ok, the valid PTNs was messier than I wanted it to be, I ended up having to do a find and replace on the strings in order to force a no match on the regex.
journal entries 2018-01-07
2018-01-07 10:24, After doing some more research, reading through a few papers and trying to suss out and weigh the most important factors, I’ve decided to go with the refactored algorithm featured here: http://www.blueraja.com/blog/author/blueraja It confirms that most sites use some variant of the SM2 algo and that such an algo is straightforward to implement and could use some improvements as listed in the post.
ECHO is off.
2018-01-07 22:04, annnnnndddd now I’m going through and doing documentation that I should have been progressively doing all along.
journal entries 2018-01-06
2018-01-06 16:50, Got most of the stuff figured out, I think I want to start implementing the supermemo algo now
ECHO is off.
2018-01-06 20:38, Type checking is fun in a non-strongly typed language
ECHO is off.
2018-01-06 23:19, Ok, after doing research on different versions of the supermemo algo, and looking at the orginal forgetting curve by ebbinghaus…which one should I go with?
Decisions decisions, both are straightforward to implement, but WHY should I implement one over the other, there’s no clear advantage…hrmmmmm simplest seems best in this instance? ECHO is off.
2018-01-06 23:28, Ok, so relative strength of memory in this instance seems to be a fairly arbitrary term/distinction which should be left up to the user.
It won’t give me clean numbers, but it should work…let’s do some more research ECHO is off.
journal entries 2018-01-05
2018-01-05 22:20, Ok, I’ve made the card and carddeck classes, now I just need to make sure I can store them correctly and utilize the functions I want correctly.
ECHO is off.
2018-01-05 23:29, Shelve is really useful here
journal entries 2018-01-03
2018-01-03 17:35, So I just discovered the decimal library/functions from the python docs which is useful for accounting application etc…
but is really strange in my mental model trying to separate out decimal and floats, since I played around with it a bit and it “doesn’t support floats”, but after reading the docs I figured out that floats/decimals are represented differently internally. ECHO is off.
2018-01-03 17:35, Oh, and to figure out how to calculate pi to 30 digits, I had to use this formula: http://en.wikipedia.org/wiki/Bailey%E2%80%93Borwein%E2%80%93Plouffe_formula which took some time to decipher/figure out.
ECHO is off.
2018-01-03 17:44, Ahhhh, I see.
I just ran the pi to N digits function without decimal and it gets cut off after 14 digits. Decimal really IS useful ECHO is off.
2018-01-03 23:48, solved another dailyprogrammer challenge today
I think that’s a record with solving #7 - morse code ECHO is off.
journal entries 2018-01-02
2018-01-02 16:46, Found and awesome resource for CS 1 2 and 3 from UNL: https://chrisbourke.unl.edu/ sooooooo happy to find such a complete overview
ECHO is off.
2018-01-02 18:22, Just bilt an XKCD password generator that I like and is reusable
ECHO is off.
2018-01-02 19:30, just completed r/dailyprogrammer #5 username/password with the bonus
journal entries 2018-01-01
2018-01-01 11:33, Holy crap it’s hard to find a good cutoff to assign a sentence a score that makes it “interesting”, increasing/decreasing the score by 1 can either decrease the returned number of sentences by 75% or increase it drastically.
ECHO is off.
2018-01-01 16:37, Ok, so right now I have a pretty good summarizer in that it will summarize an article down to 3 sentnences, I modified the original algo that I had away from the mean and centered around the score itself.
The challenge is how to maintain chronolgoical order AND score order… ECHO is off.
2018-01-01 16:55, I opted to create a function that takes in the strings with the largest scores, and a list of all of the strings in the text.
From there I find the index of the 3 highest scoring sentences and sort those indexes. I then loop through the list with all the sentences printing out where the indexes match. ECHO is off.
journal entries 2017-12-31
2017-12-31 22:40, Just finished my first hard Challenge (r/dailyprogrammer 312 - Text Summarizer).
I feel soooooo happy that I got it done It took me about 6 hours judging by the timestamp on my project file. ECHO is off.
journal entries 2017-12-30
2017-12-30 08:33, OK, after research I decided to use scrapy for my project…scrapy doesn’t want to install because it hangs on the twisted module/fails.
Had to download the win_amd64 twisted module from here https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted and point pip install to the DL location on my C drive. ECHO is off.
2017-12-30 08:38, Ok, I’m going to build a test program and test it on HN to make sure the “more” link/”next” link works properly, but first I have to build the damn thing…
ECHO is off.
2017-12-30 09:12, Hey, what do you know, I ended up having to go with beautiful soup since it was a more straightforward implementation of what I wanted/needed, and its got a super useful get_text() method so I can grab everything I need.
ECHO is off.
2017-12-30 15:30, Finally got what I needed, now I just need to parse the data from the file that I wrote the text to, and start updating/iterating from there.
ECHO is off.
2017-12-30 19:05, Just used zip in a project for the first time, it’s SUPER effective
ECHO is off.
2017-12-30 23:43, Finally got everything done and messaged one of the r/dailyprogrammer mods with my update(s), so hopefully it’ll be accepted/posted and I can say I’m an r/dailyprogrammer contributor
journal entries 2017-12-28
2017-12-28 23:40, I don’t know how much I buy the idea of the “effective engineer” because a lot of it smacks of self help/tony robins tone/talk https://news.ycombinator.com/item?id=16022916 , but I found getting consulting leads, fairly helpful https://www.gkogan.co/blog/how-i-learned-to-get-consulting-leads/ and some more nuance was provided in the HN comments.
ECHO is off.
2017-12-28 23:56, OK, doing a quick ceaser cipher in about 15 minutes was pretty cool, especically since it used to take me an hour or so to figure out, and I would use LONG lists…
journal entries 2017-12-26
journal entries 2017-12-24
2017-12-24 09:17, I’m wondering why complex is a built in python function, is it because python was geared towards the scientific community/math community?
I’m also trying to find use cases for any/all as built in functions ECHO is off.
journal entries 2017-12-23
2017-12-23 10:48, Ok, try/except in loops was weirder than I thought
ECHO is off.
2017-12-23 11:03, Ahhhhh, because try/except/else blocks are almost like if/else statements my mind was associating try/except blocks with if/else logical flow, when really my mental model should be “try this statement first, then if an exception happens do this, and finally do this thing”.
journal entries 2017-12-21
2017-12-21 22:38, Sometimes trying to figure out math sequences/equations from Wikipedia is downright confusing
journal entries 2017-12-20
2017-12-20 20:29, Ok that is awesome, I can slice a dictiionary value as a list…that seems unintuitive to me, but it worked…Ok, let’s go.
ECHO is off.
2017-12-20 20:37, Alright, I’ve got the comparision working correctly…now just for the rest of it.
ECHO is off.
2017-12-20 20:50, This very well might be the hackiest and tackiest thing I’ve done…
ECHO is off.
2017-12-20 22:22, Holy crap I did it…I just completed my first r/dailyprogrammer intermediate challenge…I can actually do this
ECHO is off.
2017-12-20 22:42, Today was a rough day in terms of work and realizing the breach that I’m heading into but coming home and getting this challenge done after 6+ hours of work, certainly made me feel better.
It’s hacky, and maybe a little tacky, but with enough time I got it done. ECHO is off.
journal entries 2017-12-19
2017-12-19 00:15, When I saw this post on r/dailyprogrammer https://www.reddit.com/r/dailyprogrammer/comments/7jkfu5/20171213_challenge_344_intermediate_bankers/ I immediatley took a shot at it, but didn’t realize that A, B, and C were all separate resources, so I spent an hour putting something together, that didn’t fully work…back to the drawing board.
ECHO is off.
2017-12-19 21:37, I didn’t think stripping whitespace would be that complicated but it turns out that the stride in list slicing is really good/nifty for stuff.
ECHO is off.
2017-12-19 23:16, So what I’m findin si that there are generally 2 ways to approach a problem: either 1.
Go from A to B to C in a linear fashion or 2. Work on the problems you think you can and then go back and work on others. I’m find that I’m not linking option 2 very much. ECHO is off.
journal entries 2017-12-18
2017-12-18 22:32, In the future I have to be sure to better define the problem
journal entries 2017-12-17
2017-12-17 10:48, Missing a number, can sometimes cause you to debug for an hour…not that I would know.
journal entries 2017-12-16
2017-12-16 21:58, Today I learned how happy I was to see a full/complete chess board and that graphs aren’t that bad once you get down to it.
journal entries 2017-12-14
2017-12-14 18:34, So I guess I’m contributing to OS now?
I just wrote an update for some docs for pytest comparing unittest2 and pytest and I’m waiting for feedback. Looks like we’ll see. ECHO is off.
2017-12-14 20:00, Pong is now in a partially working state…next up: Debugging and figuring out why
journal entries 2017-12-13
2017-12-13 19:02, I ran my first unit tests today first through Python’s included unittest, which is a bit verbose for my tastes, but it’s clear and logical, I’m finding that I like pytest better, even though I had to fight with it to get it to work because test needs to be in the filename for it to work properly.
ECHO is off.
2017-12-13 23:46, Started work on the chessboard, slow going but it’s getting there.
journal entries 2017-12-11
2017-12-11 19:12, Ok, I found another source of motivation: I don’t want to go back to a sales position.
ECHO is off.
2017-12-11 19:12, QUicksort is weird on the pivot and it took some getting used to, but it makes some sort of sense now after reading through it a few times and coding it up in a REPL.
journal entries 2017-12-10
2017-12-10 11:57, I’ve been researching odds and ends of Python and it’s possible to do arrays, but you have to import arrays from array and when declaring it you have to declare the type of array.
For example: x = array(“i”[1, 2, 3]) would declare an array of just integers (you would use c for chars, and b for bytes, etc…). Lists will contain just about anything you tell them to, which is nice, and arrays in Python don’t appear to be fixed size, in that you can append to them as well which is nice and similar to lists ECHO is off.
2017-12-10 16:44, I found a great link on Ycombinator for papers to read https://news.ycombinator.com/item?id=15695326 and also found another link that is an ACM article explaing why Google only uses one massive repository https://dl.acm.org/citation.cfm?id=2854146 which is a really good read as well.
For me I think of the “trunk” workflow almost like a stream, with few diverging paths and people adding water (or throwing rocks in the case of bugs) into it, but it is a neat concept. ECHO is off.
2017-12-10 18:46, It took me studying python classes to understand interfaces in Java.
An abstract method in python is a method in which the method is defined in the base class, but DOES NOT IMPLEMENT IT, rather the inheriting class overrides and implements the method. ECHO is off.
2017-12-10 19:13, After beginning to understand interfaces I was wondering why they would be used/implemented, and it’s because interfaces are a workaround for languages that don’t do multiple inheritnace.
journal entries 2017-12-09
2017-12-09 10:59, Selection sort makes sense now, and the speed/time tradeoffs for arrays and linked lists do too.
It’s times like this that I wish Python was more clear about the distinction between arrays/lists. The differences are there (largely in declaration/implementation and methods that can be called on them), but the language is muddled enough that it can be confusing. ECHO is off.
2017-12-09 12:43, I’m finding that I like Spyder more than PyCharm right now, both are good tools but it’s just a preference that could easily change.
I’m brute forcing my way through Tic Tac Toe, and I’m sure there’s a better way, but I’ll have to go back and refactor it. ECHO is off.
2017-12-09 17:11, I made tic tac toe, which ended up taking me about 3 hours or so.
This first version is a bruteforce with a lot of if/elif statements, I need to go through and refactor. ECHO is off.
2017-12-09 21:22, I’m reading Google’s Python style guide (https://google.github.io/styleguide/pyguide.html) and I’m finding things that I’m already going to start integrating (paren rules, and docstring rules for a start), they are super awesome and should make for better code.
journal entries 2017-12-08
2017-12-08 03:30, So after fixing all the stuff with Mooc.fis Java class Im ready to get to work on it.
ECHO is off.
2017-12-08 07:04, I’m a little frustrated that the Mooc.fi on Java in the classes section, covers state but doesn’t mention behavior despite the fact that they have/teach class methods…it’s weird.
They teach OOP but not neccessarily all of the vocabulary that one needs for it. ECHO is off.
2017-12-08 14:11, I was able to work out a couple more PE problems during some downtime, and it’s fun and challenging having to figure everything out.
I’m well on my way to 25 problems, but I know there will certainly be some curveballs sent my way. Oh well, all part of the process. ECHO is off.
2017-12-08 19:13, After reading the paper that initally proposed bitcoin (which is surprisingly small at 9 pages)(https://bitcoin.org/bitcoin.pdf) 2 things stand out to me.
1: The distributed model comes with its own set of challenges(see Tor, also the number of bitcoin thefts, etc…) and 2: They claim to propose a system for electronic transactions that doesn’t rely on trust, but that is demonstrably false at the point of multiple nodes, systems, and cryptographic algorithims rely on some level of trust. ECHO is off.
2017-12-08 22:50, After debugging with Mooc.fi for an hour I found that I was missing this.variableName in the constructor resulting in an error, found it, fixed it, finished the assignment.
Yay ECHO is off.
journal entries 2017-12-07
2017-12-07 10:21, Going back and doing old PE problems that I “forgot” is making me laugh and realize that sometimes my syntax needs work.
ECHO is off.
2017-12-07 10:22, The eval function in python is super useful and can evaluate strings???
That’s awesome so something like a = 2 b = 2 with print(eval(“a + b”)) # Prints 4 ECHO is off.
journal entries 2017-12-06
2017-12-06 07:09, Updated the FizzBuzz problems file but Im still struggling with trying to find unique values in a list of duplicates.
Im hoping to solve that at some point today. ECHO is off.
2017-12-06 19:03, Ok, so this project Euler problem that I’ve been working on today makes sense, I just have to break it down into bite size bits that make sense and work the problem from there.
ECHO is off.
2017-12-06 19:22, Ok, so I solved PE problem 4 and I’m becoming more confident in my approach, in that I have to break things down, research them, maybe go down a wrong track or two, and start getting in the right direction.
journal entries 2017-12-05
2017-12-05 20:44, Reversing a sentence wasnt too bad, its just figuring out the right place to pop and place things into an empty list.
The challenging one for me was finding a distinct value in a list of duplicates…hrmmm ECHO is off.
journal entries 2017-12-04
2017-12-04 07:05, Hrmmmmm, is one of my scripts not working in the side projects folder…let’s find out.
ECHO is off.
2017-12-04 12:23, Ok, so the fizzbuzz alternative I worked on today was finding the highest/lowest value in a list.
I decided to loop through the list, but you could also order the list and get the last/first values. The easiest placeholder for the variable is to set it to the first value of the list. StackOverflow really helped here, because I was using 0 as a placeholder before which may have resulted in an error. ECHO is off.
2017-12-04 17:11, 20
ECHO is off.
2017-12-04 17:48, Ok I wrote some documentation/a README for Fizzbuzz type problems in order to help me practice basic coding issues.
journal entries 2017-12-03
2017-12-03 09:53, OK, so I wrote a quick shell script to help automate uploading to github for me(I do the work, but I’m terrible about uploading, it’s like doing the homework but forgetting to turn it in).
So now I’m going to write a Python script to export the journal to md file and upload it to pages. ECHO is off.
2017-12-03 09:58, Oh yeah, so I had to troubleshoot getting the shell script to work.
It’s pretty straightforward in that you write the standard git commands (add, push, etc…) into a notepad file and save it as .sh. I then used the Windows task scheduler, but for some reason it was failing every time. After reading through StackOverflow it seemed like it wasn’t starting in the right place, even though the script was in the directory/filetree I wanted it to be in. I ended up starting it in the right dir as an option. ECHO is off.
2017-12-03 11:48, .sh is a weird amalgamation of bash and windows commands, for example there is no pause command in bash, but I can use it in my windows script that is useing the bash date command…oooookkkk
ECHO is off.
2017-12-03 12:07, OK, so bash doesn’t like it when you have spaces before/after when you declare a variable…blah
ECHO is off.
2017-12-03 12:42, OK, so bash wouldn’t let me input dates as an argument, but jrnl lets me use -today as as a flag/switch sooooo I’ll just use that and now I’m using a batch file…this has been a weird rabbit hole.
ECHO is off.
2017-12-03 16:37, Finished up with the batch file, had to figure out type/append » in batch, in order to copy from a temporary file into the one I want to ultimately upload.
ECHO is off.
2017-12-03 17:15, Ok, got it working.
ECHO is there, but considering it’s 95% complete, that’s OK for now. I’m going to grab some dinner and then figure out why ECHO is popping up between lines. ECHO is off.
2017-12-03 19:31, ls
FIguring out Flask
I’ve been figuring out blockchains thanks to the post on Medium Learn Blockchains by Building One, which overall is pretty good but there were some issues that cropped up that didn’t quite make sense. First I couldn’t get the routes to work for some reason, specifically to the /mine endpoint because I kept getting a 404 error and it wouldn’t show up. I kept going back to the article and even went to the source code but couldn’t figure it out. Even Postman/Curl wasn’t any help because every time I tried to access the API it gave me the error of “Unexpected <” which even after some googling gave me no luck.
Finding cool open source projects
So one of the tough things about trying to get experience is trying to find decent/solid open source projects to contribute to. Luckily free code camp has a nice set of projects to contribute to with Open Source for Good which is a directory of repos that have issue/feature requests that you can contribute to which is super awesome with a ton of cool projects as well, which is even better.
Rolling the dice
So I decided to throw together a quick dice rolling app tonight to 1. Make sure I could still code somewhat well, and 2. Try out something different/fun. It’s a quick project that’s on the r/python learning page and I wanted to try it out in Java. It’s not bad. I think I’ll probably do hangman next, because that’s more challening with dictionaries, file usage, etc…
Cool new stuff
So the last few days have been interesting with some struggles.
Another Hackathon
OK, so I did another hackathon and this one went a ton better. For this project we did a quick VR project in 12 hours that was pretty cool and I got some inspiration for other stuff I want to work on too. I loved the people I worked with as well they were all pretty chill and knowledgable, and even though I didn’t always know what to do, it was pretty easy to fit in and find a niche, even with 4 other people.
graphs and graphing
Ok, so after having watched the lecture a time or two graphs and traversing graphs makes sense. I’d still like to see a step by step implementaiton of a tree and a tree rotation, but trees certainly seem more intutive and a good way to reduce a search space. Other than that I’ve been making slow but steady progress on getting through what I want to accomplish, but the game is still about setting timelines and making sure to hit them as well as possible.
Making mistakes
It sounds strange, but having a job where you can make mistakes is nice. Although I still get pretty back flashbacks whenever I make a mistake, and get it pointed out due to previous jobs, having a job where mistakes are constructively approached and discussed is really nice.
Cardstacks
Ok, so with my day off today I wanted to create a prototype flash card generator, so far it’s coming along OK, and has most of the features that I want. One of the things I struggled with when creating it was that I didn’t follow the IS-A rule and tried to make cards an extension of the Cardstack class when really they should be separated, which created a stackoverflow error. So far I’ve created what I want, and now I’m just working on the editing/deleting part of the idea.
Trees and leaves
So yesterday/the day before I learned about algos and trees. To be honest, most of the sorts and searches make sense in terms of time complexity, although insertion sort is still a weird one to me. I’m a big fan of high level overview that then get down into details/implementation/psuedocode much like this set of posts by Vaidehi Joshi which cover a bunch of different sorts and CS concepts at a very high level. Overall, the concepts/high levels generally make sense, implementation is the tricky part(kind of like Radix sorts).
learning time managment
Ok, so one of the thing I’ve learned over these last few months/year is time/project mangagment/project focus on an individual level. I’ve usually found that what works for me is a straightforward linear process of learning via video and projects. This is also in conjuction with doing no more than 3 projects at a time. I also know that I’m not the only one that suffers from project hopping because I’ve seen multiple reddit posts about it as well as a stackoverflow post or two.
understanding lists better
Ok, so I was trying to better figure out lists when I ran across this slide presentation from Harvard. Specifically the slide that discusses lists is as such:
understanding structures
Ok, so for the longest time I didn’t understand lists because when people would describe them in tutorials or on StackOverflow they would just say something vauge or ambiguious such as “we’ll just make a list”. Now I know what a list is in the everyday sense in which it is used, and to be fair it isn’t to different in the CS sense. I honestly like Wikipedia’s explanation:
An IntelliJ convert
Ok, so I kept working with polymorphism tonight and I certainly have a better grasp of the concept after tonight, as polymorphism is the program/main reacting/calling the correct method based on the correct situation/object. The other thing I spent tonight doing was working with IntelliJ which I have to say makes things super easy. Up until this point I was just using a repl which is really great but ceratinly doesn’t have the features of a full IDE. I also thought that IntelliJ would charge like the other jetbrains products like Pycharm or Rubyminer. I have to say at this point though that Inellij makes life and code reuse super easy. For the longest time though (about an hour) I couldn’t get the program to run my Main class…which turned out to be because I forgot to include public static void main(String[] args){ // Code here} in my program…derp.
Composition Polymorphism Encapsulation
Ok so after working a bit more, composition is still a bit confusing with trying to access methods in different classes, but overall it makes sense, implementing it is a bit harder. Encapsulation is allowing a user access only what needs to be accessed, and polymorphism generally seems to be creating a superclass and then utilizing a subclass/its methods as needed. (E.g. having a Car class with a drive method, and then having a HondaCivic class with a drive method that overrides the Car class). From what I understand with polymorphism, Java will create the correct class/object and utilize the correct method associated with the created object.
Composing stuffs
OK, so composition took a little bit for me to understand, but it’s not too different from classes/inheritance in general.
heythere
Humans Orcs and Murlocs Oh My!
Tonight I started putting together a straightforward text adventure game in order to experiment with classes, user interaction, and multi file projects. It’s a slight break from the java learning program I’m on now, but it’s nice.
Super
Ok so for a while I was struggling to figure out what super was in terms of constructors and how to use it, even with the Stackoverflow post because the top voted example seems to be pretty thin. Basically it seems like we use super to pass in arguments FROM a subclass and then add on any specific fields that we need to.
Going to Class
So I’ve been trying for the last day or so to figure out inheritance/classes in Java and I hit some weird roadblocks including thinking that I could declare the same variables in the superclass and the subclass. I learned about variable shadowing there, In my googling I also learned about different types of inheritance in Java (Single, Multilevel, and Hierarchal). I also learned how to use the super method more effectively and how to better implement methods. After wrapping y head around it I feel like I have a better idea of what inheritance is and generally how it’s supposed to work. A lot of links out there also have too much word salad and unneccessary language/description that are far easier emphasized with a graphic. Some good links I found that are pretty straightforward are from Informit, Javapoint, Tutorialspoint.
cool resources
So today while I was programming bubble sort form memory, I realized I wanted a visualization of it so it could better connect/solidify for me. Lo and behold there is such an awesome website that has a TON of cool visualizations, explanations, and psuedocode. While the Wiki pages on a bunch of these sorting algos are great and go more in depth, I’m really a fan of this presentation style.
bubbles everywhere
Rediscovering bubblesort was pretty cool for me because it feels like it gets me back on track to where I want to go with software engineering, and having that plan is pretty key. I need to do a blog post later of doing a year of learning programming.
Interesting Stuff
So there have been som interesting problems that I’ve been tackling lately, one of the toughest was solving the algorithim for writing a method that would take an array/list of numbers in a set order, and determine if that array was increasing, AND if that array could still be increasing if no more than one element was removed. For example:
Chatting Away
So one of the things that I’ve wanted to do for a while is build a chat app. Luckily I found a guide online, when I came across a new JS framework(shocker there) of Mithril.js. Now I started to go through and follow along with a youtube series, but unfortunatley it broke after working with it for a bit…sooooo I went back to basics and straight to the source at socket.io to get things to work.
Learning With Lynda
So I just did the second project on Lynda.com’s Up and Running With Java. I really enjoy it, it’s pretty straightforward, but there are some things that I find that I prefer in terms of coding style, that may be because I’m a newbie but are good to know.
Ready Player 1
So I finally a starting iteration of the password generator that I wanted. Right now I’m on iteration 1 of the Trello Board I have associated with it. So in terms of planning what I learned is that having a Trello board is good for understanding the bigger ‘high level’ implementation of core features and nice to haves, but struggles when it comes to the actual implementation.
Startup day1
So I’m starting with the #100 days of code again and sticking with it this time around. I’ve also reached out to Western Governors University after reading Beau Carnes medium post.
Day 4 of 100 Days of Code
Today I primarily got further in Khan Academy’s Algorithims course working to understand Asymptotic Notation and also understanding selection sort. I know that I’ll have to consistently review notation in order to understand it, also the language that KA used to try and communicate notation was fairly opaque despite attempting to use graphics/graphs which made it much harder to understand…this is why scientific communication is a thing, because if you want to educate people you need to use a common language. The common language lesson is one that I’m learning over and over as I go through life.
Day 3 of 100 days of Code
Ok, so today I primarily worked on getting more Java done and setting goals for myself for the MOOC.fi class. I know that I want to get at least 170 points of the 183 or so possible. The other thing that’s really interesting and made me stop today, was sitting down and mapping out how many projects I had going on and how many books I wanted to read. I realized that I had 10 projects going on in one form or another, and wanted to read at least 4 books. This made me realize that I really do have to say no more, and have to focus more on what I want to get done. Thus far the projects are as follows:
Hard Conversations Suck
So tonight I had to have a tough conversation with my sister, it wasn’t particularly fun, but we both learned a lot from it and it had a good outcome for everyone, so I’m ok with it. This week in terms of code was pretty good since I’ve been making OK progress on the Java MOOC from MOOC.fi, it’s slow but steady which is fine overall, as long as I’m making progress. I really wish the error messages were more descriptive though for the test outputs since they so often are “You should do X!”, instead of along the better format of “expected X, recieved Y” which is a much more constructive and iterable piece of feedback.
Python Projects
So after working on Project 10 of r/beginnerprojects, I can say with certainty that the menu calculator is far easier than hangman or the fibbonacci(sp) sequence. The calculator is direct enough in what it expects with one source of input and then a clear output. Hangman is a more tricky problem to solve because it requires a number of moving parts, and the sequence requires a mathematical thinking that some may not have. All are interesting problems, but for different reasons. Even when you go through and break them down, hangman CLEARLY has more steps/sub-steps in order to achieve completion than anything else. r/beginnerprojects seems to be implicitly/unintentionally enforcing DRY by regularly implmenting menus/CLI selection systems which is both funny and a bit strange since 1. A menu system could be a thing to solve all by itself, and 2. r/beginnerprojects seems to have a strange ramp up in terms of difficulty and seems a bit all over the place. Overall though I enjoy r/beginnerproblems since they are approachable and an enjoyable way to learn a language.
on wanting it bad enough
Tonight I listened to Wes Cecil’s lecutre on abundance in society, and one of the topics that he touched on was that as a society we always tell myths and lies to children. This got me thinking about some of the narratives that we tell ourselves/that are prevalent in Western culture, and especially tech cutlure. I think one of the most persistent ones in Western/tech culture is the myth of being ‘deserving’, or ‘wanting it bad enough’, ‘trying hard enough’, or ‘picking one self up by the bootstraps’
CS50-initials
So in continuing on with CS50 and PSET2, I’ve had my struggles with both initials and with caesar (cipher).
less comfortable
One of the things I enjoy about CS50 beyond the community, data driven aspects, and integration of multimedia, is the distinction between more/less comfortable tracks. One of the issues I have with current pedagogy as it’s practiced in universities is the largely ‘one size fits all’ method of lectures/tests etc… but CS50 tries in some regards to get away from that.
100 days
So one of the interesting Podcasts that I heard recently (#CodeNewbie) spoke on 100 days of code. I don’t know how much I buy into the idea of 100 days of code, not in the sense of 100 days of code itself is bad, but in the rules for accountability. Some of the literature base that I’ve read, and still hold to since the topic is addressed in the #CodeNewbie episode, is that being vocal about what you do/want to do can be bad. This is especially problematic/notable in the context of New Years coming up.
Reacting
So I recently started on the beta version of FCCs React course/lessons, and coming from a JS background, I’m confused as hell. I have no idea what a component is, arrow functions are weird, I couldn’t tell you what a prop is other than an argument that is passed to a function, maybe? I don’t know when to use plain HTML, and when to use an HTML tag that is named after a component, what the hell is super and how does it work, and why are we using const now?
Learning Learning
So yesterday I came across some interesting reddit challenges on r/dailyprogrammer 284: Wandering Fingers. At first glance I thought I would be able to solve it fairly quickly, however after diving into it, the challenge proved to be a lot tougher than I thought. I was able to effectively reduce the problem space down with the provided list of words, but getting it further than that was the challenging part for me, and I ended up using one of the solutions that was provided by someone else after about 3 hours of working on the problem.
Things I this Weekend
So this past weekend was pretty busy for me between hosting a Holiday Party, doing a mini-hackathon, and learning some more code, it felt pretty productive overall.
Stranger-Things
So this last month or so has been a strange one, between elections, readings, and code, things could go better, things could go worse. One of the major things I’m learning now is project managment with Free Code Camp. I’m VERY lucky that I responded to a tweet by Quincy Larson and he gave me a project to work on for FCC regarding ethics and code. The thing that I’m learning is that my ideal timeline didn’t work out, so I’m having to re-adjust. This seems to be a typical thing though from most interviews I’ve listened to about project managment in general though.
Can You Hear me Now
So I’ve been working on codefights lately and I came across a problem that was more confusing than I had expected.
Arcade Time!
So lately I’ve been getting back into CodeFights which is a great way to practice for problems that I wouldn’t neccessarily think of or expect. So far in the Arcade (the section where I’ve spent the most time) I have had to:
Lessons Learned
So I finished the first iteration of Tic Tac Toe, and it didn’t go too badly. I learned a lot from a small sized project.
game on!
Ok, confession time:
Work Work Work
So lately I’ve been trying to figure out classes, modules, and mixins. For me thus far they’re the most abstract part of coding, but that makes sense since everything that’s created via a class is an object with its own properties.
Notes on Making a Pull Request
Ok, so I did a test pull request because I wanted to know more about it and how it worked since the biggest thing holding me back right now is actaully implementing a pull request. This Page was immensely helpful in understanding what a pull request is, how it works, why it matters, and how to implement a pull request(PR). NOTE: This assumes that you know the basics of Git/Github, if you’re still have questions on those/want to get more comfortable with them I would suggest This tutorial from GitHub site which is a nice and short 15 minute tutorial/walkthrough. These articles from GitHub also cover a TON of other stuff from setting up a git/github repo to a whole glossary.
Trying Something New
Ok, so I’m thinking that something that I’m going to try is upload a video a week or so to Youtube. Mostly this will be focused on working through books, or some aspect of programming that I find interesting/want to learn more about via screencasting.
making progress
Ok, so I’m still recovering from #GithubUniverse, and there certainly is a post coming up about that later, but for right now, let’s get back to what this is all about:
Universal Updates
Ok, it’s offical. Github Universe is pretty awesome. So far I’ve met Quincy Larson, Anjuan, people from Github, Code for America, and a ton of others. This community is pretty cool…now to get a job in the community, that’s the trick.
The (Github) Universe Comes Together
Ok, so I’ve been pretty busy this week but I’ve been wanting to make this post covering a TON of stuff.
Odds and Ends
I’ve been wanting to make this post for a while now, but it covers some fun stuff that I’ve found from around the internet.
A Milestone
This morning at around 2AM I finally completed the first section of The Odin Project: Web Development 101. Looking back at my commit history it took me months to actually end up getting here, which is FAR longer than I expected, but given the detours I took I’m not surprised. I’m just looking forward to learning more.
Exhausted And Loving It
«««< HEAD
layout: post title: Exhausted-and-Loving-It date: 2016-09-01 11:29 author: techenomics1 comments: true categories: [Uncategorized] —
So earlier this week I took the plunge as suggested by r/learnprogramming and enrolled in the MIT EdX 6.00.1 course for Python
I spent a good portion of the day yesterday sitting down through the lectures and exercises (Still working on Problem Set 3, problem number 3) and found that at the end of it that I was mentally exhausted. I haven’t felt that in a while and realized how much I missed that feeling. There’s also a helpful discord channel if you’re looking for a community. For discord, think IRC but better/with more features.
Stuff From Around the Web
So in my search for a good coding environment I found some really interesting stuff especially when it comes to online coding environments.
- Repl.it
This is still a classic favorite for me since it’s quick clean and easy to use.
- Trinket
Someone in the discord channel suggested Trinket which is able to use MatPlotLib and Numpy which is great for those who don’t have access to a persistent environment and still want to do the MIT EdX class.
- Visualize Python
One that I’m really falling in love with is Visualize Python, which is able to take you through code step by step, and the cool thing is that they support other languages as well!.
Further Down the Rabbit hole with Learning
I forget where I found it, but there is a WONDERFUL github repo filled with links and an outline of what would be expected in a traditional CS course.
I also came across a tweet that reminded me of how it’s good to cover the basics with this StackOverflow post. Basically it covers what RESTful (REpresentational STate Tranfer) is and how it works using HTTP methods such as GET, PUT, and DELETE.
Developer Life and Productivity
One of my favorite posts from the last few days came from Jon Westenberg Covering how he does/utilizes productivity. Basically it boils down to:
- Do what works for you
- Prioritize tasks and know what time blocks work for you
This isn’t tooooooo much different from Randy Pausch’s time management setup/lecture.
Another post that I really enjoyed came from Camille Fournier on how to estimate developer time. One of the most important takeaways was that it’s not about achieving success, but about bounding failure. The other key part is to assume that you have less time than you actually might (for instance the calendar says you have 2 weeks, but something might come up so in reality you have 1, or at least you should assume you have 1). The other thing is to plan, plan, plan (Plans are useless, but planning is indispensable -Ike).
A post that also made me really think about things was Fokke Zandbergen’s post on the developer experience in creating an app. What Really caught my eye was how he used an inverted pyramid and explained it like Maslow’s Hierarchy of needs of things that needed to get done in terms of funneling down to get to the final product. It is very similar to Greg Kamradt’s post/talk at the Viking Code School where he talks about going through multiple layers for one goal.
I really enjoyed both of the posts/presentations because of how they make me think of my approach to the world, and starting broad but working my way down to one thing.
layout: post title: Exhausted-and-Loving-It date: 2016-09-01 11:29 author: techenomics1 comments: true categories: [Uncategorized] —
more-good-stuff
I’m SUPER happy that I’ve found some more really good stuff/advice as of late, because I was feeling pretty lost in the process of applying to places and figuring stuff out. There is an AMAZINGLY good talk/google hangout from Viking Code School(Full disclosure: ToP is from Viking Code School). This talk though is worth its weight in gold in how Greg breaks down the numbers and how to get hired. A+ would recommend.
Confrences-and-Odds-and-ends
Recently I’ve been looking into attending conferences like Github Universe and the Code for America Summit, but they are a tad bit pricy as one might expect (or not).
developers-developers-developers
I feel somewhat accomplished today in that I could have done more, but I’m happy with what I ended up doing.
Achievement Unlocked
So I was wanting to do something else productive with the Linux/Ubuntu install that I have, and was going through and reinstalling everything when I noticed that railsbridge had a ‘Deploy app to Heroku’ section.
Twitching and Tweeting
Tweets and other odds and ends
Back in the Saddle
Today has mostly been spent figuring out rails and some other stuff, but mostly rails. As a framework with so many interwoven parts (even though MVC does make sense as a set of interrelated parts), it can be confusing to keep track of for now. Oh well, back to the grind.
Kali Linux, or How I Came to Love Ubuntu
The Kali Struggle
So about noon today I picked up a new machine fully wanting to install Kali Linux on it since I’ve gotten more and more into NETSEC and that has generally been the recommended OS. So the first thing I do after getting home with the new laptop is download and boot to a live version of Kali. I install it and it asks me to dual boot with Windows, it says “Windows 7” in the graphical install, but whatever.
Climbing the Mountain
Github Contributions
So one of the biggest hesitations that I have is in regards to contributing to open source repos on github. This hesitation/fear largely exists because I fear that I will screw up in some way. Luckily there was an r/learnprogramming post dealing with that exact issue. From there there were a couple of VERY good guides from github and egghead.io. It’s times like these that I’m happy that the developer community is so giving.
More Cool Links From Around the Internet
I’ve had this post kicking around in my head for about a week now with resources and articles that I’ve cultivated for a while now, but has really become salient for me in the last week as I began to realize how thin I was spreading myself and how much I needed to refocus and reprioritize.
Oh The Places You'll Go
So as of late one of the things that I’ve taken an interest in is network security. Luckily there is a fair bit of reading out there on the subject, not nearly as well laid out as The Odin Project is, but still out there. I’m still working on the Odin Project and am working through Rails for Zombies, but am pursuing this because it strikes me as interesting and another engaging avenue of computer science/programming.
Still got It
So as of late I feel like I’ve been concentrating so much on Rails, that I’ve let my Ruby slip, and while that’s probably true, I decided to do a quick test of my skills and see if I could still code ‘FizzBuzz’ just for fun. Luckily I was able to do so in about 10 minutes.
Useful Links from Around the Internet
Spark Branding/Design
This one comes from the realm of politics. Basically Spark mocked up a branding/marketing/design strategy for the Gary Johnson campaign a couple of months ago, the campaign used it (poorly) without paying or crediting Spark, so they decided to call out the Johnson campaign and ask that Johnson stop by to talk.
Back to our Regularly Scheduled Program
So after the better part of a day of wrestling with Jekyll, WordPress, and tempermental database files, I’ve finally transferred stuff over from my original blog at WordPress. I love the features that WordPress has for analytics as well as its dashboard, but I love the ‘closer to the metal’ and more utilitarian feel that the Github Pages/Jekyll combo provides. I’ll likely still post over to WordPress to keep it active and have more of a web presence, but like I said, I love the feel of Github Pages and Jekyll.
Jekyll and Hyde
#Getting There
Are You There Adam? It's me, Smith.
Civil government, so far as it is instituted for the security of property, is in reality instituted for the defence of the rich against the poor, or of those who have some property against those who have none at all.
Adam Smith, Wealth of Nations, Chapter I, Part II, 775.
Social Commentary Time!
So I came across a fun parody academic essay/article on YCombinator/Hacker News the other day: Solving the Dating Problem with the SENPAI Protocol [pdf] (new tab/window).
Klaatu Barada Nikto
Another Day Another Rails App I’m happy that I was able to build another Rails app today, and this one is completely different from the bookmark index that I was able to build. Much like the first one though, this one came with struggles too, but took significantly less time (only about 3 hours to build, so that’s progress I guess(?) but there’s still room for improvement.
My First Rails App
Ok, so after about 6 hours of trying(no joke), I finally created my first Rails app:
Fangirling
I was REALLY lucky today and was able to talk to someone one-on-one for about 30 minutes today who works for one of the organizations that I really admire 18F/USDS (I’m being obfuscacious/general here because I don’t know either organization’s policy on posting/things that were discussed.
Sorting through things with quicksort
So, from Grokking Algorithms I’m implementing quicksort via Ruby. A quick summary: Quicksort is a ‘divide and conquer’ (D&C) algorithm which simply means we figure out the simplest case/base case first, and then divide/decrease the problem until it becomes the base case. E.g. to figure out the largest square size we can use for a plot of land we could divide things up until we figure out the smallest possible factor. Note that binary search is also a D&C algorithm.
Recursion Post Mortem
Recursion From a Newbie’s Perspective So in this post I’ll explain what I understand about recursion, how it works, and my latest experience with recursion. To help with this I used ‘Grokking Algorithms’ from Aditya Bhargava (ch 4)
Understanding Selection Sort
One of the hardest issues I’ve had so far in the ‘Grokking Algorithms” book is understanding how to implement various sorts/sort types. Unfortunately the confusion was compounded when I tried to emulate the following code, that does a sort:
Understanding selection sort
One of the hardest issues I’ve had so far in the ‘Grokking Algorithms” book is understanding how to implement various sorts/sort types. Unfortunately the confusion was compounded when I tried to emulate the following code, that does a sort:
Grokking Algorithims
Recently I purchased the book “Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People” (Amazon link below), and so far I’m 3 chapters in and I love it. The way that it introduces and explains concepts, provides analogies, and illustrates the ideas being presented is/are top notch. All of the code is extremely readable, easy to understand, and easy to implement (which may be a function of the fact that I have some experience in Python, but it’s just as translatable to Ruby).
Talking With Developers
So tonight I decided to attend the local meetup group for their mishmash of coding languages group. I learned some things, including that meetup groups are not generally amenable to newbies, and that socialization is something a lot of people need to work on, as well as speaking skills. One thing that I did find really valuable is hanging out afterwards and talking with one of the developers who had been in the business for a few years, I found a few things out:
- Know what you’re worth.
- Find the niche that you want to do and go for it, CS is pretty broad so you can choose just about anything you want.
- Companies will try and throw flash things at you, IDEs, perks, whatever, they may still try to utilize you as much as possible, so be aware of what that might look like both in terms of work environment and management.
Random Thoughts on Charisma
So tonight I was lucky enough to run across some people who are well versed in the debate space, how it operates, and what it is, and I have to say it was one of the more educational nights that I have had outside of school/a formal education system. It taught me things like how not to give a fuck, that social interaction/engagement relies on magic and misdirection, social cues/understandings are important, and that I have far more worth than what I think. Don’t fear engaging others, you might be rejected a lot, but it’s worth it in the end. Just do you, have charisma, be friendly and outgoing, and you’ll be fine, notice something about them and talk about it be it clothes, what they’re watching, drinking, doing, whatever, just go for it.
Trying Things Out
One of the more interesting algorithms that I’ve found challenging over the last couple of months is the Fibonacci sequence. (If you don’t know what it is, you can read more about it here: http://www.mathsisfun.com/numbers/fibonacci-sequence.html , the (rough) TL;DR version is: add the two previous numbers together and come up with the sum of the next number). Thinking back to when I was first starting out with Python, the algorithm I designed looked like this:
counter = 0 a = 1 b = 2
Useful Concepts
One of the most useful concepts that I’ve come across so far that is easy/quick to implement is a learning journal. This is different for everyone but for me it’s just quick stuff that I jot down into a text file that I think are interesting and relevant and could apply to just about anything (although admittedly lately it’s focused around programming). It is nice though, to go through the next day, look back and see what I’ve learned, it provides a concrete reminder that learning is a process that takes time, as much as we would like to know everything all at once. Much like reviewing class notes before the next lecture, these notes help remind me of important concepts and ideas.
The Power of Language
With recent events happening both local and national, I’ve placed more and more importance on the power of language and discussion. It is frustrating to me to see so many simply accept language at face value, rather than critically analyze, understand, and evaluate the implications, erasures, and consequences of language utilization and deployment. This seeming initial acceptance crosses all sorts of boundaries ignoring age, race, class, sex, and gender. In a word, it would seem to be ideology that is driving such evaluations, or lack thereof. One of the most enlightening lectures on this, has been Dr. Andrew Hoffman’s, “Climate Science as Culture War” in which he points out the issues surrounding climate change are communicative. As Hoffman explains, while it can be easy to fall into the trap of “just explain the facts”, much of how things are understood and discussed in society are based on “social facts” which are driven by community, social, and religious leaders. Hoffman also brings up that the more educated one is, the more one sticks to/associates with the political/social positions of a group (in this instance political party). Hoffman goes on to discuss the time frames we are potentially looking at for changing rhetoric, minds, and policy surrounding climate change, but his point on education/tribalism has incredible implications for how we discuss issues going forward, especially the economy.
More learning and coding
As I’m coming along in The Odin Project, I’m finding a number of things that I enjoy and that surprise me. One of the surprises is that learning is progressing more slowly than I thought it would, in that I thought I would be able to get through everything quicker and just blaze through things. This is not so much the case, especially with jQuery and rspec. The other surprise and an enjoyable one at that, is the amount of community that is built up around programming and how helpful people want to be, I’m finding a ton of meetup groups and resources (as I’ve already posted about both earlier), but there is so much depth and breadth to the community and that is really refreshing. I’m also figuring out more in depth my learning style is far more geared towards specific, modularized, and interactive/quickly repeatable examples.
More coding
I’ve hit one of my first struggles in feeling that I’m not progressing fast enough through project Odin, but that’s to be expected since I’m in a code base that I’m not entirely familiar with. However, more specifically jQuery still miffs me, even after going through Codeacademy and though Codeschools’ try.jquery.com. The latter of the two courses, I found to be lacking, because the way that it presented information. The videos were helpful guides, but in guiding through, they felt very light on explanation of syntax and what each part of the syntax specifically did, the regular movement between classes, objects, elements, IDs, etc… without explaining where they went in the syntax and more importantly WHY they went there left me feeling lost. I know that I will have to sit down and thoroughly understand jQuery, but this is one of the instances that the podcast that I posted a couple of days ago talked about, in which I’m sucking at something, and the only way to get better at it is through doing more of it until I get comfortable. Luckily there’s the Odin project for that.
Coming Down
So after recently graduating, I’m finding that I’m having a hard time adjusting to, and getting back into what most people would call “normal life”. I’m incredibly used to going HARD every day with extra-curriculars, various obligations, homework/ studying, and classes for what amounted to 60-70 hours a week with regular feedback, critical thinking/engagement, and validation. Even during the summer there was always a reading list or something to research or some project to work on. I’ve been told more than once after graduating that I have to ‘chill out’ or ‘calm down’ (usually this is implied with people telling me I have to be less productive, or not present as speech/debate has taught me), which is frustrating. I’ve become addicted to being productive in some way, and I don’t know how to turn off that part of my brain. Taking up programming has helped distract me, but it’s not a job, and doesn’t have the same rush or thrill of discussing deep philosophical issues, tensions, or themes with others. Reading current events, international relations, or politics is frustrating now, because no one wants to discuss it in depth, anytime I try to bring it up, it just gets brushed off as people just want to go about their day. I’ve found a group or two where I’m able to discuss things more in depth, but meeting once a month or less is a far cry from the regular, everyday, interaction that I’m accustomed/acclimated to. I’m used to high pressure/high drive sales jobs, or call centers with high attention to detail and extremely minute time management, complete with warm-ups, pump up sessions, people yelling at me from all sides and constantly expecting more/better. These aspects of my life have come together to culminate in me constantly wanting to ‘go, go, go’, but with nothing to aim toward…The void that has been created since leaving school is just that, a void, a hole, that I don’t know how to fulfill.
Different Resources for Learning
As I’m getting more and more into programming the problem that I’m having is with one of too many resources and too many different branches and languages with no clear roadmap for achieving outcomes or goals. While being rather free form and open ended is certainly a good thing, usually it helps to have end goals/principles in mind. One of the most frustrating challenges has been going down “rabbit holes” in which one thing leads to a seemingly endless supply of interesting reading and articles. Lately I’ve been working towards completing The Odin Project (http://www.theodinproject.com/), which is a WONDERFUL roadmap for learning how to do web development/code. It gives a GREAT map on what to do, and how to do it, which feels a lot better than trying to flail about while trying to learn how to code. Within the resources/extras of The Odin Project came a podcast episode on how to learn:
My Path With Python
A few months ago I became really interested in how to better utilize my economics skills and how to be a better job candidate. Since I already had some background in computer programming, it seemed like a natural fit that I should pick up a programming language of some sort. I poked, googled, hunted, and searched around for a bit until I decided on Python 3, mostly because it has a really strong community and is generally pretty friendly to newbies, along with being very powerful and versatile with a lot of data visualization tools, scientific packages, and web frameworks. Strangely enough, one of the problems that I encountered was that there were almost too many resources and it has been tough to focus on just one and not hop around from tutorial to tutorial. I’ve been uploading things semi-consistently to my Github account (BTW, thanks Github for having student accounts it’s a HUGE help to be able to put all of my tutorial projects/just starting out code into a private repo. Since I’ve been working with Python for the last month or so, and after being more inspired to work on more ‘real world’ projects thanks to the hackathon I stumbled into the other night, I’m probably going to start branching out more and doing more useful projects to try and take off the training wheels as it were.
Makers, Spaces, and Hacks, Oh My!
While I was out seeing a movie with friends tonight I had an opportunity to stumble on/into a hackathon. A few of my friends had attended ones at UCI, UCSD, and LAHacks, but this one was much smaller and more subdued. There were 4 teams present that were working on projects for the community and local non profits. It was really cool to watch everything come together and see what kind of things people came up with and how they worked together in teams. Getting to see members of the community include everyone from beginning designers, high schoolers, to more experienced coders was a real treat to experience. I would really recommend anyone who is into code at all to attend one for fun, learning, and to meet new people.