Monday, December 31, 2018

Learning to Code Weekly Update 12/31/2018

Photo by Fabian Grohs on Unsplash

I got through all of freeCodeCamp's Front End Libraries challenges last week. And instead of moving directly onto the projects, I spent a couple of days working my way through 2/3 of a  5 hour React tutorial.

Why?

Why stay on the tutorial treadmill, rather than start tackling the projects?

Because I wasn't at all confident in my knowledge. I did all the React and Redux challenges, sure, but I still hadn't grasped the concepts firmly. I was also fairly certain that it would be worth it to give this tutorial a shot because freeCodeCamp included it on their YouTube page. Another key to making this a useful diversion was that I actually coded alongside most of the video. Which meant it actually took much longer than 2/3 of 5 hours...time well spent. And finally, I was able to put some of the hours I saved from not having a commute last week to good use.

The goals were to build a To-Do List App (par for the course when learning React) and a Meme Generator. The To-Do app ended up being a stub of a project, so there's lot left for me to figure out. Particularly: how to add items to the list, rather than having them be hard-coded at the beginning. And instead of building the Meme Generator, I headed back to freeCodeCamp before completing the full 5 hours.

I ended up building out a Markdown Previewer and deploying it via GH pages! I even used the command line rather than GitHub Desktop and I'm really proud of my progress. It's a simple thing - like a chef knowing how to make a perfectly boiled egg, but it takes guidance and practice despite the apparent simplicity.

I'm looking forward to completing the other Front End Libraries projects and eventually learning the basic concepts of a couple of other popular front-end frameworks: Vue and Angular, in the next few months. My plan is for a follow-up post with my thoughts on how the three compare from a noob's perspective.

Sunday, December 30, 2018

Saturday, December 29, 2018

My Tumblr Posts

Check out a much clear version of the above, complete with live links here.

Thanks for reading!

Friday, December 28, 2018

Social Anxiety in the modern age

Photo by Ryoji Iwata on Unsplash

Why do we care so much what strangers on the internet think?

Why does even the thought of public-speaking make some of us wish for death instead?

We're social creatures who evolved to live in tribes. These tribes tended to max out at 150 to 200 individuals. In other words, every one knew everyone else fairly well. Being part of a tribe was life or death. If you got banished, you were on your own and unlikely to survive for very long. Those are the instincts that kick in when someone trolls us online or we're asked to give a presentation. Calling it "stage-fright", betrays how seriously our minds and bodies interpret the threat of being rejected in a public-speaking situation.

I briefly mentioned this idea in a blog post about the value of face to face meetings. There's something interesting about the fact that modern life gives us lots of opportunities to experience social anxiety. We also still do plenty of tribal things - sports teams, alma maters, etc. but I'm still chewing on what this all means and how we might make it easier to be the social creatures we are, in a healthy, relaxing way.

I keep circling around the need for more opportunities for structured, regular, social interaction. But, really? Who has the time to maintain multiple, recurring activities? I'm a fairly extroverted person and at the end of most work days and weeks, I just want to be in a dark room somewhere with my books and laptop. I'm just spent. So, perhaps it's a question of finding one or two high-value, rejuvenating activities and seeing how those do.

I'll keep exploring (and organizing) these ideas in the weeks to come.

Thursday, December 27, 2018

Vulnerability

It's supposed to be all the rage these days to allow oneself to be vulnerable. There are TED talks, books etc.

Well, that blog post I shared yesterday was me being vulnerable...and it wasn't fun. But I guess very few worthwhile activities are.

Wednesday, December 26, 2018

Doing too much?

Am I doing too much?
Right now I have a few side projects:
- this blog
- a forthcoming podcast season
- learning to code

And I have a job that is more hectic than usual right now - we're helping to implement a huge piece of legislation by February 14, 2019. And things will get more hectic once that implementation date hits.
Of course any team needs attention, from 1:1s, to thoughtful consideration of the vision, to the development of a missionary not mercenary mindset, to just straight up delivering on our promises.
And then there are replacement contracts and the need to recruit new staff and unexpected departures and policy twists and turns.

It's quite a lot.

Taking a step back: I re-committed to learning to code as a way to provide myself with a constructive distraction from work. I figured that perseverating on a software development principle every evening would keep my mind occupied and stop me from obsessing (too much) about work.

The question is: have I gone too far by adding blogging and contemplating podcasting?

I'm not sure.

