Dvorak Users Oppose Qwerty Layouts on Smart Phones - <AUTHOR> http://online.wsj.com/article/SB125409298496044871.html?mod=WSJ_hpp_MIDDLENexttoWhatsNewsSecond <comment><USER2> Wow, that article makes Dvorak users seem like raving lunatics. I switched because I'm diagnosed with repetitive stress injuries and Dvorak helped a great deal. (I'm actually a bit slower with Dvorak than I was with QWERTY.)

But if you're doing most of your typing on a smartphone, you'll quickly have more pressing RSI issues...

<comment><USER3> I have no doubt that Dvorak works better for you, but I wonder if it's not so much the layout that makes a difference, but rather learning to type all over again while paying close attention to your hands allowed you to break bad habits.

I took a few typing classes in school as a kid, but of course didn't pay attention. Like a lot of people I learned qwerty by osmosis, not through proper training, and so I accumulated all sorts of terrible habits: reaching across, shifting with the same hand, etc. I got to be really fast but this was just amplifying the damage. Right about the time things were getting really painful I picked up vim. For me at least, it wasn't so much that vim (or Dvorak or whatever) really makes all the difference, it's just that it forces a clean break with your old muscle memory. And because the pain is the reason you're willing to put in the effort to re-learn, you're damn sure to learn it properly this time. That's all it took for me. No pain since, still on a standard rectangular qwerty keyboard.

</comment></comment><comment><USER4> I've been on Dvorak for a while now. Honestly, typing QWERTY on my iPhone isn't particularly difficult, as the muscle memory for the tiny on-screen keyboard seems to be different than that of my laptop keyboard. But it would be nice for Apple to offer a Dvorak option.

<comment><USER5> Agreed. I type in Dvorak and have an iPhone. The brain doesn't see desktop and mobile typing in the same way. I actually type faster and much more naturally in QWERTY on the iPhone than on a proper keyboard.

I'd love to see Apple ship a Dvorak layout with the iPhone, but I think one of the big barriers is how the iPhone keyboard is normally laid out.

Dvorak has two extra letters on the bottom row and more punctuation on top. In QWERTY they get rid of the punctuation on the bottom row and put shift and delete in the extra space.

Look how ugly — and how much less usable — this is: <http://kasperowski.com/2009/03/iphone-dvorak-for-real.html>

To do it properly they would have to move shift and delete to the top row...

</comment></comment><comment><USER6> I used Dvorak for two years but got tired of the mental context switching when working on other people's computers. That being said, after a while it definitely was faster. From that I learned something important: programmers rarely need to type fast.

<comment><USER7> _From that I learned something important: programmers rarely need to type fast._

Add a _good_ in there.

</comment></comment><comment><USER8> There's plenty of things smart phones don't provide. If you want one of them, make it yourself. If you can't, get a more open platform. If you don't know how to program, pay someone who does. I don't think there's a device in existence that has every feature I want. Companies don't have time to put in everyone's pet feature. Your two options are 1) get over it and 2) do something about it.

</comment><comment><USER9> <http://colemak.com/> Colemak is the only layout specifically designed for modern day computer keyboards.

<comment><USER10> Not quite -- there are plenty of other layouts designed for modern use, some of which were designed via genetic algorithm: <[http://mkweb.bcgsc.ca/carpalx/?full_optimization>](http://mkweb.bcgsc.ca/carpalx/?full_optimization>). Colemak is, however, one of the best I've seen which maintains most of the "standard" keyboard shortcuts.

<comment><USER11> Has anyone had experience switching from Dvorak to Colemak?

</comment></comment></comment><comment><USER12> Dvorak on the iPhone makes no sense to me.

I touch type Dvorak and I have no idea what the keyboard layout looks like. I use standard QWERTY keycaps. My fingers know, so I don't have to.

On the iPhone you're not using the home row and touch typing, you're peck typing either with one finger, or two thumbs on a soft keyboard that can reconfigure at will and guess what you're typing, but that has no physical feedback on position. Clearly something other than Qwerty or Dvorak, something designed for this technology is the way forward.

I think studies have shown that for simple touchscreen or stylus keyboards a simple A-Z grid outperforms Qwerty. I'm hoping the Android approach lets some innovation happen here.

</comment><comment><USER13> With software keyboards it would make sense to offer alternative keyboard layouts. For physical keyboards the cost of producing different keypads is probably just too high for the small number of people using English non-QWERTY layouts. If someone wants to pay the premium though more power to them. The last time I took a typing test about a year ago I was doing 160WPM on QWERTY so I cannot accept there's any inherent limitation in the design that prevents fast input.

<comment><USER7> Das Keyboard manufactures its _high end_ keyboard with both QWERTY and Dvorak layouts!

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

<comment><USER14> Weren't Das Keyboard just a spraypainted and heavily marked up version of another keyboard?

I remember someone (on HN?) saying this.

<comment><USER15> Hi! I"m Andy, the Community Manager at Das Keyboard. All of our keyboards are manufactured by us with all new materials, including the Cherry key switches. We hold ourselves to a very high standard of quality that our customers have come to expect. If you have any questions, I'd be happy to answer them, please just let me know. Thanks! community AT daskeyboard DOT com

</comment></comment></comment></comment><comment><USER16> I tried Dvorak, but didn't like it.

I don't type with my fingers on the home row, but rather floating over the keyboard.

With querty the keys are far enough apart that I switch between hands, so while one hand is pressing one key, the other is getting the second one ready.

With dvorak I would sort of mentally "jam", since you can't get the next keystroke ready while typing the first.

I know I don't type in a conventional way, but I type very fast.

<comment><USER17> That's odd. Dvorak is specifically designed to make you alternate between the two hands, so that one hand can get ready to hit the next key while the other is typing the previous one.

This is achieved mainly by having all the vowels on the left hand, and the most used consonants on the right. Natural languages take care of ensuring a good alternation between consonants and vowels.

</comment></comment><comment><USER18> I've never tried DVORAK but from what I know, QWERTY was specifically designed so mechanical typewriters don't jam due the speed of typing. And if true, this reason alone means DVORAK is faster. Anyone can confirm or debunk this theory I've heard?

<comment><USER10> QWERTY _was_ designed to prevent jams, but did so by physical separation of the keys, not by slowing the typist. In fact, separating keys _increases_ typing speed by distributing the load over both hands -- try typing "fewer seats are west" to see how annoying placing letters together is.

<comment><USER19> I think "fewer seats are west" is great fun to type, and not all that slowing. I also like typing "hardware stores are great".

</comment></comment></comment><comment><USER20> I use Colemak, and I find that I can type on smartphones relatively easily.

I think when you switch to Colemak or Dvorak you probably want some base competence with QWERTY still just so you don't look like an idiot when you use other people's computers or whatever.

</comment><comment><USER21> I've been a Dvorak user for a while, and it often feels like swimming upstream. Good to see the issue getting a little attention.

</comment><comment><USER11> Would anyone be interested in developing an Android application to switch the keyboard layout?</comment>


Show HN: I automated WebPageTests so your site speed is always monitored - <AUTHOR> https://www.machmetrics.com/ <comment><AUTHOR> I love WebPageTest, but its API is lacking, and its public test agents (and thus results) are inconsistent. I made a private WPT server, with reliable test agents (proper hardware), and wrapped it in a back-end that periodically runs tests according to your schedule, and a front-end that consolidates results so you can see trends easily.

I realize you probably won't have much feedback until after a few days of monitoring, but any input regarding getting set up, marketing, your weekly summary email, etc would be immensely appreciated.

</comment><comment><USER2> So, how does this site differentiate itself from others in the field, like GTmetrix.com, runscope.com, Pingdom.com, etc...?

I realize that some of these other sites may have other features or focus, but they can also easily do automated programmatic web page speed tests.

<comment><AUTHOR> Great question - we're in the same field, so competitors - but:

>How Are You Different From Pingdom, GtMetrix, Or SpeedCurve? All are solid services, and you'd be in good hands if you ended up with any of them. There are a few things that separate us, though: MachMetrics gives you more testing options than Pingdom, better automation than GtMetrix, and more payment flexibility than SpeedCurve.</comment></comment>


Helm: Open Source Real Time Discussions - <AUTHOR> http://www.indiegogo.com/helm

<comment><USER2> Interesting times! It seems to be increasingly popular that developers are trying to raise money so they can _start_ open source projects.

It's impossible to say how this trend will work long term but I suspect a lot of the open source software I love today wouldn't exist if it had relied upon raising $50k up front.. not only because of the likelihood of raising the cash but because the lesser extrinsic motivation suggests, perhaps, that there was more intrinsic motivation for developing and releasing those projects?

I think it's great if proven projects take donations or sponsorship to kick things up another notch or to support full time developers, but merely to _start_ a project? I'm on the fence about that, and will be interested to see how it plays out as a model.

<comment><USER3> For those not a part of the Django community: Toastdriven is not new, Daniel Lindsley is a staple for us. Haystack and Tastypie on their own are wonderful projects with untold hours of unpaid OSS. This is more of a full-stack project than either of those, but I have a huge amount of faith in their ability to execute, given the time required. I would much rather see them working on OSS than consulting, it's better for everybody (except maybe clients who can't have them exclusively)

