Ask HN: my startup addresses a small market. How much of a problem is that? - <AUTHOR> Longtime HNer on a throwaway account.  I've just started work on a startup making a web app for a particular type of business.  (Sorry about the intentional vagueness.)  There's something like 5000 businesses of this type in the U.S.  With subscription billing, if the average customer is paying $25/month, I'm looking at a total market size of $1.5 million/year.  Granted, maybe there are additional apps I could build in the same domain, and other unknown sources of revenue, but I'm starting to worry about potential for growth.
Am I overthinking this?  Have any of you launched companies into markets of similar (or smaller) apparent size?  What problems am I going to run into, and what's the best way around them? <comment><USER2> You ever hear of a publication called Congressional Quarterly? Extremely niche market: people willing to pay out the ass for the best and fastest coverage of everything (and I mean _everything_ ) related to Capitol Hill. Government employees, contractors, lobbyists, and oh, you know, 95% of Congress because they're just that good.

They offer a large number of even smaller niche services; you're sort of expected to make your own bundle of subscriptions that apply to you. But as you may guess by their name, their flagship publication is the quarterly one. Yeah, their big moneymaker is published just four times a year.

You know how much CQ charges for their services? Hint: this is their subscription page: <http://corporate.cqrollcall.com/wmspage.cfm?parm1=79> Yes, that's like 30 different phone numbers you're looking at. No, they don't let you subscribe online.

When that happens, you're either dealing with someone living in the stone age or a hyper-niche publication that _everybody who's anybody_ in the world of Federal politics subscribes to, despite its absurd pricetag (e.g., four figures for a one-year sub to just Quarterly). That subscription isn't a status symbol, it's a necessity. Their livelihood depends on the information Congressional Quarterly provides.

It doesn't matter how small your market is. If your product is only of value to a slight fraction of the population, then make it so good they can't live without it. And charge out the ass for it.

<comment><USER3> A similar example is Forrester Research, which charges $1750 for most of their ~10 page PDF reports.

</comment></comment><comment><USER4> If your count of the number of businesses there are is accurate, than that sounds like a very small number of potential customers. How are you going to address them all? Unless they have a website where they all hang out to talk shop, you'll have to spend money to get to them, and $25 a month does not permit all that much of a marketing spend.

I sell bingo cards to elementary schoolteachers. The idea strikes most people as pretty niche. I once estimated the total addressable market at 2,000, which turned out to be severely understating the number. (Using Twitter accounting I have over 200k users.) If I had acted upon that estimate, I probably would have shut the business prior to starting and never learned I could sell to a multiple of that.

It is highly likely that you are underpricing the service at $25 per month, particularly if it creates revenue or provably decreases costs for the business involved. That is a fraction of what an ad in the Yellow Pages costs, for example. (They cost enough to have pricey sales reps pitch them directly to customers.)

There is always the option of using the revenue/experience/etc you get from this app and using it to power your next adventure, by the way. If you're intimately connected to this problem domain and will have far and away the best solution for it, and can't see a path to more than $100k revenue per year... oh well? Try it, learn a little, apply your lessons to attacking the next problem.

</comment><comment><USER5> I have a SaaS app, but in a larger (and crowded) market.

First of all, I don't think you should charge $25 per month. A company of 10 people spends more than $25 per month on toilet paper! If you're in a market where your customers are cheap or have no money (or both) they may actually be unwilling to pay more than $25 a month. In which case you should ask yourself why you're entering a market where your customers have no money and no desire to spend the little money they have?

You're in software! Software is used in every single company in every country in the world. In planes and cars, in phones and toasters. You could be building _anything_. You could be saving companies millions of dollars with 12 lines of clever Perl code!

But I digress.

\- the rule of thumb is that you should charge high prices in small markets and low prices in huge markets. You need a good reason to deviate from the common sense route.

\- you generally don't need to worry about total market size. Worry instead about reaching potential customers in the first place.

\- If there are only 5000 potential customers, why not really _sell_ to them? Get a fresh college graduate to cold call potential customers and schedule a meeting. Then sell them a site license for $10.000+ and get them to buy a support contract. This I'd say is the "default" way to sell to these niche markets. For $25 a month you can't afford to spend any money on customer acquisition. You can't afford phone support. Every hour you spend per customer on email support is equivalent to 3 months of use of your product/service. Insanity!

\- Customers who are only willing to pay $25 a month are a not the easiest customers to have. All customers who pay for my most expensive pricing plan are my best customers. They don't email me, and if they do they don't make demands. They pay on time, every time. The people who send 5 emails in a single week end up purchasing the cheapest plan and end up leaving after a couple of months. You're going to attract these customers with a $25 price point.

\- monthly payments doesn't mean "free money forever who-hoo!". It means your product has to convince every customer every month again your product is worth the money.

\- ignore all of the above if your goal is to get to ramen profitably as quickly as profitable. You're going to make so many mistakes when building and selling your first product you might as well accept that you're not going to make a lot of money. Building a second product is a lot easier when you're already profitable.

\- it's normal to question yourself when just starting on a new product. Everybody else is flying blind too.

\- if you can get to the point where you have $200.000 profit where you have to put in 2 hours a day to keep things running smoothly you've hit the jackpot. You can then use your experience and funds to build a bigger and better company that can grow to millions of revenue.

\- growth will be linear for your kind of app, not exponential in nature. If you need another 4 months to build the product and another 2 months to get the billing/subscription stuff to work right and another month to set up your company and legal issues you won't realistically launch before April 2011. If you get 5 new customers every month with an "average" marketing effort (and this is not extraordinarily pessimistic) you'll have only 60 customers after 12 months! Of which you're going to lose at least 30%. So you're looking at $25 * 40 = $1000 monthly revenue 12 + 6 = 18 months from now. People are not kidding when they say starting a company is a lot of hard work! Starting a SaaS app is not an instant path to riches.

I've written way more than I planned to so I'm going to leave it at this. I'll just say that I don't have any regrets and starting a SaaS business was one of the best decisions I ever made.

<comment><USER6> The sales people at the last place I worked were looking at a target market of 5000 firms, but they were looking at contracts that would cost $10,000-$30,000 a year.

</comment></comment><comment><USER7> One thing I'd mention is that your price of $25 might well be several times too low. Businesses, even small business, will pay a lot more monthly if you're providing actual value.

</comment><comment><USER8> >There's something like 5000 businesses of this type in the U.S

Don't mean to be rude but the world doesn't end at the US border. There are likely to be other companies in the same market outside of the US, why write them off before you've found out the size of the non-US market.

</comment><comment><USER9> I would be more concerned about what % of that 1.5M you can make and how confident you are of that. Market size just by itself is a pretty useless figure in most situations if you don't get into the nuances.

We are in a similar market-size(even smaller). But this issue has never really worried me too much. At this stage, I am a lot more concerned about _how easily_ I can make the sale in a market than how big of a market it is. _Right now_ , I would rather be in a small market I can easily sell and make payroll/salary. Once you have that covered, you should be able to come up with new product ideas for bigger market.

This is more of a problem if you are going the VC route. If you are bootstrapping, it is more important IMO to focus on not dying before shooting for the stars. So if you are not financially safe(ie. no vc/angel) and can get 50% of a $200K market in 3mos with some certainty, I'd go for that over being in a 100M market with a lot less certainty! Of course larger market does not automatically mean more risk. But if it does, I prefer the smaller market.

Rephrase your question:

1\. How much money do I need in short-term to not die as a start-up? Or do I?(may be not, if you are well funded).

2\. What are the paths to getting the $ along with the _seeming_ risks? You can cold-call or buy some clicks for each market and see which one is an easier sell/less risky and vice-versa.

tl;dr: if you are bootstrapping, go after whatever market is _most quickly_ to get you your min $ you need to survive. maximize profit later with new products/bigger markets.

</comment><comment><USER10> I would start thinking this way: how much _effort_ are you putting into serving this small market? If the effort is small, ROI might be worth it.

<comment><USER11> More: the size of the market also indicates a certain fragility. The chance of competitors/demand/etc may mean that eventually it won't be worth enough money to commit further effort to. If you can bring your app to a point where it's sellable and maintenance work to a point where there almost isn't any, then you have something.

