http://online.wsj.com/article/SB1000142405297020457370457718...
http://online.wsj.com/article/SB1000142405297020457370457718...
http://news.ycombinator.com/item?id=689993
http://news.ycombinator.com/item?id=1163144
Would still be happy to take $200 in Facebook stock instead. :)
I'm not saying that Facebook is dying or that it's gonna die anytime soon, but I am not able to foresee any significant growth.
The article compared, with sort of negative terms, Facebook's IPO to Google's, saying that google didn't even impress that much when it went public.
But we all know here, that Wall Street made a mistake with Google, since now their shares now are worth 5 times as much as they were at the opening.
So, my question is, how can Facebook ever be worth half a trillion dollars? What should the company do to get evaluated 5 times as much as it is now?
At least with the number of users, it seems to me that they can't be too far from their natural limits.
Facebook is a company certainly with great minds and ideas, but after all it's a website, and I'm not sure people will want to stick around for so much longer on just a website. It seems unfeasible to me that people will stop using the rest of internet, just doing everything on Facebook.
Sure, they can improve a million things (like a real search in Facebook posts, or ways of sharing more complicated things, or better off site integration (which is already pretty good though), but at the same time they can't just open too much, or people will just start migrating. Yet, if they stay too close, people will get bored and start migrating anyways.
Sure, they can start having actual physical products and increase their presence on different markets, but there are lots of tradeoffs for that too. People won't eventually be happy to have a anything-Facebook.
So, maybe I'm wrong, but I tend to believe that this might be one of the highest points that Facebook can reach. I'm sure it can still grow, but I can't expect a growth of orders of magnitudes, it just seems unreasonable.
Maybe it's just that I got bored of Facebook's social life a long time ago and ended up spending very little time on it, almost using it as an email server for certain friends. But I certainly don't think that things like timeline can do this huge difference. To me, timeline is just another improvement (maybe) to avoid people to get bored after a while. One of the constant and frequent improvements and changes that every feature/product has to do to feel alive, but can anyone see any change that could make this company much bigger than what it already is?
If I were Zuckerberg I would probably sell a bunch of my shares and buy a bunch of companies, without necessarily integrating them into Facebook, you never know...
Google's Retargeting product drives insanely strong conversions for clients vs. their traditional adwords.
You're able to re-reach folks that, by arriving on your site in the first place, have categorized themselves as interested and, as a result, close at a much higher rate.
Google's recent move to consolidate privacy policies, and in effect, sets of customer data is going to provide massively better targeting capabilities.
As a result they'll be able to sell the exact same ad-space to advertisers and yet advertisers will see better results, thanks to better targeting.
In the "bid-for-space" model this will translate to higher ECPM to Goog, to site owners, etc.
Now, enter FB, coiner of the "Social graph" and consolidator of all the things and people.
They are doubtlessly working to build and improve their advertising products.
They are going to earmark a lot of that $100b to buy large advertising businesses, just like Goog bought AdMob etc, that they believe they can improve ECPMs on.
Is it speculative? Absolutely.
Does $100b already have a lot of this expected upside baked-in? No doubt.
But still, I have seen the future of online advertising and it be profitable.
He with the most customer data wins, and FB has that in abundance.
Didn't the same happen when Google IPO'd?
http://www.streetinsider.com/IPOs/Entire+Social,+Online+Medi...
tweets - https://twitter.com/search?q=facebook+ipo
google results for past 24 hrs - https://www.google.com/search?q=facebook%20ipo&tbs=qdr:d
http://news.railstutorial.org/ruby-on-rails-tutorial-second-...
The biggest changes are:
* A full update to Rails 3.2, including coverage of the
asset pipeline
* A complete rewrite of the authentication & authorization
system, taking advantage of the new has_secure_password method
* A revised test suite using the latest techniques in
RSpec programmingIn Founders at Work, Sabeer Bhatia (who co-founded Hotmail) paints a pretty awkward picture of Four11. According to the interview, Rocketmail started out as a directory service (I guess, hence "Four11"). They were Hotmail's partner, providing them with a searchable directory of other users. But then through the partnership Four11 found out how many users Hotmail was getting and decided to compete directly by making Rocketmail. Things were apparently especially awkward because both Hotmail and Four11 were funded by DFJ!
Anyway, it would be really interesting to hear the other version of events. (Hotmail and Rocketmail were competitors after all.) Obviously, being in webmail rather than directory services was the right call, but how did Four11 decide to switch and what were the interpersonal and business dynamics really like?
Having had the pleasure of working with Geoff, I really appreciate his ability to quickly address the flaws in your product, strategy, presentations, etc.
He groks things almost instantly and gives really constructive criticism that might sting a bit at first but adds a lot of value. Most valuable advice isn't what you wanted/expected to hear, but you come away in a better position after hearing it. He's really good at giving it.
He'll be a great addition to the team.
Congrats Geoff and YC!
I hope YC doesn't steal away -too- much of his attention ... =)
I would like to know if YC has data mining/analytics specialist that reviews YC applications and helps people.
The problem here is that NASA is a political agency, not a scientific one. Each year, elected politicians sit down and decide how much they're going to get.
This means the number one rule is don't make us look bad. You can't waste too much money, you can't go making a bunch of controversial statements, and good grief, whatever you do don't have astronauts getting exploded on TV.
The analogy with the mission-centric military was a good one. Unfortunately, as we involve the U.S. military in more and more missions that look highly political, we're going to end up with a badly broken military, for exactly the same reasons.
NASA should have but one mission: lower cost to orbit. If they can reach a 1000-fold reduction in cost to low-earth orbit, a lot of scientific research, exploration, and commercialization can take place.
If you go to space you might not come back. That's why explorers rock and everyone else watches TV.
The article also misses an important variable. How much is discovery worth? Once that's added to the plus column, all of the other costs seem insignificant.
... well, except for air, and food. But there's water! Which we can detect with sensitive instruments!
This whole article has no point. As everyone in the military knows full well, if the benefit is great enough humans will happily risk other human lives, even expend lives, by the thousands and even millions.
The "problem" is that there's nothing for humans to do in space that is worth so much as a single human life. This isn't 1937 anymore; the transistor and the IC have been invented and we know how to build robots. These days even the military pilots on Earth spend more and more time in chairs on the ground, steering robots, often from halfway around the world.
The whole premise of this article, that we can't send people beyond LEO any more because of risk aversion, is based on this line and it is wrong. There are several differences between today and the 1960s that make manned space flight less feasible. This can be summarised as political and manufacturing, with the former driving the latter.
Politically the world and the US are different places, the cold war is over so the need for grand gestures for moral building and propaganda has gone.
However the OP's line of near zero space capability is wrong, ICBMs were being designed and tested at a furious rate throughout the 1950s. This created a massive pool of people with first hand knowledge, and a massive manufacturing base from which to draw upon.
Fixing Hubble was really important. I'm not sure how much the shuttle's work was of the same magnitude, or couldn't have been done with automated gear.
BUT bureaucratic and political imperatives called for continuation of the space program, at scale, and that called for justification of the costs. The money is no big deal, but if those justifications aren't that good, the collision of those weaknesses with the human risks will cause cognitive dissonance. If the people concerned haven't the will to rethink the whole thing -- and there are many examples of much, much larger failures -- you're going to see some strange behavior along the way. Shuttles failed twice in 100 missions, is the milestone of first senator in orbit really worth a 2% fatality risk? No, but rather than admit that and cancel the mission the response is to imagine that risk can be driven down to negligible. And if that isn't possible, the standard is going to shift from "known but justifiable risk" to "we're doing the best we can / no expense has been spared".
Of course it doesn't make sense. But if they recognized that, they wouldn't have flown such missions in the first place.
Still doesn't explain why no other country has done it, though. Well, except for the boring explanations about high costs and no immediate benefits besides bragging rights...
Which is not exactly right. It's correct if you're looking at random, uncorrelated factors. However, two rovers from the same program are not going to be uncorrelated. If one rover is hit by a software blunder, it's likely the other one will have the same problem. (e.g. using mks instead of english units in the flight computer, using a 16 bit counter that overflows to name two)
It seems like most of the Mercury/Gemini/Apollo era astronauts felt like their lives came second to mission success. I'm sure there are plenty of astronauts that feel the same way today.
With a pool of astronauts willing to take reasonable risks to advance space exploration, it's the NASA management that has been responsible for disallowing the more dangerous missions. On the one hand that's tragic, but on the other it makes sense from a PR perspective. With each spaceflight tragedy there has been a backlash from taxpayers and Congress. Politicians will use spaceflight accidents to push agendas that cut funding, etc.
NASA has to walk a fine line between keeping the program safe enough to maintain funding and adventurous enough to make gains in space exploration. I think in early NASA it was easier to justify the human cost of accidents because of Cold War pressure, but now there is a harder time with this justification and thus the huge emphasis on safety.
Another question is what is the worth of revisiting the moon to set up a hyper expensive tourist camp there? Should it not be NASA's job to focus on research that lays the groundwork for entrepreneurs like Elon Musk to expand human presence beyond Earth?
Simply put, government funded programs receive more scrutiny than commercial ventures. If a private inventor dies while experimenting with their own invention, there isn't the massive, longtime affecting fallout similar to a government disaster.
Now, sure, I am a proponent of space exploration and its advancement. But, having worked with the government in the past, I kind of understand why their risk management is so heavy handed. Few government leaders will take on that much risk themselves.
Yet despite vastly superior technology and hundreds of billions of dollars in subsequent spending, the agency has been unable to send anyone else farther than low Earth orbit ever since.
Why? Because we insist that our astronauts be as safe as possible.
Safety concerns undoubtedly carry a cost at NASA, but they are hardly the central reason there have been no manned missions beyond Earth orbit. During Apollo, when presumably the agency wasn't so safety conscious, NASA's budget (adjusted for inflation) was twice what it is today, and as a percentage of the Federal budget it was over 5x today's level.
The argument that the money could be spent elsewhere has been around since the beginning of the space program, I think. Do the people making this argument know that NASA's current yearly budget is around 0.6% of the entire budget (and only ever as high as 4.41%[1])? So really, the question should be flipped around. Think of what we could accomplish if all the money spent inefficiently elsewhere were instead given to a space program (not necessarily NASA, because I won't deny it has its problems)
It also seems silly to me to use large-number probability analysis on what are usually one-time occurrences. If a $2 billion mission fails immediately after launch, and it could have been prevented by $0.5 billion in more testing, then spending the extra money does make sense, especially if the failure would also cause public outcry. And it would not mean that an identical mission would also have the same risk. If the failure was due to bad design or a systemic error in a part (the more likely scenarios than a random failure[2]), then that failure would also happen in the next mission.
So yes, I agree that NASA needs to have a focused goal and shorter timelines, but I think this article might have been better directed at the public, then scapegoating NASA administrators.
[1] http://en.wikipedia.org/wiki/Budget_of_NASA
[2] Source: a talk by the founder of AeroAstro, sorry it's not online
Besides, the fact that there is a difference between risk to human life and risk of mission success is only relevant if there is a significant probability of mission success. You can only play the game with multiple missions for redundancy if an individual mission has a probability of success reasonably close to 1, otherwise it doesn't buy you much.
Of course, this whole affair assumes that we actually have some hope of a priori estimating the risk of failure of complex systems. I doubt it's possible, and I think that's confirmed by the observed 2% shuttle failure rate compared to what the "acceptable risk" of the mission was supposed to be.
Even though I think the author makes a point worth considering, I found that a really sloppy justification.
Seriously? Does anyone have more information on this? I like Reason but sometimes they can be a little biased. If there's no missing context and we're literally killing astronauts in safety training then there is no excuse not to just get them in space already.
Infinite human safety and the costs of having a horizontal system of sub contractors building the shuttle system instead of a vertical approach.
But, conversely while close to infinite safety costs can reach military objectives, for example using tracked-light heavy armor in places of urban combat(less civilian casualties thus locals want to work with our forces), the same cannot be made for civilian space agency in terms a full benefits.
===
To avoid such deadly waste, the Department of Transportation has a policy of rejecting any proposed safety expenditure that costs more than $3 million per life saved.
===
I think this underestimates the complexity of the problem. Two thirds of automated mars missions have failed, with an especially dark period around the time of the 1980s, when we were to have sent out the first Astronauts.
I think that there is also an issue with the military/contest aspect. The moon mission had a cold war battle feeling which would be hard to ignite now -- deaths in space just seem tragic and expensive in a way that they did not before (his description of the finger paints being a good example). Would people have the stomach to spend billions to kill 5 people on their way to Mars? How many times before they lose interest?
http://en.wikipedia.org/wiki/Mars_to_Stay
Btw, -many- people died during early space travel.
We didn't go to the moon in the first place.
They jumped the shark when they showed people on dune buggies on the moon.
They won't go back because when people see how hard it is to land and relaunch with human life in tow, the world will know we didn't go in the first place.
Nobody will be going to the moon until it doesn't matter that the world finds out we didn't go in the first place.
Ask yourself. What is easier: scamming a trusting, patriotic 60's public on TV or landing a human being on a foreign planet.., whats harder? Having people drive a dune buggie, then relaunching and landing safely back on earth or setting up a desert set piece to look like the moon. Or maybe a Hollywood studio to look like the moon. I've seen the video. It's a joke.
And you're shocked we never went back to the moon? Please! How gullible can you be?
I see this at work. I've known programmers who, when they get a new hire, will basically let them flounder. I guess the basic idea is that if you're "good" you'll "figure it out" (with minimal time investment to boot). And that will work with some people. My own philosophy is that there are a significant number of people who need direction. Don't overwhelm them with "everything". Give them small, structured tasks to learn processes, small parts of the system, build confidence and give some measure of progress.
That all being said, I honestly don't know how I learnt to program at all. I can teach people who know how to program (the basics) more. But I can't teach someone who doesn't know how to program how to program.
I've come around to thinking that Zed Shaw (as just one example) is right about this. With his "Learn X the Hard Way" books he starts out by basically saying "just type this in" (and don't copy and paste). Don't worry what it does. You'll figure that out later.
I see people (in many different areas) who are under the mistaken impression they need to know "everything" before they can do anything (or even in games, make a decision of any kind). They feel the need to weigh up all the options and consider all the consequences. That's not actually how people learn (IMHO).
Children don't know any better so can just learn this way. Adults often let self-doubt, fear of embarrassment or fear of "what might happen" get in the way such that they won't allow themselves to learn.
So perhaps what universities should do is separate students who already know how to program from those that don't. Those that don't don't take ANY theory at all until they do an introductory course that starts with "just type this in". If you lack the ability (and willingness) to turn a thought into a program, no matter how simple, you're doomed to failure. This, I believe, is something that can be taught.
The ability to just try stuff and see what happens in a key element in continual learning (IMHO) and something that needs to be ingrained in programmers (to be) from day one.
I'd really love to see the outcome of this approach versus more traditional approaches.
Let's get one thing straight: the problem is bad teachers. My mentor once said it kind of sucks that UTeach was only available to UT students and by extension those who statistically succeeded in traditional schooling because they are usually the least acquainted with the system's failures.
That "test" they show inside is bullshit, first of all. If they showed that to me as a completely green 11 year old without explaining the syntax or semantics of what was going on, I'd probably have to ask some clarifying questions. And, I think it goes without saying, if the professor is the type of teacher to go into a class with the expectation that half the class will fail, I'd probably have shaky confidence and would hesitate to ask questions since everyone is quickly cast into a mold of either "have" or "have not." I've taken math courses before by these people.
Many so-called "gifted" math students (and we're all students) are great with applied math but are just as stumped by theory as everyone else (anecdotal). Testosterone and typical youthful arrogance turns classrooms into settings hostile to people aren't extremely competitive and who are somewhat unsure of themselves. Combine this with a teacher who was once one of the cocky ones and a few snide remarks about how some students "just don't get it" and what you have is a self-fulfilling prophecy.
If your students fail to learn, it means you did not teach them adequately. Learning is the product of the work of learners: you have to give them the proper resources to work with. Humans are exceptionally capable. Children are extremely inquisitive and interested in so many mundane things; they can be taught math. This is beaten out of them as they get older and they're told there is a cap to what they can accomplish.
Bah. Humbug.
A good set of resources for anyone looking to teach programming and/or computer science is CS Unplugged (http://csunplugged.org/). No computers. Much of it relies on human interaction. It's fun, it's versatile, and most importantly it distills the important parts of computer science while shedding the stuff that gets in the way: confusing, advanced user interfaces; arcane terminology and confusing history; and the stigma that a computer brings to those who've never worked with them before.
“The act of programming seems literally unteachable to a sizable subset of incoming computer science students”
There is, of course, an alternate explanation:
“We in Universities seem literally incapable of teaching programming to a sizable subset of incoming computer science students”
Experiments going back to the 1980s with teaching children how to program using Lego blocks and robots with Logo seem to indicate that nearly everyone can learn how to program, but possibly not when they're 18 or 19 and possibly not with the kind of academic environment represented by the test.
The example of "mental model of assignment" is ridiculous. a=b can mean whatever. It means something totally different to a mathematician than a programmer. Say:
"The piece of paper on the left says dog and the piece of paper on the right says cat. Overwrite the contents of the piece of paper on the left with the contents of the piece of paper on the right. What is written on the pieces of paper?"
I bet pretty much everyone would have a correct mental model of assignment if the problem was stated like that.
The aggregate breaks down like this, loosely:
20% succeed, always. Hackers/nerds, basically.
80% might succeed. They don't have the talent. They succeed or fail on teacher's competence and their own hard work and background.
20% fail, always. Cheaters, people who are constitutionally incapable of getting it, misplaced students, people with health issues, etc.
The 80% is what a teacher can affect. If they don't have the thinking (math/logic) background or the curiosity, they probably won't do well.
Teaching is hard. It's probably the hardest task I've ever done.
int a = 10;
int b = 20;
a = b;
The new values of a and b are: False!
This is obviously a teaching failure.
I don't accept that there are certain things people "just don't get." Watch the documentary "Waiting for Superman," about some heroic teachers who didn't accept that either and did something about it.
The question is whether this can be taught. When I read the study I see another possible conclusion; that we haven't sufficiently prepared everyone for the basic reality of computing -- that this is about arbitrary machine rules, and how to think about them.
Some of us may come into the world having that 'mechanistic' worldview, or perhaps some early experiences teach it to some earlier than others.
But we're evolved to deal with organic environments. Where precise definition and full knowledge aren't possible, so instead we have fuzzier categories and flexible responses. Where everything intelligent in the environment can be negotiated with, using empathy. In programming 101 you have to abandon that mindset.
How are they to know that "=" is assignment and not testing equality? I guess you could glean that from the context where they immediately ask you the values of the variables after the operation but I could see someone misinterpreting the semantics of that operator.
Also, assignment is rather strange concept relative to math education. I don't remember any test where we had to create an algorithm. Variables where things you solved for, not tools.
The fact almost everyone has same mental model now is down to very early age education. When your parents are literate you will be too.
It's possible this test could be done today in countries with terribly low rates of literacy
The concept that the "non programmers" could never understand was the abstraction of functions. Like:
foo(a) {
// stuff
}
foo(b);
would confuse them because they'd get hung up on foo's parameter declared as 'a', but called with 'b'.
I understand the impetus to filter out students that are less naturally inclined to it, and if your goal is to establish something of a programming conservatory, then administering a test like this would be an effective barrier. However, I think perhaps more advantageous reading of these results would be to recognize that the ability for students to construct these mental models is the single most important foundation in their education.
Anecdotally, I have had some experience teaching non-programmers basic programming skills at the university level, and it's absolutely the case that some kids, even bright ones, struggle greatly with these constructs at first. They look at the symbols and freeze, intimidated by the arcane expressions, and control flow is often non-intuitive to them. To me at least, that's a pedagogical challenge, not a lost cause. You should have seen the exclamations of wonder and excitement when some of them finally got it, once a particular way of illustrating it stuck for them.
As the final exam approached the instructors asked his peers to go over the exam he had written up to which they replied something like, "you can't give this to your class, it's too hard and they will all fail and that will make you look bad." The instructor was worried, decided his students could hack it and gave them the exam despite of peer unease. Upon grading the exam, a higher than "normal" proportion (as measured from years previous) of the class left with higher grades and greater grasp of material.
Now hopefully someone knows what I'm talking about so I can re-read that account.
I don't think that the goats will ever go away, but I do think that if taught properly, that the ratio of people who understand to those who don't can be on the order of someone who understands an art history class to someone who doesn't-- or any other area of specialization for that matter.
This test merely indicates that teachers, by tossing out untrained minds and using a subset of already trained minds, can skip the challenging part of their job and take credit where none is really due.
Grrr.
In retrospect, I don't know why I put up with all of that. I think it was 18 year old Greg's way of meeting girls...:)
I wonder if attitude towards programming is responsible for the distribution? Seems to me that people either love programming or loathe it - there isn't a whole lot of middle ground.
Students with no experience programming may be better off starting with a language like Haskell.
I guess it is reasonable that people have a hard time with this. They've grown up their whole lives dealing with people and animals and themselves. These act according to wants and gloss over minor errors, a fuzzy world full of fuzzy actors. Heck, even our species has lived and evolved mostly dealing with such. It doesn't make much sense to them that one typo could cause a super powerful computer or expensive device to keel over and be useless and do nothing.
This sounds more like Reddit's problem where some architectural simplifications might net a giant win versus piling yet more gunk on top (Reddit is still perceptibly doing random IO for every comment in a thread during page load, or perhaps some insanely slow sorting, I have NFC how they haven't fixed this yet).
That said: most read heavy services only need at most 10% of their working set cached, in memory. The hardest problem in caching is figuring out what that set is and how to control consistency. Not how to store it.
So, having this much cache seems to imply that you think you're going to have large amounts of read intensive data to cache.
Or else you intend to cache your entire working set? Either way, you'll have a single point of failure (either in a single server, single datacenter, or single geographic area).
Any large operation can tell you that the problem becomes 90% network and stuff like a CDN become far more important than how fast and big your cache is.
Perhaps a nice technical writeup on your architecture would silence the pundit inside me?
The idea was to use it to train myself to stop hitting ESC in vim, but I'm sure it's portable for other pavlovian needs.
Allow me to offer my own list:
1. Opening a bookstore is very much like starting a startup in that a really high percentage of the attempts will fail. The big difference is that if you do succeed, you won't get rich.
2. If you think (1) is a sad consequence of today's soulless dominance of Amazon, people not reading, etc., then read Stuart Trent's The Seven Stairs where he chronicles his adventures in opening a bookshop in Chicago after WWII, where he details pretty much the same difficulties as today's bookshops face.
3. In order to succeed, you have to have a specialty, e.g. maps and map making, the classics, books on New York, etc. Stock a very good collection on the topic (or two) of your choosing and strive to be the best source of information and books in your state, than in the US for that topic.
4. Of course, in addition to (3) you have to have generalities, throw-away popular fiction, cookbooks, travel books, etc. But that it let dilute your niche.
5. Your store should have a unique atmosphere. Additional points if this correlates with your chosen topic niche.
6. Know and love your customers, even when they're weird (you'll encounter these much more frequently than would be expected from a normal distribution) and their flies are open. You have to earn their respect with your knowledge and collection. Again, refer to The Seven Stairs for a wonderful example of how this is done.
7. In case you skipped 1: remember that the wonderful Stuart Brent also failed (I had a chance to see his store on Michigan Ave in 1996, ran by his son, I believe; it was reduced to a standard B&N type of store and was closed in the late 90s).
8. Reread 6! If someone with a classical bent asks for historical fiction and you take them to the romance section they will never come back. If you don't have even a small collection of timeless classics, say Aurelius' Meditations, Khayyam's poetry, Ulysses (and, of course, Odysseus) yours is not a bookshop.
9. Learn how to use the Internet! Understand that probably a good percentage (if not the majority) of your sales will come through the Web, so have Web presence as good as your store. Put useful information on your web page.
10. Lastly, you just have to love books, this is no endeavour that a truly sane or financially dependent person should attempt. If reading Parnassus on Wheels doesn't truly move you (to tears), you are in the wrong business.
With this list, I get the impression that instead she crossed off a few less worthy items to get the round number because it's pretty hard to find any fluff.
The one gripe I have is the thought that when people ask for historical-fiction they want romance, that's hardly the case here. That probably comes with the fact we're primarily a niche store focused on the sale of West Virgina History, and related, and West Virginian Authors. We rarely carry supply of Best-Seller list titles, with the exception of children's titles, because Amazon has severely undercut that business. We handle special-orders in this case, which take on average about 4 days.
That's because the book has a physical existence. It's made of paper and ink, has a cover, etc. Adults understand it costs money to make such things, so it's better to put an inexpensive price on it, like $0.50, than to try to give it away.
It's odd that the opposite is true of e-books and e-media. The low cost of frictionless delivery gets confused with the true cost of production.
Kids will always go for free gum btw. That's in chapter 3 of the "being a kid" handbook.
One thing I quickly learned is when a grandma asked what album/artist do I recommend for her grandson, she wasn't asking for MY recommendation (i.e. Zodiak Mindwarp and the Love Machine or whatever the heck I was listening to).
The correct answer was almost always Rick Astley.
The only reason that comes to my mind is the joy of browsing, maybe buying something you've seen somewhere recommended before. Are impulse buyers a huge part of the market?
I've been to a local private bookstore twice and the only customers I've seen there are people who probably prefer face-to-face and resent the distant and modern way of buying things, where the only social interaction is saying hello to the mailman.
Could the bookstore provide me with anything amazon couldn't? Books that were unavailable to amazon were unavailable to them. Imports took even longer and due to not living in an english speaking country, 99% of the books on the shelves were translations which I don't want to read.
Which is even more of a problem in bookstore chains. We have one with four large floors and a café. How many shelves of Twilight in German the day on release? About 10. How many shelves constantly filled with english literature? 1. Out of a number that probably goes in the hundreds.
That they aren't says a lot to me. Their priorities are revenue, regardless of their stated abhorrence of censorship.
I'm with Dave Winer on this one:
http://scripting.com/stories/2012/01/27/onTwittersNewFilteri...
Twitter complying with requests to pre-emptively filter tweets would fall under "twitter is censoring itself".
It's probably not a coincidence, but I bet the US Government wanting to censor tweets from certain groups in the Middle East for "spreading propaganda" has a lot to do with it, too. And I'm a lot more worried about that than about a certain country wanting to censor their own people's tweets, because at least then that country's citizens can protest against it. Not much another country can do about US censoring their tweets.
If so, an enterprising group of people will probably be able to make Twitter hide terms that, currently, are utterly unrelated to forbidden terms.
For those who don't know, Travis Oliphant is the creator of NumPy and(?) SciPy.
It's a good read and it puts some of the issues with a port into perspective.
Has that changed?
Or is there a tool that needs to be created that will compile a fragment shader for WebGL down to .js, kind of like CoffeeScript?
Now all you need is for someone to write an OpenEXR implementation in JS or WebKit and you'll have all you need to build a Nuke killer in the browser. Well, you'll still need the UI framework for the node graph.
i coded some real time video effects demo a year and a half or so ago http://www.barbafan.de/html5video?video=tron
i tried to create a lib for video effects then, but ran into serious performance issues, looks like it's time to revisit that topic.
2011 was the breakout growth year for AngelList according to their Alexa graph[1]. And Angel.co has 740K pages indexed by Google, of which about 356K of which appear to be investor profiles, 159K appear to be company profiles, and the remaining 225K could be assumed to be entrepreneur profiles. Perhaps there's another large subset of indexed pages I'm missing?
I'd love to know the actual total counts of startups, angels, and entrepreneurs if anyone is privy.
Can I give you some quick advice? Don't take this the wrong way: Rails makes it easy to learn enough to be dangerous in 12 weeks. Some quick hits on obvious things you should look over in your application to ensure it isn't overtly insecure:
* Every model class should have an "attr_accessible" statement, and the attributes you expose through it should be minimal. A very common misconception: "the things in attr_accessible are the only attributes users can set". Not so! The things in attr_accessible are the only attributes users can set automatically, through mass assignment. You can expose things that aren't in attr_accessible by manually settings them with assignment statements. Assume anything that's in an "attr_accessible" list, and every attribute of a model without attr_accessible, can and will be set to the most hostile possible value, like "role=admin".
* Rails programming intros have a bad habit of introducing ActiveRecord finders in the context of the model class object --- in other words, "Post.find(params[:id])". This is exactly the wrong way to do it; it's so bad that you can literally generate a list of vulnerabilities on Rails projects by grepping app/controllers for "[A-Z][a-z]+]\.find". Instead, make sure all your finders work via associations, like "@current_user.posts.find(params[:id])".
* Use a popular plugin for file uploads. Rails doesn't do much of anything to defend against file upload/download vulnerabilities. If I was building a public-facing Rails application, I'd do whatever I could to keep the filesystem namespace out of my requests --- storing all files on Amazon S3 without explicitly storing them in temp files is a good way to do this.
* Don't enable the old-style wildcard route ("/:controller/:action/:id) or any of its variants ("/posts/:action/:id :controller => :posts); whether you declare methods "public" or "private" in a controller should have nothing to do with whether they're exposed to attackers.
* Have a "PreauthController" that inherits from "ApplicationController" and disables the is-logged-in check; in other words, every controller, particularly every controller generated by "rails generate", should be post-authentication by default. Set up the before_filter that checks for a valid user session right there in ApplicationController, then "turn it off" for the LoginController by having it inherit from PreauthController.
Similarly: if you can get away with not having an AdminController at all --- run a totally separate Rails app for admin that requires a VPN to get to --- do that; otherwise, have an abstract AdminOnlyController class with no methods in it that does nothing but set up a before_filter to check for admin privileges, and have every admin-only controller inherit from it.
* Pretend the backtic operator (the one that executes Unix commands) doesn't exist.
You may do all of these things already (in which case, good for you! you learned more in 12 weeks than a lot of Rails developers do in years). I just called them out because (a) not doing them will be tremendously painful down the road (individual XSS slipups are annoying but unlikely to kill you, but vulnerabilities that allow people to dump your whole database are something else) and (b) they are so easy to fix.
Good luck!
I think that the complexity of CSS compatibility (what browser supports what not... even there are minor quirks between Firefox & Chrome, not just IE.. don't get me started on IE7 & 8 either), it is very easy to raise a white flag and say "that is it..I am going back to deal with backend only tasks, nothing that consumer will see on the surface).
Perhaps, OP already has a knack for UI design (as he/she mentioned in the post that he/she is a UI designer by trade before Ruby), so kudos for getting a nice grip on Rails. As for me, I wish I can master the UI design etc.
Despite many years making websites, I really had no clue about basic http methods â€" get, put, post, etc â€" and in fact, I didn't even realize what they were. The other huge, huge thing for me was finally figuring out what REST is all about.
Basically, the web runs on those few basic http methods, and using the REST approach spells that out for you and cements it in your head.
I had an awesome jump-up-and-down moment when it finally clicked.
Please, designers, stop doing this (and stop doing menu bars with the same behavior). There's not much on your site that is important enough that I need it to follow me everywhere.
I watched the Lynda.com videos on Ruby, and the one on Ruby on Rails (both from Kevin Skoglund). I just watched enough of both to get fairly overwhelmed and confused, then moved on to Michael Hartl's site. Things started to click much better thereâ€"that's the best Rails resource I've seen to date.
Still though, After really digging in over the evenings and two weekends, that nagging feeling started to set inâ€"am I actually going to 'get' this? Am I wasting my time? Is this going to take years? Will I ever get past layouts/partials? Should I just go learn PHP / Javascript / iOS / something else?
Did you feel like giving up? Or question the purpose/wisdom of learning Ruby and Rails?
Late last summer a friend and I came up with a great idea but we lacked the programming skills to create it ourselves. I knew a bit of HTML, a touch of c++ , and PLC ladder logic programming(huge help, right?). It wasn't until around October that I realized we were getting nowhere. I decided enough was enough and I was going to learn how to program. I spent an entire weekend reading and trying out zend's PHP 101 for beginners. Three months later and I had created a user authentication system with messaging, friends lists, administrative rights, and all sorts of other goodies. I was working a full time job so I did this with my spare time.
Your site looks great by the way. Keep up the good work.
Your site looks really nice, and now you've got the ability to do design AND program, which is a combo that isn't too common.
Best of luck with your site....
I presume such a filter will also remove all bacteria/etc from the water. So basically, you could grab some water from the Thames, stick it through one of those filters, and drink it. It might lack some minerals, but it won't get you sick.
http://en.wikipedia.org/wiki/LifeSaver_bottle
http://www.ted.com/talks/michael_pritchard_invents_a_water_f...
From the Wikipedia page: "In 2007, the LifeSaver bottle was tested by the London School of Hygiene & Tropical Medicine and the results found it to completely filter out all bacteria and viruses."
This may be a stupid question, but is that simply nothing remarkable?
Since graphene seems to be the best thing discovered for filtering evaporated water, not liquid water, is the LifeSaver not as great a solution as the TED video makes it out to be, for some reason?
The graphene oxide mentioned in this article tends to exhibit weaker electrical and mechanical properties than graphene oxide but is much easier to synthesize than conventional graphene, and so a future with graphene oxide products is not as far as away as one with real monolayer graphene.
How useful will the filter be if it gets clogged? Reverse Osmosis needs high pressure and produces much less water than it takes in, then it needs remineralization. Same situation?
Maybe it will be better for filtering steam or air.
The problem most people have is that they eat enough carb to satisfy their daily energy demands, and the fat they've eaten will be stored. Keep in mind that almost all muscle tissue and the brain prefer glucose (which usually comes from starch) over anything else, although some vital organs run mainly on fat, particularly at night.
Our digestive system is very efficient. The bottom line is this: if you eat more calories than you expend, you will gain weight.
Carbs are cheap, carbs are bad for you and carbs are often marketed as health food.
We don't need carbs. We evolved eating meat and veg. Meat, veg and water is the perfect diet. It's hard to stick to that diet though as carbs are so highly accessible.
in order to get a shirt, that they give away for free at their booths all over the place?
+ $20/mo to get a shirt is way overpriced...at that price, I might as well get a shirt from threadless that I like instead of "randomstartup.com!" one.
The business model should be flipped. Startups should pay you...to distribute shirts for free. And allow them to make it local....i.e. 300 shirts to people in los angeles.
Cost wise just charge them the same $20 per shirt. $10K for a one time marketing cost is nothing really. And getting 500 people to wear shirts would be worth it.
Would love to get your feedback on the project.
whens the first box shipping?!
now i don't have to buy clothes anymore
So during the BSD / System V merge (project Lulu at Sun) the /opt filesystem was introduced as a way to keep 'packages' separate from 'system'. The difference between /bin and /sbin was that sbin was 'static-bin' which is to say everything in it was statically linked and could run without any libraries being available.
The fact that Linux starts up differently is because Linux never was UNIX they are two different OSes, pretty much from the ground up. They use similar concepts, processes, file descriptors, Etc, but they are two different species. FreeBSD on the other hand is a derivative of UNIX and last time I checked it started up in a similar way.
The lack of space on the RK05s was indeed the reason for the addition of /usr/{lib, bin} and the general consensus at Sun and AT&T in the 80's was that the root file system contained the system, and the /usr file system contained stuff that was not-system.
AT&T (the guys that 'owned' UNIX) had some pretty detailed specifications about what lived in what directory and why. It was a "BigDeal" (tm) to add a new directory in the root file system so new directories, when they were proposed, appeared under /usr. And once /opt existed it gave people free reign to create their own trees. Early package managers would build /opt/<package>/{bin/lib/share/man} and the downside was that ones path variable got longer and longer, and there arguments about if there should be more constraints on opt.
The `/sbin` and `/usr/sbin` directories are for commands needed only by administrators, which will not normally be used by regular users.
Most systems don't really require this separation, but it does make sense. Perhaps the historical reason for doing it is no longer a factor, but that doesn't mean it's perpetuated merely because of tradition.
[1] http://www.pathname.com/fhs/pub/fhs-2.3.html
Wait no longer: http://guide.macports.org/
If it's needed to boot, it goes in root: boot images (including root filesystem) can be initrds, bootp images, flash sticks, or other similar tools. Maintaining the discipline of keeping what you need in / and what you don't need to boot in /usr helps when you're trying to minimize boot images, troubleshoot, and/or just simply keep things comprehnsible.
Different partitions can be mounted differently: There are still a few things in the root FS which are written periodically, especially in /etc. By contrast, /usr is largely static. They can be mounted writeable vs. read-only (dittos /boot BTW). Root may require device permissions. Both require suid (but /home doesn't). For various degrees of security and self-inflicted foot-gunshot incidents, mounting with minimal permissions can be useful.
Not all bootloaders handle all filesystems and storage: Applies more to /boot, but particularly for exotic / networked storage, ensuring that early-stage bootstrapped filesystems are accessible with a minimum of fuss can be useful.
The arguments from Fedora about the ability to manage a system from within an initramfs are particularly amusing given RHEL's traditional use of a non-interactive, script-only shell: Yes, that's right, you can't exit out of the initramfs shell to do maintenance. Debian's 'dash' shell is not only smaller than the RHEL equivalent, but supports interactive use. Go figure. (Apologies if this has changed recently but it was true as of the past year or so).
Shared/network mount purposes: A read-only, shared /usr filesystem can be used and accessed by multiple systems. Maintaining the root /usr split ensures that local system commands (if necessary) can be provided independently of the shared bits.
While the origins of /bin vs. /usr/bin lie in what are now largely irrelevant disk capacity constraints, there are a number of reasons why maintaining the split continues to make sense. As has been noted, a fair bit of hierarchy persistence is on account of differentiating between differently-managed packages at different parts of the system. As the guy who gets to come in, comprehend, rationalize, and clean up systems afterward, I can assure you that a logical ordering and seggregation does help markedly.
For distros with a decent package management policy and toolset, there's no particular problem to maintaining this. $PATH variables already make the end-user impact essentially nil.
For those who wish to combine things, union mounts or symlinks can certainly be used, again, with little or no end-user impact. For some embedded/small systems this makes sense. There's no reason to force one-size-fits-all on everyone, however.
I'm also generally opposed to arbitrarily adding top-level directory trees. The naming rarely stays consistent over time (business unit / institutional name changes are notorious). And it tends to complicate matters especially concerning backups and where essential local data lives.
Tempest in a teapot.
The really hacky solution to that seems to be building versioned packages in versioned directory paths (e.g. "/opt/lib/db/4/4.2/4.2.52/libdb.so") and mess with linker paths and create a sprawling tree of symlinks and wrappers for weird use cases. With a custom package manager it works really well: run 6 conflicting versions of the same library and just build apps against the library you know works, instead of fighting to get everything running on one compatible library.
This situation has only improved a little. There are still lingering bits of it here and there, depending on how deeply you poke and which distribution you have installed.
A lot of Linux distributions by default suggest using the entire disk and creating a single partition named /. In that case it doesn't make sense to have the various different locations since mounting / means you have /usr/bin as well.
I don't want a user being able to fill up the hard drive stopping me from writing my logs, stopping me from logging in or various other things (yes, i've filled up my / partition at one point and was unable to log in because SSH was failing to log something or other). There are also security reasons and being able to set various security flags on mount makes it easier to secure a machine as well (such as noexec on /tmp and or /var).
http://www.gobolinux.org/index.php?page=doc/articles/clueles...
GPLv3: as worthy a successor as The Phantom Menace, as timely as Duke Nukem
Forever, and as welcome as New Coke.
My understanding for the latter is that /bin is "normal stuff", while /sbin is system maintenance. But, hey, maybe that split is actually there for obsolete historical reasons, too. Does anyone know?
All this to save a few bytes in $PATH, to avoid problems with systemd, and to avoid fixing udev.
For example /dev is defined by objective criteria, and thus there's not much argument to what goes into /dev. We should only have core directory structure defined by objective criteria.
- If it's needed to boot the system, it belongs in /
- Binaries for normal users are in bin, system (i.e., root user only) binaries are in sbin
That's all.
More history bits like this please.
At the same time, makes you think about dropping FHS .. yeah I said it.