<comment><USER2> Just so it's clear, I don't question the sincerity, stature or trustworthiness of these guys. They come across well in their video. My lines of thought are about the project, not them personally.

What I find confusing is why a big upfront investment is necessary merely to _start_ the project and, perhaps more importantly, why it wouldn't be a true open source project and only open sourced at the end. Why not open source what they have already and see if it sells itself by attracting collaborators?

It's not clear from the page or the video if they've open sourced the work done on the prototype already, but if they have and people are already playing with it and seeing promise, it becomes a much easier sell. Many good open source projects got significant sponsorship or raised money for people to work on them after initially proving itself, and that's great.

<comment><USER4> Your concerns are valid. It costs nothing but a few minutes to start an open source project. Projects of this scope, however, do benefit from some amount of early design and planning. After reading PHK's recent rant [1], and reflecting on Brooks's idea of "surgical teams" [2], I wonder if some initial work in isolation is such a bad thing.

Or maybe the lines between a startup and an OSS project are just being blurred in some weird new way.

[1] <http://queue.acm.org/detail.cfm?id=2349257>

[2] [http://en.wikipedia.org/wiki/The_Mythical_Man- Month#The_surg...](http://en.wikipedia.org/wiki/The_Mythical_Man- Month#The_surgical_team)

<comment><USER2> _Or maybe the lines between a startup and an OSS project are just being blurred in some weird new way._

A response from the people running the project leads me to believe this is true. Essentially it seems they're seeking funding for their product _but_ the open sourcing of the project is a big cherry on top (rather than it being purely an "open source project").

</comment></comment></comment></comment></comment><comment><USER5> Hmm. I already built something similar at chatfor.us

I used tornado load balanced by haproxy for the Web servers instead of Django. Backend is mongodb and I use a small tornado driven zeromq to manage passing updates between the front ends real time. That router also does all the db writes.

I built it in my spare time (and it shows) just to have a place to take twitter conversation to get around the 140 character limit

Not sure why you would need to seek funding to open source something like this. Today's frameworks make it pretty easy. Is there really enough need for another chat server? One motivation for me was to play with zeromq and tornado together. There are already other more robust and stable chat solutions out there. I never even considered there would be enough interest in it to open source my app.

<comment><USER6> Sounds interesting, though I wouldn't trust MongoDB with my (or anyone else's) data.

The problem is that, while building the core of this is easy-ish, the end result should be something very complete & easy to stand up. Our prototype functions (barely, mostly just due to a lack of time), but it's not polished or complete. It's not smooth, easy to use/administer & it doesn't include all the little details that go into successful software projects.

<comment><USER5> Gotcha, I guess I was thinking more along the lines of open source project than actual product. Based on the replies above I see where you're going now. Good luck.

Not sure if you're coming back to read this, but I'm curious about why django? Did you choose it because of your comfort level with it or are there advantages django offers for this kind of app? I built a few things with django a while back before I moved on to tornado for everything. Not because django was bad, tornado was just a better fit for what I've been building.

<comment><USER6> Partially due to familiarity, partially due to other projects. Django will be handling the standard webapp things (registration, serving archives, etc). To be clear, there will be a lot of plain Python code handling the other aspects, with a goal being that you could relatively easily replace the Django parts with your favorite tech stack (say Flask or Tornado). Smaller parts making a greater whole.

</comment></comment></comment></comment><comment><USER7> This is going to be awesome. Daniel Lindsley always delivers seriously good stuff.

</comment><comment><USER8> I just finished installing helm in emacs. Of course its something completely different. Always confusing when something open source appears that has the same name as something else entirely. Not that it matters overall. <http://emacs-helm.github.com/helm>

</comment><comment><USER9> you'd think if you were asking for $50,000 you could at least take some time to create a simple mockup of how the software will look and work...

<comment><USER6> That's in the video (~1m0s mark). The prototype is present, but ugly/unfinished. We could put it up publicly, but it wouldn't represent the final product anyhow.

<comment><USER9> wow, I'm an ass, sorry. I honestly stopped the video at like 55 seconds.

Carry on</comment></comment></comment>


The Worth of Recommendation Engines - <AUTHOR> http://kk.org/ct2/2008/06/the-worth-of-recommendation-en.php <comment><USER3> _"In other words, the recommendation technology at Netflix -- the softwares that says: based on your past ratings of movies you should like this new one -- will spur rentals as if it were a film earning at least $1 million at the box office."_

In other words, I am going to take an off-the-cuff statement with an absurdly round number, and treat it if it were actually fact.

 _"Let's say that increase in DVD usage amounts to 10% of total sales. That's a lift of $100,000 per film on average."_

Let's add a few more hypothetical assumptions, with no basis in reality.

 _"Netflix currently offers 70,000 films. That means that Netflix's recommendation engine is worth about $7 billion to the film industry."_

Now, we take our one hypothetical case, and pretend it were a law applied to all films. Voila! Now we've got our outrageous conclusion. QED.

Kids: don't try this at home.

</comment><comment><USER4> I think he took the quote of a netflix guy saying that they can make "some" movies perform like they were doing $1M at the box office to mean that they can make all 70,000 movies earn $100,000 in rentals. I find this hard to believe. This means they can make $100,000 renting, for example, Seamless which has an average rating of 1.535 stars.

All of hollywood did no more than $10 B last year at the box office - <USER2> suspect all revenue is no more than $50 B.

</comment><comment><USER5> Very hand-waving maths... With that kind of rigorous mathematical model you could also prove that Microsoft is worth more than the entire world economy.

Calculations in terms of fictitious dollars are rarely useful for anything other than getting yourself excited.

</comment><comment><USER6> Wouldn't it be easier to push a rental if it _didn't_ do amazing at the box office. The odds that people haven't seen it yet are much better.

</comment><comment><USER7> $7b , a recommendation engine for everything (telecom, cable, cellphone etc..) service that was near perfect would still only be worth what someone is willing to pay for.

I think recommendation is at a place where "Good enough" keeps them from making huge acquisitions.

</comment><comment><USER8> Where is this person getting "10% of total sales"? Sounds like an overestimate to me. I personally don't use the ratings or recommendations on Netflix.

</comment><comment><USER9> Does anyone have experience with recommendation services like MyBuys?

</comment><comment><USER10> interesting. i am working on the netflixchallenge myself.</comment>


Thinking critically about and researching algorithms [pdf] - <AUTHOR> http://futuredata.stanford.edu/classes/cs345s/handouts/kitchin.pdf <comment><USER2> It's an essay on algorithms in general, not related specifically to computer sciences. They talk about algorithms in journalism, for instance. The difference between algorithms, techniques, approaches and other terms they use is rather blurry.

</comment><comment><USER3> The "critical thinking" Rob Kitchin is talking about is analyzing algorithms' impact with a _social_ lens. Because algorithms affect people's lives, we shouldn't be content with letting them be opaque black boxes.

It seems to have overlap with the themes in the book by Ed Finn _" What Algorithms Want - Imagination in the Age of Computing"_.[1]

Both say that algorithms are intensely studied from a _technical_ perspective. E.g. O(log n) is better than O(n^2), etc.

Their idea is that the algorithms themselves are creating their own "culture" or "reality" and this should be studied through the lens of "humanities" or "sociology" instead of just "mathematics".

E.g. neural net or statistics algorithm computes that Person A is better credit risk than Person B. However, observers notice that Person B is always black and therefore claim that algorithms are (re)creating racial inequality. Or algorithms that provide sentencing guidelines for convicted felons. Or algorithms that diagnose medical problems.

Other writings with somewhat similar themes:

\- Cathy O'Neil, _" Weapons of Math Destruction - How Big Data Increases Inequality and Threatens Democracy"_[2]

\- Eli Pariser, _" The Filter Bubble"_[3]

There doesn't seem a universal term coined that generalizes the ideas in all 4 of those books but nevertheless, I'm sure more and more writers will notice they are talking about similar ideas.

Side observation about language usage... What I notice in all 4 books is that authors are using the word _" algorithms"_ as a catch-all term for _" machine learning"_. They're not really concerned about building-block algorithms such as "quick sort" or "discrete Fourier transform". What they're all talking about is "Facebook machine learning" is imposing X on us, or "Google's machine learning" is making us think Y. For some reason, the word "algorithm" has gained more currency than "machine learning" in these pop science books.

