Ask YC: Where do you get international startup news? - <AUTHOR>

Techcrunch is great for reading about US companies, and the occasional Canadian/UK/Israeli/German site, but it bugs me that I have no idea what's happening in other large markets like China, India or Russia.  Not speaking the respective languages obviously doesn't help.  Are there any good resources for English speakers? <comment><USER2> India:

<http://pluggd.in> <http://www.venturewoods.org> <http://www.startupdunia.com/> <http://www.webyantra.net/> <http://www.contentsutra.com>

<comment><USER3> <http://www.watblog.com/> <http://www.alootechie.net/> <http://www.desistartups.in/> <http://www.thesmarttechie.com/>

</comment></comment><comment><USER4> Up north - you might just want to keep an eye on the Finns given their past tech track record ;) <http://www.arcticstartup.com/> <http://www.startupbin.com/>

India: <http://vijaysblog.wordpress.com/>

Canada: <http://montrealtechwatch.com/> <http://www.startupottawa.com/>

</comment><comment><USER5> Canada: <http://www.startupnorth.ca/>

</comment><comment><USER6> China: <http://www.cwrblog.net/> \- China Web 2.0 Review

Japan: <http://www.tokyotronic.com/> \- Tokyotronic

</comment><comment><USER7> <http://thenextweb.org/>

Good coverage of European companies

<comment><USER8> Also <http://europeanstartups.com/>

</comment></comment><comment><USER9> <http://www.killerstartups.com> does cover non-US companies in bursts but they go overboard, imho, with what's considered to be a 'startup' so there is a lot of noise there.

</comment><comment><USER10> Argentina: <http://palermovalley.com/> (but more related to a local event for startups, held about once a month, with many local web 2.0 developers and entrepreneurs).

</comment><comment><USER11> <http://www.startuparabia.com>

</comment><comment><USER12> for Israeli startups

<http://www.startupisrael.com/>

</comment><comment><USER13> There are startups in other countries?

<comment><USER14> Hilarious reply Matt, even more curious though is the fact that you got modded down (what no fanboy idol worship for Mr. Maroon people?)

<comment><USER13> I'm not surprised. Jokes don't do well here.</comment></comment></comment>


Show HN: A New Approach to RSS (Our iOS App Was Approved Today) - <AUTHOR> https://itunes.apple.com/us/app/browse-rss-feed-reader/id778018149

<comment><AUTHOR> After a year of development we got super lucky and were approved the first time we submitted to the App Store (woo!).

Our app: Browse

