HNHacker News
TopNewBestAskShowJobs

bphogan

2,971 karma · joined July 16, 2009

I am an author, editor, mentor, trainer, and web application developer. I currently maintain http://rendera.heroku.com and http://railsmentors.org. I am the author of "tmux: Productive Mouse-Free Development", "Web Development Recipes", "Web Design For Developers" and "HTML5 and CSS3", all published by the Pragmatic Bookshelf, where I currently work as a part-time development editor.

You can follow me on Twitter at @bphogan or contact me at bphogan at gmail

submissionscomments
bphogan··on Ask HN: What non-technical skill would help you most in your career in 2016?
Sometimes it's as simple as politely asking. "Hey, are you interested in knowing how this works?"

IT people tend to assume that everyone is just as interested in stuff as they are. It's not a great assumption to make. Just cos you think it's cool doesn't mean everyone does. And that's ok.

bphogan··on Ask HN: What non-technical skill would help you most in your career in 2016?
This one's really tricky, because one thing you have to determine early on is whether or not the person really cares to understand at all.

Metaphors can be terribly dangerous because of personal experiences. For example, I've seen people explain object-oriented programming using biology or automobiles. Those sound great until you think about how many people don't relate to those metaphors.

Other people don't care. I don't care how my cellphone works - I care that it works, and if you tried to tell me how it works, I'd tune you out. It's not in my scope of give-a-damn, you know?

If you feel you're terrible at explaining things to non-technical people, reflect on whether or not those people really need to know those things.

If you determine that they are interested, and that you are unable to adequately explain, consider finding situations where you can understand their side of things. A great way to do that might be to learn how to do something that they do. When I meet a new client, I ask them to explain very technical parts of their job to me. Then I am the person on the receiving end of that. I can observe how they explain things, and I can empathize with them when my eyes glaze over. :)

Hope that helps a little, or at least gave you some ideas.

bphogan··on Salary Negotiation
Taught software dev for four years in higher ed. I always had modules on resume/cover letter, behavioral interviews, core value matching, self promotion, salary negotiation, and other job-related things.

Student feedback always suggested these were incredibly valuable lessons.

bphogan··on Rails has won: The Elephant in the Room
Nope. It doesn't. I've spent two years working with it. And "gets every single dang decision right" is a matter of opinion. Chris and José are incredibly wonderful people, but they are just as opinionated as the people behind Rails.

So "gets decisions right" sounds good as long as you agree with those decisions.

I happen to love working with Elixir and Phoenix. I find working with Ecto frustrating not because of the code, but because of the opinions the framework creators have made about where things go. They have good solid reasons for their opinions. And they are not wrong.

I just don't agree with them. And that's totally ok.

bphogan··on We Only Hire the Best
When you tie someone's compensation to performance, you don't always get the results you're looking for.

It seems to promote short-term gains over long term goals.

See IMSAI in the 1970s for a great example of needing to hit goals at all costs.

bphogan··on Budget Home Arcade Machine
Woah, can you please provide a little more info on the software and OS you're using on the Pi? I've got a good Windows-based setup using MaLa as a frontend, but I'd love to do this on the Pi.
bphogan··on I'm a fucking webmaster
All I'm saying is that when there were 28.8 modems, people in rural areas didn't always see those. In 1995. When you could do simple tables, images, and font colors. I remember it well because I worked with a rural ISP to make their web page.
bphogan··on I'm a fucking webmaster
I had a 28.8k modem.

But my internet connection was rural, and 1200 baud. It was possible.

bphogan··on Today I accept that Rails is yesterday’s software
You will indeed have to re-implement stuff Rails gives you. But more importantly, you will have to maintain it.

I maintain a large-ish Sinatra app that should've been done with Rails. Update cycles on the gems are a nightmare. It feels cobbled together. it's a "half baked homegrown version of Rails."

Someday I will just move the logic to a new Rails app and be done with it. It was a terrible idea.

* your experience may vary. :)

bphogan··on Recruiting and Retaining Giants [pdf]
There are days when the end of Office Space seems like a good idea....
bphogan··on Recruiting and Retaining Giants [pdf]
I hope this isn't directed at me -I posted the article cos I couldn't believe someone would actually think this is advice. It's so horrible I wasn't even sure it wasn't just really poorly done sarcasm.
bphogan··on Recruiting and Retaining Giants [pdf]
This seems like such terrible, terrible advice. And yet when I hear stories on HN and other places, I kinda wonder if this is a sarcastic take at the way things work in software.

I would love to know the context of this. Was this seriously a talk that was given somewhere? Do people actually accept this as actionable advice?

It's a little unnerving to me.

bphogan··on Why I don’t use CSS preprocessors
It's not pedantic. It's the way it was designed. Just because people use tables for layout doesn't mean they were intended for that.

As far as graceful degradation, If I open a properly built page in a text-only browser, there are no styles. There's no real emphasis or bolding. There's just text. Because CSS didn't exist.

Now, if you want to live in the early part of the decade when it was OK to put inline styles and background colors in your HTML, that's fine. But the world evolved beyond that. HTML with <body bgcolor" is deprecated.

Because HTML is the content. CSS is how it looks. And JS is how it works.

bphogan··on An introduction to Tmux
You set prefix to C-a and then send double-presses on.

So C-a-a still does beginning of line.

bphogan··on Why I don’t use CSS preprocessors
HTML is not the presentation.

HTML is the content and description of content. You put a <strong> tag around text to make it strong emphasis.

CSS is the presentation. Your browser sees the <strong> tag and applies its default style of making it bold.

bphogan··on Why I don’t use CSS preprocessors
Just a nitpick.

