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: Do your eyes bug you even though your prescription is "correct"?
I haven't met too many people who share this condition. Nice to meet you.
bphogan··on Ask HN: Do your eyes bug you even though your prescription is "correct"?
Where? Even thick ones are super expensive here. Over $250 a lens. I'd gladly pay $75 more for a significantly thinner lens. Point me in the right direction please.
bphogan··on Hugo is awesome, its documentation is not
Hey, author here. Thanks so much for the kind words! I love Hugo, and I wanted to give people a real-world tour of how to build something concrete with it.
bphogan··on GitHub scraped your code. And they plan to charge you
I think you're missing my point. I have tons of MIT code out there, including a node.js project used by lots of companies. I don't care about people using my code for money because I open sourced it under a permissive license. So I'm not really objecting to that.

But what's bothering me about this is that it's not a small company doing this. It's a company that's got crazy amounts of cash, who has been trying to trade on a "we're nice now and we love open source" image in the last few years, now taking all the open source code and balling it up in a closed-source app they will charge us for.

I'd be fine if I got to use it for free, extend it to whatever editing platform I like through its open API, and it was a part of an open project.

But right now it looks like they'll charge, and that bugs me.

bphogan··on GitHub scraped your code. And they plan to charge you
Hi HN. Didn't really expect to see this tweet make it here of all places. But that's cool.
bphogan··on From 15,000 database connections to under 100: DigitalOcean's tech debt tale
Hi! I work on the "Write for DOnations" program at DigitalOcean and I want to thank you for your kind words. Your comment put a huge smile on our faces when we saw it. Glad to hear we were able to help you along your journey-that's what we're here to do.
bphogan··on Why aren’t more companies remote-first?
in office or not, managers and teams should be monitoring contributions

Your version control system and ticketing system should be able to identify things like this.

If not, then nobody's minding the store, and that's why things aren't working. Not cos people are working remotely.

bphogan··on Why aren’t more companies remote-first?
One thing that always gets lost is this:

Some humans do not think on their feet. They often need time to digest thoughts and new ideas. If you start observing this behavior, you will notice that an impromptu brain-storming session often results in a couple of people talking and many others observing.

It ends up being highly productive to the people talking, and very frustrating to those who are observing.

If you don't see this trend, your hiring practices may be optimized for finding only one type of person - extroverted people who can say things quickly.

Consider that you may be missing out on some very good ideas from people who aren't comfortable with quick context switches and immediate requests for feedback on ideas.

bphogan··on Chasing the Aurora Borealis
I saw them at least 3 times in the early 1980s in Wisconsin, but never since. I had an uncle who was very much into stargazing, so we'd often go out in the middle of the night to see meteor showers or the northern lights.
bphogan··on Your live coding demo is boring me (2015)
Sure, a live coding talk without preparation is gonna get people to check out. But honestly, if you throw up 45 minutes of slides you're gonna put an audience to sleep too.

According to audience feedback I've collected, my talks where I do a lot of live coding are engaging and fun. But that's cos I practice, and I put effort into the talk.

The key to a good presentation is to polish it and engage the audience. It's part teaching and part performance, and if you don't do both of those well, you'll lose people. Ask the audience questions to get them involved at key places. Practice so you know the timing of things.

If you just show slides or just live code, you're probably better off recording a youtube video, tweeting it out, and spend conferences enjoying the hallway track. :)

bphogan··on Glitter bomb tricks parcel thieves
But it is an issue because it's tax dollars, and people don't like paying taxes.
bphogan··on DigitalOcean launches its container service
Hi! I'm a member of the Community team at DigitalOcean. I wanted to thank you for your kind words about our tutorials. This kind of feedback means a lot to us. We're glad we could help you get your web site set up.
bphogan··on Why GitHub Won't Help with Hiring
They are also great in demonstrating knowledge in a new field. For example, if you do C# at your day job but you want to move into Go. Showcasing side projects can demonstrate some experience. This helps sidestep the "well, I don't have Go experience" issue.
bphogan··on Slack client for the terminal
IRC is an open protocol. Messages like what you see can be hidden by the client or suppressed by the server. And free intermediary servers can keep logs.

It's amazing to me how people think Slack is this amazing tool. If someone had thrown millions of dollars at IRC, it wouldn't suck.

But instead, you'll fork over your personal info and insist I do too.

bphogan··on Slack client for the terminal
Disagree about barrier to entry.

I run an office hours chat for my online classes powered by IRC. I use KiwiIRC as the front-end.

Students need only the web address of the web page I want them to go to. When they get there, they need only a username.

No signup, no verification, none of that. They're online, getting help in seconds.

Individual public channels requiring nickserv registration and all that? that's another story.

But seriously - the barrier to entry to get started is this:

https://kiwiirc.com/client/irc.freenode.net/?##irc_can_be_ea...

bphogan··on Stimulus: A modest JavaScript framework for the HTML you already have
This has been my experience on the last two small things I built. I just reached for the jquery (or even just regular JS) because I didn't need that much.

