Open source graphic design - <AUTHOR> http://www.ponnuki.net/2011/07/open-source-graphic-design/ <comment><USER2>
      > The code is open, if you want your tools to do
      > something different you are welcome to change it.

So there I was, deadline from the client looming and my publishing piece still wasn't finished because using Scribus takes way longer than using InDesign since it lacks key features, UI polish, and usability. Rather than purchasing InDesign and get the job done so I could get paid, I decided to take several years off work, learn software development, and improve Scribus.

Wait... do people consider that a serious argument? Have they been drinking the open source kool-aid a little too much?

<comment><AUTHOR> this is mainly a comparison to closed source - if it's not in the corporation plan - you won't ever see the change you want. And I also think that everyone should learn programming too ;) but that's another story!

<comment><USER3> I'm actually both into development and photography, and also have sort of a history in the opensource movement in my city, so I stumble into this way of thinking pretty much. I actually call it "anti-humanist" software development, because for me it serves as an excuse for developers to stop thinking about how their software affects other people with the excuse that "well they should fix it themselves... it's not that i'm an evil corporation that doesn't release source code".

      > this is mainly a comparison to closed source - if it's not
      > in the corporation plan - you won't ever see the change
      > you want.

Replace _corporation_ for _open source project benevolent dictator_ and you have a counter-argument. I don't know how much experience you have interacting with Gimp developers, but they are consistently conservative and anal when it comes to interacting with actual users of their software.

Also, it's not that closed source design applications are a walled garden, Photoshop supports plugins since way before Gimp was released. I beleive it was a feature the Knoll brothers worked on from the first version.

      >  And I also think that everyone should learn programming
      > too ;) but that's another story!

I don't beleive it's another story. Yes, basic programming should be in the curricula of secondary or maybe even primary education, in fact I beleive it is in most developed countries... But that doesn't mean everyone should be able to understand, even less modify, the code for complex tools like a raster image editing software.

</comment></comment></comment><comment><USER4> There's a reason Adobe is so entrenched in this market -- The products are actually good. They include new features that take the OSS alternatives years to implement, if they ever do.

<comment><USER5> If someone made a Photoshop equivalent except faster, more stable, with only the core functional elements (thus, no need for slew of filters, 3d, video layers) and intuitive UI, I'd switch. And I've used Photoshop for... god it must be like 12 years.

BTW, I'm not saying it's easy I'm just saying what would get an entrenched person like me to change. There are plenty of designers I know who feel the same.

i.e. <http://dearadobe.com/index.php?id=113>

</comment></comment><comment><USER6> At one point last year I went all-out open source and dumped my W7 machine w/ photoshop and illustrator to switch over to GIMP and inkscape. I stuck with this configuration for about 9 months or so.

After getting through the UI differences and learning curve, I was still disappointed. Most of these apps feel like they've only been handled by causal users.

The worst memory was in GIMP working with layer sizing and floating objects, so many things were fixed and required hunting through menus or googling shortcuts to get them to resize or to place an object out of edit mode. The equivalent in photoshop is the enter key, or automatic layer boundary resizing, etc. The application does a much better job of staying out of your way.

If you're noodling about with a few photos its no big deal but the first major file I had to tackle with a few dozen layers and objects burned me out completely. I literally stood up, went to the shops, purchased a copy of windows and got my old setup back.

The secondary issue in the background of all this was the time invested to work around rendering speed issues, video drivers, wacom compatibility etc; none of which earns me any coin but needed to be resolved before doing any work. Unfortunately this will always be measured against the ease of getting Windows setup on a machine (less than half a day to a production ready box versus a solid week of problem resolution under the Ubuntu/Suse/Gimp combo).

I aim for open source usage whenever I can, and the quality is there, my main gripe always seems to be workflow. If more professionals start using it and providing feedback, yes, it will mature. However I think at this point to claim they are a straight replacement (in the case of Gimp and inkscape) is a bit short sighted when you consider the workload some of these tools support.

</comment><comment><USER7> I just can't take anyone seriously when they call Gimp "a really solid image retouching and photo editing software".

And it's not about features (apart from the retarded "layer size" micromanagement Gimp forces on you), but the UI is so confusing and inconsistent even Photoshop 5.0 is lightyears ahead.

<comment><USER8> Did you learn Photoshop before playing with Gimp?

<comment><USER3> I'm not parent, but I learnt GIMP before Photoshop (actually really got into Photoshop in CS1) and I agree with him. GIMP just really doesn't cut it. It's kind of cute the first week or so you are into it, with it being opensource and sort of fun, but really a usability nightmare after that first impression. Also, its handling of big raster images (like 500mg tiffs which I handle really often) is really disappointing.

Disclaimer: My main use is photography. I have friends more into drawing that have different opinions.

<comment><USER8> Thank you. It tells me there is a significant enough difference.

You mentioned a technical issue, the handling of big raster images. Does it run out of memory quickly in comparison to Photoshop? What is the issue? I thought I remember gimp not being able to handle 16-bit tiffs or something along those lines.

<comment><USER3>
      > You mentioned a technical issue, the handling of big
      > raster images. Does it run out of memory quickly in
      > comparison to Photoshop? What is the issue? I thought I
      > remember gimp not being able to handle 16-bit tiffs or
      > something along those lines.

Its memory usage gets high enough for Windows to start trashing on my box with 4 gigs of RAM, and brings everything to a halt. It's not only GIMP's problem BTW, I have to disable thumbnails on the folders with big TIFFs because Windows itself trashes. I don't know how Photoshop avoids this lame behaviour but it does.

I haven't tried on Linux but was told it has the same problem. I won't try it because color management in Linux is a PITA even if you are only interested in calibrating your monitor, which is my only need as a hobbyist without money for a decent printing setup.

I believe support for 16bit TIFFs is already built into yet-unreleased GIMP 3, but yes, having only 24 bit colour is also another _huge_ problem with GIMP, and totally a dealbreaker once you get serious with photography. Most prosumer flatbeds or DSRLs already take measurable advantage of 48bit colour. I didn't comment on that because the original post was on usability.

</comment></comment></comment></comment></comment><comment><USER9> I've found serious problems with those tools. Often there are visible quality differences in the output vs the commercial alternatives.

</comment><comment><USER10> Please please remove the clouds, they detract from the reading experience.

What I'd really like to see from the Open Source Community is a Fireworks alternative. It has just the right blend between bitmap and vector editing in a speedy lightweight package.

</comment><comment><USER11> I've been a pretty heavy GIMP user for the last 10 years or so, and I love it.

Or loved it.

A few years ago, they decided to drastically change the UI without any apparent way of changing it back (2.6 vs 2.4 -- the way the windows are layed out has changed).

I think this was probably done to make it easier for people to transition from photoshop to GIMP, but what the gimp people are neglecting is that there are lots of people, like me, who grew up using GIMP. I've probably put about an hour of photoshop time in in _my entire life_ , all of it happening while I'm sitting at the photo shop waiting in line to talk to a tech (they have a huge wacom tablet there to play with as a demo).

Same goes for inkscape, same goes for scribus.

I think what's important to understand is that the OSS solutions aren't _just_ for people transitioning away from adobe. There are a lot of us who have been using them all along. When the maintainers make changes to these things to make it easier for new users, they're also making it harder for us.

Which sucks.

</comment><comment><USER12> The trouble is, the FOSS packages simply aren't as good.

See this related discussion from Slashdot the other day, which highlighted the practical flaws fairly well: [http://tech.slashdot.org/story/11/07/12/1855250/Interview- Wi...](http://tech.slashdot.org/story/11/07/12/1855250/Interview-With-the- Editors-of-Libre-Graphics-Magazine)

</comment><comment><USER13> The awful, distracting design (especially the weird cloud thing) almost got me to quit your article, but i ended up stopping here:

 _Free software – meaning you don't pay for it (you still can donate what you want!)_

</comment><comment><USER14> Yeah, I tried them. And I personally like Inkscape more then Illustrator for vector-related things. But Gimp vs. PS? No thank you.

</comment><comment><USER15> Yes, these programs have existed for a number of years, slowly improving and getting better. But every time I try to use them.. they feel clunky. There is just too much friction when I try to do the simple things. Maybe it's because I'm used to PS and AI, but I think Gimp and Inkscape would both be much better received if they invested more into being easy to use/ good-looking. Much like Sketchup did for 3D, where building basic models is easy and complex models possible.

<comment><USER16> It's all about easy to use. Easy to use saves time (and money).

Gimp can do what Photoshop can do but it will take you twice the amount of time. If time is not an issue it's not a problem.

Some things slowing you down in Gimp:

      Working with text.
      A layer has a size.
      Out of focus problems of your tools and working area.

<comment><USER17> Text and out of focus problems are solved in the upcoming Gimp 2.7.

Try it: <http://gimpusers.com/tutorials/compiling-gimp-for-ubuntu>

</comment></comment></comment><comment><USER18> While it may be possible to use these tools as a solo designer, if you work in a larger context then file interchange is a requirement. Good luck getting corporate clients to download, install, and use this stuff. Instead, they'll be asking why you can't deliver according to their specs.

<comment><AUTHOR> yeah totally agree on that one - open source graphic design still only for solo act -

</comment></comment><comment><USER19> I have tried to like gimp, I really have.

Every time there is a major release I'll download it & try it out but it always ends the same. The UI is clunky. The workflow with complex documents (lots of layers & shapes, etc) is a byzantine & obscure click-a-thon. Wacom support is glitchy. Users of the Mac version (some graphic design types run macs, btw) get to enjoy the fun of x11 non-nativeness & all the weird behaviour that brings (my 'favourite' being having to click each UI element twice: once to gain focus & then once to actually click the desired item. Grrr).

The whole thing feels disjointed & I find it hard to just get down to making images. I hate that this is the case as I would love for gimp to be a world beating graphics tool (OSS FTW, and all that), but there are just too many rough edges for it to be considered best of breed.

The problem is, who is working on an alternative open source graphics app that's better? Guess we're stuck with photoshop…

</comment><comment><USER20> Should we compare technology with or without the ideological context in which it exists?

What if humankind got better results with an unethically (to some) produced program. Would it then be unethical to promote software or technology that would hinder our advancement, just because it doesn't promote certain ideologies that this person believes in? (This applies to any technology). Should the ideology of software be more valued than what the software itself does?

</comment><comment><USER21> @blhack

Why not just carry on using the old version? Bob Staake apparently keeps an old Mac running OS 9 so he can use Photoshop 3.

General point: open source can't be taken from you in the way (say) Final Cut Pro was.

</comment><comment><USER22> please please please GIMP can't still be compared to Photoshop.

</comment><comment><AUTHOR> ok I am done with the could ;)

