HNHacker News
TopNewBestAskShowJobs

jimrhoskins

201 karma · joined April 18, 2009

submissionscomments
jimrhoskins··on Pointer Pointer
Another cool thing is it appears to scale/move the image to match the desired point, at least in some cases.

Try moving your pointer around to different positions very close to the top right corner. This triggers a picture with a wristwatch and water bottle. The pointing is done by the right hand, which if your pointer is too far right is cut out of the frame, but becomes visible as you move towards the left.

jimrhoskins··on Post Mortem: A single whitespace character
Didn't heroku turn off legacy routing last week? I was getting emails warning me to update to their new routing rules by Monday. Seems like it could be related.
jimrhoskins··on C for Rubyists
Strange, with the Disconnect extension enabled, all I saw was the code, and not the annotation which I think is the meat of this submission.

If you don't see anything, try disabling social-blocking extensions.

jimrhoskins··on Secrets you should have learned before your first programming job
Curricula definitely vary. I can anecdotally confirm this list is spot on. I did learn SQL and regular expressions, but I'm pretty sure they were technically electives, so I could have graduated without it. All these other things I learned on the job (whilst attending school.)
jimrhoskins··on 2048 Directory
Now for a 2048 clone of TLDs!
jimrhoskins··on All 2048 games
Coincidentally I created http://2048.directory that is a repo that accepts PRs
jimrhoskins··on We work a 4-day week and just raised $4.75m (2012)
Support team has a slightly different schedule to make sure Fridays and even weekends have coverage. I'm not exactly sure what the schedule is, I'd have to ask.
jimrhoskins··on We work a 4-day week and just raised $4.75m (2012)
You can see our full team, and their responsibilities here (http://teamtreehouse.com/about)

The content team (teachers, video, audio, motion design) is a sizable portion of the company. They focus on writing, producing, and supporting the learning content and video.

The app team (devs + designers) focus on things like the the web app, the learning tools like our code challenges, and quite a bit of other stuff.

We have support team members who are always interacting with and helping our students. Marketing, sales, and operations are doing what you would expect them to.

It's interesting to watch the scaling in person. When I started it was just Nick Pettit and myself as teachers ( and we did our own video/audio work), Ryan the CEO, and we had a contract dev and designer. Now it's ~60, not even sure of the exact number, and everyone keeps really busy.

jimrhoskins··on Where are Docker images stored?
Yes, assuming you mean your own docker registry. Docker has open sourced https://github.com/dotcloud/docker-registry

Remember the registry deals with the actual data, and delegates auth and other stuff to an index. The docker-registry has a dummy implementation of an index that has no notion of authentication or authorization, so anything you push to your private registry is really public if you don't secure it with some other method.

For me, I wanted to have a real private registry with access control limited to my team. It turned out to not be too difficult to make our own registry+index implementation that is private by default. It has a basic web interface too. I've open sourced development of it https://github.com/jimrhoskins/stevedore . It's still really rough, especially on the web interface stuff, but for push/pull operations with required authentication, it does the job now.

jimrhoskins··on Angular Announces AngularDart
I'm so confused by the comments here. Did I miss a line where they say AngularJS is being discontinued for AngularDart?
jimrhoskins··on Hacker News comments I'm tired of seeing
Unfortunately, not everyone can down vote, and the fastest route to getting enough points to do so is to make the comments we are complaining about to gather the upvotes.
jimrhoskins··on Three More MMO Developers Receive Letters from Treehouse Attorneys
This made me look twice, as I work for (Team) Treehouse. Coincidentally, the last company I worked for was called Avatar International, so the company in the article "Treehouse Avatar Technologies" made me do an extra double take.
jimrhoskins··on How to use a Reddit-clone to boost company culture
Good stuff. I like telescope. Largely the reason we rolled our own is for us to easily integrate it with our auth. We use a bunch of internal tools, and having them integrated with our Treehouse auth is really nice. Not having a separate user database for each tool is great for getting people to use it, and managing new employees and the employees who leave the company.

Telescope was my favorite of the choices I saw. Great work.

jimrhoskins··on How to use a Reddit-clone to boost company culture
Well it's primary purpose was to cut email. And it has. We had a lot of emails that had a lot of replies that were not actionable, like birthday emails, and new hire intros. After 30 "Happy Birthdays!" and "Welcome to the team!" responses you get pretty annoyed seing the thread hit your inbox.

We also has a lot of emails about interesting articles about our company, or the space we're in. Sometimes discussions would happen in email, and not being well threaded it was hard to follow. Also those emails are not usually actionable, but they appear in your inbox.

We post a lot of interesting links in convoy, as well as all the above categories of conversation. It definitely has more of a reddit feel than a HN feel. It's not a work-only type of environment. We have fun. Since the video team has hours of video of the teachers, they have this habbit of making embarrassing animated gifs and posting them, which is fun.

We don't really have rules about what you CAN post in convoy, we have guidelines about what you SHOULDN'T put in email. If it's not a good convoy post, votes will take care of it.

jimrhoskins··on How to use a Reddit-clone to boost company culture
I replied in more depth, but it came down to making it private and authenticating against our own app via oauth. Hacking existing solutions seemed like more work than building our own. Plus it's fun to make things.
jimrhoskins··on How to use a Reddit-clone to boost company culture
Hey, I wrote this, so I can answer a few of the questions.

Why not discourse/reddit/telescope/etc...? I looked into those. Solving the problem we needed a few basic things, posts, threaded comments, and votes. The killer feature that we wanted it to be private to our company, and we wanted authentication integrated with http://teamtreehouse.com. Hacking any existing solutions to fit that auth model seemed more work than it was worth.

When it comes down to it, it's a ridiculously simple app. There's a few models, and not a whole lot of code. When we gauged the effort of integrating most of the OS solutions into our oauth system and locking it down to be in-company only, just making the app was way easier. Plus. we can easily extend it to fit our needs, and we have. Also, I wanted to play w/ rails 4 + ruby 2 for the first time.

Regarding the name, it was a code name. The tool is built for having conversations (convos), and I though convoy was a cool codename. As soon as Ryan saw my working prototype, he told me to launch it, and the name stuck. I didn't even know there was a movie.

jimrhoskins··on AngularStrap - Bootstrap directives for AngularJS
I don't believe ui.bootstrap actually depends on angular-ui, the project is just rolled into angular-ui's brand/github org. They could probably be more clear about that.

All three of them (angular-ui, ui.bootstrap, angular-strap) have been a pleasure to work with.

jimrhoskins··on Is Angular the JS frameworks for hobbyists?
Yes, but it's also suitable for "real" applications.

I write a lot of hobby/side projects just for experimenting and learning, and Angular has become my framework of choice. You can just get stuff done so quickly and easily, particularly after you've been using it for a while.

Angular has a sort of jagged learning curve. It's shallow for quite a while, and you can do a lot of work in that shallow half. However once you need to start writing your own directives, the curve steepens. It's not the steepest curve, but there's definitely a transition. This is when you hear people talking about Angular being difficult, citing things like transclusion.

I've made it to the other side of the curve, and I love writing directives and services, it's become fairly intuitive to me. With the modular architecture, if you there is a large library of available modules/plugins, even people who don't want to write a lot of JS and understand Angular to it's core can do some amazing things. That's why I built http://ngmodules.org , so that people can share modules, and AngularJS can be accessible to more people.

jimrhoskins··on Learning to Code: Lessons from building a simple Rails app with Treehouse
What a great idea! Thanks!
jimrhoskins··on Learning to Code: Lessons from building a simple Rails app with Treehouse
Congrats on deploying your app Jason!

All of the lessons learned in your article are really good ones, particularly about reading documentation, and even copying code at first. It's something we struggle with at Treehouse, we want our courses to be as smooth and error free as possible, but it's a bit disingenuous to portray building an app as something so smooth.

Developers encounter errors, Google error messages, and dig through docs all the time. We're trying to integrate some of the bugs we encounter into the videos, to hopefully shed some insight onto how to troubleshoot when errors inevitably occur.

jimrhoskins··on The 90 Day Plan
Treehouse is a bit different from something like Instagram, the product is is something that can't really be automated by computers: teaching via video. About half of the company is directly involved with writing, shooting, and editing video, split almost evenly between teachers and video professionals.

The team that manages the web app, and most of the other teams, are small in comparison, they are certainly small and effective teams that utilize automation.

I agree with your points on automation, I just wanted to point out there are still things that require human interaction and creativity to produce.

jimrhoskins··on AngularStrap - Bootstrap directives for AngularJS
Third party modules like this one of the things that make AngularJS awesome.

I put together http://ngmodules.org/ as a searchable repository of Angular Modules. Hopefully people will find some useful libraries through it.

jimrhoskins··on Show HN: Firefeed - A Twitter clone built with Firebase
In case anyone is confused, it requires Facebook, so if you block FB, it will be pretty much an empty page with some footer links. I assumed it had crashed. But they assumed I allowed facebook.

Might be good to have something show up in case you can't reach facebook.

jimrhoskins··on Animated Factorisation Diagrams
Draw a circle that intersects both dots. Done.

Before you say that it should be just a line, let me say that it doesn't break the rules that say you can "draw" a circle with 100 or 12 or 7 dots. The dots don't form a circle but rather fall on the line of a circle your mind draws. Since there is nothing truly between the dots, the "true" shape could jut out and form a corner or any other shape, just like it could be a line between the two dots. The circle isn't really there in any circle of n points, so n=2 (and n=1 for that matter) work just fine.

jimrhoskins··on Letters: A tiny debugging library for Ruby
This looks pretty cool. At first I had the reaction that it was too simple. I didn't have patience to watch the video, so I just read the homepage.

I think you should at least mention the other "letters" included in the library on the front page. It goes in depth into 'p', which makes it seem like it's all there is. Maybe name some of the other letters, and link to the API docs.

Each individual piece seems pretty small and easy enough to implement, but the package as a whole seems more valuable, having all these little tools in one place.

Nice work

jimrhoskins··on Show HN: AcademyReady helps you finish online courses, punishes you if you don't
It's already been done [1]. An interesting point someone brought up about this is if your money goes to a good cause, it may be less of a motivator, since even if you fail your personal goal, you still did some good.

Perhaps donating money to a charity or political party you don't agree with would be more motivating.

[1] https://loseitorloseit.com/

jimrhoskins··on Javascript Regular Expression Editor
Very cool, but the most useful thing to me about Rubular (which this is inspired by) was the quick reference. Considering the results you get for a google search on "JavaScript Regex", a nice simple table with the basic syntax (and methods) would be very valuable. After that, the fact I can test expressions on the page is just gravy. I can test expressions on any page in the world with Dev Tools.
jimrhoskins··on Dell launches Ultrabook for $999
In the case that Dell (or someone else) had better hardware at a better price. It doesn't look like that's the case with the Ultrabook just yet.
jimrhoskins··on Dell launches Ultrabook for $999
Because at first glance it will pass for a macbook air.

I don't say that with any bitterness. I have and love my air, but as I find myself using less and less of OS X, and really just living in iTerm and my browser, the real appeal of the Air to me now is the hardware. If the Ultrabook stands up to the Air in quality, I'm seriously considering the Ultrabook + Ubuntu (double-u?) for my next notebook. Also assuming Ubuntu runs well on it, which my guess is if it doesn't now, it will soon.

jimrhoskins··on The Hardest Thing About Teaching: Knowing When to Lie
Taking it a step further, the next hardest thing is dealing with the consequences of the lies when there are students with enough experience to know that you lied, but not why you lied.

I teach programming through video courses, and at a very beginner level, you have to lie a lot, in order to simplify the concepts that are peripheral to the core concept you are trying to explain. There are few things (if any) in the world that can be explained linearly. The dependency graph for any concept you want to teach will branch out into a dozen other topics, and often cycle back on itself.

The way you have to teach is pick a core concept you want your student to learn, and do your best to explain it, and whenever an unexplained concept comes up, explain it the simplest way you can so you don't get knocked off track. Often this involves lying, or creating the simplest mental model that works for the current situation.

I'll get emails routinely from people who say that I didn't thoroughly explain some topic that was not the core topic of the exercise. For instance if you want to learn about JavaScript strings, you may want to mention "string".toUpperCase(), but if you are just learning about strings, functions or method invocations are some way off in the future. You can't just stop and explain the details of functions, how they are invoked on objects if you are still working on the basics of a core data type.

So the hardest thing is not just knowing when to lie, but how to lie in a way that won't cause too much upset if the student knows you are lying. The best way to mitigate this is to explain that it is a simplification, and we will learn more about it soon. This is usually enough to keep going, as well as keep interest levels high.

Page 1 of 2Next →