Originally I was thinking that I'd like to at least create a trailer for the podcast. Just to get the logistics out of the way i.e. figuring out how to post the RSS feed to Apple Podcasts and other pod catchers. I also have to come up with a logo, figure out at least rudimentary sound editing, get a short jingle of some kind for intro/outro music....hmmm....this might be be more involved than I thought.

Perhaps I should complete this "blogging every day for 4 months" experiment first and then tackle the podcast as the next experiment? Give myself some wiggle room?

Lots to think about, for sure.

Tuesday, December 25, 2018

Festivus


Photo by Monika Grabkowska on Unsplash

I'll be spending today reading, coding, Neflixing, chilling and eating - not necessarily in that order.

If you're off work, I hope you're doing something relaxing and rejuvenating with people you care about.

If you're off to work, I hope you have a good day and that folks are kind and generous today and every day.


Monday, December 24, 2018

Learning to Code Weekly Update 12/24/2018

Continuing to tackle React. I think I'm really getting the hang of it and I'm onto Redux now.

What in the world do those words even mean?

React (developed and maintained by Facebook - yup those bastards) is often used with Redux to simplify the process of building user interfaces and managing the information a user provides.

Taking another step back: React and Redux are both JavaScript libraries. JavaScript is a programming language that allows a webpage to be interactive (more on that next). Libraries are reusable pieces of code that anyone can use when writing their own code.

The comment box below this page is an example of the type of user interface we're talking about. You can enter text, see the text rendered, submit it, and then see your submitted comment, along with a timestamp and your username. Notice that once you start typing a comment, the whole page doesn't refresh after every character you type. React/Redux make managing this process much more elegant and efficient behind the scenes.

Maybe by next week's update I'll have a little React/Redux app to share with you like a random quote generator and/or markdown previewer...Speaking of which - my stretch goal is to complete all the React/Redux challenges and Front End Libraries projects on freeCodeCamp by the end of the holiday season i.e. January 6.

Wish me luck!

Sunday, December 23, 2018

Saturday, December 22, 2018

DC

DC ground-level billboard/art installation 12/21/2018

Friday, December 21, 2018

Ordering pizza

I had a bit of a slow-moving meltdown last week over ordering pizza for 30+ people for our team retreat. I ran into a rude person at the first place I called and it was downhill from there.

The order was eventually placed a solid 2 days before the retreat. I breathed a sigh of relief. Then they ended up being almost 30 minutes late, delivering lukewarm pizza. In summary: my fears were realized. Although, we did eventually get pizza, so I guess it could have been worse.

I'm ostensibly a capable, adult person, so how did I get beaten by such a trivial task?
I'm not sure.
But the one thing I didn't do was keep my feelings bottled up. In this case, all that venting was probably not the best coping mechanism, so that's a lesson learned. The other lesson learned is I need to be better about delegating things like this when appropriate. I organized agenda development, a location, a moderator, communications to the team, the decision around remote attendees, etc. in other words: I had plenty to do. If I had asked a colleague (who I knew had done this before) to take this task off my hands, everyone would have been better off.

Team-work for the win.

Thursday, December 20, 2018

Tough stuff

My colleagues and I often talk about how hard the work we do is.
And it is.

However, compared to someone who does a back-breaking job (or two, or three) for a living, like scrubbing floors or working a factory line - we have it easy.

This doesn't take away from the fact that tackling gnarly policy and technology problems is exhausting. Mostly because there's no right answer. Of course, we think we have the right answers, and are baffled when we're ignored, or dismissed, or worse - fought at every turn.
The fact is: we don't have the full picture. We don't know what we don't know and it makes everything baffling, and frustrating, and sends us spiraling into cynicism and despair.

That's why it's hard.

And also, why it's worth doing.

Wednesday, December 19, 2018

Podcast

I'm continuing to think through this podcast idea I mentioned a couple of times last week.
My latest idea is to do reviews of the various management and leadership books, podcast episodes (very meta), and articles I voraciously consume. I was inspired by MKBHD, a young guy who's been doing tech review videos for about a decade and who's gotten very good at what he does.

One thing I'm going to have to be very conscious of is my persnickety tendencies. I have to commit to releasing podcast episodes even if they're not perfect. Try to make them as good as I can, sure. But not let myself be paralyzed by my desire to release something amazing. As Ira Glass so famously shared: our tastes exceed our abilities for quite a while (years) when we start a creative endeavor. So it's going to be a slog, but I've got to power through it to get good and arrive at a product I can be proud of.

Tuesday, December 18, 2018

Waking up early