<comment><USER23> its not the cloud graphic but how you implemented it..I think what yo u meant was to use CSS to float the cloud and left middle of screen..which would have been perfect.

<comment><AUTHOR> thanks for the idea - I guess, my design and creativity get under a lot of pressure when you get 2000 visits - I'll keep that idea in mind since i also like the idea of smooth animated background

<comment><USER24> I kind of wondered what it looked like before, now that there's no more cloud, but there's still all these comments about how the cloud is annoying.

<comment><AUTHOR> hehehe yeah not putting it back for now ;) wasn't a deal breaker here or on disqus !

</comment></comment></comment></comment></comment><comment><USER25> What the hell is that floating moving group of penises? I can't read the article, my eyes keep moving to look at it. Waiting for the lasers to shoot something.

<comment><USER14> You need a laser? Try this one:

javascript:var%20s%20=%20document.createElement('script');s.type='text/javascript';document.body.appendChild(s);s.src='<http://erkie.github.com/asteroids.min.js;void(0)>;

</comment></comment><comment><USER26> For the 100th time, GIMP is not a Photoshop replacement. Not even close. I've tried to switch to GIMP like 10 times now, and every time I download the latest version, I give up within an hour.</comment>


That 'Alien Megastructure' Star Just Kicked into Action Again - <AUTHOR> https://www.sciencealert.com/that-alien-megastructure-star-just-started-going-haywire-again-and-scientists-are-freaking-out <comment><USER2> It's great seeing headlines like this when you're rereading Pandora's Star!</comment>


The Ghosts of Our Lives - <AUTHOR> https://www.newstatesman.com/politics/uk/2019/07/ghosts-our-lives <comment><USER2> Love finding a whole new rabbit hole to burrow down. :)

</comment><comment><USER3> RIP Mark fisher.

It's a tragedy that self help book peddling people like Jordan Peterson pass as public intellectuals while while Mark Fishers Zeitgeist capturing work circulates between a tiny subset of lefty politicos and Avant Garde music fans.</comment>


Changes Coming to TLS: Part Two - <AUTHOR> https://access.redhat.com/blogs/766093/posts/2978671 <comment><USER2> If you prefer the video format, Nick and I gave a talk at 33c3 about how TLS 1.3 works and our experience deploying it at Cloudflare.