Our website: [http://browse.im/](http://browse.im/)

App Store link: [https://itunes.apple.com/us/app/browse-rss-feed- reader/id778...](https://itunes.apple.com/us/app/browse-rss-feed- reader/id778018149)

Tired of the way RSS and news readers behaved by default, we set out to make an app that would allow us to read our content in a new way. We built Browse on these principles:

* Your content should never be rearranged on the screen

* Your content should be shown to you the way the content creator intended

* You should never have to read through a list of headlines

* The most recent content is the most important

* The speed at which your content loads is critical

* Comfortable and ergonomic use of the app is a must

We hope you like it to and would love any feedback you have on our 1.0 release.

A big thank you to all of the developers who have launched products on HN this last year. You inspired us to push on and get our 1.0 out the door!

</comment><comment><USER2> okay, i'll go first.

i am a heavy rss user. for years i used NetNewsWire on the mac. alas, the ios version started as a bad joke and only got worse. then the rss-apocalypse happened, when google reader shut down.

since then i've been using reeder on my ipad and iphone, synced with feedbin. but i'm not super happy with it, largely because the author won't get off his butt and give me a mac version already.

your app looks pretty good so far, but i don't see a sync story. will i ever be able to sync my feeds with my mac?

<comment><USER3> Thanks for the feedback (and for your time to download the app and to try it out)! Here is what we are thinking:

1\. Make sure people like our approach to RSS (market validation)

2\. Make the web client amazing (browse.im)

3\. Make an Android app

4\. Make a Mac OS X app

5\. Make a Windows 8 app

Right now the experience is very much iPad/iPhone only. We have a prototype web reader available here: [http://browse.im/browse](http://browse.im/browse)

Being a heavy RSS user - how do you feel about the approach to RSS we have taken in the app? Do you like seeing original content and jumping from full story to full story? Any usability feedback at this point is super helpful.

Thanks again!

<comment><USER2> i am finding myself a little baffled by the interaction model. i am guessing that you're not showing actual rss feeds, but are instead just loading urls into a web view? i am trying not to let my decade or so of rss experience color the experience, but it's going to take me awhile to be objective about this.

how do you plan to make money? is the app just free for a limited time?</comment></comment></comment>


Microsoft Research releases Barrelfish - OS optimized for multiple cores - <AUTHOR> http://www.barrelfish.org/

<comment><USER2> I skimmed these papers and it's a mixed bag. They are showing clear speedups for some operations on large (>16-core) systems, but they are also introducing what looks like significant complexity (like replacing shared data and locks with two-phase commit).

</comment><comment><USER3> Also coming soon from Microsoft Research: projects called Bracemonkey and B8.

<comment><USER4> I understand Bracemonkey is like Greasemonkey, and B8 is like V8, but what is Barrelfish like?

<comment><USER3> No. Barrelfish is awfully close to Squirrelfish. Hence Tracemonkey -> Bracemonkey and V8 -> B8.

Then again, a joke that needs explaining is a bad joke. So, sorry.

<comment><USER5> OT on bad or obscure jokes:

I have an image posted in my cube that is a pic of Bruce Schneier and the caption reads "Bruce Schneier knows the state of Schroedinger's cat"

Someone asked me to explain it to them so I talked about Schroedinger's cat and the Chuck Norris jokes. Then who Bruce Schneier is and tied it all up with quantum crytography.

After all that, she gave me a half-hearted smile and made some crack about my geekiness.

After thinking about her reaction for a second, I penned the following tweet.

"Having to explain why a joke is funny collapses it's waveform and then it's just words."

<http://twitter.com/jaywgraves/status/3864172416>

<comment><USER6> Handwriting recognition rules.

</comment></comment></comment></comment></comment><comment><USER7> I know they're completely different OS's, but anyone have any insight into how this compares to Grand Central on Snow Leopard?</comment>


Unit 731 - <AUTHOR> https://en.wikipedia.org/wiki/Unit_731 <comment> java-man 70% of human body is water. guess where do we know this from?

"... under the American occupation the members of Unit 731 and other experimental units were allowed to go free."

"Shiro Ishii, as the chief of the unit, was granted war crime immunity from the US occupation authorities, because of his provision of human experimentation research materials to the US."</comment>


A Prototyping/Manufacturing Car Plant in Africa. - <AUTHOR>

Hello everyone, I was wondering how much it would cost to Setup a car prototyping outfit in Africa,where i could try out inventing my own automobile .I know lots of people would suggest starting out in my garage, but i just want to have an estimate on how much it would cost and what it entails as i quite interested in the africa-auto <i>niche</i> thanks. <comment><AUTHOR> No suggestions yet< this is very un-HN?</comment>


This Babushka Has Talons - <AUTHOR> https://nplusonemag.com/online-only/online-only/this-babushka-has-talons/ <comment><USER2> Nell Zink is a brilliant, totally idiosyncratic writer. Her novel _The Wallcreeper_ has a car crash and miscarriage in the first sentence. This piece is ostensibly about Robert Walser and Dostoevsky, but it's really an unfiltered monologue where she badmouths other Walser translators/critics, and mentions how the piece was rejected by another publication!

</comment><comment><USER3> Quite possibly the single most poignant simile involving a dachshund in known literature.</comment>


Teens are abandoning Facebook in dramatic numbers, study finds - <AUTHOR> https://www.theguardian.com/technology/2018/jun/01/facebook-teens-leaving-instagram-snapchat-study-user-numbers <comment><USER2> Facebook will have to continue to acquire emerging social networks the same way Google kept acquiring search technology startups, until its monopoly position is likewise so well established that people stop trying to compete.

<comment><USER3> Why would you stop building social netowrks if facebook keeps buying them. Its printing money.

<comment><USER2> Good point. I think the acquisition point moves further and further down, until you get into the realm of acqui-hires, and then venture funding for the sector dries up.

</comment></comment></comment><comment><USER4> Wonder why there's a marked socio-economic and racial disparity in those numbers. Weird.

<comment><USER5> I would imagine the racial disparity is really just a result of the socio- economic disparity. As for why that exists, idk. Might be the cost of having a smartphone. As far as I know, Snapchat is pretty worthless without a smartphone. It's closer to a messaging app than a pure social media service. Facebook on the other hand is usable on a computer, so even teens without smartphones can use it at school or the library or on a shared computer.

That's all conjecture though.</comment></comment>


Show HN: Software Manager, the Game - <AUTHOR> https://thesoftwaremanager.com <comment><USER2> Interesting game.

You can pretty much destroy by not bothering to interview and blindly hiring a giant crowd of engineers w/o regard for their salary. Dump them into high- paying projects and destroy really quickly.

I was also specializing them in a specific area up to 10 then rotating lower skilled out as they hit level 10.

This game is funny to abuse, but I am not sure the management style (birth 9 babies in one month with 9 women) is entirely accurate.

</comment><comment><AUTHOR> A little game inspired by the devshop game that I saw here a while ago. You will work as a manager to manage the projects, teams and try to survive in 60 days. Happy holidays!

</comment><comment><USER3> This is fun!</comment>


T-Mobile Now Offers Home Internet for $50 Per Month with No Data Cap - <AUTHOR> https://www.t-mobile.com/isp/index <comment><USER2> Aside from your home address, the field doesn't validate data input for practical correctness. This is important because t-mobile forces you to consent to marketing in order to find out availability, but you can still check for rough availability with garbage information (incl. an e.g. 1-nnn-555-nnnn number and a mailinator or equally disposable email address) and an address near you, ideally an address that's an empty lot or nonexistent/halfway between homes.

It's also why I flagged the post -- t-mobile is seeking marketing opt-ins with this effort, and that's about it. A genuine lookup service wouldn't force opt- in consent in this manner.

</comment><comment><USER3> > By checking this box you agree that T-Mobile can contact you about > purchasing T-Mobile Home Internet, including future Home Internet offers, > via autodialed call, email, or text to the number provided above. Consent is > not a condition of purchase; you may also call 1-844-839-5057 to get > started. (required)

"Check Availability" does nothing useful. The landing page is an opt-in lead generation tool.

</comment><comment><USER4> Long-term T-mo data subscriber here, on "unlimited data" plan. The catch being that any amount going out over the hotspot beyond a plan-specific limit, and NOT qualifying for T-mo's Binge-On tier is throttled to 2G speeds i.e. unusable. Access to current month remaining data of the critical service slice -- high-speed hotspot -- remains difficult: many taps/clicks required

Other "issues":

Payment website this month stopped supporting Firefox. Responds with cryptic complaint about "client ID" upon entering account phone number.

Website loops in third-party trackers, Facebook ...

<comment><USER5> I would hope the home internet is set up differently than a "hotspot" plan, because they will be very many use cases

</comment></comment><comment><USER6> Just as an anecdote / FYI, since I had an LLC registered, I signed up for Teltik which uses T-Mobile and got a 5MB/month hotspot plan through them. Got my dad a nice LTE hotspot ([https://www.amazon.com/gp/product/B01N5ASNTE/](https://www.amazon.com/gp/product/B01N5ASNTE/)) and that's what he uses for his home internet. Obviously his usage is modest - no streaming media (Netflix, etc.), but some YouTube. However, it is so much better than the previous FreedomPop / DataJack stuff we used before, although those were dirt, dirt cheap.

I ran a quick Speed Test check on his connection, and got 29 Mb/s down and 15 Mb/s up. [https://www.speedtest.net/result/7621011424](https://www.speedtest.net/result/7621011424) (about 14 months ago.) Obviously this will vary by location!

When I had Comcast, I believe it showed me monthly usage, and I think it was something like 20 GB per month. That's with heavy Netflix/Hulu usage every evening. This wireless internet would probably work for us speedwise... but because I live somewhere that offers both Comcast and Verizon FIOS, I'm able to get 100/100 Mbps service for $40/month. And that's a wire into my home and no concern over hidden data caps (at my usage levels). I wouldn't choose wireless over that unless there was significant savings.

<comment><USER7> > This wireless internet would probably work for us speedwise... but because I > live somewhere that offers both Comcast and Verizon FIOS, I'm able to get > 100/100 Mbps service for $40/month.

This service isn't made for you then. If you watch the video on the site the customer is clear: rural area residents without a hope or prayer of getting high speed internet. Where neither cable, or fiber, or potentially even DSL is available. There are large swaths or rural America who still can't get real internet access, and there isn't money in it for telecoms to build the infrastructure to serve them. And those telecoms have squandered the funds that were specifically earmarked to give those people service.

You luckily have two options for high speed internet. Many Americans only have one. Some other Americans currently have 0. Wireless internet like this might be their best option, even if it's not _your_ best option.

<comment><USER6> Of course. That's why I spoke in some detail about my dad above, but I did omit useful details.

Rural. Long driveway. Zero wired high speed options.

Comcast wanted ~$1200 to install wire.

</comment></comment></comment><comment><USER8> I'm very interested in knowing more, but even as a current subscriber I am really uncomfortable with the pressure this form is putting on me to sign up, just to see if it's available!

</comment><comment><USER9> Is it me or they try real hard not to disclose the connection speed?

<comment><USER10> > Is it me or they try real hard not to disclose the connection speed?

It's not possible to disclose precise information without knowing spectrum holdings/configuration, installed tower equipment, distance from tower, and the current network conditions. The only thing they could disclose are things like throttling video, and give an approximation of what a market might expect typical speeds to be around.

<comment><USER9> They could give a range.

</comment></comment></comment><comment><USER11> I was tempted to ask, "sure, but what's the data cap?" One issue I've had w/ T-Mobile in the past is they say "unlimited mobile broadband" and if you poke around in the fine print you find that "unlimited" means 2G per month or something.

So I wonder... what is the data cap on their "no data cap" plans?

</comment><comment><USER12> Hope they can Sprint's mid-band spectrum deployed quickly to deal with this influx of data.... at least until they have a viable millimeter wave plan.

This is probably more viable in suburban, maybe sub suburban/rural areas until they can get millimeter wave going.

<comment><USER10> > Hope they can Sprint's mid-band spectrum deployed quickly to deal with this > influx of data

They would need to complete the merger for that. As it stands in my region Sprint can roam on T-Mobile's mid-band spectrum (2/4), but not vice-versa (and low band 12/71 is disallowed).

Millimeter wave isn't going to help suburban/rural areas. Already Band 41 (2500mhz) sprint LTE-TDD doesn't go through walls well, for home internet you're basically looking to have an external antenna.

<comment><USER12> >Millimeter wave isn't going to help suburban/rural areas. Already Band 41 (2500mhz) sprint LTE-TDD doesn't go through walls well, for home internet you're basically looking to have an external antenna.

Correct - I didn't say it would. What I said is it isn't viable to do in urban areas until they have millimeter wave.

</comment></comment></comment><comment><USER13> I was a T-Mobile subscriber twice, first in the mid aughts and then again about 6 years ago. Both times their network had a fatal flaw: I couldn't get a good signal indoors.

Could any current T-Mobile subscribers tell me if this is still a thing?

<comment><USER14> Bands 12 and 71 have been added since then, so in theory it would improve. But I've always found indoor reception to be highly YMMV. Best to test first. Also, wifi calling largely solves this.

<comment><USER10> Band 12 alone dramatically improved indoor coverage. Prior to this they were the only national carrier without low-band (under 1000mhz) spectrum holdings, with the exception of Myrtle Beach's band 5 license (weird company acquisition history there).

</comment></comment></comment><comment><USER15> How do I check availability without signing up to be pestered by a salesman?</comment>


Why wouldn't Oracle use a perfectly valid index? - <AUTHOR> http://joco.name/2014/01/05/why-wouldnt-oracle-use-a-perfectly-valid-index/

<comment><AUTHOR> I am so stupid that up till now I made the assumption that indexes worked a lot like histograms. Only when I read this article did I start to think clearly about how different they are.</comment>


Fed govt helps its STEM workers with student loans – up to $10k per yr - <AUTHOR> http://www.marketwatch.com/story/the-government-is-helping-its-workers-pay-off-their-student-loans-2015-10-21?dist=beforebell <comment><USER2> if you paid 10k more you could add the people that don't want their student loans paid first.</comment>


Creating CLIs with Ink, React and a bit of magic - <AUTHOR> https://vadimdemedes.com/posts/creating-clis-with-ink-react-and-a-bit-of-magic <comment><USER2> Why is this better than something like Golang, Cobra/Viper?

With that, my output is a small binary for almost every OS that just runs without dependencies.</comment>


Ask HN: How long does it take to setup CI for a new project - <AUTHOR>

I'm going with a process that should be able to

  Get sources from repository, update version numbers, label source / checkin to repo

  Build the application

  Run Unit tests with coverage

  Create coverage report

  Push the application to package manager

  Deploy application on webserver

  Email notification
 <comment><USER2> If it is open source. It can be as low as 2 mins with travis-ci If it is on a in house setup. It may take close to half an hour (depending on the level of sophistication needed). I have successfully setup teamcity in about half hour (4 hosts total).

<comment><AUTHOR> Yes, talking in house. You mean just the TeamCity install takes half an hour... then you have to add the tools steps etc,

</comment></comment><comment><USER3> Fast either way.</comment>


Are You Doing Research? - <AUTHOR> http://extravagaria.com/wiki/pages/M7k9z7a/Are_You_Doing_Science.html

<comment><USER2> I work in the R&D division of a microprocessor company. Most of what we do, I would call "research", but not quite "science". We investigate things that are too risky or time-consuming for our product design groups to look into, with an eye towards making our company money in the future. We fund Ph.D. students in electrical engineering and computer science at university labs, and collaborate with them. But we don't (generally) push back the frontiers of human knowledge in our day-to-day work.

Things might be different at (say) IBM Research Zürich, doing work on atomic force microscopy, but that sort of thing seems to be the exception rather than the rule in industrial R&D. I don't know if I would have expected to see hardcore science at Sun Labs where the article writer's friend worked.

<comment><USER3> I like this as a definition of research in a corporate environment: "We investigate things that are too risky or time-consuming for our product design groups to look into, with an eye towards making our company money in the future."

</comment></comment><comment><USER4> Despite this, I know that a lot of professors in top labs do not like you to do reading in the laboratory. Yes - they expect you to read academic papers and know _everything_ \- but that is for your own time. When you are in the lab you do experiments (my experience was in genetics/biology). In fact I knew of a lab where you had to leave a note on your bench with your whereabouts if you were going to be away for longer that 10 minutes. These were very successful labs.

<comment><USER5> They are successful in the sense that they get lots of grant money and the professor has lots of political power in the field. They churn out papers. Thinking back over my reading, though, I'd say they're underrepresented per capita in producing really interesting science. What you are describing is also a peculiarity of biology and some parts of chemistry. It doesn't work that way in physics or in much of engineering.

However, if you're running a megalab and have lots of political clout, it's very important to keep anyone from thinking carefully and trying to look for inconsistencies. Academic empires fall from people doing things like that.

On the other hand, there were only a handful of professors at the Rockefeller University, where I went to grad school, who I respected as scientists. One of them had a Nobel prize. The rest didn't. The rest of the Nobel prize winners in that campus lousy with them you could have defunded and put out to be homeless on the streets and had no real effect on the advance of science.

</comment></comment><comment><USER6> A month at the bench can save you an hour in the library.

<comment><USER7> This is definitely a massive overstatement. I think it's true in almost any industry, that the best results come from a balance of these things.

You don't get anywhere by doing and not thinking. You don't get anywhere by thinking and not doing. Things like this don't have to be (and are not) black and white.

</comment></comment><comment><USER8> Research is not the same as science. This article is about research. The title is wrong.

<comment><USER9> I agree. Also , who starts a research without the faint idea of how and where to look? Reading a book for me would be pre-research. At least in a company, where we have r&D.

</comment></comment><comment><USER10> Outside of a "traditional" lab setting...I don't see a conversation about research on the "job" here.

I'm curious how some of you in a startup and non-startup handle employees doing research. I'll give a quick example and then propose a personal problem for those who want to skip my dribble. ;)

EXAMPLE: I've held various levels of IT positions at various companies. Great. At times, you need to do more than just read a quick article or blog post, you need to do some serious reading (and testing) if you are doing some major changes. At times, this reading was met with dirty looks or snide remarks from upper management, but I was lucky 90% of the time and my immediate boss would back me up. For clarification, I would also spend hours reading (and testing) at home.

I understand the thought of not paying someone in corporate to read, but at some point, I think it should be reasonable to allow employees to read on the job. How do you police it? That's a different conversation.

(unless you want to read personal dribble you can stop here)

Personal anecdote: in two different jobs I became the "go to" research person. In one instance, I stopped coding, but I kept writing algorithms. Nothing at all fancy. But my teammates loved it. One specific colleague and I worked together regularly to come up with faster and cleaner ways to do some complex business logic in our web applications. I'm not much of a sports person, but everyone else was...my nickname was "special teams" and they would call me in where there was a problem.

Sure, he could have done this on his own, but I worked better as a generalist, a problem solver. I do not like coding for work, I love doing it on the side. I was in heaven, so was he. Clients were happy.

The problem? There are not many jobs, at least that I can find, where I can say "Yeah, I don't want to code, I just want to be your 'special teams' guy." I mention this to say, be careful where research takes you. I might suggest that you let it improve your skills or go full-research route. Sitting in limbo between the two isn't pretty.

</comment><comment><USER11> Based on the conditions listed at the end of the article, I think a lot of people in academia aren't doing research/science. \--former scientist.

<comment><USER12> Truth. Real scientists spend most of their time writing grants.

<comment><USER11> One of the reasons I left immediately after finishing my PhD. If I wanted to jump endlessly from platform to platform, I had Sonic the Hedgehog for that.

</comment></comment></comment><comment><USER13> Look at me still talking while there's science to do.

</comment><comment><USER14> As someone that does research full time in an academic setting, I am happy to hear someone talking about (and refuting) what I can imagine some companies calling a "research" position. I agree with him on his points, and I hope this drives home a point to some people who may be in a similar situation.

And, for the record, Richard Feynman did not do very much paper reading. I know, I know, a very special case, but I had to say it...

<comment><USER15> Paper reading is one of the ways of learning what else is out there. You can substitute that with talking to other people. Which Feynman did a lot, judging from the stories in his books.

Actually, now that I'm thinking about it, it seems to actually be MUCH more efficient (if you have smart people to talk to): trying to find the good papers in the middle of the sea of publications/noise is a very time consuming task.

<comment><USER16> Publications from reputable journals are easier to find than to find smart people firsthand who are experts in the field.

<comment><USER17> Unless of course you're Richard Feynman, and you happen to know them because you all worked on the Manhattan Project together.

</comment></comment></comment></comment><comment><USER16> A lot of research time is spent on finding that "aha!" moment, where you everything you have thought of coalesces into a force that makes pursuing your educated guess worthwhile.

</comment><comment><USER18> this post IS my PhD. it feels very unproductive compared to my old real job, but I wouldn't have written the piece of code I've just bashed out without all the reading (often incomprehensible) books and coding the broken things I have over the past 6 months.

I'm at my most "research productive" with a pen and paper in the cafeteria after about a month of the right stimuli!

</comment><comment><USER19> Does anybody know of a realistic way to pursue research (by this definition) as a career, _without_ becoming a grant-seeking professor (I have moral qualms about taking taxpayer money)?

For background, I'm getting a PhD in CS.

It seems like research labs are few and far between, and (unfortunately) I can't stay a grad student forever.

<comment><USER20> "I have moral qualms about taking taxpayer money"

That's strange. If you do your job properly, why shouldn't you get paid even if it is by the taxpayer?

<comment><USER11> Doing research for a company has the end goal of benefitting that companies' shareholders. Doing research for a publicly funded institution has the end goal of benefitting society.

Look at the decoding of the human genome. No company has a patent on that because public institutions did it first.

<comment><USER21> Arguably, though, goals and results are two different things. "The road to hell is paved with good intentions", and all that. What does the evidence say about which benefits society more?

<comment><USER22> A company works for its shareholders, which are a very restricted group, and public funds work for society. Intuitively, the outcome is clear. It's also supported by actual data: wages stopped rising in the US in the 1970s, while productivity kept going up; this is correlated with the introduction of concepts like "shareholder value".

<comment><USER21> Google is a company that has produced tremendous benefit to society, in spite of having shareholders.

<comment><USER19> To add to the above: Pretty much all companies benefit society; it's hard to think of counter-examples.

Sure, oil companies spill oil sometimes; but they (should) have to pay for that.

Big telcos tend to have monopoly status, and exploit consumers, but they do that not because they are companies, but because they are in a patron-client relationship with the government.

Some companies produce tremendous benefit to society; others produce small benefits, which matter a lot in the aggregate.

</comment></comment></comment></comment></comment></comment></comment><comment><USER23> not supporting unknown browsers by blocking just suck. Baaad website ;-)

</comment><comment><USER24> I'm interested in how they managed to cleanly remove the entire meat of the blog post without damaging any other aspect of the site. Is JavaScript really that ... _petty_ ... or did they have to work hard to achieve that effect?

Judging by what w3m and lynx show me, they're doing User-Agent sniffing to serve up pages. Isn't that a violation of the Geneva Convention at this point?

<comment><USER25> "Your browser is not supported. The latest version of Safari, Chrome, Firefox or Internet Explorer is required ..."

They have no good reason behind whitelisting browsers.

<comment><USER24> Also:

> The latest version of Safari, Chrome, Firefox or Internet Explorer is > required

I see two browsers on a fairly fast release schedule. Do they really update their User-Agent filter on Firefox's release cycle? On _Chrome's_ release cycle? At that point, they might as well be specifying patch levels; pick a minimum version and keep with it.

Or, you know, design a site up to modern standards, because if you absolutely _need_ everything in the HTML5 spec to host a blog you might as well actually _listen_ to a web dev once in a while.</comment></comment></comment>


Bitcoin, a Digital Currency - <AUTHOR> http://bitcoin.org <comment><USER2> Bet they get dozens of users.

<comment><AUTHOR> The forum is extremely active and the channel #bitcoin-dev on freenode is really active. It already been slashdotted.

<comment><USER2> Right but I don't see this as becoming large outside a small geek interest.</comment></comment></comment>


PAC 12 Recommends Major Changes to NCAA Basketball - <AUTHOR> https://www.nytimes.com/2018/03/13/sports/ncaabasketball/pac-12-task-force.html <comment><AUTHOR> Anything to avoid doing what should be done: Paying them the wage they deserve as full-time, professional athletes who are the bedrock of a multi-billion dollar industry.</comment>


Premature Flexibilization Is The Root of Whatever Evil Is Left - <AUTHOR> http://dev.hubspot.com/bid/7271/Premature-Flexibilization-Is-The-Root-of-Whatever-Evil-Is-Left <comment><USER3> This insight already has a catchier name: 'YAGNI'

<http://en.wikipedia.org/wiki/You_Ain%27t_Gonna_Need_It>

<http://c2.com/xp/YouArentGonnaNeedIt.html>

<comment><USER4> Absolutely. This, along with DRY, allow you to write in just as much complexity/flexibility as is appropriate at that moment. I think the corollary to this is that you need to become adept at recognizing when additional abstractions and/or consolidations are necessary... in other words, learn when You Really Do Need It.

</comment></comment><comment><USER5> It would seem that popular software practices are trending away from certain types "premature flexibilization." Conventional Java coding practices - <USER2> you might have seen everywhere a decade ago - might call for a number of interfaces, class hierarchies, and perfunctory design patterns (getters, setters, perhaps factories) just to declare a SINGLE concrete class.

These days we're much more accustomed to succinct code in dynamic languages and looser structural rules. Maybe some of this strict enforcement has shifted off into test suites.

The author's observation that anticipating changes / future requirements in software is often misguided and ill-informed fits right into this trend toward simplicity. Concise, readable code that's easy to shuffle around is much better suited for adaptation than a big, bulky "framework" that tries to anticipate every contingency.

</comment><comment><USER6> I suppose anything "premature" is evil. By its very nature, the word "premature" has a negative connotation.

I won't argue for or against "flexibilization". But I do think separation of concerns is never premature (any isolated piece of code should have as few concerns as possible). And code with properly separated concerns should inherently be flexible.

</comment><comment><USER7> I think I've heard a similar idea described as "worse is better".

I think part of the problem is languages that force early decisions. In general, the more things can be changed at runtime, the less planning required for flexibility later.

There may be some need to balance that flexibility with discouraging stupid behavior. I've seen a number of complaints about Ruby programmers modifying built-in classes in ways that cause other code to break. I'm not sure it's a fundamental problem with the idea of extreme dynamicism though; it may simply have problems in single-dispatch single-inheritance OO languages.

I'd really like to see a language with generic functions where _every_ function is generic. Clojure-style custom dispatch functions and hierarchies would be good too.

</comment><comment><USER8> Making Broad Strong Claims About Extremely Complex Stuff Is The Root Of All Evil.

Where's my place in dictionaries? :P

<comment><USER9> "MBSCAECSITROAE" Just doesn't have much of a ring to it, sadly.

</comment></comment><comment><USER10> This is tough. I want to both passionately agree and disagree with the idea; I have real life experiences that could act as arguments for/against either side.

The easy thing to do would be to nitpick some small aspect of the article that doesn't have anything to do with the author's main point. (bad example case, maybe a misspelling, OMG how dare you judge the holy patterns book!, lol you totally ripped the patterns book, etc) Instead I want to try to express how I feel about this and how I think it's both correct and incorrect.

I'm a big proponent of keeping code small. Small code means there should be less that can go wrong. I get a headache if I run across a situation where I can't see a reasonably straight forward solution built of components I already have. I dislike making a whole new class if I don't have to, but on the other hand I prefer to have objects that are smart about their purpose rather than stupid/generic objects which have no specific knowledge of what they contain. It's a delicate balance. Do you make a class to represent a product identifier - or do you just use a string? There's often good arguments either way. How to choose?

When in doubt, simplicity should win - but that's a nebulous rule, too. (Ironic that simplicity isn't a simple thing, no?) What does it mean to be simple? The author touched on this in the final paragraph, but I think that deciding the meaning of simplicity is, in fact, the _entire_ crux of the problem he was describing. If you're in a certain frame of mind, building a complex, interconnected framework may be the simplest solution. The same situation, when viewed differently, may appear to be solved with a handful of procedural functions in 1/10 the amount of code - but usually that point of view is with the benefit of hindsight. How do you know for sure that your simplicity isn't just a complex problem waiting to happen?

Let's say the product identifier was originally specified as a string, but as you develop you find that you often need the product name and image in addition to the identifier at a large number of points in your program. It was simpler to use a string at first, but now perhaps some kind of structure representing all of a product's information together would be nice. It might mean the difference between methods taking 3 arguments of product information vs. taking just one product object. Is that simpler or more complex? You've now introduced another class to your codebase. If you had added that on day one, anticipating this situation, you may have been labeled a "premature flexibilizationist." Why is it okay to add it now when you knew you'd need it from the start? How much old code will you be able to simplify now? How much time did you waste working around the old limitations?

To me, the truth of a design choice becomes clear the moment you start having to design around or in spite of it. The moment that happens - and I mean the VERY MOMENT you think, "hey, all I need is a very special-purpose method here that takes an extra argument and then..." you've got to stop everything and throw something away. Something has gone wrong somewhere.

If you ever write a line or two of logic that you've written somewhere else in the codebase, that very same reaction should immediately occur. Never. Repeat. Logic.

So yes, I'm in favor of simplicity - but no, I'm not in favor of blatantly ignoring the truth of your situation. Experience, logic, common sense, etc. exist for a reason. You can't just blindly write the simplest thing that will work when the simplest thing that works NOW will have to be deleted tomorrow to make room for the new simplest thing that you knew was going to come anyway. Should you plan for every. possible. contingency? No, of course not - just plan for what you need, but if you find later that you didn't need something - GET RID OF IT QUICK!

I think the problem with keeping things too simple at first is that somewhere someone has to deal with the complexity that's there but getting ignored. The problems are just pushed up higher and higher until eventually the user of the software is exposed to it. Taking that idea down into the APIs, when designing a class, your "user" might just be yourself later on in another context of the code, but why put yourself through a complex object interface when you could just make it clean here and now? I often see objects with convoluted usage patterns - you have to initialize this before that, if you call method X then method Y will not give correct results, etc. That kind of stuff is insane! Oh sure, it may have been simpler, easier, and quicker to implement the object at the time - and by golly if that wasn't what the agile extreme programming guru said to do - do the simplest thing that works, after all! The thing is, an interface like that is broken, IMO. It's crap. It's too complicated. Sometimes developers ignore that complexity is a larger scope problem than the text of the code itself, and that's an important thing to remember when deciding if something is needlessly complex or not.</comment>


Assembly is shutting down December 6, 2015 - <AUTHOR> http://assembly.com Read more here: http://assembly.com/ <comment><USER2> I'm interested to see how history treats these first few decades of our commercial internet. We have VCs looking for home runs funding companies that invest thousands or millions of man-hours building products that get scuttled and lost forever. While this may be the very best way for wealthy VCs to get even more wealthy I'm sometimes nostalgic for the years of human effort wasted when things shut down. I'm not one to bemoan our best minds working on "trivial" consumer products. If you're building something people want, that's noble enough for me. But I wonder what the internet would look like if we didn't have a land-grab mentality and instead built companies more slowly and sustainably.

<comment><USER3> I don't really want to get into the whole "Tax the 1%" issue but it's becoming more obvious that taxing the ultra wealthy will lead to these kinds of sustainable companies. That tax revenue, when streamlined into larger research grants for DARPA projects or NSF stuff would produce technologies and general scientific advancements that startups would be able to develop on. Not just cool new ways to serve advertisements.

The ultra wealthy are desperate to find new ways to double their money through investments [1]. However, they are not desperate enough to start their own research labs, from which great advancements are made. Thus, I feel money could be more efficiently allocated for future sustainable scientific and technologic advancements if the government utilized increased tax revenue from 1%'ers to create more opportunities for such companies.

[1]: [http://www.economist.com/news/briefing/21678215-world- enteri...](http://www.economist.com/news/briefing/21678215-world-entering- third-stage-rolling-debt-crisis-time-centred-emerging)

Edit: typo

<comment><USER4> You seem to be under the misconception that you would be allocating the money.

<comment><USER5> Midbrow dismissal.

</comment></comment></comment></comment><comment><USER6> What did Assembly do, and can we have their domain name?

<comment><USER7> Assembly was a system of tools for developing applications via crowd contributions. Coderwall ([https://coderwall.com/](https://coderwall.com/)), Firesize ([http://firesize.com/](http://firesize.com/)) and Helpful ([https://helpful.io/](https://helpful.io/)) were a few of Assembly-made projects that were built with Assembly.

To make a long story short, projects were pitched to an idea board, and were up or down-voted on by community members. Ideas that got traction were "green- lit", which basically meant that the Assembly company would provide resources for it like hosting, DNS, email services, git repositories, etc., etc.

Apps that were greenlit could create bounties for work that needed to be performed, and any member of the community could collect on those bounties. Need design work like logos and icons? A designer (or many designers) could grab the work and submit their entries. Each unit of work would be awarded a pre-determined amount, and those payments amounted to a blockchain allocation -- e.g., submitting a logo might be worth 100 points, while submitting the accepted logo might be worth 1,000 points. That 1,000 points equated to ownership. If there were 10,000 points awarded to date, your 1,000 points were worth 10% ownership.

If the product was developed, completed, marketed, etc., and turned a profit, Assembly would collect a rake to cover expenses, and all the profits were paid out based on allocation.

It was a good system, really, and resulted in some pretty neat projects. That said, I'm not surprised to see it being shuttered. A while back they pivoted most of their tools into being some kind of community changelog, and as a fairly active participant, I literally stopped using it after that, as I had no idea how to use it, saw no instructions, and all the chatrooms that had existed previously had been shuttered in favor of the changelog.

I assume, but have no inside knowledge, that between participation dropoff, and the other end -- that many projects were either never completed, never marketed, never got traction, or not really good, they were outlaying too much and getting too little success on the other end.

For a (probably) better description of what they were, this article is handy: [http://tech.co/assembly-basically-group-projects- adults-2015...](http://tech.co/assembly-basically-group-projects- adults-2015-03)

<comment><USER8> Coderwall wasn't built on Assembly, it was owned by one of the Assembly co- founders and they brought it onto the platform, but little work happened to it once it was on the platform.

        It was a good system, really, and resulted in some
        pretty neat projects. That said, I'm not surprised
        to see it being shuttered. A while back they pivoted
        most of their tools [...]

Their platform was very good. The pivot only happened quite recently, it seemed like a last ditch attempt to build a product that could generate interest rather than a mistake that caused the death of Assembly.

My take is that Assembly (the original platform) failed because for a project (being developed on the platform) to succeed it needs passionate people heavily invested in a vision for the project: the majority of projects created on Assembly didn't have this, they had people who thought "this is cool" and were willing to contribute an hour or 2, but they lacked passionate leaders. 100 people who think "this is cool" aren't worth 1 that thinks "this is the future, I'm putting everything I have into this". Most projects on Assembly effectively limped from contributor to contributor.

Buckets was a good example of a project being built on Assembly that had the chance to succeed because there was a lead developer who was driving it forward, he was very passionate, had a vision and invested a lot of his time into it, and others were providing value even if they just dedicated an hour or so.

Assembly (the company) probably would have had a better chance of succeeding if they had built the platform and then had their employees focused on leading projects, being the passionate leaders projects need and giving the community a few years to grow to the point where it was self sustaining. Firesize is a good example of what was possible, but unfortunately that was only one of a few projects that had passionate people involved.

I really liked Assembly and it's a shame it didn't work out. I think the idea has a chance one day but it needs time to grow organically, I don't think it can work as a VC backed company that is expected to grow however many percent month on month...

<comment><USER9> > _" I think the idea has a chance one day but it needs time to grow > organically, I don't think it can work as a VC backed company that is > expected to grow however many percent month on month..."_

I think that is the key. The open source process just works on a much slower time frame then what is required of what was pretty much a VC business model.

> _"...if they had built the platform and then had their employees focused on > leading projects, being the passionate leaders projects need and giving the > community"_

I do think a platform like this could work, they would have to incorporate what is essentially a match making service between founders and the existing open source projects. Once a project finds a critical mass of clarity, it gets infused with purpose and direction by a founder.

</comment></comment></comment></comment><comment><USER10> What is the lesson here?

My take is that loosely assembled teams never really perform well unless there is social connection and a clear, fully shared vision with the team.

<comment><USER11> That's obviously important but it seems more likely the business model was just not viable. The company was VC-funded [1], so they were looking for something that would either generate solid profits or be strategic for potential acquirers within some reasonably short period of time.

From reading the Crunchbase profile it's somewhat hard to see how they would have achieved those goals. I would say their chances would have been a lot better if they were piggy-backing off an existing community rather than building the community _and_ platform simultaneously. Maybe based on their experience somebody else will be able to pull it off. It's a reasonable idea. You can't fault them for trying.

[1] [https://www.crunchbase.com/organization/assembly#/entity](https://www.crunchbase.com/organization/assembly#/entity)

<comment><USER10> I wish things like this had a nonVC funding option! The pressure is almost guaranteed to break a fragile, new start. If ideas are seeds and humans are soil, VC acts like Monsanto poured all over it: Grow our way fast or shrivel up and die.

</comment></comment></comment><comment><USER12> I really liked Coderwall, one of the first product these guys made. But suddenly their focus was on something bigger and much more ambitious. Coderwall had a nice growing user base and I really liked using it. Maybe building simple useful things and focusing on improving them could have been the goal for this team.

However, would like to thank them for their efforts.

</comment><comment><USER13> As someone creating a similar platform (Kicklet.com), I'm curious. Historically, are failures like this reliable indicators that competitors should reconsider their business as well?

<comment><USER14> I'm not saying you'll fail. Please understand that.

That startup playbook that just came out, and countless other sources, anecdotes, etc all say the same thing : work with people you know, that you know well. Friends, former colleagues, etc.

It is quite a barrier to meet someone and jump on a project with them as a co- founder. Especially as a side project where the commitment level is low. I think you should think seriously on that.

<comment><USER13> You make a good point, though the ability to work with people you already know seems to at least partially depend on where you live. Having lived in several places, I've always found finding collaborators to be considerably easier on the coast than elsewhere (in the US).

</comment></comment></comment><comment><USER15> No one has cracked that business yet. CambrianHouse, Assembly. My own attempt. Goodwill doesn't pay the bills.

<comment><USER16> Many people in communities can't contribute much work besides moderation or testing.

If you have something that isn't really interesting for hundreds of people, you will struggle to get a handful of working bees. Even less people who will pay anyone to do the work.

I simply can't imagine that there is any real money in "that business" :\

</comment></comment><comment><USER17> I never understood why projects like this shut down. Why not just turn them over to a community member willing to run it out of pocket or something? I get that its not going to turn a profit, but if someone was using it why not just give them the reigns?

Such a waste.

<comment><USER18> If only it were that simple.

They were processing thousands of dollars of payments for projects that people had started - who would administer that side of things?

</comment></comment><comment><USER19> Will Coderwall continue to exist, or is that shutting down as well?

</comment><comment><USER20> Oh, for a second there I thought Assembly was shutting down: [https://en.wikipedia.org/wiki/Assembly_(demo_party)](https://en.wikipedia.org/wiki/Assembly_\(demo_party\))

This is some unicorn that just imploded.

<comment><USER21> Assembly is still kicking here [http://www.assembly.org/](http://www.assembly.org/).

I've always wanted to go to Assembly and was super worried for a second.

</comment></comment><comment><USER22> I found this a little ironic: [https://web.archive.org/web/20150202013149/http://blog.assem...](https://web.archive.org/web/20150202013149/http://blog.assembly.com/our- incredible-journey)

<comment><USER23> What's the irony?

Assembly's platform is now open source, as are all the products the community built. The blog post you linked highlights a certain ethos we had as a team, and the way Assembly was shut down is right in line with that ethos.</comment></comment>


The next omics? Tracking a lifetime of exposures to better understand disease - <AUTHOR> https://www.knowablemagazine.org/article/health-disease/2019/exposome-research <comment><USER2> Not even methylation is a standard omic yet.

The observations described in this article would be considered phenotypes.</comment>


jQuery.Syntax now does inline highlighting - <AUTHOR> http://www.oriontransfer.co.nz/software/jquery-syntax/

<comment><USER2> Also worth checking out: highlight.js <http://softwaremaniacs.org/soft/highlight/en/> (doesn't use jQuery and is modular).

<comment><AUTHOR> That looks interesting.

Using jQuery in my opinion is a feature - it reduces overall code bloat (DRY) - and integration is easier, since common jQuery idioms are used.

jQuery.Syntax is also highly modular - only the syntax definitions and stylesheets required are loaded. If there is nothing on your page, only a bare minimum (2) scripts are loaded. These scripts are deliberately as short as possible, so that load time is fast.

</comment></comment><comment><USER3> Does Firebug have anything like this for jQuery written in the console?

<comment><AUTHOR> I'm not sure I understand your question... do you mean does Firebug have syntax highlighting?

<comment><USER3> Yes. Your question made me think I am missing something obvious. Maybe <http://firerainbow.binaryage.com/> or another add-on?

I have the Firebug out-of-the-box syntax highlighting, but that doesn't apply to JS in the Console or Script windows.</comment></comment></comment>


Who really likes Silicon Valley? - <AUTHOR> http://www.startwithmoxie.com/2011/08/who-really-likes-silicon-valley.html

<comment><AUTHOR> This caught my attention because of the large amount of discussions around the MN tech communities of the how-to-become and how-are-we-not like Silicon Valley variety.

I agree MN has a large resource pool of technical ability and more to create great technology/start-up companies; but we'll never be the next "Silicon Valley."

People can argue whether or not that's a good thing. All I know is it's certainly not a bad thing. :)</comment>


Ask HN: How to make money as a digital publisher in 2017? - <AUTHOR> Hello gang,
I've been running a website for 8 years. We still have great visits, but our eCPM has been dropping monthly for years now. Ads are also becoming increasingly bloated, leading to slower and slower load-times for the website.
Back in December I switched from "http" to "https", unaware that doing so would rule out a few of my ad networks who don't support https. As a result, our revenue dropped 80%.
Anyway... I don't know what to do at this point. For those curious, the site is www.indieshuffle.com -- and right now we're serving ~600,000 ad impressions a day with a ~20% fill at... roughly $0.10 eCPM. Would love to know if you have any tips or suggestions. <comment><USER2> How about some premium features for $x a month rather than relying on ads? Asking your most loyal users for $5 a month to hide all ads could get some decent traction. In my experience, users are willing to pay for products they use regularly, but a lot of sites are scared to ask for money.

If you're getting 600k ad impressions per day then your visitor numbers must be fairly high so even a marginal uptake of the premium features would probably beat that $0.1CPM

Look to Mixcloud for inspiration [https://www.mixcloud.com/premium/](https://www.mixcloud.com/premium/)

Also Promoted Posts (i.e. highlighted tracks) may work but you'd need to test if your user base is happy with this as I presume they value your independent voice.

</comment><comment><USER3> Some ideas to earn extra revenue for your site

\- charge for featured listings that appear more prominently on your site. \- place music related amazon and itune affiliate links \- integrate outbrain or taboola

<comment><USER2> > integrate outbrain or taboola

As a potential user of your site, I really advise you not to fill your site with this clickbait crap.</comment></comment>


The Spotify Student Discount is here - <AUTHOR> http://news.spotify.com/us/2014/03/25/the-student-discount-is-here/

<comment><AUTHOR> They are using something called [http://www.sheerid.com/](http://www.sheerid.com/) to verify student status. This strikes me as a little strange that such a service exists, does that not violate HIPPA laws?

<comment><USER2> > They are using something called > [http://www.sheerid.com/](http://www.sheerid.com/) to verify student status. > This strikes me as a little strange that such a service exists, does that > not violate HIPPA laws?

HIPAA deals with health information, which doesn't seem to be at issue here. FERPA deals with education information, but specifically permits disclosure of "directory information" without prior consent. [1]

[1] [https://www2.ed.gov/policy/gen/guid/fpco/ferpa/students.html](https://www2.ed.gov/policy/gen/guid/fpco/ferpa/students.html)</comment></comment>


I would love to share some promo codes for my app Quicklytics with HN! - <AUTHOR> http://escoz.com/quicklytics

<comment><AUTHOR> I develop this on the side while reading HackerNews, and I would love to share some promo codes with the HN community! Should I just post them here on the comments??</comment>


Facebook adding auto-playing video ads to Messenger - <AUTHOR> https://qz.com/1309535/facebook-is-putting-autoplaying-video-ads-in-messenger/ <comment><USER2> Just wondering how they're going to keep people on the platform with these annoyances.

People can tolerate ads on FB itself because it provides an unique experience that's hard to replicate elsewhere (due to the network effects), but I don't see what value Messenger offers compared to iMessage or WhatsApp (I know the latter is FB too but it doesn't yet have ads).

The second people see ads in their messenger they will just continue the conversation on iMessage or WhatsApp or Telegram.

</comment><comment><USER3> This is really good news.</comment>


Elon Musk considers move to Mars despite 'good chance of death' - <AUTHOR> https://www.theguardian.com/technology/2018/nov/25/elon-musk-move-mars-chance-of-death <comment><USER2> if there's a GoFundMe page for this I've got $1 to help send him on his way</comment>


DTrace for Linux 2016 - <AUTHOR> http://www.brendangregg.com/blog/2016-10-27/dtrace-for-linux-2016.html <comment><USER3> It would be worthwhile to clarify the term "tracing" to distinguish between live aggregation and post-processing approaches. The general confusion around the "tracing" terminology seems to imply a competition between these two, while they should rather be seen as complementary.

DTrace, SystemTap and eBPF/BCC are designed to aggregate data in the critical path and compute a summary of the activity. Ftrace and LTTng are designed to extract traces of execution for high resolution post-processing with as small overhead as possible.

Aggregation is very powerful and gives a quick overview of the current activity of the system. Tracing extracts the detailed activity at various levels and allows in-depth understanding of a particular behaviour after the fact by allowing to run as many analyses as necessary on the captured trace.

In terms of impact on the traced system, trace buffering scales better with the number of cores than aggregation approaches due its ability to partition the trace data into per-core buffers.

Both approaches have upsides and downsides and should not be seen as being in competition, they address different use-cases and can even complement each other.

<comment><USER4> You're right that a key feature and differentiator of DTrace/stap/BPF is kernel aggregations, but they can do per-event output as well. But I think I know what you mean, especially as I was at the sysdig summit yesterday and could see a major difference.

I think the two models for tracers, playing on their strengths, are: 1. real- time analysis tracers (DTrace/stap/BPF), and 2. offline analysis tracers (LTTng, sysdig). Both can do the other as well, but I'm just pointing out strengths.

sysdig (and I believe LTTng) has done great work at creating capture files that can then be analyzed offline in many many different ways, and they've optimized the way full-event dumps can be captured and saved (which I know LTTng has done as well). DTrace/stap/BPF don't have any offline capture file capabilities -- they could do it, but it's not been their focus.

</comment></comment><comment><USER5> I've only recently tried out DTrace on OS X, and I'll admit to being kinda floored at what it can do. To think I used to be satisfied with strace on Linux!

Seeing the tracing capabilites of Linux expand is exciting indeed.

Edit: the couple of tutorials that finally unlocked DTrace (on OS X) for me are:

[https://www.objc.io/issues/19-debugging/dtrace/](https://www.objc.io/issues/19-debugging/dtrace/)

[https://www.bignerdranch.com/blog/hooked-on-dtrace- part-1/](https://www.bignerdranch.com/blog/hooked-on-dtrace-part-1/)

<comment><USER6> Agree, DTrace on OS X is supper powerful.

I once try to debug the open source libusb app in Mac OS, with DTrace I can trace the App, Kernel USB API call, libusb internal thread in user space, etc.

Much better visibility to system activities compare to simple strace.

Absolutely love the power of what it can do.

BTW, Can a DTrace script to use to monitor a system with potential "Dirty COW" type privilege escalation issue?

</comment></comment><comment><USER7> The most challenging thing for us is running a new enough kernel to get these features. While upgrading to a newer kernel isn't particularly hard, small companies don't have a lot of engineering resources to run kernels that aren't maintained by their distro of choice (usually on the LTS release).

The good thing is this is solved simply by waiting long enough. The bad thing is most developers can't just pick this up today without a bunch of extra effort.

If you are looking for something you can use with old kernels you should definitely checkout Brendan's perf-tools repo[1]. It takes advantage of older kernel features and works with things as old as ubuntu 12.04.

*Edit: Fixed Brendan's name

[1]: [https://github.com/brendangregg/perf- tools](https://github.com/brendangregg/perf-tools)

<comment><USER8> This is the same problem shared by RedHat customers, although RH is great about backporting features to older kernels, I'm not sure they'll be able to move this to 3.x from 4.9. The price we pay for stability.

<comment><USER9> You mean the price paid for stable kernel ABIs, so proprietary drivers can use them?

The Linux kernel is the most safe operating system component to upgrade, mostly because the Linux kernel people care deeply about compatibility and not breaking user space. While it is still not free to upgrade, the cost is minimal compared to the cost (in real money, risk, security) of backporting major components to older kernels, like Red Hat is doing.

Red Hat is maintaining old kernels for having a stable kernel ABI (among some other reasons), not for general "stability".

Personally I run only CentOS, but always with a recent kernel, albeit usually a LTS one. Mostly to get exactly these type of features described in this article.

<comment><USER8> Well they show the same caution and care around curating their repositories and releasing security fixes, so in my opinion (you may disagree) they try to ensure stability beyond the kernel's ABI.

<comment><USER10> Indeed. The kernel is not the only component (of the complete system) that gets features backported.

I, personally, am quite happy that I don't really have to worry that a routine "yum update" is going to break any of my installed applications.

</comment></comment></comment></comment></comment><comment><USER11> Congrats, this is good news.

> On Linux, some out-of-tree tracers like SystemTap could serve these needs, > but brought their own challenges.

I was pretty happy with stap, it had a really rich feature set.

> DTrace has its own concise language, D, similar to awk, whereas bcc uses > existing languages (C and Python or lua) with libraries.

I think we need more creative names for languages. The short and simple ones like "go" and "D" keep on having collisions. :)

>BPF adds ... uprobes

uprobes + all the other stuff is really killer, I like the idea of watching for stuff like "my app has crossed this threshold and then this system condition occurs". At least when I tried it a couple years ago with stap my kernel wasn't built with uprobes support and I wasn't inclined to rebuild it. Hopefully it becomes (or has become) more mainstream.

<comment><USER4> > I was pretty happy with stap, it had a really rich feature set.

So are other companies. I mentioned it in the post, as in a way this hurt BPF development, as companies that normally would have contributed resources said they were satisfied with stap. Exciting times might be ahead for stap, if it continues its BPF backend.

As for naming, yes, we need better names. Maybe the bcc/Python/BPF combination can be named something?

</comment></comment><comment><USER12> Will there every be way to write probes/tracing scripts without dropping into C? I don't mind C in general, but I don't want to have to dig out the documentation for the eBPF C library and start writing hundreds of lines of C every time I want to run a trace.

DTrace made this really nice, because you would write your tracing scripts in a high-level, awk-like language, which is the sort of thing well-suited to the purpose.

<comment><USER4> Yes, see the section "A higher-level language", which mentions at least two projects: SystemTap+BPF and ply.

Think of the current bcc/Python/C interface as a lightweight skin that was necessary during BPF development to kick the tires on various features, prototype tools, see what else needed to be done, etc. It may be good enough to stay around, as lots of tools have been written for it that will get used and be valuable. But there's room for higher-level languages too.

If Sasha keeps developing his "trace" tool (and its summary counterpart, argdist), that may serve many such custom needs (as another option). See the various examples: [https://github.com/iovisor/bcc/blob/master/tools/trace_examp...](https://github.com/iovisor/bcc/blob/master/tools/trace_example.txt) , like:

        # trace 'sys_read (arg3 > 20000) "read %d bytes", arg3'
        TIME     PID    COMM         FUNC             -
        05:18:23 4490   dd           sys_read         read 1048576 bytes
        05:18:23 4490   dd           sys_read         read 1048576 bytes
        05:18:23 4490   dd           sys_read         read 1048576 bytes

<comment><USER13> How feasible would it be to compile the dtrace language itself to an eBPF backend?

<comment><USER12> Huh. Is there a formal definition anywhere?

If we have some kind of spec (even if it's not formal), it might be possible, since they are roughly equivalent, AFAIK. However, since I haven't worked in- depth in either, I'm unsure what work would be involved: it's possible that only a subset would compile.

Anyways, this is probably a good goal to shoot for. Dtrace is the system tracer on pretty much all of the other big unixes, so it's a good idea to support as much of its language as possible. Plus, there are a lot of scripts already written in DTrace's language: having access to them would be invaluable.

<comment><USER4> Nobody would love a DTrace/BPF front-end more than I. And not just because I'd sell more copies of my DTrace book (I joke :). It is a really nice language, although missing a few things that BPF can do that DTrace can't (like saving and retrieving stacks), so it'd need to be enhanced.

But with the warning that I'm not a lawyer: before beginning work on a DTrace/BPF front-end, I'd start by talking to a copyright lawyer to see if permission or a license is needed from Oracle. DTrace is Oracle copyrighted, and re-implementing a DTrace front-end on Linux sounds a lot like re- implementing an Oracle-copyrighted API.

<comment><USER14> What would stop one from enhancing the DTrace in illumos further? That is licensed under the CDDL, and Adam has made several enhancements to DTrace lately, and if my memory serves me correctly, Bryan fixed a couple of bugs in it recently as well.

<comment><USER12> Wouldn't really solve our problem, though: We'd need a new compiler for the language. As I understand it, that would require a almost entirely new codebase. But I don't work on DTrace internals, so I may be wrong.

<comment><USER14> What? That doesn't make any sense. How is dtrace(1) built on illumos, then?

<comment><USER12> I'm uncertain, but I thought dtrace on illumos was interpreted. Am I wrong?

If I am, than all we'd have to rewrite was the compiler backend, which is much easier, so that would be nice.

<comment><USER14> dtrace(1) itself is compiled from C into an ELF binary executable.

      % file `which dtrace`
      /usr/sbin/dtrace: ELF 32-bit LSB executable 80386 Version 1, dynamically linked, stripped

The DTrace language, D, is interpreted. By DTrace.

The problem lies in the fact that neither the GNU/Linux kernel, nor the GNU applications provide DTrace probe points. On Solaris and thus on illumos, and thus on SmartOS, there are tens of thousands of probe points and numerous probe providers. Some external applications, like PostgreSQL or PHP, added DTrace probes, and all is well on Solaris / illumos / SmartOS. Some, like node.js had providers and probes added by engineers at Joyent.

[http://dtrace.org/blogs/dap/2012/04/25/profiling-node- js/](http://dtrace.org/blogs/dap/2012/04/25/profiling-node-js/)

[http://dtrace.org/blogs/dap/2013/11/20/understanding- dtrace-...](http://dtrace.org/blogs/dap/2013/11/20/understanding-dtrace- ustack-helpers/)

[http://dtrace.org/blogs/blog/category/node- js/](http://dtrace.org/blogs/blog/category/node-js/)

GNU/Linux would have to do the same thing. It currently only has but a handful of DTrace probes and providers, which is understandably not very useful.

[http://dtrace.org/blogs/ahl/2011/10/05/dtrace-for- linux-2/](http://dtrace.org/blogs/ahl/2011/10/05/dtrace-for-linux-2/)

<comment><USER12> None of that is at all what I meant: allow me to clarify.

I was talking about the DTrace language, which I have been avoiding calling D up until this point, so as to avoid confusion with the other D. In this post, when I talk about D, I will be referring to the DTrace language.

Linux now has a tracing system called eBPF, which provides many of the same advantages of DTrace. This is what Gregg's blog post was about.

However, eBPF requires compiling tracer scripts, or at least parts of the tracer scripts, into bytecode (IIRC). Currently, the bytecode is usually compiled from C code. However, it is ungainly and impractical to write a bunch of C every time you want to run a trace. So I asked if they had plans to support compiling a higher level language. At this point, somebody suggested that somebody should work on compiling the DTrace language, D, to eBPF bytecode. I thought that this would be a good idea, and we were discussing how viable it would be.

I thought that you had suggested using Illumos DTrace as a base for this compiler. Since by my impression, Illumos DTrace interprets D, I thought that this would require almost a complete rewrite, and thus it wouldn't very helpful.

It seems you meant something else. So what did you mean?

<comment><USER14> I think we both got lost, didn't we? (:-)) So let's rewind:

 _It is a really nice language, although missing a few things that BPF can do that DTrace can 't (like saving and retrieving stacks), so it'd need to be enhanced. But with the warning that I'm not a lawyer: before beginning work on a DTrace/BPF front-end, I'd start by talking to a copyright lawyer to see if permission or a license is needed from Oracle._

I fail to see how Oracle would be relevant, given that the entire DTrace is released under the CDDL. My question to Brendan was why he couldn't just take or enhance the existing DTrace codebase to do the front-end for BPF?

(Personally, I think the other guy working on integrating BPF deeper into the GNU/Linux kernel, rather than _biting the bullet_ , taking DTrace and doing the same thing Solaris engineers did to the SunOS kernel, is terribly mis- guided, especially since some probes and providers already exist in Linux. In the end, it will be a "Linux zoo", like everything else in Linux: "56" competing solutions for doing one thing, none of them comprehensive, and no consistency. Linux history is being repeated again. You have one comprehensive tool which works across several operating systems, DTrace, and Linux is yet again different from everyone else. Reminds me a lot of Microsoft Windows.)

<comment><USER12> It's not ideal, but eBPF works now, and it works on all the new kernels, which is more than can be said for any of the DTrace on Linux projects. It looks like eBPF is becoming that unified solution (mostly: ftrace and a few others still exist, but eBPF is the most capable, and is picking up steam). As for being different from what the other Unixes did, that's why I was in favor of developing a frontend that supported D, so that we could at least have a shared language with the rest of unixland.

>My question to Brendan was why he couldn't just take or enhance the existing DTrace codebase to do the front-end for BPF?

Brendan didn't answer, so I don't know, but my guess was that turning the interpreter into a compiler would require a near-complete rewrite.

<comment><USER4> > that's why I was in favor of developing a frontend that supported D, so that > we could at least have a shared language with the rest of unixland.

Yes, D everyone would be nice, but what exactly does it mean? We can share DTrace scripts? Docs? Blog posts? Books? I've been porting them all over to bcc/BPF. Am I missing something?

People have already began work developing new languages, eg, ply [https://wkz.github.io/ply/](https://wkz.github.io/ply/). What if we develop a language that's much better than D? We need to make enhancements, anyway.

I should reiterate something I covered in the post: most people won't care about this. Most people didn't write DTrace scripts when they had the option to (did either of you write DTrace scripts? have some on github?). Most people used the tools. And today, people can "apt install bcc-tools" and use DTraceToolkit like tools.

If someone wants to engage lawyers & Oracle and see if or what needs to be done to use DTrace, then great, it'd make my job easier when developing these tools (and I'd sell more DTrace books :). But I'd also like to see someone take a swing at developing a better language as another possibility.

<comment><USER14> _did either of you write DTrace scripts?_

I did, some, in the beginning (circa 2006): I was stymied mostly by the realization that _deep, deep_ knowledge of the kernel structures was required to make use of DTrace (I wasn't working as a kernel engineer per se at the time.)

I forgot a lot of it in the meanwhile: just yesterday I was trying to get a simple ustack() using DTrace on a running process, and I even pulled open "Solaris Performance and Tools", and eventually when the process finished, I threw up my hands in frustration. All I wanted to do was see why the running process (oggenc) was taking so long. (But this BPF thing looks far, far more complicated and convoluted than D.)

Nevertheless, I think D is ideal, because, in my case, it plays on my experience in programming AWK: apart from needing to know what in the kernel I wanted to probe, I could immediately start writing DTrace programs without having to learn the language. And _that_ is amazing.

<comment><USER4> See my other comments -- Annatar, what is your real name?

I'll add: as someone who has written and published countless DTrace and BPF scripts, I don't know that pursing a DTrace front end is wise right now, for reasons I've already covered.

I'm sorry you weren't able to solve that issue. I'd suggest starting with a profiler (timed sampling) if it was running on-CPU, to see where CPU time is spent.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> So we're not getting DTrace proper, it seems. Instead something else will stem up from the various linux tracing systems. Maybe this BPF-based one.

It's a shame. One of the nice things about dtrace was that there was a book on it. Good, in-depth documentation on performance tools is hard to find.

<comment><USER4> Thanks, I wrote the DTrace book with Jim Mauro, and there will be a BPF tracing book as well.

BTW, I wouldn't say "maybe" regarding BPF, as it's integrated in the Linux kernel (unlike most of the other tracers, which are add-ons). Sooner or later everyone who runs Linux is getting it.

<comment><USER16> I think I bother you about a new tracing book for Linux every time one of your articles is posted, so I'll give my obligatory: We want a new Brendan Gregg tracing book! ;)

Things have been moving so fast it's probably a good thing you didn't. It sounds like 4.9 will slow a lot of that down to a more manageable pace for writing a book, though.

</comment></comment></comment><comment><USER17> > In 2014 I joined the Netflix cloud performance team. Having spent years as a > DTrace expert, it might have seemed crazy for me to move to Linux

I thought Netflix was mostly running FreeBSD [1]. Is it only the Open Connect Appliance?

[1]: [https://www.freebsdfoundation.org/testimonial/netflix/](https://www.freebsdfoundation.org/testimonial/netflix/)

<comment><USER4> When you login to Netflix and browse videos, you're running on the Netflix cloud, which is massive, AWS/EC2, and mostly Ubuntu Linux. When you hit play, you're running on the OCA FreeBSD CDN, which is also a large deployment.

<comment><USER14> So why didn't they just deploy FreeBSD across the entire server park? That would also give you DTrace again...

<comment><USER18> I'll put $1 on politics. I mean look, you have an OS that bgregg has had to pour how much effort into to get the observability that FreeBSD already had? And that's just the observability part. Then you have the FreeBSD network stack. To me it's clear based on the work done on Linux it was a political choice.

<comment><USER14> Yeah but if that's the case, it's really bad. There is no place for politics in computer science or information technology.

<comment><USER19> I think it's more likely because Netflix uses the JVM -- probably the Oracle JDK -- which is supported on Linux but not on FreeBSD.

<comment><USER14> That makes _even less sense_ , and reeks even more of irrationality: if they're using JVM, a Solaris based system like SmartOS would be the best choice - Solaris is where Java is developed, after all.

It's like buying a NetApp appliance to run NFS servers, when Solaris is _the_ reference NFS server implementation. Humans do not make any sense with their decisions governed by feelings instead of logic.

<comment><USER4> Yes, we're using the JVM. No, Solaris or SmartOS would not be the best choice. Would it help if I went into detail as to why?

<comment><USER14> Yes it would.

<comment><USER4> I worked on Solaris for over a decade, and for a while it was usually a better choice than Linux, especially due to price/performance (which includes how many instances it takes to run a given workload). It was worth fighting for, and I fought hard. But Linux has now become technically better in just about every way. Out-of-box performance, tuned performance, observability tools, reliability (on patched LTS), scheduling, networking (including TCP feature support), driver support, application support, processor support, debuggers, syscall features, etc. Last I checked, ZFS worked better on Solaris than Linux, but it's an area where Linux has been catching up. I have little hope that Solaris will ever catch up to Linux, and I have even less hope for illumos: Linux now has around 1,000 monthly contributors, whereas illumos has about 15.

In addition to technology advantages, Linux has a community and workforce that's orders of magnitude larger, staff with invested skills (re-education is part of a TCO calculation), companies with invested infrastructure (rewriting automation scripts is also part of TCO), and also much better future employment prospects (a factor than can influence people wanting to work at your company on that OS). Even with my considerable and well-known Solaris expertise, the employment prospects with Solaris are bleak and getting worse every year. With my Linux skills, I can work at awesome companies like Netflix (which I highly recommend), Facebook, Google, SpaceX, etc.

Large technology-focused companies, like Netflix, Facebook, and Google, have the expertise and appetite to make a technology-based OS decision. We have dedicated teams for the OS and kernel with deep expertise. On Netflix's OS team, there are three staff who previously worked at Sun Microsystems and have more Solaris expertise than they do Linux expertise, and I believe you'll find similar people at Facebook and Google as well. And we are choosing Linux.

The choice of an OS includes many factors. If an OS came along that was better, we'd start with a thorough internal investigation, involving microbenchmarks (including an automated suite I wrote), macrobenchmarks (depending on the expected gains), and production testing using canaries. We'd be able to come up with a rough estimate of the cost savings based on price/performance. Most microservices we have run hot in user-level applications (think 99% user time), not the kernel, so it's difficult to find large gains from the OS or kernel. Gains are more likely to come from off-CPU activities, like task scheduling and TCP congestion, and indirect, like NUMA memory placement: all areas where Linux is leading. It would be very difficult to find a large gain by changing the kernel from Linux to something else. Just based on CPU cycles, the target that should have the most attention is Java, not the OS. But let's say that somehow we did find an OS with a significant enough gain: we'd then look at the cost to switch, including retraining staff, rewriting automation software, and how quickly we could find help to resolve issues as they came up. Linux is so widely used that there's a good chance someone else has found an issue, had it fixed in a certain version or documented a workaround.

What's left where Solaris/SmartOS/illumos is better? 1. There's more marketing of the features and people. Linux develops great technologies and has some highly skilled kernel engineers, but I haven't seen any serious effort to market these. Why does Linux need to? And 2. Enterprise support. Large enterprise companies where technology is not their focus (eg, a breakfast cereal company) and who want to outsource these decisions to companies like Oracle and IBM. Oracle still has Solaris enterprise support that I believe is very competitive compared to Linux offerings.

So you've chosen to deploy on Solaris or SmartOS? I don't know why you would, but this is also why I also wouldn't rush to criticize your choice: I don't know the process whereby you arrived at that decision, and for all I know it may be the best business decision for your set of requirements.

I'd suggest you give other tech companies the benefit of the doubt for times when you don't actually know why they have decided something. You never know, one day you might want to work at one.

<comment><USER14> It was Jeff Bonwick's team which proved that the number of engineers or even developers working on a given problem is completely irrelevant: ZFS was developed by a team of, what, five people? Meanwhile, how many people are working on BTRFS? It's nowhere near ZFS.

But, let's chalk that up to an isolated, one off statistical aberration. From what I understand Adam and Bryan wrote DTrace almost single handedly, with some help from Mike, and even with all the contributions, you can still count the people who made DTrace a working production tool on the fingers of your one hand.

However, let's chalk that up to a one-off, statistical aberration as well. Meanwhile, how many people are working on how many tracing frameworks for Linux?

Next, we have zones, a complete, working, production proven virtualization solution, augmented by KVM, lx, TRITON, Consul, et cetera. One coherent solution. Built upon technology on which _I_ ran production Oracle databases on, way back in 2006, powering a very large institution which was making very large amounts of money. By the second. How many engineers did it take to design, architect, and code all that up?

Meanwhile, there are how many competing cloud virtualization solutions based on Linux? And remarkably, except for SmartOS, _none_ are a complete, comprehensive solution: they all lack one thing or another. Not one of those Linux based solutions is paranoid about data integrity or correctness of operation. Those things are not even an afterthought of Linux.

Should I chalk that up to a one-off, statistical aberration, or would you say that there is a pattern here?

Amiga Intuition library, the foundation on which the GUI is built into the system, was written single-handedly by one just one person: RJ Mical. In a couple of days! For almost two decades, it was _the_ reference on how to build a library of GUI primitives with almost unlimited flexibility.

Star Control 2, one of the greatest games in history, was developed by just two guys in the span of three years.

Dave Haynie almost single handedly developed not one, but entire series of Commodore computers, the C16, C116, C Plus/4 (Commodore 264). Those are the lessons not only of history, but of our contemporaries, people you used to work with: KVM was ported from the Linux kernel by what, three engineers, and form what I can tell, it runs faster on illumos than it does on Linux where it's developed! Why is that?

You and I apparently drew a completely different set of conclusions: when you wrote _Linux now has around 1,000 monthly contributors, whereas illumos has about 15_ you seem to equate the number of people working on a product with that product's capability and quality, whereas I drew the conclusion that the number of people is _irrelevant_ , but what the individuals or individual can do makes all the difference in the world.

Where you are absolutely correct is that the job market for illumos based operating systems is non-existent, at least in the country where I live, and slim elsewhere (I used to work in Silicon Valley and in other parts of the States). That's a fact. But I wouldn't rush to the conclusion that it's because illumos or SmartOS are worse products, because I see no evidence of that. Furthermore, at the end of the day, _people still need to run a cloud on something which actually works_ , and Linux is not it. It doesn't work correctly, when it works at all. Not even after 20 years, billions of dollars and a world wide army of people working on it. What is the alternative? SmartOS.

I read the Netflix tech blog from time to time. And over time, one thing became clear to me: Netflix can do the things it does because they have _one single_ application to scale, but most of the world _out there, in the trenches_ , has more than one application. You write of people with deep knowledge of the kernel and performance: I've been working in this industry for _decades_ , and I've yet to meet anyone like that (they must all either be a secret society, or I'm just way too paranoid, but I do know a lot of IT professionals). So perhaps it's a living in an enclave problem, or perhaps both you and I work in enclaves, only different ones? I'm the only person I know _in IT_ that has done or has any interest in kernel, system engineering or performance; I must either be incredibly bad at picking companies to work for, or people you mentioned are really _few and far between_ , or a third possibility is that it's a fluke coincidence?

Let me tell you about my world: I work on and with Linux professionally. Where Netflix has only one major application (according to their tech blog) to worry about, I work at a place where we literally have _several thousands_ of applications, some bought, some developed in-house; for just about every problem, we have an average of _five_ applications, all different, but basically doing the same thing; and some of our applications are so exotic, so complex, and so custom, that it is impossible to find anyone on the market with any experience in them. _Thousands._

So while you might be picturing this in your head, imagine running Linux, and suddenly your database keels over: Linux didn't fail over to the other path, so multipathing doesn't work right. Then imagine having systems with data corruption, but Linux can't fix it, because ZFS isn't supported by redhat which we run, so there goes that - another outage (we have regulators and governments to worry about, so the company is reluctant to start hacking their own custom kernel and a ZFS-based Linux). Next, Linux suddenly has an outage because the NFS mount is flapping. Why is it flapping? Because Linux's NFS implementation doesn't play well with NetApp. Now imagine stuff like this happening on a scale of 72,000 systems, spread across the planet. I never had such problems with Solaris. Not once.

But, since that's anecdotal evidence and experience, we have to discount that as well.

Then, I have hardware (from one of Oracle's competitors), very, very expensive, intel-based 80-CPU Xeon monsters, with .5 TB of memory per system, where the serial console _hangs at random_ : redhat points the finger at the hardware manufacturer, hardware manufacturer points the finger at redhat. Result: console is still hanging at random, with both companies telling us they have no clue what the problem is. That's Linux for you.

Serial console always worked just fine on illumos. After all, it's basic functionality.

Then there's the issue of Linux not getting shutdown properly: you'd think that after 20 years of development and as you correctly noted, a world wide _army of developers_ and billions of dollars in investments, the shutdown procedure wouldn't try to write to an already unmounted filesystem; it's basic functionality, after all; but even that is too much to expect, apparently (I can dig out the redhat bug if you're interested).

That last one, we cannot chalk up to a fluke, and even worse, sgi's XFS was the only one which actually detected that write and panicked the kernel - <USER2> was oblivious to this data corruption. It's mighty difficult for me to engineer highly reliable services on such a substrate... but let's not dwell on that too much right now. It's too depressing.

Then there is tracing: you know there are several frameworks at play. Then there is also lack of proper DWARF2 support (I researched the subject, and found out that the "solution" was to replace my run time linker!) Can you imagine something like that being a solution on an illumos based system? I think everybody would commit collective suicide or quit altogether like Keith Wesolowski did before _casually suggesting_ such a thing, but let's not dwell on that either. (At this point, I think it fair to sue for pardon if I _don 't_ want my operating system made by people who think nothing of casually replacing the run time linker only to get DWARF 2 debugging support. Do you agree?)

Then there's this issue of startup: while SMF has been humming along for more than a decade, Linux is still trying to figure out some sort of a _complete working solution_ : currently that's systemd, and based on how it's architected, it looks like Windows and Linux are finally converging. Meanwhile, to make a startup which sort of reminds of the working SMF, systemd has several different configuration states for its services... and no fault management architecture to speak or write of.

One thing's for sure: your and my expirences are radically different. You shocked me to the core, but I also understand your thinking and motives for leaving illumos behind better, and it's the kind of appreciation I'm unable to put in words. You are also a much more flexible: after having seen just how convoluted, complex, slow, and resource wasting Java is, I would _never_ go work at another company which used it (the place where I work now, Java is _the_ language and _the_ platform). I'd just quit the industry like Keith did.

In spite of all of this, if you let me know how to reach you, I'll provide you with enough information on how to get in touch: I'd still love to have you over if you're in the country, and cook you dinner.

<comment><USER4> You've just discounted quite a lot of what I said as "no evidence", and have made some incorrect assumptions about both development at Sun and Netflix. Along with your other comments, at this point it's clear you are bashing on Linux, Netflix, and me personally, and you still haven't revealed your real name.

I'd like to know what your real name is. If you really cannot post it here, then feel free to contact me at firstname.lastname@example.com.

<comment><USER14> I _am_ bashing on Linux, absolutely; that massive bleeding wound is _very raw and painful_. I have no reason to bash on Netflix; I merely pointed out that, in my view, Netflix's problem domain is very narrow, and a luxury: most IT departments don't have only one (however massive) application to worry about.

As for you personally, I have nothing but highest respect for you. You are one of the reasons why I still haven't quit this industry. In fact, I still cannot believe I've actually communicated with _Brendan Gregg_. To me personally, you're a living legend. If I believed in personal heroes, you'd be one of them.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER20> Really rather unfortunate that big enterprise platforms such as banks and so forth are so far behind on their kernel version that it will be approximately 7-8 years before they will have this capability, unless RH backport of course.

<comment><USER21> On the other hand, I'm glad the banks who handle my money don't upgrade to the latest and greatest software without taking very, very stringent precautions to make sure everything will work.

<comment><USER22> In my experience thats not the case - its more like 'It works, no-one touch it! We're spending our money on more visible things' (several years later):- "Whats that, its no longer going to be supported? Damn, now we _have_ to upgrade"

</comment></comment></comment><comment><USER9> Linux is not my favorite operating system, but it seems like we're stuck with it. I'm very happy for all these improvements. Once you got used to a system with a quality and functional tracer, Linux was hard to get back to. But Linux tracing is getting better and better now. I am very satisfied.

<comment><USER14> _Linux is not my favorite operating system, but it seems like we 're stuck with it._

It only seems that way. We're never stuck with something as long as we don't accept it. One other factor is at play which works against Linux, and that is that people in IT like shiny new things, and therefore something else always comes along. Hopefully this time around, that something else will be the old new thing (learning from the past, and re-discovery). One way or the other, the clock is ticking on Linux, and one of these days, it won't be as popular any more, because something else will be the new-new thing. It's the nature of this industry:

change is the only constant.

You don't have to accept anything. Don't bow to peer pressure.

</comment></comment><comment><USER23> So how does this relate to uprobes? I've been looking into that lately because I want frequency counts (or coverage analysis) of user space programs but without the nop-sled overhead of xray. Does dtrace supplement or replace uprobes? Or am I really just confused?

<comment><USER16> DTrace is a Solaris (and BSD/OSX) tracing tool that never quite made it to Linux (There are some attempted ports, but none of them really caught on). BPF (and adding in frontends like BCC) give you the same sort of functionality in Linux.

BPF can take advantage of uprobes and instrument around them, but it interacts with them, and does not replace them</comment></comment>


Yahoo Launches "Stock Market for Ads" - <AUTHOR> http://blogs.zdnet.com/BTL/?p=8395

<comment><USER2> So, will advertisers still be forced to place ads on all Yahoo content networks (regardless of quality), or will I finally be able to create a campaign to advertise only on Yahoo's search pages?

</comment><comment><USER3> Sounds like <http://exchange.contextweb.com/></comment>