Edit: Also - read everything patio11 has ever written (<http://www.kalzumeus.com/>).

</comment></comment><comment><USER12> Market size matters. If you're trying to build the next big thing, this market won't suffice.

Take your potential market pie of $1.5 m, apply a reducing ratio to factor in businesses that won't use your service, customers with competing products or substitute products, etc. to conservatively estimate what your company can realistically attain.

With fewer customers, you may have higher marketing expenses because you'll need to target and focus them individually. But again, it depends on what your product is; if its something they absolutely need, then this obviously isn't a factor. Also a factor is how much work you need to put in as another poster mentioned. If its not that much work, it could be worth it.

A friend sells SEO software subscriptions for $50-$100/month, making about a million a year. The market is probably only a handful of companies, maybe 6 to 12. Very lucrative for a 2 man operation, make a ton of money by just maintaining the software and rolling out updates, improvements, new related products, etc. He doesn't have to do too much selling because the software is in demand; it sells itself.

</comment><comment><USER13> It depends on how good you are at upselling and cross-selling.

If you have a tightly targeted user base and are the market leader in that niche, there is a lot you can do. For example additional services, job board, JV with suppliers for those businesses,etc.

</comment><comment><USER14> It largely depends on your goals and also the work required to develop & run this startup. You wouldn't have to get too many of those businesses signed up to earn a full time salary.

Take a look at <http://www.softwarebyrob.com>, which is all about micropreneurial software businesses (basically targeting very small niches) - his book Start Small, Stay Small is interesting reading. Patrick McKenzie's (or patio11 on this site) Bingo Card Creator would be another good example (<http://www.kalzumeus.com/>).

</comment><comment><USER15> How much of a problem for what? It's not awesome if you want VC, but it's great if your plan is to bootstrap growth. Why? Because with such a target audience like that, your route to market is going to be really clearly defined and as a bonus, pretty low cost. Phone calls, email and direct mail to a market of 5,000 is cheap. Industry gatherings (conferences, trade shows, exhibitions) are likely to be few, easily identified and prospect dense.

I agree that for very niche products, $25 is too probably too low. Do you have a solid analysis of the value delivery?

</comment><comment><USER16> Price high. Better yet - price ridiculously high.

At $25 a month, you are creating the limit of your market size at $1.5MM. If $1.5MM isn't enough for you, you're nailing your own coffin shut. You will never exceed that limit unless there is a sudden influx in businesses to the niche or you drastically change your product - neither are very feasible or ideal situations.

I read somewhere that you should set your price as high as you can without breaking out in laughter. Almost a ludicrous concept at first glance, but ponder this: to your market, that ridiculously high price might be actually seem ridiculously low for the value that your product adds to their business.

So instead of $25/mo, price your product st $250/mo. If your market sees the value in your product, it will sell - and your $1.5MM cap becomes $15MM instantaneously. If your market doesn't see the value in the product, adjust pricing accordingly so that the price matches the value. After all, it is relatively easy to lower prices, but nearly impossible to raise them.

Final thought - consider perceived value. The price itself speaks value to some. A low price might say "We are new to the business and don't really know what we're doing. The biggest benefit we offer is that we are less expensive than your current solution, but we might not be able to offer you the best service in the world." A high price might say "We're serious and we're here to stay. Though we not be the cheapest solution, our service vastly exceeds that of our competitors, ultimately improving your business."

</comment><comment><USER17> If you want to raise Venture Capital, and are looking for a big exit then it's a problem.

If you are hoping to create a lifestyle business (and I mean this in the best way - I own a lifestyle business!) then it's not a problem at all. As others have mentioned, you can make a great niche business. Furthermore, the skills and experience you gain will be a great platform for expanding into another business. You've created the ideal software for pet shops? Well, expand to fruit stores.

</comment><comment><USER18> Why would you go after such a niche market? Do you know it really well? Do you have some advantage there? Can you charge more than $25/mo?

Unless you have a compelling reason to go after something so tiny you should probably avoid it. If you have reason to believe you could own it then maybe it would be a good source of early revenue.

<comment><USER9> Yeah, I have seen people with domain expertise in tiny markets completely kill it and use the revenue from it to scale company with newer products for larger markets.

</comment></comment><comment><USER19> I think you need to ask your self if you are going for a lifestyle business or a fundable business. In terms of starting a lifestyle business I think you should have no issues, and will possibly do well. If you are looking to someday get funding, more than likely its an unfundable idea.

</comment><comment><USER20> Startups For the Rest of Us Episode #5 might be helpful (personally I like the whole podcast): [http://www.startupsfortherestofus.com/episodes/episode-5-how...](http://www.startupsfortherestofus.com/episodes/episode-5-how- to-find-niche)

 _If there is no competition, it is probably not a big enough market._

And it goes on. It's aimed at micropreneural business models but perhaps you can take some valuable insight from it.

</comment><comment><USER21> Why not double your price and make a $3 million/year market out of it? And if there's need for 24/7 support offer a even more expensive subscription.

</comment><comment><USER22> Why does everything have to be a billion dollar market? I would be quite happy to capture one third of a $1.5m/year market (provided that one person would be enough to do all the necessary work). If nothing else, that would fund me while I work on other more interesting or more lucrative things (obviously I would be hiring someone to do the small niche job after it was going).

</comment><comment><USER23> Can you give some better idea of why you're charging so little? The general rule of thumb is that the more niche/vertical you get, the higher the price (since cost is obviously being distributed over a much smaller client base.)

My (growing and profitable) company is in a market of roughly comparable size; I'd be happy to compare notes offline since you seem to want to maintain a low profile.

</comment><comment><USER24> $25 total per customer is _way_ lower than most non-commodity SaaS applications. How many users do you expect each customer to have?

</comment><comment><USER25> The book _Start Small, Stay Small_ by Rob Walling and Mike Taber argues strongly in favor of small markets for startups. You won't get venture capital, but for a bootstrap it's perfect. For one thing, it's a lot cheaper to get your prospects to notice your marketing.

</comment><comment><USER26> My first job was for a company with about 1,000 total possible customers. It was the early nineties and we could charge 35k+ per company because it was necessary software to be in the business. I guess what I'm saying is -- can you charge more? How necessary is it?

</comment><comment><USER27> It's often harder to succeed in smaller markets -- lots of hungry dogs fighting over scraps.

<comment><USER10> Interesting. Can you elaborate with some examples?

<comment><USER27> Specific ones? It's hard because small businesses are, well, small and not well-publicized.

My father operates a small business, though, in the live music industry, while living in a remote part of the country.

You have fewer opportunities to accumulate capital which means you're more vulnerable to changes in the market, e.g., the economy collapsing as it did in late 2007.

If someone else decides they want your pie, you have little means to defend yourself and don't have the option of moving into another market segment if necessary.

In general I'd say smaller markets mean you can make fewer mistakes on your path to success. You are more exposed in almost every way.

</comment></comment></comment><comment><USER28> Tough one - in my experience, servicing extremely small markets has never worked out. Their business processes tend to vary just enough to where it becomes too difficult to build something that meets enough customers' needs to make it profitable.

</comment><comment><USER29> I think that may be something to ask at onstartups.com as well as here... :)

</comment><comment><USER30> That's not a problem. It's an opportunity/challenge. See what I did there?</comment>


Pivoted - Social news only about new web projects - <AUTHOR> http://pivoted.co/

<comment><USER2> I have spend last 9 months of my life coding, not making social media friends. Hacker News and reddit didn't noticed my thing so I made pivoted for folks like myself.

There is no anymore place on interwebs where you can easily tell people about your startup. Especially if you are not social media well connected, outside incubator and Silicon Valley.

Hacker News become like Reddit which becomes like Digg which becomes like Mashable which follows TechCrunch which follows Slashdot which follows any other independent website that become massive. Peace.

</comment><comment><USER3> Great site for discovering new sites and startups!

Fix: Search page leaks code at the top.</comment>