[https://media.ccc.de/v/33c3-8348-deploying_tls_1_3_the_great...](https://media.ccc.de/v/33c3-8348-deploying_tls_1_3_the_great_the_good_and_the_bad)

<comment><USER3> Will Cloudflare be open sourcing the TLS 1.3 code to nginx or is this something we have to wait for nginx to add support to?

</comment></comment><comment><USER4> Alternative title: "Sanity Coming to TLS"

<comment><USER5> Yes. It's mostly about taking stuff out.

Did OpenSSL take out the "debug feature" which bypasses encryption and logs keys if you set an environment variable?

<comment><USER6> Do you have a pointer to that variable, code or doc? A web search didn't return anything obvious.

<comment><USER7> SSLKEYLOGFILE is the one that a few implementations use.

</comment></comment></comment></comment><comment><USER8> Looking forward to TLS 1.3. Starting testing Nginx 1.11.13 + OpenSSL 1.1.0 draft 18 branch with TLS 1.3 myself [https://community.centminmod.com/posts/47692/](https://community.centminmod.com/posts/47692/) not quite there yet. Needs some love on Nginx end too :)

</comment><comment><USER9> > If negotiating TLS 1.2, TLS 1.3 servers MUST set the last eight bytes of > their Random value to the bytes: 44 4F 57 4E 47 52 44 01

If it is possible to do this safely, does that mean the TLS 1.2 Random value was always eight bytes too long? Or that it was unnecessary?

<comment><USER10> SSLv2-style ClientHellos typically used a 16 byte random. Current ones always use a 32 byte random.

</comment></comment><comment><USER11> Most of these changes seem to just disallow weak cipher suites and RTT-1/0 connections.

Are there any other differences between modern TLS 1.2 setup and TLS 1.3?

<comment><USER12> You should read Part One of the series ([https://access.redhat.com/blogs/766093/posts/2975791](https://access.redhat.com/blogs/766093/posts/2975791)) which talks about the handshake changes

</comment></comment><comment><USER13> As I understand it, they are also removing raw public keys and OpenPGP keys, keeping only X.509 certificates.

<comment><USER11> Did anyone use OpenPGP for this? Seems interesting...

<comment><USER13> The project I co-designed still use this. It's also supported by mod_gnutls for Apache.

<comment><USER11> Is this only to check server identity or client as well?

Why not use regular X 509 certs?

<comment><USER13> Only server identity. Our situation in our project is that the TLS server side already has an OpenPGP key for other purposes anyway, so it is very practical to use it as an identity check inherent in the TLS handshake.

On the topic of X.509 certificates, I can only point to Peter Gutmann: _Everything you Never Wanted to Know about PKI but were Forced to Find Out_ ([https://www.cs.auckland.ac.nz/~pgut001/pubs/pkitutorial.pdf](https://www.cs.auckland.ac.nz/~pgut001/pubs/pkitutorial.pdf)) Basically, X.509 certificates are _very complex_ , and many security bugs have historically been found in the parsing code for them.

</comment></comment></comment></comment></comment><comment><USER14> Is there any reason not to use IPSec instead of TLS?

<comment> yjftsjthsd-h They address totally different use cases.

<comment><USER14> To my knowledge both can be used for most use-cases. Do you have something specific in mind where TLS would shine but IPSec would not?

<comment><USER15> IPsec requires cooperation and setup from both the OS and any middleboxes. TLS typically does not.

Putting it another way, TLS is actually usable in arbitrary applications, IPsec is definitely not.

<comment><USER14> Current popular implementations of it. There is nothing technical in IPSec per se stopping it from being implemented as a library, userspace server, or anything like that.

In reverse, IPSec is typically usable in arbitrary protocols and applications without special support for it, unlike TLS.

<comment><USER15> Things could always be different, but thats not a useful discussion when you are concerned about how things are, and working with them.</comment></comment></comment></comment></comment></comment>


83 year-old woman got 3D printed mandible - <AUTHOR> http://www.adafruit.com/blog/2012/02/05/83-year-old-woman-got-3d-printed-mandible/ <comment><USER2> Just watched this TED talk today[1] and mentioned to a friend that 3D printing is going to be "really, really cool". While the video probably won't show anything new for your average hacker here it might be a good introduction for people around you.

Creating a lower jaw within a few hours is "really, really cool".

[1] [http://www.ted.com/talks/lisa_harouni_a_primer_on_3d_printin...](http://www.ted.com/talks/lisa_harouni_a_primer_on_3d_printing.html)

</comment><comment><USER3> Pretty cool. I am looking forward to when we can print an new spine and other major bones.

</comment><comment><USER4> The University's press release: [http://www.uhasselt.be/UH/Tijdschriften/ToonPersmededeling.h...](http://www.uhasselt.be/UH/Tijdschriften/ToonPersmededeling.html?i=482)

</comment><comment><USER5> I'm extremely impressed that this just took a few hours. How did they get the right shape? Did they just print a copy of an old (pre-infection) scan of her mandible? Or did a doctor "clean up" the scan of her current, damaged jaw?

<comment><USER6> That's just the printing time. Designing the jaw took much longer (it's a complex joint apparently), and after printing it needed to be polished and coated in a bio-compatible layer by a different company.

Printer's press release: [http://www.layerwise.com/en/news/layerwise-builds- the-world%...](http://www.layerwise.com/en/news/layerwise-builds-the- world%E2%80%99s-first-patient-specific-lower-jaw)

<comment><USER7> About that 'apparently': I guess they would take their time for any joint, but a jaw is special in two ways:

\- it hinges at two points. As with doors, those must be t exactly the right distance of each other, or the thing simply will not fit, and be perfectly in line, or rotating the thing will cause huge forces on those hinges. I guess these could easily break of the new jaw or, worse, parts of the upper jaw.

\- it must close perfectly flat; you do not want to have only a few teeth touch when it is maximally closed.

</comment></comment></comment><comment><USER8> and there's even a youtube 'animated slides':

      http://www.youtube.com/watch?v=nP1jUABA6A4&feature=youtu.be

(skynet will be their main customers)

kudos to the whole team(s)

</comment><comment><USER9> Pointless summary of [http://www.3ders.org/articles/20120203-83-year-old- woman-got...](http://www.3ders.org/articles/20120203-83-year-old-woman- got-3d-printed-mandible.html)

</comment><comment><USER10> Neat. What material is it made out of?

<comment><USER11> Titanium.

Reminded me of this website where you can send a 3D drawing and get it printed in titanium (among other materials):

<http://i.materialise.com/materials/titanium></comment></comment>


How to find a short domain name - <AUTHOR> http://www.zegup.com/ <comment><USER2> A few years back I built Domain Pigeon, a similar tool, that generated web 2.0-style domain names and made them available to visitors. One of my big lessons learned from that experience was that web 2.0 style domain names are NOT good domain names. More often than not people can't remember them and when they can, they misspell it and if they can spell it, it's only because someone had to spell it out when telling it to them.

I recently launched a follow up to Domain Pigeon called Lean Domain Search which I think handles the problem a lot better [1]. Rather than generating random words, it pairs your search phrase with 1,500+ other keywords and instantly shows you which are available. In this way, every domain it generates is a combination of two or more actual words which makes it much easier to remember and explain to people.

By all means explore and see what your options are, but try to pick a name that will be easy for people to remember and easy to spell.

[1] <http://www.leandomainsearch.com>

<comment><USER3> "web 2.0 style domain names are NOT good domain names. More often than not people can't remember them and when they can, they misspell it and if they can spell it, it's only because someone had to spell it out when telling it to them"

Agree 100%.

I'd like to give my positive experience with leandomainsearch.com.

I used it when coming up with potential domains for a client (that was referred by a VC - a startup ready to launch with a new domain basically.).

Although the client ended up buying a domain (for sale) that I also suggested, I didn't tell them which names I found that were "free" essentially and which names they would have to buy from an owner. Or any pricing. I didn't want to color their opinion by creating a halo around the names available for purchase.

The majority of the ideas I got for available domains were from LDS. (In all fairness I also curated that list based on my knowledge since if you've used LDS you know it presents an overwhelming number of possibilities.)

The clients budget was about $20,000 for a domain purchase. In the end we bought two domains (one the one they wanted and one which was a typo of the one they wanted) for about $3500 total.

In my opinion the LDS names were as good as the ones the client wanted to buy. In some ways I thought they were better (but of course it's not my startup and maybe I was rated them higher because I choose them..).

The idea that I gave them when considering the final list (which took them several weeks to decide on) was to go out on the street and run the names by potential clients and consumers on this particular site and to see which names resonated with them. That allowed them to hone in on a great name at a reasonable price.

In any case even though they didn't go with the LDS name it was very valuable in the process.

<comment><USER4> I'm learning so much from this discussion. I'll throw in my data point (I believe it's relevant):

I ran shell scripts on 10 nodes with fast backbone connections, making DNS queries of all possible 4-letter and 5-letter .com's. Obviously, if the domain doesn't NXDOMAIN, it has been taken.

At the time (before domain squatting was shut down) all legal 4-letter domains were taken.

From the NXDOMAINs, I ran a much slower whois script to see if the domain was registered but missing a DNS entry.

From that final list of unclaimed domains, I was quickly able to spot the one I wanted.

<comment><USER3> "domain squatting was shut down"

No such thing as what you are saying. You are probably referring to the penalties that are assessed for domain tasting whereby a registrar is penalized if they return to many domains relative to the ratio of registered domains (registrars also pay more money to ICANN depending on how they handle this as well).

Much to much work to do the way you are doing it. You need to get a copy of the zone files there are people with access to that (we have access but we don't sell access others do though for nominal charges).

<comment><USER4> Thanks for the great insights!

</comment></comment></comment></comment></comment><comment><USER5> Am I right to be suspicious of this service if the best name it could find for their own domain was zegup?

<comment><USER6> >babof.com is available

Yey !

<comment><USER7> so do babof, babef,...

</comment></comment></comment><comment><USER8> How do we know that as these searches are executed that the domain names don't become unavailable, because someone parks on them? That historically has been the problem with domain-name searches. I'd like an absolute guarantee that the searching is done in a manner that doesn't alert registrars or their cronies to new domain names to park on before running many searches here.

The application is a text-searching application, so I was a bit startled to see "consonant" misspelled as "constonant" throughout the pull-down menus. Usually I expect programmers who work with text string-matching to be attentive to details of natural language text.

<comment><USER9> That was my first thought too. Any time I search for a domain name these days, my process goes something like:

1\. Enter it into a web browser, see if it's in use or parked

2\. If not, run whois on it at the commandline.

3\. If not, decide whether I want to buy it. If so, do so right away, otherwise assume it will be lost in a day or so.

And I'm not even 100% sure I can trust the browser search, depending on what the DNS server I happen to be on does with failed lookups.

<comment><USER10> You can safely use <http://instantdomainsearch.com>. It was written by a YC alum. Lots of companies we've funded have found names there.

<comment><USER3> That appears to be using nslookup (edit-"esq") to see if the domain resolves as a result of a test that I just ran. (Tried a name not in the zone file that IS taken (4L .com) - edit: it said it was available. Then tried a name that wasn't in the zone file and it took some time to determine if it was available. If it was comparing to the zone file there would be essentially no delay it would be a simple search. If I wanted to prove this I could register a name NOW, do the dns, and then do a query but I don't have time to do that. The zone file is only available once per day for download.

Also, it doesn't work for anything other than .com.

And if you hit "search" it sends you to godaddy.

All in all I think it makes more sense to simply find a dns server that you can trust OR get a hold of the zone file and query that (safest way actually). My personal feeling though is that this is all a non-issue.

</comment></comment></comment></comment><comment><USER11> I felt a bit limited by this, so I've just knocked up a similar tool with far more flexibility. Still actively developing it, but it's far quicker already.

<http://dev.mindfuzz.net/domain/>

Edit: Grammar.

<comment><USER3> Much better. I like this. Reminds me of when I did the same thing years ago with regexs to grab 3/4 letter .com (really there were so many available back then you had to whittle the list down).

<comment><USER11> Thanks! I'm looking at adding more tld's and words/synonyms.

</comment></comment></comment><comment><USER12> You should be focusing on the quality of the domain and not the length. This point is clearly illustrated when you use this service, as almost every domain generated is awful. While it is true that a domain can be too long, you will certainly find better domain names by looking around 8-14 characters instead of 4-7.

</comment><comment><USER13> Takes so long to generate first 50 names even when searching with just the defaults... looks like they don't really cache anything..

<comment><USER14> Cache random results?

<comment><USER15> No such thing as a random result when you have static selection boxes defining specific input. The results are obviously restrained by what letter combinations you pick (ie finite).

You could make an argument that caching all the possible combinations would be unreasonable for what's likely a low cost setup. However, I'd argue in favor of caching with both a popular and a simple reduction scheme.

Could speed it up radically by just caching on the first letter / number.

</comment></comment></comment><comment><USER16> It should be possible to randomize. I'm only getting domain names starting with ba.

</comment><comment><USER17> I got this error a little later, when the script was already running for a while:

Error Connecting To Server: whois.crsnic.net

Maybe you should not use "whois" but just a simple "host" or "ping" to resolve whether or not a domain is free. When in doubt, you can still do an "whois", but for a heuristic approach, it would be waaay faster.

<comment><USER18> Faster, but inaccurate. There are plenty of domains that are registered, but the DNS doesn't resolve. That doesn't mean they are available to register!

<comment><USER19> When I wrote a domain searcher script what I did was filter first by names that return are resolvable, and then whois the remainder. Reduces load on the dependent whois server whose terms of service usually say "don't run scripts against me"

<comment><USER17> That's exactly the approach I tried to suggest: Find as many correct replies first, because there certainly are hosts which names can be resolved and try the whois-approach on everything else.

</comment></comment></comment></comment><comment><USER20> It's probably perfectly honest but this almost feels like a turk exercise to get other people to find short names for you.

</comment><comment><USER21> Bah, it doesn't even randomize the access. I put consTonant consTonant and of the million possibilities it started checking all the bb___ ones... not so useful if they show just 50 and the only thing they allow you to do is to keep going with the next 50...

I wonder who designed the algorithm...

</comment><comment><USER22> Related: <http://messymatters.com/nominology> (discusses desiderata for names: evocativity, brevity, greppability, googlability, pronounceability, spellability, verbability)

</comment><comment><USER23> [http://www.kevinohashi.com/17/04/2011/other-24000-available-...](http://www.kevinohashi.com/17/04/2011/other-24000-available- brandables-com-domains-full-list) 24000 5 letter 'brandables'

</comment><comment><USER24> Sorry if this is a dumb question, but what's up with the letter Q?

<comment><USER25> Maybe it's like scrabble where you'd always want a u afterward.

It's a rather odd constraint given the other options.

</comment></comment><comment><USER26> this thing outputs crap. every single name/domain name generator i've seen has been underwhelming, including this one.

do this: * use an emotional connotation dictionary to classify a bunch of poems. * for each emotion category train a markov chain. * allow users to select a couple of emotions, then combine those emotion's markov chains and generate text.

<comment><USER27> I have an iPhone program called "Inspiro" which generates phrases, story ideas, etc. Great for improv or a random laugh. Got my blog domain idea "syncing dreams" from it, and I'm happy with that. No, it isn't checking for domain availability of course, but the combinations are unusual enough that you'll probably find the domain available. A few Inspiro results:

charmless koala

whispering playgrounds

day-glow demons

juicy naked mole rats

forging ice

You can generate different kinds of nonsense, like:

ruthlessly sneezing on perfect phrases

cheerfully grabbing handfuls of fascinated buildings repeating naughty garden hoses

So, fun for strange ideas that make your brain get creative. My favorite tool for generating actual domain names though is easily <http://impossibility.org/>

<comment><USER26> that sounds pretty good.

this is kind of a tangent but kind of related: you can use a reverse dictionary (<http://www.onelook.com/reverse-dictionary.shtml>) as a sort of "multi word thesaurus" when trying to condense a couple of ideas down into one word

</comment></comment></comment><comment><USER28> This is beautiful, but it's such a shame that US law enforcement have been stealing .com domains from people for things that their users have done. We've had a bunch of Hacker News threads and I don't want to resurrect old beasts of that sort, but some option for non dot-com names would be wonderful. (Especially because .com reminds me of 1999-2001 at this point and it seems like we designers should perhaps be treating it as a ten-year-old fashion.)

<comment><USER29> I couldn't disagree more with that we should be treating .com as passe. While .me or whatever is "cool", the majority of the world still relates to .com's the most. I'm in Taiwan right now and the people here probably have no idea what a .me or a .it is. They are using .com.tw, not .me.tw (and yes, of course I understand that .me is from Montenegro and this would never be possible). And the "reminds me of 1999-2001" just sounds silly...it goes without saying that there have been thousands of successful .com's since 2001, like the one you are looking at right now.

<comment><USER30> Actually .me.tw would be possible, just as there are .gov.tw etc. so .com in the .com.tw is not a top-level domain (.tw is), it is a 2nd level domain in this case. so there could be xyz.tw just like .co was originally exclusive to government of colombia and you could only get 2nd level domains, ex domain.com.co etc.

<comment><USER29> thanks for clarifying, I edited-in that line in () mainly to qualify that I was sort of joking about the .me.tw. I now know it wasn't a joke.

</comment></comment></comment></comment><comment><USER31> On some domains I get a invalid domain message:

bbaaw.com is an invalid domain name

Any ideas on why this is appearing or what it means?

<comment><USER32> looks like a bug

</comment></comment><comment><USER33> This coupled with the importXML feature of Google Docs is very useful.

</comment><comment><USER34> Does it mean that all 4-letter-.com domain names are taken?

<comment><USER35> Yep, all 4 letter domains were registered back in 2007 ([http://www.dotsauce.com/2007/11/02/four-letter-domains- all-r...](http://www.dotsauce.com/2007/11/02/four-letter-domains-all- registered/)).

Of course domains expire or are sold between owners so getting a 4 letter domain is still possible.

<comment><USER36> And you can get them for cheap. Got one .com as recently as last year, with the .org as a freebie. I'm now considering selling my 3 letters/numbers domain name - .net and .org.

<comment><USER37> How much was the .com? I've seen offered prices of $5K+ for fairly generic 4 letter domains...lot's of speculators buying and holdnig I guess...

<comment><USER36> Speculation- yes. I paid just below 100, and I considered that a tad expansive.

It's not a word but it is easy to say and to remember, and I needed one for a project, so I got it thinking I could reuse it later.

</comment></comment></comment></comment></comment><comment><USER38> That's not how you spell consonant.

</comment><comment><USER39> We have many short domains: if you want to take on holly wood- you could use Free.TV or if you want a communication startup, try XG.org, Free-fi.com, wusb.com, or wide-fi.com. News site? Syndi.com, bloog.com. Hyperlocal? 4ny.com or 4dc.com. Keyword? Liposculpture.com non-profit? Manna.org My favorite for Big Data is NoSQL.com

While this post is a plug for my open source project OpenDomain - please note that we are not for profit. We have given domain such as Drupal.com, OsCon.com, OpenAjax.org, and Ecmascript.org all for FREE

EDIT: spelling errors edit 2: please do not downvote - as I said before we are not for profit and we support open source. I would love for anyone on hacker news to use any of our domains</comment>


Hello, World? – A Node.js Back-End/Express/Pug Tutorial – Toptal - <AUTHOR> https://www.toptal.com/express-js/remote-control-nodejs-back-end-tutorial <comment><AUTHOR> Perhaps more practical than your average tutorial, in that the resulting project helps you turn an old smartphone into a TV-style remote. (Disclaimer: I wrote this article.)</comment>


Forget joysticks, use your torso to pilot drones - <AUTHOR> https://www.sciencedaily.com/releases/2018/07/180716151521.htm <comment><USER2> _Overall, the scientists compared their torso strategies to joystick control in 39 individuals. They found that torso drone control outperformed joystick control in precision, reliability and with minimal training sessions._

Until you sneeze, and double over to cover your mouth and send your aircraft plummeting to the ground :P

(Also, we're still calling all unmanned, but ultimately human controlled aircraft 'drones'? This is never going away, is it?)

<comment><USER3> > Also, we're still calling all unmanned, but ultimately human controlled > aircraft 'drones'? This is never going away, is it?

No, it was the usage for which the application of the term to vehicles was adopted in the early 20th century, it's been that way for nearly a full century, and it's not changing.

What's your problem with it?

<comment><USER2> That referring to an aircraft controlled by a human a 'drone' isn't accurate.

</comment></comment></comment><comment><USER4> Note that this research was conducted on people with no prior experience of flying drones. An intuitive interface is not necessarily the best interface for skilled users. Do we really want to reduce the (already very low) barrier to entry to flying a drone?

<comment><USER2> Not necessarily against lowering the barrier to flying quadcopters for recreational use (commercial use different story-and I say that as someone who took and passed the FAA Part 107 test).

I'm chiefly curious how/if this system allows operators to adjust or control things like trim-for example and what that mechanism looks like using one's torso as an input source.

Furthermore with a joystick, the resistance of the sticks counts as it's own input mechanism; less about fine-tuned control for its own sake but more about that fine tuned control as an input mechanism of its own.

I think that speaks to your statement here:

 _An intuitive interface is not necessarily the best interface for skilled users._

Absolutely.

That being said, being able to control yaw by turning one's head-similar to how the AAIH works for AH-64 pilots _is_ something I would welcome-or at least play around with. The rest--possibly, but with reservation.

</comment></comment><comment><USER5> I wish that was available in the 90s when I was still playing video games. Fell off the chair several times playing Descent.

<comment><USER6> Descent was a game where you could be in any orientation at any time... I'm not sure I'd want to have to stand in my head and face backwards to get into a monster closet...

This seems much more suited for something like a drone that needs to be more or less level with the ground most of the time.

</comment></comment><comment><USER7> What silliness is this? The tracking system is bound to make mistakes when absolute precision is required. If you really want kinetic control, use the position and distension sensors like in VR gloves. That could perhaps be as accurate as a joystick. They are partly using that but add irrelevant cameras.

The research is also cheating, torso control uses a VR headset while joystick does not, and responds to head turning while joystick system doesn't. The headgear view is well researched to be important as shown half a century ago in fighter jets.

<comment><USER8> I think you overestimate the accuracy of joystick control for beginners. This looks promising !</comment></comment>


9 Shell and Vim Enhancements - <AUTHOR> http://danielmiessler.com/blog/enhancements-to-shell-and-vim-productivity/

<comment><USER2> I can't imagine remapping the escape key now after decades of using Vi. Pretty sure my muscle memory couldn't be remapped at this point!</comment>


Show HN: Chrome extension for interactive in-app training inside Google Apps - <AUTHOR> http://www.synergyse.com/#

<comment><USER2> I love the idea. An immediate thought is whether this technology can be abstracted for use in different departmental infrastructures (training a new frontend dev on the platforms/tools the rest of the dev teams use, training a salesman on the CRM tools/communication protocols, etc.) and for the lessons to be customized to the needs of a specific company. Obviously that would require a lot more API work, but I think it'd be super valuable for different types of teams. I think I'd pay for it.

<comment><AUTHOR> Thanks for the feedback and suggestion. This is something we have definitely thought about exploring in the future.

</comment></comment><comment><USER3> Awesome, I wish all web-app tutorials were that good.

However.

Please, for the love of old gods and the new gods, ditch the over produced voiceover. Get a real person that speaks in a real manner.

</comment><comment><USER4> Great idea. Can't wait for multi-lingual support.</comment>


How to Build a Business by Working for Free - <AUTHOR> http://www.quicksprout.com/2009/05/21/how-to-build-a-business-by-working-for-free/ <comment><USER2> I dont know why people dont write summaries anymore but:

The guy sends out mail, offering a helping hand to those that could improve their html for SEO or other technical reasons. The intention is to use the sites as reference work, by using your abundance of free time to build long time cred.

</comment><comment><USER3> I get emails like that every day, granted none of them are saying they'll do it for free, but the opening lines of that email would mean id bin it in 0.3 seconds.

The idea is good, but id suggest starting the email in a way that doesn't match the leagues of seo service spammers. That should improve the success rate.</comment>


TikTok ads are rife with scams - <AUTHOR> https://www.tenable.com/blog/tiktok-ad-scams-insufficient-moderation-leaves-for-you-page-filled-with-dubious-apps-products <comment><USER2> Isn't this true for FB, Twitter, Reddit, etc?

<comment><AUTHOR> It's true that all of the platforms you listed have dealt with scams over the years. It's part of the maturation process of any social network. In the case of TikTok, it officially just celebrated its 2nd year as a platform, and I just began to observe a slew of ads on the platform pushing scams unabated. Scammers follow the trends and where the users are, so an extremely popular app like TikTok became a platform ripe for the picking.</comment></comment>


Optimizely Raises $58M - <AUTHOR> https://blog.optimizely.com/2015/10/13/optimizely-series-c-funding/ <comment><USER2> Genuine question: How do companies with such vague and unimformative home pages become so widely-used? I'm sure their platform is great, but I couldn't tell from their home page what they do, and wasn't interested enough to keep reading. And Optimizely isn't the only culprit by any measure. Is it just word of mouth? Or are most people somehow more likely to use a product with a vague and buzzword-laden description over something more succinct and to the point?

<comment><USER3> Enterprise software, which more or less Optimizely is[1], is a very different sales model from your typical consumer or small company oriented technology business. It's much more focused on getting people on the phone or in front of salespeople. So, in some sense you _want_ to have just enough information to get people on the phone.

[1] Super over-simplified rule of thumb: If you see "Solutions" in their nav menu, it's enterprise software.

<comment><USER4> Unfortunately this is right.

As the target audience for Optimizely and an ex-customer, I have to say it annoys me to no end that they are so light on details. My time is limited and I don't want to have a conversation with a rep until I can see more of what it offers. Pretty much every analytics platform out there falls into this trap.

Half the time the sales reps can't even answer my questions so I have to waste even more time with a sales engineer on a followup call to just see basic things like pictures of the interface.

</comment></comment></comment><comment><USER5> " _Every morning, we all wake up to a world that isn't optimized. Reading the news, commuting to work, ordering coffee, planning a vacation; far too few of these experiences were optimized using data. As a result, our lives are filled with experiences that are never as good as they could be._ "

Oh the horror! Just the other day I was getting a cappuccino from my local cafe, and as the barista expertly poured out a perfect latte-art fern, I thought to myself, "man, if only this process could be optimized using data, like they do at Starbucks." Then I sat at my computer and read some idiosyncratic posts from my favorite blogger. After enjoying a few posts I said to myself, "man, if only he could optimize his blog posts for maximum clicks like Buzzfeed does. Why doesn't he use data to make his experience better?"

</sarcasm>

I do generally dislike cheap negativity when responding to startup news. But this first paragraph was really tone-deaf and deserving of ridicule. Let me try to balance my criticism with some constructive advice for rewriting this press release.

Drop the first four sentences. Start off with, "When Pete Koomen and I founded Optimizely five years ago, very few companies had even heard of A/B Testing, and optimization software was about the last thing anyone considered putting in their technology stack." Then give an example. "When we first helped XYZ Sporting Goods optimize their site, we knew we were on to something. Not only did we help them write more compelling copy and better imagery that bettered their sales, we also created a much better experience for their customers. No longer would visitors click away because they could not understand what the site did, or what their message actually was. A/B Testing and data based optimization allowed us to match the website to the people who were actually visiting their site. Fast forward to 2015 and much has changed...."

Not every company is going to change the world. But you can still write a compelling, feel-good narrative without making me want to throw a shoe at the screen.

<comment><USER6> I'm not sure why you're being down-voted but this was completely spot on.

<comment><USER7> Agreed, upvoted.

</comment></comment></comment><comment><USER8> Huge fan and proponent of Optimizely and the platform they offer, we made them an integral part of our agency for our performance based CRO clients as a tool we could bring to the table to help execute our ideas for the past 3 years.

That is, until they changed their model and began to push agencies off the platform by insisting that the client and not the agency must have the account relationship with Optimizely, and the agency can then "work" on the account but no longer under one account spread across multiple clients.

I have no objections to pricing changes and strategy pivots, more power to them and I understand to develop more and more features, pricing must be raised to match usage. We would happily pay more per month, however we don't see the business sense in handing over our client relationships directly to Optimizely so that our clients could then choose to drop us as an agency at anytime, but keep the Optimizely account.

An account that would be full of our work product, testing ideas and custom code developed to implement tests that a client could now easily take to another agency and continue benefiting from the work.

(Yes, we have contracts with our clients, but we are not naive enough to think that clients won't look for a way to do away with our fees if they can take our services and work product with them.)

Our ability to utilize the tools provided by Optimizely and build winning tests has helped us grow our business, but this change in agency support has caused us to need to look for alternate solutions.

It would be great if some of this latest raise could be used to re-invest in agencies again, providing a client manager style interface where multiple accounts/sub-accounts can reside under one login. Even if each client needs to have a different pricing structure based on their usage patterns, can't share visits across clients, but could be arranged and managed by the agency as one point of contact and billing.

I'd love to kick back up our usage of the platform, as the new features I see them rolling out are enticing and I am sure this raise will only accelerate that, but we can't commit to a vendor that seems to actively enable and almost encourage our clients to circumvent our own service model.

</comment><comment><USER9> You just know that when the pricing page says "Call us" that they are going to try and rip you off. This is a classis sales technique for expensive products, they ascertain how much you can probably afford and then that becomes the price. Very off putting.

<comment><USER10> Optimizely ain't cheap, dude, and scaling doesn't work the way you want it to at a lot of volumes.

I worked at a company where we paid $400 / month for Optimizely, based on having ~20k uniques. That seemed fair. If you take that up by 100x, $40k / month might not sound fair. You can cut the pricing at that point and say it's $10k / month, but there's a world of difference between a B2B site and an ecommerce site. The usage patterns are different, so the value received and load put on Optimizely are different. It bears different pricing.

Beyond that, sales reps aren't all bad. If you're going to lay out $200k for a product like this for a year, you probably don't want something that you just email out a bunch of logins and say "hey team, try it out, let me know what you think." Talking to a human being can help an exec figure out the way their organization can use it the best and help them get that implemented. Yeah, they're biased, but people who deal with sales reps know how to mitigate that bias, and a good rep can be the difference between a successful implementation and a failed one.

<comment><USER4> I am an ex customer of theirs in one of the highest tiers. Their sales reps were better than most, but in general I'd agree with parent poster.

I'm the target of a lot of analytics and ad tech/network sales people and at this point in my career I loathe talking to them. Many try to blow smoke up my ass, try to mask deficiencies about their product instead of just being honest about shortcomings and trying to explain why the value is still worth it, and the list goes on.

Hell, I've had some ad tech sales people flat out lie to me and then had their executive boss get mad at me when I called them on it because I was lied to. They tried to say the sales guy made a mistake and couldn't offer what they had offered. Oops!

As soon as someone comes up with a way to cut out sales people from enterprise sales I will shower them with money.

<comment><USER10> Right, I totally agree. Putting "Director" in my LinkedIn title made my corporate voicemail useless.

I think you've got the right of it though: "As soon as someone comes up with a way to cut out sales people from enterprise sales." We haven't figured it out yet, so we all get to deal with bad behavior and absurdly annoying appointment-setting tactics.

<comment><USER4> Pro tip: have a phone not connected to any directory and give instructions to not connect anyone to your line if they call the receptionist. If someone needs to call me, I'll have given them my number myself. Anyone else just wants to sell me.

Now I just get a cluttered inbox, not voicemail as well.

</comment></comment></comment></comment></comment><comment><USER11> Can anyone here honestly claim the optimizely is better than visual website optimizer? I've used both extensively and I constantly run into problems where I'm required to do things a certain way with optimizely where I can just do it like I want with vwo.

Genuine question. I'll give them a 2nd chance if someone can convince me.

</comment><comment><USER12> ... wow, we live _SO_ in the advertisement bubble! And the first few sentences are just absolutely ridicolous.

<comment><USER4> And what are you basing this incredibly broad and unsupported statement on exactly? Optimizely is providing the companies that use it with value that exceeds the cost or they wouldn't continue using it.

</comment></comment><comment><USER13> I think Optimzely's drag and drop software is great but I think Qubit (which is in occupying a similar space) has a data analytics platform that far out weighs Optimizely. If anyone is interested in the actual data aspect of personalization then Qubit's discover software is incredible.

<comment><USER14> Disclaimer: Eden is a sales rep ("client services") at Qubit.</comment></comment>


Tweeting about where to find pirated sheet music will lead to DMCA-takedown - <AUTHOR> http://chillingeffects.org/dmca512c/notice.cgi?NoticeID=196738

<comment><AUTHOR> The tweet in question; "Pasek and Paul's sheet music is $105 on their site...but it's free on <http://piratebay.com> > haha."</comment>


What is Covariance and Contravariance Anyways? - <AUTHOR> http://functional-orbitz.blogspot.com/2011/10/what-is-covariance-and-contravariance.html <comment><USER2> While the definitions of covariance and contravariance in the article are correct, they are irrelevant to Dart. The heart of the author's mistake is here:

"A compile-time check has been moved to runtime, which means you don't know if your code is safe without running it."

In an optionally-typed language like Dart, this is always true. Dart doesn't require enough type information to allow the compiler to guarantee that code that passes the type checker won't throw a runtime exception. So whether a feature undermines type soundness is irrelevant. The important question is how big is the class of errors it fails to catch at compile-time versus what other benefits does it have.

"Unfortunately, I cannot shed any light on why Dart has covariant arrays"

Because covariant arrays are more consistent with programmer intent and in an optionally typed language don't appreciably undermine compile-time guarantees more than the "correct" rule. Good code avoids mutating arrays. Hence a rule that is correct for the common case of reading arrays makes sense. Moreover, such a rule keeps you from having to lie:

Given: Basket<Tomatos> HarvestTomatos()

MakeJuice(Basket<Fruit>)

MakeJuice(HarvestTomatos()) should Just Work (TM). The optional typing keeps me from accidentally passing MakeJuice a Basket<Insects> which is, as a dynamic language programmer, all I really want from the type system.

<comment><USER3> The solution to this problem is not to make arrays covariant, but to correctly specify the type signature of MakeJuice:

MakeJuice :: Basket<`a> -> void where `a <: Fruit

That is, of course, only if MakeJuice does not modify the array. In general, I think that often the biggest mistake is variance annotation of types. Instead, _functions_ should have (in)variance annotation on every parameter and on the return value. Then, a function that only reads from an array would be covariant in the type of array elements, a function that only writes would be contravariant, and a function that does both would be invariant. No need to artificially limit the usecases of arrays.

<comment><USER2> I mean it really depends on what you conceive Basket<Fruit> as meaning in Dart. Essentially, Dart treats it as Basket<T> :: T <: Fruit. If you see it this way, then the obvious question is, how do you write a type declaration for T :: T <: Basket<Fruit>? The answer is: who wants to do that in a optionally typed language?

</comment></comment></comment><comment><USER4> In short, the problem with covariant generics is that you can put a Banana in a Basket<Apple> (because a Basket<Apple> IS A Basket<Fruit>).

<comment><USER5> So, are there any languages that actually get this right? I'm sure Haskell does, being a strongly-typed, side-effect-free language. Are there any other languages that have this working properly?

<comment><USER6> Haskell doesn't have any subtyping, so the problem doesn't come up.

For languages that implement generics in a way that takes variance into account, you can look at e.g. Java (ignore the array class, but look at Vector<E>) or Scala. OCaml also has subtyping (for records and variants) and variance-annotated type variables (<http://ocaml.janestreet.com/?q=node/99>).

<comment><USER7> > Haskell doesn't have any subtyping

Num looks like something that's been subtyped.

<comment><USER8> Well, it may look like but it isn't.

Num is a typeclass, not a type. Like yummyfajitas said, typeclasses are similar to interfaces or abstract classes in Java, but they aren't the same.

Consider Java's _equals()_. You can write _'a'.equals(foo)_ as long as foo is an Object.

In contrast, look at Haskell's (==) function declared in Eq (I'm not giving an example using Num because Haskell provides some implicit conversions for numeric literals, which would introduce an unrelated complication in the example).

        (==) :: (Eq a) => a -> a -> Bool

This functions accepts 2 arguments of any one type, as long that type is an instance of Eq. But we cannot use different types in the same call. That is, we can write ('a' == 'b') and ("foo" == "bar") but not ('a' = "foo"), because (==) is not defined for a Char and a String.

</comment></comment></comment></comment></comment><comment><USER9> I agree that mutable-array covariance in a statically typed language is a Bad Idea (TM). But Dart's type checks at compile-time are so non-existent that array covariance is the least of my concerns. Take is simple example (you can run it on Dart's site [1]):

        applyShippingCost(num price) {
          return price + 10;
        }

        main() {
          print(applyShippingCost(100)); // Prints 110. Ok.
          var lol = "TROLOLO";
          num thisIsNotANum = applyShippingCost(lol); // Nothing explodes here...
          print(thisIsNotANum); // Prints TROLOLO10, Yeahh B)
        }

This runs well and compiles with no warnings. Types are not checked when assigning an untyped variable to a typed one, so while one would expect that type declarations should give us some form of type safety, they don't.

As I see it, with Dart's optionally typed system you get the worst part of two worlds (if you opt to type your variables): having to declare the types of variables, as in a static type system (with no compiler type inference); and having no guarantee about those type declarations at runtime, as in a duck- typing type system.

[1]: <http://www.dartlang.org/>

<comment><USER2> This is a function of pre-alpha tooling that doesn't do any type analysis. It would be trivial for the compiler to give you a warning in this circumstance with the type information you provided (and production compilers like SBCL will do so).

That is ultimately the point of optional typing. To let you gradually firm up the types in your program as the design gels. The technology is there to get quite a lot of mileage out of the resulting type information, though I think it would definitely behoove Google to make sure the tooling works well from 1.0.

E.g: <https://gist.github.com/1325465>

In the declaim I've specified the type of fib to be integer => integer. In the test function, I define a local function that calls a library function to concatenate two constants. The test function then calls fib with the result of calling the local function.

Compiling this, SBCL complains: <https://gist.github.com/1325469>

Here, the compiler starts with the known types of "hello" and " world", realizes that the result of CONCATENATE must be an array or null (strings are arrays in Common Lisp), realize that the function FUN always returns a sequence, and then realize that this result conflicts with the asserted type of FIB.

Indeed, if you define FIB inside TEST[1] you don't even need to declare the type of FIB, SBCL figures it out itself.

[1] This restriction is a limitation of the semantics of Common Lisp. Global definitions could be redefined, so SBCL will not flow types through them. Lexical definitions cannot be redefined, so SBCL will analyze them. Dart does not have this limitation.</comment></comment>


The Tragedy of Wiio's Law (or communication usually fails, except by accident) - <AUTHOR> http://www.ribbonfarm.com/2009/03/26/the-tragedy-of-wiios-law/

<comment><USER2> This is actually pretty interesting. Such felt connections between humans are a space in which a great deal that is worthwhile, such as healing and learning, can take place. The psychologist Stephen Gilligan (a student of Erickson and Bateson who has articulated their work conceptually in a way that preserves some of its unexpectedness) calls it the relational field and says that it is a somatic process.

The reason this kind of communication usually only succeeds by accident is that you can't force it. That's like trying to have fun. Or the old joke where someone screams, "I thought I told you to _relax_!"

You can, however, learn the patterns whereby it tends to arise and cultivate them. The disciplines that have the most to teach about this are the ones where practical success depends on working this way; so, things like therapy, teaching, and the arts. By contrast, disciplines that work by reducing their material to mechanism tend to exist in a realm that is disjoint from it.</comment>


The European Parliament has approved budget for VLC bug bounty program - <AUTHOR> https://hackerone.com/vlc <comment><USER2> Is anyone else concerned at the perverse incentives created by bug bounties on open source software?

Monetizing bugs may end up encouraging the creation of insidious, underhanded bugs explicitly so that bounties can later be claimed by other parties supposedly at arms length.

<comment><USER3> This seems a bit paranoid. It's not like OSS doesn't have code review processes.

<comment><USER2> It pays to be paranoid. I believe I'd be able to add exploitable bugs that would not be detected in most code reviews; there's a large library of techniques available from underhanded C competitions and similar.

<comment><USER4> If malicious people can add exploitable bugs and claim a bug bounty later, then they can also add exploitable bugs to actually exploit them. So I'd say that bug bounties also work here: they create an incentive to review the code of open-source projects more closely.

<comment><USER3> After a look at some of the bugs linked at [http://www.underhanded-c.org/_page_id_2.html](http://www.underhanded-c.org/_page_id_2.html), they are _very_ niche and difficult to exploit in any meaningful way. Not only that, but even a mediocre test suite would find something fishy with most.

</comment></comment></comment></comment></comment><comment><USER5> It would be nice if they also approved one for Android Stagefright.

All monthly Android security bulletins from this year have critical CVEs in the media system.

[https://source.android.com/security/bulletin/](https://source.android.com/security/bulletin/)

<comment><USER6> I think Google can afford to pay for that.

</comment></comment><comment><USER7> Why VLC?

<comment><USER8> I'm trying to think of an open source project that is used as widely as VLC, and not backed by Google. Maybe there is, but I can't think of any.

<comment><USER9> SQLite

</comment></comment></comment><comment><USER10> what about this rationale:

> The purpose of the procedure is to provide the European institutions with > open source software projects or libraries that have been properly screened > for potential vulnerabilities;

I don't think bug bounty is a substitute for certification. And it benefits the most if is a long-run with accumulating rewards.

making it short term with only one payout will only attract people with automated tools for the initial period. Then code will get "certified" and forgotten. It all seems wrong. Hopefully it is just bad wording on the official PR.

<comment><USER8> > I don't think bug bounty is a substitute for certification.

Neither does the EU: _by extending the free software security audit programme (FOSSA)[...]_. Meaning: there already is an audit, certification and audit being synonymous for this purpose.

> making it short term

This is a trial run, to be extended later: _we are trialing the VLC application on a bug bounty program_

> with only one payout

There will be as many payouts as security-relevant bugs are found: _Rewards may range from $100 up to $3,000._

> will only attract people with automated tools

This is a private trial, where people with automated tools submitting low- impact bugs will presumably not be invited: _We invite hackers and bounty hunters (aka researchers) based on a variety of factors - reputation, previous track record (high quality reports)_

> Then code will get "certified" and forgotten.

This is VLC, one of the most-used open source programs. How will code merged into the product be forgotten?

> It all seems wrong.

Indeed...

> Hopefully it is just bad wording on the official PR.

I think the problem is more likely caused by a complete lack of reading skills.</comment></comment>


No Paper Is That Good - <AUTHOR> https://www.econlib.org/no-paper-is-that-good/ <comment><USER2> > If you want me to read the vast literature, cite me two papers that are > exemplars of that literature. I will read them. If these two papers are full > of mistakes and bad reasoning, I will feel free to skip the rest of the vast > literature. Because if that's the best you can do, I've seen enough.

This is one of worst ideas I've ever read. Wouldn't you just be cheating yourself?

How is tying your own learning to someone else's ability to find the best papers in any way a smart thing to do? It would be much better to doubt the person who gave you the papers (perhaps he miscalculated which two papers were the best), than to dismiss the entire field.

<comment><USER3> It's not about dismissing the field, as much as the claim that you must have read the literature to constructively participate in a debate.

<comment><USER4> I think it's reasonable to expect familiarity with "the literature" beyond "two exemplary papers" to be given any respect in an academic debate. If you aren't reading the lit reviews and broadly in the topic how can you possibly contribute to the discussion productively? Almost certainly any points you want to make will have been examined and discussed already. This rule is about FOMO for wannabe rennaisssance-man know-it-alls who think their gut reactions are God's own truth and demand a response from actual experts. If you don't know the topic and don't want to learn about it then please find something else to do.

<comment><USER5> Here's an example.

You stumble on a bunch of psychology papers in which psychologists noticed that whenever 6+ kids get together, there are either three mutual friends, or three mutual non-friends.

The psychologists think this has something to do with child psychology and have written 10,000 pages on it.

You immediately recognize it has nothing to do with psychology and is just basic Ramsey Theory [1]. Should you have to review thousands of pages before being allowed to chip in?

[1] [https://en.wikipedia.org/wiki/Ramsey%27s_theorem#Example:_R(...](https://en.wikipedia.org/wiki/Ramsey%27s_theorem#Example:_R\(3,_3\)_=_6)

A less hypothetical example: You're Bertrand Russel and you discover Russel's paradox, a one-liner which negates thousands of pages of Frege's not-yet- published logic textbook. Do you have to wait for him to publish it, and then you read it, before raising your voice?

<comment><USER6> Some scientific subfields are ridiculous on their face.

But there's a crucial difference between that and the way original rule is phrased.

The fields one has to dismiss are characterized by things one knows is false by physics or combinatorics or other common sense things. Theories of telepathy, the flat earth, creation science or whatever.

The "you can't show me one good paper on the subject" is an appealing-seeming pronouncement but it's really dumb way to do it. Just say, "that doesn't make sense and you'd need huge evidence to prove it". Paper quality isn't really the question.

<comment><USER7> Regarding telepathy...

[https://www.sheldrake.org/research/animal-powers/a-dog- that-...](https://www.sheldrake.org/research/animal-powers/a-dog-that-seems- to-know-when-his-owner-is-coming-home-videotaped-experiments-and-observations)

<comment><USER8> Sheldrake is my go-to example of bad science.

In one of his experiments monitored by another scientist, when the dog didn't respond in a way that met Sheldrake's criteria, Sheldrake changed the criteria in mid-experiment.

That one incident alone should be enough to dismiss any results coming from Sheldrake. He's not only dishonest but blithely unaware that he's being blatantly so.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> Claude Shannon's paper on information theory [1] is possibly an example of such a paragon of work. No citations, 50 pages of pure awesome, spawned a whole research field of its own and 70 years on just as valid.

[1] A Mathematical Theory of Communication - [http://math.harvard.edu/~ctm/home/text/others/shannon/entrop...](http://math.harvard.edu/~ctm/home/text/others/shannon/entropy/entropy.pdf)

<comment><USER10> You said it. He proposed the model for digital AND analog communication still in use today. Although being a digital software person I admit I've never been motivated to read the part about continuous channels.

I was motivated however to install an archway for my house from the exact shape in Figure 7 (binary entropy function)

</comment></comment><comment><USER11> On the psychology replication crisis

>Overall, 36% of the replications yielded significant findings (p value below 0.05) compared to 97% of the original studies that had significant effects. The mean effect size in the replications was approximately half the magnitude of the effects reported in the original studies.

[https://en.wikipedia.org/wiki/Replication_crisis#Psychology_...](https://en.wikipedia.org/wiki/Replication_crisis#Psychology_replication_rates)

Of course if you point out that psychology research is strongly biased, the immediate response is that you must be an anti-intellectual. As if the system that produced such misleading results is a representation of all intellectual pursuits, and not just a mistake. The same way you get called an anti- intellectual for questioning the post-modern-analyses of whatever.

I'm really sick of people claiming that criticizing obviously bad science is "anti-intellectual". When you produce that many useless papers you're obviously, as a field, lacking an understanding of why science is good and useful in the first place.

I'm presuming that economics has similar problems with replication, and that you can only trust the most basic and obvious of their findings.

<comment><USER12> A lot of this is simply that p < 0.05 is a very low bar for research. If we want to understand _how_ the world works, we need to be able to construct mechanisms that explain why the results we measure in experiments come about. Without this thing, it's not science.

A good mechanism that accurately explains some part of the world can be validated with a much better result than p < 0.05, because it can be properly isolated from other factors and its effect size can be strengthened.

Without a mechanism to explain _how_ things work, the experimental results that get published are probably just noise. And because p < 0.05 is such a low bar to pass, lots of noise gets published. Trying to reproduce an experiment whose results were drawn from /dev/urandom is pointless.

In fact I'm surprised the replication was so high. I was expecting it to be around 5% (i.e. results are totally random). So maybe there is some hidden merit to all of this

<comment><USER13> > If we want to understand how the world works, we need to be able to > construct mechanisms that explain why the results we measure in experiments > come about.

This, 1000 times over. Unfortunately we seem to teach that statistical analysis is sufficient to infer causation in a lot our undergraduate science programs.

</comment></comment></comment><comment><USER14> I would agree that "no paper is that good" \-- on the first try or even the second try. Just as we need constantly refactor code, just as we need constantly re-edit a book, a paper that explains a scientific idea also needs constant re-write to become good. The sad reality is that scholars simply do not do that.

It is understandable though. Once the paper is published, then it is no-longer novel, and there is obviously lack of reward and motivation to write the same idea again -- just to write it better. ... unless you are actually writing a review paper, but then, it appears there is little value unless the review is "complete". A good illustration of the idea need be able to high-light the key idea while avoid having minor ideas obscure the key. Therefore, a "complete" review paper rarely provide a good read.

Compared to papers, a good text-book often is a much better read than all the original papers. It is not really because of the size, rather it is because a good text-book is written from the reader's point of view and focuses on conveying the idea itself (vs. selling the idea). And a good text-book takes many rounds to develop.

There is no reason papers cannot be developed in a similar way as text books: once a ground-breaking paper is published, it shall be constantly updated, each new edition reflects what the author has newly learned and incorporating new development including the entire community...

Alas, that is not the culture, and there is no motivation to do such.

<comment><USER15> In addition to the incentive problem, you would also need to get people to peer review any changes to a paper. Most of the changes would be minor and annoying to peer review.

I think that courses remain the best way of distilling and communicating knowledge. The only problem is that they're not always available to a lay audience, since there's little incentive to make them available.

The other alternative for the lay audience is science/economics journalism (Economist, Scientific American, Discover, etc). This works to some extent but mostly just scratches the surface, since even regular journalism is struggling to be profitable these days. With deep technical topics there are too few readers and too few qualified, willing writers.

</comment></comment><comment><USER16> I assume this relates mostly to economics or the humanities (social science, if you insist) in general. These apply to sciences too, but are less debilitating in the long run.

 _Fifth, most researchers' priors are heavily influenced by some extremely suspicious factors._

Academics in the humanities identify themselves "I am an X." X can be post structuralist, rational materialist, classical liberal or some other broad, hairy, intellectual identity. This is bad news for objectivity. Everyone has a dog in the fight.

<comment><USER17> It's interesting. As an engineering type (EE, primarily, but I had several other undergrad degrees), everything was about what is true. How do electrons move with their respective related fields across geometries.

This other stuff seems to be about "what is useful to us as humans in a group matrix (culture/community". That seems like it should be studied - but I don't think we all have the same objectives. Also - some people keep trying to make it "true" vs. "useful".

What say ye all? Do you think that "True" has any place in the social sciences vs. the observational "I observe this to be useful in this context" or the almost psycho-analytical "I notice that when people believe X together, society does better"?

I don't know - it just seems (to me) that we spend too much time on the truth as opposed to (subjectively) communally useful. i.e. What should we decide to believe in as a community to hang together (because otherwise, we shall surely hang separately)?

<comment><USER16> I'm in. Not everything needs to be true in the electrons-in-a-circuit sense to be useful. A lot of things mgs are subjective, both in the sense that it's arguable, but also in the sense that how people see it is important that in itself.

Man may not be the measure of *all" things, but he (she) is the measure of some things and that's ok. I think a lot of arguments (politics and political ideologies in particular) would get a lot nicer if we just accepted that we aren't arguing about absolute truth.

<comment><USER17> I've always wondered why most people are not passionately opinionated about methods for heart surgery, and yet are highly opinionated about economics (for example). The latter seems more complicated, in many ways, and yet people have no problem having an opinion about it. Why do you think that is?

<comment><USER18> It's probably because economics relates to every adult's life experiences. These experiences give people a reason to form theories about how economics works.

</comment></comment></comment></comment></comment><comment><USER19> One conclusion you could draw from this: economics might actually be a giant mud moat.

<comment><USER20> Economics is several separate sciences, awkwardly placed in the same department.

<comment><USER15> Most departments are heterogeneous, with mutually unintelligible subfields. CS encompasses both information theory and robotics. Cultural anthropology has little in common with medical anthropology.

</comment></comment></comment><comment><USER21> Well, Watson & Crick (Nature 1953) is that good. It does contain an error (the actual DNA structure is slightly wrong) And Avery (JEM 1944) [http://jem.rupress.org/content/79/2/137](http://jem.rupress.org/content/79/2/137)) which "proved" that DNA is the molecule of heredity, is also there.

But to be qualified to read these papers and appreciate why they are points of quality within a sea of crap? That's hard.

</comment><comment><USER22> I was sort of on board with the two-paper rule until I got to the arguments about the reviews. Maybe in his mind integrating literature into a cohesive summary (ala meta-analysis) is a novel contribution, but if not, the attitude behind the two-paper rule is part of why science is in such crisis. The author is right, that the interpretation of the literature should be based on an accumulated read, and not one or two papers (unless they're reviews or meta- analyses).

</comment><comment><USER23> Allow me to disagree. Chris Okasaki's thesis, "Purely Functional Data Structures" is That Good for the field of functional programming. There are other exemplary papers, like Godel's incompleteness theorem, Cantor's diagonal argument, or Einstein's statement of special relativity. Or Satoshi's paper on Bitcoin.

These papers are not exhaustive summaries of a field. But a reader comes away understanding the type of problems a field is devoted to solving and many of the existing ideas. And I believe that each is a paragon of their field.

<comment><USER24> The article limits itself to discussing "empirical paper"s not theoretical papers.

In a theoretical paper, it's possible to make statements that stand on their own merits. In empirical science, a single paper is never really enough to support an entire field. Empirical sciences generally rely on the development of scientific consensus.

<comment><USER25> That seems like an artificial distinction made up for economics. In physics there are plenty of theory papers that make very clear and concise predictions. If these papers hold then they are very much both. E.g. the original special relativity paper goes out of its way to make predictions and calculations at the state of the art of the time, which are quite jarring today.

<comment><USER26> Dirac's early papers are, from what I have heard, amazing pieces of work. One commentary about the quality is given at [https://michaelberryphysics.files.wordpress.com/2013/07/berr...](https://michaelberryphysics.files.wordpress.com/2013/07/berry291.pdf) .

</comment></comment></comment></comment><comment><USER27> Papers aren't meant to be this crystallized nugget of truth, they are a progress report on an ongoing piece of living research. They aren't meant to be infallible.

</comment><comment><USER28> On a slightly tangential note: how do you guys _read_ research papers? Do you go through them word by word or you only skim them to get a general understanding?

I try to do the former but the work seems so boring that I am hardly motivated to do this more.

<comment><USER29> In mathematics:

Read the title and abstract. Then read the statements of the main theorems and corollaries (skip the lemmas and interstitial commentary at first). At each step, evaluate whether you want to continue or abandon the paper for whatever reason (not interesting, not relevant, whatever).

Finally, if you made it this far, read the whole paper word for word with a pen and paper (or chalk + chalkboard) handy.

For longer papers or books/theses (say, 20+ pages), do this whole process on each individual section/part/chapter that you want to consume.

It also helps to have a reason to read the paper besides curiosity. I find things that are relevant to current work to be easier to get through than more peripheral sorts of things. Having a colleague to discuss things with also helps.

<comment><USER30> FWIW, I don't think this article really applies to areas like maths or computer science, where the main output is theorems or algorithms that can be verified line by line. It's more about empirical science where one is trying to prove/disprove hypotheses through rigorous experimentation.

<comment><USER29> No, I don't think so, either. In math, there are excellent papers that cover .01% of what needs to be said about the subject, and ordinary or even bad papers that say much more. Provided there are no serious logical errors, the difference is simply how important is the question being answered.

Edit: Although it may go without saying, all else being equal, a better paper is easier to read than a lesser one. But, really, content is king.

</comment></comment></comment></comment><comment><USER31> Is there any cross disciplinary repository of excellent research reviews?

</comment><comment><USER32> It seems like a lot of commenters here are under the impression that the "two paper rule" (if someone says you should read the literature in field X, ask them for the two best papers in that field they can think of, and if those aren't impressive then don't bother looking further) is a proposal of Bryan Caplan, who wrote the OP here.

That is incorrect. The two-paper rule is Noah Smith's, and Bryan Caplan is _disagreeing_ with it.

(It's scarcely possible to read any of Caplan's post without realising that; I conclude that many commenters here have not bothered to read the OP before commenting.)

</comment><comment><USER33> Following the link through to the original proposal, this seems like a misinterpretation of the suggestion. The problem this was supposed to "fix" was people using the existence of their being "vast literature" to shut down arguments.

From that perspective, the suggestion seems fine. You should be able to dig out two examples that show your field isn't nonsense. I don't think it was meant to be a high bar:

> There are actual examples of vast literatures that contain zero knowledge: > Astrology, for instance. People have written so much about astrology that I > bet you could spend decades reading what they've written and not even come > close to the end. But at the end of the day, the only thing you'd know more > about is the mindset of people who write about astrology. Because astrology > is total and utter bunk.

</comment><comment><USER34> > _The best papers get up to around .20. Again, No Paper Is That Good. If you > demur, consider this: In twenty years, will you still hold up the best > papers of today as "paragons" or "exemplars" of compelling empirical work?_

If the field is not totally vague, then yes. We can still consider certain papers in physics, or chemistry, or medicine, computer science etc. as exemplary decades, or even centuries, later, even when they deal with empirical work.

Soft sciences need not apply.

<comment><USER35> Nonsense. Plenty of old computer science papers don't hold up well to scrutiny or are largely irrelevant nowadays, such as those that were trying to optimize for bottlenecks in hardware that no longer exist or have shifted to different places. Even in pure mathematics, something that was considered a great insight a long time ago might be considered fairly trivial now, and not just because the other paper came out first. Just because a paper is correct doesn't make it interesting or worthwhile--a lot of the best papers have errors in them, but propose something that's a genuinely new contribution to the field.

<comment><USER34> > _Nonsense. Plenty of old computer science papers don 't hold up well to > scrutiny or are largely irrelevant nowadays_

Nonsense, knee-jerk answer.

First, we don't need all of them to "hold up well to scrutiny" but just 2 (as per TFA challenge). And we have way more than just 2 -- hundreds of great papers.

Second, the papers "that were trying to optimize for bottlenecks in hardware that no longer exist or have shifted to different places" can still be perfectly valid as per the challenge we have, which was:

1) that they were not "full of mistakes and bad reasoning", 2) that they did not "contain little or no original work" (and where thus just references and meta-papers)

The question wasn't if we have "plenty of" papers that are bad, or plenty of papers that were very good but have been super-ceded by changes in technology.

Just that we have at least 2 (and I argue we have way more than two) seminal papers that have original work, and are not full of mistakes and bad reasoning.

</comment></comment></comment><comment><USER36> 'We are all in a mud moat, but some of us are looking at the stars', as comrade Oscar Wilde almost said, then?

</comment><comment><USER37> I suspect this is limited to economics and the social sciences. There is absolutely no way this holds up in the natural sciences like math, physics, etc.

People forget the original name for what we call economics was "political economy". That alone should tell you all you need to know about the dangers of treating that field like a science. If you ever want to know why expert economists can't seem to agree on things that happened 50-100 years ago or make accurate predictions for the future, the original name is very telling. Wouldn't it be ridiculous if we were still debating the validity of f=ma or e=mc^2? Wouldn't it be crazy for someone to claim general relativity is just flat out wrong, even though GPS systems would not work properly without humans accepting it?

Why is nothing remotely approaching reasonable standards used in the social sciences before acceptance?

</comment><comment><USER38> Bitcoin's paper was that good.

Simple.

Easy to read.

Easy to replicate (a poc in python is easy)

It is a recent key innovation (the blockchain tech).

</comment><comment><USER39> What happens when you apply this author's standard to this work?

<comment><USER40> Heh. From the article:

Does all of this hold for my papers, too? Of course. The most I can claim is that I am hyper-aware of my own epistemic frailty, and have a litany of self- imposed safeguards. But I totally understand why my critics would look at my best papers and say, "Meh, doesn't really prove anything."

<comment><USER39> I stopped reading before I got to that point thanks to the author's argument on account of I took his advice. Thanks for the datum.</comment></comment></comment>