A Letter: Apple Wants Its Secret iPhone Back  - <AUTHOR> http://gizmodo.com/5520479/a-letter-apple-wants-its-secret-iphone-back?skyline=true&s=i <comment><AUTHOR> NYTimes' take on it: [http://www.nytimes.com/2010/04/20/technology/companies/20app...](http://www.nytimes.com/2010/04/20/technology/companies/20apple.html?ref=technology)

And obligatory hotly watched thread: <http://news.ycombinator.com/item?id=1278409></comment>


Using Markov Chains to Generate Test Input - <AUTHOR> http://blog.electric-cloud.com/2009/09/15/using-markov-chains-to-generate-test-input/ <comment><USER2> This sounds like a bad idea to me if taken too seriously. Makefiles come from a grammar not a 5th order markov process. The sampled strings from the markov chain are not likely to be representative of the makefiles encountered in practice. I suspect that the makefile language is probably too complex for formal verification so I understand the problem, but I would prefer their other approach where they take large numbers of real world makefiles and compare the output seems a better choice. Just spend the effort and get a larger and more diverse set of test makefiles.

<comment><USER3> The problem with relying solely on "real world makefiles" is that there is not a lot of variation amongst those that are publicly accessible. The vast majority of open source projects that use make are autoconf based, which means the makefiles are all more-or-less the same, except that the list of source files and the project name change. Once you can successfully build one of these, you can probably build all of them.

There are a handful projects that don't follow this pattern, such as Mozilla, but once you've built those they cease to be useful for flushing out new bugs.

So, what do you do once you've built all the open source projects you can find, and you are still finding incompatibilities in your parser when you go to customers? Markov chain-based makefiles are a reasonable way to extend the breadth of our testing. Obviously it's not the only thing we do, but it is another valuable tool to add to the toolbox.

<comment><USER2> Okay I understand where you're coming from. I'm really curious though, what were some of the bugs that showed up? Were they easy to fix or did they require adding a lot of special cases and patchwork to the code?

<comment><USER3> There were about a dozen issues uncovered using this technique. I would say the majority of them were what I would call "real" bugs, as opposed to "sure, that doesn't work but nobody cares". One example is that gmake allows $$ in variable names, as in "FOO$$BAR=abc"; at the time our parser did not handle this correctly. I did not have to create special cases to fix these bugs, at least not any more so than any other parser feature.

</comment></comment></comment></comment><comment><USER4> With order=4 you can ditch the monkeys and still write Shakespeare!

</comment><comment><USER5> Bentley built his Markov chain using his Bell labs colleagues Pike & Kernighan's Markov algorithm from The Practice of Programming

