Show HN: A dbg(...) macro for C++ - <AUTHOR> https://github.com/sharkdp/dbg-macro <comment><USER4> This seems very much inspired by the `dbg` macro recently introduced in Rust. [1]

Which in turn was inspired by Haskell s `Debug.Trace` functions [2].

It's definitely a convenient tool if you can't use a debugger or want to follow more complex interactions.

[1][https://doc.rust-lang.org/std/macro.dbg.html](https://doc.rust- lang.org/std/macro.dbg.html)

[2] [https://hackage.haskell.org/package/base-184.108.40.206/docs/Debug...](https://hackage.haskell.org/package/base-18.104.22.168/docs/Debug- Trace.html)

<comment><USER5> Debuggers are practically useless for me, they aren't complex enough to meet my minimum use-case. If I use a debugger--approximately two hours wasted if I'm completely unaware where the problem is. If I instead try to spend ten minutes logically explaining the program, usually I fix the problem and also gain a deeper understanding of the mechanics of the program. The program is usually multi-threaded, real-time.

A debugger gives you the state of the entire program, and one point in time. A log allows you to focus, which gives you the state you actually care about, at all the points in time where you care about it.

The time-evolution of the state of the program is practically the only thing I'm interested in.

I find that code that has been written mainly with debuggers is often full of tons of errors, often simple negations which have been worked around an even number of times. Then you're stuck with the debugger, and there's no way to reason about the program. The result is low quality.

<comment><USER6> Discussing your feelings towards debuggers would produce a better discussion if you explained what complexity you find lacking? Nowadays they are incredibly complex pieces of software (e.g., [https://rr- project.org](https://rr-project.org)) _if_ you take the time to learn how to apply what they offer to the kind of software you write.

Simple things that people like reasoning about and visualizing with printf() statements can be done in a debugger more easily after using your brain and logic to think about what the issue might be. Think a value got assigned a value it should't have? You add log statements, rebuild, relink, reproduce; or, you could just set a hardware watchpoint to print the backtrace whenever it changes. In my experience people don't reach for the debugger way of doing it simply because it might not be needed all the time and the syntax is forgotten. Diving into `man` or docs _is_ harder than printf(). Use those skills more regularly and/or make a cheatsheet, macros, etc. and it is less of a problem.

Debuggers _must_ be used in certain situations. Personally, the canonical example I use is tracking down compiler bugs. I and colleagues have been hit with a number and it would be utterly hopeless to attempt to reason about what is going on without a debugger. (One particular past case that stands out was the compiler, under very certain circumstances, not restoring a register that it was obligated to restore when emitting a catch block. Isolating the root cause and generating a reduced example was _loads_ of fun /s, would not recommend.) Then there's kernels, runtime engines with JIT, diagnosing unreproducible problems in situ where the executable can't be replaced or restarted, and the list goes on...

<comment><USER5> It's more of just a joke--sometimes a simpler solution can do much more than a complex one. Complex solutions aren't necessitated, in fact, I actively avoid them in my product.

It's also not for lack of use, I've developed software for more than fifteen years, and I've always had access to some sort of debugger, and I've always used them, just very rarely.

>You add log statements, rebuild, relink, reproduce; or, you could just set a hardware watchpoint to print the backtrace whenever it changes. In my experience people don't reach for the debugger way of doing it simply because it might not be needed all the time and the syntax is forgotten. Diving into `man` or docs is harder than printf(). Use those skills more regularly and/or make a cheatsheet, macros, etc. and it is less of a problem.

Hardware watch points work horribly for objects, I have to create and maintain views for all the practical objects I use, unless they're very popular libraries like OpenCV. Ultimately, these views could simply be printf or cout statements, maintained with a common function or method defined on all objects.

These log statements typically happen right near assert statements, so they can be maintained along with the code. I'll usually use something more sophisticated than simple printf, and I'll have many different types of logs for common debugging cases. They can be enabled or disabled at runtime, so no recompilation needed. They give me access to all the state I could possibly require, and they get committed to the code base.

I've had coworkers spend entire days in debuggers (often in groups), where a simple step back and a simple log easily solves the problem.

I would use hardware watchpoints if they were standardized across debuggers, but they don't have all the features I need even in the best debuggers, and then I'm still useless on other platforms. Also, I usually need the program to run at near real-time otherwise the bug may not reproduce itself.

edit: I should add I do use some of the more advanced debugger features in those rare cases. So debuggers are still necessary, just not in the day-to- day.

I should also say I've also worked in environments where the software has to be pretty much bug-free, where small bugs may not be immediately noticeable. So there's a lot of planning, design, even non-formal proofs of correctness happening. If it's allowable for your software to have some bugs, maybe you can take a shortcut with a debugger.

Finally, I'm not against all tooling, just debuggers. I use visual profilers all the time.

</comment></comment></comment></comment><comment><USER7> Would be nice to offer runtime enable/disable. Out of curiosity, I wrote a little benchmark and submitted as a PR: [https://github.com/sharkdp/dbg- macro/pull/57](https://github.com/sharkdp/dbg-macro/pull/57)

The key idea is that modern CPUs dynamically branch-predict-away if-statements that are rarely/never invoked, such as a dynamically disabled dbg() call.

With the performance difference magnified 10x by loop unrolling, this is what I'm seeing on my Mac laptop:

830000000 iterations in 3 secs = 2.76667e+08 iters/sec (compiled-out). 840000000 iterations in 3 secs = 2.8e+08 iters/sec (dynamically disabled).

And this is the worst case, where the whole program does nothing but call dbg() - real world programs contain lots of other real work, drowning the minute difference in performance, i.e. in a real program I doubt you'd see even 0.1% total performance difference, littering it with dynamic dbg() statements.

p.s. my C/C++ is pretty rusty - feedback welcome, but pls be kind.

<comment><USER8> This is not a real disabling of dbg.

dbg.h should support a function that disables writing out to the screen, but still returning the expression during run-time.

You could try it out with something like this:

      disable_dbg_output();
      int a = 0;
      for(int i=0; i<1000000000; i++) {
        a += dbg(i);
      }

<comment><USER7> yes, correct - my code is just the performance test, which IMHO is the first step and surprisingly tricky due to effects from the loop around it.

The code for dynamic enable/disable is trivial but the design is a bit subjective. For example, another API might be set_dbg_output(bool) and then maybe get_dbg_output() to inspect the current state.

<comment><USER9> An alternative route might be to find a way to integrate this code with a logging library like spdlog.

This way you'd get the cool short notation of dbg(...) and the ability to have more control about the sinks (including indeed dynamic disabling/enabling).

</comment></comment></comment></comment><comment><USER10> I wrote and use regularly similar macros in C++ context.

They are less advanced on some areas, but more advanced on some.

Particularly nice features:

* a structured log indented by stack trace depth (fully portable, put a simple macro at function start, will log start and any exit)

* log any expression: `somemacro(foo.bar())` will log `foo.bar() = 42`

* log scopes like functions

* with possibility to jump to source code line on one click or keypress

* browse the log with structured jumps (like step into function vs advance one line, back and forth)

...just by generating a text format that is parsed by common pre-existing tools (namely emacs compilation-mode and a few other short settings).

I've been planning to share that for a moment. It will eventually appear on [https://github.com/fidergo-stephane- gourichon?tab=repositori...](https://github.com/fidergo-stephane- gourichon?tab=repositories)

I wrote a similar set of macros for C, see my comment [https://news.ycombinator.com/item?id=21071497](https://news.ycombinator.com/item?id=21071497) on eerimoq's "Show HN" [https://news.ycombinator.com/item?id=21040649](https://news.ycombinator.com/item?id=21040649)

</comment><comment><USER11> Mozilla has something similar in Gecko's codebase, inspired by the Rust macro: [https://searchfox.org/mozilla- central/source/mfbt/DbgMacro.h](https://searchfox.org/mozilla- central/source/mfbt/DbgMacro.h)

<comment><USER12> Chromium's got "LOG" as well in it's debugging mode.

</comment></comment><comment><USER13> I wrote something similar a couple years ago, except my macro automatically compiled to a no op if compiled in release mode, which is very convenient for switching back-and-forth to the testing.

<comment><AUTHOR> Thank you for the feedback. We deliberately chose not to do this (see discussion in [https://github.com/sharkdp/dbg- macro/issues/26](https://github.com/sharkdp/dbg-macro/issues/26)), mainly for the reasons given in the Rust documentation:

> The dbg! macro works exactly the same in release builds. This is useful when > debugging issues that only occur in release builds or when debugging in > release mode is significantly faster.

Note, however, that the C++ _dbg(..)_ macro can be easily disabled to a no-op (identity-op, to be precise) with the _DBG_MACRO_DISABLE_ flag.

</comment></comment><comment><USER14> This is neat. The obvious comparison is glog's DLOG feature.

<comment><USER15> It also reminds me of Qt's qDebug macros

</comment></comment><comment><USER16> Oh ... this is really neat. I like how you can wrap an subexpression or prettyprint vectors.

When the debugger is too cumbersome to use good old prints is always a nice fallback.

</comment><comment><USER17> The name reminds me of [https://metacpan.org/pod/DBG](https://metacpan.org/pod/DBG), which, full disclosure, I wrote. Not that it's nearly as cool or likely to be used by anyone, but ... it has a superficial resemblance.

</comment><comment><USER18> I did one of these for C(or at least gcc/llvm c) but it's a lot harder to abstract over types in c so it's a bit more limited

[https://github.com/rtaycher/debug_print](https://github.com/rtaycher/debug_print)

</comment><comment><USER9> It looks pretty cool. I agree that installing the header in /usr/include is a good idea.

</comment><comment><USER19> Nice idea! I would appreciate a warning from the author specifying whether dbg evaluates its argument twice, as if so one must be careful with side effects when using it.

<comment><AUTHOR> Thank you for the feedback. No, it does not evaluate its argument twice - <USER2> this test: [https://github.com/sharkdp/dbg- macro/blob/f30cdda9fc5332e062...](https://github.com/sharkdp/dbg- macro/blob/f30cdda9fc5332e06201d886c9e6ec4b8f0f1216/tests/tests.cpp#L166-L168)

<comment><USER19> Thanks for the reply. Amazing work :)

</comment></comment></comment><comment><USER20> I was thinking about writing a lib like this... really useful

</comment><comment><USER21> It would be great if we can see similar things in Java or golang

</comment><comment><USER22> would be nice if we had something similar for C...

<comment><USER23> See [https://github.com/eerimoq/dbg-macro](https://github.com/eerimoq/dbg- macro).

I got inspired by this HN post and implemented it today. There's certainly room for improvment.

</comment></comment><comment><USER24> in lisp this would be

        (defmacro dbg [expr]
          (println '~expr ~expr))

<comment><USER25> Not really, the C++ macro provides information about which source file the statement was generated from, as well as color coding.

<comment><USER26>
      1> (defmacro dbg (expr)
           (with-gensyms (val)
             ^(let ((,val ,expr))
                (format t "~a: ~s -> ~s\n" (source-loc-str ',expr) ',expr ,val)
                ,val)))
      dbg
      2> (dbg (cons 1 2))
      expr-2:1: (cons 1 2) -> (1 . 2)
      (1 . 2)
      3> (dbg (+ 2 2))
      expr-3:1: (+ 2 2) -> 4
      4
      4> (progn
           (dbg (list 1 2))
           (dbg (cons 1 2))
           (dbg (+ 1 2)))
      expr-4:2: (list 1 2) -> (1 2)
      expr-4:3: (cons 1 2) -> (1 . 2)
      expr-4:4: (+ 1 2) -> 3
      3

Colorization is just inserting some trivial ANSI codes. Arguably, this just slows down the program even more and increases the size of the log files. It can be done as a post-processing filter.

</comment></comment></comment><comment><USER27> This feels like too much of a "ricer" feature, at least the way it's implemented.

Instead, you want:

* A pretty-printer library (possibly single-header) * A function for obtaining the typename; see:

        https://stackoverflow.com/q/35941045/1593077
        https://stackoverflow.com/a/56766138/1593077

      for a constexpr approach.

and it won't hurt to have:

* A logging library with log levels (so that you don't necessarily need to recompile to enable these outputs) * A stack trace printing library

When you have that, such a macro becomes nearly trivial. Oh, yeah, and - <USER3> the silly ANSI coloring.

<comment><USER28> He would be a lot more receptive if you didn't use terms like "ricer" and seemingly demanding changes rather than recommending them.

<comment><USER29> What's a ricer?</comment></comment></comment>


Ask HN: Seeking funding for hospital 3D printed face shields - <AUTHOR> I'm volunteering with Nexus Maker in Sunnyvale by providing 3d prints to them for masks for hospitals.
This got a bit more real this morning with
https://www.washingtonpost.com/health/2020/03/25/coronavirus-patients-do-not-resucitate/
> The conversations are driven by the realization that the risk to staff amid dwindling stores of protective equipment — such as masks, gowns and gloves — may be too great to justify the conventional response when a patient "codes," and their heart or breathing stops.
I am going to paste in a request from their VP, Jim, that he has been passing to his contacts. <comment><AUTHOR> <Message from Jim Schrempp of Maker Nexus>

Hi,

I don't do solicitation, but this is a good enough cause that now I am. I've become the person I never thought I'd be. I am personally volunteering with a non-profit that is making a critical health care item and giving them away to hospitals. Read on...

I'm writing in the hope you would pass this on, hoping it finds some corporate philanthropist who would be interested in funding this excellent cause I volunteer for making face shields needed by health care workers. I thought you might have a network that reaches far.

You probably know that there is a critical shortage of personal protective equipment (PPE) for health care workers in this crisis. I know of one nurse who works at a major hospital in San Jose say, "we're making face shields from shower curtains and hot glue". I asked a doctor friend who works at a free clinic in SF if they are running out of face shields and he said, "are you kidding? We have never had any."

You probably don't know that the non-profit I volunteer for (Maker Nexus) is busy making them and giving them away! We've turned our whole makerspace into a face shield factory. It's a war and we are in the thick of it.

Our place is 3D printing headbands and using our industrial laser cutter to make the shields. Add some elastic and a video on how to assemble these and off they go to places like Valley Medical Center. We're sending 500 to them on Friday and 1000 to a local Kaiser hospital next Wednesday. We have way more requests to fill. Local hospitals need this stuff.

We can make about 85 a day in house, but a lot of people in the bay area have their own 3D printers and we have invited them to make the parts at home and drop them off at Maker Nexus for packaging with other parts and shipment. We have plans to be at 1,000 faceshields a day in the very near future. That could really make a difference in keeping health care workers safe so that they are there when we need them. Imagine a time where the hospitals have only half their staff because of sickness! Not only will new corona virus patients have no one to take care of them, but there also won't be staff to handle broken legs, heart attacks, car accident victims. This could affect us all.

And we're working US wide. We had a contact in Pennsylvania that was making the 3D printed parts of the face shields but did not have a way to do the laser cut part. We shipped him 300 of the parts he needed.

And we're helping the world. The original design of the face shield was made by a company called Prusa in The Czech Republic. We worked with local hospitals and evolved the design significantly to make it more effective. We have shared our work back with Prusa so they can update the plans they share with the world.

So to the point. These face shields cost us about $5 each in materials. Not even counting our rent of $18,000 a month. And utilities. And maintenance on the equipment. And other stuff. For us to ramp up to 1,000 a day means we have to raise $5,000 a day. We're getting a lot of $100, $200, and even an occasional $1,000 in donations. This is fantastic, but won't get us to 1,000 face shields a day.

$5,000 a day is a huge amount of money for a small non-profit like Maker Nexus, but to give protection to 1,000 health care workers is a tremendous impact. And we can do that every day if we have the money. We are not going to have to do this forever, but right now we can make a huge difference. We need this money now if we are going to get these hospitals and clinics the protection they need.

FYI, I'm sending this plea on to other friends as well. But if you know of some philanthropist that would be willing to make an impact, I'd love a chance to tell them about us. Please send this email on to anyone at all.

I'm including some links below that will give you more info - one of them is a video we just did today for the hospitals.

Maker Nexus on KTVU:

[https://www.ktvu.com/news/covid-19-sunnyvale-company- designi...](https://www.ktvu.com/news/covid-19-sunnyvale-company- designing-3d-protective-masks-to-meet-demand)

Our effort: [http://makernexus.org/covid19](http://makernexus.org/covid19)

Details on the face shields: [http://makernexuswiki.com/index.php?title=3D_printed_face_sh...](http://makernexuswiki.com/index.php?title=3D_printed_face_shields)

Our assembly video: [https://www.youtube.com/watch?v=qKqDUExM4Q8](https://www.youtube.com/watch?v=qKqDUExM4Q8)

Thanks for reading. Be safe.

Jim \-- Jim Schrempp Maker Nexus Board Member [http://makernexus.org](http://makernexus.org)</comment>


Oktopost Launches "Streams" Social Listening for B2B - <AUTHOR> http://www.oktopost.com/company/press/id/8877

<comment><AUTHOR> Looks great, can't wait to try!</comment>


Nokia World 2011 starts tomorrow - <AUTHOR> http://events.nokia.com/nokiaworld/

<comment><USER2> Are we going to see the Mango in action inside a Nokia phone?

<comment><USER3> Yes, but a lot of the leaks suggest these might be mid-range phones, unfortunately. And a U.S. launch in 2011 seems unlikely.

<comment><USER4> It's like everyone involved with Windows Phone is looking for reasons to take potential customers and make them keep saying "Well, maybe I want one of these at some point, but clearly today isn't the day to go buy one."

First, cut and paste is coming at some point, then it was delayed. Then Mango is coming at some point with multitasking and a bunch of other stuff. Now, handsets newer than a year old are only slowly trickling out, the country with the best OS-supported services is late getting them, and the handsets may or may not be coming to any given customer's carrier anyway.

To say nothing of all the time this gives people to settle in permanently with iPhone or Android in the meantime.

It's like a business school case study in how to keep customers from taking action.

<comment><USER3> On the contrary, I'm very happy with the way things are happening. Sure, I hope to wake up tomorrow and here that the Nokia Searay is real, is awesome, and is available to buy immediately (with free same-day shipping). That would be awesome.

But the reality is that the first batches of Windows Phones did not sell well. There are a lot of reasons for it, there is a lot of blame to go around. Nevertheless it's understandable that the carriers weren't urgent to get more Windows Phones. They do seem to be relatively excited about Mango, though. The Focus S seems like a pretty awesome phone to me. As does the Titan. As does (hopefully, if it's real) the Searay.

</comment></comment></comment></comment><comment><USER5> Since they've gone MS I couldn't care less.

<comment><USER6> I've never quite understood this "I don't know what it is, but I hate it" attitude.

Have we really gotten ourselves into the situation where we have to blindly follow the PR from our favorite phone manufacturer and piss any competing announcement before it's even announced?

<comment><USER7> Judging from the agenda, Nokia World is primarily for developers.

Nokia Series 60 sold 116 million handsets a year, 36% worldwide market share.

Windows Phone 7 has roughly a 2% worldwide market share.

Yes, it's very easy to say "I don't know what it is, but I hate it." At a 2% market share, it doesn't make commercial sense for developers to pay attention.</comment></comment></comment>


Skype founders raise $165m for new fund to invest in disruptive European tech - <AUTHOR> http://www.ft.com/cms/s/2/f04786d2-3512-11df-9cfb-00144feabdc0.html <comment><USER2> Skype was sold to Ebay in 2005 for 2.6 billion US$, so one would think that the founders have plenty of money. Why did they just raise what seems to be a petty amount instead of just ponying up themselves? Is it risk management, to work with other smart people, broaden the base of potential deals or what?

Or was Joost an expensive venture that left them with less funds than desireable?

<comment><USER3> Atomico's first fund was internal; this is Atomico II and they went out and raised a fund for this one. They've already done a handful of investments in the past:

[http://www.crunchbase.com/financial-organization/atomico- inv...](http://www.crunchbase.com/financial-organization/atomico-investments)

</comment></comment><comment><USER4> This is great news -- I think Europe is fertile ground for doing startups.

Europe only has one fundamental disadvantage for startups -- that there aren't a lot of startups yet.

Three factors: 1) European employment regulations: which largely wouldn't apply in a tiny startup, or could be circumvented through use of contractors. This is the one area where government could have a positive impact.

2) Lack of investors -- there are a few great ones (Index, Atomico, Seedcamp) but there isn't a huge pool of medium-good firms to pitch, or to syndicate on deals. Even bigger, there aren't anywhere near as many tech angels as NYC or Austin, to say nothing of SFBA. The solution is to have more successful exits like Skype.

3) Lack of entrepreneurial education in colleges or programs -- Founder Institute, Seedcamp, and a few others are changing these. I'd love to see European universities focus on startups.

I'm planning to go full-time on a startup this summer, and would definitely do it in Europe (Berlin, Scandinavia, Netherlands, Poland, or the Baltics) or Canada if I could get financing and visas, rather than the US. It's going to be a lot easier to recruit top talent from India/China based on easier visas, and even though it might be easier in SFBA, I think the marginal extra startup in SF will have a harder time getting the top 5 people than the marginal extra startup in Europe, since there's less competition.

</comment><comment><USER5> I expected that they owned this disruptive tech and tried to fund it, but no.</comment>


New Bailout Plan - $700B to go to Startups.  YC on steroids. - <AUTHOR> http://blog.magenic.com/blogs/aarone/archive/2008/10/21/A-700-Billion-Dollar-Bailout-Plan-that-will-Actually-Work.aspx

<comment><USER2> This wouldn't work, for the same reason that the subprime derivatives bubble collapsed. If you increase the amount of funding available to people, then more marginal teams/ideas/homeowners get funded. The actual success rate will be far lower than the historical 1 in 10, because the driving factors of success (having a market and sufficient technical ability to go after that market) remain constant, yet the pool of people going after success increases.

Same effect as the dot-com boom, or the Web2.0 boomlet.

If I were to craft a bailout plan with those $700B, I'd do it like this: $400B to go towards undergrad scholarships and graduate research fellowships for science & engineering fields; $200B to be spent directly on basic research; and $100B as a venture fund for entrepreneurs pursuing wildly ambitious ideas based on emerging technologies.

Currently, there's a glut of Ph.Ds and inadequate research funding, so many physics & math Ph.Ds end up working on Wall Street. This is a huge waste of talent; instead of performing basic research that could expand the capabilities of the human race, they waste their time shuffling money around. $200B could fund between 500k-1M new professors. Imagine the potential breakthroughs they could discover.

1M professors is definitely more than the pool of qualified Ph.Ds, so $400B goes toward increasing that pool. This could fund 2.5M college educations, or 5M man-years of graduate school stipends. Combined with increased research funding for after they finish their Ph.D, this would make grad school more attractive relative to law or business school - the old "default options" for bright young individuals who don't know what they want to do with their lives. Imagine if everyone said "I want to be a physicist" instead of "I want to be a lawyer".

<comment><USER3> I think the article, and the above response are both reactions in the 'to a hammer, everything is a nail' analogy. And as I use to say to my father, it only works for the hammer!

These two solutions are only address small parts of somewhat unrelated problems. Will more start-ups strengthen the economy? likely! Will more phd create more technology for the start-ups? likely!

But what is missing is the scale of employing thousands if no millions of people. I know history says the original trickle-down economics of the Reagan era didn't work, but that was giving people money in the hope they would spend it rather than invest. The new version is keep financial institutions alive so that they can continue loan/borrowing activities - though hopefully without making the same dumb moves they have made in the past.

Start-ups are theoretically small in nature at the beginning, and therefore are potentially a long road to recovery. Same with PHD's? How many individual auto-workers or even accountants are going to become PHD's. Though you (nostrademons) do say 'many physics & math Ph.Ds ' are not using there Ph.D abilities, that will hopefully change due to the lack of potential in the new Wall St. Though you could also argue that this is the time when Wall St. actually needs those Ph.Ds the most.

<comment><AUTHOR> True, but isn't the combination of money, IQ, and courage to take a risk the world's only known universal hammer?</comment></comment></comment>


Overriding ActiveModel::missing_method to turn Facebook into a pseudo model - <AUTHOR> http://dumbhipster.com/2011/10/28/overriding-activemodelmissing_method-to-turn-facebook-into-a-local-model

<comment><USER2> That's a really cool idea and a great way to easily implement a ruby version of an API client. Thanks for the tip!</comment>


Thoughts on the Facebook deploy and push process - <AUTHOR> http://ablogaboutcode.com/2011/05/27/recap-and-thoughts-on-the-facebook-deploy-and-push-process/

<comment><USER2> Original video of the presentation here: [http://www.facebook.com/video/video.php?v=10100259101684977&...](http://www.facebook.com/video/video.php?v=10100259101684977&oid=9445547199&comments)</comment>


[spanish] Apple and News corp to release iPad only magazine - <AUTHOR> http://eleconomista.com.mx/tecnociencia/2011/01/11/aumenta-expectativa-periodico-ipad <comment><AUTHOR> Babble fish translation:

 _The next week could come to the light "The Daily", the newspaper with paid subscription, realised especially for iPad (of Apple). The creator of this newspaper is News Corp., social founder of means infinity and networks, like MySpace. According to sources mentioned by Forbes, "The Daily" will be presented/displayed by Rupert Murdoch (CEO of News Corp) and Steve Jobs (CEO of Apple) between 17 and 19 of January. The launching event will be the Museum of San Francisco de Modern Arte. The expectation grows Murdoch and Jobs has worked in this project for a pair of months, without revealing details of if it could have a printed edition or Web, for the users who do not have iPad. It is speculated on that the unloading of this newspaper could cost 99 cents of dollar to the week and that in one first stage, will only be available in the United States. Also, one calculates that those are 100 journalists that will feed with contents this newspaper, like columnistas of New Yorker, The Daily Beast, Forbes and AOL. The interested ones already can accesar to the page Web of the newspaper in www.thedaily.com and reserve to their subscription, leaving their email._</comment>


Ask HN: legality of re-using publicly posted material - <AUTHOR>

I recently set up a site which collates After Effects expressions and scripts (http://xscriptorium.com). At the time of building I conceived only of one scenario: the person submitting an expression is also the author of that expression. As it turns out, the community has come up with another scenario: posting expressions that were written by others. Now, that obviously makes this site a lot more useful when it comes to collating this content but I'm wondering what the copyright and etiquette issues are? A lot of this will, I guess, revolve around where these expressions are sourced - a lot of the time expressions are posted on the After Effects mailing list, in answer to requests for a particular expression.
So now I'm wondering what I should do? Is it legal?
Any feedback would be appreciated. <comment><USER2> If you encourage or openly tolerate the sharing of copyrighted materials, that is considered illegal and you can be sued for it. To be safe, discourage such activity. Instruct the community to post their own scripts or scripts they know to have been shared in the open - and then trust your community members to do the right thing. In a large community, you can't possibly police everything. So follow the YouTube example. If a developer or lawyer claims to own a script that one of your members is thought to have illegally posted, censor the file and inform the member. Ban repeat offenders.

<comment><USER3> Yeah, if you're polite about it people will understand. I don't think you'll have too much of a problem if you think up solutions before hand. So instead of waiting for it to happen, write down now what you will do, what you will say to people if the wrong script is posted, and make sure you're very consistent about it.

Also, remember, if someone's script is posted without permission they might be mad, but there is always the possibility they would have posted it themselves. So every time you're contacted about a script it wouldn't hurt to say: "We're sorry your script got posted. We'll take it down immediately. A lot of people found it really useful, would you consider putting it back up under your own name?"</comment></comment>


Show HN: Minimal Object Description Language – char efficient data serialisation - <AUTHOR> http://www.modl.uk <comment><AUTHOR> Hi Slaughter, Lamb here.

I designed this and I'm looking for some (brutal, I expect) feedback and input.

I've been working on some DNS-based protocols and have been frustrated by how verbose plain text data serialisation languages are and how unsuitable they are for storing in DNS TXT records.

MODL prioritises character efficiency above all else.

I welcome all feedback and comments and if anyone would like to help develop it, that would be amazing.

So, please tell me what you think – I can take it. I'm expecting a good shearing at least.

Thanks,

Elliott

</comment><comment><USER2> I like the concept but here are some issues:

True (01) / False (00) - I assume that you will not support hexadecimal notation (00)

How will you note when its a textual semicolon from a string separator. IE: "a":";","b":"1" vs. a;;b;1

How do you tell a numeric value from a string character? IE: "a":1;"b":1 vs. a;1;b;1

Nulls what is test or is null: "x":null vs. x;000 < is this a string value, a hex value, or a null?

<comment><AUTHOR> Thanks very much for the feedback. Keys and values are separated by equals. Pairs and array items are separated by a semi-colon. I wasn't totally clear whether your examples were pairs or array contents sorry, but I've assumed they were pairs.

Hexadecimals work like JSON (4 digits)

key=\uXXXX

Semi colons are used for structure so need to be escaped or quoted:

## quoted example

a=";"

## escaped value

a=\;

## escaped value using escape tilde (better in DNS)

a=~;

The interpreter uses type inference, so this example will always be a number:

a=1

To force it as a string, you can quote it:

a="1"

I wasn't clear on your final question but unquoted 000 always represents null. So:

## this is null

x=000

## this is string 000

x="000"

Hope that answers the questions and thanks again for the feedback. If I've misunderstood or you're not clear on anything let me know.

(edited to fix line spacing)</comment></comment>


Unprocessed Foods Cut into Precise 2.5cm Cubes - <AUTHOR> http://lernertandsander.com/cubes/ <comment><USER2> A reddit commenter compiled a key: [http://www.reddit.com/r/food/comments/35qtqy/food_cubes/cr73...](http://www.reddit.com/r/food/comments/35qtqy/food_cubes/cr73ttr)

</comment><comment><USER3> Some of their art is really quite cool.

This one I particularly liked: [http://lernertandsander.com/aux- raus/](http://lernertandsander.com/aux-raus/)

and this scared me a little: [http://lernertandsander.com/wp- content/uploads/2014/12/every...](http://lernertandsander.com/wp- content/uploads/2014/12/everyone1.jpg)

<comment><USER4> It's a shame the cake at the end is CGI ;(

<comment><USER5> Yes it is :(

FYI; the cake is probably a reference as to us dutch people always serving this type of cake, albeit smaller and in a different form, at funerals. Knowing this gives the short a nice touch :)

</comment></comment></comment><comment><USER6> And in the lower left part you have two pieces of fish, which are actually the same piece, rotated.

<comment><USER7> Somehow I doubt that.

<comment><USER6> Find the high-res file, look very carefully. The piece of fish has enough fine features to reliably distinguish it from a different piece of fish.

<comment><USER8> You are right. Interesting, yet somehow it diminishes the piece a little in my mind, as obviously they composited the final image, whereas I imagined standing over the piece as if it were on display.

Love the piece still though.

<comment><USER9> > Interesting, yet somehow it diminishes the piece a little in my mind, as > obviously they composited the final image, whereas I imagined standing over > the piece as if it were on display.

This. There is something akin to cheating, when each block can be carefully cut, arranged and photographed (potentially multiple times to get a perfect image) and then photoshopped into a final image, as oppossed to getting them all cut and arrangd and taking a photo before the inevitable drooping and leaking.

It is still an incredible image and a brilliant idea.

</comment></comment></comment></comment></comment><comment><USER10> File under posts from the reddit front page 2 days ago.

Anyway these foods have been processed. What many people don't realise is that your "natural" fruits have been artificially ripened. There are food safety processes too such as washing and spraying with fungicide. There's also labelling and sorting that goes on.

<comment><USER11> The "artificial" ripening with Ethylene isn't really as evil as it sounds, fruit emits it anyway as it becomes ripe. If you have for example some avocados that you want to ripen more quickly, putting them in a paper bag with ripe bananas or lemons will hasten the process significantly. Fruit on its own like bananas will ripen much more slowly than if they are surrounded by a bunch of peers.

<comment><USER12> The faster ripening is also true if they are surrounded by a bunch of pears.

</comment></comment></comment><comment><USER8> Actually I take back my comment about the photoshopping diminishing the piece. After reading a comment on the reddit thread complaining about the perspective being off, I can see that by 'shopping it they've given it a somewhat unreal feeling, almost a little Escher-like. Probably why I like it.

<comment><USER13> that near orthographic perspective had me going "Am I looking at the CG artwork of some incredibly talented artist?"

It almost compelled me to try making a grid of objects and giving them different materials as an art piece. Not the only one apparently: [http://i.imgur.com/UqmpoNh.jpg](http://i.imgur.com/UqmpoNh.jpg)

</comment></comment><comment><USER14> It would be funny if they snuck a cubed Twinkie in there.

</comment><comment><USER15> It is beautiful, the complexity and and variance of what grows is stunning from aesthetic perspective.

<comment><USER16> unfortunately, it is annoyingly orthographic, no perspective.. :)

</comment></comment><comment><USER17> They would serve as gorgeous iPhone app icons. At least before apple move away from skeuomorphism.

</comment><comment><USER18> Completely off-topic, but are they precisely 2.5cm, or 1 inch cubes?

<comment><USER19> I'd definitely say that's on topic, just not a very important detail

This comment is much more off topic

</comment></comment><comment><USER20> Minecraft chef!

</comment><comment><USER21> Aaaaand it's down.

</comment><comment><USER22> This picture satisfy my OCD

</comment><comment><USER23> Interesting that the choice was to cut these an inch square but title it 2.5cm. Okay, I take it back. That isn't particularly interesting. Still.

<comment><USER24> They are in the Netherlands, after all. They don't use inches for anything.</comment></comment>


Pythonium: Python 3 to JavaScript translator - <AUTHOR> https://pypi.python.org/pypi/pythonium/0.4.5 <comment><USER2> Also

Pyjamas: [http://pyjs.org/](http://pyjs.org/)

Skulpt: [http://www.skulpt.org/](http://www.skulpt.org/)

and another one I forgot.

They are all are cool projects. They diligently solve 73.56% of the problem of Python to Javascript translation, and the other 26.44% remains a very hard task. This is not unlike many other problems in programming (well, even in real life). So it is not for the lack of knowledge, experience or hard work, it is just a very hard problem.

<comment><USER3> Another one is [http://brython.info/](http://brython.info/)

<comment><USER2> Yes, that's the one. Thank you.

</comment></comment></comment><comment><USER4> There's also a quick demo of Pythonium here:

[http://pythonium.github.io/](http://pythonium.github.io/)

The generated JS:

[http://pythonium.github.io/js/app.py.js](http://pythonium.github.io/js/app.py.js)

<comment><USER5> But the python source isn't available? The project seems rather light on example code for now...

<comment><AUTHOR> I found it:

[https://github.com/pythonium/pythonium.github.io/blob/master...](https://github.com/pythonium/pythonium.github.io/blob/master/js/app.py)

</comment></comment></comment><comment><USER6> How would one go about writing an HTTP call in Python and converting to appropriate XMLHttpRequest in JavaScript? Is this project capable of something like that, and using the native JavaScript ability, rather than a predefined jQuery variable?

Trying to understand what this would be used for besides basic object mapping, iterating, etc.

<comment><USER7> XMLHttpRequest is a facility provided by the browser - when you are making a request, you are just accessing objects and functions provided by the host environment.

In Python, the "host environment" is generally CPython with the standard library. In JavaScript, the "host environment" is typically the browser with the DOM.

This is a project that translates code in Python syntax to JavaScript, so you would use XMLHttpRequest just as you would in JavaScript, but with Python syntax.

<comment><USER8> So if I get the names perfect, I can use the js API's provided by the browser and only need to compile to test my code? Next. No...not next. Please no more next. Make it stop. Just stop. Please. There are so many projects that can use your assistance. I can give you ten open issues off the top of my head that I would like fixed. So many useful, interesting, thought-provoking programs are just dying to be written.

<comment><USER9> If they haven't already, they could hide the DOM and nasty host-provided objects behind something more Pythonic. As long as it transpiles to XMLHttpRequests, it doesn't matter what the Python looks like.

<comment><USER8> And I'll build a mock environment so that I can run my python script as if there is a real DOM to manipulate, and then I'll write a test rendering system to actually display the page as if everything is running in Python. Eventually I'll just implement every single aspect of a web browser so that I can be sure that after I stop transpilfering Python, I can indeed just start putting <script type="text/python"> everywhere and convince everyone to use it, so my giant mock environment will become the latest, greatest browser, and Google will spend millions adding a tune-able JIT to cpython, leading someone to decide what a great idea it would be to use this JIT as the runtime for server-side Python, and Pode.py will take over the web, and "isomorphic" Python frameworks will sprout faster than TCP connections on a DDOS'd server.

And after that, we can start writing and re-writing everything to "transpile" to PHP and use hip-hop to make it C++. I can't spend any more attention on random me-to JS without feeling like I'm waiting for my vestigial appendix to fall out.

</comment></comment></comment></comment></comment><comment><USER10> I'd prefer a real solution to the JavaScript problem: put a real language in a web browser. JavaScript has done very well for what it is, but even Brendan Eich openly admits it was a rushed project and was never intended to be the One True Client-Side Programming Stack.

We have lots of people writing very complex programs meant to alleviate some of the problems with JavaScript, when that effort could reasonably go into making Python a first-class web language by including a VM in browser distributions and writing bindings that allow DOM manipulation.

<comment><USER11> We have a VM in browser distributions, it's called JavaScript.

<comment><USER12> And no one is complaining about it.

</comment></comment></comment><comment><USER13> These kinds of things are cute and fun—but does anyone use these sorts of language x to language y translators in practice? Not talking about specialized language interpretation. With JavaScript, the most common operation is to manipulate and capture from the DOM—something that this tool is not capable of readily doing, not, at least, without getting one's hands dirty with JS.

<comment><USER14> I think ClojureScript is actively being used in practice. I think most others are more or less neat experiments.

<comment><USER15> Pretty sure Light Table is built in ClojureScript (on top of Node-Webkit), which is pretty impressive!

</comment></comment></comment><comment><USER16> I wonder how multiple inheritance is handled by this webdev holy grail. I know CoffeeScript had some issues handling its certain attributes* within its constructors, so it'll be interesting to see how pythonium does the same and beyond.

* forgot what

<comment><USER17>
        > I know CoffeeScript had some issues handling its certain attributes*
        > within its constructors

Oh really? Do tell.

<comment><USER16>
        class a
          constructor: ->
            # conventionally logs 3
            console.log @c

        class b extends a
          c = 3

        new b()  # logs undefined

<comment><USER17> Not quite. Key-value _properties_ use the colon syntax. Regular assignment is for local variables. Your "c" is a local variable within the class body of "b", and should absolutely not be visible from the constructor of "a".

Here's the corrected version:

        class a
          constructor: ->
            console.log @c

        class b extends a
          c: 3

        new b()  # logs 3

<comment><USER16> Today the whole office learned. Thanks a bunch, Jeremy!

</comment></comment></comment></comment></comment><comment><USER18> Is there an online transpiler to compare the Python source to the generated JavaScript as on the CoffeeScript site?

<comment><USER19> You can compare the Javascript code generated by the Veloce mode [0] and by compliant mode [1]

[0] [https://gist.github.com/amirouche/7768738](https://gist.github.com/amirouche/7768738) [1] [https://gist.github.com/amirouche/7768858](https://gist.github.com/amirouche/7768858)

</comment></comment><comment><USER20> If you like Python you should really look at CoffeeScript and even better ToffeeScript. You can write code that looks a lot like Python. Actually the spirit of Python is to be close to pseudo code, and if you want to you can write CoffeeScript/ToffeeScript that beats Python in that respect.

<comment><USER21> oh so ToffeeScript is the latest fashion now ? See, thats why i dont get into any of those alternative JS syntaxes.

<comment><USER22> If you refrain from any area where one thing might be more popular than another, you're going to have a very hard time getting anything done.

<comment><USER23> I do find the number of options hard to choose from. The hacker approach seems to be to learn a bit of everything (and enjoy it) but for people like me where programming is a necessary tool to get shit done, trying to decide between these 10 options and pick one that will turn out to be the best/still be useful in 3 years is hard.

</comment></comment></comment></comment><comment><USER24> This should help me learn JavaScript!

<comment><AUTHOR> I don't think that is good idea. Javascript has it's own idioms and also gotchas. You are not going to learn them by looking at translated python code. Read JavaScript The Good Parts instead.

<comment><USER25> And Javascript Allongé, my personal favorite!

[https://leanpub.com/javascript-allonge/read](https://leanpub.com/javascript- allonge/read)

</comment></comment></comment><comment><USER26> Anonymous functions?</comment>


Cypherock – Making Paper Backups of Cryptographic Keys Obsolete - <AUTHOR> https://cypherock.com <comment><AUTHOR> Hello HN! I am Rohan from Cypherock ([https://cypherock.com](https://cypherock.com))

Cypherock is the World's first offline data storage device that secures your digital assets without a single point of failure. We are currently focusing on securing Crypto, but it can be used to secure any other digital assets like DevOps keys etc.

At the top of the 2017 bull market, I found that one of my friends couldn't recover his seed phrase written on a piece of paper due to an unfortunate house fire. Around the same time, my college friend had kept his seed phrase as a screenshot which got lost when the phone was corrupted. That's when we realized the need for a solution that caters to both data loss & theft problems simultaneously.

It's said that your security is only as good as your weakest link. After talking to hundreds of wallet users, we realized securing wallet backup on a piece of paper is the weakest link of Crypto security. It exposes your keys in plain sight, becomes a single point of failure, is prone to environmental damages & faces from inheritance issues.

This gave birth to Cypherock. Using Shamir's Secret Sharing, we split the seed phrase into 4 shards which are stored in the 4 EAL 6+ Smart Cards (cyCards) protected by a PIN. The 4 cyCards can be kept in different remote locations. In case you need to recover your digital assets, you need to fetch any 2 out of the 4 cyCards & enter the PIN that you had set earlier.

Currently, we are open for pre-orders. We will also have a digital assets inheritance app that works with the product to allow the transfer of assets like your passwords etc. without compromising on privacy & control. Unlike cloud-based solutions which almost never work because you have to trust them with your digital assets, this will be a decentralized service. More on this soon!

We aim to bring the same peace of mind in securing digital assets that the World currently feels with physical assets. Looking to get feedback from HN about the product.</comment>


A digital video recorder and streamer - <AUTHOR> https://vanheusden.com/constatus/ <comment><AUTHOR> I have developed a digital video recorder and streamer that also detects movement and audio. It has been in the works for about 4 years now and I'm super proud that it actually gets usable now! A friend of mine helped with the web-interface. It is targetted at Linux, but it may work on other unixes; I did not try that yet. I love to hear feedback. If you would like to see certain new features or things that need improvement; let me know!

[https://vanheusden.com/constatus/](https://vanheusden.com/constatus/)

</comment><comment><USER2> really nice project used in many hackerspace as alternative to motion which uses a lot less CPU power for a lot MORE features! check it out if you like this kinda stuff</comment>


Introducing the Django Debug Toolbar - <AUTHOR> http://rob.cogit8.org/blog/2008/Sep/19/introducing-django-debug-toolbar/ <comment><USER2> If you're a jealous Rails dev there's a similar plugin that provides most of the same functionality:

<http://github.com/drnic/rails-footnotes/tree/master>

Here's an awesome, low-contrast-so-it's-easy-on-the-eyes screenshot:

[http://marcusvorwaller.com/look/footnotes-20080920-221131.jp...](http://marcusvorwaller.com/look/footnotes-20080920-221131.jpg)

</comment><comment><USER3> Just a heads up anyone using this - the middleware injects the text into the body tag. So, properly formed html with a body is required for the bar to get injected.

So, for anyone like me trying to test this with a response just dumping some test text...hopefully I saved you some debugging time.

</comment><comment><USER3> After watching that talk - I was actually inspired to build this same thing.

Well done and thanks - this is going to be quite handy.</comment>


Text Messages Between Travis Kalanick and Anthony Levandowski - <AUTHOR> http://spectrum.ieee.org/cars-that-think/transportation/self-driving/28-revealing-text-messages-between-travis-kalanick-and-anthony-levandowski <comment><USER2> > A source close to Uber's operations says its engineers watched the > intersection where Uber's cars were said to have run the red light, and that > this text refers to them recording a number of normal, human-operated > vehicles also breaking the law. Uber has never officially admitted that its > software was to blame.

is the implication here that that intersection has a lot of red light runners? if so, are they so dense in not understanding how normal people running red lights is less of an issue here than a machine running that red light?

normal humans run red lights because they're either not paying attention or they're assholes. how is a machine safer or better if it can't pay attention (or even worse, is an asshole).

someone could have died because uber decided the rules didn't apply to them. it's ridiculous that they're still allowed to operate in california.

<comment><USER3> Don't forget illegally running autonomous tractor trailers in Palo Alto and on the roads of Nevada.

These guys are criminals... total disregard for human life (but their own) in every shape and way there is. From potentially killing people, too treating everyone is who not their BRO like trash; drivers, employees, customers, business partners, etc, etc, etc... GROSS!

<comment><USER4> Your comments come off as if you are more bitter about some company you can just choose to ignore than benchamark is about Travis.

<comment><USER5> > bitter about some company you can just choose to ignore

This is not about some product you buy, or some service you pay for, it's about sharing the road, and whether the other people/entities on the road with you operating multiple thousand pound machines at 24-65 Mph have a legal right to be there and are safe. That's not something you can necessarily "ignore" without consequence.

<comment><USER4> I am only referring to this person's tone being unlike most of the people on this forum. "GROSS" "burn Uber down to ground". It is concerning how angry this person is. Also yes the car ran the signal, it was bad they should be fined and what not. This is not L5 autonomy so the driver is also responsible for not breaking at that signal . Stop making this sound like the car ran over someone or did not stop for pedestrian.

<comment><USER3> Yes Travis continues to meddle with Uber and be involved he may just well burn it to the ground out of pure ignorance and hubris. Only hold the ashes he built then burnt!

Their behavior is so GROSS it's almost illegal.

As for concerning that's funny ... Uber stole my money and laughed, then caused other ppl I know financial harm and then all this stuff comes out in the press about them. I loathe Uber that is all ... no more no less.

Why do you care so much ... what skin in the Uber game do you have?

<comment><USER3> 21 ppl upvoted my comment at the top.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> "Uber Saw Tesla as a Huge Competitor

While Uber followed Google's cars closely, it was Tesla and Elon Musk that the duo discussed most frequently.

9/14/2016 Levandowski: Tesla crash in January … implies Elon is lying about millions of miles without incident. We should have LDP on Tesla just to catch all the crashes that are going on.

9/22/2016: We've got to start calling Elon on his shit. I'm not on social media but let's start "faketesla" and start give physics lessons about stupid shit Elon says like [saying his cars don't need lidar]"

Does anyone know what they're referencing here? I don't take Elon as a person to lie, his character seems too strong for that - he understands public perception and seems to deeply cares about it.

<comment><USER7> Multiple images can be used to compute a 3D point cloud. This is computer vision stuff around for many years. The challenge is this is a passive sensor in that the cameras count on light illuminating the scene. So at night; in bright light (that causes images to blow out); shadows; etc; you can have voids. If a person is in that void bad things can happen.

But cameras now cost under a $1 each in volume (thanks smartphones!) so dirt cheap. An imaging based point cloud extraction system main components are therefore cheap. Add a GPU enabled system to process (it's quite compute heavy) and you are set. OpenCV has the algorithms needed.

LiDAR is an active sensor in that the laser "illuminates" the target area. This adds cost but that is coming down quickly. Also as the sensor delivered 3D points (not images) the computational cost with images can be saved; so less CPU/GPU required.

Levandowski is a LiDAR guy. It's what he believes is the best solution for the problem.

Some feel that LiDAR is not a fit either as it doesn't work well in rain/fog/sleet/snow. There was a youtube video showing a self driving car running a test course in clear weather and again in the rain. You would not want to be a pedestrian during the rain test.

In reality this is all engineering dick waving. Prices will come down and the sensor payload will converge.

For full autonomy it is likely that cameras, LiDAR, Radar, and sonar all will be used. They all bring some advantage to the problem that addresses a weakness of one of the other sensor techs.

Oh yeah, and Levandowski is a complete prick. Someone should teach him about IP theft and give him a prison life lesson. He's going to need it.

<comment><USER8> Incidentally, Musk's take: "The whole road system is meant to be navigated with passive optical or cameras and so once you solve camera vision then autonomy is solved if you don't solve vision it's not solved so that that's why our focus is so heavily on having a vision neural net that's very effective for road conditions." [https://www.youtube.com/watch?v=gv7qL1mcxcw&feature=youtu.be...](https://www.youtube.com/watch?v=gv7qL1mcxcw&feature=youtu.be&t=14m02s)

<comment><USER9> Why would you want to limit yourself to passive cameras and make your life harder? This is like limiting yourself to flapping bird wings to make airplanes.

<comment><USER10> No, it's like limiting yourself to using skis to move down a ski slope. He's right: the roads are design to be navigated using vision. Signage, regulations, paint, curbs, etc. There's no proof that you could safely navigate the roads with LIDAR, but we prove every time we drive that you can do it with vision.

And sure, there might be a better way to get down a ski slope, but skis would be a pretty good starting point. And they guarantee you don't end up in an impossible situation because you're doing things a fundamentally different way than the system expects.

<comment><USER11> They're designed to be navigated using human vision, which has very different characteristics in terms of dynamic range, resolution, processing pipeline, inferring details about the scene based on past experiences, etc than machine vision.

</comment></comment></comment></comment></comment></comment><comment><USER12> Reading their exchanges its more interesting than just finding stuff about the court case. Specifically how these insiders think about their competitors. Such as how they think that Elon is the biggest competitor and how they wanted to partner with Google.

<comment><USER13> I guess that's because of Tesla's advantage in vertical integration -- they control the entire stack unlike Waymo or Uber who have to retrofit their gear into specific car models.

Tesla's tech is generally considered weaker but Musk could still catch up and overtake by playing the "worse is better" card.

<comment><USER14> They might also realize just how important the combination of electric and self-driving is in terms of $/mi. Both lower the cost substantially, but together things start to get really cheap. When you add in the cost of a driver, internal combustion is still roughly competitive. Once you remove that cost, electric will be significantly cheaper. Tesla's investment into battery production could be difficult for Uber's suppliers to overcome.

The end game in Uber's VC-money-burning present state is an eventual future where self-driving vehicles drive the cost down to where Uber makes a profit from the same fares we pay now. But if Tesla prices their service near their own cost, Uber could get to its own self-driving service and be forced to choose between pricing their service higher than Tesla or continuing to take a loss on each ride.

Tesla also has a huge PR advantage. Competitors need to be able to capture the attention of riders as well as offering self-driving vehicles. Given how easy it is for Musk to get press, he might have the best chance of doing that without having to pay for it in the same way that Uber has had to pay.

</comment></comment></comment><comment><USER15> > 7/23/2016 Kalanick: You hungry? .. Can get some Uber Eats steak and eggs.

Travis shows dog fooding at its best.

<comment><USER16> Even specifies "Uber" Eats. That's a CEO right there.

<comment><USER15> Exactly. The man doesn't have an off switch. It's like Alec Baldwin talking to the sales guys: " _Always be closing!_ "

</comment></comment></comment><comment><USER17> i don't understand how us the public are allowed to read a private conversation. Don't take me wrong i enjoyed reading it, it felt like snooping, but isn't it a blatant privacy violation?

<comment><USER18> Anything you do that's business related could end up on the front page of the NY Times. I would be extremely careful about what you do on corporate provided phones and email.

<comment><USER6> Zuckerberg's early days of conversation released didn't seem to hurt him making $40B+ - I always wondered if FB censored/prevented the spread of that information relating to him on FB.

<comment><USER19> Who knows where he would have ended otherwise.

</comment></comment></comment></comment><comment><USER20> So much talk about LIDAR and other sensors. Why nobody talks about obvious idea of Road Object Message Bus? ROMB is a protocol where each road object (a traffic light, a sign, a car, etc.) transmits info about itself. A car could broadcast its direction vector, intention to turn, any non ROMB moving object it sees. A traffic light could broadcast current state and when it is going to change. That information would greatly enhance overall security, especially during rain and snow conditions, when even LIDAR fails.

Self-driving is such important (just after eliminating combustion engines) that we could upgrade existing cars with cheap ROMB boxes. Vehicle GPS tracking system costs about $30. ROMB box would cost about $60. Let's say that from 2027 all cars have to have a ROMB box to enter a downtown ...

<comment><USER21> Because this would likely require a large change in city infrastructure.

Who will be building this? Who will pay for it? If it is the city how will you convince the city's taxpayers to pay for it? If it is a profit-seeking corporation, how will you convince a city to let you cause the disruption, construction, etc. to let you do this?

For other cars, what advantage does this bring to other car manufacturers and why would they agree to cooperate with competitors? Of course there is the obvious benefit that this would help all the players, but why does that marginal benefit outweigh the risk of commoditizing a brand new market / product and eliminating the chance to establish a market share lead. I am partly raising these hypothetical questions because I think companies are trying to "tough it out" and do it without such changes to city infrastructure first and see how that turns out.

I appreciate your simple approach, but you might be disregarding the societal and business factors in favor of making the engineering challenge simpler.

Edit: grammar

<comment><USER8> Also GPS tracking systems are only accurate to about 20m, not enough to avoid hitting stuff. And transmit over the cell network so don't work if you can't get signal.

<comment><USER22> Although if you're going to be adding to infrastructure, you could just as well add differential GPS transmitters around the place and get the accuracy down to sub-1m[1] although that's still not really safe enough for cars...

[1] (and I believe you can get it down to ~3cm if you have enough data.)

</comment></comment></comment></comment><comment><USER23> I can't help but shake a feeling that all of this posting of text messages is just trying to shame Levandowski, Kalanick, or both.

<comment><USER24> Any "leak" is intended to weaken/shame some party. The unknown is whether it's an attack on Levandowski/Otto, Uber, Kalanick, or all of the above.

<comment><USER25> The source of these texts are unsealed court documents. Like it or not, these things can become part of the public record if you get sued.

</comment></comment></comment><comment><USER6> I didn't read much of the transcript, however these guys must be intelligent enough to keep what they know to likely be illegal as a private in-person conversation without record?

<comment><USER26> Most (though not all) people are probably smart enough not to send a text or an email like "Where should we dump the body." However, the totality of a bunch of emails or texts, considered together with other evidence, can certainly be suggestive even if there's no smoking gun.

</comment></comment><comment><USER27> Interesting that they are using telegram. Ref the message in the end of the PDF where they complain about telegram on planes.

</comment><comment><USER28> Simply unbelievable how much garbage is on that web page without an ad blocker (I put a box around the actual content that appears without having to scroll): [http://i.imgur.com/0S2FIAW.png](http://i.imgur.com/0S2FIAW.png)

<comment><USER29> Here's a direct link to the texts:

[http://www.documentcloud.org/documents/3932688-TEXTS-From- AL...](http://www.documentcloud.org/documents/3932688-TEXTS-From-AL-1169.html)</comment></comment>


BMW launches a personal voice assistant for its cars - <AUTHOR> https://techcrunch.com/2018/09/06/bmw-launches-a-personal-voice-assistant-for-its-cars/ <comment><USER2> Maybe I'm cynical but I see this as a negative. Nearly every voice interface I've used outside of the big ones has been abysmal, half baked, and temperamental.

<comment><USER3> You're not cynical. This is another distraction on top of a plethora of distractions that BMW, Daimler, and other upscale manufacturers have added to their vehicles in the last couple of years.

If this was only a way to simplify navigation, radio/streaming music access, or other comparable activities that already require the driver to look away from the road to operate, I would be all for it.

However, Office 365 integration? Skype integration? I'm sorry, but those are the last things I want to be worried about when I'm driving a car.

</comment></comment><comment><USER4> Seems like an odd direction, I guess it'll be optional? But I just sold all of my sonos speakers because of this, it'll be weird to have a car manufacturer on the blacklist too.

</comment><comment><USER5> On higher-end models from BMW(and also from Mercedes) you can get access to a personal concierge from those companies which I found absolutely brilliant - you press a button, it connects you with an actual human being within seconds and then you can say things like "I'm looking for a car park near the corner of X, can you help please?" , They have a look, then say something like

"I found two, at X and Y - one of them closes at 9pm the other one at midnight - which one do you prefer?"

"The second one please"

"ok, the address has been entered into your navigation system, is there anything else I can do for you?"

It's actually not even that expensive, and solves the entire issue of idiotic voice recognition systems completely.

<comment><USER6> What else can they do? Can they access other car features? Eg can I ask them to adjust climate control? Can I ask them to order me things online? :)

<comment><USER5> Not sure about climate control, they do have access to all information in the computer (they can tell you which petrol station you can reach given your current fuel level for example), but they can totally order things for you, you can say "please make a reservation at restaurant X for 7:45 for two people, and have flowers delivered to this address by tomorrow". They will call you back with a price and if you confirm then BMW just sends you an invoice for it.

<comment><USER7> >you can say "please make a reservation at restaurant X for 7:45 for two people, and have flowers delivered to this address by tomorrow". They will call you back with a price and if you confirm then BMW just sends you an invoice for it.

... at cost with only 30 to 50% surcharge, I believe ...

While it is true that probably most buyers of new BMW's and Mercedes can afford it, I don't think it is a service most customers will be using, those with the real money surely already have a secretary/personal assistant for these chores.

<comment><USER8> The two companies you mentioned have one primary marketing tactic in the US/UK - make midlevel people _feel_ rich.</comment></comment></comment></comment></comment>


Haskell music player based on afplay - <AUTHOR> https://github.com/potomak/haskell-player <comment><USER2> If it meets the guidelines, this might make a good "Show HN".

Guidelines: [https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html)</comment>


Fetchnotes Adds 25GB of Free Storage From Box - <AUTHOR> http://techcrunch.com/2012/08/28/social-to-do-app-fetchnotes-adds-25-gb-of-free-storage-from-box-raises-a-little-funding/

<comment><USER2> I recently tried out the product for writing a term paper. Copying and pasting information from my web browser to a word document is literally the bain of my existence when I'm trying to do research. They have an awesome desktop widget that prevents me from having to switch between interfaces all the time.</comment>


Reverse Job Application for University Grad - <AUTHOR> http://mebassett.info/

<comment><USER2> I think confidence is valuable when applying for a job, but I wonder if any head hunters will look at this and think "I need this applicant rather than "Well this is cute." I assume this highly capable grad will know not to just wait around for job offers. Posting an ad on a major website with one's qualifications would also be an interesting application idea..

</comment><comment><USER3> The Font kills the whole thing for me.</comment>


Ask HN: when is the YC Winter deadline? - <AUTHOR>

I know the actual program lasts from Jan-March, but I can't seem to find any past <i>application deadline</i> dates. I seem to remember late October...? Any ideas? Thanks. <comment><AUTHOR> I suppose I should have searched a little harder.

This (from the last class) says they pushed it back to Oct 28, so I'm assuming that it's mid to late October, depending on the specifics that year.

<http://ycombinator.com/w10announcement.html></comment>


IRS Breach Bigger Than First Thought Total Victims Reach 334K - <AUTHOR> http://bigstory.ap.org/article/bb4d7fb75d2b4f1c85574691e1641e0f/irs-says-thieves-stole-tax-info-additional-220000

<comment><AUTHOR> Who would of thought the IRS's initial estimate would be inaccurate?

<comment><USER2> Someone has suggested a Rule of Data Breaches: they're always bigger than first reported.

Brief DDG search didn't turn up a reference.... Hrm, not on G+ either. But someone _other_ than me deserves credit.

</comment></comment><comment><USER2> I've been saying for a while [1] that data is liability -- this is a bit of a set piece I think I'll keep dragging out as new breaches are reported....

Or as Cory Doctorow puts it, personal electronic data is the nuclear waste of the information age.

[http://www.theguardian.com/technology/2008/jan/15/data.secur...](http://www.theguardian.com/technology/2008/jan/15/data.security)

I've also been increasingly coming of the opinion that, while concerns for oppression of the unprivileged and general population are my principle interest, it's actually the establishment: governments, business, banks, etc., who are more vulnerable, if only because they have greater secrets, historically greater control over them, and, in breached security, greater vulnerability to either attack or manipulation.

An exceptionally peculiar aspect of digital data is that, while it may remain in the boxes and cages provided for it, it's got a notable tendency to find itself liberated. Often without warning, and not detected for days, weeks, months, or longer, afterward (as in this case). In the real world we've got friction, especially associated with data processing and transfer. In digital form, far less so. Sometimes friction is good.

I'm still backlogged wanting to write about last year's Nude Celebrity Phone hacking. Dan Kaminsky, fortunately, has written virtually everything I could say on the topic and then some:

"Not Safe For Not Working On" [http://dankaminsky.com/2014/09/03/not-safe-for- not-working-o...](http://dankaminsky.com/2014/09/03/not-safe-for-not-working- on)

In particular:

Victim shaming is par for the course in Infosec More the case for the celeb scandal than this one.

You Don't Necessarily Know When You've Been Hit, Let Alone What's Gone A hugely underappreciated aspect. Paul Vixie's had some similar comments along these lines.

It's time we start outright blocking passwords common enough that they can be online brute forced, and it's time we admit we know what they are. A fight I've attempted (and lost) at far too many organizations.

And this:

There's an old Soviet saying:

If you think it, don't say it. If you say it, don't write it. If you write it, don't be surprised.

(I discussed Kaminsky's piece earlier here: [https://plus.google.com/u/0/104092656004159577193/posts/HBvk...](https://plus.google.com/u/0/104092656004159577193/posts/HBvkRxxqL7a))

Until attitudes change, and the question "what is the risk if this leaks" is asked for every piece of data collected, we'll continue to see more of these stories. The irony in this case is that SF-86 background checks -- the basic questionnaire for national security positions, is what's thought to have leaked. Or as I observed yesterday on Hacker News, ultimately, countermeasures risk becoming attack surfaces. Indira Gandhi, prime minister of India, was assassinated by two of her own bodyguards.[2,3]

That means, though:

Pervasive encryption-at-rest.

Data provenance. Transmission and sharing only with authentication.

Strict data retention policies. Destruction of data past a specific age.

Massive penalties for both disclosure and acting on fraudulent identification credentials. The latter won't do much for the OPM breach, but if personal data simply aren't financially useful, interest in them will dry up markedly.

_____________________________ Notes:

1\. Sample from a few days back: [https://plus.google.com/u/0/104092656004159577193/posts/CZqb...](https://plus.google.com/u/0/104092656004159577193/posts/CZqb2eoCSUD)

And June 2014: [https://plus.google.com/u/0/104092656004159577193/posts/WE8N...](https://plus.google.com/u/0/104092656004159577193/posts/WE8NG8QBTkW)</comment>


How to Emulate a Raspberry Pi (Raspbian Jessie) on Mac OS X - <AUTHOR> https://gist.github.com/hfreire/5846b7aa4ac9209699ba <comment><USER2> I think it's worth noting that this isn't actually emulating a Raspberry Pi. The option "-M versatilepb" to QEMU tells it to emulate a VersatilePB, which is an Arm development board that's now a decade or more old. It happens that this can be set up to use an ARM1176 CPU, which is the same as the one in the RPi. So you can run a kernel built for the VersatilePB on a VersatilePB model, and use the same userspace/filesystem as the RPi, provided that your userspace doesn't rely on any particular characteristics of the rpi hardware beyond the CPU type. Luckily for most uses that's close enough...

<comment><USER3> Also (and I know you know this, pm215) you can actually emulate a Raspberry Pi 2 machine (i.e. the bcm2836 SoC) in recent versions of QEMU with the "raspi2" machine type. There are instructions that worked for me here:

[https://raspberrypi.stackexchange.com/a/71172](https://raspberrypi.stackexchange.com/a/71172)

<comment><USER4> Any idea of a raspi3 machine type in the works? or where to contribute to one?

It has a BCM2837, which has a 64-bit ARM CPU Core, and 400MHz VideoCore IV versus 250MHz in the raspi2.

A comparison table can be found by searching "What is new" in [https://media.digikey.com/pdf/Data%20Sheets/Seeed%20Technolo...](https://media.digikey.com/pdf/Data%20Sheets/Seeed%20Technology/Raspberry_Pi_3_Model_B_WikiWeb.pdf)

<comment><USER3> I don't know, but a quick google search finds:

[https://github.com/bztsrc/qemu-raspi3](https://github.com/bztsrc/qemu-raspi3)

</comment></comment></comment></comment><comment><USER5> On Linux, it's even easier (lol, who would have guessed?).

I recently had the need to compile quite a bit of software to run on the Pi zero, and the ability to be able to "chroot" to the Pi on my PC has made the experience so much more pleasant. Everything compiles ten times faster!

I also noticed that none of the available guides work well with Ubuntu 17.04 (and possibly newer/older), so I put together a simple script to do that on Ubuntu for anyone who is interested. It will always work when you chroot on the sdcard:

[https://gist.github.com/htruong/7df502fb60268eeee5bca21ef3e4...](https://gist.github.com/htruong/7df502fb60268eeee5bca21ef3e436eb)

You can theoretically chroot into the image directly, but the resizing the partitions operation is unreliable on the host for some reason, and it might cause the image to not be bootable. I've found myself better off booting the sd card once with the vanilla image on the Pi first so it resizes itself before chrooting into the SD card.

<comment><USER6> I had this problem with my similar script until I added 'sync; sleep 1; partprobe' after the writing the new partition information (before running e2fsck).

<comment><USER5> Great, I will check it out :)

</comment></comment></comment><comment><USER7> As mentioned below newer versions of QEMU can emulate the CPUs in newer Pis.

The main thing missing is proprietary graphics API "dispmanx".

I didn't try and emulate the GPIO, but assume that is also not possible ?

</comment><comment><USER8> I've looked in to this before to build rPi binaries on a more powerful x86 machine, but i've never been able to get Jenkins/Java running under QEMU

<comment><USER9> Why do you need Jenkins running in QEMU? Just use this: [https://hub.docker.com/r/sdthirlwall/raspberry-pi-cross- comp...](https://hub.docker.com/r/sdthirlwall/raspberry-pi-cross-compiler/)

</comment></comment><comment><USER10> why this old version of raspbian? [https://downloads.raspberrypi.org/raspbian/images/](https://downloads.raspberrypi.org/raspbian/images/)

<comment><USER5> From what I see from the script, the version of the raspbian distro shouldn't matter that much. The kernel should be compatible.</comment></comment>


How Big is the World of Cloud Computing?  - <AUTHOR> http://wikibon.org/blog/wp-content/uploads/2011/04/how-big-is-the-world-of-cloud-computing-full.html

<comment><USER2> big enough....</comment>


New online course: Getting started with JavaScript - <AUTHOR> http://blog.learninglineapp.com/2013/03/19/new-online-course-getting-started-with-javascript/

<comment><AUTHOR> More details at: [https://learninglineapp.com/courses/32/getting-started- with-...](https://learninglineapp.com/courses/32/getting-started-with- javascript)</comment>


Working Ridiculously Long Hours is a Sign that Something is Wrong - <AUTHOR> http://blog.netizencorp.com/2014/03/30/working-rediculously-long-hours-is-a-sign-that-something-is-wrong/ <comment><USER2> I find the _Work Smarter, Not Harder_ meme a little tiresome. How 'bout this - Work Smarter _AND_ Harder. Focus on outputs as the only thing to brag about. Hours put in rarely impresses anyone of significance. Its about the output. _Work Smarter, Not Harder_ is condescension masked as process advice. The truth of the matter is you need to put in the time (read: harder) to get good at just about anything. Only then is _smarter_ an option, but drop the _harder_ at your peril.

<comment><USER3> "I find the Work Smarter, Not Harder meme a little tiresome"

Agree. Let's take it one step further.

Let's say you want to win the game. And one of the ways you do so is to convince the other players of the game (and business is a game btw) to not work as hard. [1]

I see this quite a bit with this meme. People telling other people that they don't have to work hard.

[1] This is really the reverse of the mindgame that the US military plays with all those really cool documentaries about US Military force. They do that to make our capabilities look so totally overwhelming at the risk of disclosing something that we might not want the enemy to know that we have. The weight the pros and cons and disclose what they need to to achieve the goal.

<comment><USER4> Long term sustainable value creation doesn't happen by treating everything as a game to be won.

<comment><USER3> "Long term sustainable value creation"

What do you mean exactly by "long term sustainable value creation"? Examples?

<comment><USER4> Bell Labs, NASA moon mission, the development of the internet, Xerox PARC, Google's self driving car efforts. Possibly Tesla and Space X (I assume their engineers are well rested).

I'm quite partial to big plodding corporate R&D labs as a model for technological development. These efforts are marathons, not 100m dashes.

</comment></comment></comment></comment></comment><comment><USER5> For what it's worth, I don't think working long hours and sleep deprivation are synonymous, as this blog post assumes. You can easily work 10 hours a day (70 hours a week), sleep 8 hours a night, and still have 6 hours left over. Assume 3 hours for meals, hygeine, exercise, you're still left with 3 for commute and leisure.

As an aside, I don't know if it's true for early-stage startups that "processes make or break your business". That might be true for large, mature companies, but it seems prima facie false for early-stage startups.

<comment><USER6> Oops you forgot about learning and development: Add two hours (if you care about long term productivity and career prospects). Also standard commute is an hour. So you are left with no free time at all. Not really sustainable.

Unless your office has 20% time or some variation in which case you are only really working 8 hours anyway.

<comment><USER5> I don't think most people spend 2 hours a day on "learning and development" outside of work (you might consider getting a job where you can learn and develop more, if so). But even if you did, you can take a day off to do that. You're still at 60 hours of work, which is what the blog post references.

<comment><USER6> I have no idea what most people do. Most of my friends and colleagues spend 2+ hours a day working on side projects and/or learning new technologies.

Unfortunately, in my experience I've found in fast paced environments you learn the minimum to get the job done.

Sure I could switch companies every 18months in order to keep learning via work _or_ i could add a ton of business value at my current company by working a more reasonable number of hours and focusing on my personal development in my own time.

</comment></comment></comment></comment><comment><USER7> John Carmack used to put in marathon sessions coding asm for DOOM... As with many other successful people, sometimes the work just flows and you forget about things such as time.

Could it be that those failing are failing because their ideas are just not as great as they had imagined?

<comment><USER8> I too have put in marathon coding sessions ... some of my best work has been done in such circumstances ... but try as I might, I just cannot turn "flow- state" on like a tap. Indeed, the more I try to push myself at work, the harder and harder it seems to be to get into flow-state. I wish I had a systematic way of encouraging that particular state of consciousness.

<comment><USER9> I find the flow state comes at the beginning of a project when theres a ton of marginal utility per line of code.

But as a project wears on new code more often than not is to repair broken aspects and not so much to build the new and exciting features. Constantly switching gears between different parts of the code base can be hard to maintain that beloved flow.

</comment></comment></comment><comment><USER10> While I agree with other opinions on this article that this is only an ad for consulting, I think that we should understand that ridic-long-hours is not scalable.

If you really want to help your company grow, you should not be taking as much load as possible onto yourself because you will quickly become the bottleneck. You should care about spreading the load as evenly as possible. On HN many of us understand the obstacles to software scalability, yet when it comes to people scalability we tend to ignore those observations.

</comment><comment><USER3> While I might tend to agree with this based on the less than approx. 2 years in my life that I worked for someone else, as an entrepreneur where you have to cover so many bases, and work hard to create opportunity, I don't agree based on my experience. (Especially if you are bootstrapping.)

I can tie many of the things that I have today to the wide net I cast in earlier years and the excess hours I put in trying different things until something stuck (many years later in a few cases). Forget vacations and weekends. That was for me. You may be different and be able to pull it off with less hours.

This blanked "smarter not harder" is just that. It's a blanket statement that could be correct in some cases and not in others. So it is essentially worthless. Do you know if it applies to you? Sure many years later you will. Do you want to take that chance? I didn't and I'm glad I didn't.

Otoh when I worked for someone else many years ago I was always amazed at how people would eat lunch in their cars and schedule really early meetings which I felt were counterproductive (given the amount you stood to gain in that particular situation). But even in this case it's a total YMMV.

So my advice is to work hard and work many hours if you are an entrepreneur and need to try to get a business to work or keep working. If you are doing something else (programming) that may not be the case. Remember what PG said about "staying alive". What if he had cut back and hadn't had something to sell? We wouldn't be reading HN today would we?

One last example. I learned Unix's in the 80's while running my own business in my spare time which led to being able to do many things on the net in the 90's. Had I not put in those hours (and it was working by the way) I would not have been able to take advantage of some of the things that I did.

Of course if you can't work hard for some reason (health, family etc.) than you can't. So there is nothing to discus. And you have to accept that fact.

</comment><comment><USER11> Nice ad for business process consulting services.

<comment><USER3> Noting also that this was posted by the consulting services on Sunday on HN.

And written first (which had to take time as well).

Obviously not all of this is going to stick. And the consultant could be quite successful without going to the trouble of writing a blog post and trying to get it on HN (or elsewhere). But the extra effort in this case worked (it seems) and it is drawing attention no doubt to the consulting services which I had never heard of before.

Since it got the required attention it probably shows a bit that the effort and extra work payed off.

And if the OP worked every single weekend doing the same thing (here and elsewhere) that extra work could land "the big client". This, from my experience, is the way things like this work.

<comment><AUTHOR> In all honesty, none of this was my intention. I had no idea things would be this popular. I'm glad it is, don't get me wrong, but I sort of stumbled into this.

It wasn't planned or put up with the intent to advertise. The whole post took no more than about 30 minutes to write, I just happen to have strong feelings and a lot of experience on the subject which made it easy to put together.

<comment><USER3> Understood.

But likewise you should also realize that working long hours or "all the time" to some people is not really always work. I've had people do a "tisk tisk" he is working and I say "I like what I am doing so don't feel bad for me". I'm sure I'm not the only person who is like this either. For one person traveling on business might be something they hate and another something that they get great joy from.

Anyway they might not be really suffering that much. [1] (I speak from my own point of view and assume that others may feel the same way.)

[1] Also they could be escaping something else that is much less desirable perhaps. "Help me clean the house" as one example!

</comment></comment></comment></comment><comment><USER12> This article is nonsensical. Using a study that says that 24 hours without sleep is bad to say that only getting 7 hours of sleep is bad? Please... The Jeff Archibald post that's linked to is actually good. Yes, all these amazing people did work really long hours, but (for the most part) they didn't brag about it, and you can bet that they were looking very carefully at how they spent their time.

</comment><comment><USER13> Sometimes it is and sometimes it isn't. We are less creative when we don't get enough sleep and focus too long on a problem.

How often we get into a state of flow is probably a better predictor of how productive our time is, not whether we spend six or twelve hours at it.

</comment><comment><USER14> Yeah, go and tell Elon Musk or Steve Jobs to raise SpaceX, Tesla, Apple and so on with this "4 hour week"...

<comment><USER15> I wonder if there is a difference between the CEO type role and a programmer.

It is possible in the case of a CEO that you would be able to spend more total time. Sure your performance would still suffer but it could be that just being able to get through every meeting that you want to have could be enough.

Programming is a bit different in that the work you are doing when tired could well end up having to be rewritten down the track.

</comment></comment><comment><USER16> This brings to mind a comment by Elon Musk: [http://youtu.be/4Fl9LRgG3_A?t=1m35s](http://youtu.be/4Fl9LRgG3_A?t=1m35s)

<comment><USER17> That's a stupid statement by Musk. It's akin to saying, if I start off a marathon at 3x the speed that the other runners start it at, Im going to be 3x the distance they are, so I will win the race. There are ridiculous nth order negative effects from working 100+ hours a week: health, personal relationships, intelligence. Fuck, you could crash into a telephone pole driving home after a 17-hour session of work. I've almost done it myself. That was a dumb comment by Elon, if read unqualified.

<comment><USER16> Sure, I agree this is not a sustainable practice for most people. I think to go through this and come out sane, "work" must have a different meaning than it does for most people. For the likes of Musk, working seems to be equivalent to being in a mission to change the world. When operating under this mindset, you work not just because what you're doing might lead you to a better socioeconomic situation, but because that is the most interesting & important thing you could possibly be doing, ever. Then "working" (for a lack of a better term) 100+ hours a week is nothing but having the most fun you could possibly have. It's the sense of purpose here that I think plays a major role in turning work into something that can subjectively be more meaningful than the things you mentioned.

</comment></comment></comment><comment><USER18> Here's a strange thought. We tend to assume that people working the most hours are the most dedicated to the project. That's sometimes true, but is it always valid? Maybe most of the people who seem to be working the longest hours are the ones planning for it to fail.

When people are engaged and things are going well, people get a lot done. Sometimes, that involves longer-than-usual hours and sometimes it doesn't. But for the purpose of honesty, it's worth staging that long hours _are_ sometimes a sign of something good-- a lot of opportunity.

However, it can mean the opposite. When a team or project or company is in trouble and it looks like failure is imminent, people ramp up the hours, not because they think it will prevent failure, but because they don't want to be blamed, sacrificed, demoted or fired when things go wrong enough for the knives to come out. When things go to shit, the people thrown overboard first are the ones who seem to be suffering the least.

When someone's working a lot because he's engaged and loves the work, that's not a bad sign. When people are visibly competing on hours, that means (to me) that they expect the project to fail. It looks like the opposite, but it's actually a vote of no confidence. As often as it means anything else, a person putting in long hours means, "I'm shoring up my image for the inevitable political fight, because shit's about to get nasty".

There's more to that picture. The best people, when they see what's happening, tend to disengage a bit and start thinking about other opportunities. Working 60+ hour weeks when the "prize" is an inferior version of the job they formerly had, that just doesn't appeal to them. They'd rather get away, and while they're putting themselves at some higher-than-normal risk of getting canned, by _not_ competing on hours, they already have exit strategies in place. The ones who stick around tend to be, more often than not, the mediocre and political people.</comment>


Why Net Neutrality Matters - <AUTHOR> http://daringfireball.net/linked/2010/12/21/net-neutrality-matters

<comment><USER2> [http://www.wired.com/epicenter/2010/12/carriers-net- neutrali...](http://www.wired.com/epicenter/2010/12/carriers-net-neutrality- tiers/)

Link to the original.</comment>


Leaked MIT Application Videos - <AUTHOR> http://au.youtube.com/watch?v=uaQ2wvW-lM0&fmt=18

<comment><USER2> Prob. not relevant to this board.</comment>


Ubuntu Mobile Running On Nokia N900, Installed Natively On The MicroSD Card - <AUTHOR> http://www.mobilesider.com/topic/ubuntu-mobile-running-on-nokia-n900-installed-nat

<comment><USER2> Neat, but I wonder how the battery would fare under a full fledged ubuntu install.

<comment><USER3> Ubuntu already runs the tickless kernel. The default apps & drivers might not be very efficient, but a few minutes with powertop should improve things to "reasonable." <http://www.lesswatts.org/projects/powertop/>

</comment></comment><comment><USER4> Next step: Ubuntu on microwave.</comment>