HNHacker News
TopNewBestAskShowJobs

lehmannro

375 karma · joined March 26, 2008

http://robertlehmann.de/

http://twitter.com/rlehmann

submissionscomments
lehmannro··on Mozilla and Google Objections Overruled on “Decentralized Identifiers” by W3C
The only concrete use case you've offered “is unlikely to deliver substantial gains to the industry when compared to alternatives” such as shared databases, which don't require any costly consensus algorithm.

https://doi.org/10.1016/j.techsoc.2020.101298

lehmannro··on Show HN: FuckFuckAdblock
This is exactly what the website of BILD, a major German tabloid, is doing. They will not serve you content if they detect an ad blocker.
lehmannro··on Greplin: 1.5 Billion Documents Indexed, Six Engineers
I regularly hear that if I could install it on my own server argument and wonder if you think you can handle security and administration much better than someone who's paid to do it. I, for one, can't and would not want to waste my time on it.
lehmannro··on Questions you’ll (probably) get asked at your YC interview
If you solve an unknown problem (ie. an issue nobody is concerned about) you will have a very hard time to market it and show people how they need it.

There were solutions for this Internet thing 50 years ago, even if it's hardly imaginable today. If the problem you are speaking about is communication we had that 2000 years ago, in form of smoke signals. It sucked and was dog slow but it was not an unknown problem.

lehmannro··on Why I Like Google's Reorg and Why It's Only a Start
The author procures a scenario in which Google is going to collapse rather sooner than later. The last numbers I heard from Google reported an upwards trend in revenue [1] and with their recent additions like Google +1 [2] and Google Connect [3] I don't see them ‘miss the big picture’. Am I missing some serious tech scene scoop (genuine question)?

[1] http://investor.google.com/financial/tables.html

[2] http://www.google.com/+1/button/

[3] https://www.google.com/support/websearch/bin/answer.py?answe...

lehmannro··on Always pay your web developers
I guess that caused more trouble for your dad than it did for the shop owner, economically at least. Plus he would probably brag about your dad to other shop owners. (I agree that just doing the job for free is no solution either, but do not have any better retaliation, except for proper contracts and court claims, in mind.)
lehmannro··on Eric Schmidt: On April 4th I Will Step Down, Larry Page to be CEO
While true there might be a slight portion of outcome bias -- the tendency to judge a decision by its eventual outcome instead of based on the quality of the decision at the time it was made (source: List of cognitive biases, Wikipedia) -- involved in that analysis.
lehmannro··on Study: Google “Favors” Itself Only 19% Of The Time
That search engine is still Google’s most important and profitable product, to my knowledge.

While I agree that its search engine is its most popular product it is not profitable in its own right. Google claims that "advertising revenues made up 97% of our revenues" in its Q3/2010 filings and that means advertising placed through AdSense/AdWords on other sites too:

We derive most of our additional revenues from offering display advertising management services to advertisers, ad agencies, and publishers, as well as licensing our enterprise products, search solutions, and web search technology.

-- http://investor.google.com/documents/20100930_google_10Q.htm...

lehmannro··on Ask HN: Looking for a open source project to contribute to
> I haven't came across anything I need them to do that hasn't been covered in some plugin somewhere.

If you cannot name at least 5 things you dislike about the tools and languages you use you're either in the honeymoon period, or irrational. --Jesse Noller

lehmannro··on Rejection Therapy - The Real Life Game
The ideas brought up on that site are frequently gamed in the pickup scene.

Crash 'n' Burn is the practice of trying impossible sets (ie. girls) with the assumption of being rejected. If you are sure you will blow it big time, you can as well do and learn something from it.

Another tangentially related technique against rejection angst is the Three Seconds Rule which mandates you talk to some stranger before thinking for too long (which is really a different, short-term approach to the Rejection Therapy game).

