HNHacker News
TopNewBestAskShowJobs

KrisJordan

1,721 karma · joined May 4, 2008

I teach computer science at UNC.

http://krisjordan.com

http://twitter.com/KrisJordan

submissionscomments
KrisJordan··on Fred Brooks has died
The Department of Computer Science at UNC Chapel Hill, which Fred founded in 1964, shares our official remembrance letter here: https://cs.unc.edu/news-article/remembering-department-found...
KrisJordan··on Fred Brooks has died
"The teacher's job is to design learning experiences; not primarily to impart information." -Fred Brooks

A favorite, lesser known quote of Fred's from his technical communications course at UNC and a SIGCSE talk. Beyond a software engineer and researcher, he was an extraordinary educator. His design ethos carried through to pedagogy, as well, and has been an inspiration to me. Thanks, Fred.

KrisJordan··on Fred Brooks has died
As faculty at UNC CS, I can mournfully confirm this is indeed the case. He passed peacefully at his home in Chapel Hill earlier this evening, surrounded by family.
KrisJordan··on What comes after Git
That your commits are made locally, in a clone of the entire repository, is decentralized. Your local respiratory accrues history as divergent (and unbeknownst) from upstream as you'd like it to.

If you're going to collaborate in a decentralized way you ultimately need an accepted mainline source of truth.

KrisJordan··on Renaming files with mv without typing the name two times
This feature is brace expansion.
KrisJordan··on Staffpad: a new class of notation app
FWIW, Brown University was doing research in this *Pad field (stylus-based input apps for domain specific notations) in the late 90s/2000s. I was a member of this group for a brief period of time. It's really exciting to see a resurgence in high quality pen computing with affordable, entry-level consumer hardware like the Surface 3.

Music Notepad (original): http://graphics.cs.brown.edu/research/music/home.html

Music Notepad (tabletpc): http://graphics.cs.brown.edu/research/music/tpc.html

Mathpad: (Commercialized) http://www.fluiditysoftware.com/ https://www.youtube.com/watch?v=BAFGONn4KoQ

Chempad: http://pen.cs.brown.edu/research.html#chempad

KrisJordan··on Google Down?
Yes, it appears to be Time Warner Cable specific (in the Triangle NC area, at least)
KrisJordan··on Startup Idea: Solve Personal Analytics
What I'm finding from using and talking to beta users of DidSum (referenced in another comment on this post) is that the act of physically tracking a behavior has value in building habits and improving toward goals (or being extra aware of it, when you're not).

This is doubly true in a social setting where your friends/spouse/mom/coach can _see_ when you are or are not taking actions toward what you want to improve at.

KrisJordan··on Startup Idea: Solve Personal Analytics
I'm building a mobile app, called DidSum, that focuses on your #2 "Avoid Data Entry, but Make it Easy" (and putting an API around the data). It's almost ready for broader use.

I use DidSum to track running, blogging, eating healthy, sex, coffee consumption, and more.

DidSum allows you to define the actions you want to improve at. You can track publicly with friends and family and encourage/compare/compete with each other. You can also track privately (some actions I only track with my wife). It has basic analytics, which will get more powerful with time.

We're in a closed beta right now, if you're interested in helping test I'd love anyone interested in this thread's feedback: http://didsum.com/auth/register.html

KrisJordan··on Why I'm Getting a PhD
I suppose I am part of your Ph.D. 'attrition' statistic. It's less atrocious than you'd think.

I enrolled in Brown's Ph.D. CS computer program immediately after undergrad. In retrospect, I was too green to do proper due diligence to find the right fit with advisor and research area. The advisor relationship is extremely important. Within the first year I realized two things: 1) there was no way I'd be happy going deep with this particular research area and advisor for another 5-6 years, 2) I would complete my masters in the first year, fully paid for (with a research assistant "salary" on top) by being on the PhD track. I returned full-time to the company I co-founded while in undergrad after that first year.

No two PhD paths are the same, unlike with JD/MBA. Some folks come in and earn a master's along the way. Some come in with a master's. Some don't pass the (widely different depending on school) bars to advance to the Ph.D. candidate stage (I imagine there's a good bit of attrition here). Some don't find an advisor who can fund them. The requirement of contributing something novel to the body of research, no matter how long it takes, is a higher bar than completing coursework and projects. 6,7,8 years is a lot longer than 2-3.

KrisJordan··on Apple’s Developer Center Is Back After Over a Week Offline
Interestingly, some dev certificates/provisioning profiles I setup in the day prior to the outage do not appear to exist anymore. It seems as though they must have reverted back to some point earlier in the week.
KrisJordan··on When REST isn't Good Enough
Braintree isn't the only HTTPS API a developer will consume. Rather than bury the knowledge of HTTPS best practice in the black box of a library, why not exemplify it in language-specific examples of plain-old REST API documentation?

If the boilerplate for manually getting an SSL connection right in a given language is that obtuse, the "just use our library" pitch is even more compelling.

All this said, I have used Braintree's libraries and they are extremely well executed.

Not exposing REST API documentation externally (it surely exists internally, right?) just feels like a cop out.

(An argument I'm surprised was left out: it's easier for support staff to work with customers integrating with a good library than some home rolled REST client. I can imagine this to be true, but maybe a case of premature optimization if the majority of big API players expose and document their REST APIs anyway?)

