.NET Culture Shock - <AUTHOR> http://bloritsch.d-haven.net/articles/2010/06/25/net-culture-shock

<comment><USER2> I have some pretty deep experience with this.

I was a .NET consultant since Beta 2 shipped (sometime in 2000 iirc). Before that I was doing a lot of hardcore Win32 dev, mostly doing UI related stuff (was doing antialiased, alpha-channeled interfaces back on Win95 in ASM & Pascal). Long story short, I was pretty deeply entrenched in the MSFT development camp.

But once .NET hit, I was already well into a career doing web development at the dotcom factories in NYC (razorfish, RGA, Rare Medium - plus consulting for FCB/FuelNA, McCann, other agencies). .NET quickly became the platform of choice for a variety of reasons, but looking back I think it was mostly because it was easy and you didn't have to be a rocket scientist to get results. MSFT is fantastic at documentation and the supporting ecosphere for .NET folks was pretty impressive. Gone were all the XML config files, the design pattern saturation of Java, and one of the best* IDE's available for lazy, non-challenged developers, aka Visual Studio.

And it was easy money. I was charging upwards of 250/hr consulting for Pfizer doing the most inane shit you could possibly imagine, shit you could do with two eyes closed and tripping on mescaline. But people were amazed at how quickly you got shit done, but not necessarily because you were some kind of rockstar - it was just easy.

But at some point it grew tiresome. ASP.NET is a hulking piece of shit, anyone that tells you otherwise is lying and/or too stupid to realize it. You start realizing that these other .NET developers you know are unchallenged nitwits without any sense of vision, any sense of craft. A bunch of me too dim wits who collect paychecks by copying and pasting their way to completion.

I was asked about 4 or 5 years ago to take on the CTO role at <http://massify.com/>. I was initially brought in to consult on getting it built. My first spec and budget was insane because I was relying on the MS crutch. I looked at their goals and what it would take to run this on .NET and the two didn't align. So I stepped back and redid the spec/budget based on OSS. The cost savings were astronomical, somewhere in the neighborhood of 900%. The only problem is that the only Un*x-like system I had ever touched were the NeXT stations from college (fo shizzle).

Considering that I'm entirely self taught (I went to Art School) and the way I had taught myself was throwing myself into the fire, I figured I could figure it out and make it work. And I did. I made a few mistakes of course, but as of today - I am not longer at Massify - they are still running with no unexpected downtime for roughly ~$500 a month.

And now that I've lived in the OSS/Unix world for the last 5 years, I will never ever ever go back to Windows or .NET (though I'm the CTO for a shop whose system was written in .NET - we are currently porting it over to OSS stack). It's so much better over on this side of things, I can't even enumerate the ways.

First of all is cost savings. As a CTO, that's your primary gig (usually). When I started Massify, hosting alone was ~6K a month. After a few months of hard work, we got it down to $500 a month by pushing it into the cloud. This includes a self-scaling application that does HD media conversion, CDN hosting and distribution, the whole nine. Not a trivial application by any stretch of the imagination.

Second of all is ease of administration. The learning curve was steep, don't get me wrong, but fuck all if I'll ever go back to Remote Desktop and the bullshit that is Win2K server admin. Life is too short. I have SSHd and PowerShell rocking now for the .NET app we are currently maintaining/porting, but it's such a sorry knock off of the real thing. Gimme bash or zsh or give me death is my new motto.

Third of all is the pace of technology. Nobody is innovating in the .NET space except for MS. Everyone else is a me too, redmond regurgitating drone army. OSS moves much faster. A problem you had a month ago was probably just solved today. And you didn't have to wait for MS to do it and you don't have to pay someone bizarre licensing fees for it.

Finally, the culture is so much better. People share, people contribute, there is a collectivism that is lacking from the .NET world where the old shareware model is the status quo.

I'm not sure how MS comes back to the fore, I think it's too late for them. The world is open now, and the closed model only flies for people without a clue. To become dominant again, they'll have to open up, truly open up. But, I think it's too late. There is better stuff, for free, out there and without an OSS model, they'll never be able to catch up.

Just my .02.

<comment><USER3> 5 years ago for .Net was a very long time ago. Back then the only games in town were C++, java or .net. The former was for the hardcore, the other two were written by programmers who had no clue what they were doing. You're just taking a memory of what it used to be like and comparing it to what you know in OSS today.

You're talking before the fairly meteoric rise in the standard of web programming over the past few years. Before blogs. When tables vs divs was an actual argument. When C++ was relevant in anything apart from high performance programming.

You're also talking about .Net 2.0, pre-LINQ, extension methods and MVC.

And reading your post makes it sound more that you have a chip on your shoulder about bad programmers more than anything else:

 _lazy, non-challenged developers_

 _ASP.NET is a hulking piece of shit, anyone that tells you otherwise is lying and/or too stupid to realize it_

 _other .NET developers you know are unchallenged nitwits without any sense of vision, any sense of craft. A bunch of me too dim wits who collect paychecks by copying and pasting their way to completion_

 _redmond regurgitating drone army_

There are lots of jobs in .Net or java. There's sweet fa for a crap programmer in OSS. Once you realise that is the reason you came across so many crap programmers, perhaps you can understand that there's nothing actually wrong with .Net, it was actually a pretty fucking big revolution. On the other hand you will still come across .Net programmers who think datatables are pretty funky, rely heavily on view state and bizarrely believe .Net controls aren't the spawn of the devil.

As for the rest of it, honestly, 'Win2K server admin', um, it's moved on man. Stop beating the straw doll. 'The world is open now', look a little more objectively at the world we actually live in. Did you even notice the iPhone come out a few years back? Or the Kindle? Or all the other closed source proprietary systems that a me too OS movement gleefully copies, badly for the most part. There's plenty of room at the table for both.

Yes MS have turned into a pretty crap company under Ballmer, but their language teams are still pretty damn good.

The reality is you've become a more experienced programmer. And somehow you're magically attributing it to OSS instead of just knowing more than when you were wet behind the ears.

<comment><USER4> _Or all the other closed source proprietary systems that a me too OS movement gleefully copies, badly for the most part._

OSS and proprietary seem on opposite sides of support-systems and customer- facing systems. Proprietary > OSS for users' visual cortex, OSS > proprietary for everything supporting that top layer.

I think part of it is that OSS UI reeks of design-by-committee. Which is something Apple has gotten _ridiculously_ correct. UI needs to be unified and have a flow to it, something which you're more likely to get from a single (highly skilled) person than from a thousand.

<comment><USER5> The entire "open source doesn't look as good" myth died a long time ago... at least 3 Ubuntu releases ago.

<comment><USER6> Ubuntu still looks like it belongs next to Windows 95 and Mac OS 7.

<comment><USER5> Seriously?

I hate trolls like you. A lot of us work really hard on making it the best damn platform ever, and it is, and then some quack who doesn't know anything says "it's just like Windows 95" which shows that they didn't even bother to try it out, or take the tour on ubuntu.com or even watch a recent video of the latest release on youtube. And that just sucks the fun out of life.

Please, actually take a look at it before saying something ridiculous.

<comment><USER6> I'm basing that one first hand experience, but as vetinari correctly guessed, I do run it in VMware. I have no way right now to test if, as he says, that makes a huge difference. But using a VM is how most people will test out operating systems and the best way to get first hand experience without a huge commitment.

Calling users trolls who don't know anything doesn't make me want to give you any credit. Vetinari made me consider that I might be missing out on the best the platform has to offer but you just made me want to uninstall it.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I had to check when this was written. Sadly, it's this year.

He says that .Net coders don't answer each other's questions. What's stackoverflow then?