Some folks swear by it.
I want to be the kind of person who's completed half-a-day's work by the time most people are just firing up their laptops. Problem is: I can't seem to fall asleep (or stay asleep) if I turn in before ~midnight. What's a person to do?
My plan is to go with the flow and experiment with what works best for my bio-rhythms and not try to fight it too much. This time of year is a good time for that, with the early sunsets.
Wish me luck!

Monday, December 17, 2018

Learning to Code Weekly Update 12/17/2018

I've moved on to learning React in the past week. This is the first time in a while that I'm learning something completely new and my enthusiasm is flagging a bit. But I'm trudging forward.
I'm working through freeCodeCamp's challenges that tend to be a little sparse and require supplementary learning material. I've found a couple of good resources, including this video*, this tutorial, and this overview.
Onward!


*If you decide to work through the video, use these instructions to get node installed, since the video is a bit outdated.

Friday, December 14, 2018

Blogging experiment check-in

I'm a little more than 1/3 of the way through my "blog every day for 120 days challenge", so I figure it's as good a time as any for a check-in.

One of the main goals of this blog is for me to improve my writing by getting tons of practice with articulating my thoughts via this medium. So far, I've been getting words down on the proverbial page, but I haven't been engaged in deliberate practice at all. I've been more focused on keeping the streak going than on doing the cognitively taxing work of improving my writing. I'd have to figure out a mechanism to do that, try it out, adjust and reflect. Tough stuff.

Instead, I've just been showing up every day - which really means cranking out 5 posts every weekend, scheduling them for the coming week, and posting photos on Saturday and Sunday.
For now that will have to do. According to the Seth Godin post that inspired me to start this experiment, people start to enjoy the process after the first ~200 posts, so we'll see how I fare.

Thursday, December 13, 2018

Managing Without Authority

There are great books and articles about this topic. In the meantime here are a few thoughts on this from me.

A colleague recently asked about this topic and the following was my (lightly edited) response:

My initial thoughts on this - chat with your colleagues to see what their motivations are. Some people are all about the team, some folks are all about the work itself. A lot of folks just want to be helpful and if an ask is clearly articulated they’ll roll up their sleeves and pitch in. 
Another approach, which can complement those above, is to chat with whoever their manager is and request that they make the ask as well. 
If it’s an informal arrangement (e.g. you’re the point-person, but not official manager, for a team) - I’d make it a team exercise: "We have this responsibility as a group, how should we approach this to be fair to everyone, make the best use of people’s talents, and spread any unpleasant tasks around so no one is just in a world of hurt all the time?" 
The thing I try to remember (and I only occasionally do in my clearer moments) is that people want to do good work and be good teammates, but they sometimes lose sight of that unless explicit conversations are had. 

It’s hella uncomfortable to start those conversations though. No doubt there.

Wednesday, December 12, 2018

Naming a podcast

I'm going to name this podcast I'm starting "Ask Marvourneen" unless some other brilliant name strikes me. 

Why did I choose my possibly hard-to-pronounce name to be my podcast name?

Because of a (as usual) wise Seth Godin blogpost which includes a reference to Find Engine Optimization.

Seth's argument is that it's better to own your brand name rather than try to use old school SEO tactics to get folks to find you. Everyone has a megaphone and the default is that you'll get lost in the crowd. Better to have a calling card that folks looking for you can find. 
Another reason is that a lovely Apple Genius recently reminded me that my name is, in fact, pronounceable and actually kinda pretty. 

I go by Marvo in most of my life to avoid hearing people butcher my name. But that's me underestimating them, and ironically making it about me in my effort to do the opposite. 

Any who, thoughts and/or opinions? Please do share!

Tuesday, December 11, 2018

A podcast?

I've been thinking about starting a podcast for years. 
In fact, I started one almost a decade ago, but only released 2 episodes embedded in blogposts. 
This time around, I'm starting by creating voice memos on my phone and one of these days I'll import them into Garage Band for editing. From there I'll have to figure out how to get them into an RSS Feed. Another option is YouTube videos, basically vlog style. I could then take the audio from those and use that as my podcast RSS Feed.
I already have a microphone from my vlogging experiment last summer, so I have at least some rudimentary equipment. 

Watch this space for updates as I take on that adventure. 

I still plan to blog since writing helps me to clarify my thinking, but I also love the idea of creating something you can listen to. Perhaps I'll start off with recording blog posts that are well suited to that medium. Feeding two bird with one seed for the win!

Btw, the tentative title/description for the podcast: "Ask Marvourneen: a podcast exploring environmental sustainability, technology, leadership, personal development, and more."
We'll chat a little more about the proposed title tomorrow, so stay tuned!