KrisJordan··on Uses for cURL
Thanks for the heads up. Made a quick fix by taking out affix on the column. Tried to get this up pretty quickly with Bootstrap, need to spend some more time on it this weekend. Sorry for the annoyance.
KrisJordan··on Uses for cURL
Good catch -- need to get that page up :) Built echo primarily to help me test wiretap so it hasn't gotten much documentation love. Will get that up this weekend.
KrisJordan··on Uses for cURL
Yep, you're right. Duly noted, thanks.
KrisJordan··on Uses for cURL
It got changed, sorry. Original title was "9 uses for cURL everyone should know". Perhaps a bit assumptive.
KrisJordan··on Uses for cURL
So you can use -I with another method, but as soon as you add a body curl refuses. Went ahead and just took that scenario out of the post -- but your redirection snippet is great.
KrisJordan··on Uses for cURL
Ah, great catch. Added a note about having to specify the method explicitly / that -I uses HEAD implicitly. Thanks!
KrisJordan··on [dead]
Thanks, I'll try and get you beta access as soon as possible.
KrisJordan··on Show HN: Wiretap is a tool for integrating Apps w/REST APIs - need beta testers
Thanks! Yep, the local connection will tunnel through an HTTPS connect, so it should work from behind aggressive NATs.

The goal of the desktop app is cross-platform. In its current form it's a cobbled together OSX app that shells out, but moving it to Java (or an easier-to-port language) soon.

KrisJordan··on Show HN: Wiretap is a tool for integrating Apps w/REST APIs - need beta testers
Hey HN, op here. Wiretap is a weekend project of mine I've been hacking on for a few months.

It's like your browser's Network Tab, but for server-side and mobile apps. Technically, it's a hosted reverse proxy / debugger that's really easy to setup.

Looking for beta testers as well as feedback from HN on the demo and landing page content. Thanks for your help and input!

KrisJordan··on GoDaddy's DNS Service is Down
It looks like the root of the problem is that their DNS servers are unresponsive or offline. Web sites and mail whose DNS is hosted on GoDaddy appear to look "down" because they cannot resolve.

Good push for anyone to switch to DNSMadeEasy or Amazon Route53 if you're currently caught in this.

Update: It appears Anonymous is behind this https://twitter.com/AnonOpsLegion/status/245218636187443200

KrisJordan··on HiDPI/Retina image upsizing by clients & servers, not javascript
Server logic can figure it out just fine. For a familiar example check out nginx's static gzip compression support [1]. This works today. Browsers can say they support gzip compressed assets in a header. You don't have to add markup to say "get the smaller version". When nginx gets a request it looks to see "is gzip on the accept-encoding list"? If so, it looks to see if a compressed version of the file is sitting on the server and serves that directly. If not, it compresses on the fly.

Same story could apply here with a few different details.

[1]: http://wiki.nginx.org/HttpGzipStaticModule

KrisJordan··on HiDPI/Retina image upsizing by clients & servers, not javascript
Because your markup doesn't need to change to support HiDPI. The beauty of this solution is that the browser can be DPI aware and use HTTP content-negotiation behind the scenes to ask for higher resolution images. This is one of the main, albeit underused, use cases of content-negotiation with Accept headers. The main problem is that it requires both servers and browsers to add support. Whereas with a markup based solution that pointed out how to find hidpi assets existing servers can serve two files just fine.
KrisJordan··on My latest project: ConundrumCloud, a social microsurveying platform
Great tool for surveying a social circle on a question and getting immediate feedback.
KrisJordan··on Goodbye, server configuration woes. Hello, Puppet.
For small teams and solo developers technologies like Puppet are easy to miss because most documentation is geared toward a target audience of folks running clusters of servers. It's actually super useful for small, single server projects, too. This post is a soft introduction to Puppet for smaller projects and dev system setups.
KrisJordan··on Show HN: a companion library to underscore.js - f_underscore.js
f_ is a library for wielding and welding iterator functions. It is designed to complement underscore.js' functions that employ iterator functions, like `map`, `filter`, `sortBy`, etc.

I've been using this on personal projects but just spent the weekend tidying it up and writing tests and documentation.

Documentation and sample code can be found here: http://krisjordan.github.com/f_underscore/

KrisJordan··on The Micro PHP Manifesto's Missing Tenet
npm's tracking of dependencies, and potentially downloads, could be used to help tier packages in search. You can currently see the most depended on packages, as well as the packages that depend on individual packages, but this could be taken further to help establish PageRank like authority.
KrisJordan··on The Micro PHP Manifesto's Missing Tenet
The article's intention was to promote the idea that plain-old functions should have their place as an equal contemporary to classes. I'm mostly a fan of PHP's object model, it's more complex than it needs to be in some ways, but it works. I could write a similar article on JavaScript talking about how it needs to indoctrinate a class hierarchy paradigm. My understanding is there are talks of this happening in ECMA.next. But CoffeeScript's model is currently good enough for me.
KrisJordan··on The Micro PHP Manifesto's Missing Tenet
The process of adding channels and installing from them isn't too bad, but it's still additional friction. You can't do "pear search foo" and hope to find what you're looking for. Moving system-to-system you have to re-add all those remote channels you depend on.

Moving to Github is a good move. Opening up some sort of "PEAR commons" where the requirements aren't as arduous as PEAR proper would go a long way.

When package dependencies are tracked explicitly there's a very natural, Page-rank like effect that pushes the best, most reliable packages to the forefront because everyone depends on them. Just look at npm's "most depended on" list: http://search.npmjs.org/ You can look at any package and see what other packages depend on it.

PEAR's curation process feels a lot like Yahoo's of old's curated link database. npm's feels a lot like Google's "anyone can publish, we'll track dependencies, the good stuff will surface".

Page 1 of 5Next →