HNHacker News
TopNewBestAskShowJobs

MoosePlissken

64 karma · joined October 2, 2012

submissionscomments
MoosePlissken··on LastPass and the Heartbleed Bug
Lastpass also encrypts data locally before uploading it to their servers. They never get the key used to encrypt your passwords.
MoosePlissken··on The Meta-Marketing of ‘The Lego Movie’
> I was unnerved by the fact that the author consider plain activities as hiking or cooking as necessarily better than creative ones

Cooking involves just as much creativity as Lego, it's a useful skill, and it's not governed by one massive corporate entity. "Better" is a subjective word, but those are some nice qualities.

MoosePlissken··on The Meta-Marketing of ‘The Lego Movie’
You left out a lot of context for that quote. Here's the full paragraph:

> No wonder I feel guilty as I’m driving my children to see “The Lego Movie.” I should be taking them on a long hike or handing out aprons and baking cookies. But we aren’t doing those things; instead we spend our weekends hunched over expensive plastic bricks, and now we’re going to watch them on the big screen. I have filled my daughters’ empty minds with a blind devotion to an indifferent commercial empire.

The issue isn't just the ads, or just the expensive bricks, it's how the two come together to form a feedback loop. The kids enjoy playing with legos, so they want to see the movie. They see the movie, which makes them want to buy more bricks. Lego Movie 2 comes out and the process repeats. The main thing the author seems to dislike is manipulation.

MoosePlissken··on The Emacs Problem (2005)
> If you wanted to do things in equivalent lisp style, you'd just compile a Config.java/Config.scala file and add it to the classpath.

That's really not equivalent though. With Java and Scala, there's a sharp divide between what's code and what's data. Even if you create a Config.java class, you can still point to some bits and say "that's Java code" and other bits (like primitives or array literals) and say "that's data". Java doesn't know how to treat the code bits like data, or the data bits like code.

This means that there's a whole load of cool stuff that you just can't do with your Config.java that you could with a config file holding Lisp code. For one, you couldn't use macros to easily pre-process your config file. Or, as Yegge pointed out, you couldn't just turn the tag names (in an xml like structure) into functions that transform themselves.

Newer versions of Spring use Java for configuration. As you said, it's pretty cool to be able to compile and type check your config. As cool as that is though, it's not at all the same as putting your config in Lisp code.

MoosePlissken··on I Still Don't Want To Be Part of Your Fucking Ecosystem
> As crazy as this sounds... I've got no problems with being in an "ecosystem" as long as it can be run on any device. See Kindle for a perfect example -- I have it on my iPhone, iPad, desktop and my PaperWhite. Perfect.

That's how I felt, until it wasn't perfect. I have a lot of DRM free tech books from publishers like O'Reilly. I'd like to be able to read them on my Kindle and sync my notes with the Kindle desktop app or "Cloud Reader". Doesn't work. Notes and highlights only sync between desktop apps and the Kindle e-ink device when you're reading Kindle books bought from Amazon.

That's the problem with a closed ecosystem. No matter how hard they try, the creator of the ecosystem isn't going to be able to foresee/support every use case.

MoosePlissken··on 2014: The year the Americans broke the internet
And if that's true, is it really much different than what we have today? If you have deep pockets, you can already buy speed by using the services of a CDN like Akamai. We already have an unlevel playing field.
MoosePlissken··on Spritz – read 500 words per minute without any training
What traditional reading speed/comprehension test did you take? I just took the one at readingsoft.com, and I felt like I could have guessed most of the answers in the test without even reading the text. I'm wondering if mosts comprehension tests actually do a poor job to testing comprehension.

This stuff always interests me because I'm a terribly slow reader (I think I did ~180 wpm on the above test). I'd really like to be able to improve without hurting my comprehension. However, when I discuss an article with someone who reads quickly I usually find that they've missed some important pieces of information. The sort of gaps exposed by real conversation may not show up on a simple multiple choice quiz. I'm just guessing here though. Based on my own experience, hearing that someone read 700wpm with 95% comprehension is like hearing that someone has broken the laws of physics.