Monday, December 10, 2018

Learning to Code Weekly Update 12/10/2018

Another solid week making progress with freeCodeCamp. I'm one project away from earning the JavaScript Algorithms and Data Structures Certificate. And most importantly, I continue to feel that I'm really learning and growing as a novice programmer. I've not quit hit that inflection point that my colleague Sunil has written so eloquently about, but I see it on the horizon.

Sunday, December 9, 2018

Friday, December 7, 2018

Myths



Photo by Alessandra Caretto on Unsplash
We call them the “hard” sciences because they’re supposed to be concrete, based on objective facts, exploring tangible truths about our universe.

However, physics, chemistry, etc. are as full of leaps of faith as any other discipline. I’ll never forget the day our Ocean Dynamics professor told us to “imagine an ocean with no bottom and no sides”.

Sounds mythical to me.

Thursday, December 6, 2018

The Spirit of the Law

I missed 2 posts last weekend - I didn't upload any photos, which is what I plan to do to keep my blogging-every-day streak going.
But alas, I missed this past weekend. So my streak is technically broken, but I'm not letting that stop me from continuing my experiment of blogging every day for 120 days. I may end up having blogged for 120 out of 150 days, and that will have to do.
I worry that I'm going to run out of things to say, so posts may start getting really short, or they may be much more focused on TV or food or coding. We'll see how things go!

Wednesday, December 5, 2018

Work

Today is an unexpected day off from work. We found out on Monday that the government would be closed today.

And I was disappointed.

I looked at the conversations I planned to have, the presentation I planned to listen to, the project progress I planned to make, and was simply disappointed. Never would I have imagined that I would have a job this challenging, this gnarly, that I would be so dedicated to. And I would have lost money on any bet that would have asked me about my feelings toward time off, especially unexpected time off.

I'm definitely a lucky individual. For sure.

Tuesday, December 4, 2018

Context-switching

I've mentioned the book Product Management in Practice before and just want to mention a lesson from the book that I've gotten first hand experience with over the past week.

Simply put: interacting with customers/users is a very different from interacting with stakeholders.

With customers, the goal is to learn a much as possible from them and their world, their reality. Whereas with stakeholders, the goal is to bring them along so that you can co-create a vision that inspires everyone involved. For the first interaction, you need humility, good open-ended questions, and a desire to explore divergent ideas. For the second, you need to exude confidence, skillfully guide the conversation, and secure agreement on concrete next steps.

I've had a tough time switching between the two - a crucial aspect of my current role, but the first step to solving a problem is identifying it, so I'm on my way!

Monday, December 3, 2018

Learning to Code Weekly Update 12/3/2018

Chugging along with my coding practice. A few observations:

It is amazingly rewarding to tackle something hard (like identifying prime numbers) and figuring it out, even when you need a little help towards the end. This is such a different approach than giving up after trying for 5 or 10 minutes. When you put in a solid hour or more of thinking through a problem, rethinking it, trying something, having it not work, trying again, getting closer, and then going to bed, waking up and trying again the next day? You remember exactly how to solve that problem when you see it again, as well as variations thereof.

Sitting down to "code for a few minutes just to keep the streak going" invariably leads to at least an hour of wrestling with whatever you're working on. You get sucked in and want to see what happens when you try a new idea that just popped into your head. It's really cool. It takes a while to warm up for sure, but again, so rewarding.

Today I tackled a gnarly little challenge to sum all prime numbers up to a given number. I wanted to use higher-order functions, because I knew it would be much more elegant and performant. But figuring out what was a prime number stumped me. So I broke it out into two pieces. First I got the higher-order functions working with a check for even-ness (something I know how to do cold) and then once I got that working I tackled the prime number checker.

I recently read that noob developers tend to sit and stare at a blank screen when a problem stumps them. Conversely, competent developers are either writing out pseudocode or talking through the problem and their ideas for how to approach it. I'm doing my best to develop that habit and I get lots of practice since I'm stumped pretty much every time I sit down to code :-)

Friday, November 30, 2018

Product Management in Practice

This is a book I read and then partially re-read this week, and I really enjoyed it. It was recommended by one of my colleagues, who's an absolutely brilliant Product Manger herself.

This is the first book in a long time that I made notes directly in AND also created note cards for. It's so good that I think it's going to be a book I re-read every year going forward.

It has great tips for how to be a good product manager, of course. But the aspects of the book that really hit home for me are when the author describes how he's messed up in the past, and not in that #humblebrag way that most people (including me) tend to frame past mistakes. This means I can really relate and understand better how, why, and when, I might make similar mistakes myself.