lehmannro··on Love Google. Hate Facebook. Here’s Why:
I believe your claims but is there any evidence to back it up (and is that possible on fuzzy metrics such as palpable sense of disconnect)?

From your other comments I understand you are from the US and I guess its a wholly different matter across the pond, but I for one cannot reproduce these effects here in Germany. Sure, most -- rough estimate: all -- of my contacts do have accounts on various social networks (me included) but we have never critically relied on it. It never gained quite as much traction as I always hear from Facebook.

lehmannro··on [dead]
Duplicate of http://news.ycombinator.com/item?id=1750728
lehmannro··on Love Google. Hate Facebook. Here’s Why:
I think you are overdramatizing Facebook's importance quite a little bit here. It's not like your friends will hate you when you quit and I have seen plenty of people quit online social networks while retaining their life just fine.

I could make up a similar argument the other way around: to me, services like Facebook provide little to no value; I can quit them just fine. I have communication details of a lifetime in Google, I store my documents with them, organize my calendar. (Note: I have heard Google's export features are quite okayish so that argument does not really hold.)

lehmannro··on Rouwam: An Ambitious Project
If I understand correctly, Ruby our universe with algo's and math's (Rouwam) tries to bundle all algorithms obtained from Wikipedia as a Ruby package.

I'm unsure about the handiness of that, given that I usually do not struggle do find a working implementation of an algorithm (think Rosettacode http://rosettacode.org/wiki/Main_Page) but rather which algorithm I actually want to use. I appreciate Python's standard library largely hiding the implementation details from me but rather concentrating on use cases.

Edited to clarify: the list of algorithms is fetched from Wikipedia. I think he wants to publish his algorithms in Wikipedia, not sure abut that though.

lehmannro··on Ask HN: Have any of you filed "$0" in your Tax return?
He doesn't: It's too bad you don't have any income, because if you did, you could write off all kinds of startup expenses as a business expense. (emphasis added)
lehmannro··on Dealing with startup fears
He basically says: Do not let fear overwhelm you. Just do it. Listen to paying customers. Then just do it. And drugs.
lehmannro··on Python idiom for taking the single item from a list
A property which is exposed by the article's solution too:

   >>> x = (lambda: (yield 1))() # generator with one step
   >>> y = tuple(x)[0]
   >>> y
   1
   >>> list(x) # exhausted
   []

   >>> x = (lambda: (yield 1))()
   >>> y, = x
   >>> y
   1
   >>> list(x) # exhausted, too!
   []
Because that's just what you inevitably need to do to fetch a value from a generator. There is no peeking action or some such.
lehmannro··on Git-achievements: Earn geeky merit badges while learning Git
shameless plug I have been working on a similar thing in the last few days: http://github.com/lehmannro/commithero

It's based on the commit history rather than local actions and should work on Git, Subversion, Mercurial, and Bazaar. I am still low on achievements (about half a dozen implemented) but tried to make the API for third-party achievements as easy as possible; patches welcome!

lehmannro··on Google Contacts Beta
I'm genuinely interested: is there anything I don't spot or which is not yet rolled out to my account about Google Contacts? If I remember correctly it is a standalone site for quite some time now. http://googlesystem.blogspot.com/2008/09/google-contacts.htm...
lehmannro··on Robust Programming
Assume that the caller or user is an idiot

I think this is not helpful at all, probably harmful. There might be use cases for my code I did not even think about and third-party programmers should well be able to use it as they wish. And if they feel like modifying internal state (which the author deems fragile in his article) -- oh well! We are all adults here.

NB. I agree that the library he's examining is sub-par quality and is well worth a look.

lehmannro··on Obama ends NASA space race with slow road to Mars
Do you know any concise resource comparing current private space transportation businesses? I'd prefer reading one run-down article over investigating each company individually.
lehmannro··on Why Apple did what they did
That's what quite a few programming platforms already do (I know it's the case with Appcelerator and suspect MonoTouch doesn't do it any differently); but these are actively outlawed by the new paragraph 3.3.1: (emphasis added)

Applications must be originally written in Objective-C, C, C++, or JavaScript.

Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited.

lehmannro··on Twitter Third-Party Dev Exodus Inevitable
As the days go by, more and more people come onto the service, and see an ad-free environment. Introducing that sometime in the future is going to be a bitter pill to swallow for a lot of users.

Throughout his whole essay he keeps asserting that advertising will drive users away but I don't think that's necessarily the case. I'm sure a lot of casual Internet users don't care about an ad here and there. And then there's always ways to filter the ads out (think Adblock).

lehmannro··on Phony currency used to fight bribes in India
And how would you make up for the sudden loss of 100,000 bureaucrats? I don't have to think too hard to come up with a number of scenarios where this policy will just make things even worse.
lehmannro··on Python and the power of 'first class' everything
>> How we'd override "pass" boggles my mind.

> An expression that does nothing. Putting `''` in a function is equivalent to `pass` in that it lets the parser do its stuff. `pass` could be a builtin defined as `None` and the behavior would be the same as today, without a keyword.

The net behaviour would be the same but actually referencing None in the function body increases the refcount of None and immediately decreases it again.

  >>> def foo(): pass # no function body, after all
  ... 
  >>> def bar(): None # reference to None
  ... 
  >>> def frob(): "" # docstring
  ... 
  >>> import dis
  >>> dis.dis(foo)
    1           0 LOAD_CONST               0 (None)
                3 RETURN_VALUE        
  >>> dis.dis(bar) # incref, decref
    1           0 LOAD_CONST               0 (None)
                3 POP_TOP             
                4 LOAD_CONST               0 (None)
                7 RETURN_VALUE        
  >>> dis.dis(frob) # see "1 (None)" instead of "0 (None)"
    1           0 LOAD_CONST               1 (None)
                3 RETURN_VALUE
  >>> foo.__doc__, frob.__doc__
  (None, '')
I admit the difference is merely an academical one but saying pass is not special is not true.
lehmannro··on Convert YouTube videos to mp3's without the suck
For offline use (in whatever sense that term might be applicable to YouTube) I like clive for ripping the full video and ffmpeg for extracting the audio stream. Does your service use any such tools under the hood?

clive: http://clive.sourceforge.net/

  ffmpeg -i "$in" -acodec libmp3lame -vn "$out"
lehmannro··on Linus: "Microsoft Hatred Is a Disease"
What happens if they reject the patchset? I could imagine an outcry of Microsoft zealots slamming the open source community because they refused to cooperate with Microsoft.
lehmannro··on Dynamically create a type with Python
Oh, I didn't think about the order. Django's approach to this issue is really simple and only requires that all your Struct fields are instances of some common base class.

http://code.djangoproject.com/browser/django/trunk/django/fo... creation of the counter on individual fields

http://code.djangoproject.com/browser/django/trunk/django/fo... application of the counter upon field harvesting

lehmannro··on Dynamically create a type with Python
I'd rather utilize a metaclass in this special case. This would retain the notion of Foo being a type much better than transmogrifying a function into a class. (Granted, there's not that big a difference technically but you're tricking other programmers into believing Foo cannot be used for eg. isinstance.)

  class Foo(Struct):
    __endian__ = Struct.LE
    foo = Struct.uint32
    bar = Struct.string(foo)
If you don't like specifying the endianness as a class attribute you could still inherit from Struct.LE/BE rather than Struct itself.

Quick technical howto: make Struct have a __metaclass__ class attribute, populate the __metaclass__ class with a __new__ or __init__ method performing the desired transformations.

See http://www.python.org/download/releases/2.2/descrintro/#meta... for details on metaclasses.

lehmannro··on The only time you're ever allowed to start music on a home page
Despite the publishing date being March 31st it seems that was an April Fool's joke. http://news.ycombinator.com/item?id=541446
Page 1 of 2Next →