MoosePlissken··on MVP Doesn't Mean Anything
If he hasn't already, the author should really read The Lean Startup before criticizing the term that it popularized. In the context of the Lean Startup, the V in MVP doesn't refer to financial viability.

"To apply the scientific method to a startup, we need to identify which hypotheses to test. I call the riskiest elements of a startup's plan, the parts on which everything depends, leap-of-faith assumptions."

"Once clear on these leap-of-faith assumptions, the first step is to enter the Build phase as quickly as possible with a minimum viable product (MVP). The MVP is that version of the product that enables a full turn of the Build-Measure-Learn loop with a minimum amount of effort and the least amount of development time." - Eric Ries, The Lean Startup

An MVP is simply the smallest possible product that is capable of testing your assumptions about the value you think you can provide to customers. An MVP doesn't have to represent a viable business model, it only has to provide a viable means of testing your assumptions.

MoosePlissken··on ClearSkies – open-source file syncing without cloud
Camlistore looks really cool, thanks for posting it. I've been thinking something like this should exist for some time now.
MoosePlissken··on If you had to start over, what technologies would you learn in 2014?
Some are just websites, but I would say many of them are full blown apps:

Gmail - email client

Mog - Music player

Google Voice / MightyText - Messaging

TweetDeck - Twitter client

Confluence - Team wiki

Trello - Organizational tool

Toggl - Time tracking

Bitbucket/Github (I suppose you could debate that these are just websites)

Google Drive - Document editing and storage

Would these run better as native apps? Probably, if you're just talking about raw performance. However, I frequently jump between OSX, Windows, and Linux machines. When I open Chrome on any of these devices I can pick up right where I left off. Could I say the same with a native app? Probably not. For me, the performance of the web version of these apps is good enough, so cross platform compatibility becomes more important than raw power. That's what I meant when I said it depends on your definition of inferior.

I don't think mobile hardware or mobile browsers are quite there yet. But I don't see any reason why they won't eventually get to a point where they're "good enough" for people like myself, at which point other factors beyond raw performance will become more important.

MoosePlissken··on If you had to start over, what technologies would you learn in 2014?
Depends on your definition of inferior. I can count the number of desktop apps that I use on a daily basis on one hand, and they're all development tools. I have more than twice that number of pinned tabs in my browser that are open at all times.
MoosePlissken··on The Failures of "Intro to TDD"
Yeah I think it's interesting that the final approach with "logical units" and "collaboration units" mirrors a functional approach with "functions" and "higher-order functions". The advice to write small "logical units" could also just be "write pure functions". The complex class hierarchy in the final example could probably be avoided entirely if you were using a language with first class functions. As a bonus, in a functional language the "collaboration units" have probably already been written and tested for you.
MoosePlissken··on Success at Work, Failure at Home
> But you have to do it as soon as you get in, put your feet up, watch teevee, allow an hour to pass and it all goes wrong.

I totally agree with this. If I plop down on the couch right after getting home from a day of work, inertia tends to keep me there. I'll become almost annoyed that I'm hungry and begrudgingly get up to microwave something really fast. If I go straight to cooking and doing other chores as soon as I get home I tend to eat a much better meal and feel much more relaxed once I do sit down.

MoosePlissken··on Udacity's Sebastian Thrun, Godfather Of Free Online Education, Changes Course
How do you measure educational value? If someone finishes 90% of the class but never takes the final exam, have they learned nothing? If someone finishes the class, aces the exam, and then promptly goes on living their life as an IT professional without any tangible change, was the course anything more than "infotainment"?

I'm not sure how you measure "real" learning, but course completion doesn't seem to be a good way of doing it.

MoosePlissken··on "Silence is for the weak"
> If you're in a loud environment and need quiet, then communicate that to your boss.

I did, on many occasions.