Deactivated Facebook with 2FA, now can't reactivat and 2FA doesn't work - <AUTHOR> I deactivated the account, removed all the 3rd party apps with 2FA, now I want to reactivate it, it's asking for the 2FA code which is not working. No SMS nor Code generator.
I have the password and the number associated with the account, no email access tho :((
Pleasee Help :(( <comment><USER2> I really feel for you and I hope you regain access to your account soon, BUT, at the same time, if I were in your shoes, I would love it if the process was long and painful -- that just proves very good security practices for their service and would make me feel secure.

I hate when websites provide 2FA/U2F/... and then you can just trick their support into resetting your account password.

</comment><comment><USER3> Contact facebook for help with their service.

<comment><AUTHOR> Already did, but no reply :(</comment></comment>


We have an employee whose last name is Null (2010) - <AUTHOR> http://stackoverflow.com/questions/4456438/how-can-i-pass-the-string-null-through-wsdl-soap-from-actionscript-3-to-a-co?rq=1

<comment><USER2> We had a system to censor users' IMs. Customers could configure a forbidden word list, or use a default one that had some seemingly obvious swear words. That was fine, until you realize that a global customer base has at least one person with almost any imaginable word in their names.

The North Koreans even made a phallic missile called No-dong. There is just no way to apply English assumptions about what words are across names. Oh, and the South Koreans have a town called Nodong-dong ([http://www.agoda.com/city/nodong-dong- kr.html](http://www.agoda.com/city/nodong-dong-kr.html)).

<comment><USER3> In Swedish, the word for the number 6 is the same as the word for sex.

<comment><USER4> A friend had a ball cap from pittsburgh university that said "Pitt" This was very funny to my swedish friends

</comment></comment></comment><comment><USER5> Old, but good. Previous HN discussion: [https://news.ycombinator.com/item?id=6140631](https://news.ycombinator.com/item?id=6140631)

</comment><comment><USER6> It didn't affect any code, but once I upon a time I worked with a programmer called Rem.

On his last day at the company I wore a t-shirt which said "No comment"

</comment><comment><USER7> Mandatory somewhat related XKCD: [http://xkcd.com/327/](http://xkcd.com/327/)

</comment><comment><USER8> The issue is that actual null values are stringified as "Null". It doesn't take much for someone to decide to just convert all string instances of "Null" back to the null value, despite that leading to issues.

</comment><comment><USER9> Caterina Fake, founder of Flickr, tells a story about one particular airline she just can't fly on. The system lets her buy tickets just fine, but when she shows up to fly, they've never heard of her.

I guess that's one way to solve the test data vs real data problem.

</comment><comment><USER10> I "almost", AKA thought of it but didn't tell my wife, made my son's middle name Null. It even entered my mind when I was handed the Birth Information card. I knew it was funny but not worth the eventual price I would pay when I got caught.

</comment><comment><USER11> We have static typing and dynamic typing and duck typing... is there a name for this crap where stuff gets converted willy-nilly without your say-so? Drunk typing?

<comment><USER12> Isn't that just the definition of "weak typing"? When you can do stuff like object + string + number and get an answer.

<comment><USER13> PHP typing

<comment><USER12> JavaScript and Perl, too.

</comment></comment></comment></comment><comment><USER14> Does SOAP (or WSDL?) or whatever he is using not store type information with the value? Take JSON, which has null (the actual value) and "Null" (a string) - it isn't ambiguous which you mean.

I feel like if my serialization format couldn't differentiate between those, that'd be a deal-breaker.

<comment><USER15> Sounds about right to me. That's why I use JSON, it's much more sensible than SOAP.

</comment></comment><comment><USER16> We had a similar problem with an old internal IRC bot written in TCL. Someone joined the company with the initials 'nan' (which was never equal to 'nan' because NaN != NaN). The bot never worked for them.

<comment><USER17> You're calling that a company now? Where the fuck are my options?

</comment></comment><comment><USER18> I graduated high school with a kid whose last name was Null. It would occasionally cause issues with the school's computers. He learned to use it to his advantage.

<comment><USER19> Could you give an example please? I love this stuff.

</comment></comment><comment><USER20> I remember this post, with a similar title being posted on HN in the beginning of August and got about 550 points in 20 hours. :)

</comment><comment><USER21> Is he a dev?

<comment><USER22> Dev is a real first name. BRB, changing name to Dev Null.

<comment><USER21> I'm beyond surprised it took this long for someone to get it... ;-)

</comment></comment></comment><comment><USER23> Old, but golden.

</comment><comment><USER24> we had a job applicant who's project was called drop table;

</comment><comment><USER25> old

</comment><comment><USER26> Har, har, har.</comment>


Forty Years of 'Civilisation'  - <AUTHOR> http://online.wsj.com/article/SB10001424052748703399204574505170999959800.html <comment><USER2> _If you think Michael Jackson was a musical master, you've come to the wrong shop._

Oh, blow me. Michael Jackson was an incredible musician. Have you actually _listened_ to any of his music?

 _Four decades ago, Time magazine declared "Civilisation" to be TV's "most distinguished (not to mention only new) cultural series" of the year. Those words have a hollow ring today. For years PBS has been trimming back its high- culture programming, partly because it doesn't do well in the ratings and partly, I suspect, because such lofty fare has lost favor with the intellectual elite._

I bet that, decades ago, the quality of AM radio programming declined as it struggled for attention among people (especially younger ones) turning to TV. It shouldn't be surprising that today, TV programming is racing to the bottom.

<comment><USER3> Do you really think that Michael Jackson will have the permanence of Shakespeare or Jefferson? Young people mostly don't care about [him] or for his music, and he is unlikely to make the history books.

I agree with the spirit of your comment though, in believing that the linked article was elitist beyond reason. Anyone who would describe western society as contemptible because the "intellectuals" don't watch PBS needs to pick up a book (just like the "intellectuals" have done). The information density is way too low for someone with real stuff to do, which is why television is relegated to relaxation time, where bandwidth is a non-issue.

[Edited]

<comment><USER4> _Do you really think that Michael Jackson will have the permanence of Shakespeare or Jefferson? Young people mostly don't care about or for his music_

I have no real comment on MJ as a musician, but I just wanted to point out that young people don't care about or for Shakespeare either, and haven't for a long time. They overwhelmingly tend to feel that it is something forced upon them that has little relevance to their lives. Obviously there are exceptions, but they aren't exactly the common case.

<comment><USER5> It's true that many young people don't care much about Shakespeare, but some people come around to reading him later in life, voluntarily. For my part, I haven't read much Shakespeare as an adult, but I have a poster about him and his language framed and mounted on the wall behind me... I mean, I now read a lot of stuff that I should (for want of a better word) have been reading in high school and college (and Shakespeare is part of that canon) and don't read much stuff I read when I was in high school. (It's true about the poster, though.)

Jackson's style of music isn't really my cup of tea, but maybe the former young people of the future will come around to him too, much as I came around to listening to the Beatles.

</comment></comment></comment></comment><comment><USER6> A small detail Teachout doesn't mention is that "Civilisation" was funded by the British taxpayer, meaning it was a product of the socialism WSJ readers despise so much.

<comment><USER7> So? "WSJ readers" might say that they'd _prefer_ "Civilisation" (or space exploration, universities, development of the Internet, etc.) be supported on a voluntary basis rather than by forced participation. That hardly precludes them from enjoying the result.

May a grocery-store-meat-consumer, who is aware of the cruel treatment of livestock, not be opposed to the methods by which his sustenance originated? Would you criticize him (as a hypocrite?) for advocating change so that in the future, hopefully, good things will have more ethical origins rather than having "the ends justify the means"?

<comment><USER8> Would you prefer to have the means justify the ends? If you say, "Hey capitalism is great." but it results in the destruction of our civilization, then is that okay?

I just came up with that. Usually people say, "The ends justify the means." But I've never known of someone to take it the other way. Thinking about it that way though, it seems that is precisely what we do with Capitalism. We know that greed is bad and leads to bad things, but we justify those ends because the alternative means, that is, a bit of loss of individualism and sacrifice of public property is, by capitalists, considered a severe punishment to the self.

So we say things like, "Bankers destroying the economy is okay, because we were more free until it happened." We say, "Environmental destruction is okay, because only a socialist world could prevent it." We say, "Big SUVs and houses and consumerism are good, because the government shouldn't interfere in people's personal decisions."

But the end product of all that is a less habitable planet and less happy place for future generations -- and not only future generations, but _these_ generations _in_ the future.

<comment><USER9> While I disagree with you about capitalism, I think this concept of "the means justify the ends" is a very interesting one. It seems to be providing a name for a problem that befalls people on both sides of the political spectrum - following an ideology to its logical conclusion, regardless of its actual effects on the world.

</comment></comment></comment></comment><comment><USER10> book is called The Great War for Civilisation after the inscription on the back of my father's World War I medal.

After WWI the British and French created the borders of Northern Ireland, Yugoslavia and the Middle East.

I've spent my entire professional career watching the people within those borders burn.

For me it's all about linking history with the present.

\-- <http://news.bbc.co.uk/2/hi/middle_east/4393358.stm>

[http://en.wikipedia.org/wiki/The_Great_War_for_Civilisation:...](http://en.wikipedia.org/wiki/The_Great_War_for_Civilisation:_The_Conquest_of_the_Middle_East)

[http://www.archive.org/details/RobertFiskWarGeopoliticsAndHi...](http://www.archive.org/details/RobertFiskWarGeopoliticsAndHistory)

</comment><comment><USER11> Author insinuates that all civilization comes from Western Europe. Worse, he suggests that, somehow, the fact that the classic masters more or less invented the arts of painting, writing, performance, architecture, etc. as we know them today indicates that they lived in a more "civilized" period.

The fact of the matter is that, for most people living at that time, life was nasty, brutish, and short (to borrow Hobbes' phrase). Wars were regularly fought as a means of political gain, sanitation was unknown, religious tolerance was sporadic at best, etc., etc.

Yes, the end product has been the greatest global civilization that the world has ever known, but that wasn't how things started out.

</comment><comment><USER12> Actually neither mass culture nor "high" (literary/artistic) culture is really defining Western civilization, their equivalents were/are shared by anything that could remotely be called a civilization. The defining characteristics of Western civ are individual liberty, capitalism (economic liberty), and especially science. Science itself could be called intellectual liberty, intellectualism bound not by class or bureaucracy, but controlled only by the reality it seeks to understand.

</comment><comment><USER13> Shows like "Civilisation" are based on a notion of high culture - to uphold some things above others; the rationale for something being "high" tends to be flimsy. It's a cultural meme - not necessarily bad or good, but highly opinionated and in a way that embeds itself deep into our psyche. Recognition of this kind of notion was the entire point of pg's "What You Can't Say."

<comment><USER14> Ironically, this specific notion of high culture has become the epitome of "What You Can't Say."

</comment></comment><comment><AUTHOR> Dear Editors,

Why was this renamed?

</comment><comment><USER15> Where is the definition of Western culture? Also, civilization?</comment>


BeOS Demo Video (1998) [video] - <AUTHOR> https://www.youtube.com/watch?v=BsVydyC8ZGQ <comment><USER2> I was lucky enough to have a friend working at BeOS at the very end. This is when they abandoned all hope of getting bought by Apple (erm... I mean gaining presence on the desktop) and focused on "Internet Appliances" like eVilla.

BeOS was really amazing at the time, especially in comparison to 'next generation OSes' like Windows NT, the vaporware that was Copland, Linux (which was unusable for mortals) or Solaris. It was clear to me that the future was going to look like BeOS or NeXT, but I could actually easily download and run BeOS on my mac. It was incredibly useable... I installed it and was able to use it for months. It just needed apps.

When Apple went with Jobs (and thus NeXT) I thought that made sense. But when I saw the early releases of Rhapsody I really thought they had made a huge mistake. BeOS was just so much better.

It's really fun to fantasize about what the world would have been like if BeOS made it big. There's still a lot of tech there that has not yet made it into desktop OSes.

<comment><USER3> There has yet to be a better technology to win in the desktop OS.

Examples 1) CPM was so much better than DOS

2) Amiga was 7 years ahead of its time (Though the OS had a ton of bugs the first 18 months)

3) BeOS

4) We still deal with a corporate IT that is 90% Window shops for corporate desktops. (Though Windows has gotten MUCH better)

5) Gnome and GTK+ gained more mind share than KDE :) Okay that one is personal opinion but :)

<comment><USER4> That's the way of the world.

'better' is a fuzzy term, what catches on 'is' the best, in some way, if that's the metric we observe. Everything that was 'better' failed in some regards, either came too early, wasn't aligned with mass market of users (lisp, smalltalk, sml), neglected some detail that wasn't a detail for the mainstream (why PHP instead of Perl), etc etc.

I spent the last 10 years wondering why so much beautiful things died in the past while we suffer subpar systems. And everytime there's a stupid indirect but perfectly valid reason. Less is more, or something of this kind. Nature.

<comment><USER5> You're forgetting about external factors that have nothing to do with the product itself. Having better marketing team or deeper connection in the industry does not make your actual OS any better.

Survival of the fittest doesn't really apply to human artifacts and especially to art and cutting edge engineering.

</comment></comment></comment></comment><comment><USER6> For anyone who is prone to ignore vertical dynamics, keep in mind that this OS was competing with Mac OS 8, Windows 98, and GNU/Linux in the Lesstif/GNOME 1.x era. In short, it trumped all the rest in speed, development environment, multimedia, stability...

But the Wintel cartel was stronger than ever. Microsoft even settled with Be years afterwards for colluding to keep their OS off of any vendor computers. But that can't ever commit backwards into history what computing would be like if the best OS at the time had been given a fair shake.

<comment><USER7> I cant understand why more people dont realize US is not a capitalist or free market economy.

Or even the EU.

If you look closer at any industry you'll see cartels, monopolies, government support and skeweing what and who gets the money. Who gets payed and who doesnt. The best products do not win, the best companies do not win.

It seems the different vs USSR is the scale of the economy.

<comment><USER8> > _I cant understand why more people dont realize US is not a capitalist or > free market economy._

Because the presense of "cartels, monopolies, government support and skeweing what and who gets the money" doesn't preclude it being "capitalist" or "free market".

There's the abstract "capitalism"/"free market" and there's the concrete reality, which is that it goes hand in hand with these things and always had.

It's like Christianity -- in theory it's this perfect thing touting peace and love --, but in reality it's involved in everything from the crusades and the enslaving on native indians in the Americas to present day right wing bigotry.

<comment><USER7> In reality what EU is and USA today, is economically, financially, not very different than what USSR or SFRY was.

Planned economy. The distinction private-public doesnt even make sense, with state subsidized private losses.

Its just a few groups of people controlling systems.

</comment></comment></comment></comment><comment><USER9> I remember installing BeOS a long time ago, when I was fiddling with old linux distros which were almost impossible to install (what is the model of your RAMDAC? which is your interrupt controller? manually configure your modem!)

I was absolutely amazed at the ease of install, running the software and the powerful GUI. I even ran it for some months as my only OS, since it had a web browser and e-mail client and the dialup config was very straightforward.

After that time, I started missing a lot of software, especially browser updates, so I tried linux again and found that it had improved a bit, so I stuck with it.

But I'll never forget how probably the best OS at that time failed into misery for the lack of software and a bit of promotion.

<comment><USER6> Hey carlesfe, see my previous post -- it was not a simple lack of promotion but a complete lockout from pre-installation for any PC vendor who didn't want to get royally stomped on by Microsoft.

<comment><USER9> Well, same as Linux, but since the later had a big community, it was more vocal and that lead to a larger userbase in the end.

Yes, pre-installed Windows (and the lack of drivers) used to suck back in the day, but BeOS was in an awkward middle point between being Microsoft and being Linux. I guess it was a bad time for that, it would have done better nowadays with an equivalent product.

<comment><USER6> Linux never had a chance with the average consumer at that time. Shall I pull up some GNOME 1 screenshots to show you? Do you know all of the refresh rates of your monitor, per resolution?

"If you get this wrong, your monitor may become inoperable or explode"

BeOS was a consumer OS, and was denied any access to consumers. Ignore vertical dynamics if you want, but the writing is clear as day to me.

<comment><USER10> You at least had GNOME 1 already.

When I looked into GNU/Linux for the first time, my options were twm, fvwm and OpenLook.

<comment><USER11> SuSE Linux 5.3 -> fvwm95, twm, KDE 1.x, and I remember playing with GNOME 1. Also was weird times, I remember that I manage to run GNOME using KDE as window manager.

</comment></comment></comment></comment></comment></comment><comment><USER12> In early 2008, having graduated from college the year before, I was living in the midwest working at a company making warehouse management software. I decided I _really_ wanted to work at Be. I sent them my resume for a position that was posted (I think I actually snail mailed it). I called the recruiter and she politely informed me that I wasn't qualified for it. Shortly after, I saw another position posted and applied again. Over the next 7 months, I continued to bug the recruiter regularly until someone finally broke down and gave me an interview. I bought a new suit just for it. When I showed up to interview, an engineer walked in with long hair and ripped up jeans.

I ended up getting the job and worked there through the end of 2000. Even though it ended up imploding, it was a great experience. I learned an incredible amount and I'm still friends with a bunch of people I met there. Many of the people from Be ended up at Android.

<comment><USER13> I think you must mean 1998, not 2008?

This is a good story. I'd be curious to hear about things you learned that are related to unusual aspects of what Be was doing.

<comment><USER12> Oops, yeah, 1998.

I became very comfortable with multithreaded synchronization, since BeOS was "pervasively" multithreaded to try to scale to multiprocessor machines. Multithreaded programming is more common now. All synchronization in BeOS was based on counting semaphores (which could acquire with a count > 1), which I think are still not super common.

There was a philosophy of simplicity that still resonates with me. For example, the scheduler algorithm used a simple exponential priority scheme that was easy to reason about intuitively. It was straightforward to get glitch free media playback. Many years later, I was trying to debug a glitch with audio playback on Linux. Each time it would glitch and someone would say "oh yeah, this other heuristic is kicking in, make these changes to the config." We'd do that, another glitch would happen, and they'd say "oh, these other two heuristics are interacting badly," this went on for like a month. I don't mean to bash Linux, because it is far more sophisticated now than BeOS was and handles far more use cases, but I miss the elegance and simplicity of BeOS.

The thing that I found most interesting was the chance to interact closely with experts from so many different domains. When I started there, all of engineering fit on one floor (I think there were around 50 engineers). For better or worse, almost everything was built in-house. There were people who worked on graphics, the windowing system, 3D, kernel internals, device drivers, filesystems, application frameworks, etc. Everything was in one source tree, so you could check it out, type make, and have a full OS image in a few hours.

I worked at Apple later, but there are thousands of engineers who work on MacOS, and you only get a chance to meet a small subset of them. There are hundreds of individual projects in their own source trees that are built individually and get pulled together by a complex mastering system. It seems almost impossible for one person to wrap their head around it.

The fact that so much was built from scratch might be part of the reason that BeOS felt so snappy: it hadn't accumulated much cruft.

<comment><USER14> Tested OpenBeOS / Haiku, any opinion on the project?

<comment><USER12> Yeah, I've seen it, although I haven't used it or looked too closely at it recently.

When Be did the focus shift, we were in the midst of the next major revision of the desktop OS (which consequently was never released). Part of that was an overhaul of the user interface, which looked more sleek and modern, and was themable. The squarish tabs were replaced with a slightly inset title bar area with rounded edges. I don't know if any screenshots of that have survived.

There were many other things that we were exploring and talking about at the time, like putting transparency and animations in the interface, but the hardware at the time wasn't up to the task yet (there weren't real GPUs with shaders like we have today; the best acceleration we could get were opaque bit-blits, which weren't supported on all cards). Had Be been able to stick around longer, the interface would have been much different.

So, personally, I don't really get cloning the original interface. A lot has happened in UI world the 20+ years since BeOS was originally written. I guess I'm not that sentimental.

That said the work the Haiku team has done is impressive. It's a cool project and I don't want to sound critical of it.

<comment><USER15> I guess the next OS revision you mention would be "Dano", which according to the Wikipedia article[0] was leaked on the day the company closed down. In that case, there should be quite a number of screenshots floating around, such as [1]. YellowTAB Zeta[2] was also based on Dano.

[0] [https://en.wikipedia.org/wiki/BeOS_R5.1d0](https://en.wikipedia.org/wiki/BeOS_R5.1d0)

[1] [http://qube.ru/files/images/beos_r51d0_on_amd_athlon_xp_1600...](http://qube.ru/files/images/beos_r51d0_on_amd_athlon_xp_1600_2.png)

[2] [http://www.osnews.com/story/3692](http://www.osnews.com/story/3692)

<comment><USER12> The tabs look different than I remember, but yeah, that's it.

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> I found my BeOS install CD and floppy the other day.

I never really had hardware that could really use something like BeOS back then.

If you liked this then you should consider supporting the Haiku project. They are keeping BeOS alive.

[https://www.haiku-os.org/](https://www.haiku-os.org/)

I'm wondering though if anyone here can speak to how much C++ was used in writing the kernel? I've heard multiple stories...some say that all of it was very OO, some say it was C with classes kind of stuff.

</comment><comment><USER17> If you like BeOS, you should check out Haiku which is an open-source OS inspired by BeOS [0].

[0] [https://www.haiku-os.org/](https://www.haiku-os.org/)

<comment><USER18> It's a good project; thankfully there is still the BeOS book within it so you can write applications on it using the tidy BeOS API. I think there are GCC 2 and GCC 4 compatibility issues (attempting to maintain binary compatibility won't work with GCC 4), and they have got a package management system which some feel was too Linux-like, but it's an interesting project and can breathe life into an old computer somewhere.

Speedy too!

</comment></comment><comment><USER19> I ran BeOS for almost a year around that time. I remember it as fairly stable and packed with neat little features that made it feel lean and modern. Then I started to get disappointed that the community didn't seem to be growing fast enough... It felt a bit like computing while stranded on a desert island

<comment><USER20> I was tripple-booting Linux, Win2k, QNX, and often booting the BeOS demo from floppy.

The BeOS driver for my 3c905 Ethernet card was buggy and about every other morning I'd wake up to find a dialog to the effect of "Your network driver has crashed. Click OK to restart the driver." It stunk to have a poor driver, but it was really cool that a bad driver didn't take down the system. A couple years later, I had a CD-R with some of my old financial records on it that got corrupted and would kernel panic Linux, Win2k, and OS X. These days, DVD and CD drivers should really be in user space.

Though, I was playing around with semaphores and found a way to reliably kernel panic BeOS, though the exact same source ran perfectly on Linux. Enough kernel panics and I slowly got filesystem corruption. One morning I woke up to my disk light being on. It spun all night and wore a visible track into the coating of that floppy. Both the floppy drive and the floppy were ruined. I used the vendor's version of tar to back up my data before reinstalling the OS. That's when I learned that all of the NetPositive browser bookmarks were stored as zero-sized files with the links in metadata that wasn't preserved by tar. When resizing the partition once, I learned that non-tar-preserved metadata was also what kept the userspace drivers from showing up in the BeOS task bar.

As much as it would have been cool to have OS X based on BeOS, QNX was much lighter weight and robust. Plus, the QNX Photon GUI subsystem was like X11 and Synergy on steroids. OS X is a lot of things, but the Xnu kernel is quite heavy, and it's not clear that it's possible to implement Mach ports in a lightweight manner. Both BeOS and QNX show it's possible to have a light weight high performance kernel that's isolated from most driver bugs.

<comment><USER21> Haha, I was doing the same thing in college. It was a great time for messing with OSes. I started running BeOS and QNX on a daily basis because for some reason my machine started crashing in Windows and I needed to get work done. BeOS beat out Linux because the install was simple, it booted fast, and the desktop was a hell of a lot nicer.

People forget this, but Sun created a Java runtime for BeOS before Linux.

I agree about QNX though, it wasn't as stylish as BeOS, but it was far more robust and polished.

</comment></comment></comment><comment><USER22> This video always makes me wish Apple would have bought Be, Inc. instead of NeXT. The BeOS was _much_ more interesting than NeXTSTEP!

<comment><USER23> It'd be interesting to know where Apple would be if they had bought Be, Inc. Would we have iOS? Would Apple be successful? All very interesting!

<comment><USER24> If I remember correctly, NeXT was largely bought for Steve Jobs rather than NeXTSTEP. Also the iPod and the iPhone (or rather the iPad, as that was what Apple were originally working on before they miniaturised it and released it as a smart phone) was Jobs' concept. Obviously prior art existed, but the digital music player and tablet markets were pretty underwhelming to the average layman before Apple released their products.

So I don't think Apple's business would have exploded like it if they bought Be Inc. However Be's core business was multimedia (like Apple's was per-OS X) and that industry has since felt a little neglected by Apple as they seem to be concentrating more on gadgets than power users. So if I had to speculate, I'd say Be Inc / Apple's business would have grown with the media industry and stayed more faithful to their core users.

I also think Apple would have consumed more of Linux's market share than it has done now because an Apple owned BeOS would still have retained, at least, partial POSIX compatibility meaning the leap from UNIX / Linux would be equivalent as it is now, but there would have been less fanboyism which was largely drummed up by Jobs to increase sales. I think, perversely, that has put many new users off from migrating to Apple from the FOSS community who want to use an open API without the corporate BS.

Lastly, I think Macs might have become the de facto standard web developers machine. Partly because of being more true to it's core multimedia business (and the web now being as much a multimedia platform as any other these days), partly because of it's POSIX compatibility meaning it would be trivial to run the same Linux / OS X develop tools, partly because of it taking business from Linux (see above), partly because I think Apple would have continued to allow 3rd party manufacturers to build Apple-compatible machine (IIRC that was one of the first things Jobs terminated when he rejoined Apple), and partly because Windows users would feel less threatened making the switch (BeOS always felt a less significant paradigm shift from Windows than OS 9 / OS X did).

So in short, I think OS X would have had a greater market share if Apple bought Be Inc, but I think Apple would have been less successful as a company since their biggest market at the moment is consumer gadgets (specifically the iPhone).

This is all just guesswork, obviously. But sometimes it's fun to speculate.

<comment><USER25> I do not think that is correct. Apple needed a new OS badly. I developed game software for PCs in the Win 98 / OS8 era for both platforms. Macs were still a nice experience but their performance relative to a PC was terrible.

Steve Jobs at that time did not have the reputation he does now, or even had a few years later. Many people view Next as a business failure at the time. They were still in business, but relative to the huge investment they had gotten they were doing pretty poorly. There is a book written at the time, "Steve Jobs and the Next Big Thing." That sums up conventional wisdom circa that time.

The fact that they were considering Be and Next at the same time tells you that they were looking for an OS.

<comment><USER24> I suspect you may have misread my post since you're offering a counter argument to points I wasn't discussing.

I wasn't suggesting that Apple shouldn't have bought nor released any new OS. I was speculating about a future where Apple bought Be instead of NeXT (hence my frequent references to Be Inc)

However on the (unrelated) points you raised, I do completely agree with you.

</comment></comment></comment></comment></comment><comment> jay-saint Ah the nostalgia. In 1999 I was a sophomore in college and built my first PC that was all my own. I used the legendary Abit BP6 Motherboard [http://en.wikipedia.org/wiki/ABIT_BP6](http://en.wikipedia.org/wiki/ABIT_BP6) I had a pair of Socket 370 Celeron 366a processors overclocked to 100mhz, which made the system think it had a pair of P3 550mhz cpus.

BeOS was a great OS for experimenting SMP. The CPU monitor in the video would show you the loads for each CPU and you could click the left side to toggle a CPU on and off. You could immediately see frame rates drop and the remaining cpu's usage spike.

<comment><USER26> Similar story. I put together a dual-P2/350s on (I think) a Tyan motherboard in December 1998 as a dedicated BeOS host. Wasn't good at budgeting and found myself in another state having run out of money a few weeks later, and had a bit of a challenge getting home.

Parts of haiku remain impressive. Example, there's two performant message-bus mechanisms available via standard system calls:

* The flagship IPC mechanism is the BMessage. You can exchange messages unicast, or broadcast using BRosterm, or pub/sub with StartWatching/SendNotices.

* You can also treat the filesystem as an async messaging system using BPathMonitor. Yes, you can create RAM disks. They have FUSE as well.

It runs pretty well under VirtualPC. There's a trick to configuring the mouse to touchscreen once you've installed the seamless-mouse tools.

</comment></comment><comment><USER27> I had an original BeBox, which I upgraded to the faster CPUs when available. I bought the BeOS team a case of champagne when they shipped a major release.

I'm happy Apple bought NeXT.

<comment><USER28> I've still got my BeBox and boot it every year just to confirm it still works. It still works! I have no clue what I'll do with it - its not worth selling. Anyone got any clues?

<comment><USER29> I'd be interested in it.

<comment><USER28> What do you think it'd be worth to you? Shipping from Europe.

</comment></comment></comment></comment><comment><USER30> Ah this brings back memories! I happened to go to the Be developer conference back in summer 1996 - didn't know anyone, wasn't even a developer, just a curious high schooler interning at a mac user group down in LA. Hopped on an airplane alone to come out to San Jose because why not?

I remember talking to some Apple exec sitting next to me in the presentation room as some Be people finished their speech. I asked about their prospects and he said something like 'yeah its been tough for us but Gil Amelio is going to turn things around'. Gil had just joined as CEO back in February. I remember thinking that the guy didn't sound like he really believed what he was saying though - there was a a certain resignation, or just a moment where he didn't feel he had to keep the 'everythings great' performance up for a high school kid. After the NeXT acquisition I remember thinking about this guy and that he probably didn't have a job anymore. Who knows, maybe that was actually Jonny Ive.

At the conference there was a whole group of Apple people checking things out and talking to everyone. I don't remember if it was public knowledge that they were negotiating with Be at the time, but it was no secret why they were there. There was a lot of excitement among the developers there, but also a lot of trepidation - there was just loose talk of being useful for really specialized AV fields but no path or believable / clear idea of how this could go to mass market. Even a 15 year old knew that. Plus, Microsoft was unstoppable back then. A fair amount of talk among the devs was about how this could be the next Apple OS, and I think that's what excited people. But everything hinged on acquisition.

Afterwards I think I exchanged a few emails with Dominic, because I was interested in BeFS. I didn't really know how to talk to him so I think I just offered him access to my mp3 server. Meanwhile when I got back to the mac user group, I installed the developer preview CD on some PowerComputing macs we had and they just transformed into beasts. BeOS was otherworldly, using it felt like you were 5 years in the future but in an alternative universe (full of tiny yellow title bars). Because all of the apps were just apps to show off Be's capabilities, it was also vaguely reminiscent of the 90s demoscene, with Be one-upping Future Crew by dropping _an entire OS_.

History shows NeXT was the right move. But Be... they were something special.

</comment><comment><USER31> OMG brings back memories and makes me sad at same time it failed to gain ground. I was a BIG BeOS fan. In fact I'd probably be able to dig up from my storage the actual purchased BeOS package and the "The BeOS Bible" book I bought too. It was the "Opera Browser" of operating systems at the time to me. Lightweight, nimble, fast and just completely felt it was well thought out by brilliant engineers that weren't tied down to legacy.

I remember pitching it to my co-workers and praising its ability to still play multiple movies smoothly in a dragging window even with other tasks running in the background, which at the time was really cool considering same hardware Windows/Linux could not. And to this day, it had my favorite all-time newsreader (can't remember the name but it was threaded news that used multiple windows)

In the end, it just didn't the apps and the world was Microsoft centric and this thing called "Linux" was the buzz, along with Apple gaining ground.

</comment><comment><USER32> Wow, I haven't seen this video in a long time.

Buying a BeBox was one of the best things I ever did. I took out a loan for about $2,000 from my bank to get one and start writing apps. Not a lot materialized out of it financially but the experience was invaluable. I met a lot of people from the community that I still chat with to this day.

Be, Inc had some really good ideas.

<comment><USER28> Still got your BeBox? I turn mine on every now and then to make sure it still works - I don't think I can ever bring myself to sell it, but I'm still at a loss as to what I will do with it.

<comment><USER29> Which model?

<comment><USER28> Rev A, 66mhz. I bought a new PC instead of upgrading to the 133mhz model, and ran NextStep on it, then BeOS .. then Linux. ;)

</comment></comment></comment></comment><comment><USER33> BeOS is a good example why if you're already big you can be proprietary but if you're small it's better to release as open source (when there are big players in the market.)

If BeOS had simply released its source early on it might still be very much alive and healthy today. Given that it achieved on the desktop what Linux still has not, it might have bested Linux in at least the desktop arena. It's main mistake was trying to make it in the proprietary OS market, up against both Microsoft and Apple. Certainly after Apple had failed to buy BeOS, their next best bet was transform BeOS into a GPL or BSD-licensed project.

Now, we have Haiku OS, but it is a bit late, and can only ever be an approximation of the original experience / API.

</comment><comment><USER34> When I was a kid I was running BeOS and it was really cool at the time.

</comment><comment><USER35> I remember being impressed that the BeOS media player could play audio CDs backwards in real-time. Not really sure why you'd want to but it was quite a good party trick.

<comment><USER36> yeah, could transcode anything to anything in real time and feed it to an appropriate player.

BeOS is the only OS which implemented the same UX of unix pipes in a way that actually made sense in a graphical environment.

</comment></comment><comment><USER37> Is it time yet for a new OS that emphasizes immutability, security, concurrency and other functional-language paradigms?

I feel like even today, we are not seeing the true possible performance of our hardware due to all the "sediment layers" (as Jean-Louis Gassée put it) of our popular OS'es. We're also not seeing the possible reliability and security, either.

<comment><USER38> MirageOS? ([http://openmirage.org/](http://openmirage.org/))

I kid, but only a little.

</comment></comment><comment><USER4> I feel the same watching this or Shawshank redemption. There's some lost beauty in it. Even BeOS source code / API was beautiful. I remember some code to query and filter FS results based on metadata, not far from a tiny SQL C++ eDSL.

</comment><comment><USER39> At 13:00 he demonstrates positional audio. Whoever uploaded this to Youtube reversed the channels so the sound pans right when he moves the source to the left.

Twenty years later and why doesn't my computer come with a 3D mixer already?

</comment><comment><USER40> Running BeOS on my Pentium II Celeron 333 MHz was pure joy. It's such a shame it didn't amount to more than it did.

That and OS/2.

<comment><USER41> There's plenty of OS/2 still in production. You should be concerned about that.

<comment><USER40> You mean in ATM's? I'm almost more concerned by them running a full Windows XP, but that's just me.

<comment><USER11> ATMS of Santander Bank (Banco Santander on spanish) keeps using OS/2\. I just saw it a few month ago when one got bricked and I saw the old nice OS/2 bootup splash screen.

<comment><USER42> Hey no OS/2 bashing. I was out of work and got a job building a satellite NOC using OS/2\. :)

<comment><USER43> I views OS/2 like I view the AS/400, setup and let it run forever. Not cool, not current, but they do the job.

</comment></comment></comment></comment></comment></comment><comment><USER44> This is the perfect example as to why we need to focus on the customer problem not the technical solution.

</comment><comment><USER42> I remember that. I also remember all the excitement around it and then it fizzled.

</comment><comment><USER45> Are current Linux distributions as good as this yet?</comment>


XaoS.js - a real-time fractal zoomer - <AUTHOR> http://jblangston.com/xaos/

<comment><USER2> I've seen tons of different Mandelbrot implementations in Javascript and Processing.js (it's a pretty popular example of the ImageData object) and I can say that this particular one is indeed fast considering that is using 128 iterations on a relatively big canvas.

</comment><comment><USER3> Would using WebGL could give smoother animation or use less CPU?

<comment><USER4> Probably not. The XaoS algorithm depends on nearest-neighbour scaling and recalculating just the interpolated rows/columns. You could do that in a texture then scale the texture to the screen with WebGL, but it probably wouldn't be any more efficient than just doing it in a non-accellerated frame- buffer.

If there was a way to offload the Mandelbrot calculations to the GPU, that might make things faster, depending on how tedious it would be to composite them back onto the framebuffer afterward.

Here's a Mandelbrot zoomer implemented entirely with WebGL:

<http://learningwebgl.com/lessons/example01/>

It doesn't use the XaoS algorithm, it recalculates the entire frame from scratch on the GPU. On my machine at least, it's noticeably choppier than the XaoS version, and at a smaller frame-size, too.

</comment></comment><comment><USER5> Listen to this while zooming: <http://www.youtube.com/watch?v=MWqdO74iApc>

</comment><comment><USER6> awesome. Does get blurry after a while though :(

<comment><USER7> Yeah, I managed to hit the limit where it stopped being fractal. Damn these limited-precision floating point numbers!

<comment><AUTHOR> No, it's because the maximum number of iterations is too low for that zoom level.

<comment><USER8> That won't cause it to be "blurry" -- that just causes it to be black. "Blurriness" is indeed due to floating-point errors in the coordinates system.

<comment><AUTHOR> For me, in the browser, the edges just smooth out to a straight line, and seem blurry only because of the color scheme. In the desktop version, however, I see this when zoomed in maximally: <http://i.imgur.com/ryhai.png>.

<comment><USER9> This is what I maxed out at. It did start to look blurry right before it started lagging, and these staggered lines were revealed, but they look much different from yours. <http://i.imgur.com/R5PbQ.jpg>

</comment></comment></comment></comment></comment></comment><comment><USER10> ...i'm not sure these guys understand the difference between "fractal" and "not a fractal"

<comment><USER8> Er... did you mean to leave this comment on some other article? I've seen the term "fractal" misused recently, but this is _very_ much a fractal.

<comment><USER10> OK I concede it meets a definition of fractal. I'm recalling having seen Mandelbrot speak at my high school and identify a property of his eponymous set in particular: that no matter how closely you zoom, no part of it ever appears to be a straight line, unlike, for instance, a circle.

I just feel cheated.

But sure, it's a fractal capped at a disappointingly low number of iterations.

Kinda like how an equilateral triangle is a sierpinski's gasket at zero iterations.

<comment><AUTHOR> Try the desktop version, this is a very limited alpha. But no, not even the desktop version offers _unlimited_ precision.

<http://wmi.math.u-szeged.hu/xaos/doku.php></comment></comment></comment></comment>


The fight over the sugar industry's influence on nutrition research - <AUTHOR> https://www.theverge.com/2018/2/23/17039780/sugar-industry-conspiracy-heart-disease-research-mark-hegsted-harvard <comment><USER2> The deeper you get into the research industry, the crazier things get. We are taught growing up that scientists value truth above everything and scientists are sort of seen as these demigods of the universe.

Yet, sadly, we know that they are just people who want to be right more than they want the truth too often.

I mean, if you spent 3-5 years (sometimes much more) of your prime working on something only to come to the conclusion that your wrong would you just accept it? OR you "re-adjust" the data and somehow make your p-value significant, then BOOM, your research is valuable!

This is why so many studies are not reproducible.

<comment><USER3> >"I mean, if you spent 3-5 years (sometimes much more) of your prime working on something only to come to the conclusion that your wrong would you just accept it? OR you "re-adjust" the data and somehow make your p-value significant, then BOOM, your research is valuable!"

From what I've seen I don't think there is any "OR". That is standard behavior and people don't even believe there is anything wrong with it.

There really is always some legitimate reason to adjust the data... the problem is that the method of drawing conclusions (checking for significant p-values) is incompatible with this. So one or the other practice needs to go.

<comment><USER4> Scientists / scientists in training are starting to understand it.

I think almost every last field taught in university would benefit from more statistics courses, with at least one of them from a bayesian perspective.

The problem is that statistics is boring. Most things in university are causal. Statistics is kinda fuzzy and unintuitive.

<comment><USER3> I think you have the blame reversed. These problems were _caused by statisticians_ who failed to understand there is always a reason to "adjust" the data. They taught people to apply methods that were inapplicable to the real-life research conditions they would face.

<comment><USER5> Agreed.

Statistics can be counter-intuitive, but it's not rocket science.

Playing the "keeper of the true flame" and hiding the internals in intro stats courses does everyone a disservice.

I get there are a huge amount of non-mathematical scientists who go through these courses, but they should at least be equipped to get a funny feeling if they see something odd (and therefore go ask for advice). Rather than just believe "that's the number that came out."

Mathematically rigorous and vetting meta-studies seem like they would help here too... validating methods and that studies reproduce within a range.

</comment></comment></comment></comment></comment><comment><USER6> > One thing is clear: the food industry keeps funding research today — with > dire consequences.

This article makes it sound like the _majority_ of research funding is coming from industry, very little from government. Maybe this exacerbates focus on needing to "succeed" in research, in order to keep justifying funding from profit motivated sources.

It seems like everyone is so focused on producing "successful" research, that we just try to fit experiments into to a positive light, and toss out data that just didn't really "work". Meanwhile, there's probably a lot of data that just goes unpublished and never shared, and thus, we remain largely ignorant of what's actually being discovered.

Part of me still feels like it's more of a just broader cultural problem, and simply shifting who's funding things isn't going to help. Not sure if there's any effort to simply provide a way of sharing experimental data, i.e., something like "open source licensing" for experimental data, etc, where sharing means you don't get screwed by someone else.

<comment><USER7> > _This article makes it sound like the _majority_ of research funding is > coming from industry, very little from government._

Your implication that, were the research funded by government (or some other non-profit entity), it would somehow be "better" is false. The source of the funding in all cases influences the allowed results, and determines the likelihood of future follow-on funding.

If anything, government (at least in the US) is responsible for some truly harmful dietary advice, and funds researchers who support its policy positions.

<comment><USER6> That was the article's implication, which I'm not totally convinced of either.

My sense is that the main problem is still the focus on "positive" research results, and a complete lack of sharing of anything that wasn't successful. "That research doesn't hold up in this case" isn't really a statement anyone seems to publish much.

_Maybe_ that's exacerbated by private funding, though I think it's just generally a cultural problem within the scientific community.

Perhaps a public source of funding would enable the opening up and sharing of "negative" research results, of which I think there is considerably more data for. But, given that universities haven't really done that at all to my knowledge, I'm skeptical of that as well.

The last paragraphs of this article are what struck me as "anti private funding".

</comment></comment></comment><comment><USER8> This Time article details enforcement action by the FTC against a sugar industry ad campaign for their fake claims: [https://www.google.com/amp/amp.timeinc.net/time/4088772/suga...](https://www.google.com/amp/amp.timeinc.net/time/4088772/sugar- information-history/%3fsource=dam)

It's pretty good as it includes some of the original ads..."sugar is part of a balanced diet" "sugar doesn't just fast good, it's good food" "eating sugar will help you lose weight".

<comment> village-idiot "Eating sugar will help you lose weight" has got to be up there for the most bold faced lies of the decade, if not the century.

<comment><USER9> It's an indirect lie. Fat is what causes you to gain weight, and then excess calories. If your diet is not in excess of fat and calories then you can lose weight with sugar, but no, it doesn't have some magical weightloss chemical in it.

<comment> village-idiot That's not quite right either. You need fat and sugar together. Humans can't synthesize fat easily, so dietary fat is what gets stored. But insulin is the chemical responsible for storing said fat, and insulin levels are heavily modulated by sugar and other simple carbohydrates.

The rub is that humans _need_ some level of dietary fat. Without it we go into "rabbit starvation" and die. What we don't actually need is carbohydrate, we can live just fine without it for arbitrary periods of time. Since any human in a non-extreme situation will have dietary fat and can control their carbs, it's colloquially correct to say that "sugar causes weight gain", even if the technical answer is more complicated.

<comment><USER9> The human body is physiologically a complex (starch) and simple (sugar) carbohydrate machine. There is enough fat in rice or oats, for example, to survive. Yes the human body can live without carbohydrates, but it's basically in adaptive illness that it does. If you start talking about the Eskimo or Inuit, I'll point to their extremely short lifespan and epic numbers of heart disease.

</comment></comment></comment></comment></comment><comment><USER10> You don't have to be a mustache-twirling villain with no integrity to be subtly influenced by your sources of funding.

<comment><USER11> But if you do want to attract or turn people into mustache-twirling villains, offer money.

<comment><USER12> Conversely, if you want people to be susceptible to mustache-twirling villains offer as little money as possible with no job security what so ever.

Modern hard sciences academia is a horrible place and the problem is economic: there are too many scientists and too few jobs for them.

To quote Stephenson's Cryptonomicon:

>Three years later, he left the Astronomy Department without a degree,and with nothing to show for his labors except six hundred dollars in his bank account and a staggeringly comprehensive knowledge of UNIX. Later, he was to calculate that, at the going rates for programmers, the department had extracted about a quarter of a million dollars' worth of work from him, in return for an outlay of less than twenty thousand.

<comment><USER13> The math never checked out for me with that; the average PhD student I know consumes at _least_ twenty thousand in free food while scavenging from various events.

</comment></comment></comment></comment><comment><USER14> I'm still dumbfounded how we can have advanced so far in so many areas of science and technology and yet we are in the dark ages when it comes to nutrition science. Why is that?

<comment><USER15> There is only one explanation for the resistance up to hostility I see against sound advice--willful ignorance. People are so emotionally dependent on food for a feeling of success, happiness and reward that their mind responds to any threats like that of an addict threatened with supply interruption.

It's crazy to me how hard it is to switch to a view of food as fuel instead of as a reward. People who readily eat the worst foods on earth would never think of putting bad fuel in their car.

With that backdrop, all the food industry needs to do is sew the tiniest amount of confusion and that lets everyone do whatever they want, because "who knows for sure!?!?"

<comment><USER16> Asking people to view food as fuel is akin to asking people to view sex as for procreation. Seems very Puritanical to view the pleasure we receive from food as a problem or distraction.

People like to eat. It feels good. There is of course a lot of ignorance about food (and even if you aren't ignorant it's still easy to willfully make bad choices) but that doesn't mean we should dehumanize it. Just like with sex, we should study it and develop a healthy culture for it that balances pleasure and what's good for us.

Also, I'm somewhat convinced myself that the reason poor people tend to be very fat is that food for them provides way more bang-per-buck than anything else at certain income levels. Yeah you may not be able to afford a car or a nice place to live, or healthcare, or education for your kids, but goddamn you can eat some delicious food for relatively cheap. It sucks that poor people get hit hardest by obesity and almost nobody wants to be fat... but at the same time, I feel like trying to decouple food from pleasure would mean depriving poor people of one of the few joys they can afford

<comment><USER17> "Among men, obesity prevalence is generally similar at all income levels, with a tendency to be slightly higher at higher income levels."

[https://www.cdc.gov/nchs/products/databriefs/db50.htm#mennn](https://www.cdc.gov/nchs/products/databriefs/db50.htm#mennn)

<comment><USER18> Slightly below that it says the opposite is true for women. Obesity increases as income decreases.

<comment><USER17> Or put another way, there is no correlation.

</comment></comment></comment></comment></comment></comment><comment><USER19> That's why we have peer reviews, PhD defenses, and conferences. No system is perfect. As a scientist, I find it appalling how distrustful the public is of science. The only issue is the misrepresentation of science in the media and the lack of understanding the general public has of the scientific process.

<comment><USER20> On one hand, I agree, however, I think it is also quite bad that many scientists effectively say 'hey, I'm a scientist so you should trust me.'

Clearly we need to find more effective ways to convey science and make people comfortable with believing research that they aren't capable of assessing.

</comment></comment><comment><USER21> The sugar industry is the new cigarette industry. History won't be kind to them.

<comment><USER22> The sugar industry has been powerful for a long time. The first slaves were sugar workers. Back then the powers settled wars by trading islands with sugar.

Sugar has and will be more powerful than cigarettes evet were.

<comment><USER23> s/cigarettes/tobacco/ and it's still a crapshoot as to which is more powerful.

Both are plantation crops and benefitted from slave labor.

<comment><USER24> Sugar is also a major ingredient in cigarettes. In some brands it is the #2 ingredient by weight.

[http://cebp.aacrjournals.org/content/27/3/357.1](http://cebp.aacrjournals.org/content/27/3/357.1)

</comment></comment></comment></comment><comment><USER25> > In 2016, The Associated Press showed that candy makers funded a study > showing that kids who eat candy weigh less than those who don't.

I don't understand how that level of absurdity can be offered up without assuming we'd be skeptical. I can see "kids who eat candy don't gain any more weight" as being a possibility, but thinner? What hubris.

<comment> village-idiot I mean, if I eat one piece of candy a year, I won't gain weight either. Somehow I don't think that's the story they're trying to sell.

<comment><USER25> Yeah, not gaining weight is possibly believable - losing weight is ridiculous.

<comment><USER22> It can be true. After antibiotics I lost so much weight rapidly. I can eat bags of sugar without gaining any weight. I can't breakdown fat at all so there is more to the story then sugar = weight increase.

It really depends on the bacteria we have in our guts.

<comment><USER25> If you can't break down sugar or fat, what are you living on? You must eat a heinous amount of protein each day.

<comment><USER22> I eat a ton of fruit based sugar, plant based food and some protein.

No matter how much dried fruit I eat I can't seem to gain a pound. Quantities like 400 grams of raisins.

<comment><USER26> That could be partially due to the fiber in all that dried fruit acting as a laxative.</comment></comment></comment></comment></comment></comment></comment>


Ask HN: What are your favorite Mac hacks? - <AUTHOR> I'm putting together a new site called Macfoo (macfoo.net) where I'm collecting awesome tweaks to make Mac better. <comment><USER2> I like the scripts on ITerm2 where I can create a script to spawn all my dev micro services I am working on</comment>


About CPU microcode update (from ArchWiki) - <AUTHOR> https://wiki.archlinux.org/index.php/Microcode

<comment><AUTHOR> List of Intel processors potentially updatable cited in the document:

[https://downloadcenter.intel.com/download/24290#prodos](https://downloadcenter.intel.com/download/24290#prodos)</comment>


Amazon's Digital Freight Brokerage Platform Goes Live - <AUTHOR> https://www.freightwaves.com/news/breaking-amazons-digital-freight-brokerage-platform-goes-live <comment><USER2> This is a Flexport competitor, correct?

<comment><USER3> This is more akin to a Convoy or Uber Freight competitor. From their website [1], it seems like they only do domestic trucking in the US.

[1] freight.amazon.com</comment></comment>


What's Stopping Me Using Java8 Lambdas – Try Debugging Them - <AUTHOR> http://www.rationaljava.com/2015/01/whats-stopping-me-using-java8-lambdas.html

<comment><USER2> I'm the author of the article and very interested reading all the discussion.

Let me explain exactly what the issue is as there seems to have been a bit of confusion about my intentions.

I understand that by stepping into the lambda we are effectively stepping into a new frame analogous to 'stepping into a method' \- therefore variables outside the frame will not be visible inside that frame.

But - if we are stepping into a for loop of sorts (or perhaps the lines() method of Files) - you do want to see the other variables in the enclosing method. And the point is that using the old constructs this is exactly what you were able to do.

Java is not functional enough (or at least the way I code isn't) that all the variables I need will be enclosed in the lambda.

In fact when you step into a lambda you retain the scope of the enclosing class (unlike an inner class), so for example when you call toString() you will be printing the toString() of the enclosing object. For this reason it makes sense that in the debugger you should not be considered to have stepped into a new frame when you drop into a lambda.

Ultimately this is all about usability and in real life I have found it extremely frustrating that I can't easily observe the values outside the lambda.

<comment><USER3> > therefore variables outside the frame will not be visible inside that frame.

You know that the debugger can traverse the stack and show variables for the outer frames (assuming the lambda is invoked down-stack, as in your example), right? This is just a visualization issue of the debugger you're using and not a problem with lambdas themselves.

Javascript debuggers had to deal with this (the scope chain) for much longer, that's why variable views of JS debuggers show the whole scope chain instead of just the local frame.

<comment><USER4> > This is just a visualization issue of the debugger you're using

No it's not - it's (apparently) a JDK issue. See the discussion in the Jetbrains bug report. BTW if Eclipse can do this, Jetbrains want to know.

<comment><USER3> Is this[1] not what you want? Modulo a better UI of course.

[1] [http://i.imgur.com/bwWvk0I.png](http://i.imgur.com/bwWvk0I.png)

<comment><USER4> I'm not associated with them, but they asked me for an eclipse screenshot if I had one, when I reported this issue to them and suggested that they create a workaround in their UI. (FWIW it's an annoying issue, but not enough for _me_ to stop using lambdas.)

If you have time, could you make the lambda a multi line chunk of code, so that it's clear that the breakpoint is inside the lambda? I'll pass it on to them. Thanks!

<comment><USER3> Sure, here you go: [http://i.imgur.com/posDGaB.png](http://i.imgur.com/posDGaB.png)

Of course this only works for cases where the debugger can tie the lambda used as method argument to another stack frame, i.e. it doesn't help with async invocations. But in async cases one cannot expect the JVM to lug around the whole stack frame from the time it was created, that could lead to memory leaks.

And from what I've gathered the Jetbrains bug may not talking about the same thing as the blog postis discussing. Their case is about a captured variable that gets inlined in some way that makes debugging difficult, OP is about inspecting arbitrary, non-captured variables in the debugger.

<comment><USER5> Where did "e" get declared at? It just seems to leap magically into existence.

<comment><USER3> List<T>#forEach takes a Consumer<? super T>

Consumer<U> has a single abstract method

void accept(U u)

The lambda effectively is an anonymous class implementing that interface / that single method. U resolves to ? super String. I.e. it expects a method that takes String or a superclass thereof as its first parameter.

That's what e is. It all gets automatically pieced together at compile time via type inference.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> I'm not sure this is a great argument. Lambdas are great for many things. Replacing old fashioned for loops isn't one of them. You get something harder to read, harder to debug and which is less efficient so why would you do that? If you aren't parallelising things there is little point.

Lambdas are a nice way to reduce the boilerplate associated with anonymous inner classes, and that's about the limit of how I use them.

</comment><comment><USER7> With more of an FP background (erlang / haskell) I was a little confused regarding when you would need to inspect variables outside the lambda. Won't the external variables be the same as they were before you called forEach? Why do you want to check that each iteration?

Then I realized that mutating variables is fairly common in a loop in procedural programming and that if you were to translate that to a forEach it would be useful to see what was going on.

I think the introduction of FP concepts in Java 8 is going to be interesting when it is not accompanied by immutability and other foundations in the language (or at least idiomatic usage like in Scala). I can't tell if that will cripple them or make them more accessible.

<comment><USER8> It's not like Java's the first imperative language to include FP concepts. Whatever lessons it can teach us, we could probably learn them just as well from Ruby, Python, C++, Javasript, C#, and so forth.

<comment><USER7> True, but those languages have a strong set of idioms for coding. For example, even though Ruby supports mutable calls, they are generally the exception and denoted with a ! (eg map vs map!) Meanwhile, Python is idiomatically opposed to map (to the point of intentionally crippling lambdas) in favor of list comprehensions.

My concern is whether Java8 will spark a strong change in idiomatic usage or if it will just be another incremental change to the current status quo.

</comment></comment></comment><comment><USER9> This reminds me of how spoilt I am, with features such as edit-and-continue in Visual Studio. Doing some work recently with a more modern project that uses lambdas, edit and continue is not supported for code in lambdas. I miss the more interactive mode of writing code while executing it in the debugger. A more modern version of a REPL if you will.

<comment><USER10> Eclipse has had this feature for many years. Not only can you edit and continue, but you can actually restart a function from the beginning ("Drop to frame").

<comment><USER11> Yes, and visual studio lets you drag your current line pointer at any line within a certain scope, so if the first part of your function does some set-up calculations, no need to rerun after changing, just set your current line pointer at the line below and voila!

</comment></comment></comment><comment><USER12> I know eclipse lets you jump up and down stack frames during debugging, I assume IDEA lets you do the same. So, while inconvenient, couldn't you jump up to the calling frame and inspect the variable in question from its scope?

<comment><USER13> There's no guarantee the method that created the lambda is still on the stack. If a method returns a callback, the method that created the lambda has returned before the lambda is called.

<comment><USER14> But wouldn't the stacktrace still include the file and line number where the lambda was created? Yes, you can't easily trace the code path between the creation of the lambda to its execution, but that strikes me as no different than debugging any other issue with bad data.

</comment></comment></comment><comment><USER15> If you cannot distinguish it is java or IDE problem, should you update your title?

</comment><comment><USER16> In Java, you can think of lambdas as sugar for anonymous classes. All problems and benefits that are present with anon classes should manifest with lambdas as well.

However, one clear advantage of lambdas is that they reduce verbosity of anon classes.

<comment><USER5> I like the verbosity of anon classes, they make sense. They look right in the debugger. Lambdas do not look clear they look like vodoo, I very much dislike them and wish they'd never been introduced.

</comment></comment><comment><USER17> Ironically using Scala lambdas - which are much more of a hack, being compiled to an $1 object with the captured variables as fields and the implementation as a method - I can see the variables when debugging just fine.

</comment><comment><USER18> As I commented there, it should be very simple to switch the stack frame you are currently inspecting in the debugger. At least it's a piece of cake in C#, both in MonoDevelop and Visual Studio. OTOH, putting everything into every lambda's closure is inefficient. In the example in the article, the lambda did not close over anything in the outer scope, and can be compiled into a faster static method.

</comment><comment><USER19> This is a weak argument. It's like saying we should avoid concurrency because it's harder to debug. Lambdas are a step forward and nothing short than that. I've been working with Java8 professionally for about 8 months and have trained about 5 teams on the new tooling. I've never seen anyone raise debugging their code as a reason to use an anonymous object instead of a lambda.

<comment><USER5> They are a step backward. They try to make a complicated thing look simple. That is always a mistake.

<comment><USER7> I think that is true in the case of forEach loops. However there are plenty of other situations in which the lack of lambdas has made something simple far more complicated. One example is the Strategy Pattern. With lambdas it's a fairly simple thing. Without lambdas there are a bunch of hoops you have to jump through.

Additionally, I feel that lambdas enable constructs that are much clearer and easier to reason about. Consider the case where you want to transform ever element in a list and produce a new list. Without the map function (which depends on lambdas) the logic wouldn't be that bad, you would create an empty list and append each element ad they are processed in a for loop. However, the intent of your code is less clear. Add in filtering and the intention of the code in your for loop ends up quite a bit harder to understand compared to a fairly straightforward select and map.

</comment></comment></comment><comment><USER20> I've stopped using functions for just the same reason.

</comment><comment><USER21> This is a failure of available tools, not a bad language feature.

Your tools folks should be all over this. If they're not, switch tools.</comment>


Hackers Think Cookies Are Tasty, Too - <AUTHOR> http://blog.tinfoilsecurity.com/hackers-think-cookies-are-tasty-too

<comment><USER2> But...in order to properly execute an XSS attack, you have to get your code onto _someone else's_ computer. You can edit your own cookies all day long and accomplish nothing of value. What piece am I missing here?

That said, as far as the server trusting cookie values to do database lookups or whatever, sure, there's a hole there. Most folks will use something like HMAC-signed cookies in those cases, so that an attacker would have to be in possession of a secret key in order to successfully have altered cookie data accepted by the user. But in any case, the data should be treated like any other user-supplied data - untrusted and to be sanitized.

<comment><USER3> Yes, I think what the original article is saying is that the cookie could have been altered by a rogue browser extension/virus on a user's computer, which could be then potentially used to import a script from a different origin into the user's page.

<comment><USER2> If I have my malware on your computer, I'm just going to use it to steal your cookie (any other sensitive information) directly rather than perform some convoluted roundabout XSS. :P

<comment><USER4> If you wanted to access a company's server, this actually sounds like a reasonable attack vector. Get malware on someone's computer and use it to perform SQL injections. It depends on what information the attacker is after.

</comment></comment></comment></comment><comment><USER3> Isn't it a widely adopted practice to encrypt the content of the cookie before setting it? Of course it could still be tampered with, but not as trivially.

<comment><USER5> Frameworks like Rails or Django offer options to encrypt or sign session cookies, but any other cookies are often left up to the developer to take care of. The HttpOnly and Secure flags are important to remember as well because otherwise a man-in-the-middle or rogue JS can modify them.

</comment></comment><comment><USER6> Isn't XSS only a client side danger? For URLs, this is relevant since you can post a malicious link and people can click on it. It's much harder to get someone else's browser to accept a cookie you made for a specific website.

Of course, cookies are still client-side data and should not be trusted. But XSS is not a problem here. Correct me if I'm wrong.

<comment><USER7> Not if your server environment is running Node.js! If you start reading cookies and potentially evaluating their content, this could have a major impact on a Node process. That said, I doubt that you could hack a running Node process with this without the system using eval() on the cookie contents. I've been wrong before....

</comment></comment><comment><USER8> I think cookie values are more of a risk for SQL injection or RCE than XSS. If the code that builds the session lookup query or cookie parsing code isn't safe, you're gonna have a problem.</comment>


It's time to stop asking "creatives" to work for free - <AUTHOR> http://qz.com/543643/its-time-to-stop-asking-creatives-to-work-for-free/ <comment><USER2> I just had an incident like this. A firm that manages ghost writing for executives was looking for someone who understands data science and is also a writer. As a practicing data scientist consultant I get the subject matter. And, I have been an industry analyst (lots of writing), published magazine columns and have a website with lots of current work available to read.

It was interesting they expected me to provide a free sample, which they wouldn't publish (really?) before proceeding. I told them "I don't work for free." In the end I offered them a compromise. You read my portfolio of work and decide whether in theory you would like to engage me. We then set rates. At that point I write the first piece for your client. If you like it you pay the agreed upon price and publish the work. If you don't like the work, I will publish it, minus any references to your client or quotes he provided.

So even though they admitted they didn't have any writers who could understand the subject matter they still wouldn't budge from demanding a free sample. Obviously we are not working together.</comment>


SproutVideo Introduces DailyMotion Cloud - <AUTHOR> https://www.dmcloud.net/

<comment><USER2> SproutVideo founder here. We actually introduced an import tool for DailyMotion Cloud users to easily import their videos into a SproutVideo account. DailyMotion Cloud was a product of DailyMotion. DailyMotion Cloud is shutting down on April 12th. DailyMotion has offered to migrate their users to their main platform but that puts several serious restrictions on content such as:

      *  Distribution of your video catalog on Dailymotion.com
      *  Monetization of your video catalog
      *  Compliance with our content moderation rules

For many users, this is simply not a viable solution. SproutVideo offers a very comparable platform and we've already had several former DailyMotion Cloud users import their content. Companies can have very large video libraries and migrating to a new video hosting platform can be a lot of work. To that end, we created a tool that will allow former DailyMotion Cloud users automatically import their libraries into a SproutVideo account. Hopefully that clears things up a bit! [http://sproutvideo.com/dailymotion](http://sproutvideo.com/dailymotion)</comment>