[1] [https://mitpress.mit.edu/books/what-algorithms- want](https://mitpress.mit.edu/books/what-algorithms-want)

[2] [https://www.amazon.com/Weapons-Math-Destruction-Increases- In...](https://www.amazon.com/Weapons-Math-Destruction-Increases- Inequality/dp/0553418815)

[3] [https://www.amazon.com/Filter-Bubble-Personalized- Changing-T...](https://www.amazon.com/Filter-Bubble-Personalized-Changing- Think/dp/0143121235)

<comment><USER4> There are some books which are more concerned with algorithms (in the correct sense of the term) within the field of Software Studies/Digital Humanities/Critical Code Studies.

Some books and articles:

[1] _Protocol_ by Alexander Galloway

[2] _10 PRINT CHR$(205.5+RND(1));:GOTO 10_ by Nick Montfort et al

[3] _On "Sourcery" or Code as Fetish_ by Wendy Hui Kyong Chun

[4] _The Exploit_ by Alexander Galloway and Eugene Thacker

I can list many more.

There was also a doctoral seminar taught by Alexander Galloway at NYU in 2010 called The Politics of Code. The reason Galloway's name pops up a ton is that he worked with r-s-g.org and has a fair amount of experience coding in addition to his academic credentials in literary theory.

</comment></comment><comment><USER5> This is probably off-topic, but I find it a bit irritating that in an article about 'critical thinking' the author is quoting a 2012 paper by some Miyazaki to explain the origin of the word 'algorithm'. I thought we knew about al- khwarizmi long before 2012 and that it is good form that when you present a new fact or discovery, you should try to cite the original research rather than somebody who wrote about it last week.

<comment><USER6> He's doing it because he uses the word "algorithm" in a broader sense than simply mathematical formalism.

I am not particularly sure I agree with this approach but his use of that particular reference is appropriate in this case. In fact good, since he has a non-standard (or at least nonstandard outside _his_ discipline) usage of the term. Domain-specific jargon that is still too new to have become completely institutionalized.

<comment><USER7> No, I disagree. I think he's doing it because he is building on Miyazaki's work (he refers to it multiple times).

What's sad about this work is that Kitchin isn't really interested in having a technical discussion. Github is apparently "a code library", and where decompilation should have been mentioned, it is absent.

A technical collaborator would have improved the paper in those ways, and assuredly others.</comment></comment></comment>


GNU APL 1.8 - <AUTHOR> https://lists.gnu.org/archive/html/info-gnu/2019-06/msg00008.html <comment> vincent-toups "There are a number of features related to lambdas that are present in other APL interpreters but that are NOT implemented in GNU APL. This includes multiple statements, guards, lexical scoping, and probably more. "

The absence of lexical scope is a big wart for me. I'm fairly familiar with J, having used it to do some Bayesian inference for some projects at work, and I eventually concluded that the language family is malformed, in part because of the absence of lexical scoping.

Seems like Dyalog APL does have this feature, which makes me want to take a look at it.

<comment><USER2> A nice overview of a few interesting Dyalog extensions is _Direct Functions in Dyalog APL_ :

[https://www.dyalog.com/uploads/documents/Papers/dfns.pdf](https://www.dyalog.com/uploads/documents/Papers/dfns.pdf)

For example, you can write {expr} to introduce a Direct Function (dfn), where _expr_ is an APL expression in which α and ω represent, respectively, the left and right argument of the dfn.

Dfns also support local definitions, and recursion with ∇.

<comment> vincent-toups Looks neat. After using J for awhile I've come to dislike the who monad/dyad thing. It must be an old Lisper thing, but I wish there was just a regular argument list and all the arguments had the same semantics.

I know in J you can used an array of boxed objects to "simulate" "normal" function definitions except that you don't get the rank behavior for those argument lists. Nothing prevents a language from having "normal" functions and also being able to support rank on each argument.

</comment></comment></comment><comment><USER3> Googling for APL examples is now complicated by Amazon squatting on the same acronym for "Alexa Presentation Language". That's frustrating, as I'm interested in understanding APL a bit better, but I learn from looking at and tinkering with code that does things I already kinda understand how to do in other languages/paradigms.

But, I did find APL Wiki which has a lot of good examples of code that does small comprehensible things. [https://aplwiki.com/FrontPage](https://aplwiki.com/FrontPage)

<comment><USER4> I'd give "-alexa -amazon -presentation" a shot; see if that helps. Also maybe add "-site:amazon.com" or "-site:*.amazon.com" (pretty sure that one works).

</comment></comment><comment><USER5> When I was a young lad, the ink on my EE degree still wet, I worked with an older gentleman with a PhD, who used APL on an exotic computer with what looked to me like Sanskrit symbols (or space alien, for all I knew) on the keys. He gave me a couple tutorials but I never could wrap my brain around it. I lost interest and hadn't heard anything about APL for decades until now.

I am curious how the symbols used in the language are mapped onto a standard keyboard. Also, does anyone use APL in battle or is it mostly an academic toy?

<comment><USER6> Languages descended from APL are _very_ popular among the financial engineering set.

<comment><USER7> Do you have any examples or links to confirm that?

<comment><USER8> look up arthur whitney and kx.com, and their Q language for their kdb+ database. Various opensource versions are active.

<comment><USER9> There's no open source version of kdb+.

</comment></comment></comment></comment></comment><comment><USER2> Wow, each of ⎕FFT, ⎕GTK and ⎕RE are substantial and impressive additions!

Thank you, and congratulations on the new release!

<comment><USER10> slight digression, trying to find the repo source I went up [https://lists.gnu.org/archive/html/info- gnu/2019-06/threads....](https://lists.gnu.org/archive/html/info- gnu/2019-06/threads.html#00008)

lots of releases, gnu is kicking hard

<comment><USER11> End of the academic year, makes sense that you'd see a cluster of releases as people wrap-up their research projects and merge their code into various projects.

</comment></comment></comment><comment><USER12> I first noticed APL when some mates used is as a trump card in code golf. I find it both intimidating and strangely beautiful.

<comment><USER13> APL can do some pretty cool stuff: [http://0x0.st/scHG.webm](http://0x0.st/scHG.webm)

</comment></comment><comment><USER14> I'd like to play with this as it is a free APL that I could use for work without paying a license (like Dyalog APL requires). J is another free array language, but it doesn't use the APL characters that I enjoy.

I've had a little trouble in the past getting it to install (this was version 1.7) on Ubuntu. Granted I've never been an expert at installing from source, but a more in-depth installation guide or YouTube tutorial would help some.

Thanks for doing this btw! I hope to eventually get to check this out!

<comment><USER15> What did you have problems with? I wrote the Emacs integration for GNU APL that provides a decent environment for it. All you have to do is to compile and install GNU APL from source, followed by loading the Emacs Lisp code.

I created a video showing how it's used. Sorry for the poor quality. I originally planned to make a new one, but I have been working on different projects since then:

[https://www.youtube.com/watch?v=yP4A5CKITnM](https://www.youtube.com/watch?v=yP4A5CKITnM)

<comment><USER14> Thanks for the video! I'll give it a go in a few days when I'm done with a work conference.

I tried following the provided instructions in the install guide a few months back and it didn't work out. I can't remember any useful information (sorry), but have a new Linux computer now that might work better. It seems like a pretty cool project! Thanks for all the work you put into it!

</comment></comment></comment><comment><USER16> If I pick up an array language to ramp up on 2019, should I start with APL or J? I know that both of them were created by the same person, and that J is supposed to be an evolution of APL's approach, but I don't know if it would make a difference to a beginner like me. I kind of like the weird charset :)

<comment><USER17> I think the open source version of J is more mature and has a larger community. It also has a lot of support packages that are not available for open source APL. If you are trying to write real-life projects, J seems to be a better option at this time.

</comment></comment><comment><USER18> I have a high opinion of GNU APL though I've never used it, from the discussion of GNU APL 1.7's release: [https://news.ycombinator.com/item?id=13904688](https://news.ycombinator.com/item?id=13904688)

</comment><comment><USER19> I did my Senior Project for my B.A. in math in APL back in 1978 because it was the only language I had available to me on a functioning machine. I loved it, because it was infinitely more concise than writing in System 360 assembly, which was the only other language I had taught myself! I particularly enjoyed writing entire programs for class in one line, which was frequently doable in APL. The problem was that that capability encouraged you to write "write-only code". It was very easy to write, but... :) Never used APL again, and now care a lot about readability, but I certainly look back at that time fondly!

</comment><comment><USER20> The creator of APL was actually originally from my town. Unfortunately that's the only interesting thing about my town.

Cool language though, the use of symbols as keywords is... Interesting, but a neat idea

</comment><comment><USER21> iKe+oK is a processing-like environment that runs in the browser based on K, which is an APL dialect: [http://johnearnest.github.io/ok/ike/ike.html?gist=149c2eafcf...](http://johnearnest.github.io/ok/ike/ike.html?gist=149c2eafcfda7f7a334f38e93b579831) is a fun example, and is a good example of how compact and expressive K (and APL and the rest of this family) is.</comment>


Ask HN: What kinds of things would you like to see on Oculus? - <AUTHOR>

Recently got hands on an Oculus, have no idea what to make. Any ideas you've thought of for this VR device but haven't gotten around to, or would like to see? <comment><USER2> I would love more work on utilizing hardware like that to give a distraction- free work environment.

In my head I imagine _Snow Crash_ and terminals hovering everywhere; but I doubt that would be usable. I would love to use natural movement to glance at off-screen windows, for example for documentation. I hear that text and things like that are poorly suited for the current Oculus iterations, though.

I think it'd be tricky, but i'd love for an Oculus and a laptop on a beach to replace my desktop and 3 monitors.

riffty sorta comes close: [https://github.com/hyperlogic/riftty](https://github.com/hyperlogic/riftty)

</comment><comment><USER3> Lighthouse

<comment><AUTHOR> Can you explain a little more?</comment></comment>


Why free software has poor usability, and how to improve it - <AUTHOR> http://www.mpt.net.nz/2012/06/why-free-software-has-poor-usability/ <comment><USER2> I liked the title, but absolutely hate this article.

A lot of the "solutions" are useless exhortations for other people to be more betterer. Hint: nobody really cares how the peanut gallery thinks they should be spending their free time.

The whole thing has a phasist orientation. Ah, the "designing stage". That's the three months of the open-source waterfall where the open-source business analysts gather requirements from the open-source stakeholders before handing over the open-source PRD to the open-source developers, right? As if.

<comment><USER3> So many places to criticize the article, but the one that hit me the most was "Release Early, Release Often" being held up as counter to usability. My experience is the exact opposite; it's not until you've released that you actually know how people will use your product and often too much UX design up-front is just premature optimization.

<comment><USER4> That's true, but then you have to follow up with users and take careful notes.

The impression I get with many open source projects is that they just push out updates in a vacuum and aren't so interested in "regular" users feedback beyond bug reports and patches.

<comment><USER2> Some aren't interested, I'm sure. But I think this is one area were better tools could help a lot.

Getting good usage data is hard. Running a good user test is harder. It's my experience that if you connect developers up with good data, both qualitative and quantitative, many of them will start hacking the user experience with the same sort of relentless optimization that they bring to code quality and system performance.

I think there has to be a good solution in there somewhere. Maybe several.

</comment></comment></comment></comment><comment><USER5> While the author talks about free software in general, it seems more to me that he really means Ubuntu and Unity and perhaps common desktop applications found in that "ecosystem". What's the usability of bash? GCC? Emacs? And perhaps more importantly, for whom is the usability measured? The linux- ecosystem is mostly used by programmers. It's natural that the user interfaces tend to reflect this. One of the main reasons i have linux on my computers is exactly this, I really don't want the user interfaces of Windows or OS X.

Problems and solutions are described, but exactly _how_ to implement these solutions isn't stated very clearly, and I'd hesitate to call these suggestions "solutions" because, to be brutally honest, it's all empty talk.

Furthermore I feel like many of these solutions come at odds with the foss- culture in general. If I'm giving away my time and code for free, I really don't want a project manager or a designer to tell me what to do. I'm going to do what feels interesting, or I'm going to implement features that I need. If someone else can use my code too, then that's great. If not then that's ok too. To me it's strictly hobby basis. I don't get wages, and I don't have "customers". I'll contribute because it's fun or because I want to honor the idea that I should contribute back changes and improvements I've made to software that I got for free.

Of course, this could be very different if I were employed and paid to make software that coincidentally also was free, but I'm not. Maybe this blog post was aimed at Canonical and their employees, or the practices of big projects like GNOME. If so, then maybe he could have the decency to say so, instead of going about "solving" other peoples problems that aren't really there.

<comment><USER6> _for whom is the usability measured_

I think this is critical. A software product like Emacs would never have been produced as a consumer product for sale by a vendor. Emacs is the way it is because it was developed by and for the people who used it: coders. Not all "free" software is targeted at nor should it necessarily be usable by your mom (not a dig at your mom).

(From the article) _Free software developers mostly develop software based on their own requirement and their definition of "good software", and as a result, design software that is very complicated and "geeky"._

In many cases, this is as it should be, unless they are developing something specifically targeted at users from the "general public." However, where I do think some projects go off the rails is when they develop a UI that is either internally inconsistent, or so non-standard that even technically-minded users are frustrated by it.

</comment></comment><comment><USER7> Sorry for the rant but posts like this piss me right off.

Usability seems to mean low entry barrier and pretty looking these days rather than functionally elegant, normalised and reusable. Usability now means giving dumb people pretty looking things and not bothering to write a manual or relying on their understanding of the domain or having any compromises between the machine and the meat sack using it.

Also stop blogging and fix it if it's a problem - that's the joy of open source. If they don't want the 'fix', then its not a fix for the supposed problem or the problem didn't exist to start with.

<comment><USER8> > Also stop blogging and fix it if it's a problem - that's the joy of open > source. If they don't want the 'fix', then its not a fix for the supposed > problem or the problem didn't exist to start with.

A flaw of many open source software projects is that they tend to be inhospitable to designers coming in and attempting to contribute in a meaningful manner. Usability shouldn't just mean "dumbing things down", no, but if a program is well-designed then improving its accessibility to newcomers need not be at odds with elegant and efficient operation for more advanced users.

There are many projects where attempting to submit a patch that improved usability would be met on deaf ears, even if it was a change that solved a legitimate design problem or improved on a current solution, because the maintainers of the project have a mindset of "the design works for me, therefore it works for everyone". In this case, "fixing the problem" doesn't mean actively contributing to an open source project (since that in itself is the problem), it means attempting to change the approach people take to managing open source projects.

This article in particular is a messy jumble of ineffectual buzzwords, but there is a small nugget of truth buried in there.

<comment><USER7> Open source projects are inhospitable to designers because they come in and arrogantly blast their opinion into an establishment. The establishment knows its userbase better than a designer will.

The designers then crawl off and blog whinge about it.

Open source doesn't work the same as 'business' where change drives sales. That's the misunderstanding.

<comment><USER9> Wow - a very 'us and them', aggressive attitude you've got there.

It's clear that for any app, site or OS to have mainstream success, it needs to have a well-designed interface, a good user experience. Apple, Google and others have all invested heavily here, and the big winners all have interfaces that are easy for a non-technical user to use.

If open source projects want to gain mainstream usage, they also need to invest in usability, and like any skill, there are people who have more ability and more experience. As these people are not necessarily programmers, it can be hard for them to contribute to open source processes that are centred around code contribution.

<comment><USER7> You miss the point: success in the traditional form at least is 100% irrelevant.

Consider Linux, tex, emacs, vim, apache, mutt, x, postfix.

All successful, yet no traditional form of usability.

<comment><USER3> Many of these are _very_ usable for their target audience:

Vim: adds such user-friendly features as syntax highlighting and WIMP while keeping an interface (vi) that is already well known to it's users, thus preventing them from having to learn a new set of commands from scratch

Emacs: Clearly the most programmable text-editor currently used. The ease of usability for extending it is the reason it is adopted.

mutt: synthesized interface from several already existing mail clients, most notably pine and elm

Apache: If you consider the user to be web developers, it (NCSA HTTPd which is what Apache grew out of) introduced CGI, which was a huge usability step for making dynamic web-pages.

Linux: Not sure. It's essentially a clone of SVR4; probably just the fact that among it's always had the best driver-support on commodity hardware is the win here.

Postfix: It's more usable than sendmail; not really a glowing review though.

X: Yeah, I can't think of a single good thing to say about X. I've heard that Motif was the "killer app" for it that kept it around, but I wasn't there so not sure.

</comment></comment></comment></comment></comment></comment><comment><USER10> >Over the past few years, usability of free software has improved slightly.

 _Slightly_? It has improved by leaps and bounds. I just switched from Mac OS X to using Ubuntu almost exclusively, and aside from a few bumps here and there, I have been very happy with it. That's a plunge I wouldn't have even considered three years ago.

</comment><comment><USER11> Really

The problem in free software is that 1) engineers don't have the needed mindset 2) resources are limited, of course 3) the developer usually does whatever is in his mind

Gnome is "usability" gone wild. Remove the steering wheel and pedals from the car so to make it "simpler". Good luck driving it anywhere

(Really, from my experience with Fedora 16, out of the box experience at first it's bad, then it gets worse when you see all the little details gone wrong)

And to help matters, they think PulseAudio is a good idea. PA is a broken answer in need of a response, really. And it definitely affects user experience.

</comment><comment><USER12> My kids use Ubuntu, OS X, iOS, Android, and at school they even have Windows. They are as indifferent to the OS as we are to the vagaries of navigating various websites. They use Spotify and Chrome and play their Humble Bundle games. They are 7 and 10 and totally grok accessing an NFS filesystem over wireless and understand that if they can't access their music, it's probably because the wi-fi isn't connected.

One thing this does point out, though it might be a bit antithetical to many OSS devs, are there any open source usage stats packages that developers can build into their systems? Like Chrome uses?

<comment><USER13> _> They are as indifferent to the OS as we are to the vagaries of navigating various websites._

Very cool, I've been wondering if and when this would happen. Modern OS's seem less and less different to younger and younger people.

Only picky techies and older generations seem to care about the differences these days, kids just dive right in and adapt.

Hopefully that trend continues, it's great for underdogs like FOSS.

</comment></comment><comment><USER14> Hmm... although I agree with many of the points I think it starts with a bad premise. First you have to prove that free software has poor usability, then you can try to understand it. Most of the free software I use has great usability in my opinion (except for GIMP), although some of them only have good usability for their target markets (e.g. zsh or bash).

<comment><USER15> The proposition "software X has comparatively bad usability" is expensive to provide additional evidence for. The existing evidence includes the typical experience of people new to FOSS using things like Emacs, VIM, Gnome or GIMP, a difficult-to-explain preference for proprietary software among professionals in various fields and among typical consumers, each person's individual experience, various critical analyses of free software by usability experts studying the problem, and sundry other evidence. If this isn't enough to convince you that free software broadly has comparatively poor usability, the odds of discovering additional evidence that would convince you is probably too slim to be worth the effort. But it's a premise many of us accept. For those among us who do, blog posts like this provide some insight.

<comment><USER16> _The existing evidence includes the typical experience of people new to FOSS using things like Emacs, VIM, Gnome or GIMP..._

Bad usability and a high learning curve are not the same thing. A high learning curve is what makes people "new to FOSS" have difficulty with emacs/vim, not a lack of usability.

And Gnome is also a bad example, since it is both usable and has a minimal learning curve. At my last job we set up a crowd of 30 fashionistas (no tech background whatsoever) using gnome with no real issues. Several of them also used inkscape with little difficulty.

<comment><USER15> Try to change font faces or default frame parameters on Emacs. You could describe that catastrophe as a high learning curve, but I think it's a usability problem. This is just one example.

</comment></comment></comment></comment><comment><USER17> It was a good read, but it might as well have been titled: Why Afghanistan has poor Democracy uptake, and how to improve that.

Basically, the author says, "update" the process that's responsible for the open-source world, into a more methodological corporate environment.

He doesn't realize it's a completly different world. In which the mentioned "fixes" are contradictory to it's sprit.

Developers want to spend 100% of their time just hacking away. They are not going to transform that into a 10% dev time and 90% "sit there doing UI and feedback studies, and nurture-the-community time".

</comment><comment><USER18> This could be summed up in a single sentence.

Usability takes more time and effort, and authors of hard to use free software find the usability to be good enough for themselves.

</comment><comment><USER19> If you think 'free software has poor usability' you've never tried commercial software.

<comment><USER20> Replace "commercial" with "enterprise" and I agree completely. Amazing how bad software that costs _so_ much can be!

(side note: I might have accidentally down-voted you as my hand brushed over the screen. If so, I apologize and hopefully someone will give you an up-vote for me to replace it.)

</comment></comment><comment><USER21> The author is oversimplifying a problem that should not be oversimplified. Usability is something that requires specific empirical evidence to examine, and no two pieces of software are alike. It's a metric that is perpetually evolving and incredibly complicated. It's not just good visual design, and it's not just a symptom of strict coding and architecture standards.

The author does not provide much evidence for these solutions combating usability problems, but if they did, I would be much more willing to listen to their advice. I would have also liked to see specific examples of usability faults (not just software with poor aesthetics, which is another subjective metric that the author oversimplifies) and instances where these applied techniques were able to solve them. I commend the author's desire to face-off against a problem which is out there and prevalent in the FOSS world, but their claims need to be backed up before I could take them to heart.

</comment><comment><USER22> Interestingly, his older and popular (and I felt much better written) article on free software usability ( <http://mpt.net.nz/archive/2008/08/01/free- software-usability> ) seems to redirect to this one.

<comment><USER23> It seems that the "mpt" who owns that domain today and is responsible for this article is not the same as the "mpt" that wrote the original article [1].

[1] <https://twitter.com/mpt/status/209033178705436672>

<comment><USER22> Wow. That's kind of shady isn't it (for the new owner to write a similar article and then redirect the older one to the newer one)?

</comment></comment></comment><comment><USER24> The term 'designer' is extremely vague and I have no idea what the author is referring to each time he uses it in the article. At first I thought he was using it as a nonsense umbrella term (similar to how words like 'scale' are used) but a few paragraphs later he says this:

> Similarly, there are only a few coders who are also good designers, but that > is very rare because programming and human interface design is very special > skills that each requires separate training and a different mindset.

Oh, so by design he means 'human interface design'. Yeah, no. Design is much more than just that - it is an umbrella term after all.

</comment><comment><USER25> Free software has been spectacularly successful at building significant parts of our current computing infrastructure: kernels, compilers, web servers, languages and so on. Many of the products that the author would consider as having good usability are a thin layer built on top of millions of man-hours of open source stuff. So maybe free software is not that good at generating interfaces for the masses. So what? Many of the solutions that the author points out translate into boring work. Why would we expect people to do boring work for free? How could that model ever be sustainable?

</comment><comment><USER26> Perhaps this was a well-intentioned gesture, but it was carried out poorly. This reminded me of a great article on how to provide thoughtful and useful analysis. Perhaps read that instead:

"This is What Real Analysis Looks Like"

[http://www.ryanholiday.net/this-is-what-real-analysis- looks-...](http://www.ryanholiday.net/this-is-what-real-analysis-looks-like/)

</comment><comment><USER27> It's much simpler than that. Free software is usually created to be used by the creator, so there is no incentive to make it intelligible to others. The author is correct about incentives but the best incentive is payment for the software. At that point it's no longer free.

</comment><comment><USER28> I agree that traditionally the OSS community is not very welcoming to designers. I'd be interested in creating a website that engages designers and provides a platform for them to propose visual updates to existing free software. Is anyone else interested in this? Email me!

</comment><comment><USER29> For anyone thinking they can improve open source software's usability, donate your time here: <http://openusability.org/>.

Mind you the project's goal is to make OSS usable by 'common computer users'.

</comment><comment><USER30> A pretty worthless article which makes a lot of false assumptions about the nature of free software.</comment>


Darknet: C and CUDA open source neural network framework - <AUTHOR> http://pjreddie.com/darknet/ <comment><USER2> I use this a bit - the You Only Look Once implementation is good & fast (should be - redmon wrote the paper [http://arxiv.org/abs/1506.02640](http://arxiv.org/abs/1506.02640)) and it's all C. I don't think it's competing to overtake Torch/Caffe/Tensorflow as 'the' framework. What I find it good for is looking at the source code and trying to understand how something works in code (often not easy even after reading the papers) - easier than with the big frameworks. Also may be a good place to start for simpler target platforms e.g. embedded. Kudos to pjreddie.

<comment><USER3> TensorFlow is already designed to work in embedded systems.

<comment><USER4> Given the current memory utilization of TF during training, I doubt it's ready for embedded systems.

<comment><USER3> TensorFlow is designed to be trained on distributed systems, but deployed on embedded systems; in fact, to me, this is the single greatest advantage TensorFlow has currently.

</comment></comment></comment></comment><comment><USER5> Bad name. Darknet already has a meaning.

[https://en.m.wikipedia.org/wiki/Darknet](https://en.m.wikipedia.org/wiki/Darknet)

And why CUDA, and not OpenCL?

<comment><USER6> _sigh_ people just can't think of a better brand name. Agree.

My bold guess is because there are more training machines run on Nviada GPUs as opposed to AMD's.

<comment><USER7> > My bold guess is because there are more training machines run on Nviada GPUs > as opposed to AMD's.

Likely not so bold. AMD GPUs are good, but a quite a bit more pain to program compared to NVIDIA with CUDA (OpenCL on NVIDIA is more or less useless).

</comment></comment></comment><comment> T-A Don't get me wrong, I do appreciate the effort that went into this and fully intend to check it out sooner or later, but lately the appearance of new deep learning frameworks is beginning to trigger flashbacks to this: [http://notinventedhe.re/on/2015-5-19](http://notinventedhe.re/on/2015-5-19)

<comment><USER8> For some people, the only way to learn is to implement.

<comment><USER9> I agree. I always recreate or implement something to fully understand it. OT, but his resume rocks! Very funny...

</comment></comment></comment><comment><USER10> This is cool. The documentation is very entertaining, although not something you'd show to your boss. Looks like it implements a lot more than just neural networks.

Shameless plug: For a minimal neural network implementation in ANSI C, check out: [https://github.com/codeplea/genann](https://github.com/codeplea/genann) Sometimes lack of features is a feature.

</comment><comment><USER11> One doesn't see web design like this much any more these days. I like it.

<comment><USER12> Also the résumé that's linked there. ;)

<comment><USER11> I wonder how many jobs he got with that.

</comment></comment></comment><comment><USER13> Please, please, please stop basing free software projects on proprietary libraries like CUDA.

<comment><USER14> What should I learn instead, if I have an nVidia GPU?

<comment><USER15> OpenCl targets nVidia GPUs also, at least according to the documentation.

The main problem is OpenCL seems an order of magnitude more complex than CUDA. To be honest, Cuda seems semi-portable just because (according to documentation and tutorials I've read) you do little more than allocate memory, tag functions, write loops and the compiler figures out the rest. OpenCL seems to demand everything be specified in _gruesome_ detail whether in the c or the c++ version. Also, the latest pdf-pamphlet of the Khronos Group on opencl 1.2 just says they're "exploring" an open source implementation of the spec, which doesn't encourage one to imagine the spec as available.

Edit: Researching this, it seems that the CUDA compiler actually has been integrated into clang/llvm. An open spec with open compiler seems as open as one can get with software - it only targets NVidia but you can just complain Linux was proprietary when it originally only targeted Intel.

[https://research.nvidia.com/news/nvidia-contributes-cuda- com...](https://research.nvidia.com/news/nvidia-contributes-cuda-compiler- open-source-community)

<comment><USER7> > The main problem is OpenCL seems an order of magnitude more complex than > CUDA.

Do you have any experience to back that up with? I've worked with both and I know that there are areas where your "order of magnitude" (which BTW I'd like to see on paper, quantified) does hold up, e.g. dev tools, but in general your claim is simply false.

> To be honest, Cuda seems semi-portable just because (according to > documentation and tutorials I've read) you do little more than allocate > memory, tag functions, write loops and the compiler figures out the rest.

Nonsense, you're likely confusing OpenACC with CUDA, the CUDA runtime API is in many cases considerably more simple than OpenCL, but it requires a compiler, and frankly often times is screams rushed design/implementation. In contrast, the CUDA driver API is quite similar to OpenCL.

...and BTW OpenACC is "open" only on paper and in fact it is a very divisive move that has created conflicts, polarized the community, and undermined collaboration between multiple parties (in particular with the OpenMP proponents).

> Also, the latest pdf-pamphlet of the Khronos Group on opencl 1.2 just says > they're "exploring" an open source implementation of the spec, which doesn't > encourage one to imagine the spec as available.

The latest spec is 2.0 FYI; can you explain my how on earth does one's imagination go astray so badly to believe that just because there is no reference implementation one would consider the spec "not available". Don't get me started with the examples of standards that exist without an official reference implementation.

> Edit: Researching this, it seems that the CUDA compiler actually has been > integrated into clang/llvm. An open spec with open compiler seems as open as > one can get with software - it only targets NVidia but you can just complain > Linux was proprietary when it originally only targeted Intel.

BS. Show me the "open spec of CUDA". Even if one did exist, good luck trying to influence the design of it if you're not an big oil company, Google, Audi or GM. Also, try to use the CUDA name without having to pay a ton of money. And you seem to forget that the "open compiler" does not actually generate byte-code (that's done by the propritary JIT compiler) and even if did, you still nee NVIDIA's proprietary driver to run it.

</comment></comment></comment></comment><comment><USER16> Been researching the YOLO network for awhile now. It's a pretty kickass setup. Hoping to port it to TF or torch at some point.

<comment><USER2> Haven't used it but this might help - mentioned on the darknet discussion group - Yolo v3 on Tensorflow - predictions only [https://github.com/gliese581gg/YOLO_tensorflow](https://github.com/gliese581gg/YOLO_tensorflow)

</comment></comment><comment><USER17> Another one?

</comment><comment><USER18> Hmm, is this really nice? I doesn't look like something I'd just recommend to colleagues, with the religious symbols, names like Darknet and Yolo, Nightmare and black magic. Are they trying to stay away from the corporate market?

<comment><USER19> I'm sure if they get some traction, they will rebrand.

<comment><USER20> I give you 10:1 odds they don't.

<comment><USER14> Well, the project solves a different problem than the project's name does..</comment></comment></comment></comment>


There are too many mediocre artists - <AUTHOR> https://quillette.com/2018/08/21/my-unpopular-opinion-theres-too-many-mediocre-artists/ <comment><USER2> I found the article funny. My problem has to do with the concept of "mediocre" \- which is an insulting way of saying "average". Though the writer also uses the term "boring", which has a lot to do with individual taste.

For instance, imagine a field with only one practitioner. Is that person mediocre or excellent? Both, really. I'll leave the proof as an exercise for the reader.

</comment><comment><USER3> Well, given that this article seems like more of a rant that meanders from topic to topic in a somewhat related way, I may as well give feedback on each point as it comes up:

1\. There are too many artists despite the limited market and many people's lack of talent

True, and it's not just limited to art too. Sports has much the same issue here; easy to get into, a dream career for millions (or billions) of people and an opportunity that most won't be able to achieve simply because they're not talented enough.

Journalism and media is another sort of example here, since it's got a very large audience of wannabes, is filled with people who don't have the talent to make it... and unlike sports and art pays like crap. This is especially true when it comes to tech, gaming, sports or celebrity journalism.

2\. Schools pushing the 'everyone gets a prize' narrative was responsible for this.

Not sure I'd agree with this one. I'd say it's much like it always was, popular because:

A. It's trendy and you're 'cool' if you succeed B. In many of these fields, the money for the very small percentage at the top is incredibly good C. Many people enjoy these things (creating art, writing, playing sports) and wish they were what they did in their main career D. For a growing percentage of the population, this stuff is going to be their only practical chance of making a decent living. Automation + globalisation and outsourcing + changing company structures means that at some point, I suspect it'll be either 'get a very specialist job with a high barrier to entry' or 'basically win the lottery' if you want a middle to upper class income. E. People think the work is easy F. It seemingly avoids many of the stresses of everyday life, like commuting, open offices, customers/clients, etc

3\. Professional associations explain why some fields make more money

Kind of true, though as many Hacker News readers know, software engineers/web developers/programmers make pretty good money too, and that has no barrier to entry. Same with marketers to be honest.

4\. Identity politics is used as a marketing/branding strategy

Maybe? If so however, it's not a very good one. A quick look at the various TV shows, films, comic books, games and other media trying to sell themselves on 'progressive' politics shows that the majority have bombed hard. By virtue of simple demographics, a company or publishing house that does this is probably on the road to irrelevance/bankruptcy.

Other than that, well it can seemingly be boiled down to 'people who spend their life complaining about things on social media and hoping to become an artist should probably get a normal job'. Which is a fair point I guess. Just seems like one that's buried under a bunch of potentially decent but disconnected other ones.

<comment><USER2> Good points, I'll just add a pinch of comment.

1) Art criticism probably plays a role because it helps define art fashion - e.g. when realistic painting gave way to abstract art, it opened the door to people making millions painting triangles (after 37 years of study) and squiggly lines.

2) G. Calling yourself an "artist" probably works as a pick-up line in more bohemian parts of the West.

3) Supply and demand.

4) I think identity politics succeeds in helping artists and customers find niches. So far it hasn't translated into huge successes in popular culture, probably because marketers try to spin such things as originality. Han Solo is a pansexual? Big deal, Captain Kirk slept with a green alien in 1967.</comment></comment>


Show HN: Automatically update your Slack status and snooze notifications - <AUTHOR> https://holopod.com <comment><AUTHOR> Hey all,

As an engineer and manager of teams for years, it's gotten continually harder to manage incoming distractions from Slack messages.

I constantly get pinged in the middle of an important Zoom call, or when I'm deep in the flow working on some complex code refactor. Yeah, I could shut down Slack entirely - but it's a negative signal to my team and I like popping into conversations when I'm taking a break. Slack Do Not Disturb should solve my problems, but I always forget to turn it on.

So, I built a way to do it all automatically.

Holopod ([https://holopod.com](https://holopod.com)) is a Mac desktop app that detects whitelisted Mac and Web applications and triggers a status change based on the current app you are using.

To signal you're ready to work and online you are marked as "At My Desk". Other statuses are "On Call", "In the Flow", or "in a meeting". These are all customizable.

To pre-answer some questions you might have:

\- We don't track time on specific apps, only status changes are submitted up to Slack.

\- We are free for now, as we're still learning how best to deliver value.

\- Yep, we are Mac only but are looking for early testers on Windows or Linux.

Would love your thoughts!

</comment><comment><USER2> I run a company with 20 remote team members. There's a weird perverse incentive to "show face" and be available when working remotely vs. making yourself unreachable so you can focus on things that matter.

We joined the Holopod beta to see if we could reduce the anxiety people had of being "away" without it being correlated with not working.

So far we like it. It helps people feel more comfortable being unreachable for a period of focused work. As a founder, I get a sense that it can help make people do the stuff that matters, vs. wasting time chatting on Slack.

We'd still like to see more features around supporting different time zones (we're spread across 9 time zones, so it can be easy for people further east to just keep working when getting pinged by people further west).</comment>


Hecklers show dangers of Members of Congress using Twitter - <AUTHOR> http://tpmdc.talkingpointsmemo.com/2009/06/twitter-users-heckle-hoekstra-en-masse.php <comment><USER2> Got this link from the comments, pretty funny: <http://petehisameme.wordpress.com/>

</comment><comment><USER3> Post title should be: "Twitter lets lawmakers know when they are being an asshat".

<comment><USER4> I'm not sure the _lawmakers_ are getting the message here....

</comment></comment><comment><USER5> 140 characters does tend to create the danger that your comments will be less nuanced and devoid of context. That's fertile ground for inviting criticism right there.

<comment><USER6> _"Iranian twitter activity similar to what we did in House last year when Republicans were shut down in the House."_

Do you think any amount of nuance can really save that?

<comment><USER7> I think nuance and charitable reading -- which should be granted to _everyone_ in online forums, especially forums with constrained context -- can save it. For example:

It's not clear exactly what "Iranian twitter activity" Hoekstra's talking about. Is it the activity of people in Iran, or their outside supporters, or of dilettantes just cheering from a distance?

He says 'similar' not 'the same as'. And both do involve a partisan group, locked out of a political process, using Twitter to coordinate a response. That aspect may be a tiny dimension of what's happening in Iran, but it is one dimension.

And he's not implying his analogy gives him any special empathic insight into what's happening in Iran. He's talking about "twitter activity", which is _not the same thing_ as mass protests against a repressive state (as much as Twactivists would like to think it is).

So those who mock Hoekstra have changed his tweet in their own minds into the least-charitable reading possible: "Iran's protests of repression facing violent crackdowns, I understand because it's just like a challenging parliamentary maneuver we faced." But that is _not_ what he used his <140 characters to say; that's only what people already predisposed to hate him chose to hear.

When a Zen Master says something perplexing, comparing things completely of a different scale, or things that don't seem to be comparable, the proper response is not "U R dum ha ha!", but to try to understand those ways it might be true.

Hoekstra may not be a Zen master -- he may very well be a gaffe-prone idiot, I don't know -- but it's never fair to any speaker to rip a statement from its context, interpret every word in the worst possible light, and broadcast it to others hungry for things to be enraged about for partisan advantage. That cheap maneuver is one of the worst things about both politics and the speed/atomization of online communication.

<comment><USER8> True; the larger problem here is with the medium itself: Twitter does not provide room for context or nuance.

<comment><USER9> I think the larger problem is the nature of current political discourse is to assume the other person/party is an evil idiot and do everything in your power to spread that idea, without addressing the content of what they say or proposing any details better solution yourself or working together to for the good of the country instead of infighting.

<comment><USER8> Good point. I wonder how much of that is due to the long period of peace and prosperity that the U.S. has experienced; in the absence of any serious external threats, it becomes easier for partisans to squeeze their political opponents into that role.

9/11 was an anomaly. Following the attacks we saw a time of genuine good will between the parties. The further we get from that date, the more our politics is descending back into petty partisanship.

</comment></comment></comment></comment></comment></comment><comment><USER10> Republicans have less to lose from this kind of thing:

<http://www.slate.com/id/2220030/>

<comment><USER11> _Pres Obama you got nerve while u sightseeing in Paris to tell us 'time to deliver' on health care. We still on skedul/even workinWKEND_ \- Sen. Chuck Grassley

Ignore the content for a second and look at the grammar/spelling. I'm not sure if it's more sad or funny that this becoming one of the ways politicians communicate with the public.

<comment><USER12> Wow. I thought this was a joke at first. _I'm_ embarrassed for him.

</comment></comment></comment><comment><USER13> This might be the best use of Twitter I have ever seen, he has to feel at least a little dumb about that comment now.

<comment><USER14> you're assuming he doesn't just use twitter as a megaphone; that he actually reads responses.

</comment></comment><comment><USER15> Doesn't anyone adhere to "Be who you are and say what you feel, because those who mind don't matter and those who matter don't mind."?

<comment><USER11> For better or worse, in politics, those who mind tend to matter.</comment></comment>


What do insanely wealthy people buy, that ordinary people know nothing about - <AUTHOR> http://www.reddit.com/r/AskReddit/comments/2s9u0s/what_do_insanely_wealthy_people_buy_that_ordinary/cnnmca8

<comment><USER2> I've always kind of wondered why billionaires today don't follow the examples of Genghis Khan or King Solomon and have a thousand wives and thousands of kids.

<comment><USER3> They didn't have to pay child support.

<comment><USER2> Isn't that the point of having a billion dollars? You can afford it.</comment></comment></comment>


Bitcoin Non-Technical FAQ - <AUTHOR> http://blog.oleganza.com/post/32725987418/bitcoin-non-technical-faq <comment><USER2> "Bitcoins are not created upfront and distributed to some privileged persons."

Well, yes and no. Around half of the bitcoins there can ever be have already been created and distributed to some privileged persons (certainly far less than half the world's population). IIRC around half of those belong, or belonged at some point, to its original inventor.

I admire the mathematics of bitcoin, but I'll never buy any until they make the production curve fairer.

<comment><USER3> No production curve can ever be "fair". If you imagine that one day every living person has equal amount of bitcoins, they will be very quickly redistributed from those who doesn't care to those who do for a relatively small price. And then, when the network becomes more stable and useful, those who have sold their fair share early will whine again about being unfair distribution.

Second: even if a lot of bitcoins are initially belong to a single person, it poses no problem. Either you hold money that nobody needs (value is very low), either you hold money that people a willing to buy from you and every day you are not selling them, your opportunity cost rises.

In other words, it's entirely possible to create inflationary effect by stashing 50% of money and then suddenly selling them out. But the imaginable effect is very limited:

1\. The longer you keep the money, the longer you bear the risk of uncertainty. If your bitcoins today are worth 100K USD, there is no guarantee they will be work 1M USD next month. This creates an incentive to sell earlier.

2\. Each successive act of selling naturally lowers the price as supply is increased. So if you start selling your stash, the remaining part will be worth less (or will grow in value slower and slower)

3\. Generally, you cannot sell in bulk. If people are trading 1 BTC for 10 USD, it does not mean that somebody will buy 1000 BTC for 10000 USD. There necessarily be a discount or simply nobody will spend 10K USD at once. This returns us to points #1 and #2.

So even if Satoshi had a lot of bitcoins initially, he has either sold significant part of them already, or will be able to "disturb" the market by selling them at once only to his own great expense.

<comment><USER2> >No production curve can ever be "fair". If you imagine that one day every living person has equal amount of bitcoins, they will be very quickly redistributed from those who doesn't care to those who do for a relatively small price. And then, when the network becomes more stable and useful, those who have sold their fair share early will whine again about being unfair distribution.

I said "fairer", not "fair". While there is no perfectly fair distribution curve, the deflationary one bitcoin uses is far worse than any other currency in existence. The very concept of one individual owning 1/4 of the entire world's supply of dollars or gold or even sea shells is absurd, because such an individual would have to be ridiculously, obscenely wealthy.

If you want a practical suggestion, simply removing the exponential halving would make a far fairer curve. People would then obtain wealth proportional to how long they'd cared about bitcoins (assuming that investments and computing power grow at approximately the same rate).

>Second: even if a lot of bitcoins are initially belong to a single person, it poses no problem. Either you hold money that nobody needs (value is very low), either you hold money that people a willing to buy from you and every day you are not selling them, your opportunity cost rises.

>1\. The longer you keep the money, the longer you bear the risk of uncertainty. If your bitcoins today are worth 100K USD, there is no guarantee they will be work 1M USD next month. This creates an incentive to sell earlier.

But they're inherently deflationary, so actually you gain money the longer you hold them. If you have 4 million bitcoins now, you can guarantee that you will always have at least 5% of the entire bitcoin economy, and economies generally grow.

>2\. Each successive act of selling naturally lowers the price as supply is increased. So if you start selling your stash, the remaining part will be worth less (or will grow in value slower and slower)

>3\. Generally, you cannot sell in bulk. If people are trading 1 BTC for 10 USD, it does not mean that somebody will buy 1000 BTC for 10000 USD. There necessarily be a discount or simply nobody will spend 10K USD at once. This returns us to points #1 and #2.

Sure, you'd have to ration them out over time and not spend them all at once, like an arab prince who owns millions of barrels of oil. Doesn't make you any less wealthy, just means your assets are not entirely liquid.

>So even if Satoshi had a lot of bitcoins initially, he has either sold significant part of them already, or will be able to "disturb" the market by selling them at once only to his own great expense.

I'm not worried about him disturbing the market. I'm worried about concentrating an enormous amount of wealth in his hands. You can say he and other early adopters deserve some profit from creating the system, and I'll agree with you. But 1/2 of the entire future economy being concentrated in the hands of so few is ridiculous.

<comment><USER4> If Bitcoin becomes the currency of the entire future economy, the initial distribution method will have been proved to be a non-issue. More likely, Bitcoin will be one currency amongst many, and the early adopters will sell their windfall gradually according to supply and demand.

</comment></comment></comment></comment><comment><USER5> Gets a few facts wrong— E.g. the maximum block size is 1MB not 10MB, and there is no facility to increase it without replacing all the software—it's as fundamentally hard to change as the supply of coins because it's also a scarcity which is essential to the security of the system. (without it, the system would rapidly become centralized as miners produced enormous blocks taking every single with-fee transaction; and then no one but miners could afford the computational, storage, and network costs of validating the gigantic blocks; nor would there be reason to pay substantive transaction fees to fund security).

Overall it's pretty good.

<comment><USER6> Also wrong, 'Can the government shut it down?'

Should be: Q. Who can shut it down? A. Anyone who is willing to pay 51% of the monthly operating cost of all miners. Plus an initial investment to manufacture the hardware. Neither of these numbers are out of the range of Governments or Banks. And they probably won't be for a long time. This is the death of Bitcoin scenario that worries me most. And it seems no one is really worrying about it or taking it seriously.

edit: Here are the numbers someone calculated at the height of the first mining bubble [1]. We're currently at less than double the hashing power of then [2]. So a current rough estimate would be to double all those numbers.

[1] <http://bitcoin.stackexchange.com/a/1094>

[2] <http://bitcoin.sipa.be/speed-lin-ever.png>

<comment><USER7> Controlling only 51% of the current operating power of the miners would take over eventually but it would take a very long time. Since each client trusts the longest chain, you would have to recompute a new chain that's longer than the entire chain so far. If you only pay for an extra 1% over the "legitimate" chain, it would take several years to make a longer chain.

<comment><USER6> You're thinking of the wrong scenario. If you have 51% of the power you start mining a new block off the latest legit block but you include 0 or no "real" transactions in it. After you find one, you only compute new blocks off of _your_ "bad" last block. Since you have 51% you will control the entire blockchain from this point on. And you can basically shut down all transactions.

Note that we aren't trying to reverse any transactions or steal people's bitcoin. We are just trying to stop all transactions. This is what bitcoin is all about, so do this and you've destroyed bitcoin.

<comment><USER8> 51% doesn't mean you always "win" a block, just that you win 51% of the time.

<comment><USER6> Ok I'll bite and explain it.

You're right, sometimes someone else will find a block before you and will add it onto the longest existing chain. IF you always appended your bad blocks to the longest chain then the blockchain would look something like bad->bad->good->bad->bad->good->bad->bad. BUT you WONT be adding your blocks to the longest chain. You will always add your blocks to YOUR OWN last bad block. So you will always be working on a blockchain that looks like ... ->bad->bad->bad->bad. And since you have 51% of the power your blockchain will eventually always be longer than the other chain(s) miners are working on. For a while the two chains (legitimate and your bad one) will go back and forth between which is longer. But at some point yours will get long enough and outpace the legitimate one.

If you don't understand this you don't understand how bitcoin works. I don't say this to be a dick, but I say it because this is a real concern that a lot of people don't realize or think about.

<comment><USER8> I hadn't thought about only working on your own blockchain like that.

A piece I'm missing is the heuristic most clients use to determine "longest". Depending on how that works, this plan could be really easy or really hard.

<comment><USER6> I believe the way longest chain is determined is the sum of the difficulty of all the blocks. This basically boils down to just the chain with the most cpu power that went into it. So as long as you control the majority of the cpu power, you can control the longest chain.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> I would prefer a tutorial on how to safely use it to another pretty high-level overview, just in the QA format this time.

</comment><comment><USER10> Mentioning things like "Peer to peer digital currency" and "protocol of storage and exchange" in the first paragraph seems to me like it would turn a lot of non-technical people off.

The "Why is it any good?" answer would be a much better introductory paragraph I think!

</comment><comment><USER11> This is going to sound a bit naive on my part, and perhaps it is. If the bitcoin transaction database is signed and stored on every computer, what keeps this database from growing too large to handle?

<comment><USER3> Nothing keeps it from growing too large. In fact, this is the problem that has several theoretical solutions.

First, people may develop and use lightweight clients. They will only store wallet and sign transactions, but will not store and verify the blockchain themselves. For instance, they may refer to some public service to figure out the current balance.

Second, there is a possibility to develop a client which stores only the block headers and downloads only necessary blocks to validate particular transactions.

Third, it is also possible to compress/discard old blocks that contain transactions with empty recipient addresses.

<comment><USER11> Would using only a partial block chain result in severe security issues?

<comment><USER3> No. If someone does not want to keep a full block chain, then there are two alternatives: a personal client with partial blockchain or an escrow service. First option is definitely more secure.

</comment></comment></comment></comment><comment><USER12> This needs some editing by a more experienced English speaker if it's to be widely read.

<comment><USER13> Can you point to some part of the text that needs editing? I don't think the English in the FAQ is bad written at all (as a non-native speaker myself). I agree the "non-technical" thing is a bit misleading though.

<comment><USER12> Error-wise I didn't notice a ton of things, but:

> Bitcoin is designed to be a faster, cheaper and _a_ more secure currency

> Security is achieved by having every participant do the verification > themselves using _[an]_ open protocol based on well _[-]_ known cryptography > methods

> The original software source code is open and available _[to]_ everyone for > review and improvement.

> The reward is halved approximately every 4 years until _[a]_ total of 21 > million bitcoins are generated around year 2140. Currently more than 9 > million _of_ bitcoins are available already.

Also "bitcoin" is not consistently capitalized.

That stuff aside, it's also not very idiomatic. I'm not sure what the ideal audience is, but if it's, say, my 60-year-old mom who doesn't really understand browser tabs, I don't think it's going to reach them. It's good for _me_ though, as a programmer who doesn't specialize in crypto or know much about currency theory (if that's a thing).

<comment><USER3> Thanks for the remarks. What do you think about this way to capitalize "Bitcoin"? [http://blog.oleganza.com/post/32746652183/how-to- capitalize-...](http://blog.oleganza.com/post/32746652183/how-to-capitalize- bitcoin)

<comment><USER12> Makes sense to me.</comment></comment></comment></comment></comment>


Map homunculus (2014) - <AUTHOR> https://simblob.blogspot.com/2014/05/map-homunculus.html <comment><USER2> I think that this is generally bad advice. It results in worlds that feel more like a series of zoo enclosures than a living world. Cities built around this concept end up feeling more like an amusement park than a place where people live and work.

I think this misses the point that when we tell the story of little red riding hood, we still say that she walked for a long time in the woods. We just don't describe it in detail. It's still important that it be true, however as that is part of what makes going into the forest perilous. The same sort of thing can be implemented in open world games by means of various fast travel mechanisms. Ideally they should be sufficiently easy to use, such that that player is bored, but sufficiently restrictive such that the meaning of distance is preserved.

<comment><USER3> I'm pretty sure you're agreeing with the thesis, despite your initial sentence.

<comment><USER4> Their point is that shrinking space does not have the same effect as shrinking time, and that the former makes the world feel unrealistically small.

</comment></comment></comment><comment><USER5> Movies like _The Scent of Green Papaya_ and _2001: A Space Odyssey_ use this idea, but in reverse: the directors chose to have uncomfortably long sequences where the viewer notices that not much has happened in the last several minutes of viewing time, and it imparts on the viewer the desired sense (of loneliness, of boredom).

</comment><comment><USER6> The Russian formalist school of literary criticism had terms for "story time" and "reader time": [https://en.wikipedia.org/wiki/Fabula_and_syuzhet](https://en.wikipedia.org/wiki/Fabula_and_syuzhet)

</comment><comment><USER7> (2014)

Fascinating -- particularly the change in Ultima maps that I had never quite internalized. It's also interesting how analogous this is to real life, where attention to situations modifies our perception of time passing.

</comment><comment><USER8> One of the most famous epics, the Odyssey, does this to great effect. Twenty years, and we are shown only the highlights reel.</comment>