Isn't it cool to have choices? I don't care if it's not cool to use jquery anymore. I shipped stuff and I'm not even sorry.

bphogan··on Stimulus: A modest JavaScript framework for the HTML you already have
Front-end stuff doesn't have to be complex, but it is. For example, a lot of places using React think they need Redux too. And React-router. And many other components. React itself is quite simple. But the architectures that developers build are often incredibly complex.

This was the case with jQuery, Angular, and things that came before.

I see two main problems in software development, especially on the front-end. First, developers jump on brand-new ground-breaking frameworks and use them in production, learning how they work as they go. This results in brittle systems. That's not necessarily bad, but it's not always great from a maintenance perspective. React is hot right now. But there are a ton of in-production Angular 1.x apps out there because that was what was hot when those projects started.

That brings me to the second problem in tech - developers doing the "hot new thing" displaying a ton of hubris. It's "easy" and "straightforward", implying that anyone who doesn't get it just isn't smart or will be obsolete soon.

I'd worry more about losing my job due to not keeping up with machine learning rather than not learning whatever new JS framework people think is hot right now.

Here's the deal - web developers figured out server-side rendering 20 years ago, and managed to make turning databases into web pages easy about 12 years ago. It's possible to create applications that people love using a lot of that technology, with some JS on top. It's certainly faster to go to market with something that way.

Not every app is Facebook. A lot of the stuff people work on outside of HN fall into one of two categories:

1. Apps that are behind a firewall - internal in nature, used by a handful of enterprise users. 2. Apps that won't be around in 3 years from now because the company will shift focus/replace it with an off-the-shelf product/company gets acquired.

In both those cases, I'd look for the simplest approach to get something running, and simplest to maintain.

Bottom line: it's easier to leverage existing skill-sets than it is to ask people to learn a whole new thing all the time.

Anyway, at the end of the day, I don't really get too worked up about how another person chooses to solve the "make the browser display a web app." Every situation is different. React can be simple. So can server-side rendering with some Knockout/Stimulus/Intercooler/jQuery sprinkled around.

Maintainable quality code that makes money wins in the long run. Whatever you implement it in.

bphogan··on A Year of Developer Journals with jrnl.sh
You might want to look at vimwiki if you haven't already. https://github.com/vimwiki/vimwiki
bphogan··on Markdown Here – Write email in Markdown
Because you can use this plugin for more than just emails. I've used this in a lot of backend systems that support rich-text interfaces but don[t support markdown.
bphogan··on Interactive Vim tutorial
Oh wow. Thanks for those. I completely forgot those were things.
bphogan··on The cost of higher education for students on the edge of poverty
That's her side of the story. Which I'm not saying is wrong. But, again, it's awful hard to advise people who don't have any direction.

I also didn't notice if she went full time or not. I had many students who took 4 years to get a single degree, because they only took 3-5 credits a term. Our program was 68 credits. They worked 40 hours a week.

I had young adults in my class who would attend every 8AM class - never missed a day. But they never turned in work. I asked a few of them why. Same story: "If I'm going to school, my parents stop harassing me." Other students didn't know what they wanted to do, but being in school deferred student loan payments, so they just kept enrolling on purpose, kicking a can down the road.

There are a lot of young people who do not know what they want to do in life. Heck, there are older folks like me who still don't.

I miss the hell out of teaching, but I don't miss seeing students go into massive debt aimlessly floundering their way through school. And I don't like that colleges take advantage of that fact either.

bphogan··on The cost of higher education for students on the edge of poverty
I wholeheartedly agree.
bphogan··on The cost of higher education for students on the edge of poverty
From the article:

> Like many students, she took classes she didn’t need, partly due to poor advising and partly because she was feeling her way toward a major.

I taught at a community college. A lot of people there are really just feeling around for what to do with their lives. A lot of them also didn't do so well in high school and needed to skip ACT/SAT requirements to get in to a 4 year school to do what they really needed. This translates into lots of general ed classes/GPA boosters.

When a student doesn't know what they want to do, it's hard to give them good advice. And if they didn't take school seriously in high school, it's harder for them to start doing it more seriously now.

Combine that with not knowing where you're sleeping that night, or trying to concentrate on an empty stomach, and yea, it'll take you a while to dig out.

I learned a lot of empathy teaching at a community college. Now, sure, we could talk about "personal responsibility", but there are a lot of things at play here. Lots of responsibility to share.

bphogan··on The Life and Death of the Touch Bar: Revisiting the MacBook Pro
Folks, the touchbar is 1000x more useful if you have a BetterTouchTool license. I have mine customized completely, with app-specific shortcuts. It's amazing. Without BTT, the touchbar is kinda silly. But with it? You can do some rad stuff with it. I urge you to try it out and see what you can do with it.

You can even execute a shell script and put the results in there.

bphogan··on Vue.js vs. React
See Elm.
bphogan··on If SoundCloud Disappears, What Happens to Its Music Culture?
I made a thing to share an s3 bucket. The files in the dir get listed with temporary download links and I use HTML <audio> tags to get the player to work.