I hate, hate, hate having to alter my HTML to apply styles. The idea of

<h1 class="primaryColor">

totally creeps me out. I do it because other people refuse to use preprocessors and think that altering the HTML to include presentational details is fine (see Bootstrap.)

But it still feels gross to me.

bphogan··on Why I don’t use CSS preprocessors
I've also been doing things on the web since 1995.

Don't measure experience by how long someone's done things. Measure it by what they've done. It's that old quote about "10 years of experience, or one year of experience repeated 10 years."

I've also been following this individual. I don't tend to agree too much with what he has to say because my experiences are very different.

I met a dev at a meetup the other night as I was giving a talk on Elm. He's been doing web dev almost as long as me. He still does HTML with tables. He uses inline CSS. He's never investigated a preprocessor, and has never looked at Angular, Backbone, or React.

But he's successful, so, shrug.

So be wary of "appeal to authority" arguments. Yes, he's been around a long time. Doesn't mean he's right.

None of us are really right. Just weigh all the opinions and decide based on experience.

I'm too old and tired now to try to convince people I'm right and they're wrong. I'm more interested in saying "I think this is cool and here's why."

For the record, I think Elm is the future and you can pry Sass from my cold, dead hands. Those are just my opinions, and they may change. It doesn't mean anyone who uses jQuery and straight CSS is wrong.

bphogan··on Charlie – Free HR platform for small businesses
Trying to figure out if US businesses can use this. Seems very UK-centric from my reading so far.
bphogan··on “Make HTML Great Again”: Campaign site teardowns
Yea it was poorly phrased, but so many people brush off the platitudes like "broken windows" in our industry.
bphogan··on How quitting my corporate job for my startup dream f*cked my life up
Came here to say the same thing. This whole article could be summarized as "I was pampered growing up. I was pampered through school. I was so pampered I had no concept of what things actually cost because everything was paid for me."

It's quite a shock when you start noticing that $3 bottles of water start adding up.

bphogan··on “Make HTML Great Again”: Campaign site teardowns
This is the "broken windows" effect in real life.

"Google doesn't care, and these other sites don't care, so why should I care?"

I have found that validation serves a very important purpose - to guide your development. I have lost count of the times I have encountered CSS with all sorts of extra junk because things didn't look right, and the reason for it was that the underlying HTML was invalid.

Yes, the browsers are smart. But they are still guessing. If you leave out a tag, the browser will close it for you. Not always in the right spot. Invalid pages could also result in a DOM tree that's not quite right, so JavaScript could be affected.

Developers should validate their pages just as they lint their code, to ensure quality.

Of course, if you're using cutting-edge elements, they won't validate. But that's a little different story. It's not a reason to not validate, it's just a reason to filter out those errors.

bphogan··on Open Sourcers Race to Build Better Versions of Slack
Couldn't you just make sure that puppet/chef/whatever runs the right config options? Maybe a script that asks you for values up front and plugs them in?
bphogan··on Open Sourcers Race to Build Better Versions of Slack
So you plan for it. We just had this whole discussion on HN a few weeks ago when Mandrill changed and everyone was scrambling.

If you rely on a third party for business, you need to plan for it.

The rule always applies: You will pay now or you will pay later.

bphogan··on Open Sourcers Race to Build Better Versions of Slack
Makes sense.

Although I take issue with "when chat is down your business is at risk."

Pick up a phone. Use Skype. Send email.

Business was done for thousands of years before chat apps. :D

bphogan··on Open Sourcers Race to Build Better Versions of Slack
Yea. And isn't it funny though in an age of Docker and pre-made VMs that we still configure stuff?

Seems like a quick script would set all this up for us :D

bphogan··on Open Sourcers Race to Build Better Versions of Slack
ZNC handles this nicely.

The tech is all there. It just sucks to set it up yourself and should just work out of the box.

bphogan··on Open Sourcers Race to Build Better Versions of Slack
Edit: looks like someone asked a similar question below.

I'm curious though.

What is it about IRC that makes it not a good choice? It seems to me that the biggest issue non-nerds care about is the user experience. And I feel that if people wanted to, that could be fixed. And if we really wanted to, we could extend IRC to do what we want and deal with its shortcomings.

I use a nice web gateway (kiwi) on top of an IRC channel for my student office hours and it's easy. They just supply a username and log in. No software to install, the UI looks nice, and students don't have to sign up for anything.

If I had the resources and the money, I'd focus on a good modern IRC client and server.

Am I wrong?

bphogan··on The Deep Roots of JavaScript Fatigue
You know, if people approached web programming like actual programming, with layers of abstraction, there wouldn't be spaghetti code in the first place, and one could move to a different framework as needed.

But the problem is nobody stays with anything long enough in the web world to learn it well. 5 years ago, Backbone, Then Knockout. Then Angular. Then Ember. Now React.

Seriously, a dev with 5 years of experience in JS has literally the same 1 year of experience over and over now.

:D

bphogan··on Major sites including New York Times and BBC hit by 'ransomware' malvertising
Ransomeware on the NFL or NYT website has been done before?
bphogan··on Major sites including New York Times and BBC hit by 'ransomware' malvertising
I was wondering how long this would take.

One of the things I've long known as a programmer for the web is that when you let a third party put content on your web site, you don't have control over what they do.

Whether it's a person entering content and you fail to sanitize it, or pulling in ads from an external network, the end result is that you get something like this eventually.

I don't have a solution, really, because nobody wants to pay for content, so sites have to use ad networks. But I'm surprised this hasn't happened much sooner.

← PreviousPage 4 of 24Next →