HNHacker News
TopNewBestAskShowJobs

pcmonk

1,463 karma · joined August 15, 2013

http://pcmonk.me/ http://github.com/philipcmonk/ @pcmonk

Engineer working on Urbit

phil at pcmonk.me

[ my public key: https://keybase.io/pcmonk; my proof: https://keybase.io/pcmonk/sigs/tet7bohLuwyz-BYeBElYMeFlsAYxpfAv-FLVf5l4UZg ]

submissionscomments
pcmonk··on Teeny Tiny Mansion: text adventure game formally proven to have no dead ends
I feel like Hitchhiker's is meant to be an exception to the rule.
pcmonk··on United removes first-class passenger to make room for 'higher-priority' traveler
I'm basically against overbooking, but playing devil's advocate: is it that hugely different from fractional reserve banking? They claim you can get your money out at any time, but that's not the case if everyone tries at once.
pcmonk··on United removes first-class passenger to make room for 'higher-priority' traveler
Of course there's no reason to make people buy water on the other side of the checkpoint, but that's because it's generally ludicrous to have people buy water at all. In the USA, every airport I've been to has free water fountains both airside and landside. The rest of the world is way behind in this respect.
pcmonk··on United removes first-class passenger to make room for 'higher-priority' traveler
If it helps, I've flown many dozens of times in past few years, mostly in the US, but also on at least a couple of dozen international flights across four continents. I've never lost my checked baggage (I often check one or two bags), and I've never missed a flight, or even gotten particularly close to it (I do show up 2 hours early to avoid that), and I've never been bumped off a flight for any reason.

In the USA, you do have to accept that they're a lot more picky about liquids, and they do make you take off your shoes, but seriously, just read the signs and you won't be surprised.

pcmonk··on Programming in the Point-Free Style
Point-free programming is sometimes also called "tacit" programming. I found this practical description of tacit programming in Racket to be useful: http://r-wos.org/blog/tacit-racket
pcmonk··on Textbook manifesto (2016)
I think this depends a lot on the particular courses. For example, I nearly always want a textbook in an upper division math class, because they're so heavy on theory, and the concepts are very dense. It's useful to see it all written out on a few pages, and be able to refer to it easily. In most of my engineering classes, well done lectures work well because the concepts can be explained more clearly, and I'm a lot more likely to actually learn the material while it's being explained (because the material is not as dense).

Similarly, google searches are sometimes useful as supplementary reference for math classes, but are much more helpful in programming courses. In the more theoretical upper-division software engineering courses (theoretical computer science, AI, etc.), I find that google does not perform all that well, at least compared to other programming classes.

pcmonk··on Textbook manifesto (2016)
A lot of people tend to harp on the "textbooks are too expensive" issue, and I think this correctly identifies one of the problems: textbook price is not an issue to many professors. Unfortunately, there's no actual solution to that presented.

> If you can’t find one, write one. It’s not that hard.

I've used three or four textbooks written by my professor, and I can't say the quality was all that great. Considering that the set of professors who currently choose to write their own textbooks probably skews toward professors who are good at writing textbooks, I'm not super high on this plan.

> Students: You should go on strike. If your textbook costs more than $50, don’t buy it. If it has more than 500 pages, don’t read it. There’s just no excuse for bad books.

Many students already do this. It's not uncommon for students to not buy a single textbook in a semester. In fact, the professors that do care about textbook price generally make textbooks optional. It turns out that's a lot easier than writing your own textbook and somehow selling it for cheap.

pcmonk··on Fact Check now available in Google Search and News
What I wish they would do is use their fancy AI to put in a link to the original source. Tracking down original sources is extremely tedious, but it generally gives you the clearest idea of what's actually going on.
pcmonk··on An off-grid social network
My impression was that keybase is distributed? Can it be used without talking to keybase's servers?
pcmonk··on The Power of Prolog
Another language reminiscent of Prolog is Clingo (web repl: https://potassco.org/clingo/run/).

It's a lot like Prolog, but it's based in answer set programming, which gives you nice guarantees like "doesn't matter what order you write the rules in" and "always terminates".

pcmonk··on Quantifying the performance of the TPU, our first machine learning chip
If "forward passes" means inference (as opposed to training), then the post says the first generation targets that. I don't think they say anything about any future generations (other than they're working on them).
pcmonk··on The New ‘Absent Operator’ in Ruby’s Regular Expressions
Fascinating. As I recall, things like negative look-ahead (or look-behind) aren't formally regular expressions (i.e. the languages they recognize aren't generally regular languages). Is this "absent" operator like that too?
pcmonk··on German traffic light stays red for 28 years (2015)
This is correct, but I'm not sure the authorities take that into consideration. In my case, it's the yellow and red that look identical, but that doesn't stop them from making single flashing red lights and single flashing yellow lights. Makes life exciting sometimes.
pcmonk··on Cirru – An editor for AST
I was about to ask who edits code on a mobile device, then I remembered a brilliant young coworker of mine who, as far as I could tell, coded exclusively on his iPad when he joined the company. I guess it goes to show you the huge variance of workflows out there.

He transitioned to a laptop soon after joining the company.

pcmonk··on Ask HN: Is there a streaming client for HN?
Not an official one. http://hnstream.com/ has a simple API and seems to work decently well, but it doesn't have the (sort of) nice interface that reddit-stream.com has.
pcmonk··on Ask HN: 25% of the most popular HN stories were posted in the last 9 days
You missed the sha-1 collision: https://news.ycombinator.com/item?id=13713480

Besides the two Uber stories, it's simply that a large number of incredible events have happened recently. If you'd have told me about the sha-1 collision, Cloudbleed, S3 going down, or the seven exoplanets, I'd have predicted 1K+ votes for any of them, simply because they're very newsworthy, relevant, and super interesting to HN readers.