He says that the .Net ecosystem is not as rich, and mentions nUnit, but not the other major open-source testing frameworks - xUnit and mbUnit. Then there's also MS testing, or if you like BDD, there's NSpec and SpecFlow.

I've seen seven or eight open-source .Net IoC containers (including one from Microsoft). By far the weakest of the major ones was Spring.Net, the straight- up port of the popular Java tool. If you don't like EF (Microsoft's ORM), there's NHibernate. Subsonic and others. If you don't like Webforms or asp.Net MVC, theres Fubu and OpenRasta.

Unfortunately a Resharper licence is the price of entry into a lot of IDE goodness. He has that right anyway.

The .Net shop that I work in doesn't choose tools to use in our .Net development efforts based on cost or licence. We choose what makes sense. There is really are few or none "only paid, proprietary software" development shops left. It's all mixed.

<comment><USER8> "He says that .Net coders don't answer each other's questions. What's stackoverflow then?"

The first response in the comments secition is plug for stack overflow. The author didn't know that it existed.

<comment><USER9> > The author didn't know that it existed.

I find it quite telling. Every company I know of that blocks unauthorized websites, IRC channels and so on happens to be .NET (or other flavors of Microsoft) shops.

<comment><USER7> _Every company I know of that blocks unauthorized websites ... happens to be .NET_

But the reverse is not true - not every company on .Net blocks websites. I don't actually know of any that block.

Blocking digg or facebook is one thing, but If you block Stackoverflow, there's no hope for your development practices.

<comment><USER9> Last time I contracted for a hardware maker, I had to have two separate computers: one box where I had manager role, where I could compile and debug code (with Visual Studio), that sat on a network that had unrestricted access to the net, and another that could access the corporate Exchange server and the internal network. By default, all webites were locked out, but you could request access to what you needed, one site at a time, and the security folks would see what thy could do. It took me a month of signatures to get my second computer, the one with full Internet access.

</comment></comment></comment></comment></comment><comment><USER10> Voted up because I'd like to see more people give .NET the college try. If you can put aside your biases about MSFT and start playing with the frameworks, you'll be impressed.

It's not without its faults, but a lot of the negativity expressed towards it is unwarranted.

<comment><USER9> I think in college you should broaden your mind instead of going after what you may have to learn anyway. In college, you have the luxury of time to experiment, something you rarely have later.

Try Haskell, Lisp, Forth, assembly (on bare metal - write your own kernel), Erlang and anything that's "too weird" for most "enteprisey" developers. Buy an old 8-bit computer at eBay just to get a hang of what is programming within 64K of memory. Make hardware for it. Play with non-relational databases.

Most important advice of all: play. You are not learning a job, you are becoming a craftsman (craftsperson?). If you don't enjoy it, you won't do it well.

You'll have time to learn Java, .NET and even Python and Ruby later.

<comment><USER11> I don't think you got the parent poster's meaning of "old college try".

Sure, in college, you should work with more academic and esoteric languages. I learned Lisp in college.

The point is, many people dismiss the merits of Microsoft tools and languages. One guy I worked with said, "I haven't used any Microsoft products in years" and that's supposed to make you an expert on them somehow? :)

<comment><USER9> > and that's supposed to make you an expert on them somehow?

No. But it has a good chance of making their experience broader. Microsoft is nothing but a tiny spec in the software development tools set. Using only Microsoft is not a good sign.

<comment><USER11> Absolutely, someone who uses only Microsoft technologies and tools is... impaired.

On the other hand, perfectly good things like C# (especially with LINQ and ASP.NET MVC) are being dismissed out-of-hand by otherwise reasonable people just because they came from Redmond.

</comment></comment></comment></comment></comment><comment><USER12> Microsoft has kept introducing major features in .NET every few years - generics, WCF, WWF, WPF, LINQ, EF, PE, Rx... So most of the millions .NET developers spent most of their learning time on those. On the other hand since 1.2 the only major and widely used new feature in Java is generics. And the focus in the community has been on patterns like DI, AOP, DDD, TDD ...

IMHO .NET still has one huge advantage - developing UIs for enterprise apps. Very easy to learn drag'n'drop win/web forms + multiple control vendors. Real component oriented programming.

<comment><USER13> This year by year increase in features - what I refer to as the "TV remote effect" - is of concern. Really they ought to concentrate upon consolidating and removing unnecessary features from the language.

<comment><USER14> Removing features is impossible. The best you can do is starting over once in a while.

<comment><USER15> You can sometimes get away with removing features under the guise of a "compact" version for a new platform, e.g. OSX -> iOS, WPF -> Silverlight

</comment></comment></comment></comment><comment><USER16> did anyone else notice the comments on the bottom where the author had never heard of stackoverflow? I think he wrote this article based on his preconceptions rather than reality.

A lot of what he says is true (developers who use Microsoft products are generally more willing to pay for software). but there are plenty of open source projects and a TON of online references - and there were even before the latest and greatest stack overflow came into existance.

<comment><USER7> _did anyone else notice the comments on the bottom where the author had never heard of stackoverflow_

"never heard of stackoverflow" is much the same as "never googled a tricky .Net question". Someone's due for a dose of culture-shock.

<comment><USER17> Well. Usually if you are googling .NET questions regularly, there is a good chance that you would have stumbled upon stackoverflow from the results.

<comment><USER7> Yep, that's what I said.

</comment></comment></comment></comment><comment><USER18> I just started learning .NET and C#. My first impression is that it makes using all the Windows API really easy. So, you can get the time without fiddling with C time structs, and use DLL's without allocating memory.

Here's the main distinction: Whereas Java has underlying it more Java, .NET has underlying it 30 years of carefully-optimised Windows C/C++ code. It's basically a layer turning Java-like code into very fast Windows code.

And it's clear to me that Microsoft spent a _lot_ of money writing this layer over Windows that makes writing Windows programs so easy. People don't give them credit for that.

<comment><USER9> > So, you can get the time without fiddling with C time structs

You know it's not more a compliment to .NET than a harsh critique on the (utterly detestable) Win32 API.

> Whereas Java has underlying it more Java, .NET has underlying it 30 years of > carefully-optimised Windows C/C++ code

Your faith in humanity impresses me.

<comment><USER18> I once decompiled a Windows Microsoft DLL imported function, and it clearly had a lot of optimisations such as quitting if the 1st character is 'n', etc.

So I've seen this optimisation with my own eyes.

<comment><USER9> I believe some places have very tightly optimized code. What I question is the risky assumption that under every .NET class you have carefully optimized code, refined for over 30 years. What did I use 30 years ago? Oh... A 6502. I had an Apple II+.

I also believe the Java stack has some very carefully optimized code too. It certainly has the performance to back up that affirmation. Besides that, it was designed to be easily portable to other OSs and architectures, a feature that's more important, IMHO, than speed under Windows.

Finally, you should only optimize for speed the code your profiler says has big impact on your performance. The rest you should optimize for readability _and_ correctness. There is a lot of very subtle bugs we introduce when trying to optimize stuff and it's much easier to optimize correct code than to fix blazingly fast, heavily optimized buggy code.

<comment><USER19> I was doing hand-optimizing of 6502 on the Apple ][+ back then. Well, a little bit, admittedly. The thing to do seemed to be a mix of BASIC and machine language. CALL-151 for the win!

</comment></comment></comment></comment></comment><comment><USER20> When you pay serious money for your development tools, you tend to not give stuff away for free. And this is what Berin's article is all about: culture. The culture of free vs. pay. I did AMX (the automation company, not the credit company) development, and there was pretty much zero open source solutions out there, because the culture was, "We charge for writing code."

<comment><USER10> The author is speaking to a mix of both which exists in the .NET community. Many of the really good IDE plugins like ReSharper, VisualSVN, and TestDriven.NET all cost $$$.

On the flip-side are a number of robust open source .NET components that are free like NUnit, SubSonic, NHibernate, RestSharp, and others. The most impressive is probably the Mono project, which attempts to port the entire CLR stack to POSIX platforms. IronRuby and IronPython are also impressive.

<comment><USER21> I've been watching and experimenting with Mono for a while ... Mono is not .NET ... it's a beast of its own, with its own ecosystem and culture.

Unfortunately it's missing a web stack; ASP.NET sucks on top of Mono.

<comment><USER7> YOu can run Asp.net MVC on Mono. What's sucky about that?

<comment><USER21> The stack is too heavy for Mono, which currently lacks a generational garbage collector ... which wouldn't be such a problem if libraries would be designed with Mono in mind (libraries designed for Mono don't have problems).

