Show HN: We built a bot to automatically test Android apps on multiple phones - <AUTHOR> https://appachhi.com/ <comment><AUTHOR> Hi HN,

We were tired of testing mobile apps manually on multiple phones, taking screenshots, gathering performance data and then consolidating all this info into a test report, so one fine day we sat down and put together a platform that can automate the entire thing for us.

We are calling it AppAchhi (means good App) in Hindi, and it uses an automated bot that steps through the app and takes screenshots and collects performance data as it moves.

We are also testing all the 2.6million apps in playstore and making the test report public. You can have a look at them here [https://appachhi.com/chhiscore](https://appachhi.com/chhiscore)

Would be happy to know what you think!

</comment><comment><USER2> Thanks for sharing this Avinash.</comment>


Challenges in the developer to CEO transition - <AUTHOR> http://raygun.io/blog/2013/11/top-5-challenges-in-the-developer-to-ceo-transition/

<comment><USER2> I'm amused by the contention that running a business isn't like developing software because in business "There's rarely a perfect decision. You're always making trade offs. Balancing risk." That sounds like exactly what I do in software development! I guess that when I'm thinking about those things while building software I kind of have a business hat on, but it still seems an integral part of software development to me.

His underlying point about business being "soft, not hard," and the different kinds of tradeoff and risk that a CEO needs to think about, are well taken though.

</comment><comment><USER3> Interesting article.</comment>


"I charge 30k-60k for WordPress websites with a simple marketing plan" - <AUTHOR> http://www.reddit.com/r/freelance/comments/35lpsc/i_charge_30k60k_for_wordpress_websites_with_a/ <comment><USER2> He targets the old companies still advertising in the yellow pages, and offers them a Wordpress website for more money than the Yellow pages ad costs.

Such a company would be gullible enough to go along with his idea, and not know that others can make the same Wordpress site for less money.

Eventually someone will catch on to his scam and the word will spread to these other companies and this conversion to Wordpress is a rip-off.

</comment><comment><USER3> Wow! This guy is really ripping off his clients. Just looking at one of his sites and I see ?page_id= for links to pages, "comments closed" showing up on the pages. Geez, and I thought that the wp "guru" who tried to rip off our local co-op for 6k was a scum bag.

</comment><comment><USER4> Nice job if you can get it...

</comment><comment><USER5> Looking at some of his example sites, he is no better than those outfits in India that call you at all hours toting their services. It looks like he threw these sites together in a day or two. I'm all for charging a fair rate, but it has to be fair for both parties.</comment>


Lotus: Farewell to a Once-Great Tech Brand - <AUTHOR> http://techland.time.com/2012/11/20/lotus-farewell-to-a-once-great-tech-brand/ <comment><USER2> I interned at IBM/Lotus in 2006, when I was still in college. I don't know much about its history pre-Notes, which is mostly what the article is focused on. But I liked the place, and I appreciated my time there. It had a lot of history.

Notes is a fascinating example of the power and danger of a large legacy customer base. Their UI predated Windows, and any change they made risked to either the look and feel or the backend data model risked alienating their already dwindling list of customers, many of whom were looking for an excuse to leave anyway. Nonetheless, those users kept them afloat for years, and still do.

It's easy to forget that the power of the platform is not in the email, which sucked; it handled authentication, security, and replication for a wide array of largely drag-and-drop business applications. If you're an enterprise, and what you basically need to automate your workflow is a form and a little bit of glue code, there's a lot to be said for that system; old companies that claw their way out of it find themselves now saddled to shaky, expensive bespoke web applications that don't work offline. Because of this, it was a devil to migrate off of; even IBM tried, and failed, to rewrite it, in the form of Lotus Workplace. Talk about lock-in.

Still, I'll miss the name.

<comment><USER3> Lotus Notes is one of the worst, most agonizing pieces of software I have had to use.

When I read the headline, I had a glimpse of Hope that Lotus Notes might be discontinued, and that I may stop using that horrible, clunky, unstable, slow UI.

<comment><USER4> Depends. Coming from a different direction, meaning a non-MS world, I found Lotus really pleasant to work with and extremely powerfull. The DB-style of everything, the apps that you could embed into it made it very enterprise, for it could automatize a lot of the processes and internal flows.

Unfortunatelly, in a MS world domination for home computers, a new employee would find Lotus quite strange and unappealing. Sad.

PS. the article makes a mistake too, the full SmartSuite costs 342$ not just the 1-2-3.

<comment><USER3> I don't actually use any MS software whatsoever.

I think the clunkiness, the slowness, the instability, are objectively bad traits of Notes no matter your background.

</comment></comment></comment></comment><comment><USER5> Excerpt:

        on Notes for years, and never thought it lived up to the hallowed Lotus name. It was a fabulous product if you were an IT person, but so poorly designed from a productivity standpoint

It's amazing how far you can get by pleasing the IT people who as far as I can tell are the only group that's pleased with the current version of Notes.

My first experience with Lotus Notes was in 2005 and I found it to be a bloated piece of crap with archaic email rendering, barely functioning search, and long wait times for even basic operations. I was hoping to see news that IBM was sunsetting the entire product along with the Domino servers it runs on.

<comment><USER6> I don't know, it's kind of fun to use as a programmer too. I can redesign my personal email view to anything I want.

<comment><USER7> This. Designer access to your mailfile, and a full text index and it was a pretty good email client that you could tailor how you liked.

<comment><USER3> I think the Lotus Notes as a GUI platform is so horrid that it couldn't possibly be good at anything:

* It comes with a program "Zap Notes" which is supposed to kill it when it hangs (Wat?). A bit funny since "Zap Notes" doesn't even work for me, and I have to use a combination of greps and kills.

* The UI rendering is slow and visible. These guys haven't heard of double buffering. You see little GUI components being rendered slowly. This is extremely annoying and sluggish.

* Every little UI operation you do in this program can take _seconds_ on relatively modern hardware. During these seconds, the UI is of course completely blocked.

* When someone at your corporate IT wants to move a Notes mail server or such -- they actually have to coordinate a reconfiguration of all the users' mail server addresses! You have to go dig in a huge, badly designed preferences dialog to make this change. This is nuts.

The list goes on and on, but I can't fathom anyone liking this software.

<comment><USER6> Run "nsd -kill" from your notes dir. ZapNotes is very 2005.

</comment></comment></comment></comment></comment><comment><USER8> Damien Katz had said the document-like Lotus Notes db inspired him to create CouchDB.

He talked about this in a 2009 podcast: "You can think of Damien Katz' CouchDB project as the distilled 'good stuff' from Lotus Notes. Wait! Why are you running away? Come back! It's not that bad! We swear!" <http://itc.conversationsnetwork.org/shows/detail4150.html>

</comment><comment><USER9> My favorite Lotus program was the revolutionary Improv <[http://en.wikipedia.org/wiki/Lotus_Improv>](http://en.wikipedia.org/wiki/Lotus_Improv>). I'm sad that its user interface didn't catch on, although some parts of it are available in things like pivot tables (albeit clunkier to use in my opinion).

<comment><USER10> Your link is broken because you've used < and >.

Innovations on the spreadsheet have regularly failed to catch on. Improv is one. And I learned the other day that Resolver One has been discontinued.

</comment></comment><comment><USER11> I fondly remember the first version of Lotus 123. Started out writing a simple macro and then entire programs automating the business where I was working.

The bosses thought it was magic. It was so much fun I'd regularly stay after work for hours sometimes. Then I discovered dBase II which allowed me to do even more ;<).

<comment><USER12> We have very similar histories. As an assistant manager at a Dominos I had the entire store's books ran on 123. It was an enchanted experience to take the drudgery of the daily, weekly, and monthly paperwork and make it all magic. Very good times.

I did that again with DBaseIII for a small trucking company. After a third time, I finally figured out that programming had selected me, whether I wanted it or not. It was just too cool (and lucrative) to turn down.

</comment></comment><comment><USER13> I felt that Lotus Notes was trying to do too many things when in reality most people were using it for email and calendaring.

The UI looked terrible and it was overall slow and crashed often. You had to manually kill the zombie process or else you would not be able to re-open Lotus Notes.

<comment><USER14> Yes, Lotus even provides a KillNotes utility on their website.

</comment></comment><comment><USER15> The only Lotus product I remember with affection is Agenda - which is still the best PIM I've ever used. I never understood why they stopped development on it, and I've never understood why someone hasn't developed a functional equivalent.

</comment><comment><USER16> Lotus was one of the most successful start-ups ever under the visionary Mitch Kapor. Lotus came from 'The Lotus Position' or 'Padmasana'. Kapor used to be a teacher of Transcendental Meditation technique. <http://en.wikipedia.org/wiki/Mitch_Kapor>

Mitch started all the projects that kept the company afloat for 15 years. My favorites were: Notes, Magellan, Agenda, and Improv and internally used Orion (search tool).

Jim Manzi the Mckinsey consultant who took over from him successful acquired and killed about 10 good companies (Approach, cc:Mail, Amipro).

Lotus Notes was a very good workflow development tool that forced to support email to sell more copies. Most large companies still don't have cultures that support open sharing of information and use email as the defacto workflow tool.

Check out <http://www.lotusmuseum.com/>

</comment><comment><USER17> To this date, one of my favorite sites out there is the Lotus Notes sucks site: <http://lotusnotessucks.4t.com/>

Love the error messages: <http://lotusnotessucks.4t.com/lnEx70.html>

</comment><comment><USER18> Oh god, I was worried for a moment this was about the car brand.

(Though they're probably on their way out too.)

<comment><USER19> They've got a popular driver and a Formula One win this year, so they'll probably stick around a while longer.

</comment></comment><comment><USER20> Lotus Notes as an Email client sucks. And i am forced to use it in my company. I guess since i dont use it that way, Lotus Notes is a very powerful "platform", that allows you to create different things around it. Viewing as a application, it is just truly awful.

The best thing i have read is that Notes will have a plug in ( Why Plugin ? ) for browsers that allows you to fully access all of its functionality. I hope the mail part could be used from browser without the plugin. That way i no longer have to fire up the slow and bloated application for what i consider a simple task of emailing.

</comment><comment><USER21> I used to do some development in Notes/Domino. Desperately uncool....

Although you could describe it as a fork of Apache, with a solid auth engine baked in, tightly coupled to a BTree-based NoSQL persistence engine and a scripting layer supporting Java or a dialect of VBScript. Released in the late 90's....

So perhaps hipsters would say it was ahead of its time... :-P

</comment><comment><USER6> For anyone else who doesn't read the article: Notes isn't going away. The "Lotus" part of "Lotus Notes" is going away.

<comment><USER22> Yup.

IIRC big blue's software group are slowly trying to blur the lines between their various brands in order to seem more integrated and go back to just being IBM software.

</comment></comment><comment><USER7> Ex-Lotii here. I joined in '93 supporting 1-2-3 for Dos, 1-2-3 for Windows and Lotus Approach.

I also taught myself Notes while I was there.

Notes looks kind of weird now, but pre-internet days it was the only real way to create an "intranet", and it's workflow capabilities were pretty cool.

</comment><comment><USER23> Good old Lotus 1-2-3. Brings back memories and a few horror stories. I remember Word Star from that era too. And dBase. Those 3 apps were in every office in New York.

</comment><comment><USER24> Visicalc ... Lotus 1-2-3 ... Borland Quattro ... Microsoft Excel ... Google Spreadsheets

</comment><comment><USER25> Lotus Notes is the worst piece of software ever written.</comment>


What Unix Cost Us [video] - <AUTHOR> https://www.youtube.com/watch?v=9-IWMbJXoLM <comment><USER3> This talk took some weird directions. It's called "What Unix Cost Us", but to be honest it isn't.

Starts with USB-driver coding in Win, Mac, Linux.

Goes over to colonialism.

Made some good points about Computer-architecture and how they shape programming languages and then some bad/wrong points.

Ends on community cultures and some controversial thoughts about gender equality and then he doesn't take any questions.

Talks off a shitstorm and then isn't ready to face it. Don't know have seen better videos about the same topic.

<comment><USER4> It had some interesting points, but also some weird detours.

One of his core points revolve around hanging on to the way things were, and how that often ends up poorly.

Though I got this feeling that really, it's that often it's just really difficult to come up with good abstractions. Abstractions is after all what allows us to be so productive with our hardware.

For example, Electron and similar is abstracting away the operating system, which makes sense because for a lot of programs the specifics of the operating system doesn't really matter. However JavaScript and HTML can hardly be described as the best way of obtaining that abstraction.

</comment></comment><comment><USER5> I thought this talk was an interesting overview of some of the limitations of Unix (particularly Linux) and C, although I wish the speaker had discussed more details as to why C is not a match for modern processor architectures and how modern languages such as Rust address these issues.

Another thing that I'm curious about is how much familiarity the speaker has with Plan 9? Plan 9 from Bell Labs is the spiritual successor to Unix, created by many of the Bell Labs researchers who originally worked on Unix. The creators of Plan 9 pushed "everything is a file" to its limits. Sadly, although I have read some Plan 9 papers, I haven't actually used the operating system. I'm really curious about what the USB example in this talk would look like in Plan 9?

I do wish there was more development in alternative operating systems. I like Unix, but there were many ideas from VMS, Smalltalk, the Genera operating system for Symbolics LISP machines, the classic Mac OS, BeOS, Plan 9, and other operating systems that we can learn from and that would be very useful to have today. Also, today's hardware is quite different from the hardware of 50 years ago. We have multi-core CPUs, GPUs with hundreds of cores, very fast NVMe storage devices, and other amazing technologies. There has also been much advancements in programming languages, with more people willing to explore alternatives to C and C++ such as Python, Rust, Go, Clojure, Haskell, Swift, and many more, each providing different abstractions for dealing with diverse programming tasks. I wonder what an operating system for the 2020s would look like given the advances in technology and the lessons learned in the past decade.

<comment><USER6> > I wonder what an operating system for the 2020s would look like given the > advances in technology and the lessons learned in the past decade.

While not perfect, with their own set of issues, macOS/iOS, Windows (with .NET/UWP) and Android are a couple of steps into that direction.

Interesting that you refer Plan 9, but fail to mention Inferno, which was the final vision from the same researchers.

Regarding UNIX, one thing that keeps being missed regarding NeXTSTEP and its derived OSes, and to go along your remark, it that for NeXT and Apple, UNIX wasn't never relevant.

The UNIX compatibility was just a means to bootstrap the OS and attack the UNIX workstation market, the Objective-C technology stack (now Swift as well) was/is where the real value of the OS was.

Anyone using macOS or nowadays WSL as UNIX replacement, is replicating the farmer's story from the talk.

<comment><USER7> I quite frequently see people mention Plan 9, but seldom Inferno. Does anyone know why Plan 9 became more popular?

<comment><USER6> Lack of teaching would be one.

I bet not many professors bother to dive into it.

The documentation is still available, [http://doc.cat-v.org/inferno/4th_edition/](http://doc.cat-v.org/inferno/4th_edition/), and you can get it as open source and commercial variants, [http://www.vitanuova.com/inferno/](http://www.vitanuova.com/inferno/)

So it is mostly a matter of actually caring to dive into it.

Not only one will discover how many of the Plan 9 design issues got worked on, some of the design ideas that went into Go will be more clear.

It is also revealing to dive into Oberon OS linage and then see how some of its design went into ACME on Plan 9, dynamic loading on Inferno or eventually Go's method call and unsafe package design.

Instead most get off at the Plan 9 train station.

</comment></comment></comment></comment><comment><USER8> I suppose on Linux, libusb itself is supposed to be the general programming interface, not the poking around with /dev or ioctl. The Windows and Mac interfaces he was using are quite possibly implemented as libraries over a more primitive layer.

Speculation, knowing nothing about USB specifically.

<comment><USER6> On Windows and Mac, the more primitive layer are kernel private APIs, which you aren't supposed to call directly.

<comment><USER4> Linux is the kernel, so really the equivalent on Windows is the Windows kernel API, not the Win32 (user) API.

However, the kernel API seems to be somewhat similar to the Win32 version presented in the talk and not nearly as gnarly as the Linux equivalent:

[https://github.com/microsoft/Windows-driver- samples/blob/mas...](https://github.com/microsoft/Windows-driver- samples/blob/master/hid/hidusbfx2/sys/usb.c)

[https://docs.microsoft.com/en-us/windows- hardware/drivers/dd...](https://docs.microsoft.com/en-us/windows- hardware/drivers/ddi/wdfusb/)

That said I'm just an application programmer so I've only ever used the Win32 API.

</comment></comment></comment><comment><USER9> Not everything may be a file indeed, but I didn't get what he was trying to point out with the specific example he gave. To make his point, he compared the USB APIs provided by Windows, macOS, and Linux. Then he went ranting about how Linux looks terrible because you had to manipulate files and use functions such as snprintf, ioctl, and fnctl. However, this is not at all a fair comparison because he was comparing the Linux _kernel_ interface against much higher-level _userspace_ library APIs in Windows and macOS. So what are the problems he encountered with this specific example, that had actually harmful consequences? I honestly can't tell.

<comment><USER6> It was completely fair, because other OSes don't expect users to directly access kernel interfaces, most of them even forbid it, other than for writing device drivers purposes.

<comment><USER9> How can it be "completely fair" when you're not comparing the same thing? Linux applications can and should use higher-level libraries too.

<comment><USER10> Without getting into the specifics here, it's fair to compare linux kernal calls - sometimes - to windows api calls, because that's simply a technical detail, and in fact - that's just how those OS's expect you to communicate with the respective "OS" (whatever that even means; the linux kernel is hardly the whole OS). Calling the windows api's isn't calling some convenience wrappers, it _is_ the api - the kernel api isn't (generally) public, and they try to avoid stability promises too, though, this being windows, I wouldn't be surprised if the kernel "internal" syscalls were nevertheless usually stable for legacy support reasons.

<comment><USER9> The original speaker is comparing two totally different layers of abstraction. That's _not_ a technical detail when considering if the comparison is appropriate. It's simply misleading when higher level libraries are available and widely used in Linux.

On the other hand, whether the kernel interface is documented or not _is_ a technical detail which simply doesn't matter in this context.

<comment><USER10> It's just not that simple. A kernel syscall just isn't an abstraction on windows, so if you want to compare the two, you _need_ to include other OS APIs. Whether something is a syscall or not is a technical detail in the sense that it simply doesn't matter for it's actual function, but _does_ matter for lots of non-functional concerns; possibly including api usability, performance, etc.

I don't know anything about the USB issue here, so I can't comment on that. But, typically, if you're looking for the closest equivalent to linux syscalls on windows, you're unavoidably going to be looking at non-kernelmode dll calls (which internally may or may not involve a kernel-mode syscall - that's a private implementation detail).

It's not a question choice of abstraction, simply of how the OS exposes low- level functionality (at least - it's the OS's choice, not yours).

The point being that if you reject any comparison of linux syscalls vs. window api calls then you effectively reject all comparisons between linux and windows apis. Fair enough; if you want - but it's not very helpful.

<comment><USER9> If you want to compare the capabilities of Linux and Windows systems, comparing Linux kernel APIs and Windows library APIs might make sense. However, complaining that dealing with the Linux kernel interface directly requires more work than calling Windows API functions doesn't make any sense, because of course higher-level interfaces are more pleasant to work with regardless of the target platform. If you want to make that comparison in a meaningful way, you should be comparing Linux libraries against equivalent Windows APIs.

<comment><USER11> To make it a bit more clear, libusb would be a closer comparison to the Windows/MacOS APIs OP is talking about being better.

<comment><USER10> Sure; nothing wrong with that comparison either - you're just not going to get a straightforwards apples to apples comparison. Unlike libusb, the windows api really is part of the OS; whereas libusb is a convenience library that - <USER2> windows - must use the lower level api; it's not a peer. Then again, there's no reason to care much about great convenience from a lowest-level api, so I'm not really sure what all the fuss is about: as long as the api isn't so wrong- headed to make good wrappers difficult or error prone, inconvenience seems like a fairly small price.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> "Everything is a file" is one of the most misunderstood concepts I encountered, to the point where people think that disk IO is involved. A file doesn't even need a filename (eg sockets).

The main point is to have a common interface for system resources, which happens to be the file api in Linux. Think of it as the base class of everything. There is a bunch of tools/code that operates on file descriptors, which you can reuse now.

Build better interfaces on top of that if you want to.

<comment><USER13> Sockets depart badly from that model with special purpose setup syscalls.

<comment><USER12> Yeah but that's rather because the socket api is older than Linux. Underneath there is the sockfs implementation.

</comment></comment></comment><comment><USER14> Some parts of the talk did not really stitch together; if we consider the main arguments against Unix (and the funny dab at Plan9) I felt them a bit lacking in the sense that they do not propose alternative philosophies, but only a liberating "mixing things together is cool".

I can totally understand that as a form of catharsis, and a mindset totally apt for hobby projects, but if we are playing in the realm of OS design...I would think we can do better in terms of architecture and philosophy? "anything else is better" does not really convince me, some structure is usually better than none at all.

</comment><comment><USER15> Wonderful talk. Lot's of interesting points. Much of the technical went over my head though. But from what I understood, the main point he's trying to make was - we are stuck with a way of thinking in technology which was right when it was thought up, but has run out of it's usefulness.

I found his point, with respect to *nix, very insightful - > Unix suited it's time. I worry it has ended up straight-jacketing the way that we think because that was quite a while ago. It still works, which is amazing. But that doesn't mean that it's tenets and it's way of work should be sacrosanct. We should feel free to examine every idea and throw them out if we feel they no longer have value for what we're doing.

The analogies from history and communities were also very interesting (e.g. meritocracy).

Other points that I liked -

\- Complex problems have simple, easy to understand, wrong answers.

\- Understand the past, but don't let it bind the future

</comment><comment><USER16> I watched the video. A few good points: should everything really be a file? He used the example of simply talking to a USB device on Linux without libusb involving a bunch of snprintf to construct a file path, and then a big bunch of ioctl. Setting up a device apparently requires creating a bunch of magic directories and magic files and magic symlinks and mounting magic filesystems... I feel that he has a good point about this. Not sure how Plan 9 does this better though.

Besides, he also talked about how I/O was blocking, and even when non-blocking I/O was available it's still synchronous until the recent introduction of io_uring. Windows appears to do this "right" with its completion ports. This part of the video was much less convincing, IMO.

<comment><USER17> Also thought that some of the technical points were good, but...

Mixing together Linux and Unix? Saying that killing a process from command line in Linux is bad because MacOS has GUI for that? Not explaining in more detail a claim that C is responsible for Spectre? Topping a technical presentation with political statements?

That's too much for 30 minutes I think.

<comment><USER18> The Activity Monitor is hardly even the fastest way to kill a process in macOS. Usually when I'm working on something that goes haywire needs killing, I already know the process name and a simple `killall example` can be typed out faster than he can ⌘-space his way into the Activity Monitor and navigate that GUI. I don't think that proves anything profound though, just that his example was weak.

I went into this video agreeing with the stated premise (and still do), but this presentation was a bit underwhelming.

<comment><USER19> linux has pkill as well.

</comment></comment></comment></comment><comment><USER20> Unix at least picked one abstraction and stuck with it, contrast windows which is a dizzying mess of incompatible ideas. It's so bad that more paranoid people may think Microsoft disorients people on purpose.

There are other operating systems that also chose singular abstractions like the cannon cat and smalltalk.

<comment><USER21> Reference: [https://en.wikipedia.org/wiki/Canon_Cat](https://en.wikipedia.org/wiki/Canon_Cat)

</comment></comment><comment><USER22> I think I prefer the plan9 approach of "everything is a file/filesystem" rather than the unix "everything is a file" as typically seen. Actual usage of files, filesystems and namespaces under plan9 was more consistent than the file approach under linux. It was a lot of fun playing in plan9.

Regarding the video, of the three examples the windows approach was shown as more succinct. I thought the linux version was messy. The mac version seemed overly complex. Whether these were actually representative is another matter. I can't say how but I'm not convinced - there seemed to be some artistic license / suspension of belief required.

The remainder seemed to be meandering but I sense you had to be there.

</comment><comment><USER23> I'm 29 now. I wonder if I'll live long enough to be able to use cancellable non-blocking mkdir.

</comment><comment><USER6> Very entertaining talk, specially regarding the cargo cult that gets carried around.

</comment><comment><USER24> I'd like to know, from anyone with Plan 9 experience, does its approach to "everything is a file" solve these problems?

<comment><USER6> No, everything is a file doesn't work at all if you care about high performance graphics and real time audio.

<comment><USER25> qznc made the same claim. Why would "everything is a file" be incompatible with high-performance graphics and real-time audio? I'm particularly interested in this question because my knowledge of those areas is not very deep, so I'm wondering what unknown unknowns I'm missing.

Here's my naïve thinking:

· Real-time audio requires low-latency scheduling, which is unrelated to the API for audio itself, and FIFO depth monitoring so that you don't get either buffer overruns or buffers that are so full that they induce latency in excess of what your scheduling and processing latency unavoidably adds. For output, you could provide this with a /dev/audio for writing data and a /dev/audiooutputbuffersize for reading the FIFO buffer depth. For input, you could provide this by making reads from /dev/audio nonblocking, by providing a /dev/audioinputbuffersize you would read before risking a blocking read on /dev/audio, or by reading in a separate thread.

· High-performance graphics covers a lot of ground, but one of the big pain points is unnecessary memcpying on the paper path from your CPU graphics program into the GPU, whether that's textures, vertex buffers, or prerendered pixel data (though maybe we could argue that that last case is never going to be _high performance_.) One way that unnecessary memcpying arises is from buffers for write() that are not correctly aligned with respect to the start of a page, which unavoidably means that they will have to get copied to a place with the correct alignment. This is a big problem if you're streaming out gigabytes per second of graphics data. In particular you don't want the data that goes to the GPU concatenated with data that tells the kernel graphics driver what to do with it.

Solution: open a new file in a /dev/gfx directory for the data to be sent to the GPU, then write the data to it from a properly aligned buffer. Fork a separate thread to write this data, which is done by marking the pages COW rather than copying them. (A more radical and less sneaky solution I'm exploring for Wercam and BubbleOS is to transfer ownership of pixel data buffers from the application to the window system, causing them to disappear from the application's memory map, avoiding the need to either copy or COW them. But this definitely departs from the Unix read()/write() model.)

· A different aspect of high-performance graphics, other than raw throughput, is that you might need to synchronize your drawing with monitor refreshes to avoid an extra half-frame of latency, particularly at low refresh rates like 60 Hz. This seems straightforward to solve in a filesystem interface: reading from /dev/vbi produces a byte just before each VBI, giving you time to send any necessary new data to the GPU.

Certainly it's true that Plan 9 does not provide high-performance graphics or low-latency audio. But I don't think that proves that filesystem-based interfaces can't provide them, just that the Plan 9 designers had spent the 1980s researching DSLs, fault-tolerance, concurrency, and typesetting, not rasterization, real-time control, and animation.

In general, system-call or IPC interfaces of the form "invoke function foobar with a baz handle and a quux struct or memory buffer" can be cleanly replaced with "open /bazzes/$i/foobar and write a quux struct or memory buffer to it", can't they? I mean, that's three system calls instead of one, so about 1 μs of system-call overhead instead of 300 ns, but in the cases where that's the performance bottleneck you can usually solve it by writing N quuxes instead of one. Can't you? A potential problem arises when you need to combine multiple handles to extra-process resources in a single system call, like SCM_RIGHTS or rename(), but I don't know where those would come up in the particular application domains you identify as problematic.

But maybe my proposed solutions above won't solve the problems I think they will, or maybe I'm missing the biggest issues entirely. What am I missing?

(I'm not claiming that this approach would be easier, safer, or more discoverable than the approach of adding a bunch of system calls; Benno's talk discusses the many ingenious ways a filesystem-based API can be hard to use, and no doubt some of the same criticisms can be leveled at the above strawman proposals. I'm just saying I don't see where it inherently fails to meet performance requirements.)

<comment><USER26> Perhaps getting into no true ship of theseus territory, but you can redefine read/write to do _anything_ but it's arguable if that's still the same philosophy. Like, why even have open()? You could start each process with "/" already open, and then open other files by writing "open /etc/passwd" and reading back a new fd.

<comment><USER25> Yeah, so, is there a there there? I think there is. The open/close/read/write/getdents interface at least offers the _possibility_ of certain kinds of REST-like uniformity, providing some benefits:

\- A thin hourglass-waist interface makes it relatively easy to add new components to the system, whether clients, servers, or proxies. Plan 9 implemented both network fileservice and GUI windowing as filesystem-interface proxies, and they composed properly, allowing you to remote your windowing system over the network and to test new versions of the windowing system in a window. Less remarked on is the fact that if you need 500 system calls to invoke the full functionality of your operating system, most of those calls are going to remain inaccessible to newly ported scripting languages until you write a C extension module for them; and if implementing a fileserver involves handling hundreds of protocol messages, you aren't going to have very many kinds of fileservers. (CIFS, as far as I know, has only two: Windows and Samba.) ioctl and its demonspawn brethren are the reason we didn't have rr in the 1990s, when Michael Elizabeth Chastain wrote mec-replay.

\- Putting all the system resources into a single namespace means that you can handle them uniformly in some other ways, like setting permissions and interactively exploring the hierarchy.

\- A lot of system state can be meaningfully treated as data that can be either read or written, with certain useful properties: if you write and then read, then what you read is what you wrote (or is, unless there was an error or a subsequent state change), and if you write back something you read at some previous time, you restore it to the state it had at that time. The framebuffer is one example from Plan 9. The contents of NVRAM are a thing it might be more important to be able to back up and restore in this way.

\- Also, byte-oriented things don't care what size your reads and writes are; you read the same sequence of bytes whether you read them one at a time or a million at a time. Usually.

\- Naming things with strings means you can add more things later without breaking backward compatibility.

\- A slightly richer interface that provides cache invalidation notifications (like inotify) can enable caching proxies and polling proxies, which are sort of dual to each other. Application containers (like Docker, but also like Vesta's build environment, and like rr) can provide isolation, reproducibility, observability, and auditing, but the difficulty of building them is multiplied by the number of different namespaces and system calls they need to interpose on.

\- It's useful to unify the interprocess communication interface for sending a series of employee records from one process to another with the interface for writing them to a file, a tape, or a terminal, and the interface for receiving them from a file, a tape, or a terminal. script(1) and ttyrec and their kin take advantage of this polymorphic interface to make it possible to replay a terminal session later. Unfortunately as far as I know nobody has implemented a system that lets you record and play back GUI screencasts or mouse-click test scripts in such a simple way.

Now, open/close/read/write is really oriented toward the last point more than anything else, treating files as nothing more than recorded output streams that can be replayed. And you lose it if you start reading and writing multiple files! There are other uniform interfaces that have similar benefits for composability; SNMP provides one, REST provides another, and Named Data Networking proposes a third, one which unifies asynchronous notifications with satisfaction of read requests, which is sort of what Unix does too, except that as Benno complains, in Unix you have to bend over backwards to wait for any of multiple events, the polar opposite of the Win16 message loop. (Hilariously, as Benno points out, the Win32 APIs for nonblocking file and socket access are a total mess.)

The particular set of restrictions imposed by your chosen architectural style and protocols will determine what kinds of things you can do to your system once you have it running. Surely we can do better than the Unix filesystem interface in 2020.

</comment></comment></comment></comment></comment><comment><USER25> I'm skeptical of Benno's claim that we _should_ consider meritocracy "a dirty word" because "it's a lie". Certainly it is true that no community of practice achieves meritocracy, just as no polity achieves democracy — there are always some citizens with more influence than others, so it is always possible for the government to act against the interests and values of the majority of its population. Should we therefore consider democracy "a dirty word" because democracy "is a lie"? Perhaps it is better to consider it an ideal to which we aspire, without feigning to have achieved it.

Let's consider what alternative ideals are available in place of meritocracy for governing a community of intellectual practice.

We could strive for a democracy, in which the decisions are made by the majority — but the majority of whom? For this to meaningfully distinguish a community of intellectual practice from the surrounding community from which it arose, as a lotus blossom arises spotless from the swamp, a distinction must be made between voting members and outsiders. (Can you imagine a Linux User's Group where all the presentations are about Microsoft Windows, or a Python conference where all the talks are about Java?) But that is just a way of postponing the question of who the voters are.

We could strive for consensus, like the Quakers, in which any collective decision is postponed until every member agrees; but, like democracy, that demands gatekeeping that draws an ingroup/outgroup distinction, so it is not really an answer to the question of who governs, just how they govern.

We could strive for anarchy, in which all decisions are made individually, and there are thus no collective decisions to be made, whether by the meritorious or by anyone else. A variant of anarchy is "do-ocracy", where decisions are made by whoever shows up and makes the effort required to implement them.

We could strive for a gerontocracy, in which the oldest members — perhaps by length of membership rather than by physical age — make the collective decisions.

We could strive for a high-school clique, where the decisions are made by whoever is most popular.

We could strive for a plutocracy, where the decisions are made by whoever is wealthiest, or who donates the most.

Given these alternatives, it seems to me that when anarchy and consensus demand unacceptable tradeoffs, the least undesirable alternative is meritocracy. In meritocracy, the decisions are made by the _best_ members of the group, according to some measure of merit that seems worthwhile to the group; in a community of intellectual practice, this usually amounts to some kind of knowledge and skill, seasoned with judgment and perhaps a guess about aptitude. If they are the wisest members, then they will make the best decisions. The greatest foolishness is to subject the wise to the government of the foolish. If some of the foolish and ignorant currently are so simply because they have not had the opportunity to learn, we can best remedy that by guiding them to learn from the wise, not by putting the foolish and ignorant in charge.

Of course, meritocracy as an ideal cannot be reached, only striven for; but it is a better ideal to strive for than a high-school clique, a gerontocracy, or a plutocracy.

Which of these are the campaigners against meritocracy hoping for?

</comment><comment><USER27> am i the only one who thinks it's a good thing that his Linux example was shorter than the other two and required less calling into hyper-specific API functionality?

</comment><comment><USER28> Awesome talk. Especially connecting how leaving an entrenched mindset behind applies both to architecture and to diversity in our communities.

And that our meritocracies are not as pure as we'd like to think.</comment>


Jason Calacanis Calling Bubble In Angel Market in TWIST Epp - <AUTHOR> http://thisweekin.com/thisweekin-startups/news-roundtable-tuesday-on-this-week-in-startups-144/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+twistvid+%28This+Week+in+Startups+-+Video%29

<comment><AUTHOR> He called the "bubble" popping in 9-12 months. I have a very limited view of funding trends and wanted to see what you all have to say. The fact the he is calling a time window personally makes me have even less confidence in what he is saying.</comment>


Halide: a language for image processing and computational photography - <AUTHOR> http://halide-lang.org/ <comment><USER2> A Domain Specific Language for image analysis that has used GPUs as well is Diderot ([http://diderot-language.cs.uchicago.edu/](http://diderot- language.cs.uchicago.edu/))

Diderot is very different from Halide though. I think Halide is for processing image data, while Diderot's interface is a much higher level of abstraction (program are written in terms of tensor fields, which Diderot then reconstructs from image data).

</comment><comment><USER3> what's the benefit of making it a language, rather than a library?

also, fragment shader seems to be already a computational photography language.

<comment><USER4> The title does not describe well Halide. The point of Halide is to separate the logic being applied from how it is going to be executed. It is sort of like SQL that has the logic in your statement and then the RDBMS provides the execution plan. Or like Java bytecode being interpreted and then JITted. You want them separated for easy tuning and easy maintenance.

GPUs do not have the smart prefetching of CPUs, and making sure your cores are correctly fed is very difficult, yet paramount. This is really tricky in staged pipelines: do you compute each step in parallel for minimizing the number of instruction done, or do you inline steps for each pixel in order to avoid going to memory? The answer is often a carefully tuned mix of the two will get you a 10x improvement. This improvement being highly dependent on the underlying hardware.

The execution is really a moving part that is independent from the logic, and compilers do not have sufficient information to provide the right execution plan. Halide comes in and makes both the logic and execution plan first class citizens.

</comment></comment><comment><AUTHOR> LtU thread:

[http://lambda-the-ultimate.org/node/5264](http://lambda-the- ultimate.org/node/5264)

<comment><USER5> Also [https://news.ycombinator.com/item?id=7544855](https://news.ycombinator.com/item?id=7544855).</comment></comment>


32 web frameworks to choose from for your next project - <AUTHOR> http://memeburn.com/2011/06/32-web-frameworks-to-choose-from-for-your-next-project/

<comment><AUTHOR> things have changed though.

</comment><comment><USER2> this has been done</comment>


I had an interview for an startup competition and i feel humiliated - <AUTHOR> I had an interview for an startup competition and i feel humiliated. Is it ok?
First, its not about a SJW or discrimination post.
I explain, i am an entrepreneur, my biz has run for 7 years, so im not a kid playing with some cellphone apps / arduino project and trying to sell some useless concept like many other entrepreneur around here.
However, i decided to start a second business, mainly because i have a big office and i have unused space. I found a new competition in Gust that i am currently participating and i think... well, a initial investment could helps, plus is the visibility of the project.  However, they take around 10% of the project and it hurts (but shares could be diluted and its not cheat).
Part of the project involves an interview and i was less than pleased, while the interview process ran without much problem but it was a joke, a waste of my time.   Why?. This interview was around asking me about the team and many other irrelevant questions, the interviewer never asked me about the main part of the project, customers, supply channels, costs and so on.
My question: i am wrong?. I feel that the interview was similar to a job interview.
Right now, i don't know if they will call me back (like an effin job interview) but i don't really feel that its worth. Money is always welcomed but im  more for the visibility and some external feedback. <comment><USER2> The people running the contest owed you nothing. It sounds like you weren't a good match. Move on. The fact that you aren't what they wanted, and they aren't what you wanted, isn't a reflection on either of you.

> i decided to start a second business, mainly because i have a big office and > i have unused space.

This doesn't sound like a good reason to start a business, especially one that's looking for outside investment.

</comment><comment><USER3> Perhaps they have in mind a target market that's not advanced at business as you...?

</comment><comment><USER4> You sound fun.</comment>


A Problem of the Brain, Not the Hands: Group Urges Phone Ban for Drivers  - <AUTHOR> http://www.nytimes.com/2009/01/13/health/13well.html?ref=health <comment><USER2> This has been known for a long time. Cellphone distraction has little to do with holding an object in one's hand. It is the brain-taxing effect of conversation, and the fact that the other participant is not in the car to sense danger and therefore know when to stop talking. From the article:

 _it is easy to equate talking to a friend on a cellphone with talking to a friend in the passenger seat. But a December report in_ The Journal of Experimental Psychology: Applied _debunked that notion. Utah researchers put 96 drivers in a simulator, instructing them to drive several miles down the road and pull off at a rest stop. Sometimes the drivers were talking on a hands-free cell phone, and sometimes they were chatting with a friend in the next seat.

Nearly every driver with a passenger found the rest stop, in part because the passenger often acted as an extra set of eyes, alerting the driver to the approaching exit. But among those talking on the cellphone, half missed the exit.

"The paradox is that if the friend is sitting next to you, you drive safer," Dr. Strayer said. "When you talk to that person on a cellphone, you're much more likely to be involved in an accident."_</comment>


Decline in gun violence in the United States - <AUTHOR> https://www.washingtonpost.com/news/wonk/wp/2015/12/03/weve-had-a-massive-decline-in-gun-violence-in-the-united-states-heres-why <comment><USER2> [http://www.politifact.com/truth-o- meter/statements/2014/jun/...](http://www.politifact.com/truth-o- meter/statements/2014/jun/16/facebook-posts/viral-meme-says-gun-homicides-are- down-49-percent-/)

"Gun homicides didn't decline 49 percent over the last 12 years -- rather, they declined precipitously over six years in the 1990s, then have remained basically stagnant for the past decade or so.

Why is this important? Because the decline, to a large degree, has to do with a specific reason -- the end of the crack epidemic."

</comment><comment><USER3> If you look at the graphs, there was a sharp decline from 1993 to 1999, then it has been pretty flat since 1999/2000 with small increases/decreases in some areas.

Unless the graphs for mitigating factors show a similar (or mirror) shape, then it is unlikely the reasons cited are valid.

<comment><USER4> There's an interesting (although controversial) correlation between legalized abortion and decline in crime for that time period. [https://en.wikipedia.org/wiki/Legalized_abortion_and_crime_e...](https://en.wikipedia.org/wiki/Legalized_abortion_and_crime_effect)

<comment><USER5> Few if any things correlate better with crime than the population of young men.

Not that any but a 1st half of the 20th Century progressive would be happy with the possible mechanism you mention.</comment></comment></comment>


China's former chief trade negotiator criticises Beijing's in US tariff war - <AUTHOR> https://www.scmp.com/economy/china-economy/article/2173779/chinas-former-chief-trade-negotiator-criticises-beijings <comment><AUTHOR> I can tell you as a long time China watcher this is unprecedented. These guys never air out differences in the press. Quite simply it isn't done.

I thought the Chinese would wait as close as they could to the US 2020 election to cut a deal. Something is going on here that is not obvious.

<comment><USER2> Please talk more. I'm very curious about hoe this thing will play out. (and wish that china is weakened)</comment></comment>


Punk Rock is Bullshit - <AUTHOR> http://www.seattleweekly.com/2013-03-06/music/punk-rock-is-bullshit/full/

<comment><USER2> Is there a word to describe this sort of writing style?

> There was no Microsoft money, no Starbucksian gentrification, no post-grunge > feelings of cultural inevitability—only the low-tide stench of marine oil > and clams and the calcified class system of a small Western city built on > lumber, Alaskan gold, and B-17s.

Every single paragraph of this opinion piece is built on a slightly more general version of this particular device: using particular weighty symbols or instances of a concept in action to refer to the concept (kind of like a metonym). The author's point here is that "Back before Seattle became what it is today, it was a small, boring industrial town." But the way he said it certainly has more punch and says _more_ than my version, right?

I just get the feeling that the piece is so awash in this technique that it comes off as overwrought and preachy.

In any case, I'd like to be able to put a name to this style; it'd certainly help me in my own writing (having words for things helps me understand them: their benefits, their dangers).

</comment><comment><USER3> This piece makes more sense when I look the guy up and figure out what musical culture/aesthetic/ethos he _does_ like. He's the frontman of this band: <http://www.youtube.com/watch?v=xTxMldqvTHY>

In light of that, his distaste for the culture/aesthetic/ethos of punk rock is unsurprising...

<comment><AUTHOR> Haha. Good catch, gotta pivot somehow.

</comment></comment><comment><USER4> Sadly, just seems like the author was never really even punk rock to begin with.

</comment><comment><USER5> meh, punk rock was a counter culture. counter culture always lives on, simply in different forms. the hep-cat, the rockers, the hippies, the punks, grunge, the goths, emo, hipster. Culture moves forward, get old and grow out of it. Punk died long ago, and the new trends went over you head, deal with it.

bottom line of the article is, sounds like the author got old, looked back at those old photos of himself, and thought "boy was I stupid back then" Every generation that grows up does this.</comment>


EU-US Privacy Shield - <AUTHOR> https://www.privacyshield.gov/welcome <comment> o0-0o For those interested, here is an easy to use, in depth checklist that you can ask software vendors to fill out in order to verify their privacy shield compliance.

[http://investorportalpro.com/insights/privacy-shield- sofware...](http://investorportalpro.com/insights/privacy-shield-sofware- vendor-checklist/)</comment>


What frustrates me the most as an entrepreneur   - <AUTHOR> http://joshliu.co/what-frustrates-me-the-most-as-an-entrepreneur <comment><USER2> I wonder what life would be like if salaries were publicized in the same way as professional athletes.

I've had situations where extremely intelligent and productive fellow employees left the company because they found out someone else of the same level was making a lot more than they were. And by the time they offer a raise, the employee has already emotionally moved onto other pastures.

I'll admit that when I found out someone else was making a lot more despite putting in less hours, my motivation within the company dropped dramatically and I put in my notice a few days later. It's not that my only motivation was money but I lost a lot of respect for mgmt.

I do think the argument is funny sometimes. I'm not saying that the author believes this, but I've seen other owners come across like, "we're not trying to be greedy... we really don't have much money." Okay, so then why not tell me what everyone is earning and owns so that I know where I fit in? Oh right... you want to get away with the minimal amount you can get paying me.

<comment><USER3> A good approach is to have a well-determined, public salary policy, as described by Joel Spolsky in <http://www.joelonsoftware.com/articles/fog0000000038.html>

<comment><USER4> This is good stuff. As the article was written in 2000, does anyone know how these things panned out? Is Fogcreek still using this plan?

<comment><USER5> Yeah, [http://blog.stackoverflow.com/2011/07/how-much-should-you- pa...](http://blog.stackoverflow.com/2011/07/how-much-should-you-pay- developers/)

</comment></comment></comment></comment><comment><USER6> I'm conflicted about this post. I think your expressions are heartfelt, but it sounds like you've been window shopping when you don't have the funds to buy.

If you knew you didn't have the money to fairly pay for this designer's services, why ask? To the more cynical among us, this post may seem like a manipulative way to indirectly guilt-trip this guy into working for you far below his asking rate.

Look, you know how to get press and upvotes on HN. You obviously know how to influence people. But maybe now isn't the time to be speaking about this hiring issue while it's still unresolved.

<comment><USER7> > If you knew you didn't have the money to fairly pay for this designer's > services, why ask?

By this equation, a startup without a lot of VC money wouldn't have a shot at hiring anyone great - and yet a startup needs great people. Put simply, if you want to make a lot of money at minimal risk, run far away from startups. Go work at a big tech company who's a money making machine, become employee 29751, and enjoy your biweekly paycheck which will come whether you work hard or not.

The equation at a startup is different. You have to love what you do, first and foremost. That's not measured in dollars, but not hating the place where you spend most of your non-sleeping hours is worth a lot. Secondly, you really have to believe in the company, and your impact on it. Without that, you'll value your equity at $0, and the financial side of things will wear on you (you will believe you're being paid unfairly).

Part of attracting great people is making sure they believe in you, and making sure you can provide a great work environment for them. The people who are strictly motivated by salary are probably not going to work out. There are still a lot of great people willing to take on some risk so long as it's something they believe in.

<comment><USER6> Me believing in your startup is included in my rate. So is passion. If you're going to nickel and dime my rate, both will affected.

<comment><USER7> That would suggest you have a different rate for different startups. Right? If so, I agree with you.

</comment></comment></comment></comment><comment><USER8> Promises are meaningless in business. This great UX guy shouldn't take your low pay for a second. He's probably a great UX guy because he's focused on UX and not investing. He needs to be paid well or he won't be able to focus on UX 110%

Remember, not being an investor if your business doesn't pan out it's much harder on him than a guy who has a portfolio to fall back on.

He'll also likely resent you. This resentment can come back to affect his work when crunch-time comes. Employees that want more money, deserve more money, but took low pay on the hope of success tend slowly develop resentment towards the business. Especially the longer they wait for the promised success.

<comment><AUTHOR> I liked what you said. Yes, I want him to focus on UX 110%, and not worry too much on the money. But, the fair rate to him is too high to us. That is the struggle. I am sure we will find a fee we are both fine with. But, I just wish that I could pay him, or anyone in the team, the rate reflecting their value. That is it. :)

<comment><USER9> Find someone that may not be quite that good, but is ambitious and still learning, then help him grow into what you need.

<comment><AUTHOR> Yes, I think it is about the balance as well. A rising star needs to be able to product decent work already, and keen to learn more to become that super- star.

We had experience getting a young graduate, and it turned out that it took a lot of time to teach him some basic things. It did not work out at out at the end.

</comment></comment></comment></comment><comment><USER10> _When I talk about shares/options, I am serious. I am not trying to con you to be a low-paid slave. I want to share our prosperity and success with you when the time comes._

I never take the offer of equity as a con. I see it for what it is: a high- risk investment because the founder does not have enough capital to pay. The main point here is that _when the time comes_ should really be _if the time comes_.

If you are a founder in this situation, realize what you are asking for is a hybrid worker/investor. And you shouldn't be surprised when this narrows the pool of available workers interested in the opportunity.

<comment><AUTHOR> I think you make a fair point. Yes, that is true. It is a high-risk investment for other employees, and different people can take different level of risks.

It would not be fair to ask a late thirty person to take the same risk as a early twenty person. People have different financial concerns in different stage of lives.

I think a good founder need to consider that. It is just not right to ask everyone takes the same risk as the founders do.

<comment><USER11> Don't forget that when you eventually go under (or in your case if) some employees will usually stay on past the time when you can actually pay them. It is very hard to fire them because you will cling to the hope you can still make it.

In Austria there is luckily an employee compensation fund for insolvencies that pays out 3 months wages as long as employees claim the money in time. If you don't have that you will (might) be in for an even tougher decision.

Disclaimer: I don't claim your startup will fail with certainty but statistically that is what you are in for, so better think about what you want to do ex ante.

</comment></comment></comment><comment><USER12> This is an honourable position to take. Unfortunately, it still leaves you stuck not being able to pay people wages they require for financial stability.

</comment><comment><USER13> as a founder and an engineer.. you are being naive. You know how many times we hear, "I have a billion dollar idea, all i need is 1% of xxx market". Yes we all hope our startups will be successful, but in the end engineers and designers have to look out for our own best interests, as the odds are stacked against you and more than likely you will fail. While your idea has some social proof ( <http://www.maven.co/knowledge-marketplace> , <http://www.liveperson.com/experts> ) , its very hard to convince people your idea is good.. especially if its an extremely new idea, and second hard to hire the best at lower than market value, especially if you are a first time founder with no experience raising funding ( the TC article does you no help either).

You should see if he would be willing to contract with you, while allowing him to work another job and possibly give him equity incentives along with pay.

<comment><AUTHOR> Thanks for your in-depth feedback.

I totally agreed that it would not be fair to ask other people to take as much risk as founders. It is all about structure it and get the balance.

Yes, we are not getting him full time. He is going to have another job in parallel. Hopefully, we could work with him 1-2 days a week to start with, and compensate his highly discounted rate the other way.

</comment></comment><comment><USER14> It's the nature of the beast, you're a startup ... you can't pay people what they would make on the open market ... People who wind up working for you, either believe in you and/or your idea.

So embrace that constraint.

I'm kind of surprised that you're looking for a UX guy full time, Is that really necessary in your estimation? Don't you think you'd do better with a freelancer billing out hourly?

</comment><comment><USER15> _When I talk about shares/options, I am serious. I am not trying to con you to be a low-paid slave. I want to share our prosperity and success with you when the time comes._

Does this mean employees get stock options, or are they promised to get stock options?

</comment><comment><USER16> What frustrates me the most about your blog is the fact that when I want to know what the heck Minutebox is, the link doesn't really work.

<comment><USER17> It also breaks my back button (Chrome), which drives me crazy.

<comment><AUTHOR> thanks for reporting it. did not notice that issue. has reported it as a bug.

</comment></comment></comment><comment><USER18> UX wise, I don't want to click through a random bunch of faces to solve my problem.

You will have tonnes of "experts" who buy in. There's always a supply of people who want money.

You could provide a way I can type "how do I do X", and any experts interested can give a free 30 second answer. You might want to get credit details first (to keep time-wasters away).

<comment><AUTHOR> Thanks, great comments on the UX.

That is something we definitely want to work out. I understand that it could actually get time-wasters if you do not put the payment at the front. But, on the other hand, if you put a payment right at the beginning, it causes friction.

We are just experiment to find the best approach for both experts and clients.

I do like your "how do I do X" + 30sec answer idea. Thanks a lot

</comment></comment><comment><USER19> My idea involves having some capital to work with, but I'd still like to hear some feedback. When hiring people, you tell them up from "we're willing to pay you up to $AMOUNT in cash and/or stock as annual compensation. What percentage of that would do you want as salary with the remainder as stock?"

</comment><comment><USER20> I think the right thing to do here is to realise that they are outside your current means. Either pick them up for some contract work at the market rate or if they do really believe in the idea maybe they should be a cofounder.

<comment><AUTHOR> Yes, we would like to get him couple days a week as a contractor to start-up. If we work together well, we would be more than happy to make the relationship even closer.

His rate is fairly high to us, but I know he is happy to discount the rate for us. I really appreciate it. A lot of people discount their rate working for us as well. I just feel a lot of appreciation of that, and hope I could pay them the rate they deserve (or other type of compensation) very very soon.

</comment></comment><comment><USER21> _If you are an investor, and you think I should pay people peanuts to maximize your investment. Please go away. I disrespect you._

Shouldn't that be "You disrespect me"?

<comment><USER22> He probably means what he says. He can't be sure enough of the investor's internal thought processes to know that the investor doesn't respect him. In contrast, he can decide that, given what the investor's conclusions reveal about his thought process, he shouldn't respect the investor.

</comment></comment><comment><USER23> OP: You're one of the good ones, as far as I can tell. Please stay in the game.

The real issue, I think, is that your job forces you to motivate people to take risks on your behalf and it feels like you're over-promising. A lot of success in business relies on motivating people (employees, clients, users) to help you succeed by promising what you'll be able to deliver if everything goes right... selling a vision, in other words. But your workers buy into that vision: they're willing to take mediocre (or even abysmal) compensation in return for the opportunity to be part of something great.

You shouldn't feel bad about paying them poorly. If they wanted high-paying jobs, they'd take them. You should feel bad if you downgrade or abuse their loyalty, if you intentionally break your implicit promises to them (if you bust your ass and do the right thing and still fail, that's _not_ an intentional breach). But you seem considerate enough that I don't see you doing that.

As for investors and the low salaries they expect employees to take, that's a gnarly issue. It's a completely fucked system when the people who are risking more (their careers and opportunity cost) and putting more on the line (their time and work) are second-class citizens compared to the investors, who are just putting up money (that might not even be theirs, in the case of institutional agents). The _real_ investors in any company are the founders and early employees who are doing the actual work. The money given by financial investors ought to be respected (it's a loan, not a gift) and they should certainly have enough say to ensure this, but it shouldn't give them the clout it does.

It's one of those decrepit old systems whereby favor has more value than labor. It's not worth taking personally, and your employees don't resent you for being on the losing end of it.

Also, as for what keeps that system in place, I think there's a bit of unacknowledged resentment of entrepreneurs by VCs. The VCs have the well-paid, cushy, powerful and easy jobs and are pretty much guaranteed by their path-of- low-resistance career track to be rich... but their jobs are a bit boring from a day-to-day perspective... lots of meetings and reviewing prospectuses (prospectii?) and shit like that. The entrepreneurs, as they see it, deserve less respect because they have the _fun_ jobs.

<comment><USER24> _The VCs have the well-paid, cushy, powerful and easy jobs and are pretty much guaranteed by their path-of-low-resistance career track to be rich_

Then why doesn't everyone and their mom become a VC?

Hint: Because it's nowhere near as easy as you think it is.

<comment><USER25> While I'm not a VC, and I don't know enough to comment on how hard the job itself is, I do know that it takes a significant amount of capital. Not everyone and their mom has enough capital, and therefore, they're not in a position to become a VC.

It is plausible that the barrier to entry is high, but the job is easy.

</comment></comment></comment><comment><USER26> First, if you can't afford an UX guy, even just paying him something fair, then why even hire one? Work with him as contractor first but for a fix rate rate. That way he doesn't have to leave his paying job and gets to work with the team. Nights or weekends whatever works for him.

Second, again you probably don't need an UX guy now. Dig into your heart, whats not working for Minutebox? User adoption or just the plain old people are just not finding it. If that's is the problem, then you won't turn it around by hiring a great UX guy. You only need the UX guy when you get tons of users and you need someone to make the experience of using minutebox better for them.

<comment><AUTHOR> Thanks for the great comments.

Yes, we are planning to work with him on a contract basis. It would be the best for both of us.

We have learned a lot from our users, and know what problems we need to solve now. We are working on the most important bit of the conversion funnel maximisation, and we think some UX input could help us to do that better, quicker, and more efficient.</comment></comment>


Nokia's basic cellphones live on at Microsoft - <AUTHOR> http://www.theverge.com/2014/8/11/5990247/nokias-basic-cellphones-live-on-at-microsoft <comment><USER2> Are they bringing back the 3310?</comment>


Open Source, compliant Google Wave Server - <AUTHOR> http://code.google.com/p/pygowave-server/

<comment><USER2> This really needs a set of users to help test this. My username on that is zitterbewegung . I have a wave called hacker news.

<comment><USER3> Link?

<comment><USER2> <http://pygowave.p2k-network.org/waves/ryfHdRJuEA/> ? I really don't know how to export waves. I added jochen to the wave.

<comment><USER4> "Sorry, you do not have permission to view this Wave. You must be added by the people who participate in this Wave."

My username is jochen

<comment><USER5> It seems like this implementation requires a second communication channel in order to invite new users. That's interesting - and not too different from traditional IM.

Maybe this time next decade we'll still have email accounts, but they'll contain nothing but invitations to next-gen communication media? Oh, and spam.

<comment><USER6> Sometimes these are almost impossible to tell apart.

/me waits for the first "Is your board long enough for her wave?" message to hit his inbox.

</comment></comment></comment></comment></comment></comment><comment><USER7> Whenever I try to add a gadget from the 'All gadgets' link, using the xml url, I get the same error:

\</comment><comment></comment><comment>-- IntegrityError at /gadgets/mine/

(1062, "Duplicate entry 'Wave name' for key 'title'") \</comment><comment></comment><comment>--

</comment><comment><USER8> I've never seen a good summary of Google Wave. Anyone hear a good one?

<comment><USER9> It is basically a combination of real-time instant messaging (where each letter typed can be seen as it is typed), email, and collaborative document editing all in one. You can have as many people typing and editing at the same time as you want - which can be very entertaining actually among curious hackers goofing off. The key though is that each conversation is contained in a single object, the wave, and you can add as many participants to that conversation as you like, including "synthetic" participants or robots. Right now robots have to run off Google's app engine and you can write them in either python or java (we chose clojure on top of the JVM). You can also add "gadgets" to the wave, which are client side objects that all participants can see (in the same state) and when the state is changed, all participants see that change as well. Additionally, the wave is tracked temporally, so that you can "replay" the conversation as it occured.

<comment><USER10> What I've never understood is how this is any different from IRC with a bunch of handy bots (esp. a logging one) sitting in on the channel.

<comment><USER11> In Wave you can edit previous text.

<comment><USER10> You could do the same with the logging bot if it supported line-editing command messages, then just put a GUI on top that translated the visual- editing commands to line-editing semantics. I'm not saying any IRC server/network I've ever seen does this _now_ , but it's not out of the plausibility range and far easier, I think, than pushing an entirely new protocol. But I digress: perhaps I should just set it up myself and see if it really _can_ be done.

</comment></comment></comment></comment></comment><comment><USER12> Harsh...

Account activation Sorry, your account could not be activated. I don't care why this happened.

<comment><USER13> Finally, some honesty from open-source hackers.

(I kid because I love)</comment></comment>


GDPR is an identity thief's dream ticket to Europeans' data - <AUTHOR> https://www.theregister.co.uk/2019/08/09/gdpr_identity_thief/ <comment><USER2> "GDPR is an identity thief's dream ticket" would require that the GDPR somehow permits companies to hand over personal data without reasonable identity verification. The Register seems to be making this assumption in their editorialized headline.

However, as far as I can tell, these companies have done the opposite and _breached_ the GDPR by failing to keep personal data safe, as the GDPR itself requires, in the process of handling a data access request (as happens to be mandated by the GDPR).

I don't see how this is a problem with the GDPR itself. It _is_ a problem with how some companies have implemented it.

According to the article, the researcher says that "lawmakers need to set a standard for what is a legitimate form of ID for GDPR requests".

I'm not sure I want this. I want companies to remain liable for data breaches even if they come from illegitimate data access requests. A single standard won't suit all situations.

<comment><USER2> Would the downvoters please explain why you think I'm wrong? Or is this just the typical GDPR hate that seems to infest HN such that I defend the GDPR ergo I'm automatically downvoted?

<comment><USER3> I don't get this either. You are on point.

Giving out data to someone other than the data subject is a data breach.

If you can't identify the subject positively you don't give out the data.

You document this - it is not like you get an instant fine without anybody asking you about what was going on.

This is not YouTube or PayPal or Twitter banning your account without a chance to talk to someone. Before you get a fine someone will talk to you. If you get a fine you can appeal. It is not instant 4% of you income decucdet automatically from you account.

</comment></comment></comment><comment><USER4> Surely this isn't a new problem given that credit bureaus, hospitals, and so on already had to turn over information on demand?

<comment><USER5> But for any other industry, there would be no existing infrastructure to support this.

<comment><USER6> They all used authentication systems though don't they? The problem is any bad actor can exploit GDPR to get information on anyone else.

<comment><USER3> That's not true. You are only allowed to give out information to the data subject. You have to verify that you are giving the information only to the subject.

If you can't verify you don't give out information.

There are so many ways to verify. Public Data is not a shared secret, thus not something to verify identity with.

<comment><USER7> If you have the home address of the subject, send it to that address, don't allow recent changes without thorough investigation. A postal letter is more secure than sending an email to the subjects email address.

</comment></comment></comment></comment></comment><comment><USER8> I notice the pattern that any opinions stating that this is not a GDPR issue, it is a end-company issue, get downvoted. Oh how much would the US companies like to get rid of GDOR and go back to a system where everything is up for grabs, with zero accountability and rampant abuse. I think GDPR is one of the best things that have happened to Europeans/European consumers since the inception of internet, in the data ownership and privacy space.

What Pavur managed, is a wake up call for companies to further clean up their act, and that is positive step to making GDPR stronger but not to remove it.

One cannot blame the whole system for some/many bad actors. If improvements are needed in the identifying mechanisms, so be it, but as a system, it is built to work FOR the people.

Also (without reducing the effort and results of Pavur) anything you read on UK media condemning anything EU-made, take it with a pinch of salt, a no-deal Brexit may be coming and some media will do their best to demonize all-things- EU. Agendas will be served.

</comment><comment><USER9> >"Privacy laws, like any other infosecurity control, have exploitable vulnerabilities," he said. "If we'd look at these vulnerabilities before the law was enacted, we could pick up on them."

Okay, now let's relate it back to what Hacker News knows about

> "Software, like any other infosecurity control, have exploitable > vulnerabilities," he said. "If we'd look at these vulnerabilities before the > Software was deployed, we could pick up on them."

It's correct to say that you can limit the number of vulnerabilities you ship, but it's always going to be non-zero and you're always going to need to deploy security patches.

I'm not sure poor implementation and compliance with a new law is a particularly huge threat. Over time best practices will emerge and this will essentially be a low success rate attack vector. Compare that to the counter- factual, before GDPR the number of companies with your data was far higher, the data they held was far more in depth, and they often had little to no security procedures. The underlying message here is that the fundamentals of GDPR make your data safer, not less safe.

</comment><comment><USER10> Right, so slap the largest fine on each one. They had 2 years to prepare and obviously didn't.

Before the GDPR this would have been stamped "identity theft" putting the company in the clear. As if you were somehow responsible for the company not verifying the identity of their customers.

[Edit]

I should mention that around here there is an established 2FA solution used by banks and the government so verification has been de facto standardized.

</comment><comment><USER11> Point of fact: it's not the GDPR, per se, that causes companies to hand over personal information to duplicitous individuals. It's those companies poor verification and security practices.

The GDPR does create a new attack surface, in that companies now have a legal obligation to provide information. The article did not say whether or not there is a legal obligation to properly verify the identity of the requestor.

<comment><USER12> It isn't really a new attack surface because GDPR is only a refinement of previous rules. Companies inside the EU already were subject to previous iterations of this "Ask permission, don't keep stuff you don't need, tell subjects what you know, fix mistakes on request" model.

Back when I first worked for a start up, Richmond Informatics (subsequently Garlik, which was then bought by Experian) it began by doing subject data access requests for key personnel just to see what was out there. That's well over a decade ago.

And yes, they have a responsibility to ensure they only give the actual subject the data, which is tricky but if it's too hard then probably "don't keep any data" was the correct answer. "Thank you for your letter. We do not keep any data whatsoever about our users". Done.

At Experian the main theme of the training in this area was "Do not try to help, don't respond in any way except to forward everything to the special department that handles these requests".

</comment></comment><comment><USER13> Bad headline by The Register, the problem is not GDPR as the headline might try to convince you, the issue is identity validation and lack of security controls.

The attach described is similar to "password reset", which gives an adversary access to everything and companies that don't have strong security in place, or users with weak passwords are likely subject to exploitation.

</comment><comment><USER14> I'm not sure why GDPR requires companies to provide data subjects with actual copies of the data (Article 15 section 3). In most cases, providing the actual data doesn't really give any more information than just telling the data subject that the company has the data.

For instance, I already know my mother's maiden name, so a response of "We know your mother's maiden name" would be just as useful to me as "We know that your mother's maiden name is <NAME>", but would be much less useful to someone pretending to be me.

There are situations where you do need to see the actual data so it should still be available, but getting that data should require a much more robust proof that you are the data subject than is required for just getting the existence data.

<comment><USER12> Subjects have a right for the information to be correct. So they need to see what you've got, not just the claim to know my mother's maiden name (actually a matter of public record in many countries) but the fact you think it's SMITH (it isn't so you will need to fix that).

</comment></comment><comment><USER15> If nobody can profit from it, it doesn't exist. Even in europe.</comment>


Show HN: Doc42 – Simple documentation tool - <AUTHOR> http://doc42.io/ <comment><USER2> Any progress on documenting this documentation tool?

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

<comment><AUTHOR> Yes, fixed some errors in the external tools (js libs) and added more details on installation, structuring pages: [http://doc42.io/docs/getting- started/start](http://doc42.io/docs/getting-started/start)</comment></comment>


Google gets patent for its doodles (2011) - <AUTHOR> http://news.cnet.com/8301-17852_3-20046034-71.html

<comment><USER2> That patent system is broken. Period. Everyone knows this and yet movement toward change is frustratingly slow... Against the backdrop of an industry that changes faster than any other.

<comment><USER3> Dear people who own almost everything.

Please modify the property laws so that entities like yourselves will be constrained from willy-nilly acquiring more stuff (and/or stuff that isn't really stuff).

Sincerely, the people who own doodly squat.

<comment><USER4> I like how you slipped in the use of 'doodly squat' there - very fitting.

</comment></comment></comment><comment><USER5> Does anyone else find the doodles incredibly tacky?

</comment><comment><USER6> Let me argue why I think this is patent is not too bad, and actually interesting in some ways not typically discussed.

First here's the broadest claim (formatted for readability):

 _A non-transitory computer-readable medium that stores instructions executable by one or more processors to perform a method for attracting users to a web page, comprising:

instructions for creating a special event logo by modifying a standard company logo for a special event, where the instructions for creating the special event logo includes instructions for modifying the standard company logo with one or more animated images;

instructions for associating a link or search results with the special event logo, the link identifying a document relating to the special event, the search results relating to the special event;

instructions for uploading the special event logo to the web page;

instructions for receiving a user selection of the special event logo; and instructions for providing the document relating to the special event or the search results relating to the special event based on the user selection._

It's certainly not revolutionary, but patents rarely are. It was filed in 2001 and finally issued in 2011, being rejected multiple times along the way. That may have been partly due to them trying to claim too much and partly the "reject by default" unofficial policy then-director Dudas had instituted within the USPTO during his reign. (Patent practitioners encouraged to chime in here.) Nevertheless, what has emerged is not really too bad (for a certain perspective of "bad") because it's a) pretty narrow, and thus, b) highly unlikely to infringe by mistake. As such, this is not a good example of the patent system being broken, even though at first glance it does not seem very novel.

But I could also make an argument for novelty! Google Doodles probably _is_ pretty novel because Google was -- as far as I can tell -- the first company to _systematically_ modify its logo this way. Sure, several brands modify their logos once in a while, e.g. during Christmas, but Google took it to a whole new level, and in doing so, cultivated a fun and carefree personality for their brand. There's an interview with an early Google employee where he says he was horrified by this practice because it went against everything he was taught in Brand Management 101. I know nothing about brand management, but if true, it makes a case for non-obviousness. Furthermore, this undoubtedly system fulfills the title of the patent, because many people, including myself, often visit the Google homepage just to check out the doodles. It's undeniably a beneficial feature for their business.

Unfortunately, "systematically modifying a company logo to create a fun-loving brand perception" is not what they patented. For various reasons, such as being a business method and a rather abstract concept, such a claim would be difficult to get through. (Yes, even in the USPTO.) Maybe they tried anyway, which may be why it took 10 years to issue. But what they actually got was the claim above, which is simply a collection of steps to change the company logo during special events and link it to search results that really only applies to web search engines. It says nothing of the execution and artistic chops required to pull it off properly. It says nothing about brand management and the unique brand perception it created. There are only certain things a patent can protect.

And I'm honestly not sure why Google worked so hard to protect this with a patent. There are easier ways to inflate a portfolio, and even if we assume it to be a "good" patent, it's worthless. Because after 10 years and tens of thousands of dollars put in, Google now has a patent that nobody else will infringe simply because it's something that probably only Google can pull off with their brand.

</comment><comment><AUTHOR> "A system provides a periodically changing story line and/or a special event company logo to entice users to access a Web page"...or change logo and upload the new one to the website. Revolutionary!

<comment><USER7> Google has too much money, too much time and too much employee deadwood on its hands.

Why would anyone even bother patenting this? It would have required the employee to ask their boss who would then have to pass it up the chain of command before legal looks over it and clears it for submission to the patent office.

Fire them all!

<comment><USER8> Because every time they make really good one everyone says, "Did you see today's Google doodle?" If you can keep other people from doing the same thing, then it keeps them from driving traffic to their site.

</comment></comment></comment><comment><USER9> This is ok because it's google and they are generally benevolent.</comment>


A nice software 3d renderer - <AUTHOR> https://github.com/CallMeZhou/Puresoft3D <comment><AUTHOR> If you have just learned OpenGL/Direct3D, and are able to draw some fancy stuffs, but your video card is still a damn black box to you, this project fits you well by opening the box up.

Or, if you think you are an old driver in graphics pipeline, and are keen on challenging me or teaching me lessons, this project fits you too.</comment>


Seriously, why can't we get a great solution to handle business calls? - <AUTHOR> http://blog.aircall.io <comment><USER2> I found the writing nearly incomprehensible, and the admission of not knowing what PBX meant, and bragging that they didn't care, was not reassuring. Even if you agree with the concept that email addresses are easier to get right than phone numbers (and that obfuscation of identity is not important), that is all interface issue. You are still going to need PBX to get it to work in an office.

<comment><USER3> I was thinking throughout the whole thing that it was written by someone whose first language is definitely not English. Beyond that, it was poorly proof- read, poorly laid-out and not coherent.

<comment><USER2> yeah, if you are starting a business that targets enterprise, you need to get a native English speaker writing things for you.

</comment></comment></comment><comment><USER4> What is a "business" call? I didn't see a definition.

"Just make and receive business calls. As easily as email."

Umm.... Most people I know are horrible at email. If I email 4 people and ask a group question, 90% of the time one of them replies _only_ to me with info for the group. Or the reverse, sends a reply intended for me to the whole group, sometimes with embarrassing results.

"easily as email" is not a good bar to set.

<comment><USER5> Btw, you can use frontapp.com for email!

</comment></comment><comment><USER6> Package up voip.ms or anveo on the backend in a nice UI, and provide a reliable SIP app (e.g. sipdroid), and you basically have what you guys are going for. If you focus on polish you can probably charge a premium, as right now there's still a high tech factor involved in setting such a system up.

</comment><comment><USER7> I see a lot of evidence on the website of a company that _doesn 't_ understand how to communicate.

</comment><comment><USER8> Business calls are one of those things that any engineer doesn't want to be involved in. Thus, there's no passion behind the projects that exist :-)

</comment><comment><AUTHOR> Hi I'm the author of the post. You've guessed right - I'm not a native english [I had the post proof-read though by a "native" (he said) so I've got some follow-up to do], but a humble members of the French Tech. We'll try to work on our language skills asap!

Beyond this I truly appreciate your feedback [and of course we all know at Aircall what is a PBX and how to make one quickly in the garage :-)].

<comment><USER9> You don't need to brush up on your English skills if you hire me, I'm a freelancer specializing in polishing up non-native English speaking companies' website and promotional copy when they're expanding into English-speaking markets.

From my website (which I won't post here out of integrity, despite the sales pitch): "I comb all English language copy on your website, printed advertising , billboards, even television and radio spots, before going to press.

I produce a report that identifies and corrects all spelling, grammatical, and phrasing/punctuation errors that may have been missed during the initial translation to English.

My background is in both formal and conversational English, with a long history of writing both fiction and academic pieces. I am able to work with clients to modify the tone and context of wording in your message, to better match the original meaning and intent."

PM me if you want to discuss. Cheers!

</comment></comment><comment><USER10> I rolled my own PBX with Twilio, but I probably would have given this a shot if it had been available (depending on pricing). The partial screenshot of the interface looks nice. As others have commented, though, the blog post does you a significant disservice. Would you do business with a hosting provider that said, "We don't know what 'DNS' is (and don't wanna know)"?

</comment><comment><USER11> I would add:

6\. Instant access to conference lines for multiple people to join at once.</comment>


Yale CS students say the school has 'ceded the battle' to Harvard and Stanford - <AUTHOR> http://www.businessinsider.com/yale-computer-science-petition-2015-3

<comment><USER3> "With so few professors, Yale's department has no choice but to ignore entire areas of computer science."

This is true of most disciplines at most schools, when it comes to research at least.

<comment><USER4> Indeed. The specifics include a comparison to "Harvard, Stanford, MIT, Princeton, Berkeley, Carnegie Mellon, Cornell"

Stanford, UCBerkely, CMU and MIT are the _world 's_ top CS schools, everyone else including Yale has difficulty competing with them. Yale's CS department has always been small, if not idiosyncratic (I'm thinking of their AI professor who said everything else in the field was bunk). In the areas I'm most interested in, their development of T, the first production level implementation of a Scheme, was the biggest thing to come out of it, and that was 3 decades ago.

</comment></comment><comment><USER5> If those numbers about grad students are right, that's pretty weird - <USER2> sounds like they're being overly picky about who they admit and only admitting the people who were accepted at other, more prestigious, places.

Edit: I've seen exactly the same thing happen with faculty hiring, it's a bit stranger that it would happen with grad students since it's easier to move the bar year-to-year there.

</comment><comment><USER6> Squeezed out, indeed. The text of the article took up less than 1/4 of the full page width until half way down the content, mainly accompanied by a picture of a football team training and a 'see also' section.

BusinessInsider clearly know where their loyalties lie.

Footnote of the article: "The 10 most useless graduate degrees" [http://www.businessinsider.com/the-10-most-useless- graduate-...](http://www.businessinsider.com/the-10-most-useless-graduate- degrees-2015-2)

</comment><comment><USER7> This is not really my area of expertise, but is the Harvard CS department actually in the same league as Stanford? When I think of top CS schools, I think of MIT, Stanford, Carnegie Mellon, and Berkeley. Neither Harvard nor Yale come to mind. Maybe they are trying to play up the HYS rivalry for people that know even less about this than I do.

<comment><USER8> They are not in the same league yet, but in the last decade Harvard has been trying to improve. And they continue to do so, last November they announced that they will increase faculty size by 50% [0]. At the same time, computer science is becoming a more and more popular, in 2014 the intro to CS course surpassed economics as the most taken course at Harvard [1].

I think the bigger picture is that computer science as a subject is becoming more important. Both Harvard and Yale have historically been considered among the "best" US universities despite being weak in CS. I guess the concern is that because CS is becoming more valued, they need to become strong there as well in order to stay on top.

[0] [http://www.seas.harvard.edu/news/2014/11/ballmer-to- support-...](http://www.seas.harvard.edu/news/2014/11/ballmer-to-support- computer-science-expansion) [1] [http://www.thecrimson.com/article/2014/9/11/cs50-breaks- enro...](http://www.thecrimson.com/article/2014/9/11/cs50-breaks-enrollment- records/)

</comment></comment><comment><USER9> Even if Yale has a comparable CS department, it is still hard to compete against Harvard, MIT, Stanford, Berkeley, CMU and Princeton: it is a matter of New Heaven vs. Boston, Bay Area, Pitt and NYC.

Boston, Bay Area, Pitt and NYC are crawling with major sites for Tech Giants (Google and Microsoft for obvious ones) as well as hot start-ups, whereas New Heaven does not have much to enjoy regarding thriving tech scene within a reasonable radius (< 2 hours commute).

And to chime in my personal preference, if I were to invest about 6 years of my life at a place, I would take Boston or Bay Area any day: there is something refreshing about Boston or Bay Area which I do not find in New Heaven (I have had extended stays in all three places).

So any perceptive and shrewd student who got admissions from Yale as well as one of Harvard, MIT, Stanford, Berkeley, CMU or Princeton would choose not to go to Yale after admitted students visit day.

<comment><USER10> Disagree. Yale is known for having one of the best painting programs, for instance. If it were location, the kids would go to any school in NYC, because that's where the art-scene action is.

If a program is top-notch, then the location is secondary -- most of the socializing is going to be with peers on and around campus, anyway.

</comment></comment><comment><USER11> Notable that in one night during midterms over 10% of the undergraduate body signed.

</comment><comment><USER12> Perhaps when it comes to undergraduate work, there is a problem. But Rokhlin, Coifman and Spielman are all members of that department. I would be pleased to have any one of them as a thesis adviser. There are no doubt other faculty members whose work I am not familiar with.

</comment><comment><USER13> As someone that doesn't go to a school that's Yale by any means, this petition is kind of hilarious.</comment>


Internships Are Not a Privilege - <AUTHOR> http://mobile.nytimes.com/2016/07/05/opinion/breaking-a-cycle-that-allows-privilege-to-go-to-privileged.html?_r=0&referer= <comment><USER2> > Many organizations are beginning to pay interns.

The author forgot to mention even in the US it is illegal, unless the employer without any doubt does not benefit directly from the work of the intern. In deails: [http://www.dol.gov/whd/regs/compliance/whdfs71.pdf](http://www.dol.gov/whd/regs/compliance/whdfs71.pdf)</comment>