The current version makes you authenticate with a username and password or google login as I made this to share some songs with someone who wanted to license them from me.

https://github.com/napcs/s3server

I am hacking on a branch this week that will support publicly sharing a directory. If anyone wants to hack on this, I'd love it. It's pretty minimal right now but it's open source and it works, so ¯\_(ツ)_/¯

bphogan··on If SoundCloud Disappears, What Happens to Its Music Culture?
They did that. It apparently wasn't enough. When I signed up a few years ago, I did a thing where I wrote and recorded a song a day for a month. A few days in, I had to start handing Soundcloud money for a Pro account so I could upload more songs. And when I forgot to renew in 2015, my stuff temporarily disappeared.

IDK what they do nowadays. I only release a new song every couple of months.

(shameless plug: soundcloud.com/bphogan)

bphogan··on Show HN: The JavaScript Way, a book for learning modern JavaScript from scratch
I used the Peanut Butter and Jelly one in my classes when I taught programming. I also used "tying shoes". Both of those examples came from a class I took on how to teach general subjects. Before you can teach someone, you need to be able to explain it well. Thus, before you can tell a computer to do it, the same applies.
bphogan··on Iron Yard code school to close all campuses
I have many many thoughts on what model would work. Sorry if this gets ranty...

I believe that the models that will be successful are models where there is curriculum designed to be done asynchronously, with ample time for practice and repetition to build skills, followed by assessment and feedback.

You do not need a classroom for this. A wise man once told me that a good teacher is not the sage on the stage, they are the guide on the side. And that's what adults need. They don't need to all sit in a room together being held back cos one person doesn't understand it. Lecture and talking and demos can all be done online on Youtube.

Or you make a web site, write some content and make some videos, give some practice problems with unit tests that tell the student if they got them right. Easy peasy. Nobody's time is wasted.

The third part is the part that doesn't scale - you need people to provide coaching and feedback. And you need one on one time to discuss feedback, options, choices, etc.\

Think about this:

If I tell you to make me a five page web site with a contact form, appropriate color scheme, valid semantic markup, clean CSS, appropriate color scheme, and content, then I have to do the following:

1. Develop lessons to give you the information on how to do these things 2. Give you ample opportunities and time to practice and excel at these things individually 3. Give you detailed feedback on your practice so you can practice more 4. Give you the time to do the assessment well 5. Review your work and give you detailed feedback on it so you learn.

Notice that I start with an end in mind, then work it out to get you to be successful - I don't just start teaching you a bunch of stuff and then make up some test... it's all planned out.

So the curriculum design takes time and planning. It's an art and science of its own and we learn new things about how people learn all the time. But a small group of folks can take the time to put curriculum together. There are people who study this for a living. They're not subject matter experts though, so you kinda do need both.

But notice all the places where there's review and feedback. That's the part that doesn't scale. That takes time. It takes a LONG time to give good, detailed feedback to a learner so they can improve. Your job isn't to fail them - it's to make sure they're successful - if they do their part and you do yours, they will be. (Obviously if you only put an hour into this final project there won't be much for me to give feedback on, so the learner has to put in the effort too) But you are their guide on the side, not the keeper of all knowledge that they must appease.

So to find people who are caring individuals who can be these instructors, who can help people understand the curriculum, who can coach them through the process, who can meet with them... that doesn't scale. People will need to be compensated for this. With benefits so they don't have to worry about their own well-being as well as their students'. But if you can figure out a way to scale this and finance it, it would work well. I interviewed for and was offered a position at a bootcamp that had a model very similar to this, but they were doing a commission-based salary based on number of students that chose you as their coach, so it was too risky for me. I hear they changed their model tho and are doing well. Hopefully more places will catch on.

Bottom line - good curriculum designed with outcomes in mind from the start, with everything aligned, is a good start. But learning happens through practice and feedback - I don't care how many times you read the book or watch the Pluralsight videos - you won't learn it till you practice it, do challenges someone else offers you, and internalize the feedback they give you once you're done.

Ah well... this got super ranty and I'm tired. I hope it makes sense. You can email me if you want to chat about this more. I'd be happy to do that.

bphogan··on Iron Yard code school to close all campuses
I don't know about the original poster, but I'd have stayed teaching full time if I could have afforded it. But I was literally making half of what my students were making after a couple of years in industry.

Another thing to think about is this: Just cos you know SWE really well doesn't mean you have the ability to teach it to others. Not everyone "gets" things quickly, or will understand your explanations on the first attempt, so you must be patient. Not everyone learns the same way, nor do they have the same educational experiences, so you must be kind. And not everyone has a great home life, and has a ton of distractions that prevent them from learning, so you must be empathetic. Finally, not everyone loves to code - they just want the dollars that come from a job and will do whatever it takes to get there, including lie, cheat, and do the bare minimum, so you must be firm and strong to avoid burning out and thinking they're all terrible lazy students.

There are people who can do this. But they're rare. And even rarer when they see the low paychecks offered.

Page 1 of 24Next →