Bye Bye, Long Tail - <AUTHOR> http://techcrunch.com/2011/02/13/bye-bye-long-tail/ <comment><USER4> He has a point that the long tail of middlemen is getting crushed. There's no reason to order routine consumer goods from anywhere other than Amazon.com or a handful of other sites.

He gives a shout-out to retailers that offer improved shopping experiences. I think there's still room there: I routinely order parts from a small car-parts company that has the exact list of parts I need to fix my old car, and makes it incredibly easy to find exactly what I need. If anything, the supplier is a value-added retailer because they offer advice, tips, and will email me if I order something really stupid (parts for the wrong year or model).

And he's completely wrong as to unique/custom products; the experience there is almost the opposite. Hello long tail of unique, customized, and personalized goods.

I routinely buy customized stuff from Etsy and similar artsy aggregators. It is often stuff that defines the long tail: there is exactly one of each item, but thousands of similar goods. A producer who can fill this need at scale has plenty of opportunity.

I routinely buy letterpress goods straight from the press. Again, it's often customized or personalized, and usually they will sell a few hundred units at most. Again, opportunity in the long tail if you can find a way to fulfill at scale.

I buy t-shirts and similar from an ever-evolving collection of online shirt retailers. Some might use the same back-end fulfillment, but I know from my local screenprint shop that there is still a huge (and growing) business in short-run screenprinting.

<comment><USER5> I think the t-shirt case is a great example of where Amazon/Walmart type of purchasing power _won't_ always win.

I don't want the t-shirt with he witty slogan or amusing image that Amazon or Walmart are selling by the thousands, I want to be the only guy in my city wearing that gag.

I'm also never going to buy coffee beans from Walmart, I'm going to buy them from one of my local roasters, who can often tell me the names of the farmers who produced it as well as the level of roast used and the reasoning behind choosing that roast level for this particular bean.

Commodities will end up being bought/sold as commodities, but not all purchases are commodities. And some peoples commodities (like coffee and t-shirts) are other peoples "specialty goods".

</comment></comment><comment><USER6> Linkbait headline.

The "long tail" is still very much out there. As slapshot notes, Etsy has opened up a completely new "long tail" that shows no sign of slowing down. As is, say, airBnB...

</comment><comment><USER7> Good points on how to compete with Amazon, if you choose to compete with Amazon. (You do it on service, because you'll never beat them on price.)

But I'm not sure what that has to do with the original "long tail" thesis --- that applied more to authors, musicians, etc., who are more likely to be selling through Amazon than establishing their own retail operation on the side. (And if they are doing direct retail, they're almost certainly selling goods that aren't available through Amazon at all.)

</comment><comment><USER8> I don't think this article's thesis is supported by facts. Either that or the author grossly misunderstands the concept of the "long tail".

<comment><USER9> It's clear he doesn't understand what 'long tail' means. I think he conflates the term to mean 'small retailers' when in reality the long tail is the large amount of low volume items that consumers really want. The example he gives is an example of demand moving out of the tail and into the head, where Amazon and Walmart are interested. Amazon and Walmart both stock a wide variety of items, with very low depth of stock in each category. From books to rifles, Wal Mart only carries the big sellers. Amazon does offer the long tail in many categories, but below a certain scale the small time deep dive inventory people will still sell on Amazon marketplace.

</comment></comment><comment><USER9> I just had a similar experience. While looking to buy a $400 item, I found someone with the item in stock who was willing to ship (note: not in the USA, many merchants will not ship internationally, including Amazon on big-ticket items).

After some back-and-forth, the order was placed, and this small online retailer had my business.

But then - 5 days after the order was placed - an email came back. We want an international wire transfer instead of mastercard payment. No way, I said - <USER2> wire transfer is a black hole where I have no comebak. I offered a PayPal payment instead. No, they said, wire transfer or nothing. I cannot for the life of me understand this logic. It's not like I'm buying and shipping to Nigeria or some other known fraud location. If it was about mastercard fees, I would have happily paid a 2 or 3% surcharge. It still would have been cheaper than having to drive to my bank, sit in a queue, organise forms and pay $20 for a wire transfer.

So the answer was no credit card, no sale, and they didn't get the sale. The sale instead went to a combination of Amazon and a third-party freight forwarding company. The combined price was about the same as the original merchant.

Why anyone would offer to ship internationally and then request a wire transfer is beyond me. Either shun international purchases (eg zappos) or welcome them properly.

<comment><USER10> The problem is that in markets where goods are resalable, a very large portion of sales are fraudulent. Being out of country makes the fraud likelihood even higher. With paypal or mastercard payments, merchants have no protection because of chargebacks.

Basically, after a fraud/non delivery/stolen CC allegation CC companies and paypal will pull that money from the merchant's account and fully refund the customer pretty much immediately and without question. It's usually impossible or impractical to reverse that once it has happened, regardless of what evidence you have. Police will not investigate and the CC company won't hear your case.

I have had a client that personally delivered and item and got a signature. When the chargeback claim came (non delivery), he recorded a phone conversation with the recipient where she admitted (she was "tricked") to the fraud. The police told him (after a lot of badgering) that they get about 100X as many claims as they can investigate. Basically, for all but relatively high stakes cases, they just log the complaint and move on.

There really is no way for retailers to protect themselves.

<comment><USER9> I'm well aware of the difficulties with doing business internationally - <USER3> 90% of my income comes from outside my borders. I've gotten fraudulent chargebacks and grit my teeth and move on. Sure, selling a $1000 laptop to someone in Nigeria is asking for trouble, but for other countries with strong legal systems and a low incidence of fraud I would seriously question the accepted wisdom of international sales == higher fraud.

So if you don't want to deal out of the country, say you don't. Putting some fine print buried in your website saying 'we only accept wire transfer for international orders above x' but still accepting CC in the cart is bad customer service. It's a crappy experience for the customer and it wastes time for everyone, merchant included. This is my point. Statistically, I bet for delivery to certain countries, the chargebacks would be no different to domestic deliveries in terms of fraud per 1000 sales. The credit cards are there to protect the customer from fraudulent merchants just as much as the reverse.

My point is : either accept the risk (price it in if you have to) or advertise that you don't ship internationally. This is what Zappos does - they want to create an excellent experience, so they only ship within the USA. Don't create a crappy experience for a customer in the off-hand hope that someone might decide to get caught in a bait-and-switch payment scenario.

</comment></comment></comment><comment><USER11> The good news is that you don't have to compete with Amazon. You can sell your own things through Amazon and you will always be able to attract traffic via informational portals and link to Amazon to sell products which are the subject of those portals and make money via the affiliate program.

Otherwise, I can't really argue with the article. I always look to Amazon first to buy things. Even if I'm buying locally I will look to Amazon first for reviews and pricing.

</comment><comment><USER12> Weird article. Long tail of products is definitely here to stay with the internet. Weird things, out of print books, fancy japanese pens I can't get at the office supply store, movies that were never released in the states, ingredients to strange ethnic dishes, repair parts for my antique whazzit, it's all on the internet. A lot of the small places have things cheaper than amazon too if you look around enough. Or save time and go with amazon.</comment>


Show HN: Tool to grab screenshots of a list of webpages on Linux - <AUTHOR> https://github.com/adnanh/webscrot <comment><USER2> It's possible using Firefox, without any additional s/w: [http://tuxdiary.com/2015/03/23/firefox-full-webpage- screensh...](http://tuxdiary.com/2015/03/23/firefox-full-webpage-screenshots/)

<comment><AUTHOR> Hard to automate if you have a lot of URLs to screenshot :-(

Developed this tool to easily screenshot large bulk of projects in a SPA to perform visual diffing after migrating to the new backend. It's nothing new or smart, just wanted to automate the process, and thought someone might find it useful :-)</comment></comment>


Ask HN: Recommendations for a good elementary text on Number Theory - <AUTHOR> A friend is looking for a good elementary text on Number Theory. Recommendations would be most welcome, along with comments about approach, style, coverage, and anything else you'd care to say.
He has already read "Very Short Introduction" by Peter Higgins.
Many thanks in advance. <comment><USER2> LeVeque's book "Fundamentals of Number Theory" is decent - it covers the basics (sometimes goes a bit beyond the basics), does some elementary ring theory, has exercises, and has a little bit of historical trivia.

Andrews has a book titled just "Number Theory" which is very combinatorial (gives a combinatorial proof of Fermat's little theorem) - the second half of the book is about partitions and their generating functions.

Borevich and Shafarevich have a book also titled just "Number Theory" which is an introductory text on algebraic number theory, ideal class groups, etc., and by the end it uses these techniques to explain how Kummer proved Fermat's Last Theorem for exponents below 100.

Baker's "A concise introduction to the Theory of Numbers" is exactly what it says on the tin. It has five to ten exercises per chapter, and each chapter is a fairly short introduction to a different branch of number theory, giving examples of the fundamental techniques or ideas or results in that area.

</comment><comment><USER3> A recent acquisition has (so far) been very approachable - a recommendation I got from a blog post that I can't recall.. "A Brief History of Numbers" by Leo Corry, Oxford University Press 2015. A fairly rigorous presentation from a strongly historical perspective. Excellent for this math hobbyist.</comment>


Cheap Arduino Wireless Communications - <AUTHOR> http://www.glacialwanderer.com/hobbyrobotics/?p=291

<comment><USER2> The wireless modules in this article are pretty weak sauce (In fact they make me cringe)

If you're going to do anything that requires reliable data transfer or data rates higher than a few k, consider the following:

[http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=e...](http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en535967)

These only cost 10 bucks in single quantities and include a tuned pcb antenna.

These modules are MUCH, MUCH, MUCH better...

<comment><USER3> that looks awesome.

but if i go to $20, i can get xbee parts. any suggestions regarding differences?

<comment><USER2> These modules are basically equivalent to the xbee parts. You'd have to pull out the spec sheets to see the differences, which may come down to the MAC layer or software protocals.

</comment></comment></comment><comment><USER4> I just finished a project using these exact same parts! After looking at the high prices on the XBee chips I got a few of these same transmitters and receivers from Sparkfun to build a remote control for one of my robots. The chips have a lot of quirks but are not very hard to figure out despite some comments to the contrary on Sparkfun. If you are interested in Arduino I would _highly_ recommend Tom Igoe's book Making Things Talk. The book is filled with a ton of wireless projects and walks you through the Arduino basics. If you are in L.A. and interested in Arduino I recommend checking out the occasional Arduino classes offered at Machine Project (www.machineproject.com).

</comment><comment><USER5> While not entirely related to the article, I've been wanting to start playing with an Arduino for a while now. I have a little bit of experience with circuits, but not really anything that goes beyond soldering a longer wire onto something.

Does anyone have a suggestion about where to start with Arduinos? Specifically, a kit which would be complete enough to play with and make a few things.

<comment><USER6> I recently bought and arduino and have been having a _LOT_ of fun with it...

Last night, actually, I was the most giddy I think I have been in YEARS...

I stole two servos out of a remote control plane from my childhood, and connected them to one another so that I could point a stick at almost any point...(think like what an observatory does...the end of my servo was the telescope)...

Anyhow (this is going to be a birthday present for my friend that introduced me to this)...I connected an LED to the end of a stick that was connected to one of the servos, then wrote some code to spell out words with it in the air...

Set a camera in front of it, turn the lights out, expose for about 30 seconds (or however long the drawing takes) and get a word...totally stupid, totally pointless and TOTALLY fun...

For this project I needed:

2 servos (any servos will pretty much work...you can buy them at your local hobby shop)

1 LED

some wire.

Some Spaghetti sticks (I used these to make an "arm" for the LED).

The birthday present is going to be a program that spells out "Happy Birthday" in the air, as well as the source code for it :).

Honestly, after the servo went back to its "home" position, and shut off the LED, it took about 10 seconds for the photo to process. Seeing the photo come onto the screen with my message in it was _AMAZING_.

Seriously, if you're even thinking about buying one of these, JUST DO IT! Playing with this thing feels like when I first started to code way back when...

<comment><USER7> That sounds really cool, you should write it up and submit it.

</comment></comment></comment><comment><USER8> My ideas for a wireless arduino project/startup:

1\. Build a wirless mesh tower that send a stronger signal than of your typical internet router.

2\. Connect a server to it.

3\. Write docs and plans so others can build it too. Sell arduino kit for lazy people.

4\. Build a UAV that retransmit wireless signal to other mesh tower.

5\. Again, write docs and plans so other can build transmitter UAV too. Don't forget selling the kits.

6\. Use profits to build next generation of wireless mesh towers(solar powered? long lasting?) and transmitter UAV(higher up? Bigger payload? Stay in the air longer? More pointers?)

7\. Repeat the cycle of improvement, selling, and education.

As a bonus, you get FREE internet.

<comment><USER3> sounds pretty great, except for all the hard parts.

<comment><USER9> yeah, I also missed that step about explaining to the FCC why this unapproved device should be allowed to "send a stronger signal than of your typical internet router." As a bonus you do get a FREE visit from some government bureaucrats though :)</comment></comment></comment>


Many Strategies Fail Because They're Not Strategies (2017) - <AUTHOR> https://hbr.org/2017/11/many-strategies-fail-because-theyre-not-actually-strategies <comment><USER2> We have a scientist in Denmark called Morten Münster who wrote a book called "Jytte fra marketing er desværre gået for i dag" (Karen from marketing has unfortunately left for the day), in which he talks a lot about the necessity of clear and simple strategies that can be understood by employees at 3pm on a busy Thursday. He has a lot of good examples, but mostly he outlines how silly something a long the lines of "forward together" is as a strategy because it quite literally means nothing to anyone who does any real work.

It agrees with this article, and I always find it kind of hilarious. I do work on the public sector, and we're exceptionally bad at implementing strategies, despite having hundreds of people working on it. The thing is though, that most of those people have read these articles and books, exactly like this one. So apparently knowing these things aren't even helping us implement meaningful strategies.

After years in the bureaucracy I've long learned to simply keep quiet while these pseudo-workers do their thing, and then get things done when they leave. Then you can always word the work up to sound like it plays into whatever current strategy we're pursuing at the end of the year review.

<comment><USER3> one of my more sarcastic personalities derives great pleasure in comparing what's happening in the workplace with what's described as effective sabotage in the CIA's field manual.

[https://corporate-rebels.com/cia-field-manual/](https://corporate- rebels.com/cia-field-manual/)

tip for pro's : you can play the bingo version too!

<comment><USER4> I wouldn't be surprised if the authors of the cia field manual just copied verbatim their management training manual

<comment><USER3> now that is sarcasm with a big 'S'. Love it.

</comment></comment></comment></comment><comment><USER5> If you're interested in this topic, the best book I've read is called Good Strategy Bad Strategy. It's an excellent read. Here's the main takeaway:

A real strategy consists of the following parts, which the author calls the "kernel" of a strategy. If any of these are missing, you don't have a strategy.

1) A diagnosis of the problem or opportunity.

2) A high level guiding policy / hypothesis for how to respond.