So yeah, you can run ASP.NET MVC on top of Mono, but it will leak memory, the server requiring periodic restarts.

When people say "you can run ASP.NET on top of Mono" they never have an example of a visible website / web service that does that.

Also, doing asynchronous I/O on top of Mono using the model available in System.Net.Sockets is flawed on Linux, because that paradigm is based on true async sockets available on Windows ... but on Linux it's emulated with ThreadPools.

A good and scalable server for Mono would be one using async paradigms available on Linux (like bindings to libevent or other libraries, like something that calls vmsplice/splice to send/receive data). It would also have to be throughly optimized/profiled such that it relies as much as possible on stack allocations and to be careful about heap-allocation patterns, such that it doesn't leak through memory fragmentation.

Also on speed ... using ASP.NET MVC you can currently handle 500 requests/second for a simple "hello world". This is simply unacceptable ... using Java you can easily reach 3000 r/s, and this by using a regular servlet- compliant synchronous server (by using stuff built on top of NIO, you can reach 15000 r/s). It is unacceptable because ... what's the point in using a compiled language with a smaller community, other than getting raw performance out of it?

Again, this could be solved with libraries designed for Mono. But unfortunately not too many people are interested in Mono as a web development platform.

</comment></comment></comment></comment></comment><comment><USER14> For commercial third party library's in the Java world people tend to charge for support. In the .NET world people charge for the code itself.

The incentives in the Java world are completely wrong. It's best to make your library as complicated as possible, because then you'll get a lot of people buying support. If you charge for the code then you make it as easy to use as possible to avoid support.

<comment><USER22> Since charging for support is a common "business model" with OSS, you're implying that the incentives are wrong with OSS in general.

Counterpoint: You know and can use the code before you pay anything. If you decide to prefer a certain library over another, this decision is based on real-world experience with that library. This decision might imply that you pay for support later on -- where support sometimes means implementing requested features.

<comment><USER14> Yes, the market forces to make the library easier to use clash with the forces to make it hard to use. You can't make it super hard to use, because then nobody will choose to use your library. You can't make it too easy either.

Fortunately the way humans are wired makes it relatively easy to get out of this trap: feature lists. Humans love long feature lists. You can add a lot of complexity without scaring people off.

> you're implying that the incentives are wrong with OSS in general

Yes, I am implying that for code that isn't developed for use by the company itself, or by non commercial programmers. This is very unfortunate, but whether you like OSS does not (or should not) change this. I have been thinking about ways of avoiding this, but so far I have not found a model. What I want is a business model where:

1\. The programmers do what they love and do best: coding, not support

2\. The primary activity (programming) brings money in, not some secondary activity

3\. Good libraries should earn more money

4\. The code is open source

A dual licensing model like Qt seems like the only way.

</comment></comment></comment><comment><USER23> I think that the one thing MS can claim to have done better with .NET is the fact that you can usually update the framework and notbreak your app. I have used several java apps that would break because I updated my java runtime. I don't really worry about that with .NET

<comment><USER24> That is because there are only really three versions of the framework out there: 1.1, 2.0 & 4.0. The compiler has changed (see: var, LINQ) and libraries have been added but the CLR hasn't changed much. Take a look at how C# implements lambdas - it's all compiler magic.

<comment><USER12> Interesting, how else have you seen lambdas implemented in a compiled language?

</comment></comment></comment><comment><USER25> The smallish company I work for is in the early stages of transitioning to a new development platform as all their existing systems are antiquated. The company doesn't have any particular dependance on Microsoft technology, and from my perspective it's a great opportunity to embrace a contemporary open source platform.

Sadly the management seems to be considering that all new development should be in .Net and centralised with TFS. I can't rightly understand why anyone would want to tie themselves to this costly, closed platform when they can essentially choose anything.

<comment><USER7> _Sadly the management seems to be considering that all new development should be in .Net and centralised with TFS._

I've seen .Net code stored in TFS, svn, perforce, Mercurial and git. If your management aren't using the source control system, why are they deciding? Just use the one that suits you.

</comment></comment><comment><USER26> I've done a small amount of coding in Java and am mostly a .NET guy, so I've seen a bit of both worlds.

It's an interesting take on .NET he has. I find that answers and sharing is as prominent in the .NET community as the Java community -- perhaps not as many F/OSS projects. Dunnno.

As far as setting up NUnit, takes about 5 minutes. Sure, it'd be better if there was a whizbang plugin for the IDE, but if you wanted you could make one easily enough and distribute. It's not convenient, but it never seemed like a huge deal. I've used NUnit, XUnit, and the MS tools. If I remember correctly, seems like there is an open-source pluggable test running tool. Never have played around with it.

And if you need help? Google is your friend. There are so many .NET people out there blogging and sharing code that you can just about ask Google any problem you might have. Hell, I've copied the error right from the IDE and pasted it in the search box -- works almost every time.

I like both communities, although I have become less of a fan of MS over the years. Lately I'm leaning towards coding in F# on mono for new projects, but I haven't set up the stack yet.

He does have a point, there is a difference in the cultures. But both communities are very accessible and easy to work with, at least from my experience.

<comment><USER27> I think the best analogy he made was the 70s/80s. It isn't that one is necessarily better than the other, but they are different. It takes some time to assimilate from one to the other.

</comment></comment><comment><USER13> As a language C# is ok, and there's not all that much difference to Java. If you use the Mono compiler and MonoDevelop IDE, which has integration with version control and NUnit, then things aren't too bad and you don't need to deal with a culture where every trivial utility is ransomware.

<comment><USER28> If you think C# is not much different than Java then you are either not running up against the limitations of Java much, not using C#'s features fully/properly, or both.

</comment></comment><comment><USER29> <http://altnetpedia.com/Tools.ashx>

<comment><USER30> And if you're looking for a good doorway into the .NET blogging community (well, maybe it's more of a firehose):

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

</comment></comment><comment><USER31> Voted up, just because I'm shocked to read about someone switching _to_ .Net in this day & age.

<comment><USER32> Real programmers sample platforms like items in antipasto. Revel in choice, don't reject it.

<comment><USER33> I agree.

Though--be careful with the term "real programmer".

<comment><USER32> I met boatloads of programmers and by now I have some that I would designated as Real.

My friend Johnathan calls the others "career programmers". Those are the people that you end up baby-handling, qualifying your statements and padding your speech with descriptive wiki paragraphs lest you lose them to a fancy day-dream.

<comment><USER33> I am OK with passing judgement like that. I was more concerned about confusion with another meaning of the term Real Programmer:

