hacker news with inline top comments    .. more ..    11 May 2014 Best
home   ask   best   5 years ago   
The future of Unreal Tournament begins today unrealengine.com
731 points by OlivierLi  2 days ago   141 comments top 41
gtaylor 2 days ago 3 replies      
Not only is this a really awesome thing for Epic to do, it could have much further-reaching consequences than UT if it's successful.

At the very minimum, it's going to be an excellent source of quality net/graphics code samples for UE4 developers. If it's wildly successful, we may see some neat ripples around the industry.

Also, this thing is going to get Occulus'd, Hydra'd, and everything else. That's going to be fun.

ChuckMcM 2 days ago 2 replies      
Wow, that is a pretty awesome plan. I can really see it paying off hugely for everyone involved. Now you can be part of a game development team without having a task master forcing to work 80 hour weeks, and yet you can still be part of it from the beginning to end. I wish Blizzard would do this for the WoW engine.
drawkbox 2 days ago 1 reply      
Epic has completely changed this year and doing amazing things like this and the $19 engine access. Living up to their name.

Looks like they are doing the Team Fortress 2 free to play model, even though they say it is free and not free to play, the vanity store/content is the Valve F2P model used in TF2, DotA, probably CS etc. These games are huge because of the community content, Epic is seeing that.

This is such a cool thing to do and only wish they did it many years ago.

ignostic 2 days ago 0 replies      
This is amazing! I remember playing mods like Team Fortress on Quake - things people made just because they enjoyed it. The problem with mods lately is that it takes really passionate people to support them for free, and they're either hard to monetize or monetization isn't even an option (SC). There's still plenty of great UGC, but it's generally not commercial grade - time investment is high, and financial reward is 0.

This model is brilliant!! It could keep people playing for years just by trying out new mods, new content, and more. Really excited to see what happens.

baddox 2 days ago 8 replies      
> When the game is playable, it will be free. Not free to play, just free.

> Well eventually create a marketplace where developers, modders, artists and gamers can give away, buy and sell mods and content. Earnings from the marketplace will be split between the mod/content developer, and Epic. Thats how we plan to pay for the game.

What distinction are they trying to make between "free to play" and "free"? To my understanding, "free to play" means the game is largely free, but with the implication that there is additional content that can optionally be purchased. "Free" means the game is free, with no implication either way of whether optional purchases exist.

Pxtl 2 days ago 2 replies      
It will be tricky to incorporate the fanbase because there's a huge split in UT fans about the high-speed pace of UT2k4 vs. the slower, spammier gameplay of classic UT. UT3 attempted to split the difference and was universally reviled.

Still, this is super-exciting and I hope the best for them. The classic FPS genre has needed this for years.