3) Coherent Actions that will be your first / primary steps to execute on the strategy.

I've found that just getting that idea into my head has transformed the way I think about problems, and plan and communicate responses. I couldn't recommend the book enough.

<comment><USER6> Also "Playing to Win: How Strategy Really Works" by the old CEO of procter and gamble and the dean of the toronto business school. In addition to good strategy / bad strategy, playing to win is sort of heads and shoulder above anything else strategy related and on the level of the legendary grove and porter books. Strongly recommend as well.

<comment><USER7> Fully agree - those are my two favorites too.

I also like "Strategy in Action" for more concrete / less abstract thinkers more focused on execution. These people shouldn't be working on company strategy, but this step-by-step approach is a good fit for them I think.

Also nice, they're all on Audible.

</comment></comment></comment><comment><USER8> "Strategy is choosing what not to do" is the standard trope.

Start-ups sorta get this already: focus on a core base of customers who love your product despite its flaws. Iterate.

The insight I liked best in this article was, "In contrast, top executives should resist the temptation to decide what projects live and die within their firms. Strategy implementation requires top managers to design the company's internal system that does the selection for them."

So much your job as an exec is to design the system that gives others enough context and autonomy to flourish.

And hopefully over time that system continues to improve itself.

<comment><USER9> that's not strategy though, that's a process to inform a strategy.

<comment><USER10> I don't disagree with you per se. But perhaps it's a strategy that yields a process, which aims to yield more strategy?

Part recursive. Part dog-fooding.

</comment></comment></comment><comment><USER11> As a mostly-solo entrepreneur / consultant, I've had some success in shifting professional engagements toward the "strategic consulting" end of the spectrum. I credit author R. Rumelt ("Good Strategy, Bad Strategy"), and FB VP Product J. Zhao ("How to be Strategic") for excellent perspective and actionable advice, which distills down to:

A strategy is a set of actions designed to achieve a particular objective.

The actions need to be credible, coherent, and focused.

Designing them properly takes hard work.

The most practical path to actually being strategic:

1\. "Wild Success": Create alignment around what it looks like

2\. "Problems / Whose": Deeply grok problem space and its ecosys, and be crystal clear abt what problems looking to solve, and for whom.

3\. Prioritize: Focus means saying "no". Cut, ruthlessly, anything inessential.

Working on applying these ideas outside work context, too.

<comment><USER12> > A strategy is a set of actions designed to achieve a particular objective.

Yes. I have seen people at my work make that same error that you describe.

It took the form of a bullet point in a presentation, "our strategy is to migrate to the Foo platform, for these (valid) reasons".

And I couldn't help thinking: That is a good goal, but it won't happen unless you make it happen. You don't have a strategy for that goal until you allocate time to it, set milestones, get buy-in from below, get management to tell people to it, decide which teams will go first, etc. Without that, all you have is a vague aspiration. Not a strategy.

Getting to the details of the strategy means committing to doing something even though there is effort involved, and since available effort is short supply, that means you have to choose.

<comment><USER11> What "error"? That definition comes straight from Richard Rumelt who wrote one of the all-time most influential books on strategy. And of _course_ you have to actually take action and not merely talk about it! That goes without saying. If you read the rest of my comment, you'll see I mention the same things you do, in similar words! "it takes hard work", "create alignment", "prioritize... saying no" etc.

Hard to tell if you're just trolling. Responded anyway just in case you simply rushed to make a point w/out noticing you'd entirely missed mine.

<comment><USER12> > What "error"? That definition comes straight from Richard Rumelt

You're totally misreading. You made no error in your first post, I was agreeing with you.

The error is people not understanding what a strategy is. A strategy is a plan of action, not merely a goal.

So that no-one can possibly misunderstand I will rephrase that as "I have seen people at my work make that same error that you describe".

In general, it's not good for you to respond, clearly upset but not understanding, in the heat of the moment like that.

> Hard to tell if you're just trolling. Responded anyway just in case you > simply rushed to make a point w/out noticing you'd entirely missed mine.

That's not a nice way to respond, at all, to someone who is corroborating. Quite ironic, though.

<comment><USER13> I still have no idea what you are talking about.

</comment></comment></comment></comment></comment><comment><USER14> There's a lot of fluff in this article but the main things for me are that strategy includes deciding what not to do, and that it's easy to mistake goals for strategies.

Maybe the best place to see this is sports. How often have you been playing a match, and at some point the coach says "we need to score a goal"? As if that's not obvious. What he needs to say is "keep a high line and only let the defenders take time to pass".