"A particular sub-variety of hacker: one possessed of a flippant attitude toward complexity that is arrogant even when justified by experience. The archetypal Real Programmer likes to program on the bare metal and is very good at same, remembers the binary opcodes for every machine he has ever programmed, thinks that HLLs are sissy, and uses a debugger to edit his code because full-screen editors are for wimps. Real Programmers aren't satisfied with code that hasn't been tuned into a state of tenseness just short of rupture. Real Programmers never use comments or write documentation: "If it was hard to write", says the Real Programmer, "it should be hard to understand." Real Programmers can make machines do things that were never in their spec sheets; in fact, they are seldom really happy unless doing so. A Real Programmer's code can awe with its fiendish brilliance, even as its crockishness appalls. Real Programmers live on junk food and coffee, hang line-printer art on their walls, and terrify the crap out of other programmers — because someday, somebody else might have to try to understand their code in order to change it. Their successors generally consider it a Good Thing that there aren't many Real Programmers around any more. For a famous (and somewhat more positive) portrait of a Real Programmer, see The Story of Mel' in Appendix A. The term itself was popularized by a letter to the editor in the July 1983 Datamation titled Real Programmers Don't Use Pascal by Ed Post, still circulating on Usenet and Internet in on-line form." (<http://www.catb.org/jargon/html/R/Real-Programmer.html>)</comment></comment></comment></comment></comment>


The Power of the Doodle: Improve Your Focus and Memory - <AUTHOR> http://online.wsj.com/articles/the-power-of-the-doodle-improve-your-focus-and-memory-1406675744?mod=trending_now_3 <comment><USER2> My brother is a conventional architect and urban designer, whereas I do software. When we discuss complex areas together, he frequently comments in awe of the quality of my doodling... he says they do it all the time in architecture (being a traditionally paper-heavy industry), but rarely do people exploring abstract notions on paper present them straight-from-brain in a structured and logically coherent manner.

My method is simply to establish a scope or primary area of concern and to explore it. Usually major points of inquiry come first, responses second, and then I change colors (eg. black to red pen) and enhance those initial points with annotations, questions/concerns and relationships. If scope changes, I start a new page, often based upon a subset of the previous page that becomes a new scope of inquiry. Sometimes relationships are explored more than a QA structure. Rarely, if a mode of inquiry or visual approach is discovered to be flawed, then the page gets redrawn with the new thinking integrated. This works well for me, and the intended audience is usually only the self.

When I travel, sometimes for months on end and from a single small backpack, along with the laptop my notebook and an array of pens makes the cut. I view it as a sort of organic memory device, as well as a muse.

</comment><comment><USER3> Explanation: where is it? How fast can you doodle? Can you train people to improve their doodling? Does this improve memory? Can you doodle concepts like a random forest?

<comment><USER4> Personally I just doodle with no objectives and no analysis of the outcome. Sometimes it's a pattern, sometimes it's a picture, sometimes it's a wonderful idea that properly kicks you in the face.

If you ask too many questions it formalises it too much and takes the joy away and possible shapes the outcome too much.

I will say that whilst doodling in presentations and meetings I tend to come up with some profound counterpoints while not even listening properly so perhaps it does work.

<comment><USER5> Agree 100% on the meetings sentence. I do the same passive listening while doodling thing. Works quite well.

</comment></comment></comment><comment><USER6> I wonder if doodling in this context is no more than a weak alternative to walking or other physical activity.

</comment><comment><USER7> Whenever I wait for Xcode to build I doodle random stuff on my notebook. It helps me relax throughout the day.</comment>


Why aren't more women airline pilots? - <AUTHOR> http://www.cnn.com/2011/TRAVEL/03/18/female.airline.pilots/index.html

<comment><USER2> I don't think money is the problem here. In Germany, Lufthansa, the largest airline and has the following model: the pilot program takes 24 months. Students have to pay 60k Euro which the get pre-financed by Lufthansa interest free. The have to pay it back once they get a job at Lufthansa (entry salary 60k/year). If they don't get a Lufthansa job within 5 years they don't have to pay it back. So basically, there is very little financial risk and the job is very well paid. They even give a job guarantee after pregnancy.

Still the female pilot ratio is less than 5 percent.

<comment><USER3> Do pilots start that program with absolutely no experience, or do they have to have a license (private? ATP?) already? That's a hell of a deal, given the civilian path to flying for an airline in the States and the debt that rides along.

<comment><USER2> No prior experience required. Just German Abitur [1].

[1] <http://en.wikipedia.org/wiki/Abitur>

</comment></comment></comment><comment><USER4> Perhaps because the pay is shitty?

"she began her airline career with a regional carrier, where the starting salary can be less than $20,000 a year for a first officer"

I guess the real question, given that the article mentions up to $100k costs for training (unless you go for the government subsidized route - i.e. the military), is why is anyone an airline pilot?

<comment><USER5> Being a pilot is much like being a doctor (in the US at least). In the US, people go to college for 4 years (costing anywhere from a little to a lot) and then 4 years of medical school, costing even more. Before they've worked a day (not counting placement as medical students), a typical doctor-to-be may easily have over $100k in student loans or paid tuition.

At that point they become interns/residents and earn less than waiters for several years. After that is when they make their money back. Depending on which specialty (if any) they may make it back in spades. Top-notch surgeons can clear $500k-$1m+ a year.

Pilots in their early years are interns/residents. They've shelled out for their tuition, just like medical school, and now they're getting paid not in cash but in logged hours. After a few years those hours will translate to higher salaries.

More: [http://blogs.wsj.com/middleseat/2009/06/16/pilot-pay-want- to...](http://blogs.wsj.com/middleseat/2009/06/16/pilot-pay-want-to-know-how- much-your-captain-earns/)

<comment><USER6> 100K in student loans for a doctor?

Not even close...that's what just a normal bachelor grad tends to have(well those that go to private schools).

For a doctor, those numbers are much more closer to 250-300K.

And that's not even the worst part...once they graduate and get their medical degree...they have to do their residency, which means they spend a few more years working for peanuts while their debt continues growing.

<comment><USER7> Your numbers are way off base. "Among graduating 4-year undergraduate students who applied for federal student aid, 86.3% borrowed to pay for their education and the average cumulative debt was _$24,651._ (For just federal student loan debt, excluding PLUS Loans, the figures are 61.6% and $17,878."

Now, a small number of people get into huge amounts of debt but it's uncommon because normally it's irrational behavior. Going to a big name school is much like buying a Prada handbag there are upsides and a lot of social pressure to do so, but for most people it's simply a bad idea.

PS: The best case for Harvard is vary good, but so is buying a lottery ticket. Once you consider a wider range of outcomes and risk vs reward things shift. EX: Consider what happens if you don't like being a Doctor?

</comment></comment></comment></comment><comment><USER8> Anecdote: the first time I ever had a captain was about 10 years ago on a Thai Air flight. (Bangkok to Chiang Mai.)

Since then, I've had a female captain on precisely 3 other flights (Laos Air, Thai Air, and United Express). This is out of probably 600-700 flights.

(And to those who are wondering, "are you sure you didn't miss any", I suspect you've never had a female captain. It turns out it's almost impossible to NOT notice a female captain's voice on the PA, because it's so unusual.)

<comment><USER9> All my female captains had baritone voices.

</comment></comment><comment><USER10> Take an industry which has a geeky enthusiast appeal very similar to that of IT. Then add in huge barriers to entry which make it very difficult for those not wholly committed to a long term career as a pilot to be considered.

</comment><comment><USER11> I'd argue three reasons.

First, airlines usually recruit military pilots, since the government was kind enough to invest $500k or more to train them as pilots.

Second, the era of airline pilots being a glamorous job is over. When major airlines add pilots, they usually come from a layoff pool.

Third, mothers are usually primary caregivers for their children. The schedule for a pilot is awful relative to the level of education required. It only really works if your spouse is in a job with very flexible hours.

</comment><comment><USER12> Haven't read TFA and I'm not going to because the answer seems obvious. I'd say this is mainly because a huge portion of (at least older) pilots were in the air force/navy and historically (unsure about now) women weren't flying in the air force/navy. The military is still pretty much a "men's world" and I think its probably the last place in society that we'll see an equal number of men and women on each task. Is it right? No, but that's what it is.

<comment><USER13> It's mind-boggling what some people consider worthy of an upvote around here... didn't read the article, guesses what it says, then pats self in the back for such a good job at commenting. Subsequent upvotes tell other people that this comment is somehow meaningful for the discussion. Cute!

Edit: and of course I'm downvoted. Thanks!

Edit2: I'm no longer downvoted. Even though this might be relevant to a discussion of the voting system, I don't want to intrude on the discussion of the article itself, so no need to vote anymore on this. Thanks for the upvotes, everyone. Nothing to see here, move along... :)

<comment><USER3> I downvoted you because as true as it might be, it's not constructive to call the OP out, and you're adding some of the very noise that you're complaining about.

<comment><USER13> Nod, I understand. At the risk of adding just a little more noise, a quick note: I initially ignored the comment, but then while reading other comments I started seeing the upvotes piling up, and frankly, it bothered me. I can't downvote, I can only comment, so that's what I did.

</comment></comment></comment></comment><comment><USER14> Why aren't more men florists?

</comment><comment><USER15> Dumb question. It is a short sighted question. This same question exists in most fields. Why aren't there more women fill_in_the_blank?

Why aren't there more women engineers? Why aren't there more women politicians? Why aren't there more women programmers? Why aren't there more women executives?

Women's interests and their own culture, from childhood to college, drive them to the occupations they want.

</comment><comment><USER16> I always assumed it was because women are lousy drivers and the stakes are much higher when you get behind the wheel of a plane... _duck_

<comment><USER14> I think your comment has some (limited) merit - men are supposed to have better spatial reasoning which is pretty important when you're considering attitude and approach, etc., I imagine.

<comment><USER14> From Psychological Science January 1, 1993 vol. 4 no. 1 35-40:

"Recent research suggests that dynamic spatial reasoning tasks show more robust gender differences than static spatial reasoning tasks."

From the Journal for Research in Mathematics Education, <http://www.jstor.org/pss/749620>, 2001:

"By 8th grade, girls' relatively poorer spatial-mechanical skills contribute to lower scores in types of mathematics at which boys typically excel".

Come on HN how does this not add to the discussion. Here's some food for thought:

* <http://pss.sagepub.com/content/18/10/850.short> \- action games altering spatial reasoning differences across the genders * <http://rer.sagepub.com/content/65/1/22.short> \- spatial reasoning appears to be a function of mathematical ability and not gender _per se_ * [http://www.sciencedirect.com/science?_ob=ArticleURL&_udi...](http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6V9F-3VV41KB-H&_user=10&_coverDate=10%2F31%2F1996&_rdoc=1&_fmt=high&_orig=gateway&_origin=gateway&_sort=d&_docanchor=&view=c&_searchStrId=1684437014&_rerunOrigin=scholar.google&_acct=C000050221&_version=1&_urlVersion=0&_userid=10&md5=6469ba0ec21c0495d08c16f8672a9792&searchtype=a) \- showing that it appears to be relatively easy to improve spatial reasoning, particularly for females, if there's a desire to do it

But hey stick your head back in the sand and repeat after me "everyone is equal; gender is an illusion".</comment></comment></comment>


Show HN: Pixibot – Slack bot that makes text in posted images searchable - <AUTHOR> http://www.pixibot.co <comment><USER2> Thats neat, just installed it to test. We sadly don't post much stuff that needs ocr'ing, although the occasional screenshot here and there is useful to ocr. Sadly I don't see that we would ever get over the 100 uploads a month limit.

</comment><comment><USER3> In an ideal world this wouldn't even be necessary. This just speaks to the sad state of image format adoption and workflows. Every browser supports basic SVG. SVG text can be read by screen readers, indexed by search engines, found in the page, copied, resized, machine-translated, and everything else you expect from _text_. Why are we still taking raster images of text? I think the onus should be on the OS and browsers to implement snipping tools that can save in SVG. Regardless I still think this is a cool project for making that lost information accessible.

<comment><USER4> As much as I would like to have this, in addition to your point about browser support, there are reasons I can think of from the top of my head:

There isn't widespread support in image editing programs to simply add text to a jpg/png/whatever, then save the result as an SVG.

Most people don't see any motivation, as most people don't have a lot of text on images.

A lot of images with text are screenshots or photographs, rather than with overlayed text.

Upload services for images usually don't support SVG.

<comment><USER3> Yeah unfortunately I have to agree that the workflow just isn't there yet. (definitely a chicken-egg aspect to it) I can kinda see why, editing SVGs is completely different from editing raster images. (the former is pretty much code) The only reason I can see why image hosts don't support uploading it is because SVG has had some security issues. (don't know if this is still a factor) As for your point about most images not being text, I agree, but SVG does support embedding raster images so it would only be a small cost that yields all the benefits mentioned.

</comment></comment></comment><comment><USER5> May I ask, what OCR engine does it use?

<comment><AUTHOR> It makes use of an ocr.space API

<comment><USER6> Thanks. That is the one at [https://ocr.space/ocrapi](https://ocr.space/ocrapi) ,or?

</comment></comment></comment><comment><USER7> is there more information? mobile version of website shows a giant logo, and if you scroll down it shows a static image of a slack channel [1]

Using Android/Chrome

[1] [http://imgur.com/n5f6bAG](http://imgur.com/n5f6bAG)

<comment><AUTHOR> Thanks for pointing that out... this link will help with the missing gif!

[http://www.pixibot.co/static/img/pixi_intro.mp4](http://www.pixibot.co/static/img/pixi_intro.mp4)

<comment><USER8> Hey! I just fixed this yesterday for Wishy.gift ([https://news.ycombinator.com/item?id=13159528](https://news.ycombinator.com/item?id=13159528)).

You need `muted` for videos to autoplay in Chrome/Native browser on Android, elsewise it just won't play. Try it out :)

edit: Oh, btw. Pixibot looks slick! Very cool application of OCR.

<comment><AUTHOR> Hey thank you!

</comment></comment></comment></comment><comment><USER9> It might be a better UX to post a snippet since those get folded to a short preview.

</comment><comment><USER10> Hey Ron. You're on Product Hunt. [https://www.producthunt.com/posts/pixibot](https://www.producthunt.com/posts/pixibot)

<comment><AUTHOR> Thanks Faisal! Mind adding me as a Maker? Just sent in a request</comment></comment>


Khan Academy Is Not The Progressive Model You Are Looking For (2011) - <AUTHOR> http://edte.ch/blog/2011/12/06/khan-academy-is-not-the-progressive-model-you-are-looking-for/

<comment><USER2> On the other hand, it would be stupid to reject the Khan Academy resource. Why not provide step-by-step video/audio instruction on categorized topics? Why not have students review them before classroom discussion?

Maybe Khan Academy has gone too far - having created something wonderful, they suffer from the 'lucky inventor's syndrome' and imagine everything they touch will turn to gold. Many educators suffer from this. Also many entrepreneurs. Witness the hero-worship around what are essentially one-hit wonders in the computer market.

Anyway, I applaud Khan academy for bringing the next-best thing to tutoring to everyone, for free. You can't take that away from them, not with pedantic articles about pedagogy.

</comment><comment><USER3> Colin, why should we even care in 2014 what this person thought about Khan Academy in 2011? Khan Academy has changed[1] since then, and looking at recent posts from the same blog doesn't inspire confidence that the author has a lot of thoughtful things to say about education improvement.

[1] [https://news.ycombinator.com/item?id=7674168](https://news.ycombinator.com/item?id=7674168)

<comment><AUTHOR> OK, I have neither the time nor the energy to write something detailed, accurate, and carefully worded. Rather than leaving your question unanswered, here is a brain dump. I may find that tomorrow I don't agree with it all, but it's intended to give you a flavour of my thinking.

I've worked with, tried to use, and interacted extensively with KA over the past 5 years. To start with I thought it had fantastic potential, and I still do. But I had reservations to start with, and they have not gone away. Repeatedly, on-line and in real life, I find people who think KA is the saviour of math education, and everyone should start to use it rather than trying to improve real-life interactions.

When I first met the KA I was originally hopeful, tinged with concern. I know the KA has evolved, but I remain concerned. Occasionally I run across an article that expresses how I feel so much better than I ever could, so I try to share them to balance what I sometimes perceive as undiluted but misplaced enthusiasm.

I know you like KA. You may not beleive this, but so do I. But it's not the panacea, nor the unmitigated wonder than some people make it out to be. Yet. I can only hope that continuing to point out problems, past and present, can provoke someone into doing something better. Or complementary. So far people mostly just seem to be giving up and leaving it to the KA. That bothers me.

<comment><USER3> _I know you like KA._

It might be more accurate to say that I don't decry the existence of Khan Academy or worry about it much. Basically, Khan Academy is usually supplemental mathematics instruction, that is mathematics instruction for people who would otherwise be getting even less mathematics instruction without it. I can live with that. I recommend several other programs much more than I recommend Khan Academy. I have one child (among four) who actively likes Khan Academy, but he uses a lot of other resources besides Khan Academy to learn his mathematics. (His favorite subject is life sciences, and his biggest leisure-time activity is realistic drawing with computer-based drawing software.)

So I agree with you that Khan Academy is not a panacea. I rather suspect that the staff of that organization agree with that proposition too. I do think that much of the criticism of Khan Academy from people who have products to sell to the public school system loses force because they haven't fully shown that they can do any better. If they do improve upon what Khan Academy does, more power to them.</comment></comment></comment>


10 most important things to know - <AUTHOR> https://www.google.com/amp/observer.com/2015/12/the-10-most-important-things-you-need-to-know-in-life/amp/ <comment><USER2> an amp link to an article from 2015

[http://observer.com/2015/12/the-10-most-important-things- you...](http://observer.com/2015/12/the-10-most-important-things-you-need-to- know-in-life/)</comment>


Fusion makes functional programming fun - <AUTHOR> http://donsbot.wordpress.com/2010/02/26/fusion-makes-functional-programming-fun/

<comment><USER2> Summary: side-effect free programming allows compilers to transform high-level code into very efficient machine code.

I've always wondered about the utility of this in exploratory programming. We always hear how great Lisp is because of dynamic typing, macros, etc., but once you kind-of know the solution you go back and code it efficiently. If you've implemented your code in terms of type classes in the first place, how much easier is it in Haskell to just change a few types of the inputs (List -> Vector, Integer -> Int#) and get a performance increase?

<comment><USER3> You simply do not know Lisp. Lisp is a term to describe different dialects in a family of languages.

For example : Common Lisp is a multi-paradigm Lisp that supports dynamic typing AND static typing. Haskell has NO equivalent to Common Lisp's macros. Template Haskell is not equivalent Lisp's macros. Often a Common Lisp implementation will simply require type hints to be added to gain large performance improvements. Clojure(another Lisp dialect) is the same this way.

<comment><AUTHOR> > Template Haskell is not equivalent Lisp's macros

Well, Template Haskell _is_ a compile time meta programming system based on quasi quotation and AST manipulation...

<comment><USER3> They are not equivalent. In Lisp there is no distinction between the syntax and the AST. In Haskell the AST is modeled using explicit data types.

<http://www.haskell.org/bz/thdoc.htm> : "In Template Haskell, ordinary algebraic data types represent Haskell program fragments. These types modeled after Haskell language syntax and represents AST (abstract syntax tree) of corresponding Haskell code. There is an Exp type to represent Haskell expressions, Pat – for patterns, Lit – for literals, Dec – for declarations, Type – for data types and so on. You can see definitions of all these types in the module Language.Haskell.TH.Syntax."

<comment><USER4> This is a good thing, though. With Common Lisp, you have to emulate this via a code-walking library -- and because the code-walking library just uses heuristics, you can never be sure that your macro is right in all cases. With well-defined data types for each AST node, this problem goes away.

The advantage that CL-style macros have is that they are much easier to use than TH. For me, anyway, writing a Lisp macro is a trivial thing that involves almost no thinking. Writing a TH macro takes some testing and debugging.

<comment><USER3> There's no need to 'emulate' anything 'via code-walking' and 'heuristics' when writing Lisp macros. This is a personal use case of your own.

If you know how to write Lisp macros(i.e. experience) then they will be correct. Not all Lisp macros are trivial to implement even for the experienced Lisp hacker. Writing a Lisp macro requires testing and debugging. The difference is that Lisp inserts no 'airbags' between the language and the programmer. They are very powerful but you may 'hurt' yourself.

<comment><USER5> > If you know how to write Lisp macros(i.e. experience) then they will be > correct.

Is this the same argument as 'C is an insecure language only if you are a bad C programmer'?

<comment><USER3> No. The statement simply means that experience is important. The same holds for any language that you use.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> Their code is

        import qualified Data.Vector as U

        main = print . U.sum $ U.enumFromTo 1 (100000000 :: Int)

Possibly it's just because I don't grok Haskell, but that strikes me as incredibly ugly for such a simple operation. As a contrast, here's the Perl 6 version:

        say [+] 1..100000000

(For sure there is no Perl 6 implementation that will run the code as fast as they show GHC running it -- odds are, in fact, that the current Perl 6 implementations will be drastically slower.)

I suspect there is a more elegant version in Haskell, too -- it probably just doesn't run nearly as fast. This has been one of my main gripes with my experiments with functional languages. It seems they are always showing you this beautiful elegant code, and then explaining how if you want it to be efficient, you need to use a different, much uglier, approach.

Of course, the other thing with this is the example is completely unrealistic. If you actually wanted to compute that number, the fast way to do it is to use the good old formula

        (N * (N-1))/2

If for some reason you wanted to compute that sort of thing a lot, to would make a lot more sense to make a simple function to calculate that...

<comment><AUTHOR> I'm sorry I used a trivial example -- the point was to show how the assembly corresponded to the fused loop, which necessitated a simple example. And this is the internet, so everyone tries to find a closed form for everything. Which misses the point!

Of course, the Haskell:

       print (sum (enumFromTo 1 n))

isn't exactly bad. And you can use any of these other 134 functions to get fused loops: [http://hackage.haskell.org/packages/archive/vector/0.5/doc/h...](http://hackage.haskell.org/packages/archive/vector/0.5/doc/html/Data- Vector.html#1)

And there's lots of interesting problems you can solve with that rich a set of primitives.

This isn't an example _benchmark_ , it's an example translation, so you can see the optimization at work. Bigger examples yield assembly that no casual reader could follow -- so don't get distracted by the fact there's a closed form!!

<comment><USER6> Glad to see there is a prettier way of doing it in Haskell!

Do I understand then that this basically building up a sort of parallel language for expressions in Haskell which optimize really, really well?

<comment><AUTHOR> In a way. It's a subset of Haskell focused on array operations that optimize really really well. You can use these instead of list operations, basically, and getter performance in all sorts of ways.

<comment><USER7> You could get very good performance when you do the fusion manually, too. The really exciting thing about fusion is that it allows really fast code that _composes_ well.

Composability is also what makes Haskellers excited about Monads and software transactional memory (STM). STM give composable concurrency --- in contrast with locks which are notoriously uncomposable.

</comment></comment></comment></comment></comment><comment><USER8> Cool! But what if I write a more complex program that I want to perform well? Is it easy to understand where the compiler will or won't do this crazy fusion thing?

<comment><AUTHOR> It's pretty easy to work out where fusion is going to happen, since it happens compositionally. You compose fusible functions, and the (.) between them is syntactically where fusion occurs. GHC will tell you how many fusion sites were found.

<comment><USER7> You can also add your own fusion rules, as far as I know.</comment></comment></comment>


Analyze window.performance data in real-time for your website - <AUTHOR> http://torbit.com/blog/2012/04/25/real-user-measurement-from-torbit/

<comment><AUTHOR> Hopefully, it's obvious, but you can get this service for free. For anyone who decides to upgrade, use the coupon code "hotdataporn" to take 20% off the price.

</comment><comment><USER2> After some digging I found the link to the actual "data porn", pretty cool.

<http://www.torbit.com/insight/standard-features>

<comment><USER3> I wonder which graphing library they use for creating these. It looks like Microsoft office but better designed. Google charts?

And I wonder how they handle statistics. They are just providing graphics and trendlines as far as I can tell, and encouraging users to draw conclusions. They are capturing the entire population they are sampling from, but even then it feels like there might be some pitfalls in the types of conclusions that might be drawn by an untrained web property owner.

Edit: deleted a repeated sentence.

<comment><AUTHOR> We get that question a lot. The graphing library we use is Highcharts.

We think a lot about the question of how we present the data. We'll try and help users come to the right conclusions when we can, but the end of the day, it's just a tool and it's up to our users what they do with the data.

<comment><AUTHOR> We get enough compliments on Highcharts that it was well worth the money. It's an easy decision as the price isn't prohibitive for a business.

<comment><USER3> Oh, yeah, that makes sense. I forget sometimes that everybody on earth isn't a data nerd and that Microsoft Office is used globally to do trillions of dollars of business every day. Silly me. Thanks for the reality check.

</comment></comment></comment></comment></comment><comment><USER4> There's also New Relic's end user monitoring.

<http://blog.newrelic.com/2011/05/17/how-rum-works/></comment>


Ask HN:Suggestions for accepting payment in India - <AUTHOR> I am a full time dev , with a side project . My side project is complete and I would like to put it online and collect payment . Are there any good recommendations for payment gateway ? Most of them require to register a company . I would like to have custom branding if possible and transaction fees is not an issue as long as services are good . <comment><USER2> Without a company a "true" merchant account for mainstream credit/debit card processing is impossible, even with a company banks are picky about underwriting the risk (due to chargebacks the bank is essentially on the line for 6 months after they've paid you).

I would suggest looking at the middle men such as 2checkout.com, paypal, braintree, worldpay.</comment>


Show HN: Typesense – typo tolerant, delightfully simple, open source search - <AUTHOR> https://typesense.org/ <comment><AUTHOR> Hi HN,

We wanted a simple search engine that was fast, handled typographic errors out-of-the-box and was also simple to run and manage. We could not find one - so we built Typesense and are open sourcing it today. Before you ask: Elasticsearch is a great project but is far better suited for larger teams which have bandwidth to administer, scale and fine-tune it and when you want to store billions of documents. For those of us who are not in that bucket, we hope Typesense would help.

Happy to answer any questions!

</comment><comment><USER2> Congrats on shipping! Love the instant search queries and the fuzzy text matching.</comment>


Sale of .org web domain blocked - <AUTHOR> https://www.bbc.com/news/technology-52501456 <comment><USER2> HN discussion of this is still on the front page: [https://news.ycombinator.com/item?id=23038637](https://news.ycombinator.com/item?id=23038637)</comment>


A digital currency that works to the benefit of everyone - <AUTHOR> http://www.projectubu.com/ <comment><USER2> Interesting, but how are they going to verify that every recipient is an actual, living human? And do we have to trust a central authority for this verification?</comment>


Show HN: Greenscreen, open source digital signage with Chromecast - <AUTHOR> http://greenscreen.io

<comment><USER2> The "takeover" button is evil. Please lower the volume for my fragile heart.

</comment><comment><USER3> I'm currently have 3 screenly[1] installations on RPis and works nice. Doesn't support channels though, which is a major drawback for DS but other than that works fine and it's open-source.

[1] [http://www.screenlyapp.com/](http://www.screenlyapp.com/)

<comment><USER4> Can't you set screenly to a Webpage that just forced to update with new content, i.e. a different channel?!

<comment><USER3> Screenly uses a lightweight web browser (can't remember the name) that doesn't support javascript and I think doesn't support flash either (not sure though).

So I'm out of ideas on how to create something that resembles channels.

I'd like to have a channel to display pharmacy overnights. Now I'm just using a sinatra application to display dynamically generated static HTML page[1]. But that's about it.

[1] [http://piseli.net/overnights/drama](http://piseli.net/overnights/drama)

</comment></comment></comment><comment><USER5> This looks great, but it's a shame that the chromecast itself is hostile to personal testing or use. If I didn't have to go through at least 4 bullet points just to get my chromecast listed on a central registry I'd be much more willing to try this out.

</comment><comment><USER6> Interesting way to put content on screens. What's the performance like on chromecast?

I wrote a web based digital signage system ( [http://www.streetsign.org.uk](http://www.streetsign.org.uk) ) which we've used at a few conferences, and now at a couple offices around the world. The display-clients can be any web capable computer, but we're mainly using raspberry pis. They really don't have great performance, in terms of smooth transitions & scrolling text, etc. Even with the experimental collabora browser. But they're cheap.

I'd wondered about using chromecasts as clients, but wasn't sure if the built- in chrome would be up for it, and what performance would be like...

</comment><comment><USER7> Note: beware the speaker volume for the 'takeover' button.

I've had an idea for a brick and mortar advertising network for small businesses, but its difficult to track conversion for ads in the physical world. Groupon, whats your angle?

<comment><USER8> Probably that! They've already got a massive network of local businesses.

</comment></comment><comment><USER9> Am aware of a high school that tried to use a Chromecast for digital signage (not this particular software) on the same network as students (woops)... needless to say the screen wasn't showing their digital signage for long! After a prankster played a few "educational" videos for the whole cafeteria, school admin panic ensued and that was the end of the Chromecast for signage plan.

(This scenario wouldn't happen of course on a network where you have 100% trust that no-one else is going to hit the Chromecast button on their browser or phone...)

</comment><comment><USER10> Nitpick: doesnt work on Chrome on ios. Didnt test Safari, but its a pretty good idea to check mobile views before a show hn. I cant even tell if its a product page or the actual app.

</comment><comment> TD-Linux I'd hoped it was a custom firmware replacement for the Chromecast, rather than an ugly hack on top of Google APIs.

I'd rather stick to the much more open solutions, like the Raspberry Pi, or for more computationally intensive signage, a small Intel NUC or Shuttle PC designed for signage.

</comment><comment><USER11> Similar: [http://labs.cooperhewitt.org/2013/c-is-for-chromecast- hackin...](http://labs.cooperhewitt.org/2013/c-is-for-chromecast-hacking- digital-signage/)

</comment><comment><USER12> Try NoviSign android based digital signage[http://www.novisign.com/](http://www.novisign.com/)

</comment><comment><USER13> I prefer Visibull.tv ([http://visibull.tv/](http://visibull.tv/))

</comment><comment><USER14> Volume on the takeover link is _way_ too high.

</comment><comment><USER12> Try NoviSign android based digital signage

</comment><comment><USER15> Love it.

</comment><comment><USER16> I see someone watches "How I Met your Mother"</comment>


Virtual Shopping Capabilities: Unlimited.  - <AUTHOR> http://www.youtube.com/watch?v=CiIFL3CfEGI&feature=related

<comment><AUTHOR> Had this idea in my mind from a long time. Fully exploited by <http://www.visioncritical.com/></comment>


Numbers not needed to count - <AUTHOR> http://epaper.timesofindia.com/Default/Scripting/ArticleWin.asp?From=Archive&Source=Page&Skin=TOI&BaseHref=TOIH/2008/08/20&PageLabel=18&EntityId=Ar01800&ViewMode=HTML&GZ=T

<comment><USER2> _Warlpiri number words are limited to one, two and many, the researchers said. Anindilyakwa has words for one, two, three which sometimes includes four and more than three._

I could have sworn I read that tribes who count "one, two, three, many" were just an urban legend!

By the way, the study doesn't show that "numbers aren't needed to count". It's not numbers they're talking about, but words naming numbers. That makes the finding a lot less sensational; it's not unusual for humans to work with concepts we don't have specific names for. Still, an interesting experiment.</comment>


Sleep less (with no performance hit) - <AUTHOR> http://www.slate.com/id/2079113/

<comment><USER2> I think you mashed the wrong link with your mouse machine.

You meant to add a comment here: <http://news.ycombinator.com/item?id=190676>

<comment><AUTHOR> Sorry, I was indeed prompted to submit this article after reading that one.

I remembered reading this slate article a while ago, and thought it had more background and was better written.

Is it better etiquette to mention a related article as a comment instead of a new submission?

<comment><USER3> In this case, I would have rather seen the link to the article posted as a comment in the other thread about Provigil. A lot of discussion has already centered around it; there's no sense in starting up a second thread on it, and fragmenting the discussion.

<comment><USER4> Personally, I'm glad this was posted separately. It was much more informative and better written than the first article, and I would not have been likely to see it if it was added now as a comment in the first post.

</comment></comment></comment></comment><comment><USER5> This is a submarine article for Provigil. I've been noticing them coming out roughtly every year or so.</comment>


Theory of the All-or-Nothing Marriage - <AUTHOR> https://www.theatlantic.com/health/archive/2017/09/we-expect-way-too-much-from-our-romantic-partners/541353/?single_page=true <comment><USER2> I definitely do this in my own relationship... never been great at a diverse social portfolio.

I think, ultimately, your relationship partner should be someone who makes you happy, and perhaps it's really best to leave it at that. You certainly do not need a partner to accomplish personal growth, so there's no particular reason to pile that on them.</comment>


How the Government Ruined US Healthcare – And What Can Be Done - <AUTHOR> https://mises.org/blog/how-government-ruined-us-healthcare-%E2%80%94-and-what-can-be-done <comment><USER2> Fair warning, this is a think tank named after [https://en.wikipedia.org/wiki/Ludwig_von_Mises](https://en.wikipedia.org/wiki/Ludwig_von_Mises) who is basically the founder of Austrian economics, which has by and large become a vehicle for ultra-conservative folks to push through anti-worker policies.

<comment><USER3> It's interesting that you use the term "fair warning," which may dissuade someone from reading the article and coming to their own conclusions. As someone who values hearing the perspectives of all sides, I find it useful to hear pro-market arguments in something like health care. It helps me challenge my assumptions, especially since health care does seem to be increasingly costly and complex...as the amount of government oversight increases every year.

<comment><USER4> I don't interpret "fair warning" as meaning "this person is a wrongthinker, stay away!" I interpret it as "you may find this article interesting, but be aware that its source is outside the mainstream and maybe even outside the Overton window."

<comment><USER3> I guess we just have a difference in interpretations of the term. My recent (admittedly amateur) interest in behavioral economics and persuasion leads me to believe that even sophisticated people are susceptible to the effects of framing. If you prime someone to read something with a bias towards skepticism, they will either avoid it due to confirmation bias, or potentially read it differently than they would have without the prime. That may not even be your intent, but in reality it happens. And as for "outside the mainstream" \- whose mainstream or Overton window? My "mainstream" actually takes Mises very seriously. It sounds like yours does not. I suppose under a broad definition, a warning could be warranted for nearly every article depending on the audience.

</comment></comment></comment></comment><comment><USER5> I made it to the 6th paragraph before finding something pretty misleading:

 _It wasn't until 1972 that President Richard Nixon restricted the supply of hospitals by requiring institutions to provide a certificate-of-need._

Federal certificate of need laws were repealed in the 1980s, after it was decided that they didn't lower costs.

It's pretty misleading to mention that they were put in place and then not mention that they were repealed.

</comment><comment><USER6> Not Everything can be left to the market to figure out. When government colludes with medical corporations to maximize profits we get what we have here. It isn't governments or corporations that are the problem. When you can profit from the sick, morals have to be thrown out the window.

<comment><USER7> How can we expect people to be moral when the prevailing philosophy is existential, deconstructionist and postmodern which has no absolute ethic and even eschews ethics from its philosophy? What even is morality in such a society?

<comment><USER8> Have you read Atlas Shrugged by Ayn Rand? If yes, you might remember this moment of Hank Rearden's enlightenment: "He lay still, alone in the silence of his office. He knew that the meaning of his mills had ceased to exist, and the fullness of the knowledge left no room for the pain of regretting an illusion. He had seen, in a final image, the soul and essence of his enemies: the mindless face of the thug with the club. It was not the face itself that made him draw back in horror, but the professors, the philosophers, the moralists, the mystics who had released that face upon the world."

Ayn Rand firmly believed that philosophy shapes human action. I agree with that and frequently quote her on this one: "The present state of the world is not the proof of philosophy's impotence, but the proof of philosophy's power. It is philosophy that has brought men to this state – it is only philosophy that can lead them out."

</comment></comment></comment><comment><USER9> How does this work when a patient needs surgery? They pay out of pocket? Or do they have insurance for that, alongside their primary care fees?

</comment><comment><USER10> I feel this is a problem the government created so the government could come up with never ending "solutions".

The issue needs to be defined better. The point of health insurance is to prevent me from going bankrupt due to a catastrophic illness.

Instead of socialized health care we needed insurance reform and for the collusion between health providers and health insurers to end.

No other industry allows this sort of collusion to occur. My doctor and my insurance company should not be talking to each other.

<comment><USER11> In the case of some the healthcare provider and insurer are basically the same. CVS Caremark for example.

</comment></comment><comment><USER12> "On average, members of these direct primary care clinics pay as little as $60 per month, with couples paying about $150."

Sounds great. Does that include cardiac or oncology specialists? What do you do after your primary care clinician sees you, and says "I can't help you, but I know somebody who can"?

<comment><USER13> I'm always amazed at the quality and cheapness of the options provided from some third world countries' private medical care. It's amazing what can be accomplished when patients and doctors cooperate without the meddling of a third party. Sadly such arrangements are not accessible to all.

<comment><USER14> Yeah but you also have situations there like my old man, who got admitted for a heart attack and the hospital refused to operate without ~ his annual income (and we're middle class there) in cash being deposited first.

</comment></comment></comment><comment><USER11> This article only really addresses primary care, what about major surgery, emergency care, disease management? That's where the majority of the cost is and how can a person be expected to be able to pay for an operation that costs double or triple their yearly income? As soon as you involve some kind of public assistance for those who can't afford care, you invite regulations and we're back to where we started.

Sure starting completely over and removing all regulations sounds nice, but big money in health will always make sure they get policies they like unless we're going to also address imbalanced political influence.</comment>


CrunchBang is dead - <AUTHOR> http://www.linuxveda.com/2015/02/08/crunchbang-dead/ <comment><USER2> Huh. Just yesterday I tried installing it (there was something wrong with the iso).

What are some other distros that come with Openbox out of the, err, box? Preferably lightweight distros.</comment>