HN user

martin_k

362 karma
Posts3
Comments46
View on HN

Trojanow published his own account of the events here: http://translate.google.com/translate?sl=auto&tl=en&u=http%3...

Apparently he had already been denied a work visa without explanation last year by the US consulate in Munich. However, that decision was apparently later reversed after protests from Washington University in St. Louis. Since that must have been before the Snowden leaks and NSA protests, I'd say it doubtful if those are really connected to his more recent refusal of entry.

Edit: To be clear, I am not suggesting that his refusal was not politically motivated. But the original article suggests (or rather quotes author Juli Zeh on suggesting) a direct connection to the NSA protests and their petition against NSA surveillance.

Read closely. Abdulrahman al-Awlaki was killed in a separate drone strike, two weeks after his father's death. The real target of that second drone strike is currently unknown.

I found this part particularly interesting: "Our business is apolitical, okay? We do not generate the intelligence requirements. They're levied on us. And so if there is a requirement for foreign intelligence concerning this issue or this region or whatever, then that is [...] what we are going after. That is the intelligence target we are going after because it is the requirement."

I think as engineers, we have a certain degree of responsibility for how our work is used. To say your work is apolitical when you're in the business of spying on people is quite the statement, especially if "people" is basically everybody. (I am aware that the speaker is probably not an engineer and it wasn't an engineering recruiting program, but the same can be said about their field, I'd assume.)

Not true. With the exception of CSU perhaps, every party with a seat in the Bundestag either has internally passed its own concept for a basic income or is discussing the idea: [1] http://www.die-linke-grundeinkommen.de/WordPress/ [2] http://www.gruene-partei.de/cms/partei/dokbin/207/207470.auf... [3] http://www3.fdp-bundesverband.de/files/363/Abschlb-Buergerge... [4] http://www.kas.de/wf/de/33.20403/ [5] http://library.fes.de/pdf-files/wiso/06193.pdf

[dead] 13 years ago

That's worldwide sales while the article seems to compare against USA sales (but forgets to mention this).

Disallowing self-signed certificates doesn't improve security of unencrypted connections, but it increases security of all connections using SSL/TLS. It doesn't make you more secure (you don't have strong authenticity in any of those cases), but it certainly makes me more secure.

When Gmail fetches email from my provider, which has a certificate signed by a trusted CA, it would have previously accepted any self-signed certificate from an active MITM.

If you compare it to the number of dreams people have around the world each night, it probably is rare. But then, it's not that difficult to learn and you also find quite a lot of people whose dreams are usually lucid without really being aware of the difference.

Similar studies have been conducted by LaBerge and others for decades now. I did a brief search and found two examples: One that measured EEG for clenching hands (in 1986!) and one that measured cardio-vascular activity for performing squats. So the novelty here is probably the use of fMRI. This is probably difficult because sleeping in these things is not exactly comfortable.

Nice analogy. From a technical standpoint, however, access patterns often make a bigger difference than the type of your storage device. The difference between sequential access on disk and sequential access on SSD isn't nearly as big as random access on disk compared to sequential access on disk.

Apple has had Darwin on ARM processors for quite some time. It's called iOS. The cited project was porting Darwin to a certain ARMv5 chip. I don't know a lot about the ARM architecture, but from what I understand the original iPhone was already run by an ARMv6 and ARMv5 is pretty obsolete. So this can hardly be interpreted as part of a serious effort to port OS X to ARM.

Silly Python riddle 15 years ago

You're right. I am still referring to that particular part of your blog post:

  >> So that’s the only case I can think of where Python
  >> completely throws away the value of a lambda function.
Silly Python riddle 15 years ago

The value of the lambda is the generator object. How else could you call list() on it if it was thrown away?

Silly Python riddle 15 years ago

Yes, but I think this is cleared up if you consider that calling a generator function does not execute its body, but return generator object. It doesn't really matter if it's a lambda or a regular named function.

Silly Python riddle 15 years ago

As i said, f() returns a generator object in this case. So you're calling list on a generator that yields None once, the result of which is a list that contains None. If you change the `yield` to `yield "foobar"`, list(f()) will get you `["foobar"]`.

Edit: Perhaps, to clear things up more, about where the value 7 went- your snippet can be expressed without using lambdas as

  >>> def g(x):
  ...  return 7
  ... 
  >>> def f():
  ...  v = (yield)
  ...  g(v)
  ... 
  >>> list(f())
  [None]
Note that there's no return before g(v) because generators (at least in 2.7) can only yield, not return a value.
Silly Python riddle 15 years ago

You're right, it isn't. The presence of yield makes the return value of f() a generator object. The function body is not executed initially. When you call .next() on the generator object execution starts and runs until it hits the first yield, raising a NameError because g is not defined.

edit: typo

Silly Python riddle 15 years ago

I'm not sure, why you think the value of the lambda function is thrown away. The lambda function returns a generator object. The function body of a generator is generally not executed until you call .next() on it, so that's why you don't get a NameError instantly. Also the value, that you .send() into the generator is not thrown away either. In your example the generator just runs into an exception before it goes into a state in which it would accept a .send() call. Just consider this modified example:

  >>> f=lambda: (yield)
  >>> gen=f()
  >>> gen.next()
  >>> gen.send('foobar')
  'foobar'

Hamburg and Munich are among the most expensive places in Europe. Living costs in Berlin are probably half (you can rent a place for under 200 EUR if you wnat). There is also a much better startup and developer scene. So if you are into the whole startup thing, Berlin is pretty great.

And the crime rate, schools, ... compared to the US? Really? ;)