64 karma · joined October 2, 2012
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.
> 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.
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.
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.
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.
"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.
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.
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.
I'm not sure how you measure "real" learning, but course completion doesn't seem to be a good way of doing it.
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 :)
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.
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.
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).
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.
See here: http://docs.spring.io/spring/docs/3.2.7.BUILD-SNAPSHOT/sprin...
"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.
"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.
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/