The chapter on managing senior stakeholders was particularly paradigm-shifting for me. I've always been a bit rebellious, with a self-righteous attitude towards my bosses. The author makes the point that senior folks will always win so it's better if they win with ideas we help them co-create. And this applies in a world when you're the "senior stakeholder" yourself since all of us ultimately answer to someone: a board of directors, an editor, fans, clients, co-founders, someone. So it's a great lesson to learn, combined with practical steps on how to get there, and not fall into potholes along the way.

Highly recommended for pretty much anyone working in the modern world, but an absolute must-read if you're in the tech space.

Thursday, November 29, 2018

PodCon!

I just learned about something called PodCon this week!

How did I not know about this before?

I live and breathe podcasts.

They're my way to soak up a ton of interesting, entertaining, occasionally even useful information. I'm in awe of the way these artists are able to create pieces that can be so beautiful, thoughtful, touching, and thought-provoking.

I tend to change up my rotation every few months based on what I'm most interested in experiencing. Right now I always listen to ZigZag episodes within a few days of release. I'm also enjoying Radio Lab (a stalwart of the genre), Death, Sex & Money, This is Love, On BeingHanselMinutes (to help immerse me in the world of programming), The Knowledge Project, REWORK, and Akimbo (Seth Godin's foray into the podcasting world).

What are some of your favorite podcasts?
Drop me a line in the comments or tweet @marvokdolor ðŸ˜Ž

Wednesday, November 28, 2018

JavaScript debugging

A lovely colleague took 5 mins to pair program with me earlier this week to show me some of  JavaScript's debugging tools, namely console.log()'s more robust cousins:
  • console.info()
  • console.debug()
As well as the debugger keyword. I learned more about both of these tools here and here and I'm starting to get more comfortable with them as I continue to tackle freeCodeCamp's JavaScript challenges. 

It's continuing to take me a while to get through each of these challenges, but it feels like I'm really understanding what I'm doing this time around.

Tuesday, November 27, 2018

Supporting Creators

I love me some FanFiction, particularly femslash and there are some fantastic authors out there. My favorite right now is yotoob over at Archive of Our Own. It’s kinda mind-boggling that there’s all this beautifully written work out that that’s completely free. Just amazing.
And to go along with that, I also love the app Ko-Fi that lets you “buy a coffee” for these folks offering their work for free on the web. It’s cheesy of me to say, but there’s something really cool about them offering up their talents as a gift to the community and folks having a way to show their appreciation in a tangible way.
Calling it a community might sound weird - we’re just a bunch of strangers on the internet right? And you’re probably right, but when I read through the comments and resonate with many of them it feels like I’m part of a group. And that feeling is an undoubtedly pleasant one. Shallow perhaps, but pleasant nonetheless.

Monday, November 26, 2018

Learning to Code Weekly Update 11/26/2018

I crossed the 100 days of coding milestone this past week!

I've also been letting myself struggle with code challenges a lot more, before taking a peak at the hints on freeCodeCamp. Last week I was at 3 of 22 challenges and right now I'm at 10, which is about 1 challenge solved a day...not bad at all, in fact faster than I thought. Most importantly, I'm developing a much more solid understanding of the material.

If I continue at this pace, I'll earn the JavaScript Algorithms and Data Structures Certificate by the end of the year and will start off 2019 tackling the Front End Libraries challenges, something I've been looking forward to. I'm sorta hoping it'll allow me to fix small bugs at work, and develop a much more technically-grounded understanding of the products we're building.

Onward!

Friday, November 23, 2018

Welp

I've been blogging over at Tumblr off and on for years now. I started an experiment where I plan to post every day for a few months to see if it's as life-changing as Seth Godin keeps insisting it is. I've been using Tumblr to host this blog, but alas they've run into some trouble and I haven't been able to log on all day. I have a bunch of posts lined up to go and a bunch of drafts, so I hope I'll get back in eventually.

Even once I get back in, I'll want somewhere more reliable to host my blog, so I'm chewing on the best next move. People love Medium - but I don't quite understand their business model and, more importantly, I don't want to get trapped. Posthaven looks interesting - $5 a month seems like a reasonable fee for a place to host my blog that will hopefully be around for a while. Trying to figure out Jekyll could be a good weekend project.

But for now, I'll be here on Blogger. It's reliable, doesn't have a bunch of ads, and is simple to set up and maintain.

Thanks, as always, for reading.