> If they don't, then they're probably not worth wasting your skills on anyway (plenty of fish in the sea).

I agree, I quit that job :) There were many reasons of course, but the distracting environment and the lack of response to honest employee feedback didn't help their case.

> If I was the one developer out of 8

I think we're coming from different perspectives. If you're working with a small number of people, I totally agree that the group should be able to come to a sensible agreement (I would never demand that my 7 other co-workers act like they're in a library just to please me). My previous post was from the perspective of someone in a larger office (say... 20+ people to pick an arbitrary number) with the typical office layout (cubes, some private offices, conference rooms, break rooms). In such a situation, you're going to have more than a few people who prefer quiet when they're working. Those people are assigned a desk with little choice in the matter, and there's no viable alternative workspace for them to escape to. In this type of situation I think it's rude to intrude on a person's one and only workspace with noise, and silence (or at least low volume) should be the default.

If things were perfect, everyone would get to choose how they work. But things are rarely perfect :)

MoosePlissken··on "Silence is for the weak"
> So what I'm saying is: If you need silence, cool. Seek it out. Do whatever it takes to be the most productive you can[1]. But not everyone wants to live in a sound vacuum, and some people thrive in the environments that are the polar opposite of what you think is ideal.

I agree that different people work better in different environments, but I think what you've said should be flipped:

If you like noisy environments, cool. Seek it out. But don't ruin the concentration of others just because you work best in a place with noise and distractions.

I used to work in a noisy environment and it was hell because there were literally no quiet areas to work. I would have happily moved elsewhere, but there was nowhere to go. Virtually every office space has conference rooms and break rooms where you can go if you want to be noisy or work in a group. Very few office spaces have "quiet areas". Silence should be the default around people's desks and noise should be taken elsewhere. If you're being noisy in an open plan office, there's a good chance you're disrupting a silent majority.

MoosePlissken··on Toshiba says they made a mistake but they still cannot help me
> This isn't morally wrong. My friend, a graphics programmer, did this with videocards in order to test his graphics engine on various types of hardware configurations. If the companies didn't want you to do this, then they wouldn't let you do this.

Morals have nothing to do with what others let you or don't let you do. If anything morals are about your sense of right and wrong in the absence of external pressures. It may be legal, but I don't think it's moral to abuse a system that's intended to help and protect honest customers. Even if you don't care about hurting the profits of a giant corporation, you're potentially hurting other consumers if the benefit is revoked because too many people are abusing it.

MoosePlissken··on The spiral of learning
Gotcha, thanks for the additional info. I might give this a try. I like how your approach requires some active work in order to check a day off, and how it automatically gives you a history of what you've done each day. I've tried the "Jerry Seinfeld calendar" approach, but it's a bit too easy to get lazy or cheat when your only sign of progress is an "x" on a calendar with no real evidence of work attached to it.
MoosePlissken··on The spiral of learning
Are you actually committing code every day, or do you somehow represent non-code related progress (e.g. reading a programming book) in a repo?
MoosePlissken··on What I Didn't Say
You obviously appreciate thoughtful investigation into serious topics, and that's commendable. But I think you're going a bit too far here. I think most people on HN enjoy pg's essays because they tend to be well written and logical. You're annoyed by some of the things he's written/spoken about, but that doesn't mean everyone who likes the guy is a "$-eye'd idiot". You're getting a negative reaction because you've gone totally off topic for the sole purpose of personally attacking people.
MoosePlissken··on I worked on the US drone program. The public should know what really goes on
Drones may cheapen war in the way that you describe, but that still doesn't negate the fact that they kill less innocent people than the weapons and tactics that we used to use.

You seem to argue that the expense of a war can act as a deterrent. And yet, history is filled with bloodbaths that have failed to bring an end to war as we know it. Vietnam was horrific but it didn't keep us out of Iraq. I don't think getting rid of drones and forcing people to fight mano-a-mano will help prevent war. Deterrence only seems to work when the costs are astronomically high (e.g. nuclear weapons).

