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 The most mentioned books on Stack Overflow
The GoF book is responsible for a lot of bad decisions made by inexperienced devs because colleges insist on using it as a textbook. It's the textbook used in most Java-based CS programs for their Design Patterns courses. It was when I was in school and it still is now.

Mainstream developers who attend schools that produce Java developers believe that this is a recipe book. I have seen this book used at conference talks for nearly 20 years. Countless blog posts aimed at beginners reference this book as the way to solve problems.

The book itself is pretty explicit that they are not recipes, but that doesn't mean it isn't used that way.

Don't blame the book - blame the curriculum that's based on it.

bphogan··on Chrome 56 will mark HTTP pages with password fields as non-secure
Seconding this, because this is what I do for one of my projects.
bphogan··on Ask HN: How Is Developing on a Linux VM in Windows?
If you do it with Vagrant it's not painful at all because you can then make easy directory maps to access the files. I've done this for years.

Windows 10's WSL (Windows Subsystem for Linux) is pretty amazing though. If you're only doing command line stuff, you might be able to get almost everything you want done with that instead. I managed to configure mine to run my tmux and vim configurations, get Ruby running, and install the Ubuntu version of Vagrant to provision some DigitalOcean machines. It all worked relatively easy.

The only stumbling block I ran into is that the Bash shortcut doesn't drop you to a login shell, so my .profile wasn't executing. From Powershell, start bash with --login or append --login to the Bash shortcut, and everything works pretty darn well.

But if you're gonna go the VM route still, just make sure you have tons of RAM. My 4gb Surface doesn't do a horrible job, but after the summer Windows update, I feel the pinch more than I used to.

Hope that helps!

bphogan··on Do not change Linux files using Windows apps and tools
"for those of us who have lived in both camps"

I live in both camps. This is the same attitude I took issue with in the original article. It's condescending. "I have to keep telling you to not do something because we didn't plan for it."

I'm not saying it's an easy problem. But I am saying that blaming users for something doesn't give me confidence.

bphogan··on Do not change Linux files using Windows apps and tools
Like the article says. You point your Nginx to serve files out of the "c" drive mount point.
bphogan··on Do not change Linux files using Windows apps and tools
FTA:

> I have to provide this guidance at least 2-3 times a day so instead I am publishing it here so everyone can find / link-to this guidance.

This may be oversimplifying, but if that's the case, then there's a design problem. Either you should make it work, or you should do some better defense against it up front.

If the solution is "eh, just work out of a Windows folder", this isn't really better than using a VM. Heck, I've been using WSL since the beta, and using Vagrant + Putty gives me better results.

I was hopeful it would get better, but then I saw this post and shook my head. "Silly users, stop trying to do things we didn't plan for you to do!"

bphogan··on Visual Studio for Mac Preview
I'm really confused - because when I go to the site, it doesn't really say "Visual Studio" - it references tooling and Visual Studio Code. So am I missing something?
bphogan··on GreatAgain.gov
https://www.opm.gov/forms/pdf_fill/sf181.pdf
bphogan··on Nitrous Service Shutdown – November 14th
No. If you are going to develop professionally with a language then you should know how to install the environment. But that's a huge ask for people just learning.

I have fought through issues of setting up a development environment for modern web development for the last ten years in boot camps and classrooms. When everyone brings their own device, you run into tons of issues you can't control. Students get confused by differences in terminals, text editors, and many other factors. The instructor's environment must match what the students have. And these allow for that.

And if you think "well, if they can't bother to set up their own evironment, they shouldn't be writing code cos they're not smart enough," I'll offer this. While I agree that it's important to know your tools as a professional, we are not talking about professionals here. We are often not even talking about people who want to be professional software developers. There are many people who have studied their field for years and are probably much smarter than many of us here are now getting into code because it's a tool for them to do their work better. It is in my opinion arrogant to insist they set up their own tools before they can learn what we do.

bphogan··on Nitrous Service Shutdown – November 14th
I moved everything to c9.io for my Rails book and workshop for the same reason.
bphogan··on Nitrous Service Shutdown – November 14th
This was a dream for coding bootcamps, classrooms, etc. Unfortunately I keep hearing from lots of places that you just can't make money in edu. But man, I love these tools for teaching people how to code. It's the only way to go.

I wish Codeanywhere and others the best of luck.

bphogan··on Shame on Y Combinator
The candidate routinely throws around the phrase "Believe me."

So people are.

bphogan··on Why I hate frameworks (2005)
This is the hope I have too. Nicely put.

I have been coding in JS since JS landed in a browser and right now it's just too much, with a new build system every six months, to new libraries and frameworks. This continous evolution is necessary because JS wasn't designed to do the things people are using it for 21 years later.

So I've been looking at Elm. A lot of people really don't like the syntax. But if you get past that, there's a lot of things there. There's a great architecture, a sane package manager, static typing, and all the other things people bolt on. And it sounds like while it currently builds JS, it's going to move towards WebAssembly when that's more widespread.

Even if Elm doesn't become "the next big thing", maybe it'll spawn something that is.

I hope Elm, or something like it, does sweep the table clean.

bphogan··on Old Geek Jobs: fighting against ageism in the industry
One thing that may help is for those with experience to do a lot more teaching and mentoring. A lot of the evangelism of new technology is done by younger, hungry people looking to advance their careers. The more experienced devs sound like complainers.