JohnTHaller 2 days ago 0 replies      
While folks are building these new mods and such, don't forget to look back to existing UT properties for ideas. Unreal 2 XMP is still one of the best team-based FPS setups I've seen. Sadly, it never recovered after they shut down the directory servers to try to force everyone to switch to Unreal 3.
archagon 1 day ago 2 replies      
It slightly concerns me that "the community" is going to have a direct say in UT4's development. First, many developers and pundits have said that whenever a community starts to dictate the course of a game, things often go south, since the most vocal members of a community very often don't represent the majority of the playerbase. (I believe TotalBiscuit has pointed to WoW as a great example of this, though I haven't played it myself.) Secondly, I love UT and I've been playing it from the start, but I'm not a hardcore arena shooter player. Advanced techniques like bunny-hopping, strafe-running, and all the crazy stunts described in this thread simply don't interest me. As far as I'm concerned, many of them are glorified bugs and should either be removed entirely, or alternatively made more accessible for new players through tutorials and/or better in-game feedback. (See: skiing in the new Tribes, rocket jumping in TF2, combos in fighting games.) But I reckon that most of the people interested in the project at this early stage are exactly those kinds of advanced players. As a result, I fear that we'll get a game that's too obtuse for the "filthy casuals" (such as myself) who will be required to keep it active in the long run. Contrary to the current zeitgeist, I don't believe it's enough to balance a game around the competitive community in order to make it fun for everyone. Competitive gamers are a niche; people like me, who play for fun with a few friends over a couple of beers, are the mass market.

With that said, I'm really happy to see that there's going to be a UT4, and I'm looking forward to following the development. It's been a while since the last great arena shooter, and I hope we'll be seeing a resurgence sometime soon!

jiggy2011 2 days ago 1 reply      
It's not clear whether this will eventually be licensed under an open source license. Since it doesn't look like they're planning to monetize the game directly then it might seem to make sense to do so.
pault 2 days ago 2 replies      
This will be very interesting to watch. I think I spent more time playing with skyrim mods from steam than playing the original game, which was a new experience for me, since using fan-made game mods was usually more trouble than it was worth in the past. A streamlined "app store" experience can add years of life to a game, and with the massive investments required for AAA titles these days, that has to be good for the publishers, as long as they can capture some of the revenue. It also provides a low friction platform for new game developers and artists to get their content in front of a lot of people who may not be part of the indie/casual game demographic. I really hope this model catches on, it would be a win for everybody.
ww520 2 days ago 0 replies      
Glad to see they are building on the brand. UT is the game I play for the longest time. Still playing UT 1999.
panzi 2 days ago 0 replies      
Nice, but I don't want another UT, I want another Unreal. A true successor to Unreal 1. I did not like Unreal 2, I did not like the characters of it at all. I kinda like a silent protagonist, because it solves the "I don't want to play as that douche" problem.
cpeterso 2 days ago 0 replies      
What codebase are they starting with? How long will it take to develop a tournament quality game? The announcement says a "small team of UT veterans that are beginning work on the project starting today" and that a playable version won't be available for "many months".
wj 2 days ago 4 replies      
I wonder if this plus Oculus will result in a universe like what was described in the novel Ready Player One?
cantbecool 2 days ago 1 reply      
Epic wants to emulate the success of Steam's community marketplace, especially CS:GO portion (some items are fetching north of $400+ dollars).
winslow 2 days ago 1 reply      
I'm surprised we haven't heard anything from Valve lately. Epic and Crytek have both released their engines for absurdly cheap rates and been gathering a lot of steam around their platforms. Valve is known for their community interaction and marketplace but haven't released their plans for Source 2 etc. Any ideas?

That said, this is an awesome move by Epic!

moshR 2 days ago 0 replies      
This announcement just sold me on an Unreal Engine 4 subscription[1] if for nothing else than to obtain access to early Unreal Tournament builds. Unreal Tournament is one of my favorite video game series, and I love that it is possible that I will be able to contribute to the development of the latest installment.

[1] https://www.unrealengine.com/register

Xdes 2 days ago 1 reply      
I'm waiting for the Github repo. I will definitely track the code. My only wish is that Github had digests instead of email for every issue.
tfb 1 day ago 0 replies      
Whatever assets Epic releases, we're aiming to adjust them to match UT99 as closely as possible over at www.uTournament.net. We're also going to integrate the game into the web browser!
johnward 2 days ago 1 reply      
Hats. We're going to monetize it with hats.
martindale 2 days ago 1 reply      
Free as in freedom (libertas), or free as in free beer (gratis)?
roberthahn 2 days ago 0 replies      
Interesting. I wonder if Epic is also looking at this as an opportunity to cultivate, then hire, fresh talent.

To be blunt, if you always wanted to break into the game industry, this couldn't be a better opportunity for you to pick up related experience and build relationships with potential employers.

pachydermic 2 days ago 1 reply      
Holy shit this is awesome

I wonder what the license is?

iagooar 1 day ago 0 replies      
This is epic stuff.
mangeletti 1 day ago 0 replies      
Epic's model is already so cool, "Here, take our billion dollar tool and make something awesome with it. If it's a success, we'll take a small cut. If not, no sweat.", and now this! I can't even wait. I've waited so long for the next Unreal Tournament... I hope Epic makes billions off of UE4.
k-mcgrady 2 days ago 1 reply      
This is awesome. I haven't played it in years but UT was one of my favourite games when I was younger. They had a pretty cool level editor I used to spend a lot of time playing with.
adem 1 day ago 0 replies      
I wonder if one could learn how to program games in C++ by following the progress from the very beginning and persistently try to understand every line.
Rapzid 1 day ago 0 replies      
This is the only on-line game that I played at a seriously high level(ut2k4). It pretty much burned me out on multi-player games but... Dare I ask; will there be TAM? I never really experienced the "dance" of ut2k4 in any other game. Spiritually it could be compared to guntana I suppose. Once you get the muscle memory down it's a complete mind game. 100+bpm mind game. How I miss it :|
kelvin0 2 days ago 0 replies      
Can`t wait to get back into frenzied ESR deathmatches, or full auto sniper rifle mods ... good times
elwell 2 days ago 0 replies      
Would be cool to see live streams of dev screens throughout the project on Twitch.tv. I always find it interesting to watch someone else code without preparation and not "for show".
amalag 1 day ago 1 reply      
I love free, but the problem is that free games get a lot of hackers.
dyeje 2 days ago 0 replies      
Loving the recent moves by Epic. Very interesting stuff.
err4nt 2 days ago 0 replies      
I signed up. I can't wait to be part of this and I can't believe I'm only the 35th person to fork the repo!
nixpulvis 2 days ago 1 reply      
This is the future of game development. I have been saying this for a while to friends. I'm excited to see how this goes.
whywhywhy5 2 days ago 0 replies      
I really like this completely transparent approach. They should totally stream coding sessions too.
wnevets 2 days ago 0 replies      
Pretty cool idea, too bad I was never a big fan of UT.
nelmaven 1 day ago 0 replies      
I love the original game and love that Epic is doing this! It's going to be great! :D
goeric 2 days ago 0 replies      
This is a brilliant plan and an amazing move by Epic. It'll be great to see this play out.
lupinglade 2 days ago 0 replies      
Finally. Been waiting for this forever!
X4 2 days ago 0 replies      
YESS, Finally, Thank You EPIC!

This is my most loved favourite Game, yeahhh! This is so awesome, I'm gonna buy a new PC and smash Gentoo, or NixOS onto it! Hope I find out which Graphics-card and which Mainboard is supported well enough to play the game at max resolution.

josephschmoe 2 days ago 1 reply      
It's like the Dota 2 model but open source.

I like it.

All of Bach allofbach.com
566 points by acheron  1 day ago   136 comments top 52
peeters 1 day ago 6 replies      
Man, am I going to love this. Can't wait for some of the cello solos.

If anybody from the website is reading this, I have a tiny criticism: clicking anywhere on the page while the video is running closes the video. I don't know if I'm representative, but I often click in empty space to make sure my keyboard focus isn't in the video. I was disappointed when the organist was so abruptly cut off!

marquis 1 day ago 5 replies      
As a complete Bach nerd may I recommend this as the ultimate recording of one of his greatest works:


A search for Herreweghe+Matthaus on Youtube brings up a 'preview' for those interested to listen immediately.. https://www.youtube.com/watch?v=8_Ai171EQeU

bane 1 day ago 1 reply      
And to think, his music was almost forgotten. It wasn't until Mendelssohn almost single handedly revived his music nearly a hundred years after Bach's death. A surprising number of great composers that came after didn't even know of him, yet when they were exposed to his music suddenly started picking up select elements of his style.

He was one of the few composers Mozart admired. A stunning triumphant genius who's music has remained relevant and flexible from ancient instruments and playstyles through the digital age and all of this was nearly lost to the tides of fashion. Whenever you hear a Bach piece thank Felix.

DanielStraight 1 day ago 0 replies      
So you don't have to do the math yourself... it will take 20.71 years to complete the project.

Pretty neat.

dr_faustus 1 day ago 1 reply      
If you really like Bach and are interested in his complete works, you should definitely check out the Hnnsler Bach Edition. (http://www.haenssler-classic.de/en/series-and-editions/johan...)

Its 199 Euros which is really not a lot if you consider its 172 CDs. And its not just a cheaply thrown together compilation but it was curated (and in large parts conducted) by Helmuth Rilling who is one of the premier Bach experts of our day. The quality of performance and recording is very good throughout. You certainly find superior recordings for some of Bachs works but I have yet to find a real disappointment in the set (I'm only about half way through).

fdej 1 day ago 1 reply      
Especially to Bach newcomers, I would recommend the Brandenburg concertos and orchestral suites. I love the performance by Trevor Pinnock / The English Concert: http://www.amazon.com/Bach-Brandenburg-Concertos-Orchestral-...

My favorite Bach recording has to be Glenn Gould's The Art of Fugue (but it is perhaps not as accessible).

The Mass in B minor is also incredible (don't have a specific recording to point to there).

PetitPrince 1 day ago 2 replies      
Another remarkable projet regarding Bach is the Open Goldberg Variation ( http://www.opengoldbergvariations.org/ ), a project that freely offer a high-quality version (they hired a world-class musician, rent a world-class piano and studio) of the Goldberg Variations. (I have no stakes in that project; I do enjoy listening to the album as work music though)
rspeer 1 day ago 1 reply      
This is excellent, thank you.

I recently found myself wishing there was a website with curated, high-quality performances of Bach, after realizing how big the difference in quality can be.

I ended up working on a Spotify playlist for myself, which I've been editing on and off for months, just trying all the recordings of each particular piece until I found a good one. (The only thing making it possible, with Spotify's terrible organization of classical music, is being able to search for literally "BWV 140" or whatever.) So I'll definitely be visiting this site.

caio1982 1 day ago 2 replies      
The performance in video of Toccata and Fugue is just wow! Incredible, to say the least. It's a total must. I've always loved it because it reminds the old gamer in me of Sabrewulf's theme in Killer Instinct for arcades in the 90's. Also, I can't wait for The Well-Tempered Clavier's Prelude I (C Major). It's almost corny these days but it's still such a marvellous piece, it instantly talks to your body and you know that's beauty being played back to you.

EDIT: nearly all his work on The Well-Tempered Clavier is awesome, it's worth a whole afternoon listening to it http://en.wikipedia.org/wiki/The_Well-Tempered_Clavier

raamdev 1 day ago 1 reply      
I can't seem to find an RSS feed for these... that would be really helpful.

This seems like a great way to consume large volumes of things that one might not otherwise ever get to... 10 minutes a week for 20 years seems a lot more doable than committing several months to consuming all 1080 works. Now I'm thinking about how I can apply this to other large-volume things that I've wanted to consume, like reading the entirety of Tolstoy's War and Peace.

catwork 1 day ago 1 reply      
Bach is great on many counts - I did a visualization (https://github.com/hadley/ggplot2/wiki/Bach-2-Part-Invention...) in R awhile back of a Two-part invention that reflects how well structured his counterpoint is.
JasonFruit 1 day ago 1 reply      
This is probably like the experience of the people who attended the Thomaskirche and heard a new work by Bach every week. I could take 21 years of this!
teoruiz 1 day ago 1 reply      
I find the Toccata and Fugue just amazing to watch and listen, an the performer is even adorable.


thejerz 1 day ago 0 replies      
This is very cool. A similar project, called J. S. Bach-Stiftung, has been recording all of Bach's choral works. Check them out on Youtube: https://www.youtube.com/user/Bachstiftung
adrianh 1 day ago 0 replies      
Wow, thanks for posting. Bringing the topic back to startups/tech, I'd love to integrate these performances with my interactive sheet music player, Soundslice (http://www.soundslice.com/). It would be amazing.
djahng 1 day ago 0 replies      

BWV 1003 Fugue on classical guitar. This is one of the most amazing things I've heard and seen.

NIL8 1 day ago 3 replies      
I'm finding this impossible to navigate. The pages are basically frozen in Firefox and Chrome.

Anybody else have this problem?

MikeTaylor 19 hours ago 0 replies      
This is marvellous; but I can't find any indication on the site of the terms that they provide the music under. Is it public domain, CC By licenced, what?
ChrisLTD 1 day ago 1 reply      
You can only scroll down with a scroll wheel or trackpad. You can't use your arrow keys or the native scroll bar. That's a huge accessibility problem.
atmosx 1 day ago 3 replies      
I'm not into classical music, except from the very famous composers and everything Tchaikovsky has ever written (my sister took ballet classes since I can remember myself).

That said, what's exactly the reason Bach's work made everyone here so excited? Can't we find these compositions on YouTube?

ps. I'm listening as I write. Bach sounds really cheerful :-) Awesome music.

Aoyagi 1 day ago 0 replies      
"Keep up to date"

I can't, you don't seem to have an RSS feed.

wazoox 1 day ago 0 replies      
If you want to discover Bach, there's always the nice, free, complete organ works by James Kibbie: http://www.blockmrecords.org/bach/
ajtaylor 23 hours ago 0 replies      
As a family we've been taking a week and learning a little bit about composers. This week was Bach, so the timing on this post was perfect. I've watched two videos so far and was completely blown away! Beautiful music, fantastic camera work and stunning performances by the musicians. This site is going to occupy a Chrome tab for a very long time.

Thank you for posting.

jvandonsel 14 hours ago 0 replies      
I'd love to watch this on my large living room television via Roku+Vimeo, but apparently the AofB people have decided to make their Vimeo-hosted videos private and only viewable via their own site. Pity.
kriro 1 day ago 0 replies      
This is cool. The title reminds me of some crazy art project I attended when I was in France (in a nifty very steampunk club) called "Mozart in 30 minutes" where they used some wicked math to overlay all of his tracks into one huge 30 minute one. Sounded mostly like an aircraft turbine to my unenlightened ear but it was a fun idea.

Can't find it via Google or the likes, I have searched for it a year back and came up empty then as well.

_nato_ 1 day ago 0 replies      
Not a terrible place to start to get a nickle-tour of J.S. Bach, and from Bach's biggest fanatic, Glenn Gould: http://fixyt.com/watch?v=crQ8YEUkUjg
RogerL 1 day ago 0 replies      
Thank you so much for this link.

Centuries after all of us are dust people will still be discovering and falling in love with Bach.

Life is good today.

dave84 1 day ago 0 replies      
If anyone is looking for a way to understand music "from the beginning" so to speak, I can't recommend "How to Listen to and Understand Great Music"[1] enough. It's around 35 hours worth of lectures, I'm only half way through but it's fantastic so far. It's also available on Audible.

[1] http://www.thegreatcourses.com/tgc/courses/course_detail.asp...

numeromancer 1 day ago 1 reply      
Why did Beethoven get rid of his chickens?

All they talked about is Bach, Bach, Bach, Bach!

He just couldn't Handel it.

oe 10 hours ago 0 replies      
None of the videos work on Chrome version 34.0.1847.131 / OS X 10.9.2. Just a black screen and the play head stays at 0:00.
coin 23 hours ago 1 reply      
-1, not viewable on an iPad in portrait orientation. There's a giant popup that covers the entire screen displaying "tilt your tablet" when in portrait mode. Who designs this stuff?
chrismorgan 19 hours ago 0 replies      
Layout: absolutely broken on small screens.

Applying something like overflow: none; to your body or main container is seriously not cool for a fixed-width layout.

LukeHoersten 1 day ago 1 reply      
I love how this kind of craft can still earn a decent profit and even more, make it to the #1 spot on HN. Keeps me coming back. Thanks OP.
mjgoins 1 day ago 1 reply      
For fellow non-flash-users, this seems to work ok with the get-flash-videos package.
frik 1 day ago 0 replies      
ExpiredLink 1 day ago 0 replies      
BTW, here's a translation of "Ich habe genung" ("I have enough"): http://www.emmanuelmusic.org/notes_translations/translations...
robot 1 day ago 0 replies      
I love bach and the music. It takes quite a bit of a clicking effort to get to the actual performances. Then when it plays clicking anywhere closes the performance.
joshdance 1 day ago 0 replies      
If they had an email box to get the tracks emailed to me, I would have signed up right then and there. As it is, I probably will forget about this.
jacquesm 1 day ago 0 replies      
The duration of the project implies that not all those that are recording today will be alive when the project is completed. Incredible how productive Bach was.
2000 1 day ago 0 replies      
I recently subscribed to http://CalmRadio.com for their uninterrupted 24/7 streaming of different composers and classical music in general.

Actually, I signed up to listen to Bach (I wanted to become familiar with his music), but I discovered Felix Mendelssohn and I like his works even better.

vitd 1 day ago 0 replies      
I think this is a beautiful example of the power of the public domain.
PythonicAlpha 1 day ago 2 replies      
To sad, that there is no mp3 or ogg download version available.
bluesjr 1 day ago 0 replies      
That's a gorgeous website design. Can anyone point me in the direction to create something similar? (I'm a non-technical person on HN).
mastazi 23 hours ago 0 replies      
I like the x-webkit-airplay="allow" parameter in the <video> tag.
Heliosmaster 1 day ago 0 replies      
props to the Netherland Bach Society!
tama 1 day ago 0 replies      
Wow, this is really beautiful. I was expecting audio only. Glad I was wrong :).
dphnx 1 day ago 0 replies      
I guess you could say

All of Bach belong to us?

oandrei 1 day ago 0 replies      
It says ``This video cant be played with your current setup''I guess must be some super-advanced new audio-codec.Please, recommend me how to get around this restriction!
ultim8k 1 day ago 0 replies      
I just red "all of bash"...
mkartic 20 hours ago 0 replies      
no RSS? :(
cafard 1 day ago 0 replies      
Many thanks.
graycat 1 day ago 2 replies      
Worthless. Useless. A disaster. Flatly, on Windows XP SP3 with one of the latest versions of Firefox and Flash, the site essentially doesn't work. So, I clicked, and clicked, and clicked, and waited, and waited, and waited, and clicked, looked at the system monitor and saw no activity on either network data or CPU, waited, clicked, waited, clicked, had much of the screen content go off the screen, kept lowering the screen magnification, clicked, clicked, clicked, and finally did hear the Toccata but couldn't hear or get any other content, not voice or text, etc.

Worst Web page programming on the planet.

Sorry 'bout that.

For Bach, which I nearly worship, devoted a significant fraction of my life working to play Bach on violin, back to my CD collection, YouTube, etc.

Looks like some really good music totally train wrecked by some absurd Web site programming. I'd have no idea how to make such a mess out of some Web pages -- maybe have to use JavaScript to do that. So, ditch the JavaScript.

Common Python Mistakes toptal.com
358 points by djug  2 days ago   138 comments top 36
agf 2 days ago 2 replies      
This is a pretty good list of gotchas, but it's important when writing something targeted at beginners to be as precise and clear as possible. Nearly every section here either uses terminology poorly, is slightly incorrect, or has difficult examples.

  Python supports optional function arguments and allows default values to be   specified for any optional argument.
No, specifying a default is what causes an argument to be optional.

  it can lead to some confusion when specifying an expression as the default value  for an optional function argument.
Anything you specify as a default value is an expression. The problem is when the default is mutable.

  the bar argument is initialized to its default (i.e., an empty list)  only the first time that foo() is called
No, rather it's when the function is defined.

  class variables are internally handled as dictionaries
As dictionary keys, and that's still only roughly correct.

In "Common Mistake #5", he uses both a lambda and array index based looping, neither of which are particularly Pythonic. A better example of where this is a problem in otherwise Pythonic code would be good.

In "Common Mistake #6" he uses a lambda in a list comprehension -- for an article of mistakes mostly made by Python beginners, this is going to make it tough to follow the example.

In "Common Mistake #7", he describes "recursive imports" where he means "circular imports".

In "Common Mistake #8" he refers repeatedly to "stdlib" where he means the Python Standard Library. Someone is going to read that and try to "import stdlib".

Goosey 2 days ago 2 replies      
Slightly off topic, but does anyone know of a resource that has 'most common mistakes' for different languages all in one place? It's certainly possible to google for blog posts and stack overflow questions to assemble such a list, but it would be handy to have them all in one place.

My use case is when interviewing candidates I often ask them to rate themselves on a scale of 1-5 in the languages they know, and then ask them increasingly 'tricky' questions in each language to get a feel for how their "personal" scale aligns to their real knowledge. This works fine if we have an overlap of several languages, but in the case where I know nothing or very little of one of the languages they know I lose that data point.

I find it valuable to know what a "I am a 1 at X" vs "I am a 3 X" vs "I am a 5 at X" means to them, since I've found little correlation between how harshly someone rates themselves and their true ability. Sometimes self-rated 5s are really 5s by my book, sometimes self-rated 3s are really 5s by my book, and sometimes self-rated 5s are really 2s by my book. So I want to know how "my scale" translates to "their scale". If it was more formalized I'd go as far as to get a "confidence quotient" for a person as self-critical and self-confident people can be fantastic engineers or horrible engineers.

Does anyone else do this process when interviewing?

famousactress 2 days ago 2 replies      
This list is an excellent summary. If tasked with a #11 I'd probably add the slightly more obscure, but still super painful (when you do run into it) implicit string concatenation:

    >>> l = ["a",    ...      "b",    ...      "c"    ...      "d"]    >>> l    ['a', 'b', 'cd']

tomp 2 days ago 2 replies      
Another one:

    class A():      def __init__(self):        self._x = 0          @property      def x(self):        return self._x      @x.setter      def x(self, new_value):        self._x = new_value
Using it:

    a = A()    print a._x    # 0    print a.x     # 0    a.x = 4    print a.x     # 4    print a._x    # 0 wait WTF?!
The bug was not having `A` inherit from `object`. With old-style classes, properties do not work correctly.

herge 2 days ago 2 replies      
My pet peeve with python is the classic:

    return x,
I have never wanted to declare a tuple without surrounding it with (). Too bad it's not a syntax error in python 3.

Also, as opposed to one of his examples, if you are using python 2.7, declare your exception blocks as:

    except (FooException, BarException) as e:
It's forward compatible with python 3, it's easier to read and the syntax errors are clearer.

outworlder 2 days ago 6 replies      
> "Python is an interpreted, object-oriented, high-level programming language with dynamic semantics."

I have an issue with that statement. No languages are inherently "compiled" or "interpreted", that's a property of the implementation.

If we are talking about CPython here, Python code is compiled to bytecode which is then interpreted. Not unlike Java - with the difference that the main implementation has a JIT and afaik, Python's does not.

But that's CPython. What about PyPy? It has a JIT.

gejjaxxita 2 days ago 1 reply      
#6 is really confusing. Whenever I encounter something like this my first reaction is that whenever possible such obscure components of a language should be avoided and more verbose/clear code used instead.

Programming languages are meant to be read as well as written, and someone relatively new to Python (and many who have used the language for a long time) is certain to get confused about the difference between:

   return [lambda x, i=i : i * x for i in range(5)]

   return [lambda x : i * x for i in range(5)]

mark-r 2 days ago 1 reply      
I've always thought that #1 is a sign of an incorrect operation altogether. If you want to always modify the passed parameter, it doesn't make sense to have a default. If you want to return a modified version of the input, you should make a copy immediately and then you don't get this problem. Doing both an in-place modification and returning a modified object at the same time is just wrong.
Hovertruck 2 days ago 0 replies      
"Thus, the bar argument is initialized to its default (i.e., an empty list) only the first time that foo() is called, but then subsequent calls to foo() (i.e., without a bar argument specified) will continue to use the same list to which bar was originally initialized."

This actually happens when the function is defined, not when it's called the first time.

udioron 10 hours ago 0 replies      
Regarding circular imports and #7:The main problem in arises when using the from mymodule import mysymbol notion.

The example solved this by properly using import mymodule, although this might cause some more problem if your design is wrong, as see in the example. Calling f() from the module ("library") code itself is a very bad idea. Instead one should do this:


    import b    def f():        return b.x

    import a    x = 1    def g():        print a.f()

    import a    a.f()

codezero 2 days ago 5 replies      
OT but this page hard crashes Safari on iPhone.
evincarofautumn 2 days ago 1 reply      
Heres a thought experiment for youthink of common mistakes in language X as design flaws in language X or ways in which language X is surprising and what could have been done to mitigate that.
skywhopper 1 day ago 0 replies      
Hmm, "Common Mistake #1" appears to be an error on the side of the Python interpreter, not the programmer.
udioron 11 hours ago 0 replies      
Regarding common mistake #5, when using enumerate(mylist), mylist can be modified::

    for i, x in enumerate(numbers):        if odd(x):           del numbers[i]

ygra 2 days ago 1 reply      
And I would have thought that incorrect usage of bytestrings for text and then asking on Stack Overflow about the UnicodeDecodeErrors would be quite common as well ...
vram22 2 days ago 2 replies      
In "Common Mistake #2", I'd say that the mistake is fairly obvious to anyone who understands even a little bit about OOP and inheritance. Since class C doesn't define its own variable x, it has to be that it inherits the x in class A, so there's no reason to be surprised that C.x changes when A.x does.
michaelmior 1 day ago 1 reply      
For the first gotcha, using None as a default argument solves the problem, but checking `if not bar` instead of `if bar is None` can produce different results if bar evaluates to None in a boolean context.

    >>> def foo(bar=None):    ...    if not bar:    ...        bar = []    ...    bar.append("baz")    ...    return bar    ...    >>> bar = []    >>> foo(bar)    ["baz"]    >>> bar    []

leephillips 2 days ago 2 replies      
Is the explanation for #1 correct?

"when the default value for a function argument is an expression, the expression is evaluated only once"

I would explain the behavior he shows as due to the default value being mutable. I don't see an expression there, just an empty list used as a default.

dmritard96 2 days ago 2 replies      
There are more than a few interesting points in here but this is funny to me coming from someone who is seemingly well versed in python:Mistake #5

numbers = [n for n in range(10)]

this should be:range(10)

baby 2 days ago 2 replies      
Does someone knows if the first mistake is also present in Ruby? I ran into this code:

    def get_analytics_data(options = {})        options = options.merge({'ids' => GAReadonly.configuration.id })
and I wonder if I should fix it.

cefstat 2 days ago 0 replies      
I have been bitten by #6 in a similar situation in the past. My solution was the analogue of the rather convoluted

    def create_multipliers():      def multiplier(i):        return lambda x: i*x      return [multiplier(i) for i in range(5)]    for multiplier in create_multipliers():      print multiplier(2)
I would still prefer that Python doesn't do this.

ronaldx 1 day ago 0 replies      
I now feel dumb, since Python most often burns me with "Assignment Creates References, Not Copies".
ajanuary 2 days ago 1 reply      
The scoping rules in #4, combined with being able to reference variables before definite assignment, is what leads to the 'variable hoisting' in Javascript.

Is #6 really called 'late binding'? That seems like the wrong term.

tom_jones 16 hours ago 0 replies      
Any reason why you're using a slice here?>>> numbers[:] = [n for n in numbers if not odd(n)]I'm thinking that doing >>> numbers = [n for n in numbers if not odd(n)]wouldn't be a problem since the assignment is executed after the computation of the list comprehension.
andreif 2 days ago 1 reply      
I have just been asked by a colleague about yet another gotcha when you have for example:

    # mypackage/__init__.py    from .settings import settings
and when trying to import settings from mypackage

    from mypackage import settings
you get module instead of settings object.

cridenour 2 days ago 2 replies      
For #7, now you have a performance problem of importing every time you run that function. Rather, you can place the import at the bottom of b.py and be okay.
heyjonboy 2 days ago 0 replies      
Does this link crash anyone else's Safari on iPhone 5s?
adidash 2 days ago 0 replies      
Bookmarked it. Might not be the most complete list but appreciate the OP is taking feedback and updating it. Kudos to hsinger!
lukasm 2 days ago 0 replies      
For #4 use nonlocal keyword (python 3.x)
euske 2 days ago 0 replies      
Some of the mistakes mentioned in OP (#1, #3, and #4) can be automatically caught by tools like PyLint (and to lesser extent, Pyflakes), as well as good unittests.
worklogin 2 days ago 0 replies      
Even the first argument doesn't make sense to me. The optional argument is within the scope of the function; why is the temporary optional argument getting carried over?
warriar 1 day ago 0 replies      
Common Mistake: ceate a blog that brings mobile Safari to crash reliably on every visit!
yeukhon 2 days ago 0 replies      
Circular import is definitely one of the things I absolutely hate to deal with again and again.
andrewdon 2 days ago 0 replies      
good stuff
picanteverde 2 days ago 0 replies      
Great Article!
kghose 2 days ago 1 reply      
Also, for the first example, it is a scope issue:

  def foo2():    def foo(a=[]):      a.append('ba')      return a    return foo()  print foo2()  print foo2()  print foo2()  print foo2()  print foo2()

  ['ba']  ['ba']  ['ba']  ['ba']  ['ba']

Quill An Open Source Rich Text Editor with an API quilljs.com
345 points by jhchen  2 days ago   59 comments top 28
rattray 2 days ago 1 reply      
As someone who had tried to implement a modern rich text editor with custom plugins, this seems like a terrific solution to a real problem. I had used a fairly nice wrapper around contenteditable[0], but this seems like a much more featureful, easily extensible option. The other options (CKEditor seemed most popular) are heavyweight, complex, poorly documented solutions that don't seem amenable to easily creating lightweight plugins, modules, etc.

I have high hopes for what these guys produce.

EDIT: Just wanted to add that looking through the API docs, it seems to solve exactly the problems I had. Would have made a measurable difference to my business to have had this, if it does what it says it does.

[0] http://mindmup.github.io/bootstrap-wysiwyg/

annnnd 1 day ago 0 replies      
This project looks nice, but I have used a few of WYSIWYG editors (mainly HTMLarea/Xinha and FSCK/CKeditor) and must say I was NOT impressed with the calls I got from customers: "If I am using IE6 and when edit text I get lots of newlines... But if I edit the same text in FF, it is all garbled. Why is that?"

Granted, it's been a few years so this might be solved by now, but to me the final solution was WYMeditor [0]. It makes sense too - user should enter content and mark it as title / text / subtitle, add images and similar... but the design of the final page should be left to designer, not to user. What if you want to change the design sometime later?

[0] http://www.wymeditor.org/

habosa 2 days ago 1 reply      
This looks excellent, I think I'll use it to replace my current solution. I use hallo.js (on blogmask.com) which is also great but falls short when you want to add custom controls or styling. I've had a lot of trouble with images, etc.
leeoniya 2 days ago 2 replies      
this looks cool and super easy to add bidirectional HTML <> markdown support similar to the demo i did for redactor-js here: http://leeoniya.github.io/redactor-js/

using https://github.com/leeoniya/reMarked.js and https://github.com/chjj/marked

may just have to do this after work today if no one gets to it first.

nicklovescode 2 days ago 1 reply      
As someone who has struggled with this problem recently, thank you. I've spent a good portion of the last week battling irritating Redactor issues such as global variable conflicts and literally hardcoded PHP path values.

I will be very happy if this turns out to work as good as it looks at a first glance.

jdp23 2 days ago 1 reply      
Looks promising! Looking through the toolbar customization, I couldn't tell how easy it would be to add a toolbar element that isn't one of the existing behaviors -- for example, a toolbar element to bring up an emoticon pallette. Is that something that's currently supported?
elwell 2 days ago 0 replies      
Source [0] is sane oop coffeescript. Will probably find a use for this.

[0] - https://github.com/quilljs/quill

solotraveller 1 day ago 3 replies      
Quill looks promising,but pasting from word doesn't seem to work.Most editors built today focus a lot on semantic tags generated for bold(<strong>) and not much on paste from word.Would love to see an editor that implements proper paste from ms word
brc 2 days ago 1 reply      
Forgive the TL;DR; - the examples on the site don't include any image inserting. How would I go about adding image insertion capability? Would the idea be that I build/find an image handler plugin module and add it in?
Sir_Cmpwn 2 days ago 1 reply      
Doesn't work great on Firefox for Android, despite claims to the contrary. It looks great for desktop, though.
nkozyra 2 days ago 0 replies      
Next to CKEditor, I presume this is significantly less complicated and smaller, but how does it compare in terms of compatibility? As I understand it CKEditor does well on a lot of older browsers.
grey-area 1 day ago 2 replies      
The biggest issue I've had with this sort of editor is pasting from word or other programs which attempt to insert formatting, how are you planning handling that? Do you currently strip out spurious tags received like comment tags? It'd be great to see everything stripped except b and i tags for example.
darkstar999 2 days ago 1 reply      
This looks much better than its counterparts so far!

I couldn't figure out how to remove a URL from a selection of text.

It would be awesome to see an example of how to let the user upload an image.

smnrchrds 2 days ago 0 replies      
Does it support right-to-left and bi-directional documents?
OliverJAsh 2 days ago 1 reply      
Just to clear up any confusion: this is not the same as the Guardians Scribe project (https://github.com/guardian/scribe). I believe Quill did used to be called Scribe, but they are not the same. (Similar in purpose - take your pick.)
tesin 2 days ago 0 replies      
Your 'try me out' section is cut in half, with a need to scroll down, on a large laptop screen.

Having that footer be a fixed overlay may be fine on giant desktop monitor, but the website is pretty terrible on a smaller one.

edit: I stand corrected. It stays awful no matter what the screen size...

tortilla 2 days ago 0 replies      
This looks great, I've been using Summernote but that's tightly coupled with Bootstrap.


elwell 2 days ago 1 reply      
Not to sound greedy, but LaTeX support would be a great addition.
scottmessinger 2 days ago 1 reply      
Congrats on releasing Quill! I've been following the development since it was called "Scribe" and I'm excited it's released.

I noticed there seems to be support for block level formatting (e.g. "h1"), but it doesn't look like it's been implemented yet. What's your plan for handling bullets, headings, block quotes, and other block level formatting options?

bronson 2 days ago 1 reply      
3 clause BSD license. Kind of an odd choice these days.
rpwverheij 1 day ago 0 replies      
looks really nice! Though the most important thing for me would be an easy way to add image upload functionality. Most opensource editors seem to only support insert image from URL, but some standard plugin for PHP upload, or any other language, would make it a winner for me.
shaohua 1 day ago 0 replies      
I like it. After spending half a year building something in-house, I just wish this was out earlier.
sevilo 2 days ago 0 replies      
looks great, was really desperately looking for something like this for a personal project earlier this year, but couldn't find anything that I was perfectly happy with... ended up using a jQuery plugin, but bugs out quite a bit across browsers. Guess I'll give this a try and see if I could replace the old one :)
svnehruji 1 day ago 0 replies      
Great guys! I'm looking for one feature in rich text editor, which is bulletin points with checkmark instead of rounded dots, but I couldn't that in any RTEs.
kijin 2 days ago 0 replies      
Looks fantastic, but I can't use it in my projects because it only seems to support very recent versions of IE (9+), Android (4.3+) and iOS/Safari (7+). I don't care about IE, but I do need to support Android phones from 2012.

Is there really no way to write a modern rich text editor that remains compatible (and/or degrades gracefully) with slightly older browsers?

derengel 2 days ago 1 reply      
do you guys plan to add tables editing support? :)
ilaksh 2 days ago 1 reply      
Why do we need yet ANOTHER rich text editor? Especially why do we need another one with no support for tables?
mrottenkolber 2 days ago 2 replies      
Pleaaaaase stop using icon fonts. I will not load your fonts.
How Munich switched 15,000 PCs from Windows to Linux linuxvoice.com
341 points by mksaunders  1 day ago   192 comments top 27
cs702 1 day ago 9 replies      
Wow... it's taken the Munich government a decade (2003-2013) to switch desktops to Linux and Free software, and they're still working on it. (There are still a small number of desktops running proprietary applications on Wine.) It just shows how difficult it can be for a large organization to wean itself off proprietary software lock-in.

The good news is that future similar migrations will be much easier and faster, now that Munich has shown the way for others to follow. It's good news because increased competition in the desktop OS market can lead only to better, more innovative products for everyone.

nnq 1 day ago 5 replies      
Please, the big problem of governments and administrations is not using Linux or Windows, the operating system is irrelevant... The problem was probably reliance on crappy software written by shitty companies that only try to milk them of more and more money. The fact that it took them a decade to make the transition was most likely because of the shitty non-standard software they were using and the time it takes to retrain people used to working with backwards and user hostile software. If you are a gov accountant or clerk and you accounting software had such a bad ui that it took you 3+ years to properly learn to use it, of course you will resist any kind of change because you just can't imagine things can be any better.

And this is because governments and administration never choose any kind of product because it is "easy to use", "simple to maintain" or "easy to extend".

Even the switch to Linux was made for the wrong reasons, that is for trying to find something cheaper and better ("better" seems to mean "more secure" in this case). NEWSFLASH: As a government/administration, you should never look for cheaper and/or better things, you should look for something that is "barely good enough" (even when it's a bit worse than what you already have), but easiest to use without training, easiest to teach people how to use it, easiest to replace / throw away and cheapest to extend, even if it happens to be both worse an more expensive.

The fact that they happened to choose Linux, which is probably a pretty good fit for them, was an accident, as they did the same old stupid thing of going to look for something cheaper and better.

dewey 1 day ago 4 replies      
Interesting, just yesterday I visited the "Landeskriminalamt" (State Office of Criminal Investigations) in Munich and they are just migrating all of their Windows XP desktops (They were criticized after paying a lot of money to keep getting security updates from Microsoft) to Windows 8.1. They mentioned that they are paying a lot of licence fees every year and that making sure everything is licenced correctly is a big task in itself. We asked them why they are not switching to open source software and Linux for their desktops and they basically said it's too big of a switch and even the city of Munich is struggling to migrate all their computers and that they are even thinking about switching back to Windows. This doesn't really seem that accurate after reading that article.


Another anecdote from the visit: They said that even the switch from XP to 8.1 will confuse a lot of users (The guy giving the talk said that their average employee is already confused if some icons on the desktop change and they are very reluctant to accept changes). They printed flyers and recorded elearning courses on how to open a program or use the new system. They also added a simple way to migrate to some kind of legacy interface emulating the Windows XP look & feel for users who just won't accept the new system.

dan_bk 1 day ago 4 replies      
A similar project, Wienux, aimed to move the city of Vienna in Austria over to Linux, but hit stumbling blocks in 2008.

Peters reasoning for this: Wienux didnt have the proper political backing required. You need more than just a couple of technically minded councillors to make such a big project a success you need to know that you have the support of the majority.

I'm definitely not surprised - Austria is a notoriously conservative and very bureaucratic country, which is deeply reflected by the political landscape. Pioneers and out-of-the-box thinkers don't flourish in this country (although migrating to Linux nowadays is not even pioneering anything anymore).

orkoden 1 day ago 6 replies      
So the result after more than 10 years is:- not all desktops can be transitionend to Linux because of the required Windows only software.- some of the Linux desktops run Wine to support Windows applications. Which is a huge hacky configuration nightmare.

The project has seen huge delays and missed deadlines over its duration.

See http://web.archive.org/web/20120214072347/http://limuxwatch....to get an idea of how long it took them to get anywhere and how often the goalposts were moved.

Many other city administrations canceled plans of switching to Linux because Munich had such a hard time making it happen.

josefresco 1 day ago 5 replies      
So what I gather from reading the article, they switched to Linux because of "security" as MS wouldn't tell them what software was "calling home" and to foster the local IT economy as opposed to sending money overseas.

I may be alone in this, but those don't seem like compelling, or even believable justifications for switching an entire region to Linux.

Are we to believe that MS flew Balmer all the way there to try to convince them to stay, but wouldn't disclose to them what aspects of Windows called home?

Also, where is the data that shows how the switch to Linux has helped the local IT economy?

Love Linux as much as the next guy, but it seems many of these decisions are driven by staff IT geeks who have it out for MS irregardless of the actual issues at hand.

pbhjpbhj 1 day ago 1 reply      
This stood out, a quote within the article:

>In 2008 we saw that Debian was clearly stable, a good thing, but not the best if you want to use new hardware. They are always a few years behind. //

Surely they could get a manufacturer to spec them out a new machine that would run on Debian based on an offer to buy ~10k of them and with the potential - should it go well - of selling similar numbers to other major cities.

hippich 1 day ago 1 reply      
I guess it is coincidence, but I spent explaining my point of view why open source should be a base platform for any public organization funding with tax money to a few of my friends last week, where each was complaining about office suite/mail/desktop/etc differences from windows-based analogs.

My major practical benefit from switch to open source by as large organization as city government is the fact that these money will go to local support organizations and results of their work will be owned by whole city. I.e. if taxpayers paid for this software patches, updates, etc it make sense to own this work at very least.

ericcumbee 1 day ago 0 replies      
The article glosses over key metrics for IT support # of helpdesk tickets, man hours per asset. an IDC survey showed that WinXP took on average around 4 man hours a year of support per asset, where win7 took just over 1.5. I'd be interested in seeing those numbers. I dont know what the state of admin tools for large linux desktop deployments is, but having seen the power of SCCM and ActiveDirectory even with WinXP. That leads me to belive that they are not as powerful so say if Win7 was at 1.5 Linux would be at maybe 2.5? That difference alone at a large scale, would eat into the cost savings of the deployment right there.
Paul_S 1 day ago 2 replies      
Can you ever imagine a government enforcing a country-wide switch? I think it would make sense from a purely strategic point of view (even if not just financial) but I can't help but cynically suspect the lobbyists would not stop at anything to prevent it. I've no idea why MS dropped the ball with China.
usablebytes 1 day ago 1 reply      
The whole story is enjoyable; especially the Ballmer Visit part. It's surprising to see the city council reacting that way to his visit. Something that is hard to understand in many parts of the world.
danso 1 day ago 2 replies      
This was a surprisingly interesting and fun read. Contrary to what my assumption is, the switch to Linux was not chosen for being cheaper, as they projected the cost of migration to be more expensive than upgrading the Microsoft machines from NT/2000 to XP. The fact that a "conservative" city council went with Linux based on the strategic long-term is pretty impressive...Assuming that they aren't all tech engineers, it would be natural to stick with a computing platform that you yourself have been using your whole life, rather than impose an entirely new (and more expensive) one on your constituents.

Also, at least in the American market, the money poured into sales people to wine-and-dine for government contracts provides even more compelling reasons for politicians and bureaucrats to not rock the boat. And in Munich's case, Steve Ballmer himself flew out, in person, to try to convince them not to quit Windows (and, in the OP's assessment, that apparently was an unwise tactic for Microsoft).

OT: The body font of this article, Roboto (http://www.google.com/fonts/specimen/Roboto), stuck out to me as being both legible and distinctly different than Helvetica...I was reading the article on a tablet but went to my desktop just to see what it was...I think I've seen Roboto before on Google Fonts but not used as body text...I kind of like it, more than some of the common Helvetica replacements (Open/Ubuntu/PT Sans)...even before I started reading the article, I thought, "this is a really nice sans-serif font"

edit: Apparently typography aficionados do not like Roboto, calling it a "frightening cross-breed creature" and a "hodgepodge brute" http://typographica.org/on-typography/roboto-typeface-is-a-f...

sdfjkl 1 day ago 1 reply      
The most surprising thing about all this is that a city council needed 15'000 PCs in the first place, implying a roughly equal number of users.
lispm 1 day ago 2 replies      
I would have been great, if more cities here in Germany followed and supported Munich...
wil421 1 day ago 2 replies      
Its amazing they actually made the switch. I would not want to working at the helpdesk if my company switched to Linux!

Too bad I hate open office because that is my last dependency on Microsoft. I'll still take OS X for my daily computer over Linux any day.

oakwhiz 1 day ago 0 replies      
One person came with a floppy disk and said My most important documents are on this. Is it still possible to work with them?

A better question might be "Why are you storing important documents on a medium with such a high failure rate?"

pbhjpbhj 1 day ago 0 replies      
Initially such a project should cost more, surely. It's a long term saving and the fact that, once established, the software being used can be freely replicated across other cities - they all need the same tools in most situations I'd expect.

How many projects has Limux fronted and donated to the FOSS community that can now be used in other cities - venue booking tools, or street maintenance apps, or payroll systems, or CRM, or ...

How many local developers are currently working in their LiMux eco-system?

gall 1 day ago 0 replies      
What astounds me is that this project is called LiMux and not Munix.
lawl 1 day ago 1 reply      
Now that they saved 10M Euros by using open source, can they donate 5 of them to vital open source projects please? cough OpenSSL cough
gbog 1 day ago 0 replies      
That's great! I think all the people changing their minds on Microsoft (cool again) and Bill gates (good guy) should put this elephant in the balance: almost all companies and institutions depend on ONE software provider for their most vital work, and this provider is private for-money company subject to all the misbehaviors without any control.

For me Microsoft is still the worst that happened to our industry (Facebook and Google are angels in comparison) and it should stay as a big red dot in the center of our radars.

davidf18 1 day ago 3 replies      
What they have managed to do is to make life more difficult for their employees. Most of those employees have a computer at home that runs Windows and uses Word, Excel, Powerpoint, ....

Now they have to learn a second operating system and set of applications software.

Assuming a five year life for a computer (in government that is) or about 2000 days of use, then the cost of licensing on a daily basis is going to be pennies a day for all of this hardship. Crazy!

darksim905 22 hours ago 0 replies      
Yay! Maybe it's finally the year of the Linux Desktop!

Give me a break. For how scalable Linux is & how fast you can automate installations, move data around, script work to be done, it took them 10 years to do this? (Judging by the comments)

It would take a typical Linux Sysadmin 3 years tops, depending on if they have everything they need, planning & getting people trained. This is a joke.

stannol 1 day ago 0 replies      
Interesting article, but saying Munich is conservative is just plain wrong. Munich is to Bavaria what Austin is to Texas, it's as liberal as it gets.
someone4223 1 day ago 0 replies      
limux developer here:the migration is complete in 2012. BUT the development and maintenance of a new distribution version for the city is never complete. or are you going to use the same ubuntu version forever?

and no one in the city of munich is really thinking about going back to windows. but there are some people who just like windows more and try to shift that political stance back. but that won't happen.. too expensive.

Zigurd 1 day ago 0 replies      
When people say "Linux" they mean a desktop-metaphor UI, a userland that accommodates multiple runtime environments, and a set of apps modeled after what was available on Windows 15 years ago.

There is a place for this, like on my desk, because I need a big fast machine and a large monitor and, in my case, I use Eclipse and the Android SDK, but it could be Blender or LMMS or science applications.

For the other 99%, there are two instances where Linux is a hit. But making Linux a hit required jettisoning the desktop metaphor and making a modern managed userland with a single runtime environment. Of course I mean Android and ChromeOS.

The future of open software distributions is going to look more like CyanogenMod and less like Ubuntu.

vfclists 1 day ago 1 reply      
What do they use for printing, and scanning, printing being the most important?

I'd really love to know that

guidopallemans 1 day ago 2 replies      
> A new version of the LiMux Client is due this year; it will be based on Kubuntu 12.04, an LTS (Long-Term Support) release.

> May 9th, 2014

They are an entire LTS release behind?

The logic of Buddhist philosophy aeon.co
297 points by gajju3588  2 days ago   201 comments top 46
throwaway13qf85 2 days ago 2 replies      
In case anyone is turned off by the expectation of wishy-washy flim-flam, it's worth noting that Graham Priest may be a professor of philosophy, but is most well known for his work in logic, particularly in non-standard logics (i.e. not propositional or predicate logic) that allow non-boolean truth values, or weaken or remove some of the axioms of classical logic.

I assume that what's relevant here will be his work on paraconsistent logics (which allow contradictions) but I think an equally interesting line of work is linear logics. It's of interest to computer scientists because of its relationship to linear type theory (in the same way that the Curry-Howard correspondence links type theory and classical logic) and because it has close relationships with quantum computing.

In particular, you are not allowed to delete or duplicate elements/propositions/types (corresponding to physical processes that cannot arbitrarily create or destroy particles, the "no deletion theorem" and "no cloning theorem" of quantum information theory), so functions of the type

  duplicate :: a -> (a, a)

  delete :: a -> ()
are not allowed in a linear type system. Practically, this means that many operations can be optimized by the compiler to in-place mutations, because it is guaranteed that there is only ever one reference to a particular object.

tel 2 days ago 6 replies      
Central to his teachings is the view that things are empty (sunya). This does not mean that they are non-existent; only that they are what they are because of how they relate to other things.

Immediately I thought of Category Theory as this statement is a not terrible expression of what CT tries to teach. I'll immediately recommend the paper Numbers Can Be Just What They Have To (http://www.cwru.edu/artsci/phil/NumbersCanBeJustWhattheyHave...) for more exploration.

Briefly, while CT is usually "bootstrapped" off having a notion of objects and their relations, it becomes quickly obvious that focusing on the objects themselves is uselessthey are given no emphasis in CT and thus wither away to being nothing at all. Instead, absolutely every interesting property of the objects must be expressed in the relations they take with other objects.

This is formalized in the Yoneda Lemma which, in a not terrifically generalized form, can be written

    forall a . (forall r . (a -> r) -> r) <-> a
which is to say "the collection of all ways to relate an object to other objects is isomorphic to the object itself".

So what's the point? Well, as the paper linked above suggests, sometimes the "intrinsic nature" of things makes them very difficult. We'd often like to equate two things which "ought to be the same" but aren't because their intrinsic nature differs. If you work in standard mathematics (set theory) you run into this problem because everything is described as having an intrinsic nature derived from sets. If you work in CT-based math you have no such issue because objects fail to have intrinsic natures altogether. They only have their "extrinsic" natures, their relations to other things.

joelmichael 2 days ago 5 replies      
Paradox is not really so alien to Western philosophy, as this article initially suggests. It does end up referencing a number of modern Western philosophers, but the idea is older than that. It's ironic he refers to "Western orthodoxy" as being strictly anti-paradox, as traditional Christian theology is full of official paradoxes; a major example would be the doctrine that Jesus is simultaneously fully human and fully divine. Many were declared anathema for refusing this and other paradoxical doctrines. So rather than Western orthodoxy being unaware of paradox, it has insisted on it. The concept of the dialectic also touches on this idea of reconciling apparent contradictions, rather than defeating your opponent as one does in a debate, and this idea originates not truly with Hegel but spans all the way back to Socrates, and probably before.

I agree with the sentiment, however, that understanding paradox is extremely important to a person's capability for nuance and understanding. If you insist on a simplified internal consistency, you will end up sacrificing (and demonizing) whole parts of your thought process rather than trying to reconcile them as having some truth. It can be a process of self-indoctrination purely to avoid the pain of confusion. Another way to think of paradox is simply rejecting false dichotomies in favor of a more complex and uncertain reality. I don't think the lesson here is to "break the chains of Aristotelian logic" (God forbid) but rather, well, reconcile it with the idea of paradox.

tel 2 days ago 0 replies      
If you only want to go partway to catuskoti, consider the intuitionistic logic of Heyting and Brouwer. This is the actual form of logic which has the Curry-Howard isomorphism with lambda calculus. In particular, it rejects PEM but not PNC.

What does this world feel like? Well, let's assume we've formulated a proposition. In type theory syntax we'd write the body of the proposition `B` and give it a name `p` like so

    p : B
Here p is just a symbolic name and B is some formal language expression which describes the proposition p.

It's important to note that while we've immediately written this proposition but we've not established whether it is true or false. PEM would imply that the state we are in currently is unstablep must be either true or false already!

Intuititionistic Logic, however, admits that the state of almost all propositions is far closer to what p is nowneither proven nor refuted. This neither-true-nor-false state is natural and only through a process of communication and work can we move forward. For instance, we could construct a proof of p

    p : B    p = proof1   -- note how this looks like a typed program now
or we could construct a proof of its refutation

    notp : not B    notp = proof2
But we might be incapable of either. It is unclear whether a program searching through the space of possible proofs would ever terminate, one might note.

What's immediately nice about this system is that it can model internally the notion of an independent statementall statements are assumed independent until proven otherwise even!

It also reflects the nature of (functional) programming (of a certain style) where we define the type we're hoping to achieve and then work to create a program satisfying that type.

Note finally that Intutionistic Logic still holds that PNC is true. In particular, we can trivially prove the following proposition

    notPNC : forall prop . not (prop AND not prop)    notPNC = /\_ -> \(p, np) -> np p    -- this is a legitimate proof term written in (System F) lambda calculus

Strilanc 2 days ago 9 replies      
I would have enjoyed this article if it dropped the Buddhism and kept the math.

Alternate logics are interesting, but you tend to be able to reduce them into each other in the same way that universal turing machines can simulate each other. They don't add new functionality, they add succinctness. So it's really strange to me to frame them as totally different philosophies.

For example, it is the case that self-referential statements don't always have well-defined truth values and that allowing them to have values like {} and {false,true} is a fruitful way to think about it. But this approach can be grounded in two-valued logic (and vice versa), and it doesn't solve the problem of self-reference (consider "This statement is not {}, is not {false}, is not {true}, is not {false,true}").

nabla9 2 days ago 0 replies      
Henk Barendregt (known for his work in lambda calculus and type theory) has good explanation of the apparent contradictions in tetra lemma.

Buddhist Phenomenology - 1.7 Explaining apparent contradictions:


In other words: And Now for Something Completely Different...

wpietri 2 days ago 1 reply      
Very interesting.

It reminds me that I think an early start on programming made some Buddhist concepts easier for me to get. In particular for me there's a strong connection between using software to model the world and the Buddhist doctrine of emptiness, the notion that nothing exists in its own right: https://suite.io/matthew-bingley/1z8s2kx

I started coding young, and over time I gradually came to see that any computational representation of the world was always false. The act of writing software was always an editing of the real world, a discarding of everything that wasn't apparently material to my particular purpose. Changing software was sometimes a recognition of ignorance or fallibility, but often showed me how changing purpose changed what the maximally useful model was.

Years of that experience, combined with things like Douglas Hofstadter's work, made the apparent contradictions of Zen much easier for me to follow.

I think that also primed me to be ready for the Agile movement. Early on, I had strong BDUF tendencies. But once I gave up believing that there was one right model, one right design, I lost my taste for BDUF. So when people claimed we could keep our software as flexible as our understanding, that was very exciting for me.

dj-wonk 1 day ago 2 replies      
I can appreciate the depth of research behind the article. The many-valued notions of logic are quite helpful. Here's are two ways that I would distill the message for different audiences.

1. A computer science audience: Not all sentences have a computable boolean truth value. Here's why. To find the truth value of the sentence "This sentence is false.", you have to figure out the truth value of the following statement (call it X1): "Whether or not this sentence is false depends on if X1 is true or false." Put that way, you can immediately see the circularity in computation. From a computer science perspective, there is no terminating condition. The function will never complete, so there is no computable boolean truth value.

2. To an educated, but non-technical, audience: Just because a sentence asserts something doesn't mean there is any guarantee of the result being "truth" or "falsehood". The truth value of this "This sentence is false." is simply "undecidable" or "ineffable" -- pick a word. So, just live with the fact that not everything is true or false. Note: I'm not saying that the statement is really one or the other but we just can't figure out which (as in Schrdinger's cat); I'm saying that neither "true" or "false" makes any sense for that kind of self-referential sentence.

This really isn't mind-blowing. Many articles write up these "paradoxes" as if they are insurmountable. They aren't.

All of this said, I think many philosophical writings, especially Buddhist writings, use contradiction as way of promoting thinking and careful decomposition of the essence of things. In short, complex things consist of parts that vary over time. So their components or transient values can seem to change or stand in contradiction.

There is no contradiction in Dickens writing "It was the best of times and it was the worst of times." in my opinion. This is just a literary device to show contrast eloquently, because saying "In some regards, it was the best of times. In other regards, it was the worst of times." is not as memorable or striking.

noisy_boy 2 days ago 0 replies      
For the benefit of non-Hindi/Sanskrit speakers: the pronunciation of "catuskoti" starts with "ch" (as in "chat") and not as in "cat". "chaet" is the prefix signifying "four".
gambiting 2 days ago 2 replies      
This made me think of an interesting way I have heard some people answer the question "if God is omnipotent, then can he create a rock so heavy he wouldn't be able to lift it and then lift it? If yes, he is not omnipotent, if no, he is not omnipotent!" with a logical leap also hard to comprehend to western minds - he can do both, and that's why he is considered omnipotent. He doesn't need to follow human logic, hence the third option - creating a rock too heavy to lift and lifting it.

I am completely non-religious,but as a logical riddle it always fascinated me that there could be a "third" option.

shawndumas 2 days ago 1 reply      
An "abhorrence of contradiction" is necessary for him to even begin to express his having eschewed his former "parochialism". To have said, "abhorrence of contradiction" he has demonstrated an abhorrence of contradiction -- in the very act of making his declaration.

The Principle of Non-Contradiction (PNC) means that every word in the sentence "The line is straight" has a specific meaning. 'The' does not mean 'any', 'all', or 'no'. 'Line' does not mean 'dandelion' or 'doughnut'. 'Is' does not mean 'is not'. 'Straight' does not mean 'white', or anything else. Each word has a definite meaning. In order to have a definite meaning, a word must not only mean something, it must also not mean something. 'Line' means 'line', but it also does not mean 'not-line' or 'dog', 'sunrise', or 'monkey'.

If 'line' were to mean everything, it would mean nothing; and no one, including him, would have the foggiest idea what he means when he says the word 'line'. PNC means that each word, to have a meaning, must also not mean something. And so; anyone who argues against an "abhorrence of contradiction" must use PNC for that statement to even mean anything, thus undercutting his own argument.


"There exist, indeed, certain general principles founded in the very nature of language, by which the use of symbols, which are but the elements of scientific language, is determined. To a certain extent these elements are arbitrary. Their interpretation is purely conventional: we are permitted to employ them in whatever sense we please. But this permission is limited by two indispensable conditions, first, that from the sense once conventionally established we never, in the same process of reasoning, depart; secondly, that the laws by which the process is conducted be founded exclusively upon the above fixed sense or meaning of the symbols employed."

George Boole, An Investigation of the Laws of Thought

logicchains 2 days ago 4 replies      
The logic of Buddhist philosophy: emotional attachment to and/or desire of impermanent things has the potential to result in dissatisfaction, as impermanent things are impermanent. It's hardly rocket science. Desire nothing, and you'll never never feel the dissatisfaction of not getting what you want. Be attached to nothing, and you'll never feel the pain of losing something.

Some quotes by emperor Marcus Aurelius, of the Stoics, expressing a similar idea:

"You have power over your mind - not over outside events. Realize this, and you will find strength."

"If you are distressed by anything external, the pain is not due to the thing itself, but to your estimate of it; and this you have the power to revoke at any moment."

zenogais 2 days ago 2 replies      
"An abhorrence of contradiction has been high orthodoxy in the West for more than 2,000 years."

Not necessarily so, just a particular branch of western thinking and tradition now widely called the analytic tradition. GWF Hegel and Karl Marx had philosophies that deeply and profoundly embraced contradictions. Neither tried to abolish them, but instead to embrace them. To quote Marx in "Capital Volume 1":

"This is, in general, the way in which real contradictions are resolved. For instance, it is a contradiction to depict one body as constantly falling towards another and at the same time flying away from it. The ellipse is a form of motion within which this contradiction is both realized and resolved"

In other words, contradictions are not resolved but given room to move within forms. This was a move deeply influenced by Hegel, whose Logic embraced contradictions and sought to sublate them in higher forms.

ableal 2 days ago 1 reply      
(Just a quick note, don't have time for more now.)

"The great lodestar of the German Enlightenment, Immanuel Kant, said that there are things one cannot experience (noumena), and that we cannot talk about such things. He also explained why this is so: our concepts apply only to things we can experience. Clearly, he is in the same fix as Nagarjuna. So are two of the greatest 20th-century Western philosophers. Ludwig Wittgenstein claimed that many things can be shown but not said, and wrote a whole book (the Tractatus), explaining what and why."

The jump from Kant to Wittgenstein elides the step that was Schopenhauer, who did look East and said some cogent things.

simondedalus 2 days ago 0 replies      
nagarjuna's point is not that contradiction or many-valued logic can be tolerated. nagarjuna, who is addressing a specific set of buddhist logicians, is finding paradoxes in logic in an attempt to break those logicians clinging to logic, and (somewhat presciently in the history of buddhism) suddenly enlighten them. he, like most buddhists, is not making any ontological or metaphysical claims whatsoever.

it's similar to kant's antimonies. he is not trying to assert contradiction exists, he is trying to point out why we need to countenance ideas like a distinction between noumina and phenomena. or like zeno's paradoxes, which have a rhetorical purpose: to confirm zeno's teacher parmenides's claim that the universe is one undifferentiated whole. see also plotinus, who does roughly the same thing (any real ontological difficulty posed by the paradox of plurality is uninteresting to them; they have a thesis and their statement of the paradox is for a purpose).

incidentally, i don't mean to slag graham priest too much. after all, j.c. beall was my logic professor, and i'll always fondly remember how he introduces every new step in a proof by saying, slowly, "now holllld on, what about (etc)." the dialetheists will always hold a place in my heart. that said, i think godel did about all that need be done with the liar's paradox, and we ought to be wittgensteinians regarding language in the first place (words mean what they do in virtue of their being used by agents for a purpose; you cannot fully enumerate representational content of an utterance solely in virtue of its shape. all utterances are context sensitive. for more, see the almost unreadable but spot on work of charles travis, e.g. unshadowed thought).




jotux 2 days ago 1 reply      
I'm going to go meta here and say the hn discussion here is just fantastic. This is the reason I frequent hn and I wish more submissions would spur discussions of this quality.
tremols 2 days ago 3 replies      
Much of the mysticism and misunderstandings about indian philosophy comes from a very bad habit in the translation of indian works where some words are left untranslated as to give them a magical-religious cool sounding sanskrit aura.

If koti means corner, there is no reason that 'koti' should appear in a translation instead of corner otherwise you are giving it a special importance that distracts from the text's true meaning. Almost every translation of indian philosophy suffers from this fetish for the sanskrit language and as beautiful as sanskrit is, it shouldn't contaminate the purpose of a translation.

wwweston 2 days ago 1 reply      
> If something is ineffable, i, it is certainly neither true nor false.

Wouldn't it instead be the case that it's simply not expressible inside a given formalism (or other form of expression)?

ap22213 2 days ago 1 reply      
Could someone explain why Priest, in discussing the 'four corners', presents the Hasse diagram with {F} at the bottom? Why would it not be {}? I'm not too familiar with posets, but it seems the order matters, right?
anuraj 2 days ago 0 replies      
Sankara (8th century CE) talks about two types of truth - 1) Kevala Satya (Absolute Truth) and 2) Vyavaharika Satya (Relative Truth) - He also says that people who are not one with the Absolute truth (One with God - liberated) can only discern the Relative Truth. He called this state - Maya (illusion). Looks like he was talking similar to Gorampa. To be noted is Sankara was extremely knowledgeable about Budhist thought - and is often called Abhinava Budha (Neo Budha) and was instrumental in propagating Neo Hinduism based on Adwaita (Non Duality) defeating the Budhist schools of the day using their own arguments.
personZ 2 days ago 1 reply      
Fascinating essay. I enjoy and appreciate the references to Buddhist ("Eastern") philosophies given that the paradoxical thinking is what most of us attribute to it.

What is the catch with Aeon? There don't seem to be ads, paywalls, subscriptions, or other monetizing strategies, but the content seems fantastic. Is it charitable intellectualism?

arh68 2 days ago 0 replies      
Seems like statements can have both verity (truthiness) and falsity in varying quantities. They might sum to 0, 1, or anything at all. Whether a statement has meaning seems important, too. '2020 will be a rainy year.' does not have meaning (yet). Pretty soon, though, the universe will reach a certain point where that statement starts to accumulate verity & falsity. Maybe 2020 will be a peak monsoon season in the Eastern Hemisphere; verity++. Maybe it'll be a record drought in North America, too; falsity++. This is not a 1-dimensional spectrum.

Seems like meaning is some sort of vector norm over || < verity, falsity > ||. It should be easy to imagine scenarios all across this unit square for '2020 will be rainy': (0,0) is now, (1,0) means lots of agreed-to raining everywhere, ( .9, .9) is crazy weather, and ( .2, 1) means it was mostly dry that year.

This seems heavily reliant on human interpretation, but trying to extract "intrinsic truthiness" will always rely upon some global context telling you what the rules are. '2 = 3' is absolutely true, depending on what you think the rules are.

'Correctness' seems to correspond to (verity - falsity), which is why ( .9, .9) is certainly meaningful but doesn't improve on the correctness of saying 2020 is rainy.

I have a haunting feeling GEB talks about this, though I never finished reading yet.

dpweb 2 days ago 0 replies      
Nature is to have no nature, taken literally that is a contradiction, but isn't it possible that is not meant to be taken literally, but to illustrate for instance that everything we hold dear is really just a construct. What we call "nature" isn't true essence but our interpretation of what we think essence is?

Jesus for instance freely admitted he taught in parables, and so everything was not to be taken word for word literally. Doesn't make it any less true, but when interpreted literally you can come to some incorrect conclusions.

doxcf434 2 days ago 1 reply      
It's interesting that the west would write off eastern philosophy, as though the eastern philosophers were unaware of the seeming contradictions and that there may be a deeper reason for that.
novalis78 2 days ago 0 replies      
Its strange that he brings Nagarjuna in when discussion sunnyata as this was already clearly spelled out in the sutta's themselves. Two books that discuss this very well are http://www.amazon.com/Concept-Reality-Early-Buddhist-Thought... and http://www.amazon.com/The-Magic-Mind-Exposition-Kalakarama/d...
grifpete 2 days ago 0 replies      
The bizarre states uncovered by quantum mechanics resulted in a million popular works trying to distill quantum reality into a world in which multiple states could coincide even at the macro level. We know that this is true at quantum scale, it has been a little harder to swallow at the level of everyday reality.
awakened 2 days ago 1 reply      
"The only correct view is the absence of all views." - Thich Nhat Hanh (Thay)
smithy44 2 days ago 0 replies      
Could the 'easterners' point be the avoidance of reification and the limitation and mental trapping that involves? For example, we say we see a tornado. But there is no essence of the tornado, no 'thing' there.. it is a perceptual grouping of a set and series of events. Nevertheless, functionally there very much is a tornado. 'It' has its conditions, states, and results. (But there is only the wind...) (And in some visions of physics, this goes all the way down to the vacuum.) Renaming for clarity of action is useful, but no new substances are generated by the act. (One doesn't have to think in terms of the objects in someone else's code nor in terms of the lumped matter discipline.) So if one can think outside of the perceptually given externally, how much more so might it be useful to do so in relation to internals, i.e. 'my anger'.
vram22 2 days ago 0 replies      
Interesting thread, though I could not understand all of it (tongue in cheek). I'm going to lighten up the mood a bit by posting this link to a blog post I wrote a while ago - Bhaskaracharya and the man who found zero:


weatherlight 2 days ago 0 replies      
I can't remember the last time I read an an article and it's discussion on HN that I enjoyed this much.
jqm 1 day ago 0 replies      
This is an awesome article.

So much of our daily life in the west rests directly on fundamental assumptions we make about reality. I believe it's mind expanding to have those base assumptions challenged from time to time.

kirab 2 days ago 4 replies      
This is nice. I'm wondering how much our restricted thought environment (x can only be true or false) has hindered our development in the last thousands of years?
transfire 2 days ago 0 replies      
It is amazing how tangled men can get in their own thoughts and words. The concept of ineffable is nonsense from the outset. By the definition given, if something were truly ineffable, not a word has been spoken about it. What is being contorted here is the difference between the limitations of words to describe an experience, which is the Buddhist ineffable, and the idea of the unassailable noumena, which is the Reality that might be outside of any experience we can have. There is also nothing mysterious or limiting about Western logic. A statement is either true or false; or it is a contradiction (which generally means a premise was false), or indeterminate (which simply means that no one knows which it is).
kalaya 2 days ago 0 replies      
If you want to learn more about this catuskoti, meaning four corners theories there are another one threekoti, meaning three corners you need to check Prof. Nalin de silva's works.http://kalaya.org/

Unfortunately foreigners most of his work is in sinhala.And only foreigners learn that language is germans,russians,chines and japanes diplomats.

novalis78 2 days ago 0 replies      
That's quite fascinating - reading the Pali canon as a teenager I got so used to the catuskoti.
logfromblammo 2 days ago 0 replies      
Silly Buddhists. Everyone knows that there are nine possible logic values: false, true, unknown, uninitialized, irrelevant, indeterminate, weak false, weak true, and high impedance. Didn't Siddharta read the IEEE 1164 standard?
e12e 2 days ago 0 replies      
Very interesting article -- I'm only surprised Gdel didn't make an appearance.
wfn 2 days ago 0 replies      
jaxytee: fyi, you are shadowbanned; there's no contact info on your profile, and your previous comments suggest no reason for the shadowbanning.
Uncompetative 2 days ago 0 replies      
Well that was amazingly well-written and informative...
funky_lambda 2 days ago 0 replies      
Does anyone know any good books with similar stuff in it?
wyager 2 days ago 1 reply      
How the hell are there this many people here who buy this hogwash?

>Nagarjuna often runs through the four cases of the catuskoti. In some places, moreover, he clearly states that there are situations in which none of the four applies. They dont cover the status of an enlightened person after death, for example.

Are you kidding me? This article isn't even about formalizing non-boolean logic. It's thinly veiled religious propaganda, artificially ascribing mathematical formality to a mystical religion.

And yes, statements are either true or false. If you can't say a statement will be either true or false (you don't have to know which one), the statement is ill-defined. Non-binary logical systems are useful only insofar as they allow us to model uncertainty, not because they reflect the nature of reality.

pepon 2 days ago 1 reply      
Can some enlightened soul give me a TL;DR version of this text?? :D
EGreg 2 days ago 2 replies      
Do you think the Buddha borrowed some of his philosophy from the Stoics?
javert 2 days ago 0 replies      
His argument is self-defeating. Ultimately, it amounts to: "There is no such thing as truth." But that is a statement about the truth.

The law of noncontradiction is one of several axioms that are presupposed by any proposition. Such axioms can't be "proven," because any proof would presume their correctness, but it is proper to accept them.

javert 2 days ago 5 replies      
But the Law of Non-Contradiction does hold.

And it's very easy to save the PEM if you distinguish the value of a proposition (true or false) and the cognitive status of the proposition (certain, probable, possible, or arbitrary).

Moreover, to exist is to have a particular identity, to have a nature, to be something.

Thus, all of this work is utter hogwash. The professor who wrote this IS practicing mysticism and irrationality. He ought to be shunned by all actual philosophers.

If this kind of thinking were to get "popular," Western civilization and science would collapse into skepticism and religion would take over again. Just as happened in the Middle Ages and at the end of the Islamic Golden Age (in the latter case, there never was a recovery).

dusklight 2 days ago 4 replies      
This article is kinda missing the point. The "empty" is the undefined. That which has yet to exist, or never will. There is that which is uncountable, for example the number of corners in a circle. Just because it is a contradiction doesn't mean it is wrong -- maybe your models are wrong. The usefulness of eastern philosophy is to free yourself of preconceived ideas. I think it is obviously clear to everyone today that there are modes of thought that are far inferior to logic. I think it would be supremely arrogant to presume that logic is the best mode of thought that humanity will ever come up with. To try to shoehorn everything to fit into a logical framework feels akin to epicycles to me.
An Opinionated Guide to Modern Java, Part 2 paralleluniverse.co
281 points by dafnap  2 days ago   132 comments top 17
cmicali 2 days ago 3 replies      
Nice article - Many of the suggestions (single-jar deployment, metrics, slf4j logging, etc) are all wrapped up for you in Dropwizard http://dropwizard.io, which we use and love.
badlogic 2 days ago 1 reply      
I'm glad someone took the time to write this, it's actually a very nice resource to get new coworkers up to speed. Shouldn't be tought as dogma of course (e.g. Gradle vs. Maven).

Also, thanks for mentioning Packr even though noone has used it in production yet. It's only a week old.

Assuming OP is the original author: are you by any chance following JGO? I see Quasar is actually using Matthias Mann's green thread lib which i don't think was advertised anywhere outside JGO.

pjmlp 2 days ago 1 reply      
I like the overview given to JVM tooling, many developers are fully unaware of what JVMs (not only the official one from Oracle) offer in terms of monitoring.

If you want to go really low level, a few of them even show the generated assembly code by the JIT.

benjaminpv 2 days ago 4 replies      
"Java application servers are dead" and since there's no alternative to Java application servers here's a solution I cooked up myself.

Like I mentioned last time I appreciate an overview of modern Java practices but boy howdy I can't discern if this is clever trolling or a cheap way to make me read Part 3.

eeperson 2 days ago 3 replies      
As a Java developer, I thought this article had some interesting information about logging and monitoring. However, the deployment section had my scratching my head a little.

I've never totally understood why people want to make fat jars. It seems like a process full of headaches since you can't have jars in jars. Wouldn't it be much easier to create a regular zip file with a small script to set the classpath and and run the project?

I'm not sure I understand the motivation for embedded instead of standalone servlet container. The article linked to some slides but they mostly seemed be demonstrating that you can function using an embedded container rather than providing clear benefits. Maybe it would have made more sense with the associated talk.

Can anyone provide more insight to these?

vidar 2 days ago 2 replies      
This feels like a different universe.
vorg 2 days ago 0 replies      
> I personally prefer Gradles nice DSL [...] in order to use Gradle one does not need to know Groovy, even if one wishes to do some non-standard stuff [...] I just learned a few useful Groovy expressions that I found in Gradle examples online

The DSL is Groovy syntax from Groovy's antiquated Antlr 2.7 grammar, so simply by using Gradle you're using Groovy along with all its warts. Underneath, Gradle isn't so much a DSL as an API shipping with a programming language. You could just as easily write the first Gradle example from the article in most other JVM languages. If it was in Clojure...

  (require gradle :as g)  (g/apply :plugin "java")  (g/apply :plugin "application")  (g/source-compatibility "1.8")  (g/main-class-name "jmodern.Main")  (g/repositories    (g/maven-central))  (g/configurations    g/quasar)  (g/dependencies    (g/compile "co.paralleluniverse:quasar-core:0.5.0:jdk8")    (g/compile "co.paralleluniverse:quasar-actors:0.5.0")    (g/quasar "co.paralleluniverse:quasar-core:0.5.0:jdk8")    (g/test-compile "junit:junit:4.11"))  (g/run    (g/jvm-args (str "-javaagent:" (-> (configurations.quasar.iterator) next))))

eshvk 2 days ago 3 replies      
> While I personally prefer Gradles nice DSL and the ability to use imperative code for non-common build operations, I can understand the preference for the fully declarative Maven, even if it requires lots of plugins. The modern Java developer, then, might prefer Maven to Gradle.

I find Maven's abstractions surprisingly hard to understand. It is a major part of my annoyance with Java as a dev setup. I miss Make/Ant. Not sure if Gradle will be a good replacement or not but would be curious to try.

lmm 2 days ago 5 replies      
Does anyone actually swap out their log backend? To me slf4j felt like an overcomplicated, enterprisey step with no clear advantage over log4j.
jebblue 2 days ago 1 reply      
I'm a fan of simplifying the server side, one I'd recommend for the latter part of the slideshow he referenced:


derengel 2 days ago 4 replies      
As someone not very familiar with Java can someone expand on what he means by this: "Every library is usually packaged into its own JAR, and merging all dependencies into a single JAR, might cause collisions, especially with packaged resources (non-class files)."
anjanb 2 days ago 0 replies      
cool article. I wish if someone can give a Java update like this once every year!
skybrian 2 days ago 0 replies      
The article mentions a tool called Flight Recorder for profiling, but it appears this is commercial and not available in the openjdk?
dave3773 2 days ago 0 replies      
Very nice article. Capsule looks promising in regards to packaging. I'm going to have give 'er a try. One could also use the fatjar[1] or application[2] plugins (within the context of gradle).

[1] https://github.com/musketyr/gradle-fatjar-plugin[2] http://www.gradle.org/docs/current/userguide/application_plu...

gsmethells 2 days ago 2 replies      
As far as packaging and deployment of a native executable goes, I thought it odd to not mention Excelsior JET (http://www.excelsiorjet.com) as I believe that's the only Java compiler that can handle all of the JDK (gcj isn't there yet).
12345678123 2 days ago 1 reply      
This article does not mention OSGI or Jigsaw with one word but claims to guide to modern Java development.Seems they never run any large scale EE projects yet :)
kbcv 1 day ago 0 replies      
How does profiling Java applications work with JIT. Should you wait until the code has been optimized before profiling, or these tools smart enough to realize that the performance of code changes as the application runs?
Tech firms write to U.S. FCC to oppose 'net neutrality' plan reuters.com
276 points by dthal  3 days ago   84 comments top 16
DigitalSea 3 days ago 5 replies      
I think as has always been the case, money talks more then words ever could in a political system. If these 100+ tech companies each put in a few dollars, they would have enough lobbying money to swing the argument in the right direction. We are only at the current point in the anti-net neutrality argument because ISP's and telecommunication providers have been lobbying Washington rather successfully.

It's a sad fact he with the biggest cheque book wins, especially when it comes to reform. Look at the whole music/movies piracy argument, it extends as far back as the late nineties; publisher groups, the likes of the RIAA suing people and skewing the legal system by throwing money at the right people who have the power to vote and act upon such decisions. It's happening all over again, except this time the repercussions will be far worse then any anti-piracy bill.

I'm not saying lobbying is the only solution, but if the entities on the wrong side of the argument are doing it, does it matter if Google, Amazon, Facebook and other companies issue statements and express concerns to congress if it will only fall on deaf ears or be brushed off as a selfish act?

It kind of reminds me of when Labor were in power in Australia before the recent election and were in the process of rolling out the National Broadband Network (NBN) which was a fibre to the premises plan the current party has basically scrapped. Google Australia issued a statement saying the current Government needs to understand the value of such a network, but they were shrugged off. If they opened up their cheque book and started donating to particular Government interests and districts, would they have been taken more seriously? Maybe.

dsr_ 3 days ago 5 replies      
Hey, can someone rewrite Reuter's headline for them?

These companies don't oppose Net Neutrality. They oppose Wheeler's anti-net-neutrality plan.

adamnemecek 3 days ago 2 replies      
Apparently, Wheeler (the FCC chairman) used to work as a lobbyist for the cable and wireless industry (https://en.wikipedia.org/wiki/Tom_Wheeler_(lobbyist)).

That seems as a bit of a conflict of interest.

stdgy 3 days ago 3 replies      
Link to letter: http://cdn1.vox-cdn.com/assets/4422119/letter_to_FCC.pdf

Can anyone spot any big names that are absent, other than Apple?

justinph 3 days ago 1 reply      
The letter stops short of asking the FCC to classify broadband and the internet with common carrier status. Bummer.


blazespin 3 days ago 0 replies      
I'd like to see those 100 firms contribute to a co-op ISP which competes in the most profitable markets of Comcast and AT&T, etc.
NicoJuicy 2 days ago 0 replies      
If tech has balls, they can get net neutrality back fast (couple of days): https://news.ycombinator.com/item?id=7714204
drawnalong 3 days ago 0 replies      
Can someone with a bit of knowledge help me get a grip on Mozilla's Net Neutrality plan? I'm reading through this:


and the blog announcing it: https://blog.mozilla.org/netpolicy/2014/05/05/protecting-net...

Anybody think this is a bad idea? Seems to be a safer bet than the more dangerous brush strokes others are painting the issue with.

vinchuco 3 days ago 0 replies      
In case you want to spread the importance of this to the general public, there's a simple video from vihart: https://www.youtube.com/watch?v=NAxMyTwmu_M


seacious 3 days ago 0 replies      
It seems significant to mention that the tech firms are opposing ineffectual net neutrality plans. Not opposing net neutrality.

edit: formatting

kokey 2 days ago 0 replies      
Since this has been dragging on for about a decade now, what has been the effects in the US? Also, will net neutrality force cable companies to unblock port 25?
bchaney 2 days ago 0 replies      
You think the people in politics understand the idea of "net neutrality" LOL. I'd be surprised if most Senators/House members knew the difference between USPS and email. Now if you were to tell them that the internet would go away unless they contributed $100mil maybe they'd open an IE6 window to Wikipedia to understand whats going on.
callesgg 2 days ago 1 reply      
Dont know if this law is for or against, however the moment My isp starts charging both sides i would switch.

That is not what i pay for.

I would assume in the bigger picture this would not be very good for ISP's

silveira 3 days ago 0 replies      
Would be better says to oppose the "fast track" plan.
liotier 2 days ago 0 replies      
One set of corporate overlords is taking our side to enlarge their own coffers. Rejoice, peons !
knodi 3 days ago 0 replies      
So is this really going to get Wheeler to stop the push? I don't think so the broadband provider have their hands up his ass up to his mouth.

Fuck you Wheeler.

Wayback Machine Hits 400,000,000,000 archive.org
267 points by tweakz  1 day ago   52 comments top 14
leorocky 1 day ago 2 replies      
And not one of those hits is from Quora due to their robots.txt:


Good job Quora, preserving all that crowd sourced content away from the crowd, keeping it from everyone not logged in. Hats off to getting into YC so you can post your job openings on the HN home page and get some press. This doesn't add anything to your image though, it just takes a little away from YC.

On another better note, a great big thank you to the wayback machine for all of the public good it does. Now there's an organization that is amazing and wonderful and enriching our lives in an open and honest way with information.

dredmorbius 23 hours ago 2 replies      
I'd like to rave about an underappreciated but absolutely brilliant piece of the Internet Archive's infrastructure: its book reader (called, I gather, "BookReader").

TIA includes copious media archives including video, audio, and books. The latter are based on full-image scans and can be read online.

I generally dislike full-format reading tools: Adobe Acrobat, xpdf, evince, and other PDF readers all have various frustrations. Google's own online book reader is a mass of Web and UI frustrations.

I'm a guy who almost always prefers local to Web-based apps.

TIA's book reader is the best I've seen anywhere, hands down.

It's fast, it's responsive. The UI gets out of the way. Find your text and hit "fullscreen". Hit 'F11' on your browser to maximize it, you can then dismiss the (subtle) UI controls off the page and you are now ... reading your book. Just the book. No additional crap.

Page turn is fast. Zoomed, the view seems to autocrop to the significant text on the page. Unlike every last damned desktop client, the book remains positioned on the screen in the same position as you navigate forward or backward through the book. Evince, by contrast, will turn a page and then position it with the top left corner aligned. You've got to. Reposition. Every. Damned. Page. Drives me insane (but hey, it's a short trip).

You can seek rapidly through the text with the bottom slider navigation.

About the only additions I could think of would be some sort of temporary bookmark or ability to flip rapidly between sections of a book (I prefer reading and following up on footnotes and references, this often requires skipping between sections of a text).

Screenshot: http://i.imgur.com/Reg8KLB.png

Source: http://archive.org/stream/industrialrevol00toyngoog#page/n6/...

But, for whomever at TIA was responsible for this, thank you. From a grumpy old man who finds far too much online to be grumpy about, this is really a delight.

This appears to be an informational page with more links (including sources):


keenerd 1 day ago 2 replies      
PSA/ranty thing: Just because something is archived in the Wayback machine, do not trust that archive.org will keep it there for all time. If you need something, make a local copy! A few months ago TIA changed their stance on robots.txt. They now retroactively honor robot blocks. Now any site can completely vanish from the archives.

Let's say I died tomorrow. My family lets my domain slip. A squatter buys it and throws up a stock landing page, with a robots.txt that forbids spidering. TIA would delete my entire site from their index.

I've already lost a few good sites to this sort of thing. If you depend on a resource, archive it yourself.

edit - Official policy: https://archive.org/about/exclude.php

If I am reading it properly, once blocked they never check later in case of a change of heart? No procedure for getting re-indexed at all?

meritt 1 day ago 3 replies      
Has there been any High Scalability articles on their infrastructure? We have a similar need: storing a large volume of text-based content over a period of time, with versioning as well. On top of it we have various metadata. We're currently storing everything in MySQL -- a lightweight metadata row and a separate table for the large (~400KB on average) BLOB fields in a compressed table.

We're looking at ways to improve our architecture: simply bigger+faster hardware? Riak with LevelDB as a backend? Filesystem storing with database for the metadata? We even considered using version control such as git or hg but that proved to be far too slow for reads compared to a PK database row lookup.

Any HN'ers have suggestions?

swalsh 1 day ago 0 replies      
If you're looking to donate, they take bitcoin too!https://archive.org/donate/index.php
alternize 1 day ago 2 replies      
awesome! it's a great tool to go back in time to check out our past websites full of blinking gifs and whatnot.

I didn't know that they also maintain the "HTTP Archive", showing website latency over time as well as some interesting live-statistics: http://httparchive.org/

pimlottc 20 hours ago 0 replies      
A little known fact is that there is a mirror of the Wayback Machine hosted by [The Bibliotheca Alexandrina:


I have sometimes had luck retrieving pages from this mirror that were unavailable (or returned errors) in the main site.

sutro 1 day ago 0 replies      
Nice work on this over the years, gojomo et al.
jackschultz 1 day ago 0 replies      
Funny story about the Wayback Machine and how it helped me. I had let my blog go into disrepair for a couple months, and eventually, when I went back to it, I found that since I hadn't kept up with security updates, I wasn't able to access any of my old posts.

When I went back to start writing again (this time using paid hosting so I didn't have to deal with that), I was disappointed that I wasn't going to have ~20-30 posts I had before. On a hunch, I checked the Wayback Machine and found that it had archived about 15 of my posts! Very excited that I could restore some of my previous writings.

Kenji 1 day ago 2 replies      
Can anyone explain to me how displaying those sites on demand is not copyright infringement? I'm seriously curious, I don't know much about copyright laws.
Vecrios 1 day ago 1 reply      
I still cannot fathom how they are able to store huge amounts of data and not run out of space. Care anyone to explain?
ultrasandwich 15 hours ago 0 replies      
> Before there was Borat, there was Mahir Cagri. This site and the track it inspired on mp3.com created quite a stir in the IDM world, with people claiming that Mahir Cagri was Turkish for Effects Twin and that the whole thing was an elaborate ruse by Richard D. James (Aphex Twin). (Captured December 29, 2004 and December 7, 2000)

Okay this just blew my mind. Anyone else follow Aphex Twin's various shenanigans? Was this ever investigated further?

mholt 1 day ago 1 reply      
Cool, but on a lot of sites (including some of my own, from 10+ years ago to recently) it doesn't get hardly any of the images. Am I the only one experiencing this?
rietta 1 day ago 0 replies      
Wow, that's one billion more pages than there are stars in our Milky Way galaxy. That's a lot!
Quora in the next YC batch ycombinator.com
261 points by _pius  1 day ago   173 comments top 50
dude_abides 1 day ago 8 replies      
Hard to imagine what's in it for Quora.

- Network connections? Their CEO is the former CTO of Facebook.

- Help with fundraising? They raised $80mm at $900mm valuation not more than a month ago.

I strongly suspect Quora is planning a huge pivot which they feel is ambitious but doable in 3 months, and YC believes in the value of this pivot; that is the only plausible explanation I can think of.

paul 1 day ago 1 reply      
This is very exciting.

More great companies in YC = more value for the whole YC community!

hnnewguy 1 day ago 7 replies      
Funny thing, I visited Quora today, for the first time in a while. Years, maybe:

Googled something, Quora near top results, clicked link, "signup" nag screen, results blurred out, left page.

I guess I still don't get it. Curious to see what this will be about.

johnrob 1 day ago 2 replies      
Keep a link to this for the initial office hours ;)


gkoberger 1 day ago 3 replies      
I'd love to hear more about why. It makes sense for YC (and is probably being treated as a normal investment rather than "Adam filled out a YC application and did a 10 minute interview"), however I feel like it makes Quora seem weak.
krstck 1 day ago 0 replies      
I want to like Quora, but I hate how pushy they are about forcing you to sign up to read their content. I thought I'd remembered pg making a similar comment a while back: https://news.ycombinator.com/item?id=5217449 Maaaaaybe this will encourage them to change?
state 1 day ago 1 reply      
I wonder if Quora actually applied, or if the idea was generated outside of the application process. I'm also pretty curious what the terms of the deal are (although I don't expect to actually get those details) with the new standard funding package.
OmarIsmail 1 day ago 0 replies      
This actually makes quite a bit of sense. At the scale that YC is at now, there are already a few companies worth 10x Quora (Dropbox, Twitch, AirBnB). I'm sure even at Dropbox et al's scale both Dropbox and YC get a lot out of the ongoing relationship. Therefore, in these types of mutually beneficial scenarios why would YC or companies for that matter artificially limit themselves to only getting into such a relationship during some arbitrary timeline?

When you think about it, putting such an arbitrary limit doesn't make sense, and voila you've broken a mental barrier and can now change the rules of the game. As a founder of a YC company I would absolutely love it if YC becomes this broad "old boys/girls" network of awesome tech companies. Who actually cares about what stage the company was at when they joined YC. The more great companies part of the club, the better!

3pt14159 1 day ago 1 reply      
Quora needs to change. I get the weekly emails that they make me double click to get though (the UI here is awful, but it doubles page views) and that is basically it.

They need to change, which is why I think YC is such a good fit for them. The deal was probably $1 for 0.1% or something like that. Mostly symbiotic relationship. Quora needs the reboot cred and YC likes shiny people.

xacaxulu 1 day ago 1 reply      
Hope JesusChristSiliconValley has something to say about this. http://jesuschristsiliconvalley.tumblr.com/post/48962035819/...
ivankirigin 1 day ago 1 reply      
Wow, what a great experiment. How can Quora employees get involved?

What percentage of the company does YC get? Did you even make an investment? Given their huge fundraising and valuation, getting even 1% and giving them around $100K both seem odd.

harryh 1 day ago 1 reply      
It would be interesting the learn the terms of the deal. Presumably it's nothing like the standard $120k for 7%.

I'm struggling to figure out how this makes sense as a part of the y combinator investment portfolio.

EDIT: The only plausible thing I can see Quora wanting that Y Combinator has is access to talent. Is this a recruiting move?

calbear81 1 day ago 0 replies      
I believe it was made clear that their last raise will be the final round they will take so whatever they do will need to make the business sustainable in the long run. My guess is by participating in YC, they can:

- Find up-and-coming businesses that are tangentially related to Quora's mission that they can groom and perhaps invest in.

- Incubate within the YC ecosystem some spin-off businesses that may not fit well under the Quora brand and what they're doing.

guelo 21 hours ago 0 replies      
Definitely seems like something pg would have never done.
zmitri 1 day ago 0 replies      
If YC becomes Stanford 2.0, Quora seems like an interesting software collaboration system for all of it's "students." I see the potential especially since Facebook started out just with "students" too.
prayag 1 day ago 0 replies      
Will we see YC doing (specifically leading) later stage or growth stage rounds now? I think it's great though I do worry about signaling problem for companies who don't do later stage rounds with YC?
dredmorbius 22 hours ago 0 replies      
Why would YC taint itself with all that pg's quite accurately criticized Quora for.

Scammy SERP practices and forced user count inflation. Hardly something to encourage.

dollaaron 1 day ago 0 replies      
Until Quora stops requiring you to log in to see anything, I'm never touching the site again (workarounds don't count).
Wump 21 hours ago 0 replies      
Seems like a good move for Quora. They'll get early access to acquihiring super talented folks at struggling/failing startups. At the least, they can generate goodwill and word of mouth as a good place to work. Talented people know talented people, etc.

Not sure about the impact on YC though. It may create an environment of mixed incentives. Quora's incentive is almost perverse, in that they get the most value out of YC from failing startups.

rdl 1 day ago 1 reply      
Quora at Summer 2014 Demo Day could be really interesting.
jw2013 1 day ago 1 reply      
No way they are taking the traditional 7% ~ $120k deal. From Crunchbase they already got $141M fund, and let us be very conservative and say their valuation is just $400M. 7% percent of that is 400,000k*0.07 = 28,000k.

I guess Quora will be treated the same as other batch's participants (except I wonder how many of Quora's employee will be physically in SV), but Quora got different deal.

antonber 1 day ago 0 replies      
My guess that's what's in it for Quora is the ability to poach talent from YC startups.
ryanSrich 1 day ago 0 replies      
Interesting. I wonder if this will aid in finding a business model[1]. Would love to hear more from someone at YC about what is driving this experiment.

[1] http://www.quora.com/Quoras-Business-Model-and-Monetization/...

evolve2k 12 hours ago 0 replies      
StackExchange treats me with respect, Quora currently feels like they are playing the old 'Experts Exchange' game of shady techniques and firewalled user knowledge.

I hope joining YC they find a more open way to do business. Why should I answer questions to build their closed knowlege base?

gedrap 1 day ago 0 replies      
I am more interested in whether Quora will avoid the problems SO is facing.

A year ago or so, the links in the email digest were genuinely interesting. /r/iama, kind of. Now, many of them is stuff like 'the best thing you have been told' or 'how does it feel to be in love'. No thanks. If I wanted that, I would be browsing those instagram-ish images with pathetic captions. Is it their ML getting something wrong, or a general trend?

I tried to just visit quora.com but found it fairly boring and hard to browse, so I visit only through the email.

mrfusion 1 day ago 0 replies      
It's funny I never thought twice about registering for stack overflow but I can never bring myself to register for quora. And I always feel bummed I can't see all the answers.
fuddle 1 day ago 0 replies      
YC has always been experimental, it worked out well for non-profits. The more experiments you do the better you can make it work.
melvinmt 1 day ago 0 replies      
I wonder if Quora was part of "The New Deal" http://blog.ycombinator.com/the-new-deal
tonydiv 1 day ago 0 replies      
Quora being valued at $900M? Heh, I'd believe it when there's some revenue, or at least some sign of revenue.

I'd have more faith in Quora long term if they were asking for donations like Wikipedia.

soneca 1 day ago 0 replies      
What a humbly ambitious move by Quora.

They sure aren't happy enough with where they are or heading to; still they know they need help to change ways.

drp4929 1 day ago 0 replies      
How much time Quora founders are going to spend at YC headquarter during the program ?
shaohua 1 day ago 0 replies      
7% of Quora for $120k, sounds like a steal. just kidding. there is no way they get the same term
joshdance 1 day ago 0 replies      
I got an email from a Quora product manager a little while ago asking how I used Quora and what I liked about it. Seems like changes are coming.
ilamparithi 19 hours ago 0 replies      
For me Quora is useful in finding alternative sites/software. For example, If I am looking for a web chat software, I can find most of the available solutions there. Of course, the information is biased because it is posted by the respective founders/CTOs. Still I can use that as a starting point for my research. I do hate that I have to login to read content but share=1 comes to the rescue.
cmpns8 1 day ago 0 replies      
A well established company with a nice product but no revenue generating business model partners with a bunch of hotshot entrepreneurs looking for a startup idea (or pivot) - I wonder if Quora is going to provide a kind of Q&A based platform which creative startups can leverage, almost like a Quora branded YC mini-batch.

The startups would have immediate access to Quora's user base and a space to focus on (Q&A value added services). Quora gets an infusion of fresh ideas without have to take the risk themselves. Quora could develop some fee based structure for its platform and look at acquiring the most promising startups.

ChrisNorstrom 1 day ago 0 replies      
This is pretty exciting. It's good to see YC diversifying itself through small experiments. I'm curious how much money is YC going to invest in Quora? Same amount as its other startups?
sad_chap 1 day ago 0 replies      
It's probably not their primary consideration, but I'd imagine that this is really fun and stimulating for the other companies in the batch. Personally I think startup advice feels most valuable when it's in the form of stories ("Here's our N of 1, you synthesize this with others into a worldview.") And having a late stage company or two around can only add to that.
ZenPro 17 hours ago 0 replies      
I was a frequent Quora user with a relatively well-regarded reputation.

During an Ask to Answer session a user took offence to being proved wrong about some fact or other and threatened a retribution.

Over next few days emails began arriving in my personal inbox which the User had incorrectly identified as the email of my business clients.

The emails were pure vitriol accusing me of fraud etc telling the "clients" to jettison me.

I immediately contacted Quora as the information he had access to could only have come from an Administrator (which I had previously clashed with on the thread). Quora denied all knowledge but the Administrator refused to engage with me personally.

At that point I realised it just was not worth the exposure.

benwilber0 1 day ago 0 replies      
I can't imagine there's anything in this for Quora. They just raised $80M last month! I suspect they're either launching a new product or pivoting completely.
manojit 23 hours ago 0 replies      
Quora has a certain negativity in it.
kkhire 1 day ago 0 replies      
It'll definitely be a great and encouraging experience for all other companies in the batch -- working alongside a company with that caliber of funds? That's awesome.
owens99 1 day ago 0 replies      
Sounds like a partnership not an investment.
yeukhon 1 day ago 0 replies      
Quora is awesome but lack of enough users who can actually deliver "answers". As a student I visit Quora for three things: find out some "secrets" about a company written by former and current employees, find out secrets about cities and history and find out just about anything interesting.

StackExchange has a strong, super strong moderation. You can't just start a random question and not expect someone close it in ten minutes. SE's divisions makes asking question and finding related questions very difficult. Sometimes you don't even know where to ask the right question...

If Quora has the active user base that SE has I will sure people will flood there.

Quora to me is the modern Yahoo Answer but with the hope of quality control.

bifrost 1 day ago 0 replies      
Very cool! I welcome Quora!
tim_sw 1 day ago 0 replies      
could this be a way for quora to evaluate acqui-hires?
grinich 1 day ago 0 replies      
great move
michaelochurch 1 day ago 0 replies      
I think I know what this is about.

It's a neat idea. (My lack of specificity isn't a sign of cynicism; in fact, I like the idea.)

I'll give a hint: semi-supervised learning.

AznHisoka 1 day ago 0 replies      
Le Sigh.

Now PG and his team of suits will use their persuasion to convince a bigger fool to buy Quora, and let all the investors off the hook. And so it goes.. in Silicon Valley.

sitkack 1 day ago 0 replies      
WTF with ycombinator taking a string of higher valued startups. Smells like paying for access. Not an incubator. More like paying to sleep with the head of a horse.
jonathanjaeger 1 day ago 0 replies      
I still think all the Quora bashing about their signup interstitials is overstated. They've determined the optimal experience is for people to sign up to see an answer. I know that seems antithetical to an open and "easy-to-use" Internet, but this isn't Wikipedia. Quora is about answers but also about opinions. Their email newsletters, although tweaked recently in a not-so-favorable way, are still amazing. You get a ton of value becoming a user, but unless you sign up (or are semi-forced to sign up) you'd never know that.

While I keep saying I'm not sure if it'll be a good business, I love Quora. They've done something truly unique in the Q&A space and I'm happy they have so much funding that they'll be around for years to come regardless of whether it's a "business".

Anki Powerful, intelligent flashcards ankisrs.net
261 points by amjd  1 day ago   129 comments top 39
Walkman 1 day ago 7 replies      
A lot of people point out other software.

The whole point is the algorithm [1] which how Anki schedules your cards. It is based on Supermemo's [2], and improved a lot over the years, so I think it's the most optimal from all of the SRS software's out there.

Also I think Anki has a very simple UI, not sure how people can find it complicated. You just add cards, and by review you press a button, that's all. Cards are just HTML, but you can edit them with the built in WYSIWYG editor.

Anki is great for learning programming languages!See the Janki method [3] and another blog post [4] how to use it effectively. I found the last one especially helpful, and started learning Programming languages based on that. It works great.You can also learn linux commands, whatever.

People also asked for sharing cards. It is very important to make your own cards progressively and learn from those, because you know what you need to emphasize for the info to stick. Just use small information on every card, use your own terms, and it will be much easier to learn, compared to some random deck you downloaded.

[1]: http://ankisrs.net/docs/manual.html#what-spaced-repetition-a...

[2]: http://www.supermemo.com/english/ol/sm2.htm

[3]: http://sivers.org/srs

[4]: http://www.jackkinsella.ie/2011/12/05/janki-method.html

bedhead 1 day ago 2 replies      
I used Anki for French and am currently using it for Spanish. It's TERRIFIC. It's the best method for brute-force memorization of vocabulary and conjugation. While it's a bit lengthy to set it up, the creation process actually helps with the memorization.

Remember to only use photos where you can, dont use english words in it. The whole key is to skipping the "translation" step in your brain. Learn by thinking of the action, not by thinking of the english word and its translation. Getting rid of that "lookup" step is the key to getting good at learning a new language.

lettergram 1 day ago 4 replies      
My friend and I have been using this for years. My friend took it pretty serious this year:


It's really useful for courses in college, especially Language, Biology, Chemistry, and Physics for definitions, pronunciations, systems, etc.

Math and Computer Science is a bit hard since a lot of that requires practice and it takes time to figure out how to structure those cards.

Anyways, highly recommend them.

davycro 1 day ago 1 reply      
Medical student here. I've tried many flashcard programs (StudyBlue, Quizlet, gFlashcard, MentalCase, and more), and Anki is by far the best for my needs.

One thing that puts Anki in an orbital beyond the other programs is the ImageOccusion editor add-on [1]. This lets you screenshot an image, draw rectangles over labels within that image, and then generate a flashcard for each label. This works insanely well for learning anatomy.

I remember about a month ago where I had two hours to learn the names of all the tracts and nuclei inside of the brainstem for a readiness quiz. It took about 10 minutes to create flashcards for them all, and an hour to memorize. I passed the quiz. Days later fellow classmates were still struggling to remember the same information.

1 - http://tmbb.bitbucket.org/image-occlusion-2.html

rrreese 1 day ago 0 replies      
I've been using Anki to learn German, specifically getting a handle on the gender of nouns. Its been remarkably successful, since the data is essentially random, I can't imagine how I would remember it without using this tool.

I've also got a maths and a stats deck where I've been adding formulas (it supports Latex) as I progress in a couple of courses I've been taking. If you are studying at University, School, doing a MOOC or learning a language Anki is an incredible tool.

The main problem is that you really need to be using it most days. If you fall behind your backlog builds up and its use as a tool becomes much less useful. I commute on the tube most days so that hasn't been much of an issue for me, but when on holiday, traveling etc its easy to fall behind.

philfreo 1 day ago 6 replies      
If you're interested in this you should also check out http://quizlet.com

Not strictly SRS but much better UI, mobile apps, audio, etc.

scottharveyco 1 day ago 1 reply      
I use Anki almost every day (for language learning) and from a user interface it is a terrible piece of software. It is inconsistent and not at all intuitive, even simple tasks usually require looking up documentation or tutorials.

That being said it is still the best software out there that I've found for this type of thing. I hope something better comes along at some point.

kingmanaz 1 day ago 0 replies      
Having studied Homeric Greek vocabulary for ~140 hours with Anki, the only change I found which made the experience more pleasant was to disable the card leeching. The "threat" of a card becoming a leech tended to take me out of the zone.

If one has 20 minutes to spare a day there is no reason one cannot gain a > 1000 word vocabulary in a foreign language in a matter of months. Anki comes highly recommended for vocabulary building.

ralmeida 1 day ago 1 reply      
One thing I've been doing in the past months, with great results, is memorizing passwords. I don't know how prevalent this is in the US, but here in Brazil, we use a lot of cards with chips, so that you type a password instead of signing a paper. To make it worse, there are sometimes different passwords for the same service in different situations (for example, most banks use a 4 or 6-digit password for debit purchases and a different 6 or 8-digit password for Internet Banking).

There are also credit card passwords, employee-issued benefit cards (I for example have a different card - and different passwords - for a meal card, a groceries card and a fuel card).

So, lately I've been randomly generating those and memorizing them with flashcards in a spaced repetition system. Has worked very well for me, with about 10 random 4-8 digit numeric passwords to remember.

chrisBob 1 day ago 4 replies      
Free for the computer and android but $24.99 for iOS? That seems like a strange price scheme.
JabavuAdams 1 day ago 1 reply      
I use this every day, on my commute. Currently focusing on:


Python module stuff. It's not my main language, so I tend to forget exact names for functions in modules. I.e. what was that function that did that thing? Is it in os or os.path? If I look something up on stack overflow or in the Python module docs, I tend to create an Anki card for it.

Same for Cocoa / Obj-C

Walkman 1 day ago 0 replies      
For HN audience, probably the most useful plugin is the syntax highlighting plugin [1]. It uses the Pygments Python package so it can handle almost every known programming language, and makes it easy to save snippets into the cards!

[1]: https://ankiweb.net/shared/info/491274358

krrrh 1 day ago 1 reply      
Anyone enjoying this discussion owes it to themselves to check out Gwern's exhaustive page on spaced repetition.


gotofritz 1 day ago 1 reply      
I use it a lot for language learning and brushing up on those obscure nuggets of programming knowledge that tend to be asked at interviews.

The interface is quite clunky, but it's good enough, and with Latex and media support quite powerful. Probably not fluffy enough for the general public, though.

agumonkey 18 hours ago 1 reply      
Is there a cli version of anki ? a quick google search session didn't give any hint, which means plausible negative.
orky56 1 day ago 1 reply      
Can you please provide screenshots or a video above the fold? Even if the highlight of the product is not the GUI, I'm still okay seeing the product work even in a command line interface. It helps me process the context of what it is.
makmanalp 1 day ago 0 replies      
This is awesome! I can't wait to try it. It would help to have some samples on the front page though. Maybe a loginless demo of ankiweb with something like GRE words.
danshipper 1 day ago 0 replies      
I've been using Anki to remember the books I read. I take notes as I'm reading and then transfer the important parts to Anki after I'm done. It's a pretty effective system.
stockninja 1 day ago 0 replies      
a great article about using anki to improve as a programmer:http://www.jackkinsella.ie/2011/12/05/janki-method.html
gailees 1 day ago 0 replies      
Mattan Griffel of One Month Rails gives a great use case for Anki in his recent post "How to never forget anything ever again"


yfefyf 1 day ago 1 reply      
I used to be a SuperMemo user for several years and accumulated more than six thousands items. It has advanced algorithms. Both Anki and Mnemosyne are based on the algorithm of SuperMemo 2(its version is 16 now). And there are several pieces of articles about human memory on its website which are very helpful.

But about a year ago, I gave up Supermemo. Because it's really buggy and bloated. I was so worried about my data that I used to back up my data into a zip file every day. Then I decided that I shouldn't trust a buggy closed source software like SuperMemo to protect my data. If it died, I would have trouble converting my data to other formats.

When I was considering the alternatives, I chose Mnemosyne instead of Anki. Because Mnemosyne seems cleaner, and its author is doing some research on human memory which made me think that its algorithm could be better than Anki.

thesoonerdev 1 day ago 0 replies      
I made an app which uses the idea of spaced repetition to help you memorize flags. I was really amazed when I learned about this system a while back, and made this app to help my niece learn some interesting stuff. My app is really rudimentary and buggy, but I believe we are soon going to be seeing plenty of apps which incorporate these kind of ideas and really help us hack our learning process.


apricot13 1 day ago 2 replies      
I've been using Anki on and off for a while but I don't feel I can get much out of it without the ability to review my decks when I'm on the go.

Unfortunately AnkiWeb isn't a cure for my cheapskate problem, because the signal is so bad on my commute!

jaredandrews 1 day ago 0 replies      
I went to Thailand a few years ago to do a research project for school. One of the requirements before leaving was taking a two month intro to Thai course. I used Anki to make flashcards, and they worked pretty well. Apparently I was the only person to realize that digital flashcards existed and when I sent them out to the rest of the class everyone loved me after that, haha. Didn't end out learning that much Thai but the cards served their purpose in helping me pass the class. I especially liked the feature that let you play a sound clip for both the question and answer. Given the tonal nature of Thai it was great to have sounds accompanying each card.
greenmountin 1 day ago 0 replies      
Flashcards are great, but I can't do the initial learn that way. Does anyone know of a way to do SRS but also generate a classic memorization sheet with 2 columns and like 20 pairs?
smegel 1 day ago 0 replies      
I use AnkiDroid every day. Bit buggy but free and best on Android in my experience.
dylangeorge 1 day ago 5 replies      
Does anyone have experience learning JavaScript with Anki? I am still trying to figure out the best way to learn JS.
owynn 1 day ago 1 reply      
Anyone studying Japanese should check out Flashcard Tree: http://www.flashcardtree.com/

It's an SRS like Anki with a focus on integrating real video content like Anime into the learning process.

chappi42 1 day ago 1 reply      
Brrr, I didn't like, much too complicated and - I hope I remember correctly - the install size was huge.

(But it's free so what shall I complain? And people here seem to have a different view than me)

freedrull 22 hours ago 0 replies      
Seriously? This crap is so old. SRS is great and I can't believe someone hasn't made a better application than crufty old Anki yet. This is some seriously low hanging fruit here.
amjd 1 day ago 2 replies      
For people already using Anki, if there are any decks you can share, please post them in this thread. It could be useful for people just starting out. :)
xerophtye 23 hours ago 0 replies      
Anyone else here clicked the link thinking of Anki Drive? (anki.com)
nerdbites 1 day ago 0 replies      
Has anyone found or is willing to share an objective-c or cocoa deck for Anki?
nordicway 1 day ago 0 replies      
I've been using Anki for a hybrid approach to learn for some university courses, learning with the Android app during commute and physical paper cards at home.shameless plug: I wrote a small tool to export Anki decks to PDF: https://github.com/nordicway/a2pdfOnly works for simple cards though.
earless1 1 day ago 0 replies      
I wish there was some sort of demo on the site
nollidge 1 day ago 0 replies      
How can there be no screenshots?
underlines 1 day ago 1 reply      
I use anki to learn Thai since 4 years. Made my advanced decks with html5 audio tag and more advanced stuff like dictionary lookup link...
tedks 1 day ago 2 replies      
This comment was killed -- mods, why? It's the only comment in this thread mentioning image occlusion, a hugely powerful anki technique. I've reproduced it below in it's entirety.

"""Medical student here. I've tried many flashcard programs (StudyBlue, Quizlet, gFlashcard, MentalCase, and more), and Anki is by far the best for my needs.

One thing that puts Anki in an orbital beyond the other programs is the ImageOccusion editor add-on [1]. This lets you screenshot an image, draw rectangles over labels within that image, and then generate a flashcard for each label. This works insanely well for learning anatomy.

I remember about a month ago where I had two hours to learn the names of all the tracts and nuclei inside of the brainstem for a readiness quiz. It took about 10 minutes to create flashcards for them all, and an hour to memorize. I passed the quiz. Days later fellow classmates were still struggling to remember the same information.

1 - http://tmbb.bitbucket.org/image-occlusion-2.html"""

cube_yellow 1 day ago 0 replies      
If you use emacs org-mode, check out org-drill http://orgmode.org/worg/org-contrib/org-drill.html. It uses the same algorithms, allows you to tweak everything, and you can keep your flashcards alongside the relevant notes/code/files/issues/ToDos/bookmarks/contacts/feeds/calendar-entry/emails/thesis/spreadsheets/journals/diagrams/pictures/evernotes/etc. http://www.youtube.com/watch?v=1-dUkyn_fZA, rather than in a totally separate program.
How to throttle the FCC to dial up modem speeds github.com
257 points by mrsaint  1 day ago   123 comments top 27
PaulHoule 1 day ago 6 replies      
I'd like to see a law that government offices can only have an internet connection as fast as the slowest constituent.
smcl 1 day ago 1 reply      
From the comments

> Should a simple header/corner banner be injected also?

This would be good, particularly if it was served from a connection without this throttling.

dahart 1 day ago 1 reply      
The pictures comment lead me to Tom's list of speeches, the latest of which directly contradicts the claims being made here. Are we sure the FCC is the bad guy?


"Let me be clear. If someone acts to divide the Internet between haves and have-nots, we will use every power at our disposal to stop it."

"Prioritizing some traffic by forcingthe rest of the traffic into a congested lane wont be permitted under any proposed Open Internet rule. We will not allow some companies to force Internet users into a slow lane so that others with special privileges can have superior service."

IgorPartola 1 day ago 1 reply      
Can anyone shed some light on what the goal here is. I am all for messing with people for no good reason in subtle ways they do not understand but the author clearly has a purpose here? Is this to teach the FCC about net neutrality?
hartator 1 day ago 1 reply      
Am I the only one who think that childish?

You aren't even sure that will target the right people and not some kind of public worker who just doing some job!

cddotdotslash 1 day ago 0 replies      
If you want to simulate this in JavaScript for all users, I wrote this short snippet: https://gist.github.com/matthewdfuller/69f990f58f1e0850443e
thisjustinm 1 day ago 2 replies      
I like this concept but think about how the user at the FCC will perceive this. When your internet is slow who do you blame?

1 - The site, i.e. "Yahoo must be getting a lot of traffic today."

2 - Your ISP. ie. "Comcast must be overloaded in my area right now."

3 - Your equipment. i.e. "Maybe I need to restart my wifi / PC"

And then, somewhere way down that list you maybe, just maybe think - "I wonder if there is an organized effort by a small group of developers to set up their sites in such a way that my particular IP here at the FCC is having its speed throttled."

I agree that we need to spread the word about what is at stake with Net Neutrality but I'm not sure if this is the best way.

bavcyc 1 day ago 0 replies      
Cringely has a post on peering issues, slight allusion to the FCC issue:http://www.cringely.com/2014/05/06/14890/
m0dest 1 day ago 0 replies      
I could see this backfiring. If this gains any momentum at all, the media response from the ISPs will be obvious: "We appreciate that web developers are embracing their right to throttle certain customers. We're very happy that the FCC has decided to grant ISPs those same privileges."
sehr 1 day ago 3 replies      
Might as well do Congress while you're at it!
geekam 1 day ago 0 replies      
I'd like to have this done to all government agencies, at least all of the major ones.
BWStearns 1 day ago 0 replies      
Maybe add the congress and senate addresses? I know that they're not immediately responsible for the decision but they're a good group of influencers.
johnjwang 1 day ago 4 replies      
This doesn't seem like the best outlet to protest the FCC's stance on net neutrality. The people that are going to be affected most by this (if it does work) are going to be the rank and file at the FCC who have no decision making power and only hold a job there. The FCC has 2k employees and most of them don't even work in the relevant bureau that deals with net neutrality.

When news outlets say the "FCC's plan for net neutrality", what they really mean is the plan that Tom Wheeler and his office put together. You're going to hurt the wrong people if you do this and it succeeds. Why not write to your Congressperson instead or think of something that doesn't adversely affect a ton of people who don't have anything to do with the net neutrality debate?

bdamm 1 day ago 0 replies      
This is a foolish, dangerous game to play. You know, there are probably just as many people in the government who are trying to win the fight for the people.

What you really want is to identify the browsers of actual users in decision making capability, and target them. Surely, with the level of user tracking going on these days, this is a feasible concept.

Vanayad 1 day ago 0 replies      
Wouldn't it be awesome to have the major website/companies (like Facebook, Google, MS, Amazon, etc) have a landing page when accessing their site in a style like they did with SOPA but now the whole webpage is unavailable for ~1 minute "due to slowed down traffic" or something. I think that would get the attention of people. (Of course, this should run just for a limited time )
rynop 1 day ago 2 replies      
I'd be willing to bet Tom Wheeler and the "higher ups" of the FCC are not at the office a majority of the time.

It would be sweet if businesses in the service industry (like lets say Manny's) had pics of the top X guys at the FCC in their kitchen. See one of them walk in - just delay their service ;)

Here is Tom Wheelerhttp://tinyurl.com/mlwnlgr

kemmis 1 day ago 0 replies      
If you want to throttle IIS, I think the IIS Media Pack Bit Rate Throttling module might be a good place to start:http://blogs.iis.net/vsood/archive/2008/03/14/bit-rate-throt...
Datsundere 1 day ago 1 reply      
If only popular social media did this now. I bet the people over there check their facebook/twitter every 10 seconds.
justizin 1 day ago 0 replies      
the irony of using network management techniques to protest the lack of a law which could outlaw this very type of network management is pretty thick.

pure net neutrality could make it illegal to have software which treats any ip addresses differently.

there are some real issues to think through, but most of what's happening right now is emotionally driven banality.

dsjoerg 1 day ago 0 replies      
Way to stick it to the man... er, well, the man's crony's underlings.
SimeVidas 1 day ago 3 replies      
Can someone ELI5 this? Why would the FCC visit your site?
lukecampbell 1 day ago 1 reply      
I don't think the entire FCC, and all of their employees are really out to get you and I. A few maybe but I think it's somewhat too broad an approach to punish the few by punishing everyone associated with the FCC.

Their IT staff probably doesn't deserve this either.

JohnnyLee 1 day ago 1 reply      
I think the focus on the FCC is too narrow. In my opinion throttling all .gov addresses would be more effective.

Including .edu addresses would affect a population with plenty of time on their hands and who aren't afraid to let everyone know about their problems.

ksolanki 1 day ago 1 reply      
This doesn't seem very productive. As Gandhi once said, "Hate the sin not the sinner". This is not even punishing the sinner, who are not your everyday public workers but likely some lobbying corp.
higherpurpose 1 day ago 0 replies      
Does it come with a message that says tongue in cheek that you're on the "slow lane", and they should upgrade to the fast lane? Otherwise they may just think that site is slow.
BastianHof 1 day ago 0 replies      
How do we know these are actually FCC ips?
We are throttling the FCC to dialup modem speeds until they pay us for bandwidth neocities.org
257 points by kyledrake  2 days ago   103 comments top 17
valarauca1 2 days ago 2 replies      
I would really like to see larger corporations like google, facebook, reddit, 4chan, etc. do this to anyone connection from a government end point for a day or two.

Just make them see how bad removing net neutrality would be.

junto 2 days ago 3 replies      
Cloudflare need a one click opt-in button in their client admin, to turn on such a feature for anyone to do with promoting anti-net-neutrality.

I'd enable that setting and I imagine lots of others would. I imagine Cloudflare already have a lot of sites under their control.

__david__ 2 days ago 2 replies      
I'd throttle the FCC. What is their internal IP block?
wil421 2 days ago 1 reply      
This sounds like a great plan but I think the FCC probably cares as much about access to neocities as they actually care about the consumers.

If we could find a 3rd party the FCC depends on for their IT infrastructure and then limit that pipe, it might have some effect.

wfjackson 2 days ago 0 replies      
Isn't Neocities mostly text? In that case 28.8kbps is not going to be too much lag time. If that's the case they should add some latency instead, like 5 to 10 sec. That gets annoying quickly.
digikata 2 days ago 0 replies      
It would be a great fundraising idea for an awareness day where providers to the FCC sold off "fast lane" bandwidth to protesters to the point it choked off their link. Proceeds to go to EFF, et al...

Heck, sell off Whitehouse and congressional network "fast lane" bandwidth too.

bcRIPster 2 days ago 0 replies      
The more I think about it, the only way you're going to get movement on this is to get people pissed off, and for that to happen, someone like Google would need to apply this throttle to EVERYONE along with a link to a page where they could mock pay to have their speed restored. Now that would get some attention.
jebblue 2 days ago 0 replies      
I really wanted to check out their web site but it's on a CIDR banned in my firewall due to heavy spammer activity:


adventured 2 days ago 2 replies      
Why is it so commonly glossed over that Wheeler was nominated by President Obama?

If this were the Bush White House, there would be endless press stories (and rightfully so) about cronyism and how Bush & Co. were in the pockets of big business. Meanwhile, the Obama DOJ is shortly going to allow a Comcast merger that will lock up the cable industry under a monopoly. The same Comcast that donates overwhelmingly to the Democratic Party, and whose CEO is an Obama golfing buddy.

Wheeler isn't the problem. The Obama White House is, they're directing all of this.

How is it so many people are missing what's obviously occurring here.

brokentone 2 days ago 1 reply      
Can we open source this as a server module of some variety?
mful 2 days ago 2 replies      
This is a clever stunt, though I'm not sure how effective this strategy would be even on a more popular site. It seems unlikely that this form of protest would reach a large enough audience, given the relatively small number people who are directly affected, to gain any traction.

EDIT: Grammar

rynes 2 days ago 1 reply      
$1,000 is way too low - any lobbyist has more than that in his pants for "walking around money." They spend more than that taking a Govt. Official to lunch.
viggity 2 days ago 4 replies      
The internet has flourished because of a lack of regulation, not despite a lack of regulation. Let the companies duke it out and keep the government out of it.

If I were in netflix's shoes I'd just charge each comcast customer enough extra to cover the surcharge and mark it clearly on their bill. Let comcast deal with the deluge of complaints to their call centers.

ohashi 2 days ago 0 replies      
So how would you implement this on other sites? People started a campaign with JS snippet last time for SOPA. Would this be an apache/nginx line? I'm actually not sure how I would go about throttling IPs from my server.
lotsofmangos 2 days ago 0 replies      
Nice idea, would probably work if a big player like google or facebook did it.
gabriel34 2 days ago 0 replies      
What is it about the telecom business that makes it so propense to local monopolies?
nobody_nowhere 2 days ago 0 replies      
CoreOS Beta Release coreos.com
223 points by grk  1 day ago   35 comments top 10
orik 1 day ago 2 replies      
This is an especially exciting time for container visualization, considering Docker has their first 1.0.0 release candidate. (Docker 0.11)

I hope the CoreOS team manages to reach what they would consider a "stable, and production ready version of CoreOS" sometime around (after, but around) when Docker 1.0.0 lands.

SEJeff 1 day ago 4 replies      
I just wish there was a bit more people testing CoreOS on bare metal with PXE. There are pretty decent docs on it:



But I've not heard a lot from people with clusters of them. Perhaps I'll have to snag a small cluster of lab boxes and give it a go myself!

jedberg 1 day ago 0 replies      
CoreOS is awesome and "makes you do cloud right" by forcing you to do things like make sure your app can die and restart cleanly and make you store your data in a resilient way.

I'm super excited by this release and look forward to this shaping the way people do cloud.

StavrosK 1 day ago 2 replies      
Does anyone know of a tutorial on how to easily get, for example, a Django app (nginx + uwsgi + postgres + redis) running on CoreOS with Docker? I'm afraid all these parts of the stack are too many to wrap one's head around without being familiar with each layer.
russell_h 1 day ago 1 reply      
Locksmith looks awesome. Is there a way for services to cause their node to retain its lock for some time after a reboot, for example to allow replication to catch up or similar?
mey 1 day ago 3 replies      
What hoops do you have to do to download a release of this system? Either I'm blind (very possible) or you either have to join their developer network, pay them or build it from scratch on github?
CSDude 1 day ago 0 replies      
I use CoreOS for my research, VM allocation problems, and it works well when I send them jobs via Docker HTTP API, it is easy to maintain them, it works fast. Hope to see final soon.
hauleth 20 hours ago 1 reply      
Has anyone tried CoreOS with Consul instead of etcd?
seaghost 1 day ago 0 replies      
I see the bright future for this OS.
jay-saint 1 day ago 1 reply      
This OS makes me want a sandwich cookie consisting of two chocolate disks with a sweet cream filling in between.
Free Your Android roussos.cc
222 points by comzeradd  2 days ago   162 comments top 32
mikevm 2 days ago 10 replies      
I think this whole exercise gives you a false sense of security. The thing is, there's a closed-source firmware running on the baseband processor which can do rather nefarious things: https://www.fsf.org/blogs/community/replicant-developers-fin...

So if you really want to be 'free', get rid of the cellphone.

Spittie 2 days ago 3 replies      
As a small "experiment", I've been trying to use only free software for a while (firmware/driver blobs excluded) on my Nexus 7 (2012).

I can say that it's definitively doable, but it really depends on what one need. If what you need is a browser (Firefox), an email client (K9 & the standard KitKat client) and a Terminal (ConnectBot, Hacker's keyboard), then you won't miss the Play store at all. There are also some good clients for social/media consummation (Tinfoil for Facebook, Twidere, TT-RSS...).

If you need something more, then it's an hit or miss. For maps, OsmAnd+ is nice, but not nearly as good/user friendy as Google Maps. Forget about the latest/cool apps. Forget games, unless you want to emulate some console (and also, running closed games on top of an open emulator is "ethically right"?).

It gets better if you're a little more lenient. For example, I have some Humble Bundle games installed. Those come drm-free, and (usually) don't depend on the Google services. One can also get applications from the Play Store, and install just the .apk for it (I can't remember if one can buy applications with the web interface, or has to do it from the mobile store). In the end, the choice is "I want to avoid Google" or "I don't want proprietary applications on my phone". In the first case, there are many alternative stores (SlideMe, AndroidPit, Amazon...).

Another problem is that F-Droid is small, and doesn't even have all the (F)OSS applications available for Android. For many, the only way to get them is either the Play Store or compile the source. I'm not blaming the F-Droid project, they're doing a terrific work for their size, but it seems that there's little interest in a completely open store, even from the developers.

That said, I'm still running this setup, but I'm considering just giving up and installing the Play Store/Google services because after a while seeing new cool applications but not being able to try them is kinda painful.

On a side note, I haven't noticed any increase in battery life/speed of my device. So it seems that Google's applications aren't an huge battery/resource hog.

icebraining 2 days ago 2 replies      
The good thing is that these parts are firmware, thus non-executable code.

What? Firmware is definitively executable, it just doesn't run on the CPU.

And besides, if you look at the list of proprietary files being copied, there are plenty of normal libraries: https://github.com/CyanogenMod/android_device_semc_iyokan/bl...

probably_wrong 2 days ago 8 replies      
This is more of a rant, but still, mildly relevant.

I tried to free my Android. I did, I really, really did. I overcame the "your version is not supported by Cyanogenmod" message with a custom build that took forever to find. I overcame the "download the Windows and Windows only installer". I managed to find the Windows-only instructions for unlocking the Bootloader. I managed to install custom drivers for the phone, despite the fact that Windows doesn't really want you to do that anymore.

And then I got stuck, because my phone and Windows 7 are not in speaking terms, so the fastboot tool does nothing.

I spent a couple hours on the task, and yet I haven't even managed to complete step 1. The dead links, the contradicting instructions, the forums full of unanswered questions, it just proved to be too much to me. I'm down to the magic advice now - advice in the lines of "try a different USB port", "change your USB cable" or "restart your computer" (of course). Should I succeed in my task, I may or may not have access to Bluetooth, video and/or tethering - there are contradictory accounts, so I won't really know until I'm done.

"Very detailed instructions"? Yeah, right. How about useful instructions instead?

eli 2 days ago 3 replies      
> "...stops using Google's DNS servers, that has a permanent log policy."

This is misleading. Google's DNS privacy policy is very reasonable. The only permanent logs are at the city/metro level. I trust their servers far more than I trust Comcast's or Verizon's. https://developers.google.com/speed/public-dns/privacy

babuskov 2 days ago 1 reply      
I find it quite interesting that blog post about such topic uses Google API JavaScript which can track you, and link to your Google account that you are reading it and mark that you are interested in such stuff.
cwyers 2 days ago 0 replies      
This is silly. There's two types of people in the world: people who are not of interest to the NSA, and people who are.

FOR PEOPLE WHO AREN'T OF INTEREST TO THE NSA (THIS IS MOST PEOPLE): You're putting massive amounts of effort into keeping the NSA from getting your data, which, let's be honest, is just chaff they're collecting so they can pick through it for wheat. You really want to do something against the NSA? Start sending your data directly to them so they have to waste time sifting through the logs of what cat photos your friends want you to look at.

IF YOU ACTUALLY ARE A TARGET OF INTEREST TO THE NSA: Everything in here is completely inadequate to secure you against the NSA. In fact, you are probably increasing your own inconvenience more than you are theirs.

joelanders 2 days ago 1 reply      
I just submitted a blogpost from the Tor Project (Mission Impossible: Hardening Android for Security and Privacy) which covers everything between removing the microphone (from a Nexus 7) and baseband software to recommended apps and configurations.

On HN: https://news.ycombinator.com/item?id=7715041

Original: https://blog.torproject.org/blog/mission-impossible-hardenin...

voidlogic 14 hours ago 0 replies      
" CyanogenMod is not perfect. It containsscripts that extractproprietary code necessary for some phone components (eg. camera) to work. The good thing is that these parts are firmware, thus non-executable code."

I'm either misunderstanding what is being said, or the author has no idea what they are talking about if they think firmware does not execute...

userbinator 2 days ago 0 replies      
Looking at the Replicant status, I'm surprised that they managed to get Telephony/3G working without non-free firmware (presumably) but not WiFi/Bluetooth/GPS, since the telephony protocols from what I understand are far more "closed" than the rest.
gtklocker 2 days ago 1 reply      
The idea of freeing your phone is cute, however, there are some considerable dangers.

* The software that you give access to your phone (be it drivers or the recovery images themselves) isn't signed by anyone. Some of the software isn't even available via HTTPS. I think it's a bad idea to trust some HTTP and unsigned executable more than Google, who are making all they can to ensure the integrity of anything that runs on your phone.

* Unlocking your bootloader is a bad idea. Google erases all your data whenever you unlock your phone[1]. They don't hate you, they've just realized the security issues that come from having an unlocked phone. Take this for example: You're at the airport and ready to leave. However, TSA stops you for a "random" check. They have your phone for about 5 minutes and there's nothing you can do about it. Now, they could ask you for your passcode but then you'd know something's wrong. Now, your bootloader is unlocked, which means they can see your device at firmware level and alter it to their liking it. Nothing can stop them from plating a backdoor in there or just making a copy of all your files and you wouldn't know. That's why Google does [1].

[1]: http://wiki.cyanogenmod.org/w/Install_CM_for_maguro#Unlockin...

antihero 2 days ago 2 replies      
A good few steps for people looking for alternatives. You still have a proprietary radio chip in your phone though. That is where the bad stuff likely hides.

I guess you have to ask yourself - who are you competing with? Do you just not want to be used as an advertising product? Or are you hiding from the NSA?

anvandare 2 days ago 2 replies      
What I would really like, is just to be able to install a bare-bones linux on my phone. Android (even Cyanogenmod) is just so limiting and 'user friendly' (i.e. as few configuration options as possible so as not to confuse the masses). I feel like I'm being hand-held by my hand-held.
liotier 2 days ago 1 reply      

  - Remove Google analytics from CyanogenMod by flashing freecygn.  - Stop CyanogenMod from reporting tethering usage to your     provider, by changing the "tether dun required" setting.
How is that not default in Cyanogenmod ?

quadrangle 2 days ago 0 replies      
Actually, Cyanogenmod is going in a not-so-free direction and the better option now is OmniROM.

Also, the best reference for all these issues is http://prism-break.org/

qb 2 days ago 0 replies      
This list of FOSS alternatives to popular proprietary Android apps is longer and more usable than a simple blog post: http://droid-break.info/.
donniezazen 2 days ago 1 reply      
More than anything I would like to use open protocol for chatting. Personal communication is a mess. I currently have Hangouts, Facebook Messenger, Skype, Viber and Whatsapp on my phone. General folks use whatever is popular and XMPP is not really a choice. Moreover I looked into Jabber and the account sign-up page's certificate has expired and account sign-up has been inactive for close to a year. It is hard to establish trust over such a network.
dinduks 2 days ago 0 replies      
Nice read. I too highly encourage people to use CyanogenMod.

One thing that was worth being mentioned is one of the very best features of CyanogenMod: Privacy Guard.

It basically allows grained control over what permissions can an application have (read/write contacts, phone logs, location, etc). It's of course possible to allow an access all the time, or just when needs it.

Thanks to privacy guard, one can use applications that might compromise privacy, without compromising privacy.

When using the "ask every time", I've been surprised how many applications try to access my info for no obvious reason, sometimes even when your phone's idle.

greenwalls 2 days ago 1 reply      
"So if you are using Iphone or Windows Phone, let me remind you that both of these companies are in the infamous NSA slides for giving access to users private data." I checked the link he refers to and it shows Google is also a Prism company, am I wrong?Oops, I see now he mentions this.
stayparanoid 2 days ago 0 replies      
Well dude, that's exactly what I've done on my phone some months ago, but you know what? after heartbleed i installed back gapps and some other non free (as in freedom) apps.Heartbleed has been a lightening to me. It statistically says a lot about software.
higherpurpose 2 days ago 0 replies      
> Remove Google analytics from CyanogenMod by flashing freecygn.

> Stop CyanogenMod from reporting tethering usage to your provider

I get why they are using Analytics, but why is a ROM like CyanogenMod reporting tethering usage to the carriers?

> Change DNS settings so that CyanogenMod stops using Google's DNS servers

This is probably something "nice" they thought to do for their users, but I'd rather not have that enabled by default in CM. If they're still trying to be a "privacy ROM" and whatnot, they should be using an OpenNIC DNS or set up their own encrypted DNSChain (https://github.com/okTurtles/dnschain).

explorigin 2 days ago 1 reply      
Please don't consider F-Droid to be secure. See Moxie Marlinspike's comments here: https://github.com/WhisperSystems/RedPhone/issues/143
Kiro 2 days ago 2 replies      
I don't care about NSA or privacy. Is there still a reason for me to choose Replicate instead of CyanogenMod? I want my device to be fast.
1010011010 2 days ago 1 reply      
How does the 'freedom' of Android compare with iOS and Windows Phone?
lukabratos 2 days ago 1 reply      
Cryptocat is nice for messaging: https://crypto.cat
s2dar 2 days ago 3 replies      
I think Android will never be a 100% real free system but Firefox OS is the true open source and free system :)
ghalusa 2 days ago 0 replies      
It's much too late for all of us. What's done is done. You can't reverse it.
bananas 2 days ago 2 replies      
My approach is different. I still use a completely Google tied Moto G with everything turned on. Hiding in plain sight (the grey man principle) is a better tactic.

If privacy is required, I leave the handset at home and get on my bike. There is no hiding unless you turn it all off.

tempodox 2 days ago 0 replies      
Ditch Your Android.
poopsintub 2 days ago 1 reply      
I stopped skimming at "Firefox".
miguelrochefort 2 days ago 2 replies      
Since when is privacy necessary for freedom? For all I know, privacy actually is what keeps us away from freedom.

When is this meme going to stop? When are people going to realize that there's no point in glorifying and seeking privacy?

This article is a perfect example of everything you lose when you get into this craze. Why would anyone actively limit their opportunities and disconnect themselves from others? For an imaginary reward?

Privacy is not a trade-off. It's plain loss.

The Scraping Problem and Ethics osvdb.org
217 points by codezero  3 days ago   124 comments top 25
ChuckMcM 3 days ago 8 replies      
This is one of the more interesting policy questions on the web. Our search engine crawls a lot of blogs and what not on the web, criminals who want to find unpatched wordpress sites try to acrape our crawl by sending automated (scripted) queries to find them. We have developed a number of defenses over the years and pretty regularly ban them[1]. Here is the weird part though, if they hired 300 people on mechanical turk and paid them each a dollar to do one search, it probably would get them more information. Look at folks like 80legs or other 'distributed' scrapers. They exist almost solely to subvert these service terms. Are they evil? Creative?

One of the things that stands out is called out in this article. The people involved really want this information, so much that they are willing to expend time and effort to construct scraping bots and what have you . Why not just buy it? How is it that someone gets a request from their boss to get some information, but their boss expects them to get it for free? Can you imagine if they said, "We need pens, pencils, notebooks, staplers, the works for the office here. Oh and you can't spend any money getting that stuff, just get it here." Would they construct some elaborate raid on a nearby Office supplies store using a mercenary army of criminals? Why do that with information?

We did an experiment where we would 'grep the web' for you, basically run a regex over a multi-billion page crawl, give you the first 50 results for "free" and you could buy the complete set. I think we sold exactly one of those.

It is a weird thing, the OP captured it perfectly.

[1] Its a violation of the terms of service.

jmzbond 2 days ago 0 replies      
This also goes way beyond scraping, in the sense of small start-ups doing all kinds of hacks or clever manips to stay within the bounds of a free trial service.

As someone who sees both sides I don't know what to say. I'm running test landing pages on Heroku with New Relic that pings the sites every minute to ensure the dynes keep spinning and my users don't experience downtime. While I'm careful to stay within fair use, this is at best obnoxious, because if everyone did this, Heroku would certainly need to redefine what's free. From my POV though, I am a bootstrapped entrepreneur and supporting 5 landing pages. I simply don't have resources to pay for a dyno and test everything I have in my head, especially not combined with the many other resources I'd need to start paying for as well.

Or consider the kid in Florida who used Parse' free account for hundreds of thousands of users. [1] (The article was on HN a few weeks ago, this was not it's central point, just something I took away relevant to this comment.)

Part of the cause I think is that we live in a world where we're so used to having things be free, it becomes an entitlement. Another is that all these examples of start-up hacks and hustle stories, we kind of laud, don't we? Everyone talks about how Airbnb scraped Craigslist and got a huge boon that way, but few in critical tones. Should we? Or is that how competition and new products get created (i.e., if the scraping hadn't happened, perhaps Airbnb and the whole sharing economy would be less successful today).

These are philosophical questions, and I don't really have a solution, but they are things to think about.

[1] http://pando.com/2014/04/30/how-a-florida-kids-stupid-app-sa...

DigitalSea 3 days ago 3 replies      
If I were in OSVDB's shoes, I would call these people out in an email and ask them to pay a licencing fee. McAfee have always had a shady past, even when they shook themselves clean of John, they have a history of scam-like behaviour to make a quick-buck.

You should be rate-limiting how many requests free API users can make, like; Twitter, Facebook and every other Internet provider does via their API. Make it harder for people to obtain the information (to the best of your abilities) and paying will become more of an option because they won't go to the trouble of scraping it if it's impossible and will take a lot of time to do so.

Think of your offering as a car. You currently have no car alarm or immobiliser, if you install a immobiliser and car alarm, you will make it very hard for a thief to steal your car.

paulhauggis 3 days ago 2 replies      
What about Aaron Swartz? He essentially did the same exact thing to the computers at MIT and he is somehow a freedom fighter when someone doing the same thing to the osvdb website is considered "unethical".

This is straight from the open security foundation website:

"We believe that security information and services should be easily accessible for all who have the need for such information and services"

alexnking 2 days ago 3 replies      
I'm more and more concerned that the legal and cultural environment for web scraping would make it hard for a company like Google or Yahoo to be founded today.

The internet isn't about "don't take my stuff", it's about spreading that stuff around. I'm confused by people who want to make their data public, but want to control exactly how people access it.

im3w1l 2 days ago 2 replies      
I was once developing a program for automated trading for my own personal use. In the beginning I made periodical requests to my broker, scraped out the price info, and made orders if the price was right.Once I had something sort of working I decided that I wanted to do this the right way and ask them for permission.They told me I would have to subscribe to a feed through some other program. After many hours of reading the manual and trying to figure out how to transfer the data to my application I again got it sort of working. But I had already started to lose interest and other things had come up in my life.

How is this relevant? Well I would have much preferred paying for scraping, than trying to learn some new api. It increased the transaction cost. If you further have to negotiate with a partner company, that sounds like even more transaction cost, from having to send emails back and forth and the mental effort of negotiating.

duey 3 days ago 2 replies      
The OSVDB website contains no signup page for commercial access. No pricing either, purely sign up via contacting someone. From my experience whenever I see this, I just refuse to use the service and look elsewhere. Contacting someone is annoying and opens you up to repeat sales calls. Perhaps they should make commercial API access easier to access rather than complain about scrapers.
cproctor 3 days ago 2 replies      
I can't help recalling a post here a couple of years ago about the concept of "hellbanning" scammers on ecommerce sites--in short, making it look like everything is going fine, while actually isolating them completely from your business logic. Orders with stolen cards appear to go through, and send confirmation emails, but no real order is generated... In this case, you could transparently poison the results served to identified scrapers with 5% bogus vulnerabilities.

Or is that about as ethical as spiking trees to prevent illegal logging?

kylemaxwell 3 days ago 3 replies      
Web scraping isn't a crime - the simple act of downloading the data should not be a problem here. (The reuse of the data might be, depending, but we don't have that information right now.)

This doesn't even rise to the level of what Weev did.

lugg 3 days ago 0 replies      
Pretty sad. McAfee I dont really expect much less from. They've always been a bunch of scam artists / con's in my mind.

I dontbhave time to look but couple of things striked me as odd. Is there a reason you dont lock down your request limits? Also why dont you secure access? Allow free accounts to be made and issue apis keys for them, at least that way you can much more easily rate limit access to the apis and heavily rate limit front end web requests down to reasonable numbers.

yaur 3 days ago 1 reply      
Shouldn't you at least be disallowing /show/* in robots.txt? Not that scrapers are necessarily going to respect this... but the way your set up it seems like this is semi-legit behavior.
jwcrux 3 days ago 0 replies      
As a somewhat unrelated side note, I'm actually working on providing a free API written in Golang for CVE and CVSS entries. You can find it here: https://github.com/jordan-wright/cve-api
msie 3 days ago 0 replies      
Why not put all information behind a login page and force people to sign up? It looks like this site will be used by only a few people anyways. You can then also track scrapers by login.
e28eta 2 days ago 0 replies      
We had a former Google Maps PM give a talk about building APIs, and he addressed scraping. Something he pointed out is that the traffic pattern from scrapers differs from regular users. Regular users make requests for the same things often. Scrapers usually only request any given item once. The really obvious ones do it in order from the beginning. He had a hilarious map showing the requests of someone requesting business information starting from the top left corner of the map. They got really good information on all of the businesses between the North Pole and Greenland before being blocked.
elwell 3 days ago 3 replies      
Is it ethical to scrape from a scraper?
kevcampb 3 days ago 0 replies      
I see that the "Open Source" Vulnerability Database changed it's name to the "Open Sourced" Vulnerability Database in July 2013.


I guess they were hoping no one would notice the subtle but substantial change to their service

pbreit 2 days ago 0 replies      
It's hard to get excited about this. The data owner supposedly has a mission to make the data available but then is concerned with such a thing. It doesn't strike me as that difficult or expensive to make that sized database available.
Gigablah 1 day ago 0 replies      
Looks like they forgot to conceal the full name and email of the guy from s21sec in one of the quoted emails...
binarysolo 2 days ago 0 replies      
Given these people's immediate reaction to resort to scraping, I'm honestly kinda surprised they didn't setup basic practices of at least going through proxies (or free ride off of Tor, ugh).
im3w1l 2 days ago 0 replies      
>including an expansive watch list capability,

I would avoid the word expansive. Too similar to expensive. Especially when emailing people who are not native English speakers.

NoMoreNicksLeft 2 days ago 0 replies      
Maybe it's the supervillain in me, but I think I would try to come up with software to recognize the scraping attempts, and rather than ban them just have it generate fake data on the fly.
bitJericho 2 days ago 0 replies      
I would hope they sent a bill.
diziet 3 days ago 0 replies      
What is the price? I assume the price is in the 5-10k+/month range, which is a reasonable amount for data like this.
detroitcoder 2 days ago 0 replies      
Amateurs. If you are going to crawl distribute it across unique IP addresses.
notastartup 2 days ago 0 replies      
Scraping is not an ethics discussion. It's what you do with the data that falls into the topic. Selling email lists scraped from websites to spammers would be one. Using email lists to prevent spam would not be one.

The article is basically saying "I want to charge people for information I have made public online, they won't pay, so they are obviously thieves by refusing to do it manually by hand like they are supposed to."

Gimme a fucking break here. If you don't want the information to disseminate, DO NOT PUBLISH IT ONLINE.

Amazon granted patent for taking photos against a white background uspto.gov
215 points by edandersen  16 hours ago   145 comments top 38
jimrandomh 13 hours ago 5 replies      
Primary Examiner: Blackman; Rochelle-Ann J. Other patents by the same examiner: http://patents.justia.com/examiner/rochelle-ann-j-blackman

It is the examiner's job to reject patents which aren't innovative, and that clearly hasn't happened here.

josephlord 15 hours ago 3 replies      
This appears to be the broadest claim at a quick glance. If you do at least one thing different to this I believe you would not be covered:

2. A studio arrangement, comprising: a background comprising a cyclorama; a front light source positioned in a longitudinal axis intersecting the background, the longitudinal axis further being substantially perpendicular to a surface of the background; an image capture position located between the background and the front light source in the longitudinal axis; an elevated platform positioned at a first distance from the elevated platform and between the image capture position and the background along the longitudinal axis, the front light source being directed toward the elevated platform; a first at least one rear light source positioned between the elevated platform and the background, the at least one rear light source directed towards the background; a second at least one rear light source positioned in a lateral axis intersecting the elevated platform and being substantially perpendicular to the longitudinal axis; at least one light shield positioned between the second at least one rear light source and the elevated platform, the at least one light shield configured to shield the elevated platform from light emitted directly from the second at least one rear light source from lighting an upper surface of the elevated platform; and wherein a top surface of the elevated platform reflects light emanating from the background such that the elevated platform appears a substantially similar color as the background and a rear edge of the elevated platform is substantially imperceptible to an image capture device positioned at the image capture position.

Claim 1 (the only other independent claim) seems much narrower so that if you aren't using an 85mm lens AND some particular settings of the camera you wouldn't be covered.

Note: I am not taking a position on the validity or use of this patent just that the title[0] of this thread seems to be something of an extreme simplification to me.

[0] "Amazon granted patent for taking photos against a white background" (in case it changes).

rjdagost 15 hours ago 2 replies      
The abstract sounds far-reaching, but for patents the claims are what matter. And the claims of this patent are extremely narrow. It shouldn't be difficult to sidestep these. My general rule is that if you see specific numbers in the claims ("eighty-five millimeter lens", " configured with an ISO setting of about three hundred twenty", etc.) you probably have a pretty weak patent.
nopinsight 12 hours ago 0 replies      
I've long wondered if this is the result of measuring the Patent Office's staff productivity by the number of patents granted per staff or working hours. Higher 'productivity' by such metrics could lead to higher budget or promotional opportunities for their managers, for example. Such things would skew their processes and judgment to allow for more patents being granted, while benefiting most internal decision makers.

If anyone knows the metrics/KPI used internally and by the governing body of the Patent Office, please let us know. It could help point to some ways to reform the system in the short term (without needing to go through Congress).

We could create a proposal to reform the system by changing their internal KPI and penalize the Patent Office and individual examiners when too many of the patents they grant are not held up by court or judged by an independent committee to be inappropriate, for example. (The penalty should be strong enough to counterweight the benefits they gain from granting more patents.) This should not require Congress action and the Executive branch can start a reform quite quickly.

torbit 10 hours ago 2 replies      
From the verge comments by TheGage

"Patent attorneys like myself find these articles rather uninformed. Prosecuting a patent before the USPTO nearly always (+95%) involve an Office Action in which an Examiner at the USPTO searches the prior art and then presents one or more prior art based rejections. The job of the patent attorney is to argue the claims of the patent in terms of novelty and non-obviousness over the prior art.

The file wrapper, which is available to anyone at this Government website who can complete the USPTOs CAPTCHA and enter the US Patent No. (which is 8,676,045 for this patent), provides this dialog. In the prosecution history for this patent, you can see an Office Action (search Non-Final Rejection in the Image File Wrapper tab) and the patent attorneys reply, prior to issuance of the patent.

Now, Ill be the first to admit that the Examiners often do not present the most likely or on point prior art, but to say that granting the patent doesnt involve prior art is incorrect. We can debate whether a granted patent amounts to anything and a lot of that depends upon context.

Finally, what so many get wrong (both journalists and the public) is that patent infringement hangs on the claims. That is, the claims define the scope of the invention. The detailed description/specification provides various examples in support of the claim. The Title is often vague due to case law imputing narrow title limitations into the claims (so never depend on the Title when exclaiming what someone has patented). In this patent, the claim is something like a page and half long, having over 7-8 features, each of which you would have to prove before a court that the alleged infringer has done in order to be awarded damages.

Indeed, in reviewing the claims, Amazon hasnt just patented taking photos with a near perfect white backdrop, but according to the claim for Amazons patent, I would argue that Amazon patented a very involved and strictly defined way (there even ratios in the patent so avoiding infringement would be as easy as having slightly different ratios) by which to take photos with a near perfect white backdrop.

Hope that helps. I know few patent attorneys bother (and were a rare breed with only ~70K of us registered patent agents from the start of the patent system), and Im probably wasting my time because it makes for less dramatic coverage, but I would like the anti-patent vibe on cites I otherwise enjoy to be less sensational and more informed.



a3n 14 hours ago 3 replies      
There's a small voice, way way in the back of my head, that's wondering if corporations are in the beginning of a campaign to reserve everything doable and expressable to themselves.

That sounds ridiculous, except ... well, patents like this, and the apparent willingness of the Patent Office to grant anything that can be said on an application.

mnicky 14 hours ago 0 replies      
Here's discussion on patents.stackexchange: http://patents.stackexchange.com/questions/6543/photography-...
HillOBeans 12 hours ago 3 replies      
I have noticed several comments mentioning prior art as a defense against absurd patents. With the recent passage of the America Invents Act, the United States is now a "first to file" country, not a "first to invent". If you do invent something new, you basically have only one year's time to get a patent application filed before running the risk of losing it to another filer (provided you have publicly demonstrated or sold your invention). Demonstrating that you invented the product first will do you no good. It is possible to extend this by a second year by filing a Provisional Patent Application (a much simpler, less expensive filing that only grants patent pending protection for a year until you file an official patent application). On the surface the AIA was intended to make obtaining patents easier for the layperson, but the expense of filing with the USPO actually makes it much more difficult for the lay inventor to defend themselves against a large entity with money and lawyers. It also encourages inventors to hide rather than demonstrate their ideas, lest someone else file a patent application first....
VonGuard 12 hours ago 2 replies      
I get sick of people fretting over stupid patents. Take matters into your own hands and invalidate these fuckers. I think I found some prior art just Googling around:


Frankly, this patent is even broader than Amazon's, as it includes support for multiple background colors, and it allows for the lights to be anywhere, as opposed to some specific position Amazon delineated.

funkyy 14 hours ago 1 reply      
Its not about how narrow patent is - its still picture on white background. Such a picture with this specs might be done for art (picture art is huge part of modern culture) and afaik law prohibits patenting art...I feel sorry if anyone breaks the patent by mistake and will get nice letter from Google that they need to get rid of their picture...
yawz 14 hours ago 0 replies      
The US patent system must be a money making scheme because it looks like (at least to my untrained eye) they're granting patents for anything. I thought the original idea was to patent inventions. Huh!
acomjean 14 hours ago 0 replies      
"image capture device equipped with an eighty-five millimeter lens, the at least one image capture device further configured with an ISO setting of about three hundred twenty and an f-stop value of about 5.6"

crazy. But very specific in some ways. 85mm lens is a great lens for this stuff and portraits. I see sales of the 90mm tilt shit increasing..

The diagram shows a person as a product. There is a lot of prior art out there for a lot of lighting setups, often diagrammed.

If you want to take better flash pictures may I humbly suggesthttp://www.strobist.blogspot.com/

transfire 15 hours ago 1 reply      
So we can patent camera and lighting angles now?
devinmontgomery 13 hours ago 0 replies      
Startup checklist item #378: Get some bullshit patents we don't even believe are valid to use defensively and/or pretend we have some protectable IP. Of all the things I don't want to spend time on, this is right up there.
damon_c 11 hours ago 0 replies      
callesgg 8 hours ago 0 replies      
On the practical side:

Does this mean that in the us legally speaking putting lights and camera like on the picture requires consent from amazon?

sitkack 10 hours ago 0 replies      
I am going to file a new patent for taking arbitrary volumetric images of objects placed inside virtually infinite integrating sphere [1] illuminated by arbitrary combinations of spectral emitters (polychromatic light sources).

[1] http://en.wikipedia.org/wiki/Integrating_sphere

Zigurd 14 hours ago 0 replies      
From the detailed description, this is the problem they say they are solving:

> Prior art solutions for achieving such a result for capturing images and/or video of objects set against a true white background include solutions that often involve some type of image retouching, post processing, "green screen" techniques, or other special effects and image and video manipulation to achieve the result of an object set against a true white background. Accordingly, as will be described herein, embodiments of the present disclosure provide a studio arrangement in which an object can be photographed and/or filmed, and the images and/or video captured by the camera achieve the effect noted above without any image manipulation due to the particular arrangements of the subject, camera, lighting and background.

First of all, that's not true. You can buy various products on Amazon that do the thing they think they are solving.

Secondly, while other people have noted that to fit the coverage of their claim #1, you would have to be using a particular length lens, etc. They are just describing a typical portrait studio configuration. There is nothing novel about the configuration they are describing. Not the focal length, not the aperture, not backlighting to prevent objects throwing shadows, etc. Not one novel problem or solution.

The patent they refer to, 20030206735, is a patent for one such device, a lighting box. This patent refers to a previous Amazon patents for photographing against a white background. This previous patent appears even less novel and appears to be patenting lighting a backdrop to eliminate shadows. The other patents referred to seem to be irrelevant.

While I doubt the lighting box patent is really novel, at least there is a thing they are patenting. Both Amazon patents are patenting an arrangement of bog standard lights, backdrops, and cameras, arranged in obvious ways. There is no invention, no thing in these patents. If you still had to make patent models, the model would be... nothing!

PaulHoule 13 hours ago 0 replies      
This reminds me of the application to the jp patent office on playing with a Kendama. The difference is that the jp office didn'nt approve it.
kileywm 12 hours ago 0 replies      
I have long understood the primary incentive to patent an idea is to protect research and development investments. It makes sense from the perspective that inventions can often be reverse engineered for a fraction of initial R&D cost. I could be wrong, but if I am not... how much R&D went into this little gem of photography 'innovation'.
mahdavi 14 hours ago 1 reply      
There are tons of prior art out there to invalidate this stupid patent. Wondering what lawyers at Amazon where thinking when they filed for this patent.
chrisBob 15 hours ago 1 reply      
Does anyone know why the defensive patents were eliminated? If Amazon is being honest with the goal of this then that would have been perfect.
wslh 12 hours ago 0 replies      
Just imagine what happens if you implement a One Click over a white bakckground!
Lunatic666 14 hours ago 0 replies      
I'm always laughing my ass of when I read for which stupid shit you can get a patent in the U.S. If you seriously ask for a patent like this in Europe, they tell you to take your pills and get the fuck out of their office
iksilon 14 hours ago 0 replies      
Oh dear... I should have been a lawyer. I could troll for money, instead of wrecking my head with processing myoelectric signal on a mean 16MHz machine. [no offense to lawyers]
surana90 13 hours ago 0 replies      
Even if you change the title to - "Amazon granted patent for taking photo in a particular way." It still sounds really bad.
binocarlos 14 hours ago 1 reply      
Wow - cornflakes! (can we patent that?)
atmosx 13 hours ago 0 replies      
Any plans to reform the patenting process?? Anyone???
fuckedup 15 hours ago 1 reply      
This stupidity need to be stopped ..
31reasons 12 hours ago 0 replies      
Okay so this patent is for background color of RGB:1,1,1 Do they have patent for RGB:1,0.99,1 ?
ZenPro 14 hours ago 1 reply      
Admittedly I only did a couple of years of law school before switching but...

...surely any evidence of prior use of the patent arrangement to the patent is a get-out clause for anyone being charged with infringement.

I can claim originality of a printing press all I want right up until someone can prove a printing press as I designed it existed prior to my design.

90% of patent investigation is finding anything even remotely close to what you are being taken to court for infringing.

I am certain a whole repository of photographs exist that used this setup prior to the patent filing.

woopdy 13 hours ago 0 replies      
Next up: patent for taking pictures with any device.
kichu37 13 hours ago 0 replies      
This looks like it's for product pictures
afternooner 15 hours ago 5 replies      
I like how all the comments so far are defending the fact that the patent isn't quite as broad as the title suggests. Sure, they are patenting taking a picture against a white background when perpendicular against a... Who gives a fuck. This is a patent to take a picture against a whit background. There is no invention here. The only thing novel or unique is the fact is that some genius realized that with enough legal terms, you could patent a photo shoot. Shit America, get it together.
neom 14 hours ago 5 replies      
My degree is in Digital Imaging Technology, I worked out of college for many years as the CEO of a film startup (stillmotion) that did quite well (way before I joined DigitalOcean).

This disgusts me. Here are the idiots behind it(*potentially, as I've not talked to them, I can't confirm 100%):


Gross gross gross gross.

mantrax5 13 hours ago 1 reply      
How dare they describe a good way of getting even white background on photos so others can use it for a nominal (or no) fee?

This kind of attitude that any patent is only filed so to be used for a lawsuit is part of the problem.

What's wrong with patenting this method of taking photos for others to see and use?

Has anyone contacted Amazon and asked if they license this patent and for how much? No. Let's hate.

kbrower 15 hours ago 0 replies      
its seems to be a bit more specific than that
jestinjoy1 14 hours ago 0 replies      
I don't have any idea of US Patenting works. Its ok some idiots apply for patents like this. How it got accepted! Is it like I can say anything i like and got accepted!
Are you paid to look busy? pbs.org
212 points by resdirector  12 hours ago   192 comments top 28
ryandrake 11 hours ago 8 replies      
We should do away with the absolutely specious notion that everybody has to earn a living. It is a fact today that one in ten thousand of us can make a technological breakthrough capable of supporting all the rest. The youth of today are absolutely right in recognizing this nonsense of earning a living. We keep inventing jobs because of this false idea that everybody has to be employed at some kind of drudgery because, according to Malthusian Darwinian theory he must justify his right to exist. So we have inspectors of inspectors and people making instruments for inspectors to inspect inspectors. The true business of people should be to go back to school and think about whatever it was they were thinking about before somebody came along and told them they had to earn a living. -- Buckminster Fuller
hawkharris 10 hours ago 5 replies      
This reminds me of a study focusing on soccer games. It analyzed A) how often players shot goals toward the left, middle and right sides of the net; and B) how often goalies responded by jumping toward the left, middle and right sides.

The stats revealed a surprising phenomenon. Though opposing players shot toward each area of the goal evenly about 33% of the time goalies jumped toward the left or the right 80-90% of the time.

So what explains the irrational behavior of these highly skilled goalies? The researcher who presented this to me and others at a conference argued that it came down to the appearance of productivity. If a goalie leaps left or right and fails to stop the goal, he can claim that he tried his best. But if a goalie remains in the center, even if doing so is the most effective option, he risks looking like he did nothing.

I call this "productivity theater." In other words, there's sometimes a disconnect between what it means to be an effective worker and what it means to appear effective.

To offer just one example from the workplace: in some offices, the culture dictates that employees must stay from 8 to 6 each day. Their schedules may make them look like hard workers, but some are probably checking Facebook or email much of the day. Contrast this with offices that emphasize owning and completing projects rather than working an amount of time. With the second policy, you're likely to find some workers who appear less busy but make more meaningful contributions.

dsirijus 11 hours ago 3 replies      
My employee next to me is working hard. I'm in elinks in terminal on HN and on IRC, with vertical split of htop in tmux. He thinks I'm working hard too, with all those numbers, columns, scrolling output and blinking cursor.

I feel so bad right now. I'm going to go actually work.

dantheman 9 hours ago 1 reply      
"And then I thought, well, maybe that explains some other things, like why is it theres this deep, popular resentment against people who have real jobs? They can get people so angry at auto-workers, just because they make 30 bucks an hour, which is like nowhere near what corporate lawyers make, but nobody seems to resent them. They get angry at the auto-workers; they get angry at teachers."

I thought people were angry at these people because of their unions - all the other jobs he listed are nonunion and thus the higher wage is actually a market wage.

3minus1 9 hours ago 0 replies      
5 years ago I worked as a consultant at a large enterprise software company. There were definitely large periods of time (months long) where I was averaging 3 hours a week of actual work. Insane, insane work hours. There would be a 5 person team (Analysts, QAs, developer) spending 5 weeks on a release that consisted in 45 min worth of text changes. I don't usually hear people on HN talk about not having work to do. I guess it's different at start ups. It's just fucking unbelievable to me though that I would get paid so much to do so little. And I feel like some kind jerk complaining about it.
qwerty_asdf 9 hours ago 0 replies      
There's an aspect of this frustrating, forced busy-work behavior that can get baked into software development, and it isn't going away anytime soon.

Technology innately gives rise to a behavior called yak shaving, and it's not limited to software development, but pretty much any form of technology-related behavior is prone to it, when layers upon layers of technology compound one another and accumulate their own accretion disks of cruft.


A very simple example is needing anti-freeze to drive a car. If there were no chemical companies producing millions of gallons of anti-freeze a year, and no auto-stores to distibute periphery car necessities, and gas stations, and auto mechanics didn't supply anti-freeze, because it's beyond the scope of their expertise, how would I produce the right anti-freeze for my car on my own? Well, what are the requirements for producing industrial grade ethylene glycol?


A similar open-source software example would be dependency hell.

Just compare the differences in dependencies between two very popular open-source web browsers:



In order to accurately compare the two applications, how would you take advantage of the fact that these are open-source projects, and actually review the source code, and then build from source?

Each application is built upon many other independent software projects, each sub-project with it's own disciplines, specializations and dependencies. It's time consuming and painstaking behavior to dig into the source trees for these programs and all their dependencies.

How deep can you go before you give up?

gosub 11 hours ago 0 replies      
jqm 11 hours ago 0 replies      
The worlds wasted wealth...


The book is poorly written to the point it seems less than credible but it has some interesting takes on the situation.The author postulates something he calls "waste distribution territories" that have risen to take advantage of technological advancements. The basic gist is that instead of people working less as technology advances, unnecessary jobs are added to society and people work the same or even more at selling insurance, filling out forms in HR etc. etc. He points out numerous specific examples of this waste and there are many more he misses. He does offer some specific solutions to this problem that are very unlikely to be rationally implemented without a major structural collapse first. Overall, a poorly written book with some very insightful concepts.

keypusher 10 hours ago 2 replies      
No, I'm not, and it's one of the things I enjoy about programming. Some weeks I work 30 hours, others I work 60. But if I did the things I committed to doing this week, then I go home. Why sit in the office and pretend to be working? It makes no sense.
frik 8 hours ago 0 replies      
Office Space (1999) is a great and rather funny movie about this topic: [7,9 stars on IMDb]

* IMDb: http://www.imdb.com/title/tt0151804/

* Trailer: http://www.youtube.com/watch?v=_IwzZYRejZQ

reboog711 10 hours ago 3 replies      
The bulk of my clients pay me hourly, on an as needed basis.

I've had a few clients; where it sometimes it feels like they are making stuff up for me to do just so I'll be available when real work comes down the pike.

I have mixed feelings about this.. on one hand--billable hours. On the other hand--it is not satisfying to do things with absolutely no business value.

noonespecial 8 hours ago 0 replies      
When all you pay for is butts in the seats, don't be surprised if the only thing you get is a bunch of asses.
comatose_kid 11 hours ago 2 replies      
I would read this article but I am busily typing my name over and over into a word document.
danso 11 hours ago 2 replies      
I've had this concept rolling around in my head occasionally...the best path in becoming a better programmer is to sincerely desire to automate yourself out of your job.

Instead of backing up a system via GUI every week, figure out the API calls needed to hook up via a script. After a few weeks of triggering that script by hand, write a cron job and a logger that logs the relevant transactions. After awhile of manually SSHing into the backup server to verify the existence of those backups, write some kind of litmus test that fails if the backups were corrupted. Instead of checking the log every once in awhile, have it email you (and just to be safe, use other kinds of push notifications too ) when success or failure happens. And instead of lackadaisically running emergency drills to see that the backups do work, write a automated deployment system that runs off of those backups, and put that in a cron job.

At the end of all that, you still should want to be "the human". You should still want to SSH in manually, check the checksums, deploy from backup on a lazy Friday just to make sure...but those are intentional actions...not just some repetitive drill you do because you have to. And if something does go clusterfuck, you're still there to handle things.

So the test is: now that you've automated the robot-part of your work...which, the fact that you could automate it means it would have been automated some day...what do you feel free to do now? Does your company have the foresight to reward you, both in salary, and in discretion to pursue projects that truly require human insight and expertise? Or is the culture such that it's just better to keep your automated-workflow to yourself, and spend the day surfing the internet? Not that either of those choices are wrong...I mean, when I'm near retirement age, I will definitely choose the latter happily...but if that first option of moving ahead isn't available, then that's a sign that you might have to open your horizons.

Of course, if you can't automate any of your work...congratulations, it just might mean you're working on exciting, non-repetitive things that (...for now) require the best of human insight and intelligence.

edit: forgot to add the best bit...no matter what the outcome at the end of the automation process, you'll still have become a better developer by just building it out. I think 99% of my experience and knowledge of the command-line (and also, much-needed appreciation of functional design) grew out of an impatience with perfectly good GUIs. Just one of the other upsides to being a programmer...you can appreciably lessen your own workload so directly through improvement of your personal craftsmanship.

hownottowrite 8 hours ago 0 replies      
For Reference:

David Graeber's original article: http://www.strikemag.org/bullshit-jobs/

David Graeber's Book, "Debt: The First 5,000 Years": http://www.amazon.com/Debt-First-5-000-Years/dp/1612191290/

Roboprog 11 hours ago 4 replies      
Is my job a bullshit job? No, but...

I'm miserably reminded every week when I do my TPS^H^H^H timesheet just what proportion of my job is bullshit activity that I have to get through so that I can get to the part where I am actually going to work on something that will matter to someone. ("Look! I actually spent almost 10 hours this week [designing/] writing [/testing] code!") Knowing what needs doing is of course important, but after the third time of hearing it, it's time to shut up and go to work, people!

So many meetings, so many... (sobs bitterly in corner)

hippich 10 hours ago 1 reply      
If you are developer or some sort of IT engineer, don't automatically think your job is not BS. Like job of developing thin client to a windows server running licensed software to get around license costs of software, where price is based on number of users... Yes, this types of businesses generate TONS of money from essentially the fact, that supplier and customer could not get in agreement for more reasonable license...
zobzu 7 hours ago 0 replies      
well they sure have a point. then i work from home (telecommute then) i dont work "as long" but i certainly get much more done AND i am also happier.

thats mainly because i dont have to "look busy" or "browse sites for a moment until my brain is able to function decently enough to work again"instead i can go for a job, do the laundry, what not. works much better than sitting on the computer.

tormeh 10 hours ago 1 reply      
Combine this with how miserable low-rank work like shopping bag packers and store work is, and you have a great clusterfuck of a society.
glesica 11 hours ago 0 replies      

  > "...work is valuable in itself."
This is it. We have been fed a lie that "work" has intrinsic value and that people who don't want to work constantly are somehow inferior or immoral. Worse, "work" has come to be associated more with occupying a particular area in space during particular times than with actually accomplishing anything.

I work relatively little (I'm 31 and I've literally never worked 40 hours a week) and I've actually had people ask me, incredulously, what exactly I DO all the time if I'm not working. As though there aren't a million wonderful things to do at any given time and I'm wasting my life by NOT "working" more. Very sad.

acc01 6 hours ago 0 replies      
Relevant short, "el Empleo": http://www.youtube.com/watch?v=cxUuU1jwMgM
higherpurpose 11 hours ago 1 reply      
There's a saying in my country for this: "they pretend to pay us, and we pretend to work" - meaning the salary isn't great, and they're getting what they're paying for.
neovive 11 hours ago 0 replies      
This reminds me slightly of the scene in the movie "Office Space" when the consultants were interviewing one of the employees and he was discussing "People Skills".
torbit 7 hours ago 0 replies      
Just two weeks ago I was talking to a guy in the military. His government job was to monitor military test taking. At times only 2 people would show up in one day to take a test. He gets paid $20+ an hour. I didn't ask how many hours a week he worked, but I got the impression it was his current main job.
Tycho 9 hours ago 0 replies      
Case in point: last week Barclays bank announced they were laying off 20,000 staff. Share price immediately went up 8%.
Totient 10 hours ago 1 reply      
The guy I work for really has no idea how easy certain tasks are once you automate them. I have done nothing to correct his misconceptions.

(I'm a CS grad student, working under a professor who somehow got tenure despite being unable to program his way out of a cardboard box. I swear, half of this job is tricking him into thinking I'm doing his work, so I can focus on doing actual research. ...I really need to find a new advisor.)

appreneur 8 hours ago 0 replies      
I always felt most people in IT offices occur very busy, when their work is harldy any time consuming, just to keep their job, they act busy all the time...I felt this false pretense is the primary reason most people loose confidence in trying new things and being experimental.
jacques_chester 10 hours ago 0 replies      
My employers are actually serious about pair programming, so I am easily getting more work done now than I've ever done before.

We take lunch, we take breaks, we work fixed hours, but holy moly we also get a helluva lot done every day. It's both exhausting and refreshing.

How fast is PDF.js? mozilla.org
210 points by rnyman  2 days ago   144 comments top 23
anon1385 2 days ago 7 replies      
There are several posts on this page touting the security benefits of PDF.js, and it's almost certainly true that PDF.js is more secure than a new pdf implementation in C or C++ would have been[1]. In the short term PDF.js makes sense.

I think there are longer term considerations here though. Web standards (HTML/CSS) and language (Javascript) were not designed to be used as a compilation target for complex programs. It was meant to be a document platform. PDF.js is fast enough to use (just about) because a massive amount of engineering time has been put into making browsers very performant. That has involved making browsers huge complex beasts that have to be written in low level unsafe languages to achieve acceptable performance[2]. By choosing to use standards that are very complicated, high level and inefficient we have made the implicit choice to require any competitive browser implementation to be highly optimised and low level. That huge pile of very complex low level code has a real security cost. Buffer overflows, dangling pointers, out of bounds reads. These things are common in browsers today[3] and will remain so while browsers have to be implemented in C++ to remain competitive performance wise.

We often engage in debates about whether Javascript/the web stack is fast enough to use for various types of software. Performance improvements are treated as an inevitability; "if it isn't fast enough today it will be tomorrow". Similar attitudes hold for missing APIs and functionality. Most people don't seem to really question what it really means for browsers to become more and more performant and more and more complex. The answer seems to be millions of lines of very complicated and low level C++.

I'm aware that Rust is one attempt to extricate ourselves from this hole, but that is years away from ever making it into a production browser, if it ever does. Meanwhile standards continue to increase in complexity and browsers continue implement those additions with large amounts of potentially unsafe C++.

I don't have any solutions to this, it's too late, we are already committed to browsers being full operating systems. But while we are all running around patting each other on the back over how 'advanced' browsers are now I do think it's worth considering the security price we are paying to make things like PDF.js possible.

[1] I think there is a bit of a false dichotomy here though. If performance is acceptable with Javascript then it presumably would have been acceptable with native languages safer than C/C++ (Java, Haskell, Go, Python, etc, take your pick).

[2] For example Chrome seems to have basically a virtual memory system implemented in the browser, with pages, heaps and pagination logic so they can use relative 32 bit pointers. ( http://article.gmane.org/gmane.os.openbsd.misc/186107 )

[3] I don't intend to pick on Firefox specifically here since these types of issues exist in all browsers, but here are some recent Firefox issues form the last month or so:

  CVE-2014-1518 Various memory safety bugs leading to possible code execution.  CVE-2014-1523 Out of bounds read leading to crashes when viewing jpeg images.  CVE-2014-1524 Buffer overflow when using non-XBL object as XBL leading to possible code execution.  CVE-2014-1531 Use after free when resizing images resulting in a potentially exploitable crash.

acqq 2 days ago 4 replies      
Please do a google search to

    building plan filetype:pdf 
(edit: I actually don't know the search terms that would return the real architectural plans and not some texts, I guess somehow Google ranks PDFs with a lot of texts much higher than the documents with drawings -- but I want to point to these actually! If it's true that Google prefers "a lot of text" documents then attempting to googe to get the examples is a good method to miss most of the documents with the real problems!)

Then try to actually look at every page of such documents with pdf.js. The first I get is


Try it. You will want to throw your fast computer thorough the window. Then when you manage to calm down you'll try to configure your browser to never invoke pdf.js again, if you know that you need to work with such documents.

If you want a realistic benchmark, compare the speed of rendering these documents with Adobe's or some other native renderer.

I'm not a building architect but I at least don't live in "we don't draw anything significant in our documents" bubble. I know they worry for their potential customers. Forced pdf.js is a huge setback for them. If they would be able to tell the browser in the html "please don't use pdf.js for this one" they would be much happier.

nnethercote 2 days ago 4 replies      
I made some big improvements to pdf.js's speed and memory usage a few months ago, particularly for black and white scanned images -- for one 226 page document I saw ~8x rendering speed-ups and ~10x memory usage reductions.

Details are here: https://blog.mozilla.org/nnethercote/2014/02/07/a-slimmer-an.... These are present in Firefox 29 which only just came out, so if you're seeing bad performance and you're still on 28 or earlier, an upgrade might help.

If you have particular PDFs that cause pdf.js to run slowly, please file bugs about them at bugzilla.mozilla.org under the "Firefox" product and the "PDF Viewer" component. PDF is a large, complicated format, so there are many corner cases that the pdf.js developers are unlikely to see without help. Every improvement I made came about from profiling PDFs that people had reported as causing problems.

fdej 2 days ago 2 replies      
It's fine for short documents, but not very pleasant for long math papers. PDF.js takes ~1 second to render a single page in my thesis. In Document Viewer (evince), the delay to render a page is barely perceptible (so I would guess < 0.1 seconds), and Adobe Reader renders pages instantaneously.
pm215 2 days ago 2 replies      
"OK on 96% of PDFs" is all very well, but that means that almost 1 document in 20 is performing poorly. It only takes a few slow-rendering documents to make me switch to something else, so if I look at (say) 3 PDF files a day then you've probably lost me as a user within a fortnight.
pjmlp 2 days ago 3 replies      
So slow and CPU hog even on i7 systems, that I always configure my Firefox installations to save PDFs instead.
coldtea 1 day ago 1 reply      
This is probably the worst benchmark I ever read. Talk about fitting the data to your desired predetermined result.

I mean, only check just "popular" PDFs? What about all the people that work with PDFs and are sent custom files for their enterprise/office/design agency etc, and not "popular" stuff. Has he checked what the shape of the distribution curve for popular vs "long tail" PDFs are?

Second, using the time to load their intro page as a baseline? How's that relevant? Just because he has this arbitrary subjective idea that "up to 3x that time gives a good user experience"? How about comparing to the time Actobat/Preview take?

Lastly, just measures loading the pdf? How about going through the pages?

vanderZwan 2 days ago 1 reply      
> You see a histogram of the time it took to process all the pages in the PDFs in relation to the average time it takes to process the average page of the Tracemonkey Paper (the default PDF you see when opening PDF.js

While interesting data for sure, that's not really answering the same question as the headline there. How about a comparison to the rendering speed of MuPDF?

sdfjkl 2 days ago 1 reply      
Fast enough, most of the time.
tectonic 2 days ago 0 replies      
I've had a really good experience implementing a BeeLine Reader PDF coloring algorithm with PDF.js. It was surprisingly easy to work with.


chime 2 days ago 1 reply      
I love PDF.js. I built a site recently that uses embedded PDF.js to display PDFs while making it very difficult to print/copy-paste/download these documents. It is super fast, works across all modern browsers, and supports useful PDF features like bookmarks, annotations, and table of contents. It's also pretty easy to customize and theme.
angersock 2 days ago 3 replies      
Minor performance tip: you can disable the creation of DOM elements backing text and whatnot in PDF.js; this allows for faster rendering on some browsers.

You lose easy search, but it can make your life a lot easier if you don't need them.

rglover 1 day ago 0 replies      
Semi-related, but has anybody found a decent PDF generator for JS? Something where you can get a decent quality PDF (none of the screenshot via phantom.js stuff) that's text, a few tables, and a decent layout? Closest example would be an invoice for something.

P.S. This would need to work with Node/Meteor.

camus2 1 day ago 0 replies      
While PDF is a great tech demo in practice,unless one is using it for short documents,it doesnt work very well.That's why google did what it did with doc,render the pdf as an image them put a transparent text over it. It's a better approach if one has good servers. because frankly one cant expect the browser to behave like acrobat reader and be as performant as native applications when trying to render 20MB pdfs (and a lot of books are that big,this is not an rare use case).
malandrew 2 days ago 1 reply      
Is PDF.js used by Chrome? The reason I ask is because the safe script plugin blocks rendering of all pdfs not from a trusted domain. I find this behavior quite frustrating, since PDFs afaik don't contain (or typically contain tracking code or keep executing code after the initial render of the document).
Aardwolf 1 day ago 1 reply      
Not very fast...when loading a big PDF, before the save button can be used, it needs to render the whole thing first. I don't understand why, because all it has to do is save the file which it already has.
andyl 2 days ago 1 reply      
Does anyone know of a good tool for PDF generation in JavaScript? In Ruby, I use Prawn, which is great. Is there a Prawn-like library for JavaScript?
shmerl 2 days ago 0 replies      
When used with heavy PDFs which basically contain tons of images (like scanned books) PDF.js is noticeably slower than native plugins (like Kparts plugin with Okular on KDE) used with Firefox. For more lightweight PDFs it's acceptable.
hendry 2 days ago 0 replies      
What does it matter? PDF.js broke quality printing to CUPs, so it's a bit of joke if you break that printing use case.


X4 2 days ago 3 replies      
PDF.js is really nice and awesome, but for me it doesn't work for documents with a file size of 11MB. It was a catalogue and to finally get the thing to render faster I used pdf2htmlEX (html5) which slimmed the 11MB file down to about 2MB with no visible quality loss and text would still be perfectly selectable, even in old and crappy browsers like IE7. I'm happily using both on a customers site. The 11MB file rendered good enough on my Client's new PC, but they have an i7 ;) My own box is really slow :/ (saving for a macbook pro)

Currently I was about to write a service to autoconvert PDF documents uploaded via ownCloud into the said HTML5 document, but it seems that even though I've ssh, this server is managed and doesn't come with make and also has no poppler or fontforge libraries available. Meh :(

I'm thinking about compiling the binary with --prefix=~/.local/lib and copy the dependencies I've found to that directory on the server. Hope that works, otherwise I'll need to write an API for pdf2htmlEX on a server where I've root and upload modified & new pdf files to it, then wait for it to finish the html5 conversion and download the files to the right directory using curl. That'd be much more work than just dropping the binary onto the server and executing the service as cronjob for modfied or new files.

Any ideas on howto solve this cleverly?

yeukhon 2 days ago 1 reply      
The performance is fine but when I have to open PDF files with foreign language neither Adobe or PDF.js can do that well. Adobe will require me to have the font package downloaded. I don't think there is such package for PDF.js which forces me to download the PDF.
Donzo 2 days ago 0 replies      
xenophonf 2 days ago 4 replies      
"Also security is virtually no issue: using PDF.js is as secure as opening any other website."

I can't even begin to express how much this sentiment troubles me.

Edited to add: A big part of my concern regarding PDFs these days has to do with embedded malware, but in general I'm wary of active content. I'm all for faster rendering, but I wonder how well PDF.js protects against malicious content. I don't use the native PDF reader for that very reason.

Flux Application Architecture facebook.github.io
204 points by sehr  1 day ago   79 comments top 14
wingspan 1 day ago 6 replies      
From first-hand experience, I can say that React+Flux has scaled well to 8+ developers over 800+ JS files and ~60k lines of code in a large single page app here at Facebook. I'm happy to answer any questions! Some things that we've struggled with:

1. All data should be kept in stores. You may have some local component state, but it shouldn't be anything you want to persist if the component is unmounted. We have tried using state several times, and always go back to keeping it in singleton stores. It also works better with the action-dispatcher pattern.

2. Now all your data is in stores, but how do you get it into the specific component that needs it? We started with large top level components which pull all the data needed for their children, and pass it down through props. This leads to a lot of cruft and irrelevant code in the intermediate components. What we settled on, for the most part, is components declaring and fetching the data they need themselves, except for some small, more generic components. Since most of our data is fetched asynchronously and cached, we've created mixins that make it easy to declare which data your component needs, and hook the fetching and listening for updates into the lifecycle methods (componentWillMount, etc).

3. Actions don't have callbacks, as they are by design fire-and-forget. So if you need to be notified when some item has finished being created, for example, you need to listen for the follow up action that the CREATE action fires (yeah, actions firing actions, a bit ugly). Even then, how do you know that CREATE_COMPLETED action correlates to the CREATE that you fired, and not another? Well, actions also come with a payload, so what we ended up doing was passing a context object into the payload and plumbing it all the way down into the CREATE_COMPLETED and CREATE_FAILED actions. Being really strict about actions is a major reason why Flux has scaled well for us.

lhorie 1 day ago 3 replies      
I really like this architecture - it's clearly based on lessons learned from the same types of pains that I myself encountered w/ non-trivial jQuery, and the unidirectional data flow makes it a lot easier to reason about the code. It's very similar to what I'm doing with my own micro mvc framework Mithril ( http://lhorie.github.io/mithril ).

One thing that raise my eyebrows about this article though is how says that Flux eschews MVC, and then goes on to say that it has stores that are "somewhat similar to a model", and "the dispatcher exposes a method that allows a view to trigger a dispatch to the stores", which, as far as classic MVC goes, is the exact definition of a controller. What they call controller-view is, imho, just an implementation detail within the view layer: in classic MVC, views were responsible for subscribing to model observables, or, as the article puts it, it "listens for events that are broadcast by the stores that it depends on".

When talking about this architecture with the Mithril community, I find that referring back to the MVC pattern makes it even easier to reason about the flow of data: it's basically M -> V -> C -> M ...

It's unfortunate that the general understanding of the MVC pattern became misunderstood over the course of many frameworks. The whole point of design patterns should be that we could just name them for people to "get" it, rather than having to reinvent new ways of naming things and having everyone relearn the nomenclature.

clarkevans 1 day ago 1 reply      
The functional flux/react architectural style is truly excellent. Over the last few months, Andrey Popp implemented a declarative form engine using React and it's much simpler to reason about than our older JQuery equivalent. Having undo/redo emerge as an almost-free feature from this architecture is super useful.


rdtsc 1 day ago 0 replies      
I don't know web client development very well.

I could figure out jQuery back in the day pretty easily.

Then we started using Angular and I have tried and tried to understand all its concepts my brain just couldn't keep track of list of: dom transclusion, scopes, controllers, directives, services, dependency injections and so on. More experienced JS developers loved and had no problem picking it up.

But after watching a few videos about React.js and worked through tutorials, I really started to understand better. I really like the concepts and how this library is put together. So far this is looking really good.

rattray 1 day ago 1 reply      
Video seems to start discussion of Flux just after the 10 minute mark.

Direct Link: http://youtu.be/nYkdrAPrdcw?t=10m21s

EDIT: So far, the video is much more helpful to me in terms of bringing the concepts of Flux to life. Jing does a terrific job explaining in my opinion.

blktiger 1 day ago 1 reply      
Seems like the dispatcher is a more manual version of the Ember/Sproutcore run-loop. The advantage I see to the run-loop is that it batches all UI updates so they happen only once, where the dispatcher simply batches up model changes to reduce the number of redraws. Maybe I didn't fully understand what the dispatcher does though...
OliverM 1 day ago 1 reply      
I like the approach to managing information flow that is outlined here, but it's over-stating the case to say that lack of such control is a failing of the Model-View-Controller architecture. There are patterns you're supposed to use with MVC such as the 'V' pattern, where information flows from the views via the controllers to the models, where the models update themselves, and then update the controllers which then update the views. Visually it looks like:

  View receives event-------\..../----views render new state  Controllers handle event---\../--controllers mediate new state  Models react to new data----\/--models update controllers
The Sproutcore javascript MVC framework espouses this, for example, and I'm sure many other MVC frameworks do too.

I'd be really interested to see how Flux would augment statecharts...

frik 1 day ago 3 replies      
I intuitively designed a very similar architecture to Flux & React, last year. It's a lightweight PHP+JS framework. (used in this pet project: http://www.youtube.com/watch?v=-Lta5xSj4mY )

Is there a name for such a pattern?

gbrits 9 hours ago 0 replies      
Watching the video I heard the speaker say unit testing is rather easy, since state is always sitting next to code in your components. This is great and sounds logical: test different input states and check against expected / consistent output.

What I'm wondering, given the unidirectional flow and the design of flux as a whole: would Integration Testing be needed at all anymore?

I mean, there's no state outside of the component that could possibly influence the component's consistency. Therefore, all needed testing could be done by simply unit-testing all components in isolation.

That sounds pretty huge.

sarhus 1 day ago 3 replies      
Someone in the video asked a question about how AngularJS compares against Flux+React.

Anyone has a more detailed explanation?

swah 1 day ago 3 replies      
Can this architecture implement the client-side offline update while network is down? (User clicks a "Like", its marked as Liked even if network is down...)
mmerickel 1 day ago 2 replies      
It seems you could just pass the stores into the components as data - that's really what they represent. I'm not clear why this approach is eschewing that basic principle in favor of singletons.
hamxiaoz 1 day ago 0 replies      
This looks good. I'm wondering has anyone combined react and meteor in a real project?
bkurtz13 1 day ago 1 reply      
I would like to see a boilerplate example of this architecture, especially the dispatcher.
Google Maps Has Forsaken Us techcrunch.com
198 points by roryhughes  15 hours ago   210 comments top 49
joel_perl_prog 14 hours ago 14 replies      
Is this where we get to complain about how horrible Google Maps suddenly is?

Because wow. I can speak about this. It's terrible. First and foremost, and they have their "reasons" of course, but my Samsung Rant (yeah just a feature phone) always had great maps. Just a simple Java app, built on the maps API. Well that doesn't work anymore. Like, nothing. Google basically says "Get an Android phone, sucker." F U Google. Is what I think of that.

Secondly, the desktop (and basically the tablet experience too is the same) has gotten terrible. It takes a really long time before my mouse event matters. By this time, the screen, since it's still resolving and moving things around the canvas or whatever the hell it's doing, well by the time my mouse event registers, the object I wanted has moved away. I'm now doing something else!

Directions. Just so retarded. The accordion shit on the left. Just show me the effing directions, like you used to. I don't want to tab around a widget in the upper left. Plus you have toggle it open in the first place, and it's not very responsive, either.

Also, just simple double-clicking to zoom. Extremely less useful than it used to be: just this one simple thing.

I could go on. How awful. What happened?

greggman 14 hours ago 3 replies      
100 times YES!

I've gotten this behavior for years and it drives me nuts because I can't understand how it's not fixed? I remember in 2009 I was driving down from SF to LA. I stopped in Santa Barbara. I needed my bearings and I didn't not know the address or the name of the street I was on but I did see an Albertson's supermarket about 200 feet away so I searched for Albertsons and Google gives me some place in Texas. (I think this was on a SonyW810)

I've searched for Pizza in Tokyo last December and had it give me some place in Chicago. It's so infuriating. It knows I'm in Tokyo, it's pinpointed me on the map. So in what situation would I EVER want Pizza in Texas unless I specifically asked for "Pizza, Texas"?

There's other things too. It mostly feels like maps hasn't changed in years. Sure, there's the new maps UI which many people, including me, feel like it's a change for the worse. The geek in me loves that it's slick and live and webgl but can you figure out how to get a short link to a place? Clicking "Share" just brings up a G+ form. Not what I wanted. I wanted a link I could msg to someone. Didn't have that problem with the old maps.

How about how to print? The old maps had a print button and it would format for printing. The new maps has one but I can never remember where it's buried in the UI. Picking Print from the browser directly doesn't do this.

Trying to figure out the UI that pops up and down. Here's one. Pick any marker on the map or search for something like Best Buy. The popup UI should show some details on whatever you picked or the one it picked for you. Now click "Directions". Ok, now how do you get back to the state just before you clicked "Directions"? There's no back button, clicking the X in the corner goes all the way back before you selected anything. In other words there is no back. If you clicked directions by accident well, I guess you just have to start over and type your search in again. If you clicked some dot on a detailed map, well now you've lost your place.

Even more frustrating is who can compete with them? How do you compete with free? If they're not going to do a good job then I'd love for someone else to try but the moment that someone else does try they'll finally feel some pressure to up their game and you're out of business.

And where's the ads? Maybe you don't want ads but I do. I want to see logos of places. Maybe I'm looking for McDonalds. Even if I'm not the logos serve as landmarks. You'd think it would be in their best interest to sell ads on maps since 90+% of all of Google's revenue is ads. And, if done right it would be extremely useful for users as well. It would even fit their mission statement if done well.


jsnell 13 hours ago 2 replies      
This is a bad article. It tries to draw some kind of causality link between the new maps UI and a couple of bad search results that the author received. (And then tries to blame it on some completely random academic paper written by Googlers, which as far as I can tell doesn't even have a hint of being from a geo-context, and doesn't look particularly applicable to geocoding or local searches). Of course blaming the new UI is a real crowd-pleaser, as can be seen in the HN comments, which must be good for getting some page hits on a Saturday afternoon.

The reality is that Google Maps has always had a (frequently changing) set of searches producing bad results. Some of those failures would have been much more visible, widely publicized, and serious than a blogger not finding the closest burger joint. This article presents the past as searches always just working, which just wasn't true. As such there's no compelling evidence there of the search result quality having actually degraded over time.

jxf 14 hours ago 3 replies      
I have to say that I've had completely the opposite experience from the author. GMaps almost always find what I'm looking for in a timely fashion, I find the offline maps useful when I'm traveling to a different city, and so on.

One of my favorite use cases is having GMaps give me directions by public transit, especially if there's a metro, which is nice if you're in a new city and want to save a few bucks on taxis or Uber.

That said, they've definitely made a few changes I haven't been a fan of. For example, offline maps must now be refreshed once every 30 days, and if you're offline when the timer runs out you won't be able to see the map. (Previously there was no time limit.)

buro9 14 hours ago 6 replies      
In the example given it's the word "forest" that is the problem.

"Sambisa" would have found it.

"Sambisa Reserve" would have found it.

"Sambisa Forest Reserve" would have found it.

But my guess is that something attempts to understand keywords and context and when you end with "forest" it looks within the set of forests that are called Sambisa, and actually there isn't a forest called Sambisa, there's a nature reserve called Sambisa, which covers an area within a forest landscape.

Yeah, that's pedantic and Google could do a better job when it attempts to contextualise like that (especially if it's topical), by just doing a second search internally for exact matches and doing a join/merge on the results.

But still... you're going to have the same problem with Open Street Map for the same reason:




jameshart 12 hours ago 1 reply      
Something is, indeed, terribly terribly wrong in Google Maps algorithm land. For at least the last couple of weeks, Google Maps has been insisting that Basingstoke in England is called "Town Centre", and is one of the most important places in England. On a view of the entire country, it's displaying a label in the same font-size it uses for Southampton, Bristol and Liverpool marking Basingstoke as "Town Centre". Manchester and Birmingham aren't labelled at all. If this is the quality of mapping Google is providing for a major first-world English-speaking market - you should be grateful it even knows Nigeria exists.
bambax 14 hours ago 2 replies      
What's happening with Google Maps is reminiscent of IE6: a beautiful product appears, light-years ahead of the competition, and free. The competition in question, being light-years behind, and non-free, promptly dies.

Then the beautiful product gets frozen in place, and its team "locked up in a dark dungeon" (Spolsky, 2004), which creates a huge opportunity for (open) alternatives.

OpenStreetMap + Leaflet is to Google Maps what Firefox was to IE6... but there is still a very long way to go.

cocoflunchy 14 hours ago 3 replies      
The worst about that Sambisa Forest thing is that the autocompletion finds it (http://imgur.com/kWgcByo) and then when you press enter, you get a not found error (http://imgur.com/GyhVSaO) !
ignostic 12 hours ago 0 replies      
I can't say that I've had problems figuring the UI out, but I have had problems with the algorithm lately. If I had to guess I'd say it's Google often failing to factor in the location at some points, because I can rarely repeat the errors.

For example, I searched Maps for a Mexican restaurant with my phone recently. It directed me to a place in Florida (hundreds of miles away). Seriously, when there's a highly-rated place on Google Maps with the same name not 3 miles from where you've located me? When I returned home and searched, I had no such problems - it pointed straight at the place. I've had the reverse happen as well.

Is it the fact that I'm blocking so many cookies that Google is relying on? Or is there just a signal somewhere that tells Maps to override reason and relevance?

I have tried alternatives, but the top contenders - like Bing and OpenMaps - have their own very special set of problems.. I'm not sure what to use at this point.

gyardley 13 hours ago 2 replies      
The Google Maps product really is lacking outside of the United States.

I was down in Chile's Lake District last week, and Google totally failed me, both in Pucn and Panguipulli. These are not particularly tiny towns - in fact, Pucn is a major tourist destination. But Google was completely lacking in street information for both places. I ended up having to use Bing.

Google wasn't even second - both Nokia's HERE Maps (which powers Yahoo) and Apple's map product were better (although Apple was still pretty atrocious).

Here's a couple of links for comparison - Pucn in Google Maps (http://goo.gl/maps/rm1D9) vs Pucn in Bing Maps (http://binged.it/1gR5K55). If Bing Maps had a dedicated iOS application, I'd just switch permanently.

infinotize 13 hours ago 0 replies      
I will go against the grain a little and say I don't mind the new Google Maps, and it's getting better to the point where I might even say I like it more than the old Maps. They have been steadily improving it - initially the street view UI was terrible, and there wasn't even a distance scale. I think we've gotten to the point where releasing such poor stuff and calling it beta doesn't fly anymore when you consider how many people will be using it.

I've gotten used to putting in unnecessarily verbose context in searches, and I assume that's why I don't have search issues in sending me to other irrelevant parts of the world.

I guess there is a lot to complain about. But for me it's still the best map, and pretty usable.

The Google approach of changing things on you - too bad! - is obnoxious. Pushing out Chrome notifications in OS, enabling them by default, and having to find blog posts on how to disable because it's not in settings or documentation, this kinda stuff is just getting old.

personZ 12 hours ago 0 replies      
Trivia, but Gleghorn-South Kilgore is in Arkansas (AR) rather than Arizona (AZ). It is an interesting case and I wonder how Google decided that location was important to him.

Contextual search is really tough, and the same choices that might give great answers for most answers can yield infuriating answers for other questions. In this case he is searching for something that doesn't exist, and a forest that probably gets searched a dozen times in aggregate a day on Google Maps, likely contrived for effect. That doesn't excuse those cases, but it isn't correlated with the cases where people got surprisingly cogent answers to their questions.

noir_lord 13 hours ago 2 replies      
I was trying to find out how much it costs to use Google Maps in a business product (SaaS) I literally could not find a price without the "give us your details and our sales team will be in touch" which to me translates as "We need to work out exactly where to stick the hose to suck out the money".

Compare that with this https://www.mapbox.com/plans/.

I know who will be getting my money in the near future.

Yossarian_Lives 14 hours ago 1 reply      
My pet peeve as a Londoner; the disappearance of the transit layer when searching for a place. If you've not searched for anything, New-oogle Maps will happily show you the card that lets you activate the transit layer and superimpose the spiderweb of tube lines on to the London map. However, the second a marker gets dropped, good luck seeing that layer ever again.

I mean, even if you clickity clack through the directions>origin>transit, Google will mark up its suggested routes while still refusing to superimpose the tube lines. It's maddening! For all the sophisticated route-mapping that I'm sure Google is bringing to bear on the problem, I'd much rather just look at a map that simultaneously shows a search result marker and the tube network at the same time and figure out my own route. And heaven forbid that I might want to see a collection of results for DIY shops and figure out which one I can get to quickest with reference to the underground network -- it seems that Google would have me route-map each of them in turn, write down the results and then decide. It's so deeply counter-intuitive that I struggle to think of any possible rationalisation for the decision.

I don't suppose anyone has a bookmarklet that toggles the transit layer?

davidw 12 hours ago 3 replies      
Some other things:

* Start in San Francisco by typing San Francisco. It still manages to find that city. Do 'directions' and type in Eugene, OR, USA - my home town, which is a fairly straightforward drive north. It can't find it and gives you bad results.

* THEY KILLED TERRAIN MODE! This was a super-useful feature that I still use on my computer, but can no longer access on my mobile devices.

nextstep 10 hours ago 2 replies      
I'm glad tha Apple maps is steadily improving. There needs to be competition so that free services will compete for users by improving the user experience.

I think iOS 8 will include major updates to Apple maps that will integrate transit directions. Apple recently bought the mapping company Embark along with a few other transit-related acquisitions.

wyck 12 hours ago 2 replies      
The old google maps allows you to paste KML file URL's into the search, now it doesn't work, you have to revert to the old version.

ps. KML files were developed by Google for maps...

dochtman 14 hours ago 0 replies      
I've used Google Maps with the new UI for a long time, and it was pretty screwy. It used to be much, much slower than the old UI. These days, performance is a little better, though it's still not quite snappy.

Some parts of the new UI still suck, though. Just today, I wanted to print route directions. However, there's no print thingy anywhere in sight. You now have to click "List all steps", and only then a printer icon appears... Completely non-obvious. My wife mentioned that she had already reverted to just using Print Screen a few times because she couldn't find the stupid widget.

chapel 12 hours ago 1 reply      
This blog post is way off. The issue isn't that Google Maps couldn't find Sambisa Forest, it is that it has an issue with how it handles auto complete and pressing enter without selecting the choices it brings up. It quite frankly looks like a bug. You can see for yourself here: http://i.imgur.com/vX1xqp2.gif
zatkin 14 hours ago 1 reply      
I am grateful that we are able to revert back to the old Google Maps for now. I hope that they keep this regression available to their users for a while.
Mithaldu 9 hours ago 0 replies      
Interesting thing here: Reading the article i was wondering what's the fuss, because Google Maps looked and acted like it ever did. Turned out that, because i was using Opera 12, it was still giving me the old Google Maps. So if you really want the old one on the desktop, that's one workaround. :)
microcolonel 12 hours ago 0 replies      

Keep in mind that Mapquest, Yahoo maps, Bing maps, and Nokia HERE have no record of it at all. So this is really between Google Maps and OpenStreetMap.

nailer 10 hours ago 2 replies      
Google knows:

- Home is in London

- Work is in London

- My most recent restaurant reviews are in London

- My IP address is in London

- My location, if you ask my browser, is in London

Stop showing me a map of the US when I open Maps.

meritt 14 hours ago 2 replies      
You can still switch back to Classic Maps via the question-mark icon in the bottom right. Classic for life.
lohankin 13 hours ago 0 replies      
There's a simple explanation for recent GUI disasters across google applications: Google+. They decided to make a Swiss Army Knife under the banner of Google+, and needed kind of "consistency" of style. Everything is consistency ugly now, and Google+ guy is gone. Situation may improve as they starts dismantling the monstrosity.With respect to search quality - they hired some AI astronauts, neural networks do wonders for them. The goal is to train their system to accommodate astronauts' brains. They say it openly.
dalek2point3 12 hours ago 0 replies      
I've said it before and I'll say it again. Mapping is too important a thing to let one company control the experience. The debate is not about whether Google Maps is good or bad, but if its bad for you there is little choice. You can't fix it. It's not a 100% there, but get on the OpenStreetMap train, fix your local area and have fun. And enjoy all the good stuff startups are building on top of that data.

Here is an easy way to get started:http://www.openstreetmap.org/fixthemap

g8oz 14 hours ago 0 replies      
Glad I'm not the only one suffering. I've got 2 problems with this new fullscreen Google Maps - 1) Noticeably slower 2) Drilling down to each step in public transit directions is now very awkward - it used to be very elegant.At this point Bing Maps is competitive.
jhoechtl 9 hours ago 1 reply      
Frankly, I would not even stop at Maps. Since a year or so Google makes so intensely use of all sort of metadata (my browsing interests in the future, the places if have visited, my contacts on G+) that the internet has become a small world for me. I find myself increasingly using duckduckgo just because of this. Heck, as I use the public DNS servers of google, even deleting Cookies or using browser porn mode doesn't help much.

It's an example that overly smartness actually degrades the experience for me rather than being and improvement.

asaikali 13 hours ago 0 replies      
With the old google maps I could count on the fact that I could hope on Google maps 60 seconds before I needed to head out find the directions I needed hit print and be on my way. Or I could have some one on the phone talking to me and saying something hey I am lost I am kinda in this area of town I could pump that into google maps and give walking directions or even driving directions realtime over the phone.

The new google maps is frustrating to use. All the ways that I used to use google maps for just don't seem to work with the new maps either because they removed the feature, or moved the UI elements in such a way that they don't exist on the same page any more or its just too slow on my very fast laptop and my very fast internet.

I really hope they fix it fast, I am loosing all hope that maps will ever be usable again.

mark_l_watson 14 hours ago 1 reply      
The author is complaining about product development siloing at Google. I know, because I consulted there, that they are working on better cross business integration for internal systems (this is a goal of all large organizations). That said, don't you want some degree of siloing between products? Certainly share infrastructure, share some data as appropriate, but it just seems to me that by having smaller independent teams that you get more creative products, and better productivity with smaller teams.

BTW, I love Google maps and Google Now - my fanboy'ism is based on both pretty good functionality right now, and I my expectation that it will keep getting better. I have some privacy issues with these products but at least for now I consider the functionality worth some loss of privacy - I can see my opinion changing however.

swatkat 13 hours ago 0 replies      
The new maps.google.com is completely broken for me. Page doesn't load properly most of the time. First thing I do is to revert to classic maps. Maps app on my Android phone works fine though.
Friedduck 11 hours ago 0 replies      
It's nice to hear that I'm not the only one that feels this way. Search for local businesses has become nearly impossible. Whether it's failing to return anything or results that are wholly irrelevant, search and particularly maps have taken a large step backward.

There's a great market opportunity here. (Really) old guard companies like YP still haven't responded to the shift and I infer from Google's backslide that it's not a priority for them.

We can't buy everything from Amazon (esp. Hachette books!)

ktran03 12 hours ago 1 reply      
Among the points already mentioned, I really hate the 'shake to report issue' feature. Stuck in traffic and frustrated, that thing comes up every time I hit a pothole. The thought that comes to mind everytime is "No Google, I don't want to report a problem, AT THIS MOMENT".

Overall bad choice of control. Much more sensical to stick that in somewhere fitting, like settings.

__david__ 9 hours ago 0 replies      
I can't get street view to work at all with the new maps. I just get a black screen whenever it tries. Is that happening to anyone else? I'm on Firefox beta (30).
GigabyteCoin 9 hours ago 0 replies      
I concur. Google maps needs some serious work.

It's as if it's running on auto-pilot right now or something.

I can't quite put my finger on it, but something needs to be changed.

surana90 13 hours ago 0 replies      
Continuing the rant - I would speak for India, if you are going from Point A to Point B it shows you 4 ways to get there. You could filter it with options like - Buses, Trains or Least Transfer, Less walking etc. Now there are times when there are more then 10 buses running between these two points and with a frequency like of 20-30 mins.

So if you happen to use Google Maps then it would show you only 4 results even after you filter down to Buses. Why not show all the options Google? When you have it in your results, just show it.

Because I and lot of people that I know have been in this situation where we are waiting for the bus that google maps is showing and in the process missing out on the ones that are not shown.

takeda 11 hours ago 0 replies      
For me the most annoying thing is that apparently I no longer can see traffic and directions at the same time.
bla2 12 hours ago 0 replies      
I think the new UI is much much nicer than the old one.
justzisguyuknow 12 hours ago 0 replies      
Not long ago I did a Google Maps search (on Android) for "restaurants" in my brooklyn neighborhood... and got directed to the Restaurants.com offices in New Jersey. Effing pathetic.
charlus 13 hours ago 0 replies      
It's completely stopped working for me on Chrome / Linux (Rats! WebGL hit a snag error) I've tried a few times to fix this but ultimately I've transitioned to always using my phone for maps.
lindablus 10 hours ago 0 replies      
What ever happened to layers? I can't seem to find a way to show bike routes + terrain or bike routes + traffic or any other combination.
bowlofpetunias 13 hours ago 0 replies      
This is basically endemic in any Google search related functionality. Be it Maps, Images, regular web search or internal search in Google Apps, more and more I don't get what I asked for but what Google thinks I want, filtered for assumed typos, regions and languages until the result has very little relation to what I'm looking for.

This becomes especially galling when I know the info is there and my keywords are correct and specific, and the search returns absolutely nothing even remotely related.

7952 14 hours ago 0 replies      
If you enter a search term and just hit enter Google will try and guess which result you want (like the I feel Lucky button). The auto-complete will give more options to pick the correct place name from duplicate names in different places. I think they do a bad job of surfacing the different possible results.

The Google Index does seem to lack a lot of more obscure names. In this case I would rather have high quality authoritative gazetteers than an algorithm that tries to guess what I mean.

ejain 10 hours ago 0 replies      
I blame the current state of Google Maps on micro-optimization, and overconfidence in the ability to predict what you want.
hackbinary 14 hours ago 0 replies      
It seems to me that Google hired the Gnome Dev (team) that screwed up the Gnome 2.x GUI.
uutr 14 hours ago 0 replies      
I don't see how citing 3 month old tweets is in any way relevant to a webapp.

Also the selectiveness of tweets and bug reports makes it all seem very labored and seedy and betrays a lack in of understanding in how complex software development (btw directwrite is behind a flag in Chrome 35)

And when you take into account that the author has a history of shitting on Google, it appeals like an attempt in catering to a like minded audience: http://techcrunch.com/author/jon-evans/

craigching 14 hours ago 0 replies      
> The need to show some forest when you live on the other side of the world is minimalistic.

Really? I love reading about some exotic place somewhere and looking it up on google maps. How hard is it, really, to look for sambisa forest near you and when you don't find it, look globally?

morganvachon 14 hours ago 1 reply      
I stopped reading when the screenshot showed AR (Arkansas) and he said it was Arizona (AZ). If you are that geographically challenged, even Google Maps can't save you.

EDIT: I forgot that a sense of humor is not an option here. Geez.

Why Python is Slow: Looking Under the Hood jakevdp.github.io
188 points by underyx  1 day ago   174 comments top 14
gregwebs 1 day ago 9 replies      

    Dynamic typing makes Python easier to use than C
I disagree with the implications. The main reasons Python is easier to use is independent of type system. Not having to manually manage memory, for example! Overall it is a higher-level language, whereas C is designed for maximum performance.

Dynamic typing is probably preferable to a 40 year old type system. But Python could be easier to use (catch bugs ahead of time!) and execute faster by adding a modern type system. Optional typing (like TypeScript or Facebook's new PHP implemntation) would probably be appropriate.

amit_m 1 day ago 3 replies      
The bigger picture is that CPython's core team simply does not care too much about performance. Performance has never been a fundamental requirement, but merely an afterthought.

The biggest reminder of this was Python 3, which for me was a complete disappointment. They could have limited python's super-dynamic behavior (e.g. changing builtin functions, patching classes on the fly, etc.) or made them optional. They could've added optional typing annotations a la Cython. Or even changing the builtins and language syntax to allow more inplace operations and preallocations, so that temporary results wouldn't have to be allocated on the heap over and over again. All of these changes would have made python faster and more JIT-able. None of these things happened. Performance-wise, python 3 is no step forward.

Python+Cython is still a powerful combination, but eventually Julia or similar languages will eat python's lunch with respect to scientific computing.

pnathan 1 day ago 5 replies      
One thing that bothers me - and has for a long time - is why Python (Perl, Ruby, etc), never have really leveraged the work Common Lisp systems have done (CMUCL, SBCL, etc), which provide very good performance without sacrificing dynamic typing or the REPL.
VeejayRampay 1 day ago 2 replies      
Python (and Ruby for that matter) are slow because there are no billion-dollar companies stuck with an initial choice of language that impedes their ability to grow. PHP and Javascript used to be extremely slow and now after several dozens of millions thrown at JIT, rewrites, forks and redesigns they're starting to get much much faster.
codegeek 1 day ago 1 reply      
Good read. Whenever I read stuff like this, I always wonder if it is always true that dynamically typed languages are slower than statically typed languages ? Also, do we have to take this for granted that more higher level the language is, the slower it will be ? Or are there exceptions ?

Also, it is worth asking if for majority of use cases of python for data/analysis, the ease and flexibility outweights the slowness.

rch 1 day ago 0 replies      
> Python ends up being an extremely efficient language for the overall task of doing science with code.

This is pretty close to how I characterize my time, 'doing X with code', and Python yields great returns in these terms.

mrfusion 1 day ago 2 replies      
While everyone is on the subject, I thought I'd mention some weird behavior I saw today.

I just switched my program from using a defaultdict to a regular dict.

I.e., from defaultdict(lambda:'NA') to regular dict using get(val, 'NA') for access.

And I got a something like a 100x speedup. It runs in two minutes instead of two hours. I had no idea a defaultdict would be so much slower.

Unless there's something funny going on in my program and it's unusual behavior.

Fede_V 1 day ago 0 replies      
Jake's blog is pretty great. I really suggest reading more stuff in there if you care about scientific computing.
williamstein 1 day ago 0 replies      
This is convenient, since it's almost exactly what I plan to talk about in the undergrad class I'm teaching today (https://github.com/williamstein/sage2014). I view this sort of article as good motivation for Cython, and the value of this article is merely that it aims at typical undergraduates not in computer science.
dmoney 1 day ago 0 replies      
Related: "Python is only slow if you use it wrong" http://apenwarr.ca/diary/2011-10-pycodeconf-apenwarr.pdf [pdf]
kghose 1 day ago 4 replies      
The 'slow' part wasn't so new to me, but the `id` command and the attendant understanding that smply typing 110 in the interpreter creates an OBJECT and when you assign a=110 `a` points at that object (and when you reassign a=30, a new object is created and a points at that), blew my mind. Thanks for this!

Previously I had thought that doing a=110 creates an object 'a' that stores the value 110 (and when we do b=a, b simply points to a). I had no idea there is a third object in play.

PythonicAlpha 1 day ago 2 replies      
Yes, Python is slower in execution than some other languages, but:

   ... efficient use of development time ...
That is the reason, why Python counts (not only references). Python has many very good libraries, is a good OOP language, easy to learn, but still very, very powerful. You can express in Python some things in a single line, where you need hundreds of lines in C++ or other languages.

The few percent of running speed that you might loose, are neglect-able in most cases against the win in development speed.

In many applications you don't need the full CPU power, but often times you are hindered by e.g. the disk speed or other factors ... and than you don't lose anything when you are a little bit slower in some minor tasks.

rpearl 1 day ago 2 replies      

  > binary_add<int, int>(a, b)
no... there is simply not function call overhead for adding two integers in C.

ape4 1 day ago 1 reply      
This is hardly breakthru stuff.
WhatsApplebee's: the premiere Applebee's-based social chat app whatsapplebees.com
185 points by lazerwalker  1 day ago   53 comments top 34
MattBearman 1 day ago 1 reply      
Always good to finish the week with a smile, shame there are (to my knowledge) no Applebees in the UK otherwise I'd give this a try.

Also, please someone make Olive Grindr

fizzbar 1 day ago 1 reply      
Awesome, hope it blows up. Perhaps this should be what season 2 of Silicon Valley is about.

The only thing more awesome than this is the fact that the author's last name is freaking LAZER-WALKER.

Ryel 1 day ago 0 replies      
Applebees: "Hello we would like to buy your app. How does $3Billion sound?"

OP: "Nope. Worth much more."

1 year later... adds video support and valuation jumps to 10B.

awwstn 1 day ago 0 replies      
Fantastic. But, am I limited to anonymously chatting with people in the same Applebee's as me? Or can I chat with Applebee's diners across the globe?

With the current trend of unbundling [1], it seems clear that a great approach would be to start out unbundled and rebundle later. I can't tell if I'm joking or not.

Is Walmart on your roadmap?

[1] http://thenextweb.com/socialmedia/2014/05/06/large-tech-comp...

thearn4 1 day ago 1 reply      
... This is satire, right? I'm finding it harder and harder to tell these days
jonmc12 1 day ago 1 reply      
Anyone else see this hilarious Applebee's facebook 'fan'? http://www.theatlantic.com/technology/archive/2014/01/this-g...

The app may be a subtle PR campaign playing off the satire. Can't go wrong with app puns either.

bredman 1 day ago 1 reply      
I love the "I LOVE ENGAGING WITH BRANDS" text in the screenshot.
krallja 1 day ago 0 replies      
"I like to make things that bring happiness and deeper meaning to people's lives" -- Mike Lazer-Walker
couchand 1 day ago 1 reply      
I'm kind of amazed it got in the app store. I would have figured there's a trademark check, but apparently not.
micahgoulart 1 day ago 0 replies      
If you have a jailbroken iPhone, you can get some apps that spoof your location so you don't even need to go to Applebee's physically to use the app and chat with others.

LocationHolic and FakeLocation are a few of the location spoofing apps you can get on Cydia.

jqm 1 day ago 1 reply      
This is some serious bootstrapping disruption. I hope the pivoting synergies really take off.
iambateman 1 day ago 0 replies      
Half-priced apps after 9, every night!
pessimizer 1 day ago 0 replies      
10 years from now we'll be mourning the demise of apps that would work in more than one restaurant:)
onedev 1 day ago 0 replies      
This is absolutely amazing, just what I was looking for. I'm not even joking.
joezydeco 1 day ago 0 replies      
Watch this thing actually take off and become a hit. Then Applebee's sues to take over control of the app.
mattgreenrocks 1 day ago 0 replies      
It's amazing that this app seems to have flown completely over many commenter's heads here. Sort of shows the SV bubble for what it really is.
todd3834 1 day ago 0 replies      
This app has me concerned about restaurant neutrality, the government needs to protect us from these types of ideas. (Obviously joking)
gutsy 1 day ago 0 replies      
This is amazing and awesome and I've totally installed it on my phone.

I don't want to actually go to Applebees to try it out, though.

JohnTHaller 1 day ago 0 replies      
And now I have a hankering for a tasty microwaved steak.
smugengineer69 1 day ago 0 replies      
I'm glad Mr. Lazer-Walker is taking on the person corporatehood that many app-makers appear to be content with these days...

It's a mixed up, muddled up, shook up world, except for WhatsApplebees.

hvperborea 1 day ago 0 replies      
Hahaha. I've met some great (shitty) pasta enthusiasts on Olive Grindr
mrfusion 1 day ago 2 replies      
I never understood why location based chat isn't more popular. (A location based instagram would also be really neat, see photos and comments of wherever you currently are.)
brianbreslin 1 day ago 0 replies      
Is this a month late April fools joke?
borplk 1 day ago 0 replies      
Facebook is so insecure next week they will buy them for half a billion dollars, just in case
thisjustinm 1 day ago 0 replies      
Today I learned two things: there are very few Applebee's in Los Angeles and with people like Mr Lazer-Walker in the world we're all gonna be just fine.
rosem 1 day ago 0 replies      
It's a little frustrating that I can't get anyone to pay attention to my location-based social chat app and this has 118 points. Haha.
huntleydavis 1 day ago 1 reply      
Pretty sure this is just delay from their intended April 1st launch
InclinedPlane 1 day ago 4 replies      
What's Applebees? It's a chain of pseudo-restaurants where instead of having fresh food prepared for you (as at a real restaurant) premade food is reheated in microwaves (this isn't a joke).

I'd honestly rather eat at Denny's.

rrrx3 1 day ago 0 replies      
This. I love this.
samstave 1 day ago 1 reply      
Given the quality of the food the last time I ever ate at an applebee's -- I really think they should be focusing on food, as opposed to apps.
sagarwithshah 1 day ago 0 replies      
all good apart from the punch line. You should change it because when you say "But Only At Applebee's" means you are underestimating user's power.

Ignore if it's annoying.

wil421 1 day ago 0 replies      
So is this going to replace the massive amount of Spam emails restaurants send me? Or will it be in addition?
buraksarica 1 day ago 1 reply      
I don't even understand how this got on first page. I submitted a link, even i did not see it on new page after an hour :P
DavidBradbury 1 day ago 0 replies      
I really don't get what is interesting about this. Do people really go to Applebee's often enough to care about this sort of thing?
Bootstrap 3 Tips and Tricks scotch.io
185 points by scotchio  2 days ago   47 comments top 15
nkozyra 2 days ago 5 replies      
I have a hard time qualifying most of these as "tricks," which would imply some hidden or barely-utilized feature.

Most of these are quite explicitly described in the documentation (img-responsive, nested columns, responsive grids, container-fluid are all very upfront in the documentation).

And on a UX note, I cannot see any advantage to the animated, slightly expanding prettyprint code boxes. I don't think this is a valuable piece of UI.

MBCook 2 days ago 1 reply      
Went to the site on my iPhone, started reading, then got pushed into the iTunes Store to a free slot app by some scummy ad.

Closed page. Didn't read.

subpixel 2 days ago 1 reply      
May I politely suggest that the twirling-on-scroll social icons are a bit over the top? All that motion makes them something I instinctively want to avoid.
err4nt 1 day ago 0 replies      
Heres an actual Bootstrap trick: Display placeholder text as tooltip content for focused, non-empty form inputs.

Have you ever entered information into a form that used placeholder text to tell you what to write, and you already started typing so that text disappeared but forget what you're supposed to be writing? The only way to view that placeholder text is by clearing the input field, right? Well if you have Bootstrap included already we can do some magic!

    // Display placeholder="" text as tooltip for :focused, non-empty inputs    $('form input').blur(function() {      var inputVal = $(this).val(),          titleText = $(this).attr('placeholder');      if ( inputVal !=  '' ) {        $(this).tooltip({          title: titleText,          trigger: 'focus',          container: 'form'        });      }    });

noir_lord 2 days ago 1 reply      
I like the tips but nosying around the rest of the site some of your other content is absolutely lovely.

The chrome all-stars series is absolutely fantastic, I'm primarily a Firefox user (I've always preferred Firebug to Chrome Dev Tools) but I'm starting to realise that in a lot of ways chromes dev tools are much deeper than firebugs.

Cheers :).

sologoub 2 days ago 0 replies      
Cool write-up!

One thing though, the hover menu doesn't really work with my Nexus 7, as it sends me straight to reddit. Hover in general assumes a mouse and doesn't work on mobile, which I'm guessing is why it was not included out of the box.

arb99 2 days ago 1 reply      
marcosdumay 2 days ago 1 reply      
> It will stack like this on large devices (desktop):

> And it will stack like this on small devices (tablets/phones, 768px and below):

Isn't that the default behaviour of inline HTML elements?

Honestly, most of the time I don't know what I gain by using Bootstrap, and would be very pleased if they distributted a Bootstrap-lite that only changed the default presentation of elements without all those containers, effects, and optional styles.

psteinweber 2 days ago 0 replies      
Opened link, learned about .container-fluid within the first 30 seconds, life: changed. Thanks, very useful stuff!
trumbitta2 2 days ago 0 replies      
Shameless plug: http://www.williamghelfi.com/bootstrap-in-practice

But I'm linking it only because in that page I offer my own tips and tricks via an email mini-course.

Beginners have found it useful.

wnevets 2 days ago 0 replies      
Where are the tricks? Most of them are lifted from the docs.
elsherbini 2 days ago 2 replies      
17 upvotes, and I've seen 4 come in while the site was down.
azoapes 2 days ago 0 replies      
Aaaaaaaand it's down.
Searching 20 GB/sec: Systems Engineering Before Algorithms scalyr.com
184 points by snewman  2 days ago   74 comments top 26
patio11 2 days ago 4 replies      
This comes up in my work modestly frequently, generally with a slightly different scenario for the tradeoff between "complicated and considered" versus "cheap and dirty but gets the job done."

e.g. We could spend 3 weeks using feature vectors and backtesting against prior data to figure out what signals accounts which are likely to churn send (for the purpose of proactively identifying them and attempting to derisk them, like by having the customer success team help them out directly)... or we could write a two-line if statement based on peoples' intuitive understandings of what unsuccessful accounts look like. (No login in 30 days and doesn't have the $STICKY_FEATURE enabled? Churn risk!)

The chief benefit of the second approach is that it actually ships, 100% of the time, whereas priorities change and an emergency develops and suddenly 75% complete analysis gets thrown in a git repo and forgotten about. Actually shipping is a very useful feature to have.

vinkelhake 2 days ago 2 replies      
I wrote a simple code search tool a number of years ago that had the ability to run arbitrary regex queries on a codebase, much like a recursive grep. I was working on a medium sized codebase and our primary platform was Windows. The problem with grep was that opening and scanning lots of small files apparently wasn't something that Windows was optimized for. If the file cache was cold, a simple search could turn into minutes of waiting.

My approach was to, essentially, concatenate all files into a single blob. The search tool would then let the regex loose on the contents of that single file. I had a simple index on the side to map byte positions to filenames. To get a line number from the position I would simply count the number of newlines from the start of the file to the regex match position.

Add some smarts to avoid duplicating work, compression and multithreading and I had a tool that could find all lines that contained "int(8|16|32|64)_t" in the Linux kernel source in a third of a second. This was about 20 times faster than grep (with a hot file cache).

It was a simple solution that scaled well enough to handle the codebases I was working on at the time without problems. I later read Russ Cox's article[1] on how Google code search worked. I recommend that article to anyone who's interested in running regular expressions on a large corpus.

Edit: The source[2] is available on github. Tested on Linux and Windows.

[1] http://swtch.com/~rsc/regexp/regexp4.html

[2] https://github.com/kalven/CodeDB

corysama 2 days ago 0 replies      
A friend of mine does a lot of work that often boils down to neighborhood searches in high-dimensional spaces (20-200 dimensions). The "Curse of Dimensionality" means that trees and tree-based spacial data structures are ineffective at speeding up these searches because there are too many different paths to arrive at nearly the same place in 150 dimensional space.

Usually the solutions end up to use techniques like principle component analysis to bit-pack each item in the dataset as small as possible. Then to buy a bunch of Tesla GPUs with as much RAM as possible. The algorithm then becomes: load the entire dataset in the GPUs memory once, brute force linear search the entire dataset for every query. The GPUs have enormous memory bandwidth and parallelism. With a bunch of them running at once, brute forcing through 30 gigabytes of compressed data can be done in milliseconds.

carsongross 2 days ago 1 reply      
modern processors are really, really fast at simple, straight-line operations


Especially given the overhead of the network: for most apps, if the user notices anything else, you've screwed up.

KISUFI [kiss-you-fee]: Keep it simple, you fantastic individual!

userbinator 2 days ago 0 replies      
modern processors are really, really fast at simple, straight-line operations

Also really tiny loops; what slows them down is having to make lots of conditional branches/calls.

This related article could be interesting for those who are curious to know how fast plain C (not even inline Asm) can do string searches: http://www.codeproject.com/Articles/250566/Fastest-strstr-li...

I do wish Intel/AMD would make the REP SCASB/CMPSB instructions faster, since they could enable even faster and efficient string searches limited only by memory bandwidth. (Or they could add a new instruction for memmem-like functionality, although I'd prefer the former.)

noelwelsh 2 days ago 0 replies      
I don't know that this is simple. There is a lot of fancy work going on getting data in and out fast.

I think it's more that memory is getting slower relative to CPU, as we all know, so complicated data structures that involve lots of random access to memory aren't so efficient anymore vs linear scans through memory that can benefit from cache. It's still engineering, just the tradeoffs have shifted.

j2kun 2 days ago 1 reply      
They're not using any fancy algorithms...except when they implement a customized version of Boyer-Moore for better string searching in a critical section of their algorithm. Not to mention all the fancy algorithms optimizing their brute-force code underneath their immediately visible program.

A better title would be, "How we determined when to use brute force."

babs474 2 days ago 0 replies      
This randomly reminded me of an ancient kuro5hin article that I found interesting back in the day. Where the proposal was to use brute force to implement comment search on kuro5hin.


MCarusi 2 days ago 0 replies      
It's taught sometimes that the simple method is never the "good" approach, and that the fancier and more elaborate you are, the better the solution will be. I'm not just talking about code, either.

When did "simple" become such a dirty word? Simple isn't synonymous with lazy.

ddorian43 2 days ago 1 reply      
Look at their pricing. The best gb/$ public plan, is 500$ month for (worst case scenario) 300gb of data at all time.

With that price, you can keep most of the data in memory-ssd and don't care to use fancy-algorithm.

But what if the pricing was 10x lower ?

stcredzero 2 days ago 0 replies      
I've implemented a brute-force search with an exponential algorithm, in a context where the user would want instant results. Basically, I implemented a bipartite graph producing algorithm that took the "obvious, low hanging fruit" first, and only worked for a set amount of time. This produced a "sloppy matching" tool that did most of the user's busy work for matching natural gas coming from "upstream" and going to points "downstream." Then the user could eyeball a few optimizations and put those in by hand.

I've also implemented a "web search" that was just a complete scan through a text file. But this was back in 1997, and the amount of data we had didn't justify anything more complicated.

happyhappy 2 days ago 1 reply      
Interesting product. Have you considered writing an output plugin for Heka (https://github.com/mozilla-services/heka), so that people could use the parsers and client side aggregators etc written for Heka with your service?
stuki 2 days ago 0 replies      
In BI, a similar tradeoff between lots of fancy preaggregation, versus optimizing search across the raw, un- (or lightly-) processed base data comes up quite frequently.

Commonly, the choice of approach is dictated by the number of end users querying the same data. If it's relatively specific queries ran frequently by many users, the aggregation approach can be made snappier and save lots of processing power.

But for power users, it becomes a nuisance real fast to be limited not only by stored base data, but also by the somewhat arbitrarily chosen aggregate structures. I'm assuming people doing log analyses of server logs fall within "power users" in most shops. At least I'd hope so :)

As an aside, the Go language (that I'm currently flapping between loving and not so much), versus Python at al., seems to be born of somewhat similar thinking.

coldcode 2 days ago 0 replies      
Simple is an algorithm more or less. Simple and in-memory is something I've used in a number of cases. The other benefit of simple is reliability. 20-30 years ago this type of solution wasn't really possible but with today's 64 bit CPU's, tons of ram, (and if you have to ) SSD's a lot of what used to require cleverness can now be done with simple.
zimpenfish 2 days ago 0 replies      
I did a similar thing when holding a forum in Redis - generating a keyword index for searching took up 3x the amount of space of the raw text and, whilst faster for single whole word searches, fetching each article and grep'ing it in Ruby was plenty fast enough for my needs. Plus no overheads of index maintenance (new posts, expiring posts) and search limits ("only posts by X", "last 7 days") etc.
tantalor 2 days ago 0 replies      
Who is the author of this? Byline please!
iadapter 1 day ago 0 replies      
Reminds of the way LMAX achieve high throughput and low latency on their trading exchange. One of the key points is that they use parallelism but not concurrency. Keep your threads busy doing one thing only and avoid synchronising with other threads. No blocking, no queues and they achieve >100K messages/s.

Where they do need pass messages between threads they use the famous LMAX Disruptor which keeps data copying and blocking to a minimum.

tantalor 2 days ago 0 replies      
Title should be, "Searching 20 GB/sec: Systems Engineering Before Algorithms"
dragontamer 2 days ago 1 reply      

    Id certainly seen this at Google, where theyre     pretty good at that kind of thing. But at Scalyr,     we settled on a much more brute-force approach: a     linear scan through the log
Art of Computer Programming mentions this methodology, and the importance of learning about it. There are entire sections of "Tape Algorithms" that maximize the "brute force linear scan" of tape drives, complete with diagrams on how a hypothetical tape drives work in the situation.

Few "fancy algorithms" books actually get into the low level stuff. But Knuth knows: modern computers are extremely fast at linear data, and accessing data linearly (as well as learning algorithms that access data linearly) is a good idea.

I'll bet you that a B-tree approach would be fastest actually. B-Trees are usually good at balancing "massive linear performance" with "theoretical asymptotic complexity". IIRC, there is some research into this area: (look up cache sensitive search trees)

retube 2 days ago 1 reply      
In order to facilitate sub-word or wildcard searches can't you use a keycharacter index instead of a keyword index?
a8da6b0c91d 2 days ago 1 reply      
Herb Sutter gave a talk somewhat recently going over the basics of working intelligently with the cache. He had some kinda surprising results where naive algorithms on vectors/arrays outperformed the intuitively better list/tree approaches. Circumstances where you'd think all the copying elements and re-sizing std::vector would be expensive turn out not to matter.


The basic take-away is to always prefer std::vector and boost::flat_set/flat_map unless you have evidence to the contrary.

sorbits 1 day ago 1 reply      
The articles title is: Searching 20 GB/sec: Systems Engineering Before Algorithms.

Current title on Hacker News is misleading as the simple code is not compared against any fancy algorithms. This is about not spending time devising fancy algorithms when the simple O(n) approach is good enough.

gailees 2 days ago 1 reply      
taeric 2 days ago 0 replies      
Isn't this answered quite simply by "when they get the job done to your satisfaction?"
wbsun 2 days ago 0 replies      
How fancy and efficient the underneath runtime library, memory management, process scheduling, network stack, block I/O, device drivers have been designed and implemented so that someone can just write naive code to achieve such a high performance and think himself a genius.
suyash 2 days ago 0 replies      
@Author: First of all simple code and fancy algorithms are not opposites. Actually a very simple code (elegantly and concisely written) can be have a really fast performance on the order of O(1). What you're suggesting is a very naive way of looking at the problem.

Secondly, you need to understand Algorithm analysis in little more detail. If you look at run time analysis of your brute force algorithm, you can determine, of it grows in linear time, logarithmic, exponential etc and how to improve upon the core algorithm. Anyone can add more machines, more memory, faster processor which will obviously help in improving performance but in comparison to order of growth of 'n' all of that pales in the background.

How to create good outcomes when negotiating aaronkharris.com
167 points by katm  3 days ago   46 comments top 11
joshuaheard 3 days ago 8 replies      
I wrote an article on negotiation when I was a trial attorney that is applicable to most situations.

"Ten Rules of Negotiation"


Spearchucker 3 days ago 1 reply      
Not sure it's as profound to others as it was for me, but my biggest lesson in negotiation was the idea of negotiating in bulk. If, say, there are 20 points to work through, the idea is to know before the negotiation starts which of them you're going to insist on, which you're willing to barter for, and which you're ok to lose (i.e. barter with).

As opposed to fighting through each of the 20 items one by one...

rdl 2 days ago 1 reply      
These seem helpful, particularly in multi-round negotiations (which is pretty much anything in silicon valley, but actually isn't a great model for a lot of transactions in the wider world, unfortunately), but for me, the single most important key to getting good outcomes from negotiations is pretty simple:

BATNA. i.e. know what your best alternative to a negotiated agreement is before starting negotiations, and be able to walk away. As long as I have that, it's easy to be dispassionate and rational (and thus polite, honest, thorough, good at documentation, etc.)

dethstar 3 days ago 2 replies      
> Do not leave anything to ambiguity- Turns out this is one of the hardest things to do, especially in "friendly" negotiations with investors you know or friends you might be hiring. Don't assume that something you think is implied is agreed upon. Every point that you negotiate should be made explicitly.

This wouldve saved me a lot. I just did an internship that was supposed to be paid, or at least thats what i understood out of my talk with the person in charge of accepting me for it.

Turns out when i asked for my money i got something along the lines of "well i said we'd see if i wanted to pay you or not"

Edit: and there was no contract or anything written so i guess im pretty much screwed.

zhte415 3 days ago 1 reply      
On negotiation in general, ff you have a partner or group to practice with, or as a regular small team exercise, I highly recommend Harvard's materials from their Program on Negotiation.

The material is inexpensive and can be previewed / downloaded, in full, for free (the instructor pack).

Dedicate more time to the de-briefing than the exercise, as that is where the learnings are.


baghali 3 days ago 0 replies      
"Begin with the end in mind"

-- Stephen Covey (Habit 2, The 7 Habits of Highly Effective People)

Above rule has helped me a lot throughout my personal and professional life.

johnrob 3 days ago 2 replies      
This list seems to read like: "be honest, clear, and thorough". While this makes you a straight shooter, I don't see how you'll get anything better than what's fair using these tactics (and if fair is the end goal then I've been over estimating the challenge of negotiation).
calibraxis 3 days ago 2 replies      
Good points, but wish the author pointed to the enormous, readable lit. (Few people I know have read things like "Getting to Yes.".)

People often are ideologically blind to fundamental antagonisms in various relationships. (For example, market interactions is a big one.) I've had entirely good deals with people who've tried to (if you'll excuse my language) fuck me over, by silently changing little things in PDF contracts, benefiting on the X% of people not paranoid enough to run diffs.

Some argue, "How can you make a good deal with someone who just tried screwing you over?" Frankly, most deals are that way. Landlords try to; you buy products from companies who routinely lie to you (and even try to make you feel miserable about yourself); etc. And if you're a bit privileged, you may be lucky enough to be able to hit back hard at some of these people.

tbrownaw 2 days ago 0 replies      
The web filter here at work has that blocked as a gambling site.
fluential 2 days ago 1 reply      
One of the best salary negotiation articles I've read: https://news.ycombinator.com/item?id=3501366
GFK_of_xmaspast 3 days ago 1 reply      
Haskell tutorial for C programmers haskell.org
165 points by foulas  1 day ago   43 comments top 9
cnvogel 18 hours ago 6 replies      
Oh my, another tutorial. I've looked at many of them, trying to learn something from the Haskell way. And I think I get the fundamental advantages of the type systems, the lazy evaluation enabled by the languages purity, I think I can somehow make sense of the Monads even. I have the "learn you a haskell for good" on a pile of books where I have a glimpse from time to time.

Most tutorials and books are very enthusiastic in how they can detect that I try to zip two lists of different cardinality during compile time, or how they can lazily calculate the Fibbonacci sequence. And that's really nice and fine...

But nevertheless, I use C all of the time, and I learnt how to make use of a myriad of libraries, combine connections to a SQL database, embedd a webserver, talk to USB,... Must have been 20 years ago that I wrote code to calculate the Fibbonacci sequence.

So, where are tutorials that showcase all the wonderful "high-level" functionality that has already been written for Haskell, so that I, after reading through the text, will be thrilled how much work I can avoid, or how much security I can gain when switching over from my "almost bare-matel not-much-more-like-an-assembler C" to Haskell? Not in calculating the Fibunacci sequency, but in writing a backend for my web-app, or talk to a USB peripheral? Do 3D graphics?...

rfrey 14 hours ago 2 replies      
@kissthblade: Your comment (dead) below is very sad. You've been hell-banned for more than a year and a half. It doesn't just seem like nobody is seeing your comments, it's true.

For those without showdead on:

"I posted about the same comment as the parent hours ago. I don't know if anybody even sees my posts, never gotten a response, and my "karma" or something has always been 15. And posting and reading the forum is very slow. What gives?"

Looking through your comments, I don't see an obvious reason you were hellbanned.

cgag 1 day ago 2 replies      
Chris Allen / coolsunglasses maintains a great gist of a learning path for haskell: https://gist.github.com/bitemyapp/8739525

The current intro course looks really nice: http://www.seas.upenn.edu/~cis194/lectures.html

austinz 1 day ago 0 replies      
This is great, and I've bookmarked it for reference while reading LYAH. Thanks for writing it.

For anyone who needs a refresher on DFA, Stanford's CS143 compilers class course materials are up on Coursera (https://www.coursera.org/course/compilers), and pretty helpful.

im3w1l 1 day ago 2 replies      
>What this means is that existing sort functions such as mergeSort and quickSort would need to be rewritten to sort values of the new type. In constrast, here is the type of mergeSort in Haskell mergeSort :: Ord a => [a] -> [a]

Er, you could define mergesort using templates in c++ and it would work pretty much the same.

vendakka 1 day ago 1 reply      
This makes for very good reading indeed. I started reading it and just now realised that I'd spent the last couple of hours on it. It's written well, approachable and very pragmatic. I spent a short while on Haskell a few years back and stopped after 3 or 4 chapters of Learn You A Haskell due to time constraints. I think I'm going to make this my evening reading and finally pick up the language.

Thanks for posting this.

EDIT: typos

kahaw 1 day ago 1 reply      
This is great, now I just need a similar tutorial but for LISP.
Kiro 1 day ago 2 replies      
Great! A Haskell tutorial for JS or PHP programmers would be awesome.
giuscri 1 day ago 0 replies      
Uhm ...great perspective!
Founder Ethics ycombinator.com
165 points by austenallred  2 days ago   186 comments top 23
mkempe 2 days ago 5 replies      
A code of ethics requires quite a bit more certainty and precision. As written, this is rather vague. It sounds like someone could be somehow kicked out of YC just because they're more or less disliked (who makes the decision? how?).

The recommended behaviours are virtues, not values. Adherence to virtue is the principled pursuit of given values (e.g. honesty -> true to facts, integrity -> true to your beliefs and words, independence -> true to your own judgment).

Here are examples of fairly strong codes of ethics relevant to engineers:

- IEEE [1]

- ACM [2]

[1] http://www.ieee.org/about/corporate/governance/p7-8.html

[2] http://www.acm.org/about/se-code

mikeleeorg 2 days ago 7 replies      
The curious cat in me is wondering, "Did something in particular prompt this post?"
mbesto 2 days ago 3 replies      
> Not using misleading, illegal or dishonest sales tactics.

The grey area on this one is so big that I don't even know where to begin...

Frozenlock 2 days ago 1 reply      
> Keeping off-the-record or confidential information (whether about YC itself or a YC company) private and secret.

> Not behaving in a way that damages the reputation of his/her company or of YC.

This can turn 'unethical' pretty darn fast.

tptacek 2 days ago 0 replies      
I think you want "exclusively" where you have "uniquely".
mindcrime 2 days ago 0 replies      
Beyond just the ethics of the founders in these terms, I'm a big believe in the idea that the company taken as a whole, should have values and principles, and that they should be communicated widely and clearly, and - most importantly - they should actually really be adhered to...

IOW, don't write a "mission and values statement" because it's expected or for marketing purposes. Write that stuff because you know what you want your firm to stand for and represent, now and over the long term.

We did this back when we first started[1], and we recently had a situation come up which tested our resolve, but knowing that we had written down what we believe, and what we are trying to be as a company made it a lot easier to make the right decision.[2] Or, at least, what we find to be the right decision for us.

Note that in our specific case, the decision in question is one that many rational, well-reasoned people could disagree with. But we believe that our principles dictate the decision we reached. We aren't saying people who may have made a different decision would necessarily be wrong.

[1]: http://www.fogbeam.com/company.html

[2]: http://wraltechwire.com/why-a-triangle-tech-ceo-just-said-no...

imkevinxu 2 days ago 0 replies      
> We will stand behind you no matter how much your company struggles, as long as you behave ethically.

I think this can't be re-iterated enough. Most investors would probably just write off a struggling company but YC stands by you

mful 2 days ago 1 reply      
> Keeping off-the-record or confidential information (whether about YC itself or a YC company) private and secret.

If I recall correctly, Paul Graham asks the Summer 2011 class not to share tips on getting into YC at the end of Launch Pad. I wonder if this is in part a response to all the recent YC Applications/interviews going public (or at least showing up here on HN).

natch 1 day ago 0 replies      
Some of the least defined words in here are:

- Upstanding

- Integrity

- Respect

When I say defined, I mean defined by the document. I wonder what they mean in the YC context.

As an example of why I wonder, I noticed that when YC shared a building with a scrappy, extremely creative robotics company that made a virtual telepresence robot, it surprisingly funded another company that competed with that neighbor with what looked like a knock-off telepresence robot product. This product had an admirably more clever / agile design in that it leveraged the buyer's existing iPad.

The idea that they funded a competitor to their own neighbor is not necessarily a judgement on YC. I frankly don't know enough about the companies and products involved, which is why I couched my statement with "looked like."

It's more of a setup for my real question: where does YC stand with blatant ripoffs, copying, wholesale lifting of ideas, products, business plans, from other companies? Is that considered ethical? If yes, is there anything that's not fair game? Are there any lines beyond which the copying becomes an act that is disrespectful, is considered not upstanding behavior, or shows a lack of integrity?

Zak 2 days ago 0 replies      
YC's generally good reputation has led me to take fewer steps to guarantee prompt payment when doing contract work for companies they've funded than I normally would with new clients. I'm happy to report that it has worked out well so far.
rajacombinator 2 days ago 0 replies      
You might want to add something about treating customers ethically, even when not required by law. I think with some of the bitcoin companies out there, there is increased potential for financial shenanigans that could negatively impact YC's reputation. (Frontrunning, etc.)
harrystone 2 days ago 2 replies      
The business world needs more of these kinds of no bullshit, no footnotes, no qualifier statements.
tbrooks 2 days ago 0 replies      
How does this apply to AirBnB?
steveklabnik 2 days ago 1 reply      
I'm really glad to see this. Kudos.

There have been one or two YC companies which have been a bit on the sketchy side, I'm glad to see an actual statement about this kind of thing. I'm thinking specifically of the "We bundle ads with software installers," I don't remember what the company was.

jamielee 1 day ago 0 replies      
Enron's motto was "Respect, Integrity, Communication and Excellence." As we all know... it wasn't enough. Read their Code of Ethics, too. It's so ironic.

Perhaps an essay about why ethics are important to the long-term success of a start-up would be much more effective. Why not talk about the start-ups that encountered ethical dilemmas, the thought-processes and the outcomes? That would be super entertaining as well as enlightening. I love the essays by Paul Graham. He inspired me to pursue what I love and to think about problems in the world. To simply be told to do so would not be as motivating.

I think that as a technology start-up accelerator, there should be a greater purpose that is communicated. . . like improving the world with technology.

ejain 2 days ago 0 replies      
Nice, but as they say, actions speak louder than words.
capex 2 days ago 2 replies      
"All founders in a company may be held responsible for the unethical actions of a single co-founder or a company employee, depending on the circumstances."

This sounds like a decree issued by the Russian government.

general_failure 2 days ago 1 reply      
Kinda sad that we have to explicitly write down the obvious. Things like 'be honest', 'say the truth', 'be polite', 'dont do illegal stuff' should all just go without saying.
mantrax5 2 days ago 2 replies      
In the spirit of being honest as requested, all of these are so vague and context-sensitive, basically they amount to nothing.

You'll have to do a lot more work and be more specific than this generic wishlist, if you want people to really abide by your understanding of ethics.

Oh and this one:

    - Keeping your word, including honoring handshake deals.
... is plain dangerous. Handshake deals are not deals. They're just a problem about to happen. Someone's neurons keeping the memory of a "handshake deal" will start misfiring.

Write it down. Even in an email after the meeting. If it's not written, it didn't happen.

001sky 2 days ago 0 replies      
"Keeping off-the-record or confidential information (whether about YC itself or a YC company) private and secret."

VCs are very famous (as a class of investors) for not signing NDAs with anyone except under exigent conditons. Confidentiality and its context-dependent limitations should be adressed more formally if there is any concern here--by both sides.

michaelochurch 2 days ago 5 replies      
I'd like to add a few ethical principles pertaining to employee relationships.

    * Not misleading prospective employees using "bait and switch" tactics regarding       the position or nature of the work.    * If an employee requests an introduction, grant it.     * Not behaving in a way that damages the reputation of an employee or ex-employee.     * Separating with fair severance relative to the means of the company (possibly       $0.00 and a good reference, pre-A; cash severance expected once rich).    * Using open allocation if possible.    * Not accumulating unreasonable technical debt.    * Keeping the company engineer-driven as far as possible.

jacquesm 1 day ago 0 replies      
That's long overdue. Now that they're in place that sort of thing will hopefully be a thing of the past, too many YC funded companies have been visibly in breach of these at some point in time. Winning is fine but not by any means possible.
tsax 2 days ago 2 replies      
I await Social Justice Warrior attacks using this new weapon. It's bound to happen. Let's fill every organization's charter with vague rules which can then be exploited by power-hungry self-righteous pricks. Brilliant idea.
All the Western companies youd have to combine to get something like Alibaba qz.com
165 points by ASquare  2 days ago   102 comments top 23
jfasi 2 days ago 12 replies      
I love this article. Despite the multitudes of news sources telling us about how commerce is now global and business is no longer tied to a place and the internet is changing the world, there is still an ocean of enterprises of which we US-based-or-english-speaking technologists are ignorant.

Take a moment to think about this: Alibaba is a huge company, growing in an absolutely enormous market, providing a pile of services, and most American technologists know nothing about it. Expand this thinking to countries: there are markets that are only just beginning to enjoy the degree of technological luxury the US and Europe enjoys. Who will serve them? These are people just like us, they have needs and desires much like ours. Who will satisfy them?

If you're an entrepreneur, there are millions if not billions of people who are on the cusp of becoming your target market, and the dominant technological discourse and journalistic coverage gives you no insight into the market they occupy. Not the languages they speak, not the companies who would be your competitors, not the cultural differences that would make selling difficult. Nothing.

I hope this article opens peoples' eyes to the fact that the US-based-or-english-speaking countries are soon going to be a relatively small portion of the world. We need news sources like this to practice the globalization sermon they all preach.

notatoad 2 days ago 7 replies      
online payments ---- google wallet

cloud services ---- google cloud platform

mobile apps ---- google play

mobile OS ---- android

maps and nav ---- google maps

physical retail ---- ? no google product

shopping deals ---- google offers

cloud storage ---- google drive

instant messaging ---- google hangouts

car service ---- uber (via google ventures)

c2c ecommerce ---- ? no google product

travel booking ---- google flights

b2c ecommerce ---- ? no google product

e-learning ---- ? no google product

social media ---- google+

music streaming ---- google play music (all access)

video streaming ---- youtube / google play movies

money market ---- ? no google product

all the western companies you'd have to combine to cover alibaba's markets would seem to me to be google, and maybe one or two others. i included uber because i know about that one, you could probably fill in a few more gaps with other google ventures companies.

podman 2 days ago 3 replies      
Although Alibaba is a huge company that does a ton of different things, I feel like this article went out of the way to avoid mentioning that companies like Google and Amazon (as well as Microsoft and Apple to a lesser extent) come close to checking all of these boxes. The other thing to point out is that Alibaba owns stakes in many of these companies and doesn't really own them outright.

As others have already pointed out how Google compares, take Amazon for instance:

Online Payments - Amazon Payments

Cloud Services - Amazon Web Services

Mobile Apps - Amazon AppStore

Mobile OS - Amazon FireOS

Maps and Navigation - Amazon Maps API

Retail Outlets - N/A

Group Buying - Amazon Local

Cloud Storage - Amazon CloudDrive / Amazon S3

Mobile Messaging - N/A

Car Service, Ride Sharing - N/A

C2C e-commerice - Amazon Services/Amazon WebStore (not quite the same, but close)

Online Travel Booking - N/A

B2C e-commerce - Amazon.com

E-Learning - http://www.tenmarks.com/ (owned by Amazon)

Microblogging - N/A

Music Streaming - Amazon Cloud Player

Streaming Video - Amazon Prime Instant Streaming

Money-market funds - N/A

12/18 isn't bad.

mbell 2 days ago 2 replies      
I've seen a lot of articles talking about how huge Alibaba is, but they all seem to focus only on transaction volume, e.g 'Alibaba has more sales than Amazon and eBay combined!'. I was really surprised when I read their filing, $4.7B in total revenue last financial year, $5.7B in the first 9 months of this financial year. Amazon + eBay in 2013 pulled in $33B in revenue. They seem to be processing a lot of transactions, but charging very little for it.
justincormack 2 days ago 4 replies      
Pity its not Alibaba that is for sale in the "IPO" then, just a Cayman Islands company which holds a "profit participation" right which may or may not be legal in China. The article also points out that much of Alibaba is not actually owned by the company but by Jack Ma personally, so no participation in that.
thothamon 2 days ago 0 replies      
It's not clear to me how it's good for me as a consumer to have one company providing me everything. That seems to go wrong more often than it goes well.

As an investor, I can see how a monopolistic behemoth might be good, assuming we ignore possible legal problems. But I'd also worry that a huge company like that would not be able to focus effectively on the probably hundreds or thousands of products and markets in which they must be involved. Huge companies like Exxon, say, are at least focused primarily on energy needs; Amazon on online retailing; Apple or Sony on consumer electronics and software. What is Alibaba focused on? (And yes, the same question could be asked about Google, although search and ads are probably the biggest things.)

What is Alibaba currently really world-class at, OTHER than owning the Chinese market from top to bottom? Owning the Chinese market is probably caused as much by cronyism as by being really good at anything.

meritt 2 days ago 0 replies      
Amazing how big of a company they are. This list is missing http://www.1688.com/ and http://www.alibaba.com/ which are B2B wholesaling.
xSwag 2 days ago 2 replies      
So who's buying the IPO? Seems much better investment than SV companies with little or no profit.

I wonder how it will affect YHOO -- Probably worth buying Jan 2015 $40 calls since Yahoo owns 24% stake, maybe even short AMZN on day of IPO.

mmanfrin 2 days ago 0 replies      
I think many large tech companies have me-too platforms in a wide range of services -- just because Alibaba has a fork of Android does not make it comparable to Android. A better comparison would be yielded if the userbase/usage of these services were included.

This is not to say that Alibaba is not an incredible company, just that this is an incomplete comparison.

frozenport 2 days ago 0 replies      
You could never combine Western companies to do what Alibaba did because of anticompetive, protectionist, nationalist, and corrupt policies in China. The chart can be read in reverse, describing what Alibaba knocked-off.
stusmall 2 days ago 1 reply      
I haven't heard of Aliyun OS before. It appears to be a forked version of AOSP. Does it add anything significant on top of it?
oelmekki 1 day ago 1 reply      
Although it's not directly related to the tech side, I would love to have your feedback on alibaba.

It suddenly appeared in my search results last month when looking to buy something, with a lot of results - from alibaba itself and from aliexpress. As with any website I don't know of, I queried trustpilot for them.

It's not good at all[1][2]. Most reviews talk about scams. We may praise them for being a very tech heavy company and being about to make their IPO, but let's not forget the actual service value provided to customer.

Does anyone has insight on how those reviews may be misleading ?

* [1] http://www.trustpilot.com/review/www.alibaba.com

* [2] http://www.trustpilot.com/review/www.aliexpress.com

bnycum 2 days ago 0 replies      
While the article was interesting, as I didn't know much about Alibaba to begin with, the site could use some design work. I didn't realize I was onto the next article with some type of ad in-between. Nothing was making sense till I got to the kidnapped girls of Nigeria article and realized what was happening.
xiaq 2 days ago 0 replies      
> Alibaba, which filed for its IPO on May 6, isnt just the Amazon of Chinaits also the Dropbox, PayPal, Uber, Hulu, ING Direct, and more.

Hulu is a Chinese company.


I was mistaken by the fact that it has a Chinese name and a pretty big Chinese subdivision... Hulu is an American company. facepalm

guiomie 1 day ago 0 replies      
Let's say the business environement for foreign tech gets less hostile or even totally open, has anyone calculated how Alibabas valuation would deflate ?
ironthron 2 days ago 0 replies      
I like how this site compares companies with international market to Alibaba. Alibaba is only there to serve the Chinese. Anyone else would never use any of Alibaba's services.Chinese has over one billion in population, they are very strict with foreign company. Of course Alibaba is going to seem like a great investment... for a short term. However is a horrible investment in long short term. The Chinese population will decline, as they do so will profit of this company.
jibster 2 days ago 0 replies      
For some reason this article seems flawed, am I crazy or does Google already do most of this stuff?
komrade 2 days ago 0 replies      
Yandex, on a smaller scale, can get you a similar list of its services.
seferphier 2 days ago 0 replies      
alipay is not part of Alibaba now.
nerdo 2 days ago 1 reply      
Ok now do Craigslist.
marincounty 2 days ago 0 replies      
It might "be the Amazon of China", but I don't trust most of the companies. I really wanted to like this company, butthe communication is terrible(which is understandable), and the quotes I get from suppliers are for the wrong request, or appear to be counterfit goods? There's a huge need for an independent verification system for Alibaba sellers; maybe located in a western democratic country? Right now--trust is really my problem with their site, and their suppliers.
megablast 2 days ago 0 replies      
Or Apple?
datamingle 2 days ago 0 replies      
It is like the GE of chinese tech.
       cached 11 May 2014 04:11:01 GMT