<comment><USER15> The problem with "Keep a high line and only let the defenders take time to pass" is still a tactic. Having recently started attempting to understand what a strategy really is, I've understood the following.

A strategy is tripartite. The Strategy, it's Guiding Principles and Actions (tactics)

A strategy takes into account the environment within which one is working and to view it as a dynamic thing. In your football example we might be able to say that the dynamic part of the game is how the opposition arranges their players and who is in which position.

Knowing this we can define some Guiding Principles for the individual game. One might choose a loaded and strong defence as your team's offence is not as strong as the oppositions defence. The guiding principle is "Defend our ground"

Actions (tactics) would be "Keep the few strikers far forward and protect the defenders"

Caveat: I'm not a footballer, and I wish I had written this to end up with the original tactic mentioned "Keep a high line and only let the defenders take time to pass"

<comment><USER14> In all my reading I've never found a satisfactory distinction between strategy and tactics. Every attempt I've seen either doesn't provide a clear answer or falls on some simple contradiction.

My current thinking is that people tend to think of strategy as higher level than tactics, but that there's never a clear line that tells you which you are looking at. It's more the importance you want to give some decision that determines what you call it.

<comment><USER16> Here is an example within the world of chess:

[https://en.wikipedia.org/wiki/Chess#Strategy_and_tactics](https://en.wikipedia.org/wiki/Chess#Strategy_and_tactics)

They are very well understood and delineated within that context.

<comment><USER14> > These two aspects of the gameplay cannot be completely separated, because > strategic goals are mostly achieved through tactics, while the tactical > opportunities are based on the previous strategy of play.

<comment><USER16> And yet when you ask a chess player whether the situation has a tactic or a strategy in it (in some cases both), they can tell you which choice is a tactic and which is a strategy. Tactics are so well recognized that you can practice them: [https://www.chess.com/puzzles/rated](https://www.chess.com/puzzles/rated)

</comment></comment></comment></comment></comment></comment><comment><USER17> "Focusing is about saying 'no,'" Jobs explained at Apple's 1997 Worldwide Developers Conference (WWDC). "You've got to say 'no, no, no' and when you say 'no,' you piss people off."

</comment><comment><USER18> I used to read a lot about strategy, but it didn't feel like I was getting anywhere.

The thing is, it's _such_ a big topic, and _so_ context-dependent, that so many "conversations about strategy" end up with the conversants either talking past each other, with Bob and Alice using the same words but meaning different things by them. This is how consultants get their reputations as purveyors of fluff---either the consultant is a space cadet and is talking about generalities without translation into the clients' reality, or the _client_ is not understanding (or not listening to!) the consultant, who is later maligned as a purveyor of fluff.

A lot of the problem stems from people thinking and talking at different layers of abstraction. We all suck at talking about strategy, but programmers are probably the best at understanding _why_ we suck.

For most people, most of the time, we're better off staying concrete.

</comment><comment><USER19> A _strategic plan_ must also have decision points and alternatives laid out. Not just a direction. Not just the logic behind. What to do when X happens; how far to reach when goals are not being met; how much to spend.

</comment><comment><USER20> Strategy is choices we make to achieve a goal. Those choices represent implied utility through the reduction in optionality.

Executing a strategy means making the trade offs between utility and opportunity cost, to arrive at a prioritization of choices, and then realizing those opportunity costs.

</comment><comment><USER21> All this stuff is so obvious, why does it even need to be written down? It's hard to believe that people don't know this intuitively.

I guess there are so many highly paid bureaucrats who don't know what they're doing or why they're doing it that such basic articles have become a necessity.

</comment><comment><USER22> "If there is one thing I have learned about communicating choices, it is that we always focus on what the choices are. I now realize you have to spend at least as much time on explaining the logic behind the choices."

This is a great thing to keep in mind for engineering architecture and policy.</comment>


US secretly built 'Cuban Twitter' to stir unrest - <AUTHOR> http://www.sfgate.com/business/technology/article/US-secretly-built-Cuban-Twitter-to-stir-unrest-5372422.php <comment><USER2> I'm still trying to understand why the US keeps kicking a tiny island country. One story I've heard is that a lot of rich Cubans lost their property when Castro took over, and they spend a ton of money on politicians in the hope that the US will make sure they get their property back at some point.

If that's true, why would the US gov risk this exact article? Why not tell the rich Cubans to build a fake social network themselves?

I guess I'm still looking to understand why this relationship is the way it is.

</comment><comment><USER3> Then people of US don't understand why people from other countries dislike the US and consider it meddlesome.

Also, people of US should own up their mistakes, I am very bothered by the average US person that keeps voting to the current top two parties and then complains when people from other countries are upset at them because of the US wars and intelligence interventions, if you voted to re-elect Obama, you cannot complain when people from Brazil, Cuba, Iran, Iraq, Germany, etc... get upset with you.

<comment><USER4> > Then people of US don't understand why people from other countries dislike > the US and consider it meddlesome.

Wait a minute, are you implying that the US is doing something wrong here? This seems like an excellent project.

<comment> k-mcgrady >> "The U.S. Agency for International Development masterminded the creation of a "Cuban Twitter," a communications network designed to undermine the communist government in Cuba"

Of course they're doing something wrong. If Cuba tried anything like this against they US they'd be bombed into oblivion. Cuba has a different form of government, one most of us don't agree with but that doesn't give the USG any right to interfere. In the meantime North Korea treats its citizens like shit and supposedly works on nuclear weapons and US does nothing. The only reason they care at all about Cuba of because of their history with it.

<comment><USER4> Dictatorship is just a lifestyle choice!

I don't know what you mean about "if Cuba tried anything like this". What would be like this? Americans can already communicate freely over the Internet.

I know that my father-in-law used to listen to Radio Havana in the U.S. back in the 1960s, by the way. The U.S. didn't bomb the radio station.

</comment></comment></comment></comment><comment><USER5> Although it's frightening I have to admire the smartness of such an idea. Giving the people such kind of technology to influence them politically. I'm as impressed as I was when they attacked the Iran nuclear plants with a virus from an USB stick.</comment>


Static Sites on Heroku - <AUTHOR> http://anti-pattern.com/2012/6/2/static-sites-on-heroku <comment><USER2> I'm required by bootstrapper law to mention a project I'm working to get out of beta now:

<http://spintoapp.com>

Spinto is Git-based, like Heroku, and uses Jekyll with pre-processors for Sass/Scss (and Compass, Bourbon), Less & CoffeeScript. I agree with Brandon that FTP is hopelessly out of date and frustrating. Even more than that, I think there is madness in the idea that you need a _database backend_ for your website to let somebody else change a comma, or an image (sometimes you need full-blown-CMS, but not always).

I'm trying to make a static websites easier for us to create, deploy, and collaborate on. Feedback _always_ appreciated.

</comment><comment><USER3> Disclaimer: I'm a founder of Site44.

Like some of the commenters here, I looked around for simple static website hosting when I was trying to find a new home for my blog. I considered Heroku, GitHub Pages, and S3. Heroku didn't seem particularly optimized for static hosting (e.g., dyno spin-up time), and GitHub Pages lacked some flexibility (like custom mime types for my extension-less URLs). S3 doesn't handle things like sending gzipped content to only browsers that support it. Ultimately, my cofounder and I decided to build our own solution based on Dropbox: <http://www.site44.com>.

Site44 is in a private beta now, but we're hoping to move to a public beta very soon. I'd love to get some feedback from HN. The basic idea is that when you create a site (<foo>.site44.com or a custom domain), we create a folder for you in Dropbox, and then you publish by just modifying the contents of that folder.

</comment><comment><USER4> Another option is Github pages. I host my blog there for free and have had posts featured on HN front page - served with nary a slowdown or github sending me a bill. It's awesome.

Github pages support a point-and-click interface (which is not likely what you want) but with a tiny amount of setup supports Jekyll <https://help.github.com/articles/using-jekyll-with-pages> / Octopress (what I use) <http://octopress.org/docs/deploying/github/>

</comment><comment><USER5> This is a much cleaner way of serving static sites on Heroku: <http://kennethreitz.com/static-sites-on-heroku-cedar.html>

Using this technique you can even use .htaccess files.

</comment><comment><USER6> You know, static hosting works really great on Amazon S3, as long as you don't need a .htaccess file. On all of my jekyll sites I use S3 now and there's even a jekyll-s3 gem that makes pushing your site up to S3 painless. The nice thing about using S3 is you don't have to wait for Heroku instance start up if it's not a high traffic site.

<comment><USER7> The only issue with S3 I've found is the lack of naked domain support, so you need another service for redirects to your *.domain.tld.

<comment><USER8> If you register your domain through NameCheap and use their DNS hosting, HTTP redirects from naked domains are included.

</comment></comment></comment><comment><USER9> Heroku for a static site? Sounds like overkill. On my VPS I just do this:

1\. Have public git repo, clone on server

2\. Run nginx pointing to htdocs folder in git repo

3\. When I want to deploy, ssh in and git pull

Works just fine. Sure, it's a public site on GitHub, but I could just as easily run a git server.

<comment><USER10> I just git push to the server from my laptop over SSH. No need for a git server (or Github, for that matter).

<comment><USER9> I should really try that... thanks!

Edit: Oh wow, I didn't realise I could just do this:

      git push ssh://example.com/git/repo

<comment><USER11> SSH is the transport you're using when you use github.

firstname.lastname@example.com:git/repo.git tells git to SSH using the 'git' user.

</comment></comment></comment></comment><comment><USER12> Isn't Heroku a mediocre option for a static site unless you're paying? If the site isn't accessed for a while they spin down your EC2 instance, and it takes a few seconds to get it back online.

<comment><USER13> My thought exactly. The 5-10 second lag involved in waking up a Heroku instance is a total drag for low-volume sites.

</comment></comment><comment><USER14> Two weeks ago I was looking for this. This is the easiest way I found to do it:

heroku create myproject --stack cedar --buildpack <https://github.com/pearkes/heroku-buildpack-static>

<comment><USER15> Ha! I never thought anyone would use that. It's basically a simple fork of their PHP buildpack that stops caring if it's PHP and just serves off of Apache. Perhaps I should clean it up.

I was also experimenting with a Pelican buildpack (a python Jekyll): <https://github.com/pearkes/heroku-buildpack-pelican>

You deploy you markdown files and it generates your html in the deploy process.

<comment><USER14> I tried a few other buildpacks like the nginx ones, in the end this was the only one that didn't force me to configure or adapt anything, just worked, so thanks a lot! :)

<comment><USER15> No worries! I fixed it all up so it should be much more concise then it was. Still no configuration!

</comment></comment></comment></comment><comment><USER16> It's exactly what is in Heroku's documentation: <https://devcenter.heroku.com/articles/static-sites-on-heroku>.

</comment><comment><USER17> There's an even easier way to do static sites on heroku and have them compiled for you - use stasis (<http://stasis.me>) - I've built a framework on top of stasis and have been using it for months, as part of very large production sites, and it's been extremely stable and super easy to use.

All you need to do to get them working on heroku is include a super basic config.ru file, and you're all set. The files compile into a public folder which heroku uses to serve them.

<comment><USER18> What's the difference in using nanoc to do that?

<comment><USER19> I am the creator of Stasis. Compare the sheer length of docs for nanoc (<http://nanoc.stoneship.org/docs>) to those of Stasis (<http://stasis.me>), and keep in mind that Stasis can do anything that Nanoc does.

<comment><USER20> This is not the case, not by far. nanoc is aimed at building complex sites and hence has a lot more features than Stasis. Some examples:

\- Items can contain arbitrary metadata in nanoc

\- You can trivially build multiple representations of a single item in nanoc (e.g. a PDF/txt/html representation of a single markdown file)

\- Dependency tracking in nanoc is fully automatic (no need to specify priorities)

\- Nanoc is easily extensible using custom filters, custom deployers, custom helpers and more

Statis and nanoc have a different audience. To me, Stasis seems to be aimed at simpler, smaller sites, while nanoc is aimed at much more featureful sites. It is a good thing to have a lot of documentation (nanoc is frequently cited as a good example of how documentation should be handled).

</comment></comment></comment></comment><comment><USER21> Nice, but what about a mail server on your custom domain? I think its not that easy according to this post anyway ... [http://xtargets.com/2010/10/04/using- gmail-for-email-on-a-he...](http://xtargets.com/2010/10/04/using-gmail-for- email-on-a-heroku-managed-domain/)

<comment><USER22> Adding MX records for gmail and adding A records / CNAMEs for Heroku are pretty much orthogonal. They shouldn't conflict with each other.

</comment></comment><comment><USER23> Another option is dotCloud's static service: <http://docs.dotcloud.com/services/static/>

      $ cat >>dotcloud.yml <<eof
      www:
        type: static
      $ dotcloud push myapp
      $ dotcloud url myapp.www

</comment><comment><USER24> Doing it with Sinatra w/ no routes and just using the public folder seems easier IMO but the php method another commenter mentioned sounds like the best! I'll be doing that from now on methinks.

</comment><comment> philipp-spiess There is a more easy way: Just name your index.html to index.php and you can use a full featured Apache Webserver.

</comment><comment><USER25> Loading the entire file into memory first seems like an antipattern. Doesn't Rack support lazy evaluation?

</comment><comment><USER26> Sounds like an anti-pattern to me. That said, I do host some static sites on heroku.

</comment><comment><USER27> $35/month for a static site? seems like overkill, no?

</comment><comment><USER28> I use toto to host my blog on heroku.</comment>


Depression is increasing among Americans reaching middle age - <AUTHOR> https://www.economist.com/democracy-in-america/2019/05/15/depression-is-increasing-among-americans-reaching-middle-age <comment><USER2> When the economy and population were properly booming, pretty much everyone had a decent change of getting promoted and building a strong career. If your office had 10 people today and 100 in a decade, odds are good that every one of the original ten made it into manager.

We still build career expectations around this model, but it's mostly not true anymore. If you start in the mail room today, you'll retire from the mail room. Actually, you won't even retire, because mail handling is going to get outsourced.

<comment><USER3> You'll be fired from the mail room, but you'll be eligible to apply to be a subcontractor with Mail Room Supply, Inc. As a subcontractor, you'll be eligible for the standard hourly rate of $9 and you'll have the freedom to arrange for your own healthcare, own payment of all contractor taxes, and own retirement. You're also required to purchase your own Mail Room Supply, Inc. uniforms, but there's an easy payment plan for those that cannot afford them. Conveniently, your assigned work location at Mail Room Supply, Inc. will be in the basement of Acme Corp., where you used to work. (Work location not guaranteed.)

<comment><USER4> You'll also be fined for failing to deliver on the contract if you take time off due to sickness. You'll be sent home without pay when conditions find the mail room short on mail, but you are required to be available for work the rest of the day, just in case the delivery was late.

You'll be repeatedly told how much more convenient this is for you.

<comment><USER5> America: land of the free (of worker rights)...

</comment></comment></comment></comment><comment><USER6> Is it increasing, or is it being identified more often? I have teenage and early 20s age children. They and all of their peers have been diagnosed with anxiety, depression, and a host of other mental illnesses. When I was growing up I can't remember any kids in my high school (I had a graduation class of 900+ students) being diagnosed with any sort of mental illness. I've wondered if the frequency with which people are experiencing mental illness has increased, or if the rates have remained stable but diagnosis and reporting levels have improved.

<comment><USER7> If anything, shouldn't that result in decreasing suicide rates? Either that or treatment is worsening health outcomes. This would be extremely troubling.

I tend to think that depression is both on the rise, and historically under- treated. In fact, it's most likely still under-treated. I'm neutral on the efficacy of treatment.

<comment><USER8> Doctors are frequently prescribing SSRIs where no study has shown them more effective for that indication than placebo.

Many doctors still believe the "correcting neurotransmitter imbalance" theory of SSRI action which appears to be on its way to being disproved.

<comment><USER9> As someone who took SSRIs for 2 years this is a bullshit statement. They allowed me to feel something other than only depression and anxiety which allowed me to improve myself over time.

Please do not spread such misinformation without anything other than opinion.

<comment><USER8> There is a theory floating around that part of the benefit of SSRIs is that they make the user feel differently, and by feeling different it is easier to change behavior. This is independent from whether the way SSRIs make the user feel is a more adaptive state to remain in continuously over long periods. If this is true, the "therapeutic delta" would wear off as user acclimates to that SSRIs effects.

SSRIs can cause unpleasant and even dangerous withdrawal symptoms when discontinuing long-term use, so there are real benefits to minimizing overprescription.

</comment></comment></comment></comment></comment><comment><USER10> 'poorly educated white men' hitting middle age in past years typically lived in a warm bath of feel good US TV BS. In our current era television and social media are very abrasive and aggressive. Matt Taibbi's forthcoming book Hate Inc is very good on this. I wonder whether the corrosive effective of this is an element in the mass depression claimed by the Economist. Chris Hedges and Taibbi discuss on RT [https://youtu.be/8_vla4l-AX8](https://youtu.be/8_vla4l-AX8)

<comment><USER11> For sure media has a big impact.

<comment><USER12> Most Americans are obese or overweight and 40% of Americans wouldn't be able to scrap together $400 in an emergency. Suffering from one or both of those conditions at middle age would be good cause for situational depression.

<comment><USER13> Obesity rates in the US are at about 30%, which I don't think counts as "most".

[https://www.stateofobesity.org/adult- obesity/](https://www.stateofobesity.org/adult-obesity/)

<comment><USER14> The majority are obese _or_ overweight. The GP comment forgot the second half of the formulation.

<comment><USER11> 60% are overweight or obese, which is the majority. Clearly we can survive on less.

<comment><USER14> It's now reached the two thirds mark (67%) in some countries, including the US. This is the case in my own country of Australia where it's roughly one third normal weight, one third overweight and one third obese. [1]

[1] [https://www.abs.gov.au/ausstats/abs@.nsf/Lookup/by%20Subject...](https://www.abs.gov.au/ausstats/abs@.nsf/Lookup/by%20Subject/4364.0.55.001~2017-18~Main%20Features~Key%20Findings~1)

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> While my heart empathizes with the anti-consumerist and fear of the end of the world sentiments expressed on this thread, I wonder if it is the loneliness issue that keeps being cited in many modern studies.

I think I could have easily been on this path to misery, but then I formed a soccer team that plays once a week. We play and then go out for beers. The whole team has bonded. I cannot tell you how much a difference it has made in my life. The joy I get from playing together and then hanging out afterwards is immeasurable.

I have people in my close circle, even my significant other, who feels like they have limited social interactions. The rise of social media, lack of group activities, the rise of suicide, social isolation, blah blah blah, you can fill in the rest.

I am very scared for our collective future but I cannot emphasize enough how important this small social activity of playing a sport together with people I have come to really like has given me purpose and joy that made an enormous difference in my life.

<comment><USER16> Agreed. Just being in the presence and interacting with other people can often help me on my worse days. Even somethig as simple as interacting with a waitress or a cashier at a fast food restaurant. It's something we're losing at a rapid rate, and it sucks.

This lack of face to face communication also hurts us in other ways too. I've an 11 year old cousin who's had a phone since he was 8. He can't understand tone and jokes, and unless it's obviously meant to be funny, he'll often come back with a really rude remark about something too. He just doesn't understand empathy or how to interpret jokes because he spends all his time watching YouTube...

<comment><USER17> What makes YouTube different than TV, which many of our parents watched as kids? TV used to be a babysitter, too, for the previous generation.

<comment><USER18> YouTubers often have a very distinct artificial sort of personality that kids try to emulate. This is especially bad if you ever watch Logan Paul type videos and it's basically a bunch of antisocial behavior under the guise of having fun and playing jokes. They're also universally loud and abrasive.

<comment><USER19> Television has similar problems (weird personalities), so while I agree with you on the troubling personality types I don't see how it is materially different.

</comment></comment></comment></comment></comment><comment><USER20> When I was young I used to laugh at the middle-agers living dull lives. Not anymore, the joke's on me.

<comment> house9-2 > I grow up too slow, I don't wanna go

> But those I loved so much they underwent this change

> They're working fourty hours they got caught in the game

> But now I'm working just like everyone else

> But I'll get out

> I'll get out of here

\- Operation Ivy: Junkie's Running Dry

</comment></comment><comment><USER21> Wait, 40 counts as middle aged? I guess I'm middle aged. Now THAT is truly depressing.

<comment><USER22> The generally accepted definition of middle age is 45 years old; and young adulthood ends at 40, which gives you five years to adjust I guess!

<comment><USER17> I thought that I became middle aged when I turned 35.

I refer to myself as middle aged when talking to people (e.g., "I'm middle aged but single"). I have even mentioned getting getting screened for cancer now that I'm middle aged to my doctor and he didn't disagree or say anything.

Are you sure middle age starts at 45?

<comment><USER23> 45 is much too late for the average human. The average human has a life expectancy of 79 years.

<comment><USER24> That's not really relevant, as middle age doesn't actually mean "in the middle of one's life expectancy".

"Middle" is just the etymology, the intended meaning is "somewhere between young man 18 to 40-something and old person (60-65+)" (childhood being its own thing).

middle age, noun: the period after early adulthood and before old age, about 45 to 65.

</comment></comment></comment></comment></comment><comment><USER25> Maybe something to do with diagnosis means more money selling Pharma drugs? Or is that too cynical?

<comment><USER7> No, but it's not just diagnosis. There's a troubling tend towards rising suicide rates. This is especially true among middle aged poor whites.

<comment><USER24> Well, there's also a declining middle class -- middle aged poor people that used to be predominantly white middle class.

<comment><USER26> Both middle class (35k-100k income) and the poor groups are shrinking as a percentage of the population. Mobility is upwards, not down.

<comment><USER24> I think the main mobility is down, it's just that the measurements are antiquated, and the "inflation adjusted" income brackets defining various groups (or the "subsistence spending multiplier" metric and such) don't take other things into consideration, like the skyrocketing costs of now basic services, healthcare, education, housing, and so on.

It's the same games played with unemployed, where people who have given up trying to find work for a few years, or had some temp gig, are magically discounted from the unemployed statistics.

<comment><USER26> The raw numbers don't lie. Both brackets (0-35k and 35k-100k) have been shrinking as a percetage of the population, with 100k+ growing.

</comment></comment></comment></comment></comment></comment><comment><USER27> It's almost as if a few decades of being told that mental health is for wusses and making it exceedingly expensive due to crappy health care is paying off with a bang.

Not to mention that middle aged people at this point are firmly in the generation that the media has literally been ignoring for a very long time. At the same time, that generation is taking care of the two generations that always do get all the attention (their kids and their parents).

</comment><comment><USER28> Presumably this tracks economic and social status closely, and perhaps the meeting (or not) of traditional American life goals; marriage, kids, house, safety, economic security, etc

In that case, an increase would not be surprising. Many people are simply falling through the cracks, or are a decade or two behind where prior generations were by the same age.

</comment><comment><USER29> You just described the doomer

>25 year old

>Kinda given up on girls.

>Realized videogames is a waste of time watches YouTube instead

>Waits for societal collapse

>Does a lot of weed, knows he needs to stop. He doesn't.

History of the meme: started in 2018 September but the underlying cause is as old as time (depression and anxiety)

</comment><comment><USER30> [https://outline.com/V5JWbk](https://outline.com/V5JWbk)

</comment><comment><USER31> Ah, but we maximized profit extraction from those units!

Also, remember that old millenials are pushing middle age (late 30's). Their mortgages have been used to fund a bunch of boomer retirements, they can't afford to see a doctor, they watch a lucky few (including many readers here) collect a huge chunk of the output of human labor, and they were left a dying world where the thought we might literally see the collapse of civilisation is not completely outlandish.

I mean, hell, I'm not diagnosed but I've had points where I'm pretty fucking depressed. I'm trying to check out of the system (cheap house, no commute, etc.) because it seems purpose-built to make other people happy. but I still worry my kid will need to learn to shoot, trap, grow, organize, and hide in order to get by in the world we're leaving her.

Maybe people feel depressed because the world is depressing?

<comment><USER32> The world is depressing? That's obviously subjective. There's nothing special about me or my circumstances and the only way I can label the world as depressing is if I choose to see it that way, consciously or not. A lot of what you outlined above is purely your mind fucking with itself, because those things, quite literally, are not reality. By no means do I think it is an entirely fruitless endeavor to consider the future, but anyone who lets that lead them into anything negative - nevermind life altering - has themselves to blame.

<comment><USER33> Why? When my parents were working, a simple factory job by one person in the family unit was enough to get them a house. Nowadays, professionals don't have health insurance, they have a failing justice system, they have high crime and low paying jobs.

Today the American Dream is impossible to attain for, I'd say, the majority of people.

<comment><USER34> > When my parents were working, a simple factory job by one person in the > family unit was enough to get them a house.

It may be that it was just a complete anomaly - in human history, it was never possible to achieve this, barring a couple of decades in one country (USA). And after it, even in the US, things got back to normal. It may be that your parents' generation was the luckiest generation in history.

<comment><USER35> It's still totally possible to achieve this (at least in the US, and likely the world), but as a society we've decided it's more important that the top x% get a larger share of the pie than they did in those "couple of decades".

<comment><USER36> We didn't decide anything. Globalization happened because the same technology the US deployed to raise their standard of living (from the industrial revolution on) eventually ended up distributed to the rest of the world. Now everyone competes with each other and the US has been normalized. Post WWII USA was definitely an anomaly that won't be happening again anytime soon. That's probably a good thing since it was built on the back of the destruction of most of the rest of the first world.

<comment><USER31> There's tons and tons of space that we could build affordable homes on. I don't mean token "affordable housing" that distracts so many people, I mean "10,000 people want to live here, so let the market build 10,000 apartments".

Instead, we let a housing cartel (boomers) forbid any new homes.

<comment><USER36> This thread is about being able to buy a single family home on a single income. There's a lot more to that than zoning issues.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER37> Y'all need to read Enlightenment Now by Steven Pinker.

Life is better than it ever has been, and there's an embarrassing amount of data backing up that claim.

We're depressed because our brains didn't evolve to live in this kind of society, but that doesn't mean our civilization is falling apart.

<comment><USER38> I like Pinker, but his utility function is egregiously broken here. This sort of Panglossian thing is typical of the smug upper middle classes in the West who look at the lower orders in their own societies as being morally defective somehow; downstream fallout of the ideology of "meritocracy." It's a tale of the hero-bureaucrat; a very questionable story indeed -most of the actual progress we've experienced in recent years is made possible a handful of individuals, just as it has always been. Aka no fracking, no green revolution: things would look a lot different.

If you're a descendant of an American factory worker, or one of the Gilets Jaunes who can't afford to have a normal life like your parents did, you really don't give a shit that many people in Asia have much better lives now, or that childhood immunizations are so much better. Worse, one ought to be suspicious of shrinking metrics collected by bureaucracies whose definition of success is shrinking metrics.</comment></comment>


One of the keys to stunning product photos that sell: proper lighting - <AUTHOR> https://clippingpathindia.com/blogs/tips/a-product-photographer-s-guide-to-lighting-for-photoshoots <comment><USER2> improper lighting: [https://www.dipaola.org/stanford/facial/expressionspix/22sur...](https://www.dipaola.org/stanford/facial/expressionspix/22surpriselinc.jpg)</comment>


What is all the fuss about how you can write DSLs in Lisp? - <AUTHOR> http://list.cs.brown.edu/pipermail/plt-scheme/2007-June/018753.html

<comment><USER2> Good post. If you find this interesting, check out Shriram Krishnamurthi's talk "Swine Before Perl" ([http://www.cs.brown.edu/~sk/Publications/Talks/SwineBeforePe...](http://www.cs.brown.edu/~sk/Publications/Talks/SwineBeforePerl/)) and/or the linked textbook.</comment>


Show HN: Tacopie, lightweight multi-platform C++11 TCP library - <AUTHOR> https://github.com/Cylix/tacopie <comment><USER2> A little bit of feedback about the overview based on lots of experience with similar libraries:

\- The library seems to mix synchronous operations (connect) and asynchronous ones (read/write). Stick to one, everything else doesn't make sense.

\- It isn't documented on which thread callbacks are actually executed. It can't be a user-visible eventloop since the user never starts one. So it's probably an eventloop on a background thread. Based on the -DIO_SERVICE_NB_WORKERS=1 variable it might even be multiple background threads. From my experience the majority of users won't expect that and will inevitably run into ugly synchronization problems. Even for those who expect it proper synchronization will be hard to add if operations start and finish on different threads (and sometimes the same threads). I would recommend to stay at a pure singlethreaded eventloop model if asynchronous APIs are the design goal. Even in super-mature libraries like boost asio a mixed use of multithreaded and async operations causes headaches and is far more likely to show implementation bugs.

\- Things like read don't accept a buffer as input into which the read should happen but only a size. The buffer is allocated by the library. This is convenient as far as it doesn't force the caller to guarantee that the buffer outlives the operation. But it will cause a lot of memory churn, which is in my experience of the most typical reasons of performance degradation.

\- const std::list<std::shared_ptr<tacopie::tcp_client> >& tacopie::tcp_server::get_clients() const : Returning a reference to a non- synchronized list in a multithreaded environment seems inevitably broken.

<comment><AUTHOR> Wow, thanks a lot for your feedback, I really do appreciate a lot!

for sync/async, that's a good point. I was not sure about how to design it at the beginning and went for simplicity, but having a consistent behavior makes sense. Probably having a default connect that is async as the read/write operations, as well as another sync_connect method would make the library more consistent with the choice of both options.

I have for plan to add more documentation concerning the io service. There is one thread for the event loop, and then IO_SERVICE_NB_WORKERS threads working in a thread pool to process the read and write events polled from the event loop.

Good point for the read buffer, will add the option to specify one

Good point too for the get_clients()!

Thanks again, will have some work to implement these changes, but that's worth it :)

</comment></comment><comment><USER3> A suggestion: wrap the bulk of content in platform-specific .cpp files, with pre-processor guards that'll check for platform. This should allow the library to be imported into other projects, simply by importing all .cpp files, and adding a path for header-includes. With that done, adding support for extra build systems becomes an optional, albeit nice-to-have addition, but by no means required.

<comment><AUTHOR> Hi,

Interesting, haven't thought about that, will probably make that small change in the future on this lib and some others of my libs

Thanks!</comment></comment>


Ryan Bates launches RailsCasts Pro - <AUTHOR> http://railscasts.com/pro <comment><USER2> RailsCast is an amazing service and I don't know if I could've ever learned Rails (and the RoR ecosystem) without it. Definitely a service worth paying for. I'm glad he's keeping the free episodes because it would be a shame if newbies shied away from trying it out because episodes were no longer free.

</comment><comment><USER3> I think I'm going to subscribe just to say thanks for all his previous efforts.

<comment><USER4> I just subscribed to show support, too. There's no doubt that I'll get $9 worth of benefit out of the Pro screencasts and updates.

The amazing thing about RailsCasts are how great they are at helping developers through sticking points. I can't count the number of times that I've gone straight to RailsCasts and looked for a tutorial on a particular gem or how to accomplish a certain task (nested forms, multiple edit, etc). It sure beats the alternative of Googling and Stack Overflowing for 2-3x the time.

<comment><USER5> And... How often have you watched a railsast on a particular subject, only to get an a-ha moment on something only marginally related? Happens to me every other episode.

</comment></comment></comment><comment><USER6> This is awesome but I'd rather pay $13 and have him split it with asciicasts

<comment><USER7> I am talking with Eifion to integrate ASCIIcasts more into RailsCasts. Keep an eye out for that.

<comment><USER8> Thanks for all your hard work over the years. It is truly, truly appreciated. I've watched so many Railscasts while learning Rails that my wife rolls her eyes when she hears the intro chimes.

</comment></comment></comment><comment><USER9> That was the easiest buying decision ever. Ryan, you are a mench. $9 a month for pro videos is a steal.

<comment><USER10> Railscasts is one of the first resources I recommend people who want to learn Rails.

I wouldn't have been able to learn Rails as quickly as I did without Railscasts.

$9 is really a steal :)

</comment></comment><comment><USER11> All I can say is... What took you so long Ryan?

</comment><comment><USER12> I think we're all here saying the same thing!

Railscasts are amazing - I always felt I should be paying something for them

</comment><comment><USER13> Now this is a service from someone who contributed to community a lot. Unlike that textmate debacle where people would pledge money for nothing, this is the real deal and it is very reasonable. I could see how this could cost more, but I can see how with this he will probably get good following, provide for Ryan resources to continue his work.

I will be happy to subscribe to such service and to add, I would subscribe just to say thanks for years of awesome content.

</comment><comment><USER14> I'm glad to see an outstandingly helpful member of the rails community earn income from what has been a mostly altruistic task that must take a lot of time every week.

</comment><comment><USER15> This feels like a response to destroyallsoftware.com. Which is AWESOME. I'm glad the "pro" market for screencasts is getting more attention.

<comment><USER16> They might be awesome, but unless you scroll down to the very bottom and notice a small note, you would think this a free service. I felt like being deceived and immediately closed the website after signup confirmation, when asked to enter credit card details.

I may have paid if I knew it upfront, but this kind of approach is so annoying, that I would prefer not to pay just because of that.

<comment><USER14> What are you talking about? The cost is shown in several areas of the page, and "pro" usually means the pay version.

<comment><USER17> I think hasanove is talking about destroyallsoftware.com, which is a pay site, but it's hard to tell from the landing page.

I also think it's the response (i.e., railscasts.com/pro) that is being called awesome in the root comment, even though the wording is somewhat ambiguous.

</comment></comment></comment></comment><comment><USER18> I'll definitely give this service a try. Does anyone know of any other premium rails screencast sites? I recall a link to a funny rails article on HN about a month ago that was created by a guy who does premium rails cast for $9/mo (the site has a really dark background). Wasn't able to dig that up after a weekend of searching.

<comment><USER19> There's Peepcode (<http://peepcode.com>), but you're probably referring to the excellent Destroy All Software! (<https://www.destroyallsoftware.com/screencasts>) screencasts.

</comment></comment><comment><USER20> RailsCasts gets recommended to beginners a lot but every time I go there I'm kind of overwhelmed and have no idea where to start. The archives go back to 2007 so starting at the beginning seems likely to cover outdated subjects now. On the front page I see Draper, Spork, Sorcery, Foreman, Pry... none of this means much to me.

Any suggestions on how to attack this for a relative newbie to rails?

<comment><USER21> I don't think Railscasts is a great _introduction_ to Rails, but certainly a resource that beginners can use. What I did was to work my way through the first parts of "Agile Web Development with Rails" to understand the structure of rails, then just try to build stuff.

Whenever I had a question or felt somebody should have automated whatever I was doing, I would search Railscasts. I needed PDF generation, so I would search for PDF and compare my options.

When you have some experience with current Rails (say, 3.1), actively following new Railscasts is interesting to see what changed in 3.2, 3.3, 4.0, ...

</comment></comment><comment><USER22> I'm so glad to see the outpouring of users who are downright happy to pay for this service. Ryan: you should add a payment option that lets people pay more than $9 per month. Let us specify the amount. I'd gladly pay more if it meant you could spend more time producing content.

</comment><comment><USER23> I kind of saw this coming when I got an email from Ryan that he is cutting down on moderators for Railscasts. I was one of the lazy ones :(

Anyways, I'm going to subscribe not just for future episodes but for all those episodes from which I've gained immense knowledge.

</comment><comment><USER24> I would guess Ryan used <https://stripe.com> to set up reoccurring billing for Pro.

So will we be seeing an episode or maybe an advanced episode on how Ryan set up reoccurring billing for Railscasts?

<comment><USER25> Check out this tutorial on stripe. It has a pretty clear step by step instructions on how to get it work with Ruby.

In fact, only slight modification needed to make it work with Rails. But, if you are interested, I can write a blog post about it.

<comment><USER8> Which tutorial are you referring to? I need that!

</comment></comment></comment><comment><USER26> Good for Ryan, this is a great way for him to monetize an already awesome service.

</comment><comment><USER27> RailsCasts is awesome, I owe so much more then $9 per month to it.

But here in China, many young students will still think it is too much...bad bad bad, anybody can do a less pro one, and make it free?

</comment><comment><USER28> For some reason, RailsCasts.com is not loading up at all for me. Am I the only one seeing this? If it helps, I am using Chrome 14.0.835.186 on a Mac OSX Snow Leopard.

<comment><USER29> Down for everyone. I think RailsCasts is hosted on Linode and HurricaneElectric is having issues currently.

<comment><USER8> Back up now.

</comment></comment></comment><comment><USER12> US-only billing arrghhh

<comment><USER7> If you are having trouble subscribing, please let me know. firstname.lastname@example.com

Also, PayPal support will be coming soon which should make signup easier for international.

</comment></comment><comment><USER23> I wonder why Ryan is not blocking access to the source code for pro screencasts on github. Other pro screencasts such as peepcode protect the source code as well.

<comment><USER7> I want to keep the experience the same as possible with the free episodes without losing any conveniences such as browsing the source code. If one finds the source code interesting, hopefully he will subscribe to watch the video too.

</comment></comment><comment><USER30> Honestly, I wish he would charge more. I've gained so much value from this over the years that I would gladly pay a much higher monthly fee.

<comment><USER31> Heh.. such comments. You know you can just go ahead and donate Ryan money. Which is what many Rails devs did in the past anyway..

<comment><USER30> Who says I haven't? All I'm saying is I wish he'd charge more. He would get more money overall from the people who would not have thought to do such a thing :)

</comment></comment></comment><comment><USER32> Railscasts are cool, but if you want something more advanced, I cannot recommend destroyallsoftware.com enough

</comment><comment><USER33> Just got my Pro account-- no brainer.

</comment><comment><USER34> Rails 3.x jumped the shark. It is getting too complicated for anyone new to come on easily. This is the reason that Scala, Clojure, Haskell, etc. will fail, too- complexity. I'm not a PhP guy, but it isn't hard to see why it is still wildly popular. Make it easy enough, and fun to use, and it will take hold.

So while he may make money on Rails geeks that continue on and with those that want to learn, there are fewer that are coming on and will come on now then there were.

If you like Rails, listen to Ryan. I've been doing RoR a while and really, really appreciate the Railscasts (and the Asciicasts of his Railscasts- thanks Eifion!). But if you are looking for a long-term framework to stand by, keep looking.

<comment><USER35> What web development frameworks would you recommend then if everything from RoR to Scala is too complex to survive the test of time?

<comment><USER36> If you want something simple then Sinatra, Flask, or Perl Dancer</comment></comment></comment>


Salix Ratpoison 13.37beta1 - A mouseless Linux desktop distro - <AUTHOR> http://www.salixos.org/forum/viewtopic.php?f=17&t=2365

<comment><AUTHOR> For those wondering what is meant by Antidesktop in this context: <http://freshmeat.net/articles/the-antidesktop>

I got pretty far down this path a few years ago with ruby-wmii & a careful selection of keyboard-driven apps including Vimperator for Firefox.

Then someone gave me a Macbook!</comment>


Cities are taking space away from cars to cut pollution - <AUTHOR> https://www.fastcompany.com/90321627/these-8-cities-are-taking-bold-steps-to-get-rid-of-cars <comment><USER2> Actual title: "These 8 cities are taking bold steps to get rid of cars"

As we're seeing in the Bay Area, making car-hostile changes can _increase_ emissions. For example, reducing parking doesn't cut demand, just supply, so cars end up "circling" an area awaiting a space to open up. Driver-only trips need to be attacked from the _demand_ side, not the supply side.</comment>


Help U.S. kickstart fundamental reform - <AUTHOR> https://mayone.us/

<comment><USER2> Like many of my peers, I am extremely jaded about the possibility of successful political reform. That said, I think Lawrence Lessig is one of the very few people trying to attack the problem at its core. I love this idea, it's like using the political system's own tools to hack itself. Pledged.

</comment><comment><USER3> Wow, why hasn't this been upvoted to death by now? :(</comment>


Judge tosses Wikimedia's anti-NSA lawsuit because Wikipedia isn't big enough - <AUTHOR> http://arstechnica.com/tech-policy/2015/10/judge-tosses-wikimedias-anti-nsa-lawsuit-because-wikipedia-isnt-big-enough/ <comment><USER2> This same case involved, in addition to Wikimedia, the National Association of Criminal Defense Lawyers, Amnesty International, Human Rights Watch, PEN American Center (a writers group), Global Fund for Women, The Nation Magazine, The Rutherford Institute, and the Washington Office on Latin America (a social justice group).

With all those groups, with all that's at stake, the decision essentially reads that no matter how much traffic they can't use statistical likelihood to overcome the bar to standing created by Clapper v. Amnesty.

In the end, this means the NSA will never have to face overview as long as they don't tell anyone what they are doing. If we can't in court say they are definitely capturing someones traffic, they can't even use the courts to conduct discovery on what is happening.

</comment><comment><USER3> I nominate this for 'bullshit headline of the month' award. The legal reporting is good, the headline is asinine nonsense.</comment>


Why Chart Junk is More Useful than Plain Graphs - <AUTHOR> http://infosthetics.com/archives/2010/04/why_chart_junk_is_useful.html

<comment><USER2> Wait a minute. Tufte doesn't like the plain graph either. He wants you to maximize data ink, to plot more than a single series of data, to be as multidimensional as possible. He wants you to be able to synthesize lots of different stories out of the image, including ideas that weren't even evident to the author of the image.

Put a cute bunny picture on top of 10 line graphs, and keep the other 10 totally bare, and the bunny graphs will be more memorable. Does that mean we should be putting bunnies on our infographics?</comment>


Apple's iPhone sales in surprise drop - <AUTHOR> http://www.bbc.com/news/business-39786961 <comment><USER2> is this due to high prices and stupidy features

<comment><USER3> From the article: > Apple boss Tim Cook blamed a "pause" as customers wait for the next iPhone.

<comment><USER4> Which means the iPhone 7 wasn't enticing enough to lure people to buy it</comment></comment></comment>


CSC 103 Lecture Notes Week 1 - <AUTHOR> http://users.csc.calpoly.edu/~gfisher/classes/103/lectures/week1.html <comment><USER2> I think the table in IX is wrong about log^2(x) being the same as log(log(x)). For me, and my impression is for many others, log^2(x) means log(x)log(x).

<comment><USER3> I agree that log^2(x) is more commonly used to refer to log(x)log(x) than log(log(x)), though I've seen it both ways (I think its somewhat dependent on the conventions of the field). That said, the notation is both ambiguous and non-sensical (you're not squaring the operator...), and at least in my opinion, should be avoided in favor of the less ambiguous (log(x))^k

Gauss actually had some choice words about the notationally similar sin^2(x): "Sin2 φ is odious to me, even though Laplace made use of it; should it be feared that sin2 φ might become ambiguous, which would perhaps never occur, or at most very rarely when speaking of sin(φ2), well then, let us write (sin φ)2, but not sin2 φ, which by analogy should signify sin (sin φ)"

<comment><USER4> Using log^2(x) to denote log(log(x)) is far from nonsensical. It makes sense when keeping in mind the fact that function composition is an operation on functions much like addition and multiplication. For example, we can write f(f(x)) = (f∘f)(x) = f^2(x) f(f(f(x))) = (f∘(f∘f))(x) = (f∘f∘f)(x) an so on. We can see that when composing a function with itself many times it is much easier to write f^n(x) than the alternative.

Using log^2(x) to mean (log(x))^2 is a shortcut that typesetters took in order to save time and is not as widely used in mathematics.

<comment><USER3> I agree with you. I only meant to refer to the (log(x))^2 case as nonsensical, though I think my wording was ambiguous. I understand its a hort-cut but it doesn't make mathematical sense as a notation. I think it makes more in the log(log(x)) case, for the same reasons you've pointed out. Though, at least in my experience in my field (theoretical CS), I see it used as (log(x))^2 far more often than log(log(x)).

<comment><USER2> Yes, log^2(x) seems almost always to be used to mean [log(x)]^2 in the routing theory papers I tend to read.

I agree with you though that using log^2(x) for [log(x)]^2 is horridly ambiguous notation that should be avoided! (Which reminds me, I should go and check my thesis for this ;) ).

</comment></comment></comment></comment></comment><comment><USER5> I was at poly when they switched the CSC program from c++ to java, had been secretly hoping they switched back. Oh well :-) good to see poly getting some HN love.</comment>


Usable Live Programming - <AUTHOR> http://research.microsoft.com/en-us/people/smcdirm/liveprogramming.aspx?2

<comment><USER2> Shameless plug: though unrelated to the article, for the past few days I've been working on live reload for React components.

As you edit JSX files, after a small delay, components re-render in browser, using React's diff algorithm to reconcile DOM. This means their state is not destroyed. For example, you can live-edit a modal window without having to refresh and open it again. You can change event handlers and debug a complex component on the fly.

There are no browser plugins involved, it's all just JS. This is implemented on top of Webpack, if you want to give it a try, check it out! (I assume familiarity with Webpack, but I plan to write an explanatory blogpost later.)

I'm very excited about this because I think it's the future of front-end development. It is possible thanks to React's separation of side-effects and Webpack's powerful plugin system (loaders are essentially macros).

Project on Github: [https://github.com/gaearon/react-hot- loader](https://github.com/gaearon/react-hot-loader) (contains an example you can run)

Demo video: [http://vimeo.com/m/100010922](http://vimeo.com/m/100010922)

<comment><USER3> Thanks for this shameless plug! Webpack happens to be next on my list of frontend builders to try (hoping that it's less bug-ridden than Browserify and less hassle than Grunt or Gulp). If it works like it says on the tin, I'll probably be an early adopter of your hot loader.

<comment><USER2> Webpack is totally awesome. It's not as documented as I wish it was but @sokra (Tobias) is an insanely clever person. A few months ago I dismissed it in favor of Browserify, but after really getting to know Webpack, Browserify is nowhere close.

<comment><USER3> Interesting. Why did you move over from Browserify? From a first glance, the featureset seems comparable, and Browserify sure has more hype behind it.

<comment><USER2> A lot of reasons actually.

* Webpack isn't religious and plays well with CommonJS, AMD, whatever. We almost didn't have to change the code when ported from RequireJS.

* Browserify's "all in one bundle" approach is precisely what we wanted to get away from, because our codebase grew like crazy. Webpack supports [code splitting][1] which allowed us to cut initial JS by half.

* As Pete Hunt said on some thread I can't find now, Browserify doesn't bring anything really new to the table. Webpack, on the other hand, brings "loaders" (first-class support for applying cacheable transformations as a build step for module). While they are not documented very well[2], they allow insane extensibility. They can be used for anything, from declarative code splitting with require() returning a promise[3], to compiling LESS[4], to bundling CSS as a JS dependency[5], to running JSHint[6].

* Hot Module Replacement gives each module an API to declare how it reacts to its dependencies being updated[7]. Loaders can use this API too, e.g. `style-loader` uses HMR to replace stylesheet without reloading the page[8], so you don't need to write extra code.

The biggest downside right now is the documentation being too technical. In the long run though, I believe Webpack will get more popular once its docs are improved, because it's just crazy powerful and extensible.

[1]: [https://github.com/webpack/docs/wiki/code- splitting](https://github.com/webpack/docs/wiki/code-splitting)

[2]: [https://github.com/webpack/webpack/issues/360](https://github.com/webpack/webpack/issues/360)

[3]: [https://github.com/gaearon/promise- loader](https://github.com/gaearon/promise-loader)

[4]: [https://github.com/webpack/less-loader](https://github.com/webpack/less- loader)

[5]: [https://www.npmjs.org/package/style- loader](https://www.npmjs.org/package/style-loader)

[6]: [https://github.com/webpack/jshint- loader](https://github.com/webpack/jshint-loader)

[7]: [http://webpack.github.io/docs/hot-module-replacement-with- we...](http://webpack.github.io/docs/hot-module-replacement-with-webpack.html)

[8]: [https://github.com/webpack/docs/wiki/hot-module- replacement](https://github.com/webpack/docs/wiki/hot-module-replacement)

<comment><USER3> Great, thanks for the braindump!

<comment><USER2> Update: if you're interested, I blogged about how this works and how to integrate live reload in your project: [http://gaearon.github.io/react-hot- loader/](http://gaearon.github.io/react-hot-loader/)

</comment></comment></comment></comment></comment></comment></comment><comment><USER4> I am not a big fan of "immediate feedback" in coding (such as instant compilation). I find it distracting.

What I think I would appreciate more than "live" values of variables etc. would be integration of some statistics into IDE. For example, how often was this function called? What is the usual value of this parameter? What is the mean/modus value? What are the outliers? How often was this condition true? And so on.

<comment><USER5> The immediate feedback is useless by itself (according to the essay); what is useful is the ability to debug in real time.

What you want is some more advanced logging facility, which is completely possible (e.g. Graphs over time in playground); I don't think logging should be limited to just lines of text (an intern is working on log-driven relation graphs).

<comment><USER4> I am not sure how is that going to scale for bigger programs. In simple cases, I can model behavior of the program in my head, in more complicated cases, without aggregation, there will be too much data to make sense of it anyway. I think the aggregation of the statistical data is the crucial thing here.

Anyway, good that someone is playing with this.

<comment><USER5> The point of the abstractions presented in the essay is that they are under the programmer's control (write code to debug code isn't that new), so they only see as much as they want to. This is in contrast to automatic methods that show everything and are too noisy.

Scaling will perhaps come with time, by which I mean managed time. It is a nice goal for next gen languages.

<comment><USER6> What do you think of the work that Philip Guo [0] is doing? Specifically the youtube video.

[0] [https://news.ycombinator.com/item?id=8002839](https://news.ycombinator.com/item?id=8002839)

<comment><USER5> Philip has more of an educational focus, so more is shown to help then understand what is going on (also, see Bret Victor's Learnable Programming Essay). The work presented in this essay deals with enhancing the debugging experience for programmers who are already trained up.

</comment></comment></comment></comment></comment></comment><comment><USER7> The Glitch paper was discussed previously on HN and is very interesting:

[http://research.microsoft.com/pubs/211297/managedtime.pdf](http://research.microsoft.com/pubs/211297/managedtime.pdf)

It's great research. Near term applicability would be more useful to me as an IDE plugin that works with existing reactive frameworks. For instance, it turns out that the latest Java UI framework (JavaFX) has a reactive/lazy functional bindings framework in it. Every property of every UI widget can be connected to other properties or derived expressions of those properties. Of course Java itself has no support for this so it's all framework level stuff. An IDE plugin / embeddable DSL that understood these constructs and allowed for real-time debugging like in the videos would be useful indeed: whilst I love binding UI widgets to the backend data model with that framework, debugging it can be a total timesink.

<comment><USER5> It is not easy, or,perhaps even possible, to take reactive programming model A and combine it with reactive programming model B. E.g., the editor in this demo is written in C#/WPF via Glitch, WPF supports data binding to recompile expressions, but since this is what glitch is doing also (at a much more general level), we can't use it with data binding.

You could have glitch for an existing language, but it would look more like ReactJS for JavaScript.

</comment></comment><comment><USER6> I love this stuff. I'd love a heat map superimposed over the code that represents the range of the values and the likelihood or risks of sub expressions overflowing or underflowing.

I'd like to capture the execution flow of a method, visualize it and then watch those visualizations diverge from the old code to the new code.

The runtime could collect a minimal representative set of function invocations and then use that in a visualization during the edit,debug cycle one could see exactly how the new code diverges (kinda like having a column of inputs in a spreadsheet).

</comment><comment><USER8> Live coding is not a "new thing", both Smalltalk and Lisp , two of the oldest programming languages are live coding languages. I am using a modern Smalltalk implementation called Pharo.

[http://pharo.org/](http://pharo.org/)

When it comes to live coding, Pharo is "hardcore" , everything is live, direct , accessible and easily modifiable. Pharo is based on Squeak , which is based on Smalltalk-80 which is based on Smalltalk that means 45 years of live coding experience condensed in beatiful language, IDE and evironment. Pharo can already do all the things that the linked article tries to accomplish.

The end goal is provide a unified direct experience to the user, no delays, no complexities just what you want to do with your code.

So to anyone whos really interested to live coding, try Pharo or some modern implementation of Lisp. Even if you create your own live coding implementation it will give you a good idea how great live coding can be.

<comment><USER9> Self has also live coding features.

This is new for computer science in the same way the refrigerator is new for storing food

<comment><USER5> Neither Self nor Pharo have live programming features. The IDEs are live, the code is dead. You can manipulate objects directly at run-time, but none of that goes back into code.

It is time to move beyond Smalltalk and Self-style reduced liveness.

</comment></comment></comment><comment><USER10> reminds me of [http://vimeo.com/36579366](http://vimeo.com/36579366)

</comment><comment><USER11> Looks a lot like Apple's Playgroud for Swift.

<comment><USER5> Playground wasn't that big in 2013.</comment></comment>


Mozilla Firefox 3.5RC1 is out - <AUTHOR> http://www.mozilla.com/en-US/firefox/3.5/releasenotes/ <comment><USER3> It appears that all of the download links are still pointing to beta 4. Here is the link to RC 1: [http://www.mozilla.com/en- US/products/download.html?product=...](http://www.mozilla.com/en- US/products/download.html?product=firefox-3.5rc1&os=win&lang=en-US)

<comment><USER4> I just downloaded b4 and ran an update. Whatever works, I guess.

<comment><USER3> Oh, I wasn't aware that the betas would upgrade into the RCs - good to hear. Downloading the RC directly will save an update step though.

</comment></comment></comment><comment><USER5> I'm really excited to see Firefox 3.5 come out soon. I know Chrome 2 and Safari 4 have been out already, but with FF3.5 a really large slice of internet users are going to have a really fast, kickass modern browser.

I was testing my software (which is _really_ heavy on the javascript - <USER2> extensive use of Ext-js) with RC1 earlier today and it just flew. Feels damn near like a desktop app.

</comment><comment><USER6> At least on OS X, this is faster than Firefox has ever been for me in the last 2-3 months. Switched back to Firefox over Safari.

<comment><USER7> What about native-style widgets? Are they finally fixed? That's been my gripe with firefox since day 1, and the only thing still holding me back to Sarafi.

Although buttons look native-ish, dropdowns (from the <select> element) still look hideous. Check out the following bugs:

<https://bugzilla.mozilla.org/show_bug.cgi?id=402625> <https://bugzilla.mozilla.org/show_bug.cgi?id=430745>

</comment></comment><comment><USER8> Does firebug work with it yet? I'd love to start using 3.5, but can't afford to lose that.

<comment><USER9> Just apply these fixes and all plugins work with 3.5 beta:

[http://lifehacker.com/355973/make-your-extensions-work- with-...](http://lifehacker.com/355973/make-your-extensions-work-with-the- firefox-3-betasig2=aNErHcPbGASpWfnhbxNAeg)

</comment></comment><comment><USER10> Do they summarize anywhere what's improved between this and b4? The "What's New" section just lists the major new features of 3.5.

<comment><USER11> Is <https://developer.mozilla.org/En/Firefox_3.5_for_developers> what you had in mind?

<comment><USER10> Not exactly - I was looking for what they've specifically fixed between 3.5b4 and RC1. I suppose I could pull a Bugzilla report, but I was hoping for just a summary.

Thanks for the link, though - it's a good read.

</comment></comment></comment><comment><USER12> Are there any plans to refresh the appearance to better fit with Vista? It looks quite ugly, especially compared to Chrome (which does an excellent job of integrating well with the look of Vista -- quite surprising, coming from Google).

Tweaking the icon is nice and all, but what's the point if the browser itself looks bad?

</comment><comment><USER13> Okay, this is weird. When I hit the left shift key in this latest Firefox, my keyboard switches into Chinese mode. Check it out:

大山 <\-- awesome!

Actually, this is kind of inconvenient. I hit the shift key by accident more often than I'd realized.

</comment><comment><USER14> There was a 3.5b99 being pushed as an RC candidate, anyone know how this "b4" build fits into that progression?

<comment><USER15> beta 4 was the previous release. It seems that the download links have not been updated yet.

</comment></comment><comment><USER14> I noticed the Firefox icon changed a little bit in terms of its coloring, etc. Threw me off a bit.

<comment><USER16> You are right! Mozilla is reworking some details of the icon for 3.5 release.

Here is a post); with all the details . You can also see in the archives the evolution of the new icon refinements.

<comment><USER16> I'm an idiot :-) Here are the correct links

[http://blog.mozilla.com/faaborg/2009/06/18/the-new- firefox-i...](http://blog.mozilla.com/faaborg/2009/06/18/the-new-firefox- icon/)

[http://blog.mozilla.com/faaborg/2009/05/15/creative-brief- fo...](http://blog.mozilla.com/faaborg/2009/05/15/creative-brief-for-the-new- firefox-icon/)

</comment></comment></comment><comment><USER17> The web keeps moving forward

Unstoppable</comment>


OVH giving 10 000 servers for free to test new USA DC - <AUTHOR> http://www.ovh.co.uk/dedicated_servers/usa_order_beta.xml

<comment><AUTHOR> They giving 90 every day (Intel Core i3 2130 2x2(HT)x3.4+ GHz - 16 GB RAM, 2x1 TB HDD - 100Mbps).

Servers will be active till August for free to use.

1\. You need to follow their twitter account. 2\. Every day, different time, they say then.

Today it took 10 sec to take all 90 servers. So start trying 1-2 minutes before time they announce and you will get one.</comment>