MoosePlissken··on Over-Extended Metaphor for the day
Areligious doesn't mean ignorant of history.
MoosePlissken··on Top 100 Most Popular Scala Libraries – Based on 10,000 GitHub Projects
Are you using an especially old version of Spring? I work with Spring MVC on a pretty regular basis and I've never had that much trouble with defining a new controller/model/view.

Controller: Add an @Controller annotation and some @RequestMappings and you're done.

Model: Usually these have no Spring dependency at all, though there are annotations you could put on some of the fields for various tasks if you'd like.

View: Also mostly unrelated to Spring. Write a Thymeleaf template or JSP and return the name of it from the appropriate controller method.

MoosePlissken··on Why I stopped using Spring
Well, you can already do java based config, which is not the same as annotation based config. As with XML config, Java based config lives outside of your application code in classes dedicated to configuration. You just use Java instead of XML, which makes things much nicer.

See here: http://docs.spring.io/spring/docs/3.2.7.BUILD-SNAPSHOT/sprin...

MoosePlissken··on Why Google isn't our Bell Labs
The comment you're replying to wrote:

"Ignoring the obvious difference in reach and success, in what way are Go, Dart and Android not equivalent to C, C++ and Unix in terms of open software projects?"

You replied with:

"What all of these things lack in comparison to C, C++, Unix, and itself Java for that matter, is broad, industry wide repercussions."

Which is exactly the one thing the original comment wasn't asking for. Your criticisms may or may not be true. However, I think it's fair to ask what differences exist while IGNORING the magnitude of the success of each company's projects. The article asserted that Google would never release its work to the public in the way that Bell Labs did because it is a publicly traded company. To counter this assertion, the original comment listed present day examples of open source projects that Google has released. The success (or failure) of those projects doesn't negate the fact that Google releases a lot of code to the public.

MoosePlissken··on News is bad for you
I think there's some misunderstanding over the meaning of the word "news" here. The author of the article uses the word "news" when referring to "sensational, bite sized news articles" (because it makes for a better headline). He doesn't think all journalism is bad. The article concludes with this thought:

"Society needs journalism – but in a different way. Investigative journalism is always relevant. We need reporting that polices our institutions and uncovers truth. But important findings don't have to arrive in the form of news. Long journal articles and in-depth books are good, too."

You and the author seem to mostly agree in that respect.

MoosePlissken··on Docker 0.7 runs on all Linux distributions
There's no need to manually take snapshots, docker does this automatically every time you run a process inside a container. In your example of running /bin/bash, after you exit bash and return to the host machine docker will give you the id for the container which has your changes. You can restart the container or run a new command inside it and your changes will still be there. If you want to access it more easily later, you can run 'docker commit' which will create an image from the container with a name you can reference. You can also use that new image as a base for other containers.

This is great for development or playing around with something new, but the best practice for creating a reusable image with your custom changes would be to write a Dockerfile which describes the steps necessary to build the image: http://docs.docker.io/en/latest/use/builder/

MoosePlissken··on Why You Should Never Use MongoDB
I thought this statement was confusing as well. I can see how the given schema could cause problems with inconsistency, but there seem to be a few logical steps missing in the jump from that to "Mongo will never be consistent and we need to migrate to mysql".
MoosePlissken··on Android for all and the new Nexus 5
Thanks for the link. That's really a shame considering they titled the post "Android for all" and made a big deal out of Kit Kat's small memory foot print. Memory has been pretty tight on my Galaxy Nexus, those optimizations would have been nice. I guess I'll have to wait for the modding community to get it working.
MoosePlissken··on Android for all and the new Nexus 5
My bad, I have the Galaxy Nexus through Verizon and assumed it was the same for other carriers. I forgot it was available unlocked through the Play store. I'm used to ignoring all of the news from Google and waiting an extra 6+ months for every update.
Page 1 of 2Next →