The eli4d Gazette – Issue 032

Tech Pick

I’ve had Python on my brain lately due to heavy duty preparation for my upcoming online Python course. So coming across Instagram’s Python technology stack was interesting. The article begins with:

Each day, over 95 million photos and videos are shared on Instagram. The unstoppable photo-centric social media platform has over 600 million registered users — 400 million of whom are active every day. Talk about operating at scale: Instagram kills it at levels most companies can barely even dream about.

Even more impressive, though, is the fact that Instagram serves this incredible amount of traffic, reliably and steadily so, by running Python (with a little help from Django) under the hood. Yes, that Python — the easy to learn, jack-of-all-trades general purpose programming language. The one everybody in the industry dismisses as, “Yeah, Python is great in so many ways, too bad it’s not really scalable.”

I thought that this was a great example to mention to my students – “well if Instagram uses Python at their scale, Python must be a good thing to learn.” And yet this didn’t sit right with me, and I remembered reading an excellent article that clarified my unease: “You Are Not Google”.

Python is a great language for many reasons (easy to learn, lots of built in libraries, great scientific/numeric support (SciPy, Pandas, iPython, NumPy), etc..) but Instagram’s use of it is not one of them. I’m not Instagram, and it’s very likely the case that you aren’t either.

Media Pick

I’ve had “American Gods”aal on my Kindle for what seems like forever. It was recommended by a friend back in 2004 and I got the Kindle version on sale a few months ago (via Bookbub).

Where to begin? The story is like a fractal of a pick-up stick game. You think “really Neal – a pick-up stick game?” And there’s Gaiman laughing manically. So you play the game and read the book 1 bit at a time…and just when you think you understand, repeating themes and whispers of previous chapters slap you across the face.

My Kindle highlights are filled with too many sentences from this book, and I can hardly pick a favorite. Here’s an example:

“The house smelled musty and damp, and a little sweet, as if it were haunted by the ghosts of long-dead cookies.”

aal = Amazon affiliate link

Random

I’m a big OmniFocus, but recent (XML) corruptions have been worrisome (on the positive side OmniFocus support is top notch). One database corruption happened in March, and another just happened about a week ago. My favorite data format is plain text. But I haven’t come across a plain text task management system that implements GTD and spans mobile and Mac OS X as seamlessly as OmniFocus.


Thoughts? Feedback? Let me know: @eli4d on Twitter


The eli4d Gazette – Issue 028

Tech Pick

I came across a nice visualization of the technologies involved in becoming a front-end developer, back-end developer, or a DevOps engineer:

The article’s point is quite important about not needing to know everything. The key is to get going and to build something, rather than to yak shave by learning without doing. Another way of seeing this is through my favorite Chad Fowler quote:

When it comes to programming: “More than practice, fearlessness is required.”

Media Pick

I’ve been listening to the Audible version^ of Kevin Kelly’s “The Inevitable: Understanding the 12 Technological Forces That Will Shape Our Future”. It’s a fascinating book, and I highly recommend it. You can find some interesting snippets from the book on my blog.

Note: ^ = affiliate link


Thoughts? Feedback? Let me know: @eli4d on Twitter


The eli4d Gazette – Issue 027

Issue 027: 2017-04-12

Tech Pick

If you’ve ever tried your hand at using a command line interface (CLI) through something like the Mac’s Terminal program, then you might find these links interesting:

Media Pick

I heard a recent episode on 99% Invisible about shipping containers and their vast economic effects. There’s a neat 8-part audio documentary about them:


Thoughts? Feedback? Let me know: @eli4d on Twitter


The eli4d Gazette – Issue 026

Issue 026: 2017-03-29

Tech Pick

Last week, Stack Overflow published their 2017 Developer Survey. It is a comprehensive survey examining a whole host of developer related topics ranging from technologies used to development practices. It’s one of those surveys that requires multiple read-throughs. My favorite section of the survey – “Most Loved, Dreaded, and Wanted Languages” (checkout JavaScript’s standing across all three categories…lol). Enjoy!

Media Pick

A recent Elixir Fountain podcast episode had an excellent interview with Chad Fowler. Chad’s reflections (and affection) for programming languages (especially Erlang) was quite neat. I notated specific sections of this interview through my twitter feed and can find these here.


Thoughts? Feedback? Let me know: @eli4d on Twitter.


The eli4d Gazette – Issue 025


Issue 025: 2017-03-15

Tech Pick

Git is a version control system that most developers use. Additionally, most open source projects publish their source code repositories via Git (typically on GitHub). Consequently, it’s very useful to know Git. The funny part about Git is that initially, it’s easy to use, but any heavy usage can lead to a blackhole of frustration and concern (‘Am I doing this right or will I mess up my whole code base?’). I came across two great resources that you might find useful:

  • A very reasonably priced Git course called Getting Git. The developer (Jason McCreary) is pretty awesome and very giving regarding his knowledge and time. Here are two podcast episodes where Jason is interviewed (in case you want to know more about him):
  • If you’ve been interested in contributing to open source software but haven’t been sure how to do it, then you’ll find Matt Stauffer’s article to be very useful actionable.

Media Pick

I’m a sucker for Audible’s Daily Deal. This means I sometimes buy some audio books which are not in my wheel house (a good thing in terms of stepping out of my typical media consumption). I just finished a daily deal purchase – “Radical Acceptance” by Tara Brach. It was a stunningly good book about the actual implementation and use of Buddhism in daily life. The reader (Cassandra Campbell) was excellent, and I plan to re-listen to it at a future point with the intent of practice rather than just consumption.

Note: While this is not directly related – through my various audio book purchases I learned the following lesson: Never ever ever buy an audio book that is read by the author. 9 out of 10 times such a book ends up being a terrible disappointment. One such example is “Algorithms to Live By”. I have yet to be able to get through the book because of the author’s reading. It’s great content but terrible delivery.


