Articles tagged learning
Reading and Learning: Sept. 8, 2015
Tuesday, 8 September, 2015 — learning improvement
Here’s another long update, with lots of worthwhile reading and listening. I’m still working on my processes and tooling so these are less cumbersome to edit and publish and consequently less effort to read.
Articles and books
I read the following:
Stationed on the West Coast of the United States, flanked by the blue hues of the Pacific Ocean, is a city that’s home to some of the greatest companies in the…
Humorous take on San Francisco startup culture.
Q: How do I convince my client to pay for research? If I have one FAQ, this is it. Every time I talk with other designers about research, someone asks this…
Erika Hall of Mule Design covers getting essential project research paid for. Similar to her book, Just Enough Research, which is very valuable.
If you haven’t seen byebug before, I recommend that you check it out. It’s a great debugger for Ruby 2.x. … The basic setup is pretty simple. Just install the gem. If you use the byebug method anywhere in your code, execution will stop at that point and you’ll be dropped into a debug console. You can ever set it up to use pry.
Byebug and Pry are two essentials in my toolkit. This is a nice write-up of using Byebug when you’re running a Rails app on Pow.
When I joined Atomic fresh out of school 11 years ago, I didn’t realize I was making the best career decision a young software developer could make. I was…
Switching contexts every two or three months, particularly early in a development career makes for great seasoning. Learning how to learn business domains is an incredibly valuable skill.
Dunbar’s Number is a favorite blunt diagnosis for the pains that affect rapidly growing teams. The number, which is somewhere between 100 and 250 describes a…
An older Michael Lopp piece on the difference between layers of employees. Don’t think like Manager and Direct Reports. Think about who was in early and who arrived later. It’s the difference between the first 5 people at a company, the second group of 15 and the third group of holy crap, who are you people!?
I’ve been on both sides of this at the same company and it is very interesting territory.
Model level caching is something that’s often ignored, even by seasoned developers. Much of it’s due to the misconception that, when you cache the views, you don’t need to cache at the lower levels. While it’s true that much of a bottleneck in the Rails world lies in the View layer, that’s not always the case.
The Internet recently fell in love with picture-parsing websites that guess your age, and whether someone is your twin. Now it offers another spin on novelty…
Like lots of problems we attempt to solve with technology, identifying whether or not a picture has naked people in it sounds easy until you have to identify and handle context. Then, it gets a lot more complex.
When we type something into our terminal program, we’ll often see output. For example:
1 2 $ echo hello helloAs we can see,
echo hello
is a command that means “output hello”. But…
Gabe Berke-Williams covers the ins and outs of STDIN, STDOUT, and STDERR.
When you use a rescue clause in Ruby, you can specify what kinds of exceptions you want to rescue. All you need to do is provide a list of exception classes…
You’ll notice more Honey Badger links showing up more in this listing. Their blog is pretty great.
Ruby application servers are typically used together with a web server like nginx. When user requests a page from your Rails app, nginx delegates the request to…
Nothing could be simpler and more boring than the case statement. It’s a holdover from C. You use it to replace a bunch of ifs. Case closed. Or is it?
Nice exploration of some great uses for case
.
Pyotr Stolyarsky died in 1944, he was considered Russia’ s greatest violin teacher. He counted among his pupils a coterie of stars, including David Oistrakh and Nathan Milstein, and a school for gifted musicians in his native Odessa was named after him in 1933. But Stolyarsky couldn’t play the violin anywhere near as well as his best students. What he could do was whisper metaphors into their ears. He might lean over and explain how his mother cooked Sabbath dinner. His advice gave no specific information on what angle the bow should describe, or how to move the fingers across the frets to create vibrato. Instead, it distilled his experience of the music into metaphors his students could understand.
This article is coming up on two years old, but I only saw it come up recently. Thoroughly engaging on improving machine learning in a way I still can’t quite wrap my head around.
It’s becoming more and more common to see malware installed not at the server, desktop, laptop, or smartphone level, but at the router level. Routers have become quite capable, powerful little computers in their own right over the last 5 years, and that means they can, unfortunately, be harnessed to work against you.
I write about this because it recently happened to two people I know.
Watch your router firmware, everyone.
Here’s a little conference speaking tip: don’t introduce yourself. Nobody cares who you are or what you’ve done. At least, not yet.
I saw Avdi speak at RubyNation 2014 and he structured that talk very well.
A common Ruby pattern for injecting values from an Array into to a Hash is to use the Enumerable#inject method and pass the hash as the memo.
Good info on working with Enumerable
data structures in Ruby, something that
I’m still building my experience with, because they are awesome.
Fair warning. You’re going to hate this one. I want to stop pushing the web forward for a while. I want a moratorium on new browser features for about a year or so
I understand the sentiment, but believe this to be a futile request.
In 1969, Milton Packin was pulled over for speeding on a New Jersey highway. He appealed the ticket, claiming that he wasn’t driving the car; it was the cruise…
One of many aspects I find interesting about what looks like a future of at least partially autonomous personal vehicles.
First things first, AWS and Heroku are different things. AWS offer Infrastructure as a Service (IaaS) whereas Heroku offer a Platform as a Service (PaaS).…
Start with Heroku when you’re evaluating whether or not an MVP has traction. If it does, you can afford the time to prepare it for AWS.
One creative writing teacher from Montana’s reinvention of Western thought, and why it’s undergoing a renaissance
Rails 5 is right around the corner (currently targeting Fall 2015) and there are some exciting features coming up.
Best practices for great multi-device web experiences Create flexible, not fixed, layouts. Make your projects look great and interact beautifully.
All too often, I sit in a meeting with a client and conversation goes a lot like this. Me: “Okay, looks like we have 4 features fully fleshed out here. When do you need each of these by.” Client: “We need these yesterday”
Favoring a list of prioritized items is very instructive about what a developer should work on. The project sponsor or business stakeholder’s vote on priority is a clear signal to the development team.
MongoDB is evil. It… … loses data (sources: 1 , 2 ) … in fact, for a long time, ignored errors by default and assumed every single write succeeded no…
Yep, it’s a polemic. I was a MongoDB skeptic going in. I remain a MongoDB skeptic.
RSpec is an excellent test framework with a large community and an active team of maintainers. It sports a powerful DSL that can make testing certain things…
Older piece from Joe Ferris, talking about structuring RSpec tests for understandability over making use of all of RSpec’s features. Learn what a Mystery Guest is, if you don’t already know.
A lesson I learned early in my career as a programmer was to be wary of accidental creativity. If you’re the type of person who really cares about getting the details right, it’s critical to first decide which details truly matter. Not doing so is a recipe for endless frustration, as one will inevitably be distracted and defeated each day — sweating more arbitrary decisions than meaningful ones.
I use sets now…
I’ve been using Ruby for quite some time, but it was only recently that I found a hidden gem in the standard library, the Set class . If you are familiar with…
…sets are cool.
Ruby 2.0 introduced support for keyword arguments. If you’re already familiar with keyword arguments, feel free to skip to the next bit! Keyword arguments…
This is the journey of designing & coding this site, continuing from part 1. I will share how I went from the early mockups to the final site, with the many…
This is the first chapter of how I designed this site. I will share some sketches, deleted concepts and old prototypes explaining how it evolved along the way.…
An ongoing struggle I’ve wrestled with all my career is regarding estimations and their purpose in software development. A key component of SCRUM is that,…
When testing a Rails application with RSpec, there are many different test types to from. When should you pick each type and how do you combine them into…
The find_all/select methods take an enumerable collection return a new array of only the elements for which the given block returns true. It’s the simplest way…
Quick, what’s wrong with this Rails migration? Yep - it can be null. Your Boolean column is supposed to be only true or false. But now you’re in the madness of…
Many developers hit a point 5-10 years in where they feel like becoming a manager is the only way up. And at that point, they’re dangerous. 5-10 years exp?…
This tweet starts a chain with a worthwhile thread to think on. How do companies encourage career growth in their development staff? What do developers look to do when they want to level up?
When you use something as much as Ruby developers use Hashes, it’s easy to think you’ve seen it all.
But I’m here to tell you that the humble ruby Hash has a few tricks up its sleeve. Far from being a dumb key-value system, the Hash object gives you the power to do some very interesting and sophisticated things.
Weather plays an important role in many failures of engineering systems. Snow can overload a roof, ice can build up on transmission lines and towers, rain can infiltrate electrical boxes, and low temperatures can make oils viscous and difficult to pump.
Dr. Drang explains the import of weather data to his engineering practice and how he retrieves and processes data in a way he can use it easily in his work.
I always knew this day would come. The day that Facebook decided my name was not real enough and summarily cut me off from my friends, family and peers and left…
These last two pieces are worth reading and thinking about the consequences of decisions we make as developers, designers and companies. Algorithms and policies are as neutral and benign as the people that write them. Which is to say, not at all. It’s very easy to imagine our positions as neutral and positive because we – generally – have good intentions. But good intentions are not absolution from bias. Workplace diversity, equality, and a generous sense of empathy are necessary to reduce as much bias as possible.
Screencasts and presentations
I watched or attended the following:
- Upcase: “Live Coding Session: Replace Conditional With Null Object”
- Ruby Tapas Ep. 216: “Tell, don’t ask”
- Ruby Tapas Ep. 312: “Mocking Smells 4”
- Upcase: “Inject: Ruby’s Fold”
- Ruby Tapas Ep. 33: “Classes and Constants”
- Upcase: “Four Phases of Testing”
- Ruby Tapas Ep. 329: “Transaction Script”
- Ruby Tapas Ep. 330: “Rake: Finding Tasks”
- Ruby Tapas Ep. 331: “Process Object”
- Ruby Tapas Ep. 332: “Notify. Don’t Tell”
- Ruby Tapas Ep. 333: “Processes Everywhere”
- Elasticsearch - Logstash - Kibana 4 (ELK Stack) Setup Tutorial
- Railscasts No. 137: “Memoization (revised)
Podcasts
I listened to the following:
- The Bike Shed Ep. 18: "This Podcast is Rigged (But Not Animated)”
- Back to Work Ep. 223: “Normal is Whatever is There”
- Back to Work has been on a hot streak lately and this is a particularly fine episode
- Accidental Tech Podcast Ep. 120: “One Magical Wire”
- Back to Work Ep. 224: “Sugar Pills and a Pack of Cigarettes”
- Back to Work Ep. 225: “A Different Kind of Happy”
- Back to Work Ep. 226: “Only Child*”
- The Bike Shed Ep. 20: “Intentionally Excruciatingly Painful”
- Giant Robots Smashing Into Other Giant Robots Ep. 149: “Try to Stand Out (Chris Toomey)”
- Giant Robots Smashing Into Other Giant Robots Ep. 150: “Don’t Screw it Up (Derek Prior)”
- Reconcilable Differences Ep. 1: “We All Ruined It Together”
- Back to Work Ep. 227: “The Treasure Room”
- Back to Work Ep. 228: “Tibet’s Next Top Buddha”
- Another must listen
- Back to Work Ep. 229: “Shrimp in the Desert”
- The Bike Shed Ep. 21: “The "Best” Canada (Godfrey Chan)“
- The Bike Shed Ep. 22: "No Capes! (Eileen Uchitelle)”
- The Bike Shed Ep. 23: “Why Did They Call it Rust?!”
- The Bike Shed Ep. 24: “You Look Good in a Lab Coat (Richard Schneeman)”
- Accidental Tech Podcast Ep. 125: “A Better Future for Everybody”
- The Bike Shed Ep. 25: “Throwing the Schema Out With the SOAPy Bathwater (Gordon Fontenot)”
- Back to Work Ep. 230: “My Emotional Reservoir”
- Back to Work Ep. 231: “Hot Rod Hospital Ship”
- Back to Work Ep. 232: “You Got This.”
- Back to Work Ep. 233: “Emotional Density”
- Ruby Rogues Ep. 213: “Team Dynamics, API Design, and System Resiliency with Daniel Jacobson of Netflix”
- Back to Work Ep. 234: “Two Inches Behind the Board”
- Back to Work Ep. 235: “This is a Thing”
- Back to Work Ep. 236: “Finished for Now”
For some background on what’s going on here, see the first tool sharpening post
Reading and Learning: June 17, 2015
Wednesday, 17 June, 2015 — learning improvement
I’ve been busy the last few weeks on a client project that consumed a decent chunk of my evenings recently. I learned a lot on the project, and I’ve been able to include a few links and lessons I used along the way.
Articles and books
You are an educated, successful person capable of abstract thought. A VP doing an SVP’s job. Your office, appointed with decent furniture and a healthy amount…
Paul Ford writes 38,000 in Bloomberg about the business of software. Yes, there are shorter books you’ll read. This has been highly spoken of elsewhere, particularly the online experience and the fact that corrections and clarifications are being handled by GitHub.
For an added treat on your desktop machine, open the article, then scroll to the bottom as quickly as you can.
A perceived benefit of a client-side JS framework is the responsiveness of its interface - updates to the UI are instantaneous. A large amount of application…
One of the knocks on Rails (and Ruby) is that they’re slow. Yes, they’re slower than a compiled language. But here are some thoughts on changing how we write Rails applications to deliver in 100 ms. No, not using a client-side framework. Turbolinks.
I feel it’s time to revisit the web vs. native debate, and concede defeat — or, at least, concede that the web cannot, and should not, compete with native when…
With the link above, these are opposite sides of the same coin. Let’s optimize our web applications accordingly.
Startups focus on speed since they are burning cash every day as they search for product/market fit. But over time code/hardware written/built to validate…
Building fast and making technical tradeoffs builds technical debt. The same thing happens at the organizational level and organizational debt is harder to recognize, more damaging, and harder to pay down.
One of the myths of SaaS is that the products are so good, so easy to use, so quick to deploy … that the product sells itself. Given the…
This week I found myself with the rather strange task of testing that styles had been correctly applied to the DOM. There was a good reason for it, honest.…
I just wrapped a client project recently that involves some user-facing customization. This is the technique I used to ensure the style in the customization was being applied correctly. Very helpful.
Recently I worked on a project that required an admin interface for the business owner to manage records within the application. To this end we considered a few different approaches.
…
Since the goal for this project was to build an MVP (minimum viable product) it was agreed building a custom solution would be too much work. After spending time reviewing both ActiveAdmin and RailsAdmin, a decision was made to go ahead with ActiveAdmin. We much preferred the ActiveAdmin interface and didn’t like the idea of applying configuration in our models for RailsAdmin.
Notwithstanding, ActiveAdmin does have a few of it’s own drawbacks. The first of which is it’s dependency on using Devise for authentication, which conflicts with our preference for using Clearance.
This article was helpful on a recent client project where I implemented ActiveAdmin using Monban for authentication
Late last week, it was revealed that Facebook has seemingly taken either lazy or apathy to a whole new level. Yes, you can apparently now reply to text…
I’ve spent the past 8 years or so looking at ugly code. This isn’t uncommon in software development but in my case, I’ve been looking at different ugly code…
About two months ago I saw a site called “ Stanford Nerd ” on Product Hunt . Stanford Nerd works by sending a text message from the website to a Stanford…
I was an economics major in college, and I’ve been grateful ever since for the few key concepts it drilled into me: things like opportunity cost, sunk cost, and…
Nolan Lawson Fellow JavaScripters, it’s time to admit it: we have a problem with promises. No, not with promises themselves. Promises, as defined by the A+…
Screencasts and presentations
I watched or attended the following:
- Ruby Tapas Ep. 287: “Mocking Smells”
- Ruby Tapas Ep. 289: “Mocking Smells 2”
- Ruby Tapas Ep. 296: “Mocking Smells 3”
- Ruby Tapas Ep. 297: “Test Spies”
- Attended Nate Hunzaker’s presentation on React.js at the May, 2015 Triangle Ruby Brigade meeting
- Watched The Weekly Iteration: “Surviving Your First Week in Vim (and beyond)”
- Watched The Weekly Iteration: “Managing Windows in Vim”
- Watched “Vim for Rails Developers”
- Watched Rails Casts No. 416: “Form Objects”
Podcasts
I listened to the following:
- Accidental Tech Podcast Ep. 116: “Women aren’t a
minority”
- A good episode where John, Casey and Marco look at how to expand their audience to include more women and girls
- Ruby Rogues Ep. 204: “Limerence with Dave
Thomas”
- Solid episode on the process of falling in love with development tools and balancing working with new tools against developing mastery with older tools
- Ruby Rogues Ep. 205: “Eight Years of Ruby and Rails with Piotr Solnica”
- Back to Work Ep. 220: “Canadian Gentle”
- The Bike Shed Ep. 15: “Might As Well Be About Trains (Sarah Mei)”
- The Bike Shed Ep. 16: “Wizards Are Hard to Kill”
- Giant Robots Smashing Into Other Giant Robots Ep. 147: “Cry Through it, and Keep Typing (Saron Yitbarek)”
- Ruby Rogues Ep. 207: “Rebuilding Rails with Noah Gibbs”
- The Bike Shed Ep. 17: “Railing About Performance (Sam Saffron)”
- Giant Robots Smashing Into Other Giant Robots Ep. 147: “Cry Through it, and Keep Typing (Saron Yitbarek)”
- Back to Work Ep. 221: “Minimally Viable Interruption”
- Accidental Tech Podcast Ep. 119: “Promoretired”
- Back to Work Ep. 222: “Full-Stack Obsessive:”
- The Bike Shed Ep. 19: “The Oncoming Storm (Sam Phippen)”
- Accidental Tech Podcast Ep. 120: “One Magical Wire”
For some background on what’s going on here, see the first tool sharpening post
Reading and Learning: May 17, 2015
Sunday, 17 May, 2015 — learning improvement
A fair amount of reading and podcast listening since the last entry in mid-April. Since putting together a small tool to pull reading information out of Instapaper, these sorts of posts have become much easier to pull together.
My goal is to automate them further using a Rails application I’m building. The application’s aim is to reduce the friction of recording what technical/technical culture material I’ve read and podcasts I’ve listened to. More on that later.
Here’s the latest log:
Articles and books
I read the following:
I am proud to be one of the 17 founders/authors of the The Agile Manifesto back in 2001. I think it provided a jolt of energy, hope of a better way of doing things, of creating software and making the world work better. It was a pivotal turning point.
But in the 14 years since then, we‘ve lost our way. The word “agile” has become sloganized; meaningless at best, jingoist at worst. We have large swaths of people doing “flaccid agile,” a half-hearted attempt at following a few select software development practices, poorly. We have scads of vocal agile zealots—as per the definition that a zealot is one who redoubles their effort after they’ve forgotten their aim.
-
- Ben Orenstein covers a key principle of OO
At Wiredrive, we do a fair amount of code reviews. I had never done one before I started here so it was a new experience for me. I think it’s a good idea to…
What object-oriented programming advice is this code violating? Note: please just answer this in your head, not in the…
Lately I’ve become increasingly sensitive to how little time I have left to learn new technologies. It’s not that I’m nearing death: I’m not, at least not by…
There it was, right in my inbox: If you go ahead and make those changes, we’ll come on board and send you a check for $75,000. 75 grand was a buncha cash for…
Programmers love to discuss interviewing programmers. And hate to discuss it. Interviewing touches the very heart of human social interaction: It’s a process…
As a developer, you spend 90% of your time on code-related activities like reading and maintaining existing code. With such a large chunk of time spent on these…
The end of the beginning, and the beginning of the end It was January, and the weather was fucking bleak. It’d been freezing and overcast for as long as I could…
Of course Facebook doesn’t “edit” NewsFeed in the same way that a newspaper editor once edited the front page. It’s a very different way. That’s why we’re…
Recruiters are not my most favorite people in the tech eco-system. They’re the people that will contact you on behalf of some client (the company that pays…
This is a simple web application for a group of employees to find out their average salary without exposing any individual salary information to anyone in the group, or storing any private information on the server.
ShellCheck is a static analysis and linting tool for sh/bash scripts. It’s mainly focused on handling typical beginner and intermediate level syntax errors and…
This is a simple web application for a group of employees to find out their average salary without exposing any individual salary information to anyone in the…
Today we are announcing our intent to phase out non-secure HTTP. There’s pretty broad agreement that HTTPS is the way forward for the web. In recent months,…
When I started on the Firebird team at Bazaarvoice, I was happy to learn that they host their code on GitHub and review and land changes via pull requests. I…
Is software antifragile? I think so. I recently finished the book Antifragile – Things that Gain from Disorder by Nassim Nicholas Taleb. I liked it a lot, and…
I’ll never forget the first time I used the World Wide Web. It was in the early 1990s. I was in America visiting my girlfriend (now wife) at her college in Massachusetts. This was before Mosaic, the first graphical web browser, was released. There were no images on the web, but I was still stunned by the scope of what I experienced. Even back then, the web seemed limitless, without edges. That Encarta CD-ROM sitting next to the computer suddenly seemed pathetically constrained.
In her new book No One Understands You and What To Do About It , Heidi Grant Halvorson tells readers a story about her friend, Tim. When Tim started a new job…
Here is my list of heuristics and rules of thumb for software development that I have found useful over the years: Development 1. Start small, then extend.…
Shannon Liss-Riordan rolls a small black suitcase out of the ugly federal courthouse in San Francisco. She’s smiling, just a fraction. No wonder: She just won a little victory against Uber.
You didn’t mean to end up here. You didn’t even see it coming. It all started with a chance to earn a living doing something you loved. Your dream job. Creating…
Podcasts
I listened to the following:
- Back to Work Ep. 217: “The Worst Most Advanced Teenager”
- Ruby Rogues Ep. 192: “Vagrant with Mitchell Hashimoto”
- Giant Robots Smashing Into Other Giant Robots Ep. 142: “142: The Power of Play (Justin Gitlin)”
- Ruby Rogues Ep. 200: “200th Episode Free-For-All!”
- Accidental Tech Podcast Ep. 114: “So far, so OK”
- Back to Work Ep. 218: “ The Tigers in Your Kitchen”
- Ruby Rogues Ep. 202: “The Struggles New Ruby Users Have with Jake Day Williams”
- The Bike Shed Ep. 13: “Begrudging Applause”
- Giant Robots Smashing Into Other Giant Robots Ep. 145: “YOLO! push to master (Sam Phippen)”
- Aaron Patterson guest stars
- Back to Work Ep. 218: “The Tigers in Your Kitchen”
- Accidental Tech Podcast Ep. 115: “Empathy for the Machine”
- Ruby Rogues Ep. 203: “Design and Sketching with CSS with Sean Fioritto”
- The Bike Shed Ep. 14: “An Acceptable Level of Hassle”
- David Heinemeier Hansson guest stars
For some background on what’s going on here, see the first tool sharpening post
Reading and Learning: April 20, 2015
Monday, 20 April, 2015 — learning improvement
For some background on what’s going on here, see the first tool sharpening post
Oh goodness, this is a big one. I can explain. Work has been busier and I’ve spent more time of late really wanting to not do things manually. Witness all of the TextExpander work I’ve done in previous editions of “Tool Sharpening.”
I simply refused to keep a list of articles read manually, so I waited until I wrote a tool to pull the contents of an RSS feed from Instapaper and write it out as a Markdown file. After completing another home project last week, I had time to write the first iteration of that tool, and so, I was able to quickly pull things I’ve read for the last few weeks easily.
As the tool expands, I expect to be able to make these sorts of posts more frequent and, as such, more digestible.
Articles and books
I read the following:
We’ve been paying closer attention lately to how we use design patterns in our Ruby on Rails work. Decorators have emerged as one pattern that’s helped us keep…
Since leaving SocialChorus I have been doing an odd combination of management consulting and on the ground software design consulting. I have been doing what I…
Rome wasn’t built in a day is one of those adages freely dispensed by motivational posters and chatty grandparents, which makes it just as easy to freely…
Last year in one of my conference talks, I mentioned that I have kids. After my talk, a woman came up to me and asked me how I do it. How I have a full-time job…
My hands were shaking…I could barely breathe I had just finished the first one-one-one coding assessment in my six-month coding bootcamp and it had not gone as…
Let’s say you want to delete a method foo that seems to be dead code. You use a tool like grep to find callers of foo, and there are no results. It’s tempting…
On March 27 The following message was posted on the official GitHub blog: We are currently experiencing the largest DDoS (distributed denial of service) attack…
I’d been meaning to write this up for a while, and now Nat Pryce has written up the 140 character version . I “write” a Call Option when I sell someone the…
Let’s say you have some code whose intent is clear to you but you can see a world where someone else may be confused. Often after writing such code, you realize…
Were software engineer a profession like doctor or lawyer, we’d have a strong and binding set of ethics. I note that the ACM publishes a code of ethics. Here’s…
Brent Simmons has a good post today on ethics for programmers: Were software engineer a profession like doctor or lawyer, we’d have a strong and binding set of…
This checklist is comprised of 48 items you can use to gauge the maturity of your software delivery competency, and form a baseline to measure your future…
I am lucky enough to work with a small team of fantastic engineers who truly care about their customers. If you are not that lucky, this letter is for you to…
The hardest part of advising Ph.D. students is teaching them how to write. Fortunately, I’ve seen patterns emerge over the past couple years. So, I’ve decided…
If you’re using Git, you’re probably using pull requests. They’ve been around in some form or other since the dawn of DVCS. Back before Bitbucket and GitHub…
Screencasts and presentations
I watched or attended the following:
- Triangle Ruby Brigade March presentation by Ian Pointer, “Flame On! (Debugging Rails in the Ruby 2.x era)”
- Triangle DevOps March presentation, “Ask Red Hat About Their DevOps Journey”
- Ruby Tapas Ep. 15: “Advanced Fetch”
- Ruby Tapas Ep. 20: “Struct”
- Ruby Tapas Ep. 21: “Domain Model Events”
- Ruby Tapas Ep. 22: “Inline Rescue”
- Ruby Tapas Ep. 23: “Tempfile”
- Ruby Tapas Ep. 24: “Incidental Change”
- Ruby Tapas Ep. 25: “OpenStruct”
- Ruby Tapas Ep. 26: “FFI”
- Ruby Tapas Ep. 27: “Macros and Modules”
- Ruby Tapas Ep. 28: “Macros and Modules, Part 2”
- Ruby Tapas Ep. 29: “Redirecting Output”
- Ruby Tapas Ep. 30: “Backticks”
- Ruby Tapas Ep. 31: “Observer Variations”
- Ruby Tapas Ep. 294: “Predicate Return Value”
- Ruby Tapas Ep. 295: “Predicate Return Value, Part 2”
- Triangle Ruby Brigade April presentation by Corey Foy, Code Katas: Growing Through Deliberate Practice
Podcasts
I listened to the following:
- Back to Work Ep. 209: “Habitual Ritual”
- Back to Work Ep. 210: “Fighting with Garbage Can Lids”
- Giant Robots Smashing Into Other Giant Robots Ep. 136: “I Think it Was the Altitude”
- Here’s 31 minutes of discussion between Chad Pytel and Ben Orenstein on Ben’s recent sabbatical. The discussion illustrates why thoughtbot is a great place to work.
- The Bike Shed Ep. 9: “Monorails, For the Kids”
- Sean and Derek talk about not reaching for SOA and microservices everywhere
- Ruby Rogues Ep. 191: “The Developer Happiness Team with Kerri Miller”
- The panel and Kerri talk about what goes into helping developers remain effective, “Mandatory Fun” at work, collaborative decision making in a very fast, information rich hour
- There’s a lot here that speaks to past jobs I’ve had, why I became unhappy and what I’ve learned to look for in seeking out new roles. Well worth your time.
- Giant Robots Smashing Into Other Giant Robots Ep. 132: “Story Tellers (Adarsh Pandit, Kyle Fiedler)”
- Chad Pytel, Adarsh and Kyle talk about thoughtbot’s transition away from using story points and the whys behind the move
- I’ve used story points before and found them valuable and, if you’d asked me before I started at thoughtbot if I thought they were a helpful communications tool, my answer was yes
- I’ve been at thoughtbot a little over a month, I’ve used story points exactly zero times and have not missed them
- My views on points, grooming and planning are evolving to be a lot more fluid than they’ve been in the past. There is sometimes value in these practices and I would be comfortable using them again. But first, I’d want to find out what communication we’re having with formal grooming and assigning points and seeing if there isn’t another, less intrusive way of accomplishing the same goal. Key is remembering that points and formal grooming meetings are tools and tools themselves can help, but they don’t complete the project.
- Ruby Rogues Ep. 193: “The Volt Framework with Ryan Stout”
- Ruby Rogues Ep. 194: “Real Life JRuby with Sudhindra R. Rao”
- Back to Work Ep. 211: “Squeeze the Teabag”
- Ruby Rogues Ep. 195: “Building Your Technology Radar with Neal Ford”
- Back to Work Ep. 212: “That Tuesday Feeling”
- Back to Work Ep. 213: “That’s Not Where Rogue Goes!”
- Back to Work Ep. 214: “Destroyed by Farm Equipment”
- Giant Robots Smashing Into Other Giant Robots Ep. 134: “Growing to Meteor (Paul Dowman)”
- Accidental Tech Podcast Ep. 106: “That’s Slightly Right”
- Giant Robots Smashing Into Other Giant Robots Ep. 135: “Planning For Change (Ben Arent)”
- The Pat Brisbin Maybe Haskell series
- The Bike Shed Ep. 10: “I Don’t Get Functional Programming”
- Giant Robots Smashing Into Other Giant Robots Ep. 137: “The Haskell Renaissance (Pat Brisbin)”
- Pat might actually get me to have a look at Haskell this year. It’s still likely after either Go or Elixir, though.
- Giant Robots Smashing Into Other Giant Robots Ep. 138: “Overloading the Home Row (Craig Andera)”
- What Craig describes as being possible with Datomic sounds really interesting
- The Bike Shed Ep. 11: “Form-ing Opinions”
- Ruby Rogues Ep. 197: “The Social Coding Contract with Justin Searls”
- Back to Work Ep. 215: “Legacy Cat”
- Ruby Rogues Ep. 198: “Expanding the Ruby Community Values to Other Languages with Scott Feinberg and Mark Bates”
- Ruby Rogues Ep. 199: “Deployments with Noah Gibbs”
fin
Reading and Learning: Feb. 24, 2015
Tuesday, 24 February, 2015 — learning improvement
For some background on what’s going on here, see the first tool sharpening post
Alright, I let this one go too long. The articles list is incomplete, but to help clear a giant backlog….
Articles and books read
- To Forgive Design, by Henry Petroski
- I need to write my thinking on this book in more depth, however, if you are looking for recent examples of the importance of understanding failure in engineering, you would do well to start with this book
- See also this New York Times review of the book
- Just Enough Research, by Erica Hall
- It’s only fair to point out that I did not read two books in the last few days, I only finished these two books over Christmas vacation
- “The Cameleon”, by Paul Smith
- “JavaScript Equality Table”, by dorey
- “25 More Things I Want To Tell My Daughter”, by Jen Meyers
- “Bash Shell Functions Tutorial with 6 Practical Examples”, by Ramesh Natarajan
- “Hashie Considered Harmful - An Ode to Hash and OpenStruct”, by Schneems
- The Twelve-Factor App, by Adam Wiggins
Screencasts and presentations watched
- Attended Triangle DevOps’ January meeting where organizer Mark Mzyk presented “The Journey of a DevOp”
- Attended Triangle Ember’s February meeting where Jason Draper presented “Why I chose Ember”
Podcasts listed to
- The Bike Shed, Ep. 4: “Put Everything on the Front End”
- The Bike Shed, Ep. 5: “Rails is Not Your Architecture”
- Back to Work Ep. 199: “Merlin’s Best of 2014”
- Ruby Rogues Ep. 184: “What We Actually Know About Software Development and Why We Believe It’s True with Greg Wilson and Andreas Stefik”
- Giant Robots Smashing Into Other Giant Robots Ep. 126: “Log In to Your Space (Zach Dunn)”
- Ruby Rogues Ep. 185: “Rails 4 Test Prescriptions with Noel Rappin”
- Back to Work Ep. 200: “Blitzkriegscheiße”
- Ruby Rogues Ep. 186: “The 4 Rules of Simple Design with Corey Haines”
- Back to Work Ep. 201: “Never Enough Bathrooms”
- Ruby Rogues Ep. 187: “Marketing Yourself as a Software Developer with John Sonmez”
- Back to Work Ep. 202: “FIXME”
- Giant Robots Smashing Into Other Giant Robots Ep. 127: “Merging Worlds (Meng To)”
- Giant Robots Smashing Into Other Giant Robots Ep. 128: “To Attract and Retain (Dan Croak)”
- Ruby Rogues Ep. 188: “Community Building with Pieter Hintjens”
- Accidental Tech Podcast Ep. 98: “Landmines, Pitfalls and Bottomless Pits”
- Back to Work Ep. 203: “I blame the Media”
- Ruby Rogues Ep. 189: “Choosing a JavaScript MVC Framework with Craig McKeachie”
- The Bike Shed, Ep. 6: “Shh! Library Under Maintenance”
- Ruby Rogues Ep. 190: “FIXME: Apprenticeship”
- Back to Work Ep. 205: “Obsolete, circa 1993”
- Giant Robots Smashing Into Other Giant Robots Ep. 129: “The Engineering of Payments (Ian Logan)”
- Back to Work Ep. 206: “Talking to Santa”
- Back to Work Ep. 207: “Vampires in the Wallpaper”
- Back to Work Ep. 208: “Don’t Touch Daddy”
- The Bike Shed, Ep. 7: “At the Car Wash”