The people I respect and aspire to be are those who are currently in their late 40s or 50s talking about Elm and Elixir. They were the ones in their 30s and 40s telling me Ruby was it. They were right, because they used their experience.

bphogan··on Old Geek Jobs: fighting against ageism in the industry
Exactly. Use your experience to judge a technology on merit. Does this solve a pain point in a new and interesting way, or is it the same approach in a different language?
bphogan··on It’s Tough Being Over 40 in Silicon Valley
This is exactly it. It's a lesson I learned recently. Just chill out. Don't try to "save" people from making mistakes.
bphogan··on The End of Headphone Jacks, the Rise of DRM
I'd heard that it caused camera interference, which I don't understand. But the more plausible thing I heard was that they needed some room for that new haptic thing they put under the home button.
bphogan··on The End of Headphone Jacks, the Rise of DRM
Because consumers don't care how developers are treated, nor do they care about walled gardens like we do.

They buy the iPhone because of the brand, or they use Android because that's the free phone that was available, or the one the Verizon store pushed.

Geeks like us spend a lot of energy projecting our beliefs onto an audience who simply does not care. I know I've gotten riled up about open standards and DRM and stuff like that; my non-geek friends just roll their eyes at me.

Maybe they do it because they don't care. Or maybe they do it because we geeks treat everything like a Chicken-Little sky-is-falling thing.

bphogan··on iPhone 7
So including the $9 adapter in the box is just a token gesture so they can pretend to care about legacy things?

I dunno - if they were really in this for making you buy new headphones, they'd not bundle the adapter, like they did in the past when they switched from 30-pin to lightening.

bphogan··on Docker not ready for primetime
woah, wait.....

It "geneerally works if" you " rebuild docker hosts on a daily or more frequent basis."

Perhaps I'm misunderstanding, but needing to rebuild my prod env several times a day seems pretty "not ready for prime time" to me.

That's like when we'd say that Rails ran great in production in 2005, as long as you had a cron task to bounce fastCGI processes every hour or so.

So, can you elaborate on why rebuilding the containers is good advice?

bphogan··on Humble Book Bundle: The Joy of Coding
I'll bet five American dollars it will.

The future will most likely be fewer books printed because publishers will just stop doing it and offer print-on-demand, passing the price to the customer.

My tmux book was originally done like that - printed only on demand. And the price difference reflected it.

bphogan··on Humble Book Bundle: The Joy of Coding
When it comes to technical books, the cheaper bindings and glue don't matter... are you really gonna need that Angular 1.x book that far into the future? :)
bphogan··on Humble Book Bundle: The Joy of Coding
Oh, that is neat. That may be exactly what I was looking for. Thank you for sharing.
bphogan··on Humble Book Bundle: The Joy of Coding
I love that there are many people on here clamoring for physical copies. But over the years, I've noticed (for the books I have written and edited), print copies sharply declined and ebook copies sharply went up. It's to the point where I don't even know why we bother doing paper anymore.

I prefer digital because I can send out updated copies of the books to readers for free, which I can't do on paper. And programming stuff changes so frequently.

So I guess I'm saying if you want print books, you should make that known by buying physical copies of books. Cos if the trends I see continues, I can't imagine it'll be practical to do print tech books too far into the future.

bphogan··on React Server
That process is the second part of the process, once clear, basic documentation exists.
bphogan··on React Server
I have to agree here. There's nobody better to explain how something really works than the person who wrote it. The rest of us are just fumbling around guessing.

As a dev and a creative person, I understand the desire to get something out there. But documentation and tutorials aren't just something that's nice to have. They are your marketing tool, your adoption driver, and the way to create educated advocates for your project. They are as valuable to your project's success as a splashy "getting started" web site is.

bphogan··on Ask HN: Describing skills and competencies in a resume?
I recommend a Summary of Qualifications that talks about what you are able to do. It's the "executive summary" that makes the HR screener want to read more. I can tailor this to the job if I need to do so.

Then I recommend listing work experience focused on acheivements. Recruiters want to see how your past experience will translate to future success so don't list job duties. List accomplishments at the job. How much revenue did the apps you wrote bring in? How many active users did the app you built support? Did you mentor other people and were they successful? Did you contribute to an open-source initiative?

"Built and maintained web applications using Ruby on Rails and React with over 200,000 active users per month."

I do list skills both in context and in a skills section.

My résumé has gotten me an interview every place I've sent it for the last 15 years. These things will never hurt you to do on yours. They will only help you.

I've heard that objectives hurt, and I know that work experience that reads like a job description hurts too. My wife is in HR and I've asked these questions of her network of people and that's the general consensus. So I hope that helps.

bphogan··on Cloud9 Acquired by Amazon
People forget the bit about poor performing machines. Developers with tech jobs often have high end machines provided to them. Many students do not, especially at public open-enrollment places. They come with whatever they have, despite recommendations from the program they enter.
bphogan··on Marp: Markdown Presentation Writer
Oh that's very cool. What's the slide separator?
bphogan··on Rails 5.0: Action Cable, API mode, and more
Yea. I wanted this since Rails 3.
← PreviousPage 3 of 24Next →