Thoughts? Feedback? Let me know: @eli4d on Twitter


The eli4d Gazette – Issue 019


Issue 019: 2016-11-23

Media Pick

This comes by way of Studio Neat’s newsletter. It’s a video that explores the amazing acting ability of Anthony Hopkins through a dissection of a scene in HBO’s Westworld. You can find this video here: https://m.youtube.com/watch?feature=youtu.be&v=4kSGkGKwp9U

Tech Pick

I’ve been noticing many ReactJS articles come across my various readings. While I have not had the opportunity to explore React (yet) I find React and these React-related articles quite interesting:

  • Dave Ceddia’s How To Learn React (and what to build along the way) and Your Timeline for Learning React articles are quite good in that:
    • The emphasis is on starting from fundamentals (i.e. JavaScript is step 0) and then focusing on getting going on React without the confusing overhead of associated technologies (i.e. Redux, Webpack, etc…).
    • The focus is on building small blocks that teach you about React.
    • Note: Dave is selling a book that covers React in the above ways. It’s on my list of things to buy/learn, so I will review it after I do that. The long and short of all of this is that his approach (as described by his articles) is a solid one for beginners, so my hope is that his book is solid in the same way.
  • A Study Plan to Cure JavaScript Fatigue: This article was created by the same developer that created the JavaScript survey (which I mentioned in issue 018). It is a good article to see where you can go with React, rather than an actual plan fo study React. In fact, the title itself states this because it’s a response to a JavaScript fatigue article. From a React learning point of view:
    • He has great images that show the evolution of JavaScript Apps (and web applications in general). I think that this is the great value of this article.

    • He glosses a bit about learning JavaScript indicating that you should only “know basic JavaScript syntax.” I disagree with this notion because JavaScript’s design is quite different from typical OO based languages (i.e. the functional aspects like functions being first class values, etc…). So sure – you should know syntax, but you also need to know how JavaScript ‘thinks’ due to its design. (Disclaimer: I do teach a JavaScript based beginner programming course but I would still state this even if I didn’t teach such a course)

    • “Bonus Week 5” jumps to GraphQL and bypasses REST altogether. GraphQL is still early days for most projects and for better or worse REST is a current standard. I would add a “Bonus Week 4.5” where you learn REST before worrying about GraphQL.

More Recent Articles


Thoughts? Feeback? Let me know – @eli4d on Twitter or eli4dcom on Snapchat (I’m still experimenting with Snapchat)


JavaScript Specifics for the “Where do I go from here?” Question

This article is a continuation of the “Where do I go from here?” article with a focus on JavaScript (this is a frequent question I get from the students in my ‘Beginning Programming with JavaScript’ class ). If you haven’t read the previously mentioned article – you should do that first since it sets up the context for what I’m going to say here.

The usual disclaimer applies. This is going to be an evolving post because everything changes in software all of the time. Feel free to contact me with any questions, suggestions, and feedback.

Assuming that you are pursuing project focused learning here are some JavaScript related ideas/approaches.

The ‘no-frills’ project iteration

I suggest that your first iteration of the project use the JavaScript concepts that you just learned. This means using the JavaScript that you know right now. This no-frills iterations will help you understand the essence of your project.

You can continue with plain old JavaScript and an expansion of the ToDo project that we started in class. Or you can choose your own project. As you can tell based on my other article I’m a big proponent of choosing your own project – something that scratches your own (software) itch.

The ‘I must pursue the latest and greatest’ JavaScript ____ \ ____

Many feel that the pace of change in JavaScript (more specifically – the frameworks and approaches to JavaScript) is a never-ending race. It can feel like you’re Charlie Brown, the football is the current must-use/best/must-have JavaScript related technology, and Lucie is that ‘other’ developer who surfs on the bleeding edge with full understanding and a new Medium article about the best framework/approach/’awesomeness’ that you are not using:

This sort of view is known as “JavaScript Fatigue”, and it connects with the two views of JavaScript. The first is that “JavaScript is great!” and the second is that “JavaScript is a mess!” (the State of JavaScript Survey shows this quite nicely on its front page).

The long and short of it is that there is no magic bullet in terms of programming language, frameworks, and technologies. What’s popular today may be gone tomorrow. JavaScript has gotten large enough that you can pick something and specialize in it.

So pick whatever piques your interest. And if you don’t want to pick, then pick a project that interests you and start coding it in plain JavaScript.

There’s a great Theodore Roosevelt quote that applies to decision making:

“In any moment of decision, the best thing you can do is the right thing. The next best thing is the wrong thing. The worst thing you can do is nothing.”

What about bootcamps?

Programming bootcamps are a huge topic that is beyond the scope of this post. Some minimal suggestions:

  1. Figure out if you are the type of personality that would work well in a bootcamp (are you the type that jumps into a cold pool of water or do you slowy wade in?).

  2. They tend to be a large commitment in terms of both cost and time.

  3. Do your research very very carefully since there are lots of questionable ones out there.

  4. If you are seriously considering a bootcamp, you should try your hand with a free one called Free Code Camp. See how well you can commit to daily and weekly work.

I know of 2 students who went to bootcamps for a career change. They completed the bootcamps successfully and did the career change that they wanted. They also found out that the grass wasn’t greener on the other side. One thing about both of these individuals is that they were driven and would have succeeded even if they didn’t go through a bootcamp. In their case the bootcamps accelerated a trajectory that they were already on.

Additional resources

Conclusion

The JavaScript universe is huge. It’s a big mess of awesome. I think Steve Jobs said it best:

stay hungry, stay foolish


Thoughts? Feedback? Let me know: @eli4d