[http://books.google.co.uk/books?id=to6M9_dbjosC&pg=PA62&...](http://books.google.co.uk/books?id=to6M9_dbjosC&pg=PA62&lpg=PA62&ots=3YL0Fgy14b&dq=markov+practice+of+programming)

Pike had used this technique earlier when coding up <http://en.wikipedia.org/wiki/Mark_V_Shaney> with Bruce Ellis

I'm sure they were not the first

<comment> brown9-2 I don't understand this. Are you under the impression that they are claiming to have invented Markov chains? Or using them?

<comment><USER5> no, just providing more info, the author linked to Bentley's text for further reference so I was filling in the back story.</comment></comment></comment>


George Lucas reveals his plan for Star Wars 7 through 9–and it was awful - <AUTHOR> https://arstechnica.com/gaming/2018/06/george-lucas-reveals-his-plan-for-star-wars-7-through-9-and-it-was-awful/ <comment><USER2> I can't even begin to process this.

Actually, I think it begins like this: "My eyes! The goggle do nothing!"</comment>


Open-sourcing PyTorch-BigGraph for faster embeddings of extremely large graphs - <AUTHOR> https://ai.facebook.com/blog/open-sourcing-pytorch-biggraph-for-faster-embeddings-of-extremely-large-graphs <comment><USER2> Don't see anything but my main problem is finding a good open source graph engine (NEO4J level maturity or close) that I can install locally and develop my application on and that allows me to spin up multiple graphs on the same machine easily.

<comment><USER3> binarymax in another comment is correct about what PBG does. Still, I am interested in combining deep learning and Neo4J (and possible RDF data stores in the future) and I am experimenting with some code for a book project.

<comment><USER4> look at word octavian([https://www.octavian.ai/](https://www.octavian.ai/)) is doing

<comment><USER3> Thanks! Interesting stuff.</comment></comment></comment></comment>


Show HN: Rainbird – Easily build expert systems - <AUTHOR> http://www.rainbird.ai

<comment><USER2> This looks really interesting. If I build an app with this do I have to use your REST web api, or can I download the results of my expert system creation somehow and integrate it into my app, making it entirely off line?

<comment><AUTHOR> I'm one of the co-founders in this project. Thanks for taking a look at Rainbird.

Currently to integrate you'll either need to use our REST api or a Javascript agent - essentially a little themeable widget you can embed in your site. This means that we host your knowledge base and you need do to be on-line to access what you've built.

We do have plans to provide a version of our engine that could be used off line or self hosted. Although we don't expect this to be available in the near future.

</comment></comment><comment><USER3> Are you releasing any parts, pieces, components, libraries, etc., as open source?

<comment><USER4> We're big fans of open source and have already released one of the components on GitHub ([https://github.com/rainbirdai](https://github.com/rainbirdai)). We have plans to release more things over the coming weeks and months.</comment></comment>


Ask HN: Ever Talked to Google Support? - <AUTHOR> Tried logging into my youtube account today and its asking me for a phone number I don't have. I don't have two factor authentication on, im useing the same computer from the same location correct password answer all the questions.
After verifying I have access to the accounts email address I get this message
> Thanks for confirming that you can access the contact email address you provided. >
> Unfortunately Google couldn't verify that [account email] belongs to you.
WTF? The only help their support page offers is "Still can't get in? Consider creating a replacement Google Account." WTF?
I have spent hours searching for a support phone number, email, ticket system some sort of support and have been met with nothing more than LOL JUST SINGUP AGAIN! <comment><USER2> Google doesn't have a human support team.

<comment><USER3> Depends on which part of Google you are talking too, I have definitely talked to humans there, and also video conferencing.

<comment><USER3> Paid accounts typically come with the ability to talk to humans.</comment></comment></comment>


Bad Investment Decisions: Death from Opinions - <AUTHOR> http://3.bp.blogspot.com/_nW2eMRU5WxQ/TP_1uKOFNvI/AAAAAAAAA-s/jt76VjOH1hs/s1600/Death%2BFrom%2BOpinions.jpg

<comment><AUTHOR> Source: [http://www.ritholtz.com/blog/2010/12/investing-losses- death-...](http://www.ritholtz.com/blog/2010/12/investing-losses-death-by- opinion/)

"If you are relying on someone else's opinion, then you are not relying on your own research, you are not basing your analysis on data, on history, or on logic.

You have no idea whether or not you are making decisions based on high probability outcomes, but the odds are against it."</comment>


Plagued by Lawsuits, McAfee Founder Hunts for Cures in Belize  - <AUTHOR> http://www.fastcompany.com/node/1615167/print

<comment><AUTHOR> From the article:

 _"... In hacker culture, screwing with people's heads to get what you want is called 'social engineering.' ..."_

From the teaser:

 _"... Only later would I realize just how truly Kurtz-like the mission had already become. On that day, what had started out as a sympathetic profile for Fast Company would slowly evolve into something more like a take-down, as I realized that McAfee's position in Belize was much more compromised than I had imagined. Finally I understood why he had kept asking--playfully, I had thought--whether my story was going to be an expose. ..."_ ~ [http://www.fastcompany.com/article/following-john-mcafee- int...](http://www.fastcompany.com/article/following-john-mcafee-into-the- heart-of-darkness?nav=inform-rl)

</comment><comment><USER2> This 'print' link currently seems to be missing much of the text in the 'regular' multi-page version (also linked at top): <http://www.fastcompany.com/magazine/145/fantasy-island.html>

By the way, in that page there's also a first comment signed 'John McAfee'.

<comment><AUTHOR> _"... This 'print' link currently seems to be missing much of the text in the 'regular' multi-page version ..."_

Thanks for pointing this out. I just go for the printed pages to reduce the adverts & images.</comment></comment>


Technical Book on Deep Learning - <AUTHOR> https://github.com/tomepel/Technical_Book_DL <comment><USER2> I love living in 2017 when stuff like this is just created out of the blue making my life just a little bit easier, and at almost no cost.

<comment><USER3> The cost is the impermanence of knowledge capital

<comment><USER4> Yeah, everyone's machine learning Ph.D.s are useless now because you spent an afternoon reading a 100 page PDF.

<comment><USER5> You would be surprised. Deep learning usurped a ton of knowledge about SVMs and such, and then TensorFlow/Keras made it easy to write and deploy good models with little knowledge.

Clearly its more complex than that, but this is true for a good number of use cases.

</comment></comment></comment></comment><comment><USER6> Might help if you made the actual PDF more prominent. It took me a few minutes just to figure out where, you know, the book actually was. Change the README.md or move the child tex/pdf/etc. into into sub-dirs or something.

<comment><USER7> I still can't find the actual book. Too bad.

<comment><USER8> The name of the file is White_book.pdf. I found it by downloading the repo, and sorting by file size.

</comment></comment></comment><comment><USER9> It's cool to see that much dedication. It's useful when people take the time to summarize knowledge in a book to serve as reference.

But ... I have the feeling that the author, who is relatively new to the field (by his own admission), expanded a lot of formulas and made certain parts of the theory more complicated than it should be.

Look around page 60. There are formulas with 6 summation signs in front of them, with all kinds of little indices floating around. How about page 37 ?

In a way, the whole point about the chain rule (and software libraries that implement it) is that you can stay in "math world" to do the reasoning, and not think about the job of managing the computation.

Same idea with expression as much as possible in terms linear algebra primitives. Matrix multiplication is easier to understand when it's not broken apart into sums whose indices you have to track.

<comment><USER10> See author's note excerpted below; that was an explicit goal of the project.

> This work has no benefit nor added value to the deep learning topic on its > own. It is just the reformulation of ideas of brighter researchers to fit a > peculiar mindset: the one of preferring formulas with ten indices but where > one knows precisely what one is manipulating rather than (in my opinion > sometimes opaque) matrix formulations where the dimension of the objects are > rarely if ever specified.

\-- I think that having those things written out explicitly is of great help to those not fully comfortable with formal manipulations. It is particularly useful when implementing those operations in low-level code. I say this even though I personally find the Einstein notation [1] most convenient.

[1]: [https://en.wikipedia.org/wiki/Einstein_notation](https://en.wikipedia.org/wiki/Einstein_notation)

<comment><USER9> I had not caught that note from the author. Thanks for pointing it out.

</comment></comment></comment><comment><USER11> How should one utilize the knowledge in the book? When do derivations play a role in deep learning? I am thinking it helps make decisions on what layers will help or not, or explain why this architecture improves some baseline. I would love to hear anyone's thought on the matter!

</comment><comment><USER12> arxiv link [https://arxiv.org/abs/1709.01412](https://arxiv.org/abs/1709.01412)

</comment><comment><USER13> Link to actual book: [https://github.com/tomepel/Technical_Book_DL/raw/master/Whit...](https://github.com/tomepel/Technical_Book_DL/raw/master/White_book.pdf)

</comment><comment><USER14> Warning: font is Palatino

<comment><USER15> Ok I know about Comic Sans and Papyrus but what's the deal with Palatino?

<comment><USER14> It's math characters are nearly illegible. The font itself is OK, but the math it causes is rarely used for a reason.

<comment><USER16> I am the author of the document. My aesthetics sense is pretty limited as you have observed. I like the mathpazo font, but if you don't share my weird tastes, you can just download the repo, comment the \usepackage[sc]{mathpazo} line in formatAndDefs.tex and you're good to go.</comment></comment></comment></comment>


Concurrency is the New Memory Management - <AUTHOR> http://arschles.github.io/2014/06/25/concurrency-mem-mgmt.html <comment><USER2> Probably not a popular opinion but: I'm not really a fan of all the user-space async stuff that's become popular (IE: the nodejs/tornado style of single threaded apps with non-blocking IO).

Remember Windows 3.1 or old Mac OS with it's cooperative multitasking where you had to explicitly yield or risk freezing up the entire computer? It's basically the same thing reinvented with a nicer brand. I know I'm dating myself here, but it's really the same model. We came up with preemptive multitasking for a reason: because it's more robust and efficient.

Threads are dangerous, but basically you can avoid the danger for the most part if you avoid sharing objects across threads, and if you do that then with blocking IO your code flows linearly and you don't have to deal with callback hell.

<comment><USER3> > It's basically the same thing reinvented with a nicer brand.

Not at all. First, don't confuse preemptive scheduling with time-slice scheduling. All "true" user mode threads are preemptive (Erlang, Go, Quasar). Not all of them employ time-sliced preemption. In fact, when we implemented Quasar on the JVM we had time sharing but then took it out because it didn't gain us anything (other than increased implementation complexity). The reason is that fibers in interactive applications follow a certain pattern that always entails frequent blocking. You are right, though, that some types of computations do not fit well with the user-mode threading model -- long, CPU intensive computations. Those are best left for kernel threads that do time sharing well. Languages that don't give you access to kernel threads might implement time sharing for their lightweight threads in user mode (e.g. Erlang).

<comment><USER4> The parent was comparing the event model (e.g. callbacks everywhere) with a thread/process model; not comparing user-mode and kernel-mode threads. So I didn't follow your point.

Also, erlang doesn't use time slices, it counts "reductions" (essentially function calls, though I don't think it's always exactly one function call). It also penalizes processes more if they send to a mailbox that is already very large.

Erlang is considered truly pre-emptive, because (assuming you aren't writing your own functions in C or something) a function can't loop or use any operators or really do anything without potentially being pre-empted.

Go is generally considered partially pre-emptive, because it only pre-empts on a function call or during a memory allocation. You can write a simple loop that doesn't terminate, and it will never get pre-empted.

<comment><USER3> > Erlang is considered truly pre-emptive... Go is generally considered > partially pre-emptive...

Well, in Quasar we started taking the "fully preemptive" route, but we saw that threads fall into two categories: those that block very often, and those that don't. Because the JVM, unlike Erlang and Go, gives you access to kernel threads, too, Quasar will simply warn you if you're using a fiber for a CPU- intensive operation that doesn't block often. Using reductions didn't work out so well because a "forcefully preempted" fiber still wants more CPU, which normally means it's doing something wrong.

<comment><USER5> Go actually does give you access to OS threads in the runtime package in the sense that you can easily reserve a thread for the current goroutine via [http://golang.org/pkg/runtime/#LockOSThread](http://golang.org/pkg/runtime/#LockOSThread) and similarly can give it back up to the scheduler with runtime.UnlockOSThread()

</comment></comment></comment></comment></comment><comment><USER6> There is an interesting - but very readable! - academic paper that is kinda related: "The Transactional Memory / Garbage Collection Analogy": [https://homes.cs.washington.edu/~djg/papers/analogy_oopsla07...](https://homes.cs.washington.edu/~djg/papers/analogy_oopsla07.pdf)

I say "kinda" related because even TM is a lower-level thing than the author of this post is talking about. The treatment of the subject, however, is much more in-depth. Lambda the Ultimate discussion: [http://lambda-the- ultimate.org/node/2990](http://lambda-the-ultimate.org/node/2990)

<comment><USER7> Wow, I wasn't aware of this paper although I went to that OOPSLA. Thanks for the link!

</comment></comment><comment><USER7> Yep, we also need our version of garbage collection for concurrency; e.g., [http://research.microsoft.com/apps/pubs/default.aspx?id=2112...](http://research.microsoft.com/apps/pubs/default.aspx?id=211297)

<comment><USER8> Wow, this looks interesting. No time to grok the full paper, but do you have any examples of a simple app written with this technique?

<comment><USER7> There are videos linked in Section 4 of the paper.

It is still in the small program stage although Glitch as a C# framework is usable now (indeed, I've written an editor, UI, and so on, all very concurrent). As a framework, it is not really convenient without being a new language, but it could be interesting to do something like ReactJS using replay and rollback.

If you like Bret Victor-style demos, I'm working on a web essay that should be done sometime this summer.

<comment><USER9> Need.

</comment></comment></comment></comment><comment><USER10> You know, the embedded systems community has a heck of a lot of tools and formal logics for designing this stuff in the abstract. Lots of little DSLs and auto-checkers for thinking about processes and messages, that sort of thing. I'm not so sure about model -> code generation, I think that is mostly rolled by-hand.

For concurrency in the large, I wonder if there will be greater adoption of these sorts of engineering techniques.

<comment><USER7> I assume you are referring to the concurrency DSLs like Esterel? These are quite low level with a different emphasis; I'm not sure they would scale to larger non-embedded systems, and they like many of the niceties that programming for larger systems can afford.

</comment></comment><comment><USER4> "Languages and frameworks like Go, Akka and Erlang have come up now because they help solve the hard networking and concurrency problems that we need to build clusters."

What does Go offer for a cluster environment? As far as I can tell, it's still targeted at single machines (though perhaps with many cores).

</comment><comment><USER11> If you're interested in concurrency, you owe it to yourself to spend some time working through this guide on ZeroMQ[1]. It could change the way you think about software architecture forever, because it makes it so straightforward to change your app into a multi-node, multi-language fabric of machines. It's also a fun way to get your feet wet with a new language, because every language under the sun is supported, and you can easily integrate the code in your new language with systems written in your old language.

Which is another reason it might change how you think about architecture. ZeroMQ makes it practical to bring in other new languages and libraries into your ecosystem.

[1] [http://zguide.zeromq.org/page:all](http://zguide.zeromq.org/page:all)

</comment><comment><USER12> I am not a hardware expert, but from what I understand, hardware architects didn't get around to supporting VMs and garbage collection as well as they might have. Systems continued to be optimized best for workloads that looked like scientific computing in Fortran from the 80's or desktop applications written in C++ from the 90's. Hardware architectures to support video games and media, on the other hand, seem to have taken huge strides over the same timeframe. Now, it seems like they are behind in terms of supporting distributed systems on multi-core machines. The kind of contortions required to detect and avoid problems like False Sharing indicate that today's hardware could be a good ways suboptimal for building these systems.

<comment><USER13> > Hardware architectures to support video games and media, on the other hand

I'll have to disagree about the video games bit. Today's consoles are a completely regular AMD x64 CPU together with a completely regular AMD GPU, one running a version of Windows, plus one that uses PowerPC.

Yesterday's were two with multi-core PowerPC and an AMD GPU, one running a version of Windows, plus one with that really weird PowerPC together with 7 tiny PowerPClets and an nVidia GPU that was famously awful to program for.

Going back even further, we have an Intel x86 together with an nVidia GPU, running a version of Windows, a PowerPC-based CPU and an ATI-developed GPU (minor note: the company, ArtX, that was doing the GPU got bought by ATI and their designs did end up in ATI GPUs, so I'm listing it as such), a Hitachi SuperH CPU together with a PowerVR GPU, running a version of Windows, and this weird design from SONY.

And going back a further iteration things get even weirder and so on and so forth.

I'll agree that the further we go, the more these systems are made from specialised components (hello Saturn) and don't resemble what you'd get from e.g. a Dell. But that is mostly because you needed to use specialised components to get really cutting-edge performance for those tasks. Today you can more or less stick in 4 x64 cores and forget about it.

<comment><USER12> _Today you can more or less stick in 4 x64 cores and forget about it._

That only works for embarrassingly parallel tasks. Start requiring coordination, and today's hardware makes efficient parallelism plus concurrency hard.

</comment></comment></comment><comment><USER14> The first question to ask may well be "why does my problem need computation on a commodity cluster?". A massive multi-player spaceship battle may be best served by a HPC environment, using C++ and MPI. There's probably only a limited class of distributed problems that map nicely to a commodity cluster. Several worthy commentators have pointed out that even if the systems programming environment offered the same verbs for both, commodity network latency makes "distributed concurrency" very different from "in-box concurrency". To loosely borrow a term from physics, time delays can break the scaling symmetry of a renormalization group.

A systems architect with a sound background in mathematics may be able to reason out the cluster performance of a social algorithm operating on a Erdos- Renyi random graph. Plodders such as myself will try to prototype. I'll insist that a prototype has business value if only because otherwise I have no way of appearing to be busy.

For prototyping a distributed system on a commodity cluster, my personal preference would be Erlang. As rvirding commented with great insight in another post, Erlang has an OS feel to it. From my limited perspective, Erlang spares me the trouble of knowing Unix and networking (for example: I don't need to know what a TCP port is). Erlang gives me a minimal & consistent set of verbs, and that's all I need for prototyping.

</comment><comment><USER15> I feel like the author of this piece doesn't really have personal knowledge about what he is talking about.

I use Go and I use Erlang. I've never used Akka.

Go is not in the same class as Erlang when it comes to Cloud Computing. In Erlang the state and behavior of your entire datacenter can be contained in Erlang itself. Erlang will take care of bringing up new processes when your jobs break. Erlang will handle messaging between processes executing on different machines.

Go doesn't do any of that out of the box. There are some interesting projects like Go Circuit, which sort of kinda want to emulate Erlang's OTP and bring your datacenter behavior into Go, but Go Circuit isn't being run in production by anyone I have heard of. Maybe its ready to go, but it looks more like a research project to me.

As such, Go has nothing to do with managing a cluster other than that it gives you some nice single node concurrency features. You will need to build or import everything else you need.

I can't think of anything else out there which is quite like Erlang/OTP. Maybe Julia has some tools that are similar but I don't know too much about it.

Edit: For those Go programmers that are interested in what I'm talking about, check out this concise explanation from the Erlang docs: [http://www.erlang.org/doc/getting_started/conc_prog.html](http://www.erlang.org/doc/getting_started/conc_prog.html)

Erlang isn't as user friendly as Go, but it has a lot of stuff that can save you serious headaches if you think you will need to scale. Premature optimization is a waste of time ... blah blah etc., so maybe you don't need it for your project. Also Go on App Engine allegedly scales pretty well with very little programmer effort.

</comment><comment><USER16> I really can not agree.

\- non-blocking I/O \- user-space concurrency \- easy messaging \- advanced scheduling

From those, only easy messaging actually helps creating clusters, and it can be implemented in a library without any problem.

The other may help the language being good, or help one get more throughput from a node, but offer no help in maintaining the consistency of a cluster.

</comment><comment><USER17> "Languages and frameworks like Go, Akka and Erlang have come up now ... keep lots of the syntax and semantics from the "languages of yesterday"."

Erlang is really, really old-school actually - 1986. The language of the day before yesterday.

<comment><USER17> I would also look outside of the JVM box and consider C#. It stays familiar, while having proper parallelism and concurrency constructs: async+await, TPL, TPL DataFlow, Parallel.

Alternatively there is also F# with it's Erlang-inspired [http://en.wikibooks.org/wiki/F_Sharp_Programming/MailboxProc...](http://en.wikibooks.org/wiki/F_Sharp_Programming/MailboxProcessor)

</comment></comment><comment><USER18> Seems pretty accurate. So this is probably a great time to mention my favorite new(ish) platform for handling concurrency in a polyglot way: [http://vertx.io/](http://vertx.io/)

<comment><USER19> isn't this same as tibco's event-bus offering ?

</comment></comment><comment><USER20> STM is not appropriated for distributed systems but why hasn't it took off more in the concurrency world?

<comment><USER21> Coordination with the real world is and always has been the pain point with STM. It's fine if your STM universe lives entirely in a subset of your data on a single machine [1], or within a single database [2], or with a single decision-making unit [3].

Most languages have extremely poor support for separating interactions with the real world from interactions that occur entirely within one serializable context (a thread working with thread-local memory, for example). Can you safely replay arbitrary C, C++, etc.? No, because side-effecting code could run at any time and occur in any context. So that is one problem that has to be solved first.

Suppose you've solved that problem. Well, now for a distributed system, you need to make STM talk to STM. Make one module talk to another over a network, or a filesystem, or another database, or a client browser. Do you have STM working in the JavaScript running on client's machines? And even if you managed that feat, do you have end-to-end STM from your datastore to your client's actions?

Distributed STM that wasn't painful to use, either to write or in terms of performance, would be a sort of holy-grail of distributed computing. I don't think any language or toolchain is there yet.

[1] Haskell, Clojure, et al STM engines.

[2] SQL-compliant relational databases such as DB2, Oracle, SQL Server, as well as distributed databases like HyperDex that support true transactions.

[3] Paxos, Raft, and other decision-making algorithms only ever externally appear to be consistent, but are internally complex and might have an internal tug-of-war.

<comment><USER7> > Can you safely replay arbitrary C, C++, etc.? No, because side-effecting > code could run at any time and occur in any context. So that is one problem > that has to be solved first.

I spend my time solving this problem. You can do it with a programming model especially designed for it. Functional programming is not required, though can be convenient.

> Well, now for a distributed system, you need to make STM talk to STM. Make > one module talk to another over a network, or a filesystem, or another > database, or a client browser. Do you have STM working in the JavaScript > running on client's machines? And even if you managed that feat, do you have > end-to-end STM from your datastore to your client's actions?

STM is the wrong way of thinking about this problem, mainly because replay is not an intrinsic part of the paradigm (instead, users manage that themselves). Rather, go back further to Jefferson's virtual time/Time Warp system [1], which was designed specifically in the context of distributed systems.

[1] [http://dl.acm.org/citation.cfm?id=3988](http://dl.acm.org/citation.cfm?id=3988)

There are also many related systems like Concurrent Revisions, LVars, Bloom, and so on...</comment></comment></comment>


Phil Mickelson to pay SEC for profit he made on inside stock tip - <AUTHOR> http://money.cnn.com/2016/05/19/news/companies/phil-mickelson-sec-insider-trading/index.html <comment><AUTHOR> Call me a cynic, but I have to believe this goes on all the time. Friends talk. Employees of public companies talk at bars about what they are working on. Being successful in the stock market is all about news/information and how fast you can get it.

In terms of what Phil did, why isn't this illegal? He knew the information he got was inside... He acted on the information... He made money, yet he get's no real punishment... "I promise I won't do that again."</comment>


Show HN: Pvsh - A reverse Kickstarter (make feature requests for any product) - <AUTHOR> http://www.pvshapp.com/

<comment><USER2> The idea is not exactly new or popular (without proper moderation it inevitably turns into spammy, ads-filled swamp), and a request to log in to see more then 14 suggestions doesn't look all that inviting.

Also: Great, now we are moving from '-er without -e-' to '-v- instead of -u-'! I really hope it won't catch up. I mean, Romans were cool guys, but my brain constantly trips over unexpected V; it feels like noise, and not like a not- so-svbtle attempt at bringing in some Latin style. Sorry for the grvmbling.

<comment><AUTHOR> @vitalique thanks for the thoughts on the name! It's definitely not set in stone though. As for the idea-- originality isn't really the objective, it's ease of use. If you can create one destination for all products, and make it as easy as a Tweet to do so, then users may just do so when they have those "Aha! I wish this product had..." moments. The challenge is, as you said, to separate the noise from the creativity. My hope would be that by incentivizing users with real stakes (either financial or brand-building opportunities) the power-user base might help with moderation and promotion. I don't know though, I'm interested to hear what others think/have tried!

<comment><USER3> There's no need to do the @-sign thing, we can tell who you're talking to.

</comment></comment></comment><comment><USER4> This could be really powerful if users could put up actual $$$ for feature requests so the site actually performs more like kickstarter. This would also help the quality of requests.

Once the company completes the feature satisfactorily they get the cash. Or perhaps even a situation where they can grab the cash to start the feature- but this is obviously higher risk- like kickstarter- but the risk could be managed and even help the feature development process.

PS- With this in mind, importing feature requests from other sites could help growth. IE: People see a GREAT feature THEY want and are willing to put in $5... as compared to coming to the site to submit their ideas. Another idea: Use ad revenue from site to 'seed' a user's initial ability to donate $$$. Perhaps require CC input in order to contribute this 'free money', thereby making it easier to give real money. I know the free money would have to be incredibly small, but sometimes little acts of giving something for free can really change a system. Just some thoughts...

<comment><USER5> > if users could put up actual $$$ for feature requests so the site actually > performs more like kickstarter. This would also help the quality of > requests.

Agreed, but I'd expect few people would put in money up front to fund something that no one's promising to make. It's hard to give it a hard date like Kickstarter since it's not the people _doing_ who create the posts.

The best way I can think of going about it is having people say how much they're willing to pay (but no money changes hands), allowing someone to say they're going to implement and idea, and then it turns into a kickstarter project and emails all of the people who said they'd pay so they can enter their credit card details.

That way there's no risk for the backers (until they know someone wants to fulfill their dreams) or creator's (functions just like kickstarter for them -- except someone is giving them an initial list of interested parties). The websites whole purpose becomes facilitating new ideas.

To cut down on spam, you could charge people a dollar per vote (or microtransactions) and then promise creators a cut of that if they successfully "kickstart" a project (or convert a sufficient number of voting backers).

* To be clear: I'm not talking about using kickstarter -- then you'd lose all your revenue.

Edit: I expected pvsh to be about "I want this thing" instead of feature requests for specific products. It seems weird to me for Corporations to request bounties on features, but I still like the idea as a way to connect user's wants with entrepreneurs.

</comment></comment><comment><USER6> how exactly is this "A reverse kickstarter" No money changes hands in either direction, and nothing actually happens if enough people request something.

It's like saying "Come! Shout into this hole." We've placed a microphone in front of it to record your shout for all time... "Yes but... I'm just shouting into a hole right?"

"No no. it's a special hole. It's got a "reverse kickstarter" microphone!" ...

"You'll pay me when enough people shout into it about the same thing?"

"Er... no"

"So.... I'll have to build something if enough people shout?"

"No no."

"So, what you're really saying is. You've set up a microphone in front of a hole and have added the word 'Kickstarter' above it in in hopes that, despite the fact that you're not actually charging for a product you will make money? Or is it that you think that the current abundance of holes to shout in simply wasn't abundant enough and that by adding a brand new hole everything would be different?"

"Er... YES!"

<comment><USER7> While this was somewhat humorous, I don't think not charging on day one matters. In fact, Salesforce[1] has been offering a similar product for 5 years. You may have seen it in action on Dell's Ideastorm site, or Starbucks (not sure if that one still exists).

[1]<http://www.salesforce.com/salesforceideas/>

</comment></comment><comment><USER8> I like how startups ran out of regular words, so now they use V instead of U and we have a whole new set of words to go through.

<comment><USER9> I'll be the first to admit I did not realize it was a substituted letter and simply accepted it must a randomly created word.

<comment><USER10> Same, at first I thought it was an awfully hard to work out acronym.

</comment></comment></comment><comment><USER11> Idea: let companies/brands create accounts and commit to implementing features. Give them report cards based on the number of features they commit to and actually implement. Maybe include pages for individual products, and grade them individually. This could be a really useful tool to find out which product lines are actually getting love from makers.

<comment><AUTHOR> @smurph, definitely something I'd love to implement if brands really find the feedback useful. Here's a question: Do you think this tool would be most useful to brands--as a consumer research tool? Or to 3rd-party producers who are interested in seeing what market exists for new products/feature requests?

<comment><USER11> I think your first heavy users will need to be people who are putting brand new products on the market and have no idea how they are going to get feedback. People who have been making iterations for years will have a bunch of work in the past that they won't get 'credit' for, so they might not be fans of starting with a blank slate. Maybe if you had a way to import or track feature requests from other feedback sites, that would get you more users.

It's worth noting that you are competing with other bug tracking / feedback web sites, and there are some established players there.

</comment></comment></comment><comment><USER12> What a cute little startup name. How the hell do I pronounce it?

<comment><AUTHOR> @bdcravens You don't spell it! You use it! ;) I'd love to hear your thoughts on the service though.

<comment><AUTHOR> *pronounce

</comment></comment></comment><comment><USER13> Is this aimed at consumers or manufacturers/creators?

As a consumer, this doesn't strike me as something I would want to browse, which probably means a lot of people only post there if they want to _vent_ about something.

It could be an interesting alternative to a GitHub Issues/Pull Request system if it's easy for creators to subscribe to requests for their brand or products, though.

But I still am not sure what the incentive for consumers to post this would be. Maybe some sort of reward structure should be in place for the first few months to give it traction. Just gamified badges and stuff to kick things off.

</comment><comment><USER14> This seems to have a huge chicken-or-the-egg problem: the site is only valuable to consumers if they know their requests could have some influence, but companies will only listen to requests from Pvsh users if there's a critical mass (say, thousands or millions of votes for one feature).

Is there some way to re-jig the concept to get around this? Perhaps by focusing more directly on one particular product category and expanding outwards? Or by working with particular companies that are actively soliciting feature requests (in which case I'd know I'd be listened to)?

</comment><comment><USER15> My product management team is looking for a product that sort of has some of the functionality you have in this app. What we would like is a way to keep track of feature requests and then have a way to keep track of votes for/against the feature request so we can use it to inform prioritization. So not an exact fit, but that was the first use case that I thought of when I saw your app. We won't be using it but this looks like good stuff. I wonder what % of customers will go to the length of making suggestions.

</comment><comment><USER16> Sounds similar to uservoice. The utility of it really depends on the quality of the users. For example, if they're entering bugs and voting on each others' bugs, it can be useful.

But if they're suggesting things for which there are difficult tradeoffs without considering the implications, then it's not very useful. For example, requesting that stripe make their credit card processing free is not very useful feedback, but you can get a lot of these 'I want a pony' kind of requests.

</comment><comment><USER17> This could become a rich field of great new startup ideas ([http://www.pvshapp.com/#feature_requests/50b6b9796b411f9c000...](http://www.pvshapp.com/#feature_requests/50b6b9796b411f9c00000014)), or it could become a vast wasteland of stupidity ([http://www.pvshapp.com/#feature_requests/50bcf7d5e4ca239c000...](http://www.pvshapp.com/#feature_requests/50bcf7d5e4ca239c00000011)).

</comment><comment><USER18> For everyone criticizing the app name, you are aware that domain names are a finite resource that cost very little to sit on forever, right? Often naming your company comes down to what memorable domain name you can snag, even if you have to commit a spelling/grammar crime to get it.

<comment><USER19> Indeed, tumblr is a good example

<comment><USER20> The _e_ doesn't really contribute in most accents, anyway.

</comment></comment></comment><comment><USER21> I really hope they come through with the Chuck Norris API

[http://www.pvshapp.com/#feature_requests/50bcf99ee4ca239c000...](http://www.pvshapp.com/#feature_requests/50bcf99ee4ca239c00000015)

</comment><comment><USER22> ahhh ffs, I drafted out my own vision of this concept just yesterday. Nice work none the less :)

<comment><AUTHOR> That's cool, post it! I'd love to hear your angle on it

<comment><USER22> oh, really? Okay...

There are many projects that the wider web community want to fund but are not able to.

Example: There's a demand for the adobe creative suites on Linux, but this wont be happening any time soon.

Adobe wont create a kickstarter campaign as they just wont.

Instead, people should be able to make their deposits to a third party that will release the payments when conditions are met.

Example: groups of people submit their demands and each person submits their micro payment. The conditions on the payment being released to the company of concern must be measurable... otherwise the intended reciepient will recieve their cash payments prematurely.

This would mean that you're acting as an Escrow... something I've only just learnt about.

</comment></comment></comment><comment><USER23> McAfee Enterprise proxy server white-list thingy blocks this site as being a "medium risk" - So my comopany proxy server blocks it :(

<comment><USER24> At first I thought you were talking about John McAfee's exploits. McAfee is really screwing up the brand he created. :)</comment></comment>


GitHub Language Trends - <AUTHOR> http://redmonk.com/dberkholz/2014/05/02/github-language-trends-and-the-fragmenting-landscape <comment><USER3> FWIW many projects written in web languages like PHP seem to be treated as javascript by Github because they also have javascript code (which happens to be more significant / larger than the underlying code). It's unfortunate that there is no way to specify the primary language of a project.

The Github language system is also somewhat unpredictable: [https://github.com/SheetJS/test_files](https://github.com/SheetJS/test_files) seems to alternate between AppleScript and Shell with each commit (even if no .scpt or .sh file was changed or added)

<comment><USER4> If a project mainly consists of JavaScript it should be a JavaScript project, no?

<comment><USER5> Well, to take an example: I work on the Mozilla Developer Network (MDN). MDN is mostly a wiki, and the underlying codebase for that is all in Python. There's also the Demo Studio, which lets people upload web technology demos, and that's Python too.

But the wiki also has an embedded script-ish language (letting people create macros/templates for specific purposes and re-use them across multiple articles). That's JavaScript-based, and so is implemented in node.js. And there's a WYSIWYG editor for the wiki pages, which is a couple of MDN-specific plugins we've developed, plus off-the-shelf components (the editor + jQuery, which we also use for a few other things on-site).

So MDN is a Python project with a couple JS utilities attached. And if you set up a local copy, you can pretty easily see that Python is by far the heaviest- used language. But due to the way GitHub counts and reports statistics, it shows up as a JavaScript project.

To pick on an easy example: the copy of jQuery we have in our repository weighs in at just over 9,000 lines. So just having jQuery means you need to write over 10k lines of code in order to get the "real" language of your project recognized.

<comment><USER6> One could argue that jQuery, and other libraries shouldn't be included in the repository proper, instead it could be a submodule or included in a package manager manifest, such as bower.

<comment><USER7> From the bower docs:

"N.B. If you aren't authoring a package that is intended to be consumed by others (e.g., you're building a web app), you should always check installed packages into source control."

<comment><USER8> The Node core dev actually went back and forth on this, and came to the conclusion to not commit dependencies to the repo, and introduced "shrinkwrap" [1].

It felt wrong committing dependencies to the repo, which I agree with. I hate my diffs being drowned in external changes, I'd rather see that someone simply upgraded a dependency. Plus it does skew the project, both for what the primary language is, as well as how much a committer is contributing.

I would love to see this eventually in Bower! They have an issue for it [2].

[1] "Why not just check node_modules into git?" [http://blog.nodejs.org/2012/02/27/managing-node-js- dependenc...](http://blog.nodejs.org/2012/02/27/managing-node-js-dependencies- with-shrinkwrap/) [2] [https://github.com/bower/bower/issues/505](https://github.com/bower/bower/issues/505)

<comment><USER6> I agree. Hovertruck quoted a piece from the Bower documentation, which I can see the reasoning behind, if you're working on a web application then committing the library removes the possibility that the dependencies cannot be resolved because a library has been removed from the package manager. There are benefits to both options, but my personal preference is to keep third party libraries out of the VCS.

<comment><USER8> :D Just to take this a little further, at my old employment, our Ops wanted the dependencies to be committed to the repo. To make rolling back faster, since `npm install` can take awhile. Also, there was a time NPM register went down wrecking havoc.

But that's shouldn't put weight in either direction. Instead, there's a much deeper issue here: Ops should be building packages for deployment. Whatever that means, RPMs, VMs, Docker images, ... Just separate the concerns. Seal it up, and store it forever and ever, perfectly.

Because even if dependencies are there, safe and happy, most applications have a build process. Which takes time, and could be different on the machine it's building on. Only you can prevent production fires.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> > Violating all expectations and trends, new Java users on GitHub even grew as > a percentage of overall new users, while everything else went downhill. This > further supports the assertion that GitHub is reaching the enterprise.

This is more likely to be due to the rise of Android since 2009.

<comment><USER10> I would also expect a few CS students to push their homework to github nowadays, and most homework is Java.

</comment></comment><comment><USER11> Javascript is really hard to measure I believe, the numbers are always skewed because of 3 things:

1\. A lot of repositories include 3rd party libraries.

2\. A lot of software includes a web interface, even if the backend language is something else, but the LOC for Javascript can be equal or even higher because of 1.

3\. JSON is counted as Javascript sometimes

</comment><comment><USER12> It would be much more useful to show the absolute numbers. Or provide the raw data for others to do more meaningful graphs.

<comment><USER13> It depends on what story you are trying to tell... Absolute numbers might not be all that meaningful when you are talking about relative popularity. Or it might be. Data visualization is hard because you typically have to trade information density for comprehensibility.

I assume the data came from [http://www.githubarchive.org/](http://www.githubarchive.org/)

</comment></comment><comment><USER14> I don't know this is a good indication of trends. As the article (somewhat shallowly) shows, there are stories behind of these graphs.

Ruby has probably just settled to a normal position post early adopter. Shows that Ruby is still strong.

Javascript is probably building the sorts of libraries that other languages already have. These guys have had a lot of work to do.

<comment><USER15> Yes, Ruby was very much "overrepresented" in the early days of github, so the decline in its growth relative to other languages is fairly normal sounding, rather than indicative of its actual decline.

Also, Javascript is something that is going to get checked in to lots of web projects one way or another. I wonder if they weed out duplicate copies of, say, jQuery.

<comment><USER16> > I wonder if they weed out duplicate copies of, say, jQuery.

Linguist tries to filter out things like that:

[https://github.com/github/linguist/blob/master/lib/linguist/...](https://github.com/github/linguist/blob/master/lib/linguist/vendor.yml)

<comment><USER17> "Tries" is the operative word here. There is a documented history of utter incompetence in Linguist.

<comment><USER18> Likewise for most of GitHub's other libraries. Sundown is some of the worst code I've ever seen.

</comment></comment></comment></comment></comment><comment><USER19> This looks like commercial ecosystem (Java, JavaScript) migrating to GitHub rather than hobbyist ecosystems (Ruby, Python, Perl) being on decline.

<comment><USER20> say what? Ruby isnt for hobbyists, neither is Python(dont know Perl).But you just wanted to hear yourself say that didnt you?

<comment><USER21> It isn't entirely untrue. Ruby/Python are more popular in the hobbyist space and less so in the enterprise. Java is the opposite.

It shouldn't be seen as a reflection of the platform.

<comment><USER22> You have set up a false dichotomy here between enterprise and hobbyist.

</comment></comment></comment></comment><comment><USER23> Github should really just enable the developers to specify the language of their repo by themselves. Bitbucket get this right in the first place. Auto detection for language sounds cool, while doesn't work for most of the web project.

</comment><comment><USER24> Just need to have a dropdown of the primary language like Bitbucket does. Probably have different results.

</comment><comment><USER25> GitHub is slowly starting to reflect the software world at large, although the true picture is Java and C leading by a huge, huge margin. I don't expect GitHub to ever fully reflect that, as most Java shops, and nearly all C shops, would never host their code on GitHub.

<comment><USER10> I think it's safe to say that most projects on github are libraries and snippets, not finished products. Not even Ruby shops push all of their actual work to github. But at least there is a culture of sharing libraries, which drives the Ruby % up, and I don't see this happening a lot with C.

</comment></comment><comment><USER26> The last 2 graphs look like they were drawn by someone who _hates_ colour blind people.

</comment><comment><USER27> Very interesting graphs, I was surprised that CSS has had a recent uptick but as somebody who has specialized in responsive layout in the past two years I guess that uptick represents my life too.

I can't get enough language statistics on Github! I run 'gitinspector' on my web server to compute language stats in individual git repositories, but one thing I haven't been able to figure out it how to chart the language stats for one git repository over time in a branch.

Does anybody know how you can chart language use over time in one repository?

<comment><USER28> I have projects (markdown repos) marked as CSS projects for which I haven't written more than 10 lines of CSS. Bootstrap makes it appear so, I guess.

</comment></comment><comment><USER29> To my mind, the big trend is toward polygot programming, which perhaps reveals what a transitional and perhaps revolutionary time this is in the world of computer programming. This paragraph struck me as the most important:

"Almost every language shows a long-term downhill trend... My initial guess is that users of languages below the top 12 are growing in share to counterbalance the decreases here. It's also possible that GitHub may leave some users unclassified, which would tend to lower everything else's proportion over time."

</comment><comment><USER30> >Language detection is based on lines of code

<comment><USER31> This is important to note. As a huge ruby fanboy, one of my favorite things about the language are the shortcuts and syntactic sugar that are provided to make things easier.

I saw the decline and got a bit worried, then came here and had those fears assuaged. I do wonder if the LOC difference has anything to do with people getting more familiar with the language and doing more things in less code.

</comment></comment><comment><USER32> It would be interesting to see which languages are rising. In those stats, everything except Javascript seems to be declining, and the total relative decline is much larger than JS growth, so _something_ must be growing - <USER2> what it is?

</comment><comment><USER33> One of their reasons for the growth of Javascript:

> the JavaScript development philosophy that encourages bundling of > dependencies in the same repo as the primary codebase

I wonder how much this is still an issue with the rise of npm, bower and other package managers.

<comment><USER34> node_modules directory is usually added to .gitignore. I don't think it is usually commited by accident as it results in a huge file list in diffs and git status command.

<comment><USER35> That's what he's saying. While the author's statement may not necessarily be incorrect, the trend these days is to manage your JS (both server and client side code) with package managers like NPM and Bower.

</comment></comment></comment><comment><USER36> 2010-2011 appears to be the "year of the great inflection point"

</comment><comment><USER37> What is the cause for the correlation between Java and JavaScript?

<comment><USER38> Probably random noise. Or else because it kind of tracks the arc of github going mainstream, and Java and Javascript are very mainstream.

</comment></comment><comment><USER39> Not sure if it's reasonable to make this call, but it seems the dynamically typed languages have significantly higher percentage of issues overall.

<comment><USER40> It could be that dynamic languages have a lower barrier of entry, which encourages many more people to fork the code, find bugs, and make pull requests. It's easy for a PHP guy to find and report bugs in a JavaScript project. It's not so easy for a JavaScript guy to find bugs in a C++ project.

</comment></comment><comment><USER41> I find the complete lack of Go surprising.

<comment><USER21> Go is a new language so not that surprising. It is also over represented here on HN. You don't see Go jobs in the wild for example.

<comment><USER41> I do not think Go as something that would go on itself as a job. Instead if you already have a site (like Drupal which is my primary skill) and you want to add a very performant REST interface then Go provides a pleasant way to write one.

<comment><USER20> I would really question the choice of drupal at first place,or any use of the PHP plateform.

<comment><USER41> There's still nothing, by far, that would match the versatility of how much can you do from the Drupal UI.

</comment></comment></comment></comment></comment><comment><USER42> Presumably the big Perl spike is the migration of CPAN modules over to Github en-masse.

</comment><comment><USER18> In my experience, GitHub's so-called "detection" gets it wrong far more often than right. It's worse than useless -- it's misleading.</comment>


Robots, jobs and the human fear of change - <AUTHOR> https://techcrunch.com/2016/12/03/robots-jobs-and-the-human-fear-of-change/ <comment><USER2> The author points out that technological advance often creates more jobs than it destroys, but neglects to address the fact that the jobs it creates are invariably unsuitable for the people who have been put out of work. To imply that society benefits on balance as a whole in the long run is equivalent to saying the rest of us will be better off after a disenfranchised segment of the population dies, which we will at least until further advances cause the cycle to repeat itself.

He makes a related claim that technology contributes to a trend toward more interesting and fulfilling work for many people while eliminating mostly the boring and repetitive jobs, which is also debatable. I met someone who worked in a betting shop for years at a decent rate of pay until an IT upgrade meant that no further cognitive skills were required of the staff. As a result, everyone was fired and replaced by minimum wage workers.

Far from having some irrational fear of change he seems to suggest, people on the other side of this issue seem to be the more realistic and better informed parties.</comment>


Show HN: NonDev/NonDesigner's First Infograph - Avg IRS Tax Audit Refund is 100k - <AUTHOR> http://autotax.me/

<comment><AUTHOR> Hey Guys, I never used Adobe Illustrator or Photoshop before so this is my first attempt at creating an infographic. I'm hoping that I did a decent job, so please give me any feedback if possible. Also, this is the first time I tried putting together a website myself entirely.

So I'm hoping to get any help feedback possible! Thanks!

Cam.</comment>


Windows 10 Technical Preview Source Tree - <AUTHOR> http://windows-internals.com/source/files.html <comment><USER2> I'll bet $3 these were maybe extracted from Microsoft Symbol Server. Note it's not a MSFT site, it's some training firm.

<comment><USER3> Looks like it's owned by a ReactOS developer with quite a bit of experience in digging into Windows low-level internals: [http://www.alex- ionescu.com/?page_id=2](http://www.alex-ionescu.com/?page_id=2)

<comment><USER4> Alex Ionescu works for Microsoft ^H^H^H^H^H edit: actually my memory might be wrong, seems he was only there for an internship. Here's his linked in. [https://www.linkedin.com/in/aionescu](https://www.linkedin.com/in/aionescu)

This is not a file dump, but a file directory listing where he reproduces something Mark Russinovich did a while ago.

See also his tweet here:

[https://twitter.com/aionescu/status/547322576947523586](https://twitter.com/aionescu/status/547322576947523586)

quote: I've built an entire mapping of the Windows 10 Source Tree, similar to what @markrussinovich did back in the days

<comment><USER5> I never worked or interned at Microsoft :)

</comment></comment></comment></comment><comment><USER6> Can someone explain what this is exactly to me? Is it just the source tree / directory listing? It doesn't appear I can click through and view the code of any of these files, or am I mistaken?

<comment><USER7> Yeah, it's just a list of files, no file data. It's also implemented in a CSS- only manner that lags horribly in Firefox. The filenames themselves look legitimate, though.

<comment><USER8> Possibly extracted from debug symbols? That would be my guess.

It takes a while to load even in Chrome.

<comment><USER7> The only files that show up in PDBs are source files for the resulting objects (e.g., .c); there are .exp and other files in that tree.

<comment><USER5> Actually, static and dynamic libs also show up, as do resource files. So I guessed that .obj is .c (not always accurate), .res is .rc, and dynamic .lib is .exp, and so on and so forth.

</comment></comment></comment></comment></comment><comment><USER9> As others have said this is probably just a test/erronous/etc, but it's pretty funny there's a "darwin/" directory in there.

I'm betting Windows 10 will be free (as in beer) - there's not much else MSFT can do to keep Windows competitive. But it's an interesting thought experiment to think they would add a darwin compatibility layer in Win 10...

<comment><USER10> Free as in beer would make Windows so much more competitive as a development and deployment environment— being able to pull a base image off Vagrantcloud alone would be a big difference for many, I suspect.

I bet there would be a spike of interest in packaging stuff for cygwin, too.

<comment><USER11> Free for educational and personal use only. I doubt your use would include that.

Free for business would kill Microsoft, as much as they bet on their hardware locked in devices these days. They're not Apple just yet.

<comment><USER12> How much money does Windows make from OS licenses vs licenses from SQLServer/Office/Exchange/Sharepoint etc. etc. It's not impossible that a free OS would lead to selling more SQLServer and Office licenses and making up some of the difference there.

<comment><USER3> Office is the real cash cow, what users really want.

Everything else can be emulated away, but no accountant will ever work without MSExcel, no lawyer will work without MSWord, and Outlook is still the best integrated mail/calendar tool. Exchange and SQLServer are profitable, but they don't provide the same amount of lock-in and revenue that Office does.

However, this won't continue forever, especially with the move to mobile. I'd argue that giving away Windows Server would be a good move to try and secure the Office monopoly beyond the next five years.

</comment></comment></comment></comment></comment><comment><USER13> It's kind of odd that it would be just one source tree. Surely it can't be one giant Visual Studio project.

<comment><USER14> Of course it's not going to be one VS project

However it's not weird to be one source tree

(There might be some things off-tree like some tools)

It's certainly debatable and there are advantages and disadvantages either way

<comment><USER15> Windows doesn't use VS projects. Build system is (well, was when I worked on it) custom and utilized compiler drops from developer division[1]. If you take a look at the Microsoft WDK, you'll get an idea of how the build system works, with "sources" and "dirs" files sprinkled around. VS projects wouldn't work great for yet another reason: pretty much nobody in Windows uses VS. People come from different backgrounds and already have preferences. So vim, Emacs, SourceInsight, SlickEdit and others are much more popular than VS.

Top level directories represent depots (think: repositories) of the SourceDepot version control system (home grown Perforce fork). Directory levels also tend to represent branches, so e.g. WINMAIN has branches for most depots (e.g. FBL_minio, FBL_minkernel, etc.) with additional subbranches following this pattern (e.g. FBL_minkernel_devices).

I liked Windows build system a lot. It's pretty neat how it works, what you can do with it, how you can build whole system or just parts of it, etc. It's not that simple to get build system of this size right, but I think MS actually nailed it.

[1] It has to be like that, otherwise it'd be impossible to support new platforms, like - say - ARM before WinRT was announced.

<comment><USER16> > pretty much nobody in Windows uses VS

Between your comment about the dog-fooding of compiler drops, and the _raving_ reviews of VS that I've heard (no first-hand experience, mind you), that surprises me. If nothing else, I would think that having everyone on VS while editing something like the Windows source code would surface VS bugs that one might not encounter in other situations.

That said, I do have a deep appreciation for the pushback against a corporate editor mandate.

<comment><USER17> It's not exactly true that nobody uses VS. They just don't use it for _building_ windows. I'd say that for debugging and editing source, the majority of windows developers probably have their own ad hoc "workspaces" that define projects for the portions they're interested in, and that's where they do their editing and debugging, but when they actually want to build, they go to a command prompt and use the monster of a custom build system.

<comment><USER16> _... use the monster of a custom build system._

Now __that __, I can totally see. IDE-based build systems drive me up a wall.

</comment></comment></comment></comment></comment></comment><comment><USER18> Looks like this is old: build 9364. Also a lot files representing recent functionality are missing.

<comment><USER5> The build number comes from the build server, and isn't accurate I believe. Some pretty recent functionality is in the file list, including mobilecore, mincore, and other "One Windows" refactorings from Windows 10.

</comment></comment><comment><USER19> Odd that all sources are c files. No cpp?

<comment><USER15> This doesn't look entirely accurate. My guess is that extensions were guessed when parsing symbols (which seem to be the source of this data). I'd bet that all of the things in minwin/kernel/io are pure C with upper layers being half- in-half C and C++ (most COM stuff has to be OO).

<comment><USER20> I was at microsoft from 2008-2011 and definitely saw some C++ in the kernel, even one driver using operator new for its allocations which I thought was a little nuts at the time. I also personally introduced some user mode .c files, it was just my preference. I don't think there's much rhyme or reason to which is used, although MS does lean very heavily towards C++ over C, seems like more and more as time goes on.

As for this directory tree... I found it creepy, like maybe source was leaked. The only inaccuracies I found relative to my memory of parts that I worked on was (1) I don't think they have done well tracking files that are part of static libraries and (2) what I presume are new files introduced by folks who came after me.

<comment><USER15> C++ code in kernel typically wouldn't fly for the new stuff, but I bet there were some legacy pieces, sure. But even then nothrow would be forced on new and prefast/prefix warnings around failed allocations would have to be handled.

<comment><USER20> This is true. The driver I am thinking of didn't use C++ exceptions. I just found it weird not to use the pool APIs like everything else.

But speaking of exceptions the kernel did use a lot of SEH.

</comment></comment></comment></comment></comment><comment><USER21> What a mess! And, frankly, I don't care unless I can read the source code

</comment><comment><USER22> MS, why you no break that iso file in part files?

In Asia, people are still running on barely Broadband speeds (1MB or below). So much for having a Indian CEO.</comment>


Lies, Damn Lies and LIBOR - <AUTHOR> http://londonbanker.blogspot.co.uk/2012/07/lies-damn-lies-and-libor.html <comment><USER3> Real life dwarfs gaming. Remember the recent EVE exploit? Someone discovered that it was possible to pump prices of low liquidity goods, pack ships with said goods, destroy the ships and score an unusually high LP, due to the artificialy inflated "value" of those goods.

The underlying mechanism is the same - someone ties some kind of payout to a market price. Then someone other discovers that th price is not something that reflects the market equilibrium but rather something that can be manipulated so that it maximizes said payout rather than market efficiency.

It is a bit scary, especially if you tie real money in gaming goods. Or if you tie real money in goods whose price can be gamed.

<comment><USER4> I' still surprised the SEC doesn't actively try to game the system. I mean we all know that we aren't dealing with the worlds best people, why not try to play the psycopath game ourselves?

<comment><USER5> They do. It is called the "revolving door". After a few years, most senior SEC staff go on to work in the banks they are supposed to regulate.

</comment></comment></comment><comment><USER6> > We need to rethink as a society what banks are for, what exchanges are for, > and what clearing houses are for. If they are for the profit of the few at > the expense of the many now, that is because it is the business model we > have permitted.

Is that really true compared to Silicon Valley? Do banks concentrate wealth a lot more than a Google or a Facebook? If not, how would you feel about some random dude commenting on his blog: "We need to rethink as a society what tech startups are for, what angel investors are for, and what venture capitalists are for. If they are for the profit of the few at the expense of the many now, that is because it is the business model we have permitted."?

Regardless, if banks are "concentrating wealth" they must be doing something right since after all, the ultimate purpose of a business is to make money. If they do so through illegal means (fraud, deception, etc.), we already have a legal system in place to deal with that. If they don't serve us well, we have the ability to vote with our money and move to another bank which treats us well.

If those two mechanisms are failing us, as some people claim, I'd be genuinely curious to know why it fails specifically for banks while it works wonders in other industries such as tech. I'm tempted to think that it is because the barrier to entry to the banking industry is so amazingly high _largely due to regulations_ that it favors a few large banks at the expense of eventual competitors. I'd be curious to hear what others here think and welcome rebuttals.

<comment><USER7> "the ultimate purpose of a business is to make money"

No.

The _proximate_ purpose of a business is to make money. It's a means to the end: the ultimate purpose of businesses are to improve human well being.

<comment><USER8> That's your opinion of it. I can have a contrary opinion that's just as valid, and so opinions of the "ultimate" purpose of business are moot.

Legally, the ultimate purpose of a business is to make money as well as legally possible; specifically, maximize shareholders' stake NPVs.

<comment><USER9> First of all, if I am the sole owner of a business, and I want to run it into the ground, that is my prerogative, and it is completely legal. Secondly, the 'maximize shareholder value' idea is a management principle, and it is not, and never has been, a legally binding requirement for corporations, public or not. Public corporations can be sued for purposefully or negligently destroying shareholder value, but not for failing to 'maximize shareholder value', which would be an absurd and difficult thing to argue in court anyways.

<comment><USER8> The context was a publicly-traded for-profit company, like most large members of the banking system. And for those companies, you are indeed given a fiduciary duty to maximize profits (See _eBay v Newmark_ , [http://www.delawarelitigation.com/uploads/file/int51%281%29....](http://www.delawarelitigation.com/uploads/file/int51%281%29.pdf)). So they can indeed be theoretically sued for failing to maximize shareholder value to the best of their ability as a fiduciary: negligence includes knowingly failing to take action that would increase shareholder value, not just destroying it. After all, the two actions are the same thing.

</comment></comment></comment></comment></comment><comment><USER10> There should be another entry in the YC RFS <http://ycombinator.com/rfs.html> :

10\. Kill Wall Street (etc.)

We now have the technology to _completely_ remake the financial system -- not just make 'banking' or whatever easier online, but a thorough and innovative re-imagining of what the whole thing should even be about.

Information structure is the essence of all cooperative systems, and that means the economics of tomorrow is absolutely about software -- its architecture, its engineering.

The practicalities mean this cannot be tackled directly, but someone needs to think big and work on it (in various ways).

<comment><USER11> You're missing that all of these things have valid uses. Take CDS for example. They're a very efficient way for organizations to mutually insure each other's risks, cutting out the middleman. The trick is to cross them with two uncorrelated things (pork bellies and frozen OJ, for example) rather than using defaulted mortgages to insure umm defaulted mortgages. Or CDOs, done right they're how a bank protects itself against a run and is still able to do maturity transformations (e.g. turning monthly salaries into 25-year mortgages).

<comment><USER12> How can CDOs be both limited in abuse as well as a meaningful

The problem is that in any realm, commotidization acts as a one-way function, with enough complexity it becomes difficult or impossible to track, thus allowing effective money laundering (or outright theft).

The real problem is lack of oversight, or traceability inherent in these devices. This draws in shady money and, essentially, evil.

</comment></comment></comment><comment><USER13> I don't understand why this stuff isn't front page news of mainstream (cnn, fox news, etc.) newspapers. You'd figure with all the lingering resentment this would be a huge field day. Currently relegated to business news journals.

<comment><USER14> It's very big news in the UK.

<comment><USER15> It's big news in the very narrow segment of American society that pays attention to hard news. In the sense that we can see the mechanisms by which the general public is being robbed. It is not news in the sense that most anyone who has been paying attention the last 3 decades knows that the both the markets and the regulation of the markets is a rigged game.

<comment><USER14> This angle seems a bit overplayed to me. The main victims of the fraud are just the counter parties on these large derivative trades that investment banks make between each other. One side was tilting the scales.

At least that's what I make of it.

<comment><USER16> Considering that libor affects mortgage rates, I'd say that's a lot of people affected.

that's like saying the only people affected by oil speculation are the counter parties.

<comment><USER14> I've not been able to find any analyses about mortgage borrowers being adversely affected. Regardless, they are not the targets of the fraud, so the idea about libor rate fixers robbing the public is disingenuous.

<comment><USER15> Your savings account underperforming, or your adjustable rate mortgage being more expensive than it would be otherwise aren't obvious forms of theft...

And the second order effects as businesses smaller than major banks attempt to make up for their losses are even less obvious forms of theft.

And if the marks don't know they're being clipped, what's the harm, right?

<comment><USER17> Savings account underperforming and adjustable rate mortgage being LESS expensive.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> If you want to see what the different libor submissions by banks were:

[http://www.guardian.co.uk/news/datablog/interactive/2012/jul...](http://www.guardian.co.uk/news/datablog/interactive/2012/jul/03/libor- rate-fixing-bank-submissions)

<comment><USER18> What should I get out of that? I see that some banks wanted it higher, some wanted it lower. That doesn't seem like a scandal.

<comment><USER19> Well, IMHO, Barclay's is taking alot of heat for the entire industry.

They were correctly reporting their libor rate, which scared some people as it was higher than other banks libor rates.

Partially because other banks were lying, partially because they were in more trouble than other banks.

The government asked Barclays to falsely report their libor rate at a lower amount.

This has the effect of lowering the reported libor rate. The libor rate is important as it's the base rate for pricing alot of other paper. This other paper is the base rate for pricing alot of derivatives,etc.

if you follow the chain, the libor rate can indirectly affect the price of literally trillions of dollars of financial instruments.

Hence the hoopla surrounding the rates manipulation.

<comment><USER20> > The government asked Barclays to falsely report their libor rate at a lower > amount.

Allegedly

<comment><USER11> Tucker has fallen back on the "no recollection" defence, which is only one step up from "only following orders". Looks like him and Diamond are sacrificing themselves to protect the real power brokers.

<comment><USER16> The emails are available though, so recollection or not it's clear no pressure is being applied.

At the same time it's clear that the traders were pushing for rates to be fixed, which is why they got fined.

<comment><USER11> The story of Thomas Becket is relevant here [http://www.bbc.co.uk/history/british/middle_ages/becket_01.s...](http://www.bbc.co.uk/history/british/middle_ages/becket_01.shtml)

"Who will rid me of this turbulent rate?"

</comment></comment></comment></comment></comment></comment></comment><comment><USER21> Why do we tolerate price-fixing and interest rate manipulation of the whole economy through the Bank of England's control of the pound sterling dealing rate? The central bank of the UK is setting interest rates for the entire economy yet people only care about Libor rates being manipulated. It's a hypocrisy.

<comment><USER22> Oooh, oooh, I know this one! Next up:

\- Why are the army the only people allowed guns?! \- Why are doctors the only ones who can prescribe medicine?! \- Why do we let the police have sirens on their cars, but I can't get one on mine?!

</comment></comment><comment><USER14> The trouble with articles like this is that they focus entirely on the problems created by 'relaxation' of regulation, but the benefits are not discussed. What we need to know is the net outcome (if it's knowable... But it's definitely worth discussing).

<comment><USER16> We have the net outcome in front of us? Did you mean to say something other than wealth concentration to financiers, the meltdown of the world economy, the euro crisis...

Sorry, are you saying what the net benefit would be once you remove the calamities it has caused?

<comment><USER14> The major problem facing the world economy is excessive sovereign debt, and you cant blame the banks for that. Nor for the many other structural problems in the economy, or for shortage of natural resources, or AIDS, or wars, etc.

What people do is focus on one visible failing of the financial system, then assume everything would be rosy if not for that problem, ergo the banks are a drag on society. And then just devolve into a generic rant about the public being screwed by The Man.

The net outcome is whatever benefits the current banking system (or whatever aspect of it you're discussing) has brought minus whatever problems it caused.

<comment><USER23> > The major problem facing the world economy is excessive sovereign debt, and > you cant blame the banks for that.

In a country like Greece this may be true, but in Spain - for instance - <USER2> country's sovereign debt before the financial crisis was low: it's the possibility of Spain having to bail out its over-indebted banks that is driving government bond yields higher there.

In the UK, the government was forced to nationalise the imprudent RBS and as such increase its own debt burden.

And in the US, the government has been motivated to issue more and more debt partly to help re-capitalise insolvent banks...

The banks are definitely to blame.

</comment></comment></comment></comment><comment><USER24> It will be interesting to see when the banks have the same fallout we had in 1929. How much wealth actually exists?

This article makes a good point about how we can't know. Too many shady things are happening and no regulation to figure it out.

</comment><comment><USER25> If you want the same story, just played out in commodities markets, check out <http://www.tfmetalsreport.com>.

<comment><USER26> A little context? I checked out the link and didn't really see anything that caught my eye. Read a few blog posts, still didn't get it.

</comment></comment><comment><USER27> The problem is fundamentally very simple. Would you ever lend your money to someone dishonest? You are lending your bank money every time you deposit in their vaults.

</comment><comment><USER28>
      We have allowed markets to evolve in ways that make supervision of markets almost impossible.

This reminds me of the big monolithic app vs small services debate. A some point an app becomes harder and harder to break out Into testable pieces, becomes Interdependant and complex

</comment><comment><USER29> Here's a thought: : if you have a LIBOR-linked mortgage with Barclays, you could probably cease repayments, report the bank to credit rating agencies and and sue them for contractual misrepresentation.

<comment><USER30> > if you have a LIBOR-linked mortgage with Barclays,

They all did it. Barclays were the last bank to start doing it, and the first to confess.

<comment><USER29> So far, only Barclays, Citigroup, RBS, UBS AG, ICAP, Lloydsand Deutsche Bank are being investiagted.

[http://www.businessweek.com/news/2012-07-09/libor- criminal-p...](http://www.businessweek.com/news/2012-07-09/libor-criminal- probe-cftc-bank-exemptions-canada-compliance)

<comment><USER30> I don't think there's a contradiction between "they all did it" and "so far, only many of the big banks are being investigated".

We don't have proof that "they all did it" so perhaps I overstated the case a little. We do know that the UK government contacted Barclays because their rates were higher than everyone else's. Perhaps some of those lower rates were legitimate. Perhaps not.

But if we're going to be pedantically accurate, perhaps you should say "if you have a LIBOR-linked mortgage with Barclays, Citigroup, RBS, UBS AG, ICAP, Lloyds or Deutsche Bank" ....

<comment><USER29> A little touchy, aren't we?

The involvement of Barclays has been widely reported, so you could (maybe) demand adequate assurance without being dishonourable.

<comment><USER30> > A little touchy, aren't we?

I really don't know what you're trying to imply.

But actually I'd say I'm being pedantic at most. Because factual accuracy matters.

</comment></comment></comment></comment></comment></comment><comment><USER31> He had me up until he said "How [can] profits in the financial sector to be consistently higher than profits from [...] agriculture, transport, health care or utilities?"

Those are four very poorly chosen examples which suffer from Baumol's Disease [1]

[1] <https://en.wikipedia.org/wiki/Baumol%27s_cost_disease>

Now whether or not it is true that banks can really be efficient, it's better to compare banks to technology and industrial production that don't suffer from Baumol's disease.

<comment><USER8> Agreed on the poor choices of examples, though that Wikipedia article is terrible. There's absolutely nothing contrary to classical economics in "cost disease", and Baumol's stuff was more an analysis of the economics of a situation than a sudden discovery of some unforeseen phenomenon.

Articles like the OP link are little more than populist sensationalism. Valid and extremely strong arguments can be made for reform in the banking system, but they aren't made by expressing that banks should be "in service of the people, not the profit." Those are political talking points, and the most offensive is that he compared financial markets to casinos, which is where authors lose all credibility to anyone who understands economics.

Also:

>Price discovery is not a sexy function of markets

Hell yeah price discovery is sexy. If it isn't, what is? The entire stock market exists literally only to set prices as quickly and accurately as possible.</comment></comment>


Teach your iPhone to learn words like "Fuck" - <AUTHOR> http://arstechnica.com/journals/apple.ars/2009/01/19/what-the-duck-train-your-iphone-to-truly-learn-new-words <comment><USER2> can't you just add a person in your phone book called "fuck"? thats how I taught my iPhone "twitter" and "flickr"</comment>


Ask HN: How's the IT job market in Australia? - <AUTHOR> Hi, So, me and my wife have this Permanent Residency Visa invite from Australia. But before saying "yes" to it (and giving them loads of money as visa fee!) I just wanted to reach out to the tech community here to know how easy or difficult it is as a Software Engineer in Australia?
Maybe someone who recently moved there will be able to answer or maybe folks from Australia can better answer my query.
We are in India right now.<p>Thanking in anticipation! <comment><USER2> I just changed jobs in Melbourne about a month and a half ago and had no trouble.

The only thing you need to be careful of is your starting salary, as the cost of living in Australia will probably be considerably higher than you're used to.

</comment><comment><USER3> I have the same question, but as you can have a Permanent Residency Visa invite from Australia? We are in Colombia and the process is very complicated.

<comment><AUTHOR> Well, I don't think its complicated. I just took an IELTS exam, got my education and experience assessed by ACS and then made an EoI (Expression of Interest) application and got 60 points (which is the minimum one should have) and then after 2 months I had the invite.

<comment><USER4> Where are you from? Can you explain more about the process please?

thanks

<comment><AUTHOR> I am from India. The process is exactly like I mentioned. The two useful sites are skillselect and acs. All information is there.

<comment><USER4> Thanks!

</comment></comment></comment></comment></comment><comment><USER5> In Sydney and Melbourne at least you'll have no problem finding decent jobs.

<comment><AUTHOR> Yes,I heard that as well from a few others. Seems like Melbourne has more of IT industry than Sydney? So, umm, I am not sure if this is a good question to ask but what's the inflation rate in Australia and what would you say is the average salary for a software developer with about 5 years of Indian experience? I can find the numbers from sites but better to talk to someone regarding this.</comment></comment>


Egypt shuts down Al Jazeera bureau - <AUTHOR> http://english.aljazeera.net/news/middleeast/2011/01/201113085252994161.html <comment><USER2> I guess this is a ringing endorsement of Al Jazeera. It's the network the dictators fear. I can see some people saying they are being shut down because they are supporters of radical Islam but from what I've seen of them this is pure nonsense.

It's nice to have a news network that doesn't suck so bad. It's shocking that this network does better (in my opinion) at news reporting than American news networks given that it comes from a part of the world where free speech isn't a concept rooted in law.

Look for the network the dictators hate. The network that the ruling class denigrates. That's the one more likely to be telling the truth.

<comment><USER3> Saying that US Networks do a poor job of reporting because their coverage sucks is exactly like saying that Wal-Mart does a poor job of retailing because they sell plastic junk. It's what the people want.

<comment><USER4> Journalism is not about satisfying consumer demands; it's about getting the truth out.

Or at least that's what I like to think.

<comment><USER5> Getting the truth is what being a journalist is about. Unfortunately, journalists are rarely in charge of news organizations.

</comment></comment></comment></comment><comment><USER6> Around a month ago a good journalist friend of mine was taken prisoner in Algiers because of his reporting. After a few days of heavy pressure from the embassy he was released unharmed.

A lot of friends were worried and continually asked if he was OK and whether his profession was really worth it. I congratulated him on his new status as a real grown-up journalist, whose reporting was so good that he scared regimes enough that they would want to imprison him.

This is the same - Al jazeera is doing such a good job that they're a threat to the Egyptian regime. They do what journalists are supposed to be doing but often aren't. They should be congratulated for that.

<comment><USER7> Wouldn't it be interesting if someone like Keith Olberman went to Al Jazeera.

<comment><USER8> Why? Keith Olberman isn't a journalist by most objective measures, he's a partisan talking head.

<comment><USER7> My point was more;

"Wouldn't it be interesting if [big, well recognized american media personality] went to Al Jazeera"

<comment><USER9> David Frost, while not American, has had a show on Al Jazeera English since 2006:

<http://english.aljazeera.net/programmes/frostovertheworld/>

<comment><AUTHOR> _David Frost, while not American_

Every american should know David Frost, if they don't they're not american.

<comment><USER10> Do true Scotsmen know about David Frost as well?

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> Just so you know, aj jazeera is still broadcasting live from cairo. The egyptian authorities have revoked their license, but they are still carrying on regardless just as they have in previous days.

I think the title should be changed, they have not in any real sense been "shut down."

<comment><USER12> It reads that the bureau has been shut down, not their activities.

They are still doing their coverage, but:

      - They have been kicked out of their Cairo office [1] [2]
      - Their "tv uplink" has been shut down [3]
      - Their correspondants in Egypt are no longer being named when reporting on air "for their safety"

_[1]<http://twitter.com/nolanjazeera/status/31681013461557248> [2] [http://english.aljazeera.net/news/middleeast/2011/01/2011130...](http://english.aljazeera.net/news/middleeast/2011/01/2011130164532649572.html) [3] <http://twitter.com/nolanjazeera/status/31755344522772481> _

<comment><USER11> I am watching it right now and they are showing a live feed of Tahir square, Cairo.

Maybe their studio there is down and they're feeding from a lone camera on the ground, straight back to their studios elsewhere in the world.

EDIT: This does in fact seem to be the case.

</comment></comment></comment><comment><USER13> While this is a really bad sign, another really bad sign is they are flying F-16s low over civilian crowds right now, for no other reason than to intimidate them. Just saw it on CBS and it's pretty freaky and scary.

I'm starting to think this is going to end really really badly. Are democratic revolutions even possible anymore today, given the technology and sheer firepower the small number in power can wield against the masses (which ironically the USA sells them).

<comment><USER14> How quickly we forget. Tunisia, earlier this month.

In fact that example was the impetus behind the Egyptian protest movement. If (as seems likely at this point) Egypt falls, expect to see several other governments fall as well.

This is as momentous a time for the Middle East as the fall of the Iron Curtain was for Eastern Europe. (Incidentally said fall gives several more examples of how military might doesn't prevent democratic revolutions.)

<comment><USER15> Not to be too pedantic, but the Eastern European "refolutions" were made possible because a) the Soviet Union and b) local Communist governments simultaneously made the decision not to use force.

Those decisions (and their publicity) were a necessary condition; it's what made the difference between 1956, 1968 and 1980 on the one hand, and 1989 on the other.

It will be a long and dark road for Egypt if Mubarak can successfully order the military to slaughter the protesting masses. The revolution will fail, both the government and the opposition will lose credibility in the eyes of the people and it will be years or decades of strict martial law.

<comment><USER14> Military might does not prevent the possibility of democratic revolution. However many pre-conditions are necessary before democratic revolution can happen.

For instance the military response to 1980's events in Poland were much less nasty than the earlier examples because of the economic trouble Poland was in, and its dependence on loans from Western banks. The economic fallout from the regime's attempts to navigate their way through conflicting demands helped set the stage for the events of 1989.

Without that backdrop, 1989 would have turned out very differently. No matter how much the people wanted otherwise.

As for Mubarak, I'd be willing to bet money that it is too late for him. Yes, the army can crack down. But the public images from any attempt to do so will make it unpalatable for Western companies to do business with Egypt for a long enough period of time to recreate his problems.

</comment></comment></comment></comment><comment><USER4> Al Jazeera's bureau ALWAYS gets shut down anytime there are breaking news any where.

EDIT:

[http://en.wikipedia.org/wiki/Al_Jazeera#Attacks_on_and_censo...](http://en.wikipedia.org/wiki/Al_Jazeera#Attacks_on_and_censorship_of_Al_Jazeera)

(keep scrolling down to Controversy)

<comment><USER16> If this is not true about other news bureaus, this says a lot about Al Jazeera.

<comment><USER17> Part of the reason for actions against Al Jazeera are because of where it is and where it focuses on. The BBC and CNN are Western-based media, and they toe the line when it comes to western media principles so dictators know what to expect.

For Al Jazeera, it's based in an Arab state, focuses on the Arab and North African world and many of these countries are either in a state of dictatorship or are relatively unstable. It also adopts what can be described as a mostly pan-arabian world view, much to the chagrin of the west. Therefore it's not surprising that a) given it's location and orientation and b) it's relative youth compared to the BBC, CNN et al and c) it's willingness to go against the grain in various countries, including against the will of the west, that it's attacked.

It's also important to note that while it's based in Qatar, it doesn't tend to provide the same level of criticism in Qatar as it does elsewhere.

<comment><USER17> Actually just to be clear and to make sure I don't sound like an ignorant European with some sort of MSM superiority complex, the British media is also pretty bad. The BBC is not exactly completely impartial - compare coverage of the BP oil spill on the BBC to CNN and you'll see some obvious differences.

In the UK we get BBC News, Sky News (owned by the same guy that owns Fox, and just as fair and balanced), Russia Today (which is hilarious to watch sometimes because of the blatant pro-russian bias) and Al-Jazeera, as well as some minor news programmes on other channels. All of them have their own bias to at least some extent, some greater, some worse. The trick is spotting where the bias lies and compensating for it.

It's even worse with newspapers here in the UK - have a look at <http://tabloid-watch.blogspot.com/>

Of course, the most transparent newspaper in the UK appears to be the Daily Sport. They don't really care about news, just sport and topless women. (<http://www.sundaysport.com/> \- warning, NSFW)

</comment></comment></comment></comment><comment><USER18> This is a very sad day for objective journalism. My family is from Iran and I've spent plenty of time watching it over satellite. I liken them to CNN in the 90s before they too started getting politically charged.

I'm angry that Al Jazeera has such a bad rap in the states, but frankly, I think we'd believe Nickelodeon was evil too if Fox News caught them broadcasting a single frame with both Bin Laden and their network emblem.

</comment><comment><USER19> According to the Al Jazeera live blog for today 6 of their journalists have just been arrested in Cairo! Since the liveblog is always updating the relevant posts are:

2:40pm: Our correspondent tweets:

        Unsure if arrested or about to be deported. 6 of us held at army checkpoint outside Hilton hotel. Equipment seized too. #Egypt

2:11pm BREAKING NEWS: Six Al Jazeera journalists arrested in the Egyptian capital, Cairo.

Our correspondent there just tweeted this:

        4 soldiers entered room took our camera. Wr  ae under military arrest #Egypt #jan25

From: [http://blogs.aljazeera.net/middle-east/2011/01/30/live- blog-...](http://blogs.aljazeera.net/middle-east/2011/01/30/live- blog-311-egypt-protests)

</comment><comment><USER20> Is this Hacker News?

<comment><USER21> I would think so since censorship is a topic that "gratifies one's intellectual curiosity".

<comment><USER20> Fair enough.</comment></comment></comment>


Data Driven Look at Why Facebook Commerce Sucks - <AUTHOR> http://www.timchae.com/2012/02/fail-commerce-data-driven-look-into-why-gamestop-to-j-c-penney-shut-down-facebook-stores/

<comment><USER2> It's interesting to see brands adjust to social media. Pinterest is killing it right now by exploiting sharing in a way that makes sense to consumers. I wonder what techniques might work for selling on Facebook? I suppose getting things into the newsfeed or likes on specific items to be a crucial first step.</comment>