The two Uber stories hit a nerve in a hot topic, adding a lot of specifics to formerly vague concerns/accusations. If you'd have shown me the stories before they were posted, I would have predicted "front page, probably in the 200-400 range", rather than the 2K+ votes they each got. Either they were very lucky, or (more likely) my model doesn't account for that particular type of story.

pcmonk··on We should kill the 40-hour work week
As much as this seems great on its face, I find for myself that I can't consistently work 10 hours in a day without my productivity dropping off. Sometimes, when I'm making good progress, I'll go 10 to 12 hours, but that's not the norm.

When I was in the SF startup scene, I was very fortunate to work in a company where everyone trusted everyone to work with whatever schedule allowed them to maximize productivity. It turned out that 8x5 worked pretty well for me (sometimes with an hour or two nap in the middle, though I don't do that anymore). In the beginning, I worked more hours per week, but that just resulted in me needing to fall back on the lack of vacation policy to take frequent 1-2 week vacations (adding up to maybe 6 weeks per year). When I normalized my regular schedule to 8x5, I stopped needing to do that (although I still place great value on vacation time).

Many of my coworkers had rather different schedules, including one who seemed to be able to work very long hours about 6.5 days a week without much apparent drop-off in productivity.

pcmonk··on We should kill the 40-hour work week
Site's down for me. Cache: https://webcache.googleusercontent.com/search?q=cache:RzYQ6Q...
pcmonk··on We should kill the 40-hour work week
> Give yourself one day with no work

If killing the 40-hour work week means I'm now working six days a week instead of five, then long live the 40-hour work week.

Some people (myself included) need two days per week off work, except in special circumstances. We also need to be able to clock out of work and not feel bad about doing so just because we still have work. The worst thing about university to me was the feeling of always having more work to do. I understand avoiding the "I'm just working until the clock hand turns a little further" state, but often the cumulative effects of the proposed alternative are worse.

pcmonk··on Engineers Should Blog
* Working out solutions free from the technicalities of the compiler and framework is a great technique, and one that I use often. Again, this is great for those who already know how to code, but if those technicalities still trip you up sometimes (as they do a beginning coder/writer), then you get a lot of value out of writing the code before declaring the problem solved (= publishing the blog post before declaring it written).

* For sure, and most people get a lot more practice with certain kinds of writing (email, technical documents, HN comments) than others. Blog posts generally have a certain audience in mind (you can specify at the beginning of the post which audience you're targeting, if you want), and it's a very different audience than most forms of writing. You should write blog posts if you want to get better at that.

* I don't contest the value of writing for an audience of one. It's just different from writing to an audience of a blog (even if that audience is mostly theoretical).

I should note that I disagree with the statement "every engineer should blog", as it has the usual failings of sweeping statements. However, if you wish to become a better writer, and in particular a better writer of content that can be widely understand by a relatively vaguely defined audience, then I highly recommend blogging.

pcmonk··on Engineers Should Blog
While I find value in writing things I don't ever intend to publish, that's a different sort of writing. For me, at least, a post written without intent to publish will be very different from a post written with intent to publish.

Writing a post without intending to publish is similar to writing pseudocode, never intending to compile. With great discipline one can learn to write good quality code without compiling it, but if you intend to compile, you actually think differently and produce better quality code.

pcmonk··on Engineers Should Blog
> Engineers should blog publicly when they have something to say. Something useful for their colleagues.

This sounds a lot like saying, "You should only learn to code when you have something useful you want to build. Something useful for other people".

You can't write a good blog post without having already written some number of bad ones. If you think you might someday have something to say, you should practice blogging.

pcmonk··on Why it’s hard for programmers to write a program to flatten a list?
To me, "nested list structure" means list-of-lists, which implies a certain natural tree representation, where all elements in a list are siblings.

But maybe I've just been poisoned by Lisp, which tries to use lists as the elusive generic simple data structure.

(OT: https://en.wikipedia.org/wiki/List_of_lists_of_lists)

pcmonk··on Why it’s hard for programmers to write a program to flatten a list?
Generally, "flatten" means the first of those two orders, but I see that the problem as given doesn't disambiguate those. If an interviewer wants to only accept one of those, he should clarify.

Incidentally, the first of those is preorder and postorder traversal of the list-of-lists (inorder only exists for binary trees), while the second is none of those. I would describe that difference as depth-first (first) vs breadth-first (second).

pcmonk··on Why it’s hard for programmers to write a program to flatten a list?
Aren't list-of-lists more like trees where values are only stored on the leaves? In this case, aren't {pre,in,post}order all the same?
pcmonk··on Anagram Scoring
Too many E's. Drop the middle initial.
pcmonk··on Little Languages (1995)
Interactive storytelling of some form, as usual. He still blogs regularly: http://www.erasmatazz.com/
pcmonk··on The idea maze of personal logging (2016)
Sounds interesting, I'll check it out.

> My call history is with my telco, my location history is with Google (and probably many others), my conversations are spread out among so many different apps. What happens when I want to query the data about me though?

That's a real problem right now. I asked that question in almost the same terms many times when I worked for Urbit [0]. I no longer work for them, but they still seem to have the best long term solution to giving you access to all your own data (specifically by putting that data on your own server to begin with).

[0] http://urbit.org

pcmonk··on The idea maze of personal logging (2016)
I think the argument there is that their incentives line up with yours. For someone else to get your data, they'd have to get hacked. Most companies just give that data to the highest bidder. Of course, that business model means that they should be able to encrypt it all client side, and I think that would be wise.
pcmonk··on The idea maze of personal logging (2016)
Sounds interesting! Sounds like you've hand-rolled this, have you published anything about your system? I'm sure the details would be fascinating.
← PreviousPage 3 of 8Next →