NVIDIA's Project Denver CPU puts the nail in Wintel's coffin - <AUTHOR> http://arstechnica.com/gadgets/news/2011/01/nvidias-project-denver-cpu-puts-the-nail-in-wintels-coffin.ars <comment><USER2> As much as I would love to drive a wooden stake through its heart, shoot its head off with a 12 gauge shotgun and, just to be safe, put a couple silver bullets in Wintel's dead body and then help Nvidia on putting a couple nails in its coffin so we can throw it into the lava pit of Mount Doom, I am a bit skeptical. Wintel has a ton of momentum behind it.

<comment><USER3> Windows running on X86 will still be popular, and, in fact, will likely be managing greater than 90% (95%? 99%?) market share for the foreseeable future, particularly on windows desktops/laptops. The point of the article, was that it's no longer "Wintel" - Windows will now run on ARM. That was the big news of the day.

<comment><USER2> Like it was pointed out elsewhere, it's not the first time Windows NT runs on non-x86 platforms. MIPS, PowerPC, Alpha and Itanium had their ports, along with some limited software support. It was this limited support that doomed those machines, despite the fact they had enormous speed advantages over their Intel-based counterparts, something ARM doesn't.

Unless Microsoft can pull an unprecedented movement in their 3rd party ecosystem, I see no reason to consider this a world-changing event.

<comment><USER4> Making it easier to support alternative architectures beyond x86 might have been one of the motives behind .NET. After all, .NET bytecode, like Java, is platform independent, or can be made platform independent with minimal effort. This means that ARM windows will already have a "3rd party ecosystem".

<comment><USER5> As David Wheeler said, "all problems in computer science can be solved by another level of indirection".

</comment></comment></comment></comment></comment><comment><USER6> While I think that "the nail in Wintel's coffin" headline is, to put it kindly, hyperbole; I agree the the smart phone market has really given a boost to the ARM ecosystem. I can't help but feel their success is directly tied to Windows 8 supporting ARM. I hope for NVIDIA's sake that it doesn't go the direction of WinFS.</comment>


Ask HN: AI generated IP - <AUTHOR> If I build a program and it generates text, code etc. Do I own the copyright on that text, code etc? <comment><USER2> I'm going to get all spacey here, but if it crashes and creates nothing, is that nothing itself art?

Or is the coder and the computer working together in the plan to create auto- generated art, actually the work of art.

I think with art it's very abstract, with code it's a little fuzzy too. The creation of the AI is what's novel to me, that's the smart thing.

It's like creating a process of producing the end result which is the code,text etc. The output is the output of the AI. The person who owns the process most likely owns the output.

Right no the process and code to the AI is yours. If you decide to license someone else to use the process and build on it. Then I guess they own the output, but that's something that would be negotiated.

I really don't know, I'm just thinking out loud.

We may need a lawyer, a philosopher and an ethicist to thrash this out to get a real answer.

</comment><comment><USER3> Good question. I suspect you'll have to go to court and get a ruling after fighting it out. The "Monkey Selfie" case seemed like a giant waste of time, as animals can't own copyrights, but that went to court.

I have an "AutoMondrian" program that creates "art", and I'm not sure what the copyright status of the "art" is.

[http://stratigery.com/automondrian.php](http://stratigery.com/automondrian.php)

I think this grey area demonstrates that "Intellectual Property" is pretty much a false concept.

<comment><USER4> If I build a paintbrush and then it paints a painting when I throw it at the canvas?

</comment></comment><comment><USER5> It's an interesting topic, basically the question is who is responsible for the actions.

A somewhat related topic, an artist created a bot that randomly bought stuff from the darknet, drugs, fake shoes and a passport. But the artist did't get into any trouble.

<comment><AUTHOR> That seems like a slippery slope..</comment></comment>


Karmaloop founder can't escape $5M debt - <AUTHOR> http://www.bostonglobe.com/business/2016/03/17/karmaloop-founder-can-escape-million-debt/YUHzwj89Wms0ri9mLkJAeL/story.html <comment><USER2> Uh...good?

If normal people can't get out of their student loan debts, I don't see why this guy should be free and clear leaving somebody else on the hook for $5M.

<comment><USER3> Silly person. The elite are entitled to unlimited do-overs.</comment></comment>


DST's Yuri Milner Buys $70 Million Home In Silicon Valley - <AUTHOR> http://techcrunch.com/2011/03/24/dsts-yuri-milner-buys-70-million-home-in-silicon-valley/

<comment><USER2> $70MM house in SV? What's that got, like 4 bedrooms?

Seriously, this really reinforces (yet again) the meaning of "location. location, location." I have a neighbor who has a 12,000 sq ft house on top of a hill on 30 acres of really pretty land. Views are fantastic. The asking price when it was for sale? Around $3.5MM!

This isn't Silicon Valley, but it still boggles my mind that someone could buy 20 such properties (it's a really nice house!) for the price of Yuri's.

</comment><comment><USER3> Hmm, they print an aerial view that looks like Google maps and "For personal reasons we aren't going to print the address."

Sounds like hacker baiting to me.

On a more serious note I would expect any VC to have a place to entertain clients and potential investments near where they are, its so much easier than trying to arrange schedules so they can fly to you. I suspect he's got a nice NYC place too for the same reason.

</comment><comment><USER4> I've got $70MM to spend on a house I don't have any plans to live in. Any suggestions?

<comment><AUTHOR> Simple. Build a $70MM startup incubator in a mansion and fill it with the best and brightest. Like the Playboy mansion only for startup founders. Could call it Startup Centerfold. Could even have it's own Grotto for super secret deal discussions. And, yes, they can have their own calendar too!

</comment></comment><comment><USER5> Do you think he may put it on airbnb?</comment>


Learning From Failure: One Startup's Story of What Went Wrong - <AUTHOR> http://www.readwriteweb.com/start/2010/04/learning-from-failure-one-starups-story-what-went-wrong.php

<comment><USER2> We are both on HN so if anyone has specific questions, we would be happy to share anything else people are curious about from our experience.</comment>


How Start-Ups are Sold - <AUTHOR> http://babar.newsvine.com/_news/2007/05/03/698145-how-start-ups-are-sold <comment><USER2> "If you are selling a company, get a stock deal from the buying company and save a ton on taxes."

Another factor: consider the current stock price of the acquirer and how it relates to the company's intrinsic valuation (if you don't know enough to estimate intrinsic valuation, learn enough finance until you do). People who sold dot-coms in late '99 with a one-year lockup got screwed: their payout wasn't worth anything by the time they could sell, and oftentimes the acquirer was bankrupt by then. People who sold dot-coms in early '98 (Bo Peabody, and I think PG may be in this boat) made out handsomely. People who sold dot-coms in 2002 to strong, growing companies - assuming they could find any buyers - would have become filthy rich. If Friendster had taken Google's $30M offer back then, it would be worth close to $1B now.

</comment><comment><USER3> "[...] the YouTube founders are now set for life and count it as personal wealth."

Well, unless Google stock crashes. As anyone who has ever been to a casino knows, it's not your money until you've cashed in your chips -- at any time before that, it could all disappear.</comment>


Ten Steps To Ten Thousand Sign Ups Before We Even Launch Our Startup - <AUTHOR> http://venturefizz.com/blog/ten-steps-ten-thousand-sign-ups-we-even-launch-our-startup

<comment><USER2> Same as from a couple of days ago. <http://news.ycombinator.com/item?id=1571228></comment>


The Sky Is Falling: Google Shares Below $300 - <AUTHOR> http://gigaom.com/2008/11/12/the-sky-is-falling-google-shares-below-300/ <comment><USER2> What I find amusing is that Google's P/E is roughly the same as that of the S&P 500 at today's close (around 18).

Microsoft's is around 11. Apple's is around 17.</comment>


A div that looks different in every browser - <AUTHOR> https://twitter.com/martijn_cuppens/status/1015169981368225793 <comment><USER2> Here's an animated version with some transparency [https://codepen.io/anon/pen/PaMVYX?editors=0100](https://codepen.io/anon/pen/PaMVYX?editors=0100)

The root issue is that the browsers are being asked to draw a line that's 100px in from the edge of a 100px box -- it's an impossible task, so there's no perfect solution.

This CSS test suite [http://test.csswg.org/suites/css-ui-3_dev/nightly- unstable/x...](http://test.csswg.org/suites/css-ui-3_dev/nightly- unstable/xhtml1print/outline-013.xht) suggests that browsers should treat it as though it were the largest offset that made sense at the current outline width, giving you [https://codepen.io/pjwdev/pen/vrovPR?editors=0100](https://codepen.io/pjwdev/pen/vrovPR?editors=0100)

Safari achieves this if the border is the same colour the whole way around, but doesn't get the individual sides in a sensible arrangement.

Edge doesn't match the test, but it does another reasonable thing -- it takes the offset as a given, and uses the biggest outline width that makes sense.

Chrome and firefox...

<comment><USER3> The negative value case is:

> Negative values must cause the outline to shrink into the border box. Both > the height and the width of outside of the shape drawn by the outline should > not become smaller than twice the computed value of the outline-width > property, to make sure that an outline can be rendered even with large > negative values. User Agents should apply this constraint independently in > each dimension. If the outline is drawn as multiple disconnected shapes, > this constraint applies to each shape separately.

There's a lot of RFC 2119 SHOULD there, unfortunately.

</comment></comment><comment><USER4> Joke: A man walks into a picture framing shop and says: "I'd like a 10cmx10xm frame for my 10cmx10cm picture, but make it negative 12.5cm away from the picture." The shop staff is confused, but makes a wild guess: "So you want a frame with each border 2.5cm on the other side of the picture than it would normally be?" The man just takes a note and goes to another shop.

He collected the wild guesses from various picture framing shops and posted them on twitter, getting a lot of attention on Hacker News as well.

edit: present tense.

<comment><USER5> This sort of badinage is what makes HN so endearing. Thanks!

</comment></comment><comment><USER6> And here's what it looks like in Servo: [https://i.imgur.com/lv3xRhi.png](https://i.imgur.com/lv3xRhi.png)

<comment><USER7> I was 50/50 on whether this would be a legitimate rendering or a cheeky screencap of a panic message. :P

<comment><USER6> What I found interesting was that I later noticed Matt Brubeck had already done the same thing a couple of days earlier [0], yet mine in the nightly I'd just downloaded was already different.

[0] [https://twitter.com/mbrubeck/status/1015310959789740032](https://twitter.com/mbrubeck/status/1015310959789740032)

</comment></comment></comment><comment><USER8> On one hand I think this is really neat. On the other this is why I have never taken front end development seriously enough to spend any real time learning it [0]. From the get go it always seemed like the rules were arbitrary and involved lots of guessing to get things right. I know this isn't actually true but it felt true enough early on to poison my mind to it.

[0] Not something I'm proud of and I know front end development is serious business so don't @ me.

<comment><USER9> " I know this isn't actually true "

It's true.

A confluence of vague definitions, poor implementations, bad documentation ... and this is the web we have. It's the tip of the iceberg, and the painful life of anyone doing html5 work, it's 'not fun' for anyone who's been exposed to regular programming because the problems you spend your day solving mostly should not be problems to begin with.

<comment><USER10> This is what us older people would like to believe. Meanwhile the young webdevs are having a blast ignoring us and building the apps of the future.

<comment><USER11> Yeah and then they all jump around React as some amazing achievement, having rediscovereed how 90's native UI do event handling.

<comment><USER12> React isn't really anything like 90s UI libraries. It is, however, very much like the fairly recent native immediate-mode GUIs that have come out ([https://github.com/ocornut/imgui](https://github.com/ocornut/imgui), [https://github.com/PistonDevelopers/conrod](https://github.com/PistonDevelopers/conrod), etc).

The core feature of React is that your UI is a pure function of your application state. In (e.g.) the Win32 UI, you would receive events, and then need to manually transition your current UI state to the new UI state (hide this button, disable this input, etc).

<comment><USER11> Smalltalk UIs used a pattern called dependency propagation to make objects update themselves based on system wide notifications.

Similar idea was used on Oberon System 3 Gadgets toolkit.

Also java.util.Observable based on the same Smalltalk ideas was already part of Java 1.0.

<comment><USER12> That's still event handling. You can do basic binding between outputs and values, but more macroscopic changes (closing a dialog, changing tabs, etc) requires tracking the state your UI is in, and manually transitioning.

This is markedly different than React, where the framework diffs the desired UI state (which is a pure function of your application state), and the actual UI state. The minimal number of UI operations necessary is then applied to make the latter match the former.

ImGui above works the same way, which makes it very popular for devtools in game development.

<comment><USER11> ImGui is quite similar to MS-DOS game UIs, before we migrated to Windows.

The source code of quite a few ones is available around the Net.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> And GoogleBot seems to follow Safari's rendering instead of Chrome: [https://developers.google.com/speed/pagespeed/insights/?url=...](https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fcodepen.io%2FMartijnCuppens%2Fpen%2FMXojmw&tab=desktop)

<comment><USER14> I wonder if that's because they're just running an older version of WebKit/blink.

<comment><USER15> "Chrome's" rendering in many cases is going to be whatever hardware accelerated stack (probably Skia + your platform's particular hardware API) is rasterizing the page. Headless rendering as found in a page scraper bot is more likely to be using software rasterization and might be using an entirely different API. Chrome has a few command line flags that can push everything through different rendering paths and you can get different results from it.

<comment><USER16> Blink (the HTML engine) is still going to push the same drawing commands to all the backends. Winding rule order stuff might be different if a backend is buggy, but things like this shouldn't be different.

<comment><USER17> I wouldn't be surprised at all if there's a drawing command that's having a negative number passed to it in a place where it doesn't expect negatives. I wouldn't be too surprised if different backends handled this "undefined behavior" differently.

<comment><USER3> Nah, this will all be handled within Blink. The drawing command will literally be told to draw polygons in the specific places in the coordinate space.

</comment></comment></comment></comment></comment></comment><comment><USER18> See also this [https://mobile.twitter.com/frivoal/status/101544179390147788...](https://mobile.twitter.com/frivoal/status/1015441793901477888)

<comment><USER19> I think one of the most optimistic things to notice about these two images is that Edge amazingly appears to be correct in both cases.

<comment><USER20> It's pretty clear that Microsoft really took a close look at the specs when developing Edge, which is really nice. It also has the benefit of being the newest of the major engines.

<comment><USER21> Actually, much of the time it comes down to what bugs people report. In a closely related area, IE and Edge both _added_ spread distance rather than _subtracting_ it on inner box-shadows until I reported it last year, then it was fixed in IE within a month: [https://developer.microsoft.com/en- us/microsoft-edge/platfor...](https://developer.microsoft.com/en-us/microsoft- edge/platform/issues/12515080/).

In this particular case, they may have got the best of it because IE didn't support outline-offset at all, and so when they implemented it they read the spec carefully.

Edge _is_ a continuation of IE. Large swathes of the renderer have been rewritten, but when you do find bugs in Edge they're commonly shared with IE.

<comment><USER21> (Correction: fixed in _Edge_ within a month; IE doesn't get such fixes. Also "IE and Edge both" should read "both IE and Edge" for increased clarity.)

</comment></comment></comment></comment></comment><comment><USER22> Is one of these correct?

Or is this combination of CSS properties ambiguously or un-defined by the spec in the first place?

<comment><USER23> The code in question can be mostly boiled down to:

      outline: inset 100px green;
      outline-offset: -125px;

The issue is:

\- spec is deliberately liberal about how outline should look (this is kind of a similar case to forms and scrollbars, the styling of which varies not just by browser, but by OS/toolkit)

\- inset is a keyword rarely if ever applied to outlines (and I'm not sure why it's even valid or what it's purpose would be)

\- outline-offset is a useful property, with well defined behaviour in most cases: inset outlines are the exception where its behaviour is ill-defined

Edge's behaviour is probably technically "closest" to what I would expect, but I'm not sure if "correct" is the right term. It's an odd case, and what it should look like is debatable. IE's and Safari's could be "correct" either, and in fact IE's kind of looks truest to the intent of outlines as a thing.

Chrome is doing very bizarre things and I can't really fathom why. They look like rendering bugs.

 _Edited after a 2nd look, IE 's and Safari's make a bit more sense after some consideration._

<comment><USER17> Fiddling with it:

Firefox's mistake is definitely that it isn't handling having outline-offset less than "-min(width, height)/2" in a sane way. (In the demo, width and height are both 100px; it starts do do funny things when outline-offset goes below -50px). That said, I'm not entirely sure that there is a sane way.

IE is totally ignoring the outline-offset property; it isn't implemented in IE.

</comment></comment></comment><comment><USER24> Pretty. I could see various renders used as a logo for each respective browser.

</comment><comment><USER25> It blows my mind that problems like this exist, and yet platforms like Unity and Xamarin are capable of write-once-build-everywhere apps on every platform. Why hasn't web development abstracted away these problems yet?

<comment><USER11> Because many webdevs think that our grey bears and knowledge of doing native applications are worthless, and who does native anyway.

I look forward to native still winning on mobile for the years to come, with WebAssembly eventually becoming Flash's revenge.

</comment></comment><comment><USER26> I would think undefined behavior would be helpful in browser fingerprinting.

<comment><USER27> Using actual rendering for fingerprinting is a serious perf. hit. I'm not aware of any production setup using that.

<comment><USER26> Thanks for letting me know.

</comment></comment></comment><comment><USER28> It seems to me that this example is like undefined behavior in C.

</comment><comment><USER29> At least Brave is consistent with Chrome, as they're both Chromium-based. Phew.

<comment><USER30> my Brave browser on mobile shows up as same as Safari one.

<comment> r-w WebKit is the only renderer on iOS.

</comment></comment></comment><comment><USER31> I trust edge more than any other browser.

</comment><comment><USER32> What do CSS linters have to say about it?

<comment> r-w "No"

</comment></comment><comment><USER33> Microsoft is the only one that gets it right.</comment>


How to build the tech for a SaaS company in 2017 when starting from scratch - <AUTHOR> https://medium.com/@Sturmination/how-to-build-the-tech-for-a-saas-company-in-2017-957d871c59b8#.qeep2k9y9 <comment><USER2> Disclaimer (this post is by our CTO ;) )

Looking forward to adopting new technologies in 2017. Especially TypeScript will probably be great addition. Our large AngularJS and NodeJS projects would definitely benefit from that!</comment>


Losing Apple - <AUTHOR> http://crateofpenguins.com/blog/losing-apple

<comment><USER2> Some interesting points but I think this is poorly-conceived. Apple dropped a ton of new interesting things last week, I'd much rather think about that than how Jobs worshipers are dumb.

About Apple not deserving the scrutiny - if we're talking about some of the more mundane aspects of the company, I agree. The construction materials used in their retail stores, for example. But otherwise, it's a unique organization in many respects and that's why it gets so much attention. I used to get crabby about that too but I realize now that it's not worth fighting.

The fruit is doing interesting things. If the way people talk about the fruit is dumb or annoying, listen to a different conversation.

<comment><USER3> The way that people talk about the fruit is the intended effect of their marketing. It's kind of hard to ignore, when they've been so successful at becoming a lifestyle brand. Even if it doesn't end with any concrete suggestion, I enjoyed reading about the author's exhaustion with Apple hype.</comment></comment>


Show HN: Mr2, Expose local server to external network - <AUTHOR> https://github.com/txthinking/mr2 <comment><AUTHOR> ## What is Mr.2

Mr.2 can help you expose local server to external network. Support both TCP/UDP, of course support HTTP.<br/> Keep it __simple __, __stupid __.

### Server

``` $ mr2 server -l :9999 -p password ```

### Client

``` # Local server is 127.0.0.1:1234, expect to expose: server_address:5678 $ mr2 client -s server_address:port -p password -P 5678 -c 127.0.0.1:1234 ```

``` # Local web root is /path/to/www, expect to expose: server_address:5678 $ mr2 client -s server_address:port -p password -P 5678 --clientDiretory /path/to/www ```

### Example

#### Access local HTTP server

``` $ mr2 client -s server_address:port -p password -P 5678 -c 127.0.0.1:8080

# then Your HTTP server in external network is: server_address:5678 ```

#### SSH into local computer

``` $ mr2 client -s server_address:port -p password -P 5678 -c 127.0.0.1:22

# then $ ssh -oPort=5678 user@server_address ```

#### Access local DNS server

``` $ mr2 client -s server_address:port -p password -P 5678 -c 127.0.0.1:53

# then Your DNS server in external network is: server_address:5678

$ dig github.com @server_address -p 5678 ```

#### Access your local directory via HTTP

``` $ mr2 client -s server_address:port -p password -P 5678 --clientDirectory /path/to/www

# then A HTTP server in external network is: server_address:5678 ```

#### Any TCP-based/UDP-based ideas you think of

...

## License

Licensed under The GPLv3 License</comment>


How to Tango with Django: A Python Django Tutorial - <AUTHOR> http://www.tangowithdjango.com/ <comment><USER2> This looks like it might eventually become a useful resource, as there is nothing else out there with its particular approach and combination of topics, and it seems fundamentally sound.

However, I wouldn't recommend trying to learn from it in its current form, unless you already know a lot.

Just skimming over it, I found that it was teeming with grammatical errors and typos, with entire sentences garbled to the point where I couldn't tell what the authors had intended to say. I saw syntax errors in the code samples, which means that they weren't all verified to run as printed. Again, not a real problem except for beginners, but beginners are the target audience.

Finally, there is some utility to the concept of _prerequisite_ that the authors seem to avoid.

This book tries to teach the beginner everything that he might need to know, from what "ls" does in the shell to how to use git and set up virtual environments. Maybe it is practical to go from never having seen the command line to deploying working, secure Django projects just by using a (cleaned up version of) this book, but doesn't it make more sense to learn things in a more solid progression of stages? It's OK to expect the student to already know some basics, and build on those. You don't find a tutorial on arithmetic in a book about topology.

<comment><USER3> Yeah but I think more beginner material should spell out the proper way of doing things even if it is "unrelated". My pet peeve is beginner material that reads something like:

"to make this example simpler, I am going to do something incredibly insecure. In production you would never ever do this, but I'm still going to do it, so if you are unfamiliar with foo, make sure you know all about bar too."

As well, if I was teaching someone Django/Python development from scratch today, I would definitely include pip, virtualenv, and git/mercurial as part of the baseline. HTML is a hypertext medium so you could let people who know skip ahead.

<comment><USER4> "if I was teaching someone Django/Python development from scratch today, I would definitely include pip, virtualenv, and git/mercurial as part of the baseline."

They DO show you how to use pip, git, and virtualenv.

Check out the overview: [http://www.tangowithdjango.com/book/chapters/overview.html#w...](http://www.tangowithdjango.com/book/chapters/overview.html#what- you-will-learn)

One of the first things they explain is how to use pip: [http://www.tangowithdjango.com/book/chapters/requirements.ht...](http://www.tangowithdjango.com/book/chapters/requirements.html#using- setuptools-and-pip)

They also show how to get started with git: [http://www.tangowithdjango.com/book/chapters/git.html#git- cr...](http://www.tangowithdjango.com/book/chapters/git.html#git-crash-course)

and virtualenv: [http://www.tangowithdjango.com/book/chapters/requirements.ht...](http://www.tangowithdjango.com/book/chapters/requirements.html#virtual- environments)

edit: I actually think I might have misunderstood your comment. Sorry. Anyway, just leaving this comment here for posterity.

</comment></comment></comment><comment><USER5> Question for Rails and Django users: is there a site that gives definitive best practices for both? I've actually been thinking about building a thrown- together site for just that purpose.

I've tried to get into _both_ Rails and Django twice now (I'm a PHP guy usually), but every time I seem to get going, I get bogged down by StackOverflow after StackOverflow that have seemingly contradictory information or offer a third party solution rather than solving the problem within the framework.

In Rails, for example, Rails is easy enough, until you're dealing with RVM * , Passenger * , and installing correct dev versions of database drivers.

In Django, you deal with South migrations when you want to update your database schemas, virtualenv * , virtualenvwrapper * ; in fact, I've heard that one of the criticisms of Django is that, in order to get to production quality, you essentially have to switch out every component of it with a third party.

* The starred apps don't technically have anything to do with the framework; they're more utilities for managing multiple framework instances. Still, you're likely to find tutorials that use them as a de facto standard, which only adds to noob confusion.

I've started reading Michael Hartl's Rails tutorial, which seems promising. I found that the highly-recommended "Two Scoops of Django" book was a little too narrative for me (just tell me what to do, dammit!); there's definitely a need for more Django tutorials than just the Django website's basic one -- kudos to the author for that.

<comment><USER6> I'd say don't worry about south if you're not working with a big team.

Just track the changes you make to your models and make the same changes to the database.

<comment><USER7> I don't agree with that. I'd say don't worry about south if you're just starting out playing with django and willing to manually delete tables every now and then to get make sure your db matches your models.

As soon as you are doing something that anyone relies on and to save you endless effort you should use South, IMO. Even if it's a one-person project (I have a few of those) South saves you both a lot of time and aggravation.

<comment><USER8> Absolutely agree. Even something as simple as adding an optional field is just ./manage.py schemamigration --auto <appname> and you're done vs "ALTER TABLE blah blah blah...." on your local system, dev/staging, and then again on production in the right order, every time, manually. Can't imagine anyone wanting to go back to manual after using South.

<comment><USER5> This thread perfectly exemplifies the frustration laid out in my original post.

<comment><USER9> Welcome to development with open source technology. It takes time and effort to figure out the best practices. There is no magic bullet, sorry. That's not meant to be snarky it's just the way the process works.

</comment></comment></comment></comment></comment></comment><comment><USER10> For people starting with Web Framework or new to Python, I would suggest starting with a lightweight framework, such as Flask or Pylons.

I used to struggle with Django, so I started to look into Flask, and I really feel like I finally understood what I was doing.

Flask tuto : [http://flask.pocoo.org/](http://flask.pocoo.org/)

<comment><USER11> Would you have the same suggestion for seasoned web developers in other languages, but who are still new to Python?

I'm curious as I'm really looking to learn Python and was looking at Django for the web side of things.

<comment><USER12> Flask is inherently simpler/smaller than Django. For doing simple/small web sites its a naturally good fit. However, due to its simplicity it needs to be significantly augmented if you intend to build a more complex web app with it.

Augmenting Flask with a data persistence layer, a RESTful API system, a more robust templating system, and any of the other infrastructure tools you'll need (user auth, session management, xss protection, input cleaning/validation, etc.) is quite complicated. If you go through those steps you'll basically just end up with something like what Django gives you right out of the box. Except that Django's components are well integrated with each other and fully tested, and your custom built system won't be.

</comment></comment></comment><comment><USER13> This would've been immensely useful when starting out.

Official tutorials and docs don't cover nearly all of the accepted standard practices. As a relative outsider it seems a lot of this Django/Python knowledge is taken for granted by the tightly knit community of the skillful developers who interact with each other and exchange various tips, while a beginner who is not really embedded in the community misses out on all that and picks it up only when it's widely enough used that it hits the blogs and podcasts in bits and pieces.

</comment><comment><USER14> From a quick overview I really like your approach: you start by a hello world directly (then template, then models) instead of doing this strange approach of the django official tutorial that starts with model then admin interface then show an hello world at part 3. I also really like the presence of exercices.

Quick comment: here, you are teaching render_to_response [http://www.tangowithdjango.com/book/chapters/templates_stati...](http://www.tangowithdjango.com/book/chapters/templates_static.html#adding- a-template) while you should be using render instead [https://docs.djangoproject.com/en/1.5/topics/http/shortcuts/...](https://docs.djangoproject.com/en/1.5/topics/http/shortcuts/#django.shortcuts.render) which is simplier than render_to_reponse (where you have to use the horrible context_instance=RequestContext(request) to be able to do certain things in the template which confuse a lot people).

Thanks for this contribution to the django community!

</comment><comment><USER15> Another awesome resource for Django Screencasts is Neckbeard Republic.

[https://www.neckbeardrepublic.com/tagged/django](https://www.neckbeardrepublic.com/tagged/django)

</comment><comment><USER16> You should probably not use django-registration for user auth as referred to in the guide, since it's been abandoned at this point: [https://news.ycombinator.com/item?id=6278464](https://news.ycombinator.com/item?id=6278464).

<comment><USER17> Thanks for the tip. We hope to include a chapter that uses OpenAuth instead. It is on our TODO list :-)

<comment><USER16> Cool. What made you go with OpenAuth?

I couldn't spot an issue discussing it, but if you have a good link on the pros and cons, I'd love to see it. :)

<comment><USER17> We are still investigating the options, but OpenAuth seems like a pretty useful open and applicable standard for authenticating users. In the book, we are trying to build up a series of guides on useful tools and toolkits for doing things.

So I'd also like to read about the pros and cons of the various authentication packages.

</comment></comment></comment></comment><comment><USER18> Django screencasts for the interested:

[https://godjango.com/](https://godjango.com/)

[http://gettingstartedwithdjango.com/](http://gettingstartedwithdjango.com/)

<comment><USER15> you should take a look at [http://neckbeardrepublic.com/](http://neckbeardrepublic.com/) as well. one of the pycoder's guys does it.

<comment><USER18> Looks interesting, thanks!

</comment></comment></comment><comment><USER19> Another great resource is [http://gettingstartedwithdjango.com/](http://gettingstartedwithdjango.com/)

</comment><comment><USER20> This is fantastic! Congrats and keep up the good work! Will there be an ebook version available any time in the future? Thanks again.

<comment><USER17> Thanks! We appreciate your comments.

We'll be releasing a pdf and ebook in the future, but if you can't wait you can download the source for the book from github, see [http://bit.ly/1bVKKJf](http://bit.ly/1bVKKJf)

We've written the book in Python Sphinx so it is easy to compile into pdf.

</comment></comment><comment><USER21> I recently started to learn Ruby on Rails. I like the language and the framework, but I also appreciate the simplicity and power of Python.

Which framework should I focus on if my priorities are professional development and ease of workflow? I realize this is a hard question to answer, but I'm interested in hearing different perspectives.

<comment><USER22> I also was deciding between which language to learn and its corresponding web framework. What's the criteria for you? For me, one of the main criteria's is the applicability of the language and its supporting ecosystem across many application domains (ie. web, scientific, systems programming, etc.).

I am not tied to either language (not yet at least) so the decision was based more on "bang for the buck". I decided that Python is a better investment of my time. This was largely based on the fact that Python is used in many, many areas outside of web development. As a result, I feel python will server me more across most domains versus Ruby. It's true that Ruby can also be used in many different application domains but based on my research, it just doesn't have the legs that Python has for general programming. For better or worse, Ruby is widely known as "Ruby on Rails".

In terms of which language is better, both are good so this wasn't a factor.

<comment><USER21> Thanks for your insights. I share your priorities in terms of wanting to find a language that's widely used for general programming as well as the web. I'll have to spend more checking out Python!

</comment></comment></comment><comment><USER23> Looks impressive. I'm a Ruby guy, but I would probably start with this if I was getting into Python/Django.

</comment><comment><USER24> Looks good! The part I chose to jump to was deployment as there's a million ways to do it and I've been looking for a best practices. Was a little saddened to see you chose PythonAnywhere not because the service is bad, but because it has a limited use case.

<comment><USER17> Yeah there are a million ways to deploy for simplicity we choose PythonAnywhere. This was mainly because when you are teaching 200+ students, you need it to be easy, quick, and free (also it doesn't require a credit card to join).

We also hope to expand this chapter in the future to show how to migrate to a real database.

If you have some suggestions about other platforms to deploy on we'd love to hear them.

</comment></comment><comment><USER25> Good Tutorial. I like how you are building a website and adding features.

So far I have made it to the Ajax page.

Why don't you use render in your views, and url tags with the name in urls.py?

Also there is a lot of typos. Is the site open source?

</comment><comment><USER26> Thank you for putting so much work into this, but it's not Python 3!

<comment><USER17> Totally! We hope to put another version out next summer using Python 3 and the latest version of Django at that point.

</comment></comment><comment><USER27> Another recommended resource for learning Django: [http://www.djangobook.com/en/2.0/index.html](http://www.djangobook.com/en/2.0/index.html)

<comment><USER28> Please don't recommend the Django book to people. It's very out of date (in case you didn't read the warning on the front). Use the official Django tutorial [1] instead.

[1]: [https://docs.djangoproject.com/en/1.5/intro/tutorial01/](https://docs.djangoproject.com/en/1.5/intro/tutorial01/)

<comment><USER18> There are plans to update the book, but they need help with that:

[https://readthedocs.org/projects/django-book- new/](https://readthedocs.org/projects/django-book-new/)

[https://github.com/jacobian/djangobook.com](https://github.com/jacobian/djangobook.com)

</comment></comment></comment><comment><USER17> Thanks for all your comments and suggestions so far. Please keep the coming.</comment>


Ask HN: recommendations for temporary office space in SF? - <AUTHOR>

We need to set up a temporary office in San Francisco to work on a project for a couple of clients we have in SF and the valley. Any recommendations for a good source of temporary offices? We could always go the Regus route but I'd be interested in any alternatives. <comment><USER2> How many people are in your group? Do you need private offices or are you ok working in an open environment with use of a conference room when necessary? How long do you need it for?

I'm personally at Nextspace (<http://www.nextspace.us>) and really love it. Its on 2nd and Market. There are a few other co-working spaces that are much better than Regus in the area:

\- <http://www.sandboxsuites.com/> (multiple locations in SF)

\- <http://www.rocket-space.com/>

\- <http://wework.com/> (not sure if they're opened yet)

\- <http://bayarea.the-hub.net/public/space__Hub%20SoMa.html>

Also check out (<http://www.loosecubes.com/>) for companies renting out extra space in their office.

Email me if you have questions about NextSpace.

<comment><AUTHOR> Great, thanks for the reply - I'll take a look at those. I realised I didn't give a lot of information. We'd be 3-5 people, we'd need private offices and it would initially at least be for 3-4 months. Thanks for the links, I'll check them out.

<comment><USER3> While it's not the cheapest, I believe Rocketspace is probably the best option for private offices for 3-5 people.

</comment></comment></comment><comment><USER4> If Oakland is an option for you then check out <http://techliminal.com></comment>


Ask HN: Whats the best way to find office space in NYC? - <AUTHOR>

Any NYC startups looking to subletting some of their space? <comment><USER2> Try searching for "coworking." I live in LA, but here's a few links that Google helped me find:

<http://wiki.coworking.info/CoworkingNewYorkCity> <http://nwc.co/> [http://blog.coworking.info/2007/10/28/coobric-new-york- cowor...](http://blog.coworking.info/2007/10/28/coobric-new-york-coworking- finds-another-home/) <http://www.meetup.com/coworking-nyc/>

Good luck!</comment>


Overview of top cryptocurrencies - <AUTHOR> https://github.com/kilimchoi/cryptocurrency <comment><USER2> This is just an FYI for anyone thinking about using Coinbase for their trades. Coinbase makes you periodically re-verify your identity. This process used to be manual. It is 100% automated now and it rarely works (look at Coinbase community forums for more on this). I've had a support ticket open regarding this issue for 3 weeks now and the only response I've gotten so far is "As we experience rapid growth, we are also experiencing a high volume of support requests and we regret not being able to answer your inquiry in a reasonable amount of time." I don't have any serious money tied up in Coinbase, but if i did I would be freaking the fuck out right now with this appalling support service.

<comment><USER3> As a data point, this seem to be the discussion area mentioned by avenoir:

[https://community.coinbase.com/c/coinbase/id- verification](https://community.coinbase.com/c/coinbase/id-verification)

</comment></comment><comment><USER4> Nice! A few comments...

I think XRP is down to about 60% founder control, they've been giving it away to strategic partners.

Ethereum Classic doesn't have anything to do with Cryptonote. It's a straight fork of Ethereum.

I don't think Golem or Augur are actually in production yet, they're just tokens on Ethereum that will play a role in the actual systems once those are live.

<comment><USER5> Yeah, XRP doesn't have much utility for the average user. Also noticed the gaping error citing that Ethereum Classic implements crypto-note.

If you want to look at a token that's about as close to a complete scam as tokenly possible, look no further than Gnosis. The GNO token doesn't actually directly translate to an asset that can be used on their prediction market come launch. Even more, investors only control 4.5% of the GNO tokens in existence, granted this was all done AFTER Gnosys had more than enough existing funding. Cash grab, plain and simple.

<comment><AUTHOR> So did the investors sell their GNO tokens?

<comment><USER6> AFAIK, they can't for the first 12 months after the ICO sale (which happened a couple of weeks ago).

</comment></comment></comment></comment><comment><USER7> A comment regarding bytecoin: it was exploited with a double spend bug which allowed the unlimited minting of new coins, a lot of which I'm sure were dumped on poloniex. See some details here: [https://getmonero.org/2017/05/17/disclosure-of-a-major- bug-i...](https://getmonero.org/2017/05/17/disclosure-of-a-major-bug-in- cryptonote-based-currencies.html)

I'm surprised polo still has it listed

<comment><AUTHOR> wow. Dashcoin seems to be affected too

</comment></comment><comment><USER5> You should consider differentiating "tokens" from crypto-currencies backed by their own unique blockchain implementation. For example, Golem is a token built on Ethereum, however, it's not really a true "crypto-currency", rather a payment layer for Golem's "fog" computing platform.

</comment><comment><USER8> > Stellar Lumens Cons: "No mining available. 95% of Lumens were given out"

95% were given out? Maybe I'm misreading this but only 9.66B/102.94B XLM has been given out. (To people who own BTC or XRP. It's basically a living advertisement for XRP.)

The creators still own 93.28B XLM. They own approx. 90% of all XLM.

<comment><AUTHOR> Feel free to make a pr correcting this. I was going off what they said on the website.

<comment><USER8> The stats are from their own website btw; [https://dashboard.stellar.org/](https://dashboard.stellar.org/)

</comment></comment></comment><comment><USER9> Ethereum cons: smart contracts get hacked

<comment><USER10> Ethereum pros: security researchers who find bugs in smart contracts are rewarded handsomely and instantly

<comment><USER11> And if they reward themselves too much, the blockchain is forked again?

</comment></comment></comment><comment><USER12> None of them can solve the micropayment problem.

GNU Taler can.

</comment><comment><USER13> Fascinated by Golem (GNT) when coupled with an orchestration layer [http://blog.streamr.com/2017/05/golem-plus-streamr-equals- he...](http://blog.streamr.com/2017/05/golem-plus-streamr-equals-heart/)

</comment><comment><AUTHOR> OP here, feel free to make a pr to correct any errors or if you want to add any new information.

</comment><comment><USER14> This is not a Show HN. Please read the rules:

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


Women Would Abolish Child Labor (and Other Anti-Suffrage Excuses) - <AUTHOR> https://www.nytimes.com/2020/08/26/opinion/suffrage-19th-amendment.html <comment><USER2> I get the NYTimes is clickbait trash.

But did Women support abolishing child labor?

Or was it just an excuse like NYTimes claims?

I see no evidence they wouldn't. And I feel like they would be much more likely to support abolishing child labor.

<comment><USER3> What difference does it make?

<comment><USER2> Because NYtimes needs to pick a lane and report facts.

Prohibition is why so many black man are in prison.

Is this tied to Suffrage or not. What is the NYtimes saying. Do women actually support and vote in line with prohibition or was it just an excuse?

<comment><USER4> Can you point out anything in this article that's incorrect?

<comment><USER2> > Women Would Abolish Child Labor (and Other Anti-Suffrage Excuses)

Because it's not an 'excuse'

The women's suffrage movement did support abolishing child labor.

This editorialising by shitty journalists sitting in a loft in NY is just annoying. Just report the facts.

[https://trove.nla.gov.au/newspaper/article/145767551?browse=...](https://trove.nla.gov.au/newspaper/article/145767551?browse=ndp%3Abrowse%2Ftitle%2FA%2Ftitle%2F746%2F1916%2F10%2F05%2Fpage%2F16651549%2Farticle%2F145767551)

These also had little to do with Anti-Suffrage reasons. The Anti-Suffrage movement had a large female support base.

<comment><USER4> So your argument is _entirely_ about the headline, and has nothing at all to do with the content of the article?

You're getting downvotes because talking about the headlines is _always_ fucking tedious, especially when you ignore the content of the article.

<comment><USER2> 1\. This thread is about clickbait.

2\. As mcv (karma 13432 points) points out in their comment about this, they can't read the paywalled article so have to base it on the headline.

This article in plainly stated English is a series of non sequitur's to tie Trump to Child Labor and the Anti-Suffrage movement. Starting at the headline. Negative .... Negative .... Negative .... (coded Trump)

This BS bores me so I'd like to at least talk about a fact, like what did the 19th Amendment do to child labor (probably a long term positive) and what did it do to Prohibitions (probably a long term negative)</comment></comment></comment></comment></comment></comment></comment>


Russia & U.S. Setup Cybersecurity Hotline to Prevent Accidental Cyberwar - <AUTHOR> http://www.securityweek.com/russia-and-us-setup-cybersecurity-hotline-prevent-accidental-cyberwar

<comment><USER2> If we just hooked up some wires between the NSA and the Russian equivalent and then quietly snipped their connections to the rest of us they could happily play together forever. We could get on with our lives and businesses.</comment>


The last days of Doppler Lab, inventor of connected earpods - <AUTHOR> https://www.wired.com/story/inside-the-downfall-of-doppler-labs/ <comment><USER2> What does it mean for the future of innovation if the founder's assessment is correct: . "We fucking started a hardware business! There's nothing else to talk about. We shouldn't have done that."

<comment><AUTHOR> imho just that you need to build something other companies cannot copy easily.

I worked on that [http://pilo.cool](http://pilo.cool) and stopped for precisely that reason

</comment></comment><comment><USER3> I bought a pair of Here Ones. They were awesome, and they were much more capable than Apple Airpods because they contained microphones and processed real-world sound in real time. But the batteries only lasted about two hours. If not for that fatal flaw, I'd have kept them.

Integrating a microphone with the speaker greatly enhances the range of things such a device can accomplish, and I hope somebody eventually figures out how to do it.

<comment><AUTHOR> Google is releasing such a product too</comment></comment>


Strange Noise in Gravitational-Wave Data Sparks Debate - <AUTHOR> https://www.quantamagazine.org/strange-noise-in-gravitational-wave-data-sparks-debate-20170630/ <comment><USER2> Do they propose a mechanism for how there could be simultaneous correlations between the two detectors that _aren 't_ gravitational waves? There's few enough forces that can act through kilometers of solid earth that I'd be willing to take it as a given that they're uncorrelated, absent a signal... but then, I'm not a physicist.

Even more I'm-not-a-physicist-y speculation; could the additional correlation be some secondary gravitational wave effect hidden under the main signal, pointing to another aspect of the phenomenon?

<comment><USER3> I think the argument is that any correlation in the noise must be simply coincidental. In other words, the detection could be explained by chance rather than some true physical phenomenon measured by both detectors.

But, LIGO ran their detectors for 8 years at a lower sensitivity with no detections. Almost as soon as they turned on the upgraded detectors in September 2015, they detected the first event (GW150914) which appeared at a level that would have been undetectable previously. Also, they have made two other detections in the 1.5 years since. My guess is that if these events were due to flawed analysis, then we should have seen something during those first 8 years.

<comment><USER4> While I think it is unlikely that there is a problem here, one has to consider that upgrading the sensitivity could introduce or reveal a systematic error.

Also, it is not just a correlation that has been observed - it is a correlation that has a specific form, a rising fundamental frequency that happens to in line with what we would expect from merging black holes. I know there's an element of circularity in the argument, but what are the chances of that particular sort of signal arising from a spurious correlation?

</comment></comment></comment><comment><USER5> "The only persons qualified to analyze this paper are in the LIGO Scientific Collaboration"

What? That's an incredibly dangerous position for a scientist of any stripe to take.

<comment><USER6> I think the end of the sentence is interesting as well... _" , said Robert Wagoner, a theoretical physicist at Stanford University who is not affiliated with LIGO. "They are the only ones who have had access to the raw data."_

That kind of gives the lie to the conspiracy that many would like to believe... And before you go demanding that they release the raw data (in addition to the processed data), I hope you are aware of how many disk drives you're going to need to fit into that station wagon.

<comment><USER5> I mean yeah there's probably lots of instrument telemetry in the data, but let's give LIGO the benefit of the doubt and say that the instrumentation has consistent performance through null control regions of the timeseries and the "interesting" regions of the timeseries (bloop #1, in this case, but apparently now bloops #2, and #3 which were not analyzed by the person doing the criticism).

the 'truckloads' of data are basically all the uninteresting parts of the timeseries. Of course there is statistically going to be random events where the noises correlate at the level seen by the critique, and maybe the truckloads of data show that those are frequent enough that say 1/3 of the bloops should have that correlated noise superimposed on the 'actual signal'; and maybe that bloops 2 and 3 do not have the correlated noise if you apply the same analysis to it.

How much more 'raw data' do you need to reach a conclusions that refutes the criticism?

</comment></comment></comment><comment><USER7> If you want to look at the data and run their code w/o installing any software, check out their ready to view/run Jupyter notebooks:

[https://notebooks.azure.com/losc/libraries/tutorials](https://notebooks.azure.com/losc/libraries/tutorials)

1\. click on a notebook to see the html rendering 2\. or clone+run to execute/edit the code (need to create login)

</comment><comment><USER8> code links:

original criticism: [http://www.nbi.ku.dk/gravitational- waves/correlations.html](http://www.nbi.ku.dk/gravitational- waves/correlations.html)

response: [https://github.com/spxiwh/response_to_1706_04191/blob/master...](https://github.com/spxiwh/response_to_1706_04191/blob/master/On_the_time_lags.ipynb)

definitely click through the quanta article's links.. fascinating reads all the way down

<comment><USER9> It is fascinating, and I learned that one of the events was first detected by an _unmodeled_ search for strange events in the signals:

"Finally, LIGO runs 'unmodelled' searches, which do not search for specific signals, but instead look for any coherent non-Gaussian behaviour in the observatories. These searches actually were the first to find GW150914, and did so with remarkably consistent parameters to the modelled searches..."

[http://www.preposterousuniverse.com/blog/2017/06/18/a-respon...](http://www.preposterousuniverse.com/blog/2017/06/18/a-response- to-on-the-time-lags-of-the-ligo-signals-guest-post/)

</comment></comment><comment><USER10> I have done lots of signal processing. You cant just subtract out a noisy signal and complain the residual is correlated, there will be bits remaining. If they want to show correlated noise, why cant they use any other part of the signal?

<comment><USER11> The correlated remainder is only in the vicinity of the signal event.

The 2nd team is arguing the presence of residual correlations after the signal is removed means the total correlation isn't well described by a gravity wave signature.

This is experimental data, so there's clearly going to be noise and there's clearly going to be complexities in the detector response to the event. The question boils down to whether the residuals are significant enough and distinct enough from expected detector response behaviors to call the detection into question or suggest something unexpected is contained inside the detected signal.

<comment><USER12> It all boils down to what they subtract. It is said that they subtract the wave signal. Is this signal known for sure or very predictable ? It also depends on how they subtract it. Is it in the fequency domain or the space doman ? I didn't read the arXiv article and don't plan too. Just commenting and asking.

<comment><USER11> Think of it as a matched filter tuned to the impulse response of a gravity wave. If that filter matches the observed signal then it's a detection, if it doesn't then it's not. The debate is over the significance of the inevitable remainder after subtracting the model of the signal. Is it an expected amount of remainder or an unexpectedly large amount of remainder.

</comment></comment></comment></comment><comment><USER13> Is it really noise or just more signal?

Cosmic background radiation is noise but it can be mapped out into a pattern. Could the correlation be a view of a type of cosmic background gravitational waves?

<comment><USER14> The pattern is in a different dimension than the noise (time vs spatial). A pattern by definition isn't noise.

<comment><USER15> Well, except:

> The main claim of Jackson's team is that there appears to be correlated > noise in the detectors at the time of the gravitational-wave signal. This > might mean that, at worst, the gravitational-wave signal might not have been > a true signal at all, but just louder noise.

If that's an accurate characterization, "louder noise" does seem a lot like signal.

Couldn't the "correlated noise" just be a superposition of numerous small gravitational-wave signals?

</comment></comment></comment><comment><USER16> Obviously the simplest solution is to have a third detector, located far away from the other two. I'm surprised the article didn't even mention that.

</comment><comment><USER17> Let's wait and see if their article gets through peer review in a similarly respected journal to the three published detection papers'.

</comment><comment><USER18> where there's smoke...

</comment><comment><USER19> Wait

Scientists keep saying and repeating how correlation doesn't mean anything to the point it's become a joke

Now they are dabbling about a spurious correlation in a small section of the data? For real?

No, really, if anyone would be trying to prove anything based on that correlation alone they would have been laughed and dismissed by the majority of the scientific community

But suddenly when it's to reject a result then it's important?

> points out that Jackson's team could have misused a common data-processing > technique called the Fourier transform... The error, Harry writes, has to do > with the technical assumption that the input data signal be "cyclical,"

Correct. Not to mention the sample is too short (and the even is short as well and there's noise and the sampling rate is not too big).

If you play with FFT on these conditions you start seeing things that "aren't there"

<comment><USER20> Scientists don't say correlation doesn't mean anything. What they do say is that correlation doesn't imply causation.

If the basic model underlying the original LIGO finding would predict no correlation between the recordings, then a significant amount of correlation should lead scientists to revise the model, and reexamine the findings. Very much standard scientific practice.

<comment><USER19> There are several possible sources of correlation on the "impulse response" of the LIGO detectors (the whole detector, from building construction to the electronics and detectors in itself) so it is not surprising that might happen. Or maybe it's something in the source of the signal

But the signal is still stronger than the noise

Besides the "poking the data in weird ways until it stops meaning anything" issue

<comment><USER11> No. The word "Correlation" as used in the article to discuss correlations in the data generated by two remote detectors has a very specific technical meaning. It's not simply one of the words in the trope "correlation does not imply causation."

Correlation as used here and put simply means that when the signal coming out of one the detectors increases, the signal coming out of the other detector (which is physically separated from the first detector by a very large distance) also increases, and when the signal coming out of the first detector decreases the signal coming out of the second detector also decreases.

The existence of that mathematical correlation between those two signals coming out of those two remote detectors absolutely implies there is a causation to the correlation (yes, mathematical correlation can imply a causation, even while it alone is not able to indicate what that causation is).

The question at hand is not whether there is a correlation or whether there is a causation. The question is what is the causation for the correlation and whether that causation is a gravity wave or something else.

The odds are extremely good that that causation is a gravity wave, but it's a big enough experiment and a big enough result that it's worth looking very closely at the analyses that argue in favor of it being a gravity wave (and those that argue against it).

<comment><USER21> ... what? This is precisely the correlation meant in the aphorism you mentioned and is also the only sense of the word correlation of which I am aware of. Signals can be similar (correlated) purely by chance and this cannot be taken to imply a causative link between them.

<comment><USER20> If a correlation is consistent, some sort of causation is quite likely. There are of cause spurious correlations but in physics experiments we can mostly get rid of them by repeating the experiment several times, unlike in economics for example.

The more important point, however, is that a correlation between A and B does not imply that A causes B or B causes A. It could also be that unknown factor C causes A and B.

<comment><USER21> Agreed, though repeated measurements weren't mentioned so I thought it was important to emphasize that finding a correlation in one measurement cannot be taken to imply causation, which sounded like what OP was saying.

Your point is a very good one, though. If we view causation through a causal graph, such that vertices are variables and direct causal links are arrows (directed edges), a statement "correlation doesn't imply causation" can be taken to mean several things:

      * From correlation, we cannot determine the direction of the arrow.
      * From correlation, we cannot claim there *is* a (direct) arrow between two vertices.
      * From correlation, we cannot claim there is even a path from one vertex to the other.

<comment><USER20> Indeed. I think it is also important to note that the unknown factor can be something very abstract. For example if you measure the oscillations of two pendulums with the same properties, they will also be correlated, but simply because they are driven by the same underlying physics...</comment></comment></comment></comment></comment></comment></comment></comment>


Understanding gunicorn's async worker concurrency model - <AUTHOR> http://words.volant.is/articles/understanding-gunicorns-async-worker-concurrency-model/

<comment><USER2> An event loop is a cooperative scheduler. In a cooperative scheduler, contrary to a the linux kernel scheduler, the current running code decides when to "sleep" to allow another code to execute, so at any point in time only one code is running just like on a single core CPU. The turnmoil about parallelism and concurrency makes it look like the event loop may not have the same issues as a code based on POSIX threads, kind of True, still, only one code is running at any point in time, it's not possible to read broken values, still you need to manage states correctly possibly requiring the use of non-POSIX locks because before an asynchronous callback is called, states might have changed.

<comment><USER2> in a web context, shared states are considered bad pratice, so you should notice the above.</comment></comment>


Installing A/UX on the Quadra 610 (2018) - <AUTHOR> https://blog.pizzabox.computer/posts/installing-aux-quadra/ <comment><USER3> One thing from A/UX that would be nice to add to the GUIs of current Unix/Linux systems is Commando. Commando was a nifty thing in the terminal program under the System 7 environment [1].

If you typed the name of a command, such as ls or sort or cc, and then typed an ellipsis (…) it invoked Commando which would put up a dialog box for constructing the command.

The dialog box would have check boxes or radio buttons for the various available flags, text boxes for arguments, buttons to invoke file choosers for stdin, stdout, and stderr, and probably more that I'm forgetting. These things would be organized into sensible groups.

For complex commands like cc, there would be buttons that invoked subdialogs such as a dialog for code generation settings, a dialog for warning/error settings, and so on.

The Commando dialog would show you the command being constructed, and if you accepted it that would be entered into your terminal.

[1] A/UX had three ways it could run. (1) Console only, which used your Mac display as one big terminal, (2) GUI using X, which used the Mac display as as an X server, and (3) System 7, which ran a modified Mac System 7 on top of Unix, with System 7 having control of the GUI, and had a Mac terminal program that could run Unix processes.

<comment><USER4> IBM i (previously called OS/400, the operating system of the IBM AS/400) has a similar feature. At the command prompt, you type a command name then press a function key and it brings up a (text-mode) fill-form UI you can use to specify command arguments.

Part of how it works – on Unix, command arguments are just a list of strings, and any option parsing (etc.) has to be done by the code of each command. By contrast, on IBM i, there is a declarative language used to define the syntax of the command (allowed options/arguments, what values are allowed for each, etc.) The declarative command definition is compiled into binary form and installed into the system. When you run a command, the operating system uses the installed command definition to parse and validate the parameters and marshal them into a memory block. If the parameters are invalid, then the OS produces the error and the command executable never even starts. If the parameters are valid, the memory block gets passed to the command's code. These same declarative command declarations are what gets used to generate the fill-in form UI.

<comment><USER5> That's an ingenious solution. Whoever thought of that was very, very smart, forward looking and insightful. We need to bring that into illumos, the runtime linker in illumos already has capability to do all sorts of things before the excutable even starts, so it would be the perfect place to plug into. It can easily be made optional, so programs which do not generate this declarative part will continue to function unmodified and nothing will be broken.

Just to set the record straight though, while the options in UNIX programs are very different from program to program, good UNIX programmers know to use getopt(3C) libc function and not invent their own custom parser. All programs which use getopt(3C) have a uniform, consistent option parser and command line behavior. [https://illumos.org/man/3c/getopt](https://illumos.org/man/3c/getopt)

<comment><USER6> If only [http://docopt.org](http://docopt.org) was invented and standardized and widely adopted in the 80s…

> good UNIX programmers know to use getopt(3C) libc function

Well, when writing in C. People don't really use this from other languages.

<comment><USER7> We use getopt style command line parameter parsing in at least Java, Perl, Python, and BASH at work, so I wouldn't say that this is unused.

We're also primarily a UNIX shop at work, so that might be part of it.

</comment></comment></comment></comment></comment><comment><USER8> So much love! I worked on A/UX's original Unix port, wrote many of the drivers,the AppleTalk stack, made the thing field configurable so you could write your own drivers (at a time when kernels had drivers compiled in), and wrote the original event manager. I also got to debug the original Mac II hardware, and help fix it.

Our internal code name for the project was "Pigs in Space", Apple's was "Eagle", when theirs leaked to the press we were in the clear

<comment><USER9> Do you still have any of the relevant software or documentation?

I am looking for the Apple A/UX Device Driver Kit (APDA M8037/B), which should include a book titled "Building A/UX Device Drivers". I am specifically interested in driver source code.

Here is an incomplete list of A/UX software and documentation of which I am aware. Helping preserve any of the missing items would be highly appreciated.

[https://gist.github.com/mietek/174b27e879a7b83d502a351ea3aaa...](https://gist.github.com/mietek/174b27e879a7b83d502a351ea3aaa831)

My contact information is in my profile.

<comment><USER10> I'm also looking for this documentation as I'm working on a new Ethernet card for the Mac SE/30.

[http://www.mactothefuture.org/](http://www.mactothefuture.org/)

<comment><USER8> If we can't find the docs try the BSD 4.1/4.2 docs, A/UX is essentially UniPlus which was vanilla AT&T System V with Berkeley 4.1 networking added, the Apple team upgraded things to BSD 4.2 networking by A/UX 3.0

<comment><USER10> I found some source code for UniPlus v1.5 for the Apple LISA.

[https://github.com/arcanebyte/uniplus](https://github.com/arcanebyte/uniplus)

The 3Com Ethernet driver looks very similar to the one from the 4.2 BSD distribution.

[https://github.com/arcanebyte/uniplus/blob/master/v1.5/sys/i...](https://github.com/arcanebyte/uniplus/blob/master/v1.5/sys/if_ec.c)

So I'll need to see if I can emulate how drivers are linked in and probed.

<comment><USER8> That's much older than A/UX, likely v7 or System III based with BSD4.1 networking

(We did both V7 and SIII ports to the Lisa)

<comment><USER9> Any luck looking for those A/UX materials? I have no way to contact you outside HN. Please drop me an email or a tweet.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> Fun! A/UX was neat... I was always a big fan of System 7, and this was System 7 running on top of a real Unix environment. Many years ago I picked up an "Apple Workgroup Server 95", which was basically a Quadra 950, to try running A/UX on. It's definitely an old Unix, but it certainly worked. Perhaps the neatest thing Apple did with it was the "commando" interface... in the Unix shell, you could enter a command (say "ls") and hit a hotkey to pop up a Mac- style dialog box that had check marks for all of the flags, text entry boxes for all of the paramaters, etc. Perhaps one of the more usable Unix- derivatives ever! Even MacOS X doesn't have a similar capability. The only system I'm seen like that is IBM's AS/400, with the F4 prompting to help with all system commands. Nice to have a self-documenting command line interface.

<comment><USER12> One thing I'm curious about- was Commando "pre-baked" with dialogs for all of the pre-installed utility commands, or did it pull from some kind of user- extensible database? Metadata stashed in the resource fork of the commands, maybe?

<comment><USER13> The MPW version of Commando relied on a 'cmdo' resource on the utility.

<comment><USER12> Cool! A very elegant and "Classic MacOS-ish" solution.

</comment></comment></comment></comment><comment><USER14> Circa 2003 I found an old Quadra [forget which model, but with an MMU -- still have it powered off in a closet] on eBay for less than $20, and installed A/UX.

I got some old Mac software (some games, and an old release of Netscape), and some GNU ports (gcc 2.8 ish I believe?). It was interesting what could have been - there is a simplicity in System 7 UI that OS X doesn't have. But after a while it became kind of boring, another dated Unix machine that can't run a lot of recent things.

The most dated thing I remember from the time was it didn't support DHCP.

<comment><USER15> Any chance you had a power meter hooked up? I find it fascinating how much less waste heat we generate per unit of computation.

</comment></comment><comment><USER16> Do note that A/UX was not a "path forward" for Apple. Mac apps were all cooperatively multitasked in a single address space so all the same problems remained. macOS (neé OS X) finally delivered Carbon which made the transition to modern features possible. That was not a trivial transition though - <USER2> were simply a big chunk of APIs that could never be made to work in a world of separate address spaces and pre-emptive multitasking, let alone your own app's behavior with respect to (or likely lack of) locking / thread safety.

Microsoft definitely learned some lessons from classic Mac in that regard but they still weren't able to promise 100% compatibility with the switch to 32-bit without compromises. Windows NT could run 16-bit apps in a rock-solid way but not all apps would run: some APIs were just incompatible. Windows 95 could run just about anything but had infamous reliability problems.

IMHO the takeaways are:

1) Platform transitions can be difficult, especially if you haven't done one before and don't know what will bite you about your current platform 2) Compatibility is key. Where you can't maintain binary compatibility offer source compatibility. If you can't offer 100% source compatibility, then offer as much compatibility as you can. Every little bit helps.

</comment><comment><USER17> If you're short on 68K Mac hardware but want to try A/UX, check out Spoonbill:

[https://github.com/pruten/shoebill](https://github.com/pruten/shoebill)

"Macintosh II emulator that runs A/UX (and A/UX only)."

</comment><comment><USER12> Cool stuff. I've never had any of the old mac models A/UX supported. Seems like it would be fun to tinker with. I find System 7 very aesthetically appealing, but it would be nice to still have a CLI and old friends like grep close at hand.

Probably worth noting that this post is from 2018.

<comment><USER18> I always wanted to make an X window manager that looked like System 7, particularly because I quit using Macs when OS X came out due to a general sense of pique.*

I know people have made attempts as Mac-like interfaces, but it would be a huge task to make one with as much attention to detail and consistency as the original. And then you might be infringing anyway.

*Like, I'm not colorblind, but changing the traditional hieroglyphic window controls to bubbles distinguishable only by color signified an attitude/culture change that irritated me.

<comment><USER12> The black-and-white Macintosh look-and-feel is just wonderful. Simple, crisp, and reads well.

It's interesting to compare even MacOS 1.0 with contemporary imitators. Windows 1.0 looks horrific, and GEOS has an uncanny resemblance, but everything is clunkier and uglier in subtle ways. Susan Kare is a genius.

If I could use Linux with a pixel-perfect System 7-like window manager I'd be delighted. It would probably be necessary to rewrite a suite of everyday applications to really take advantage of the look-and-feel and have internal consistency, but that could be its own fun project.

<comment><USER19> We had a on old WM clone, mlvwm

[http://www2u.biglobe.ne.jp/~y-miyata/mlvwm.html](http://www2u.biglobe.ne.jp/~y-miyata/mlvwm.html)

Modern fork:

[https://github.com/samdmarshall/mlvwm](https://github.com/samdmarshall/mlvwm)

And finder clone, with GTK1.

[https://web.archive.org/web/20020408211103/http://www.udk- be...](https://web.archive.org/web/20020408211103/http://www.udk- berlin.de/~rasca/xap/)

Modern GTK2 fork:

[https://github.com/samdmarshall/xap](https://github.com/samdmarshall/xap)

<comment> yjftsjthsd-h That's cool. Any chance anyone's successfully built either of these? I eventually built mlvwm but it segfaults (in Xephyr on Ubuntu). I didn't get xap to build; after installing all the dependencies I get "/usr/bin/ld: final link failed: bad value" and I have no idea what that means. I might try mlvwm on FreeBSD next, since its home page implies that it was mostly tested there originally.

<comment><USER19> You can always ask the author for help :)

On the software crashes, please, use the forked ones from github, they are fixed and patched to work on modern systems.

</comment></comment></comment></comment></comment></comment><comment><USER20> Current builds of NetBSD still run just fine on Quadras.

<comment><USER21> Very true. In fact, aside from the big fridge-sized VAXes and some early Sun-3s, I'm pretty sure the Macintosh II of 1987 is the oldest commodity computer that can still run a mainstream and maintained UNIX-like OS. You can even stick 128 MB of RAM in one!

<comment><USER22> Amigas as well.

<comment><USER23> Commodore didn't ship an Amiga with an MMU until the 2500/20 in 1988.

<comment><USER22> Fair enough, got the year wrong.

As info for others,

[https://en.m.wikipedia.org/wiki/Amiga_Unix](https://en.m.wikipedia.org/wiki/Amiga_Unix)

</comment></comment></comment></comment></comment><comment><USER24> I ran it on a Mac IIcx. As I recall, one could also purchase Sun's NeWS windowing system for it.

</comment><comment><USER25> Brings back memories -- I had an SE/30 maxed out with 8MB of RAM, and ethernet with the D-shell connector, and A/UX. Still have it; it still booted, last time I tried.

I didn't find out until this year that I could have replaced the 1MB modules with 4MB ones, and have 32MB.

<comment><USER12> Might want to image the drive on that thing before it inevitably fails and pop in a scsi2sd. An ounce of prevention, and all that.

</comment></comment><comment><USER5> I just have to ask -- does A/UX use any type of software packaging format? Is it SVR4 pkgadd(1M) / pkgrm(1M) / installf(1M) / removef(1M) / pkginfo(4), or something else? Is there any documentation on how to make OS packages for it, and if so, where is it?

Is there a way to perform a completely automated, unattended installation of A/UX over the network, like Solaris' JumpStart(TM), redhat's Kickstart, SuSE's AutoYaST, or SGI's roboinst?

<comment><USER10> No it doesn't

</comment></comment><comment><USER26> Cool. In 1991 I built an ISP based on Macintosh hardware and A/UX. Especially the Newsgroups with uucp and nntp where fun. We gradually added BSDi based routers and terminal servers but even this we initially did with A/UX and ARA modem banks (Appletalk over dialup 14.4K modems)

</comment><comment><USER27> Wow, that takes me back. I ran it on a Quadra too (although I forget which model), and it was a great way to both talk to the VACxen and DECstations on campus and run/script a few things locally.

</comment><comment><USER28> I wonder how an A/UX with memory protection and preemptive multitasking would fare today.

<comment><USER29> > I wonder how an A/UX with memory protection and preemptive multitasking > would fare today.

I believe A/UX had both of these things, although it ran all the System 7 applications inside a single address space. I suspect that without this measure, many native Mac apps would not have worked.

<comment><USER30> I think apps could also be ported (mostly just recompiled?) to run in separate address spaces. So you could have a Mac app that was its own A/UX process.

This seems to have some details:

[http://basalgangster.macgui.com/RetroMacComputing/The_Long_V...](http://basalgangster.macgui.com/RetroMacComputing/The_Long_View/Entries/2010/9/25_A_UX.html)</comment></comment></comment>


What do you think about the new Samsung Galaxy S8? - <AUTHOR> <comment><USER2> I like how flush the screen sits to the sides. About time.</comment>


The Death Of The Hacker: InfoWorld 1986 - <AUTHOR> http://mikecanex.wordpress.com/2012/03/21/the-death-of-the-hacker-infoworld-1986/

<comment><USER2> What's interesting isn't what the article got wrong. It's what the article got _right_. A 400k program is insanely difficult to write, if you're working in straight assembly. What the article misses, though, is that programmers' tools evolve too. As we're required to do more in less time we abstract away more and more of the code until the abstractions become incorporated right into the programming languages we write. In the '80s, you still had to write your own basic data structures. Making something like a dictionary, or a hash table might have been an all-day exercise. Today, you can just pull up one of the many ready-made data structures provided by the standard library of your favorite programming language.

On a side note, I find it interesting that the author seems to equate artificial intelligence and e-mail integration as being approximately the same order of difficulty.

<comment><USER3> I think part of the problem is that "artificial intelligence" is always being redefined upward toward areas we don't well understand. If you don't know how a computer plays chess, it certainly appears intelligent. Once you do understand it becomes purely mechanical.

<comment><USER4> I agree and I think the inverse can be said about intelligence. There the target keeps moving down instead of up. At least for me, the more I learn the more I appreciate the intelligence of the nematode. I appreciate intelligence as not some binary human like or not, but a spectrum. The cat is not _not a human_ it simply has varying levels of what we call human.

Empathy, Sapience, Self Awareness,Consciousness, Sentience, Abstraction, Awareness, Intentionality, Intelligence. AI only needs the last three to be useful and the last four to be dangerous. The AI does not need a theory of mind to collect enough data to be able to produce an accurate distribution of your actions for all interesting situations and then use it to arrange your environment so it can exploit you in line with its intentions.

>If you don't know how _the human brain_ plays chess, it certainly appears intelligent. Once you do understand it becomes purely mechanical.

It is after all bound by the laws of physics.

</comment></comment></comment><comment><USER5> There is something that to me still rings very true, almost 20 years later: Microcomputers (computing at large) are very appealing to MBAs, today we'd prefer the term "consultant" or the newly self-appointed Gods of the Software world, the "VC".

They suck the fun out of it for the most part; they have no passion for software, clearly they're in it simply because it's a lucrative business.

Academia comes off as an alternative with a whole different set of problems...

It seems that there's little place left for the Wozniaks of this world, true hackers who write 40K sofware that revolutionize industries, while doing it for "fun".

<comment><USER6> While active, _why was a vocal evangelist of that vision.

Camping, for example, is an MVC framework written in less than 4K of Ruby code. It was at its time the go to microframework in the Ruby world. Then _why disappeared, and the releases staled for a while, and Sinatra took the spot.

Here's the initial camping announcement, with the full source code included. The updates were added incrementally, it was hillarious to see them roll out... [http://viewsourcecode.org/why/redhanded/bits/campingAMicrofr...](http://viewsourcecode.org/why/redhanded/bits/campingAMicroframework.html)

The current version has been brought down to less than 3K By judofyr: [https://github.com/camping/camping/blob/master/lib/camping.r...](https://github.com/camping/camping/blob/master/lib/camping.rb)

</comment></comment><comment><USER7> I was never really aware of the reason Wozniak left Apple, I figured it was because Jobs was mostly in it for the money and their relationship inevitably went downhill. I remember an interview with Wozniak, something I'll always remember, it went something like this: "I went to Steve and showed him this awesome new system I had been playing with, 'Isn't this awesome?!', I said and he replied 'Holy crap, we could make so much money off of this!', 'I suppose you're right'".

Edit: bad grammar.

</comment><comment><USER8> Interestingly, Y Combinator's approach of working with hackers so that they can launch, build, and stay in control of new businesses is the _exact opposite_ of what the article's author said would happen in the future.

</comment><comment><USER9> Wow. Crazy article.

Not sure if the Woz/Jobs intro is exactly apt; hindsight tells us that while Woz may have been disenchanted (and that as a true uber ultimate hacker, he probably stumbled upon this decades earlier and significantly harder than most hackers), it probably did have a bit more to do with the crazy personalities going on there – Jobs' insanely focused and hurtful drive and Woz's desire to not be involved with the business of Apple.

Rather, I think the article hits the nail on the head in its conclusion:

"There will always be hackers. We may soon see genetic hackers, organic computing hackers . . . who knows? They're the ones on the fringes who push things a little further and faster. But their role in personal computing has been forever changed. Now that its big business, they may be happy at that."

Their role changed because computing changed the world and indeed became even bigger business. Simulatneously, the "creative force" left the room, replaced with big business and other processes that are entirely disinteresting for a true hacker.

Now clearly the hacker spirit will endure as long as there are ways to push things that little bit further/faster. Often times, those improvements are valuable contributions to be spread, and the hacker spirit meets (in some way) with the entrepreneurial spirit. This is beneficial and has led to some of the world's greatest success stories.

But the hacker spirit and the entrepreneurial spirit do have differences; different goals, priorities and countless other subtleties of art that the non-hacker might miss. Often times, as businesses grow, that's exactly what take place.

I definitely can't claim to have the answer, and no one's probably that much closer to the solution than when the article was written. But it's best to keep an eye out for the problem and steer clear of it at all possible.

In the meantime, I wish that those in the startup community would avoid trivializing the term "hack" left and right, omitting the creative force in the process. Analyzing customer traction and marketing data isn't hacking. Writing a few lines of code for your run of the mill social networking or daily deals startup one afternoon isn't hacking. This isn't to say that those things aren't important. Quite the contrary; teams and structure and 85% of startup events? Beneficial, but not hacking.

This isn't about making hacking elitist or limited to any technical context; rather, it's about flashes of brilliance and the gem that emerges. Just like it was in 1986. Just like it's always been and always will be.

</comment><comment><USER10> It always makes me feel young to read an article that was published before I was born, and in this case saying that my intended niche is dead. I wish I knew more of these older, wizened ideas. I will probably never be comfortable in assembly, and I would seriously enjoy a course entitled, "what we knew about computing in the 70s which still isn't part of mainstream languages today."

If I may reappropriate a line from Hopkins, "hackers build--but not I build, no, but strain, time's eunuch, and not breed one work that wakes." I guess it's a broader anxiety for all people working in artistic professions. In any case, I'm envious of the amazing ability of the past to get work done, and am surprised that with the huge network of modern coders, modern thinkers, modern design techniques, we've only elaborated the slightest on what they've done. They built me the Internet: but I use it to read blogs and get into revert wars on Wikipedia.

</comment><comment><USER11> I have found that people who announce things the along the lines of "now it's serious business, the fun is over" are a) the least creative people who are only comfortable in a predictable, well organized world and are quietly praying for the "fun" to be over, and b) almost always wrong.

<comment><USER12> The game changed, it went beyond the "microcomputer" concept in ways this guy couldn't conceive. But that does not mean he was wrong.

The days of the lone hacker writing assembly code for the "microcomputing" business DID came to an end. So did the days of the lone hardware hacker building and selling computers from his garage.

And programming did became a generally collaborative effort.

<comment><USER13> Lone hackers will always exist. It's just the layers of abstraction that change. Wozniak worked on top of ICs and electronic components. Now we tend to work on top of complex kernels, libraries and so on. So what? The stuff below tends to be a million man-hours achievement, hackers work on the fringe... I don't think that pattern has changed.

</comment></comment></comment><comment><USER14> I'm intrigued by this "networked electronic mail", maybe it will replace my steam-powered telegraph automaton?

(J/k)</comment>


Ask HN: Great links for arduino hackers? - <AUTHOR>

What are your favorite ressources for arduino related news ? Is there a HN-like website for arduino ? <comment><AUTHOR> Here is my small list:

\- <http://hackaday.com/> : general and also arduino based hardware hacking

\- <http://makeprojects.com/> : great books & resources

\- <http://www.instructables.com/> : projects (some based on arduino)

\- <http://arduino.cc/forum/> : the arduino official forum

<comment><USER2> I second www.instructables.com. Don't forget www.adafruit.com but where I have really found what I need is simply google. If you know what you are looking for just use proper search terms and typically there is someone who has already done at least a portion of what I am working on.

</comment></comment><comment><USER3> I haven't found one yet. hackaday.com isn't Arduino only, but they cover a lot of interesting projects with Arduinos.

<comment><AUTHOR> I really like hackaday, although it's not arduino based only.

</comment></comment><comment><USER4> <http://reddit.com/r/arduino>

</comment><comment><USER5> I maintain an Planet aggregator for tracking Arduino-related blogs that pique my interest: <http://planet.nottwo.org>

Kinda plain, but works well in my feed reader.

</comment><comment><USER6> <http://makezine.com/>

</comment><comment><USER7> /dev/null

get off the internet and build things</comment>


Steve Jobs capped many of the teams in Cupertino - <AUTHOR> http://minimalmac.com/post/50875581428/unknowable-rands-in-repose

<comment><USER2> Teams that are bigger than necessary to get their job done create huge problems in large corporations. People without enough to do aren't just wasting money and other resources, they also create politics. It's difficult to figure out the optimal size of a team, but I've seen greater productivity out of teams that are a bit too small than those that are a bit too big.

<comment><USER3> The problem is you get managers who are "head count" hungry and want as many people reporting to them as can fit in the building. It becomes a matter of politics. Having a limit placed from the top down is a good thing. More large corps should do this.

<comment><USER4> Even better, michaelochurch has talked about open allocation before.

<comment><USER5> Open allocation is great if your project lead can accurately and honestly define resource needs.

Having worked in many a megacorp, that would seem to be an incredibly rare scenario. Most teams can't even track actual resource usage, let alone accurately project the data.

</comment></comment></comment></comment><comment><USER6> I remember reading that Richard Branson does much the same. When a team gets above 20 people, he splits the team up. Similar reasons - so that the culture kept within a team was better because everyone knew each other well.

</comment><comment><USER7> I recall reading that back in the good old days at HP, they would split a group into two groups once it grew to over 100 people.

This discussion of Dunbar's number gives some useful background:

<http://en.wikipedia.org/wiki/Dunbar%27s_number>

<comment><USER8> When I was at KPMG, back in the early 90s, all the branches I visited had a similar structure - units of about 20 to 40 people, with an operational manager (OM, usually with senior managers as his/her title) who was not a partner. Each OM would report to at least one partner, but sometimes several OMs would report to one partner, or there would be a department with several units and several partners, where decisions would be made through a board of partners and OMs.

I never heard that this was a uniform policy for KPMG, but as far as I saw, it was how they organised audit, tax, and consulting units, and they used it for offices as small as 40 staff and offices as big as 700 staff. KPMG management back then were proud of how there was workplace harmony in the units, efficient communication between management and partners, and their federal structure (i.e., the top partner is not a dictator).

Groups of up to 40 staff would be around a third or a quarter of the optimal group size that Robin Dunbar posited for humans. Cf. [http://blog.sitefox.com/wp- content/uploads/2010/06/Hill_Dunb...](http://blog.sitefox.com/wp- content/uploads/2010/06/Hill_Dunbar_networks.pdf) \- it makes sense that the size of work groups in a large company should be below the Dunbar number, since their colleagues should not only be the people in their work group, but they should try to maintain a network throughout the company.

</comment></comment><comment><USER9> The conclusion seems at odds with the anecdote. What if my reason for switching to a new "minimalist" text editor was to escape the inefficiency of a familiar but bloated IDE with features I don't need?

</comment><comment><USER10> I would have thought the reason behind this was more along the lines of <http://en.m.wikipedia.org/wiki/The_Mythical_Man-Month>

</comment><comment><USER11> _> You know, this works for software and hardware too. The less features or parts, the more "knowable" it is to you._

I have definitely felt that each of the Microsoft Office Suite of products was "unknowable" in its full extent. Now that being said, even though I _personally_ prefer a text editor over something like Word, the tools are undoubtly useful and powerful for many casual users. Of course, nothing is worse than having to edit someone's poorly formatted, inconsistent .docx file...

</comment><comment><USER12> 'Two-pizza teams'. If you can't feet the whole team with 2 pizzas, it's too big.

</comment><comment><USER13> An interesting anecdote, but from the headline, I expected a completely different story:

That Steve had "capped" them in the sense of "busted some caps into their [behinds]."

</comment><comment><USER14> Why 100? Why not 20?</comment>


Psychology of Human Misjudgment - <AUTHOR> https://neilkakkar.com/Psychology-of-Human-Misjudgment.html <comment><USER2> Charlie's speech has been covered many times on HN. It's worth reading the past comments.

[https://hn.algolia.com/?query=misjudgement&sort=byPopularity...](https://hn.algolia.com/?query=misjudgement&sort=byPopularity&prefix&page=0&dateRange=all&type=story)

I've listened to the speech on YouTube a couple of times.

<comment><AUTHOR> Thanks, this is a good idea!

The speech on Youtube is a shorter version of this text. He revisited it and expanded on it in Poor Charlie's Almanac.

Here's the full extended text: [http://web.archive.org/web/20151004200748/http://law.indiana...](http://web.archive.org/web/20151004200748/http://law.indiana.edu/instruction/profession/doc/16_1.pdf)

I think this is very well structured and complete, given Charlie had a lot more time to figure this text out from the speech.

</comment></comment><comment><USER3> There seems to be maybe one missing and that is the disproportionate bias from reputation.

People can completely hate people they've never interacted with before just because of what they hear said about them.

Once I stayed at a hotel with this guy who had some mental illness, bigoted ideae, and who thought I was gay. There was a gay pride parade going on that day nearby. He completely lost it and was yelling and harassing me. Of course he ended up getting escored out, but what happened before that was possibly even worse.

When I went downstairs the staff wouldn't even talk to me because he had gone down there first and badmouthed me in advance. I was just lucky several people came down and acted as witnesses. I also had a cell phone recording, but it didn't even matter at the time because they wouldn't even give me the time of day.

If you think about it, it's crazy how easily people can be made to put you down.

</comment><comment><USER4> "One standard antidote to foolish optimism is trained, habitual use of the simple probability math of Fermat and Pascal."

If somebody read the book, I'd like to understand what he means. Why does he think people are generally so optimistic, and what is the math he's referring to?

<comment><USER5> By my reading of Munger, it's not necessarily that people in general are optimistic, but rather that foolish optimism is one of the flavors of human misjudgment. Ever the practical 'psychologist', I don't believe Munger focuses on diagnosing the causes of the various forms of human misjudgments (beyond their categorization into these forms) so much as he does on prescribing their potential resolutions, or 'antidotes' as he says here.

The math he refers to is simply high school level probability math.

<comment><USER6> Warren Buffett has said the same thing.

All you need is high school mathematics and a sense of realism.

</comment></comment></comment><comment><USER7> For those that are interested in going further, I've written on the biggest teaching/insights of Charlie Munger here: [https://norswap.com/munger/](https://norswap.com/munger/)

In particular, here is a review/summary of his full list of 25 psychological tendencies: [https://norswap.com/munger- psychology/](https://norswap.com/munger-psychology/)

</comment><comment><USER8> He's still alive at 95, and still active in Berkshire Hathaway.

</comment><comment><USER9> How when some one say they won't change if they get rich. Remind them of this: Contrast-Misreaction Tendency</comment>