Microsoft now says it's "inspired' by community finding new uses for Kinect - <AUTHOR> http://www.adafruit.com/blog/2010/11/19/microsoft-now-says-its-inspired-by-community-finding-new-uses-for-kinect/

<comment><USER2> Microsoft is not a monolithic entity. People in different parts of the company have legitimately different agendas, which is also a source of lots of Microsoft's problems. I have no reason to doubt that that Alex Kipman and Shannon Loftis were being completely genuine, but it also wouldn't surprise me if MS' legal department tried legal action later on anyway. In a company with stronger leadership at the top, you might see a more consistent response (or at least a clear break when policies change), but I wouldn't expect that from MS.

</comment><comment><USER3> Just to preempt the "damned if they do, damned if they don't" type of comments that usually follow something like this, I'd like to say: "Thank you, Microsoft, for doing the right thing. Next time, try to keep your lawyers away from your press office so their frothing at the mouth can be contained before you can craft a competent response."

<comment><USER4> I think its all how you present it, they just went along as they had never had said any of the previous statements. If they said sorry we made a mistake, I'm sure there would be a lot more praise for Microsoft.

</comment></comment><comment><USER5> God forbid they actually open-source their _own_ drivers, and save the community a shitload of work, if this is so magically inspiring for them.

<comment><USER6> In all fairness, Microsoft spent years buying up every major researcher in artificial vision and many other fields(to the point that Universities started complaining)and spent tens of millions developing this tech. It's something that Sony and Nintendo won't be able to duplicate without lots of money and at least another few years of R&D.

I mean sure things can be reverse engineered, but open sourcing this would instantly put Sony and Nintendo in a position to simply make their own hardware and call it a day. I'd love to see the drivers open sourced, because that's where the really interesting things are going on... but that's simply not realistically going to happen.

Microsoft really moved the field forward on this one, I completely understand their desire to make some of that money back.

<comment><USER7> Sony already released their "Move" system, which many argue is better than Kinect..

<comment><USER8> Uhm, correct me if I'm wrong, but doesn't Move work on completely different principles?

I mean, I thought the point of move was the six axis accelerometer combined with the sensor picking up the ball of light?

</comment></comment></comment></comment><comment><USER9> I think it's a difference in perspective. The Microsoft XBox 360 teams hears "We want to hack the Kinect" and pretty much leaps to "We wish to see if we can somehow exploit the Kinect to crack the box wide open and make game piracy possible." It really doesn't hurt Microsoft much for you to plug your Kinect into your (statistically-probably Windows) PC and use it without modification, and once they worked out that's what was happening they probably simmered down a lot. Given the novelty of the Kinect, I would think their optimal strategy would be to encourage Kinect experimentation to the utmost; the faster the "hackers" discover great, compelling ways to use the Kinect, the faster Microsoft can productize them.

But they'll still come down like a bag of bricks on anybody who manages to crack XBox security with one.

<comment><USER10> I would guess that Kinect, unlike most peripherals, but like most consoles, is sold at or below cost and the profit is made in games sales. If people can use Kinect without buying any games, they reduce the amount of profit Microsoft is able to bring into an already low margin area of their company.

<comment><USER11> But that also feeds the buzz about the product, which is useful given Microsoft's lack of nerd cred lately.

And some portion of people buying a Kinect for hacks will end up buying an Xbox and games, as well, for when they're not hacking, or for the kids, or whatever.

After all, if they're interested in the Kinect, they'll likely be interested in trying other peoples' applications of the technology - which may include Xbox games.

</comment></comment></comment><comment><USER7> There's an important distinction between people "modifying the Kinect" and people writing drivers that let other devices USE the Kinect.

Not saying that the first one should still be banned, but I think this new announcement is more of a clarification that they're okay with people writing drivers and using it for puppets/roombas/their own purposes, as long as their not hacking the Kinect itself.

<comment><USER12> Unless they release full-featured, official drivers, how do they think such drivers get written?

<comment><USER13> USBus snooping?

</comment></comment></comment><comment><USER14> They should take back that public statement about getting law enforcement involved, then. Sure, they say they are "inspired" but it still stands that they will ask the government to throw you in jail if you hack around with the Kinect.

This PR is bullshit until they open up and say they won't try their hardest to send you to jail.

</comment><comment><USER15> I'm sure they are "inspired" by the interest in this device. I'd never buy an Xbox, but I'd get one of these just to hook it up to my computer and play around. Why would they not want to take my money?

<comment><USER16> Because they're probably losing money on the hardware.

<comment><USER17> How much do they lose if it just sits on the shelf?

<comment><USER18> The premise of this question is likely wrong, but in an enlightening way: The Kinect looks poised to be a big hit this holiday season, which is to say "over the next thirty days". There may well not be enough inventory to meet demand, and every Kinect that is bought by a hacker is a Kinect that doesn't also serve to drive the sale of XBox hardware and XBox games during the peak game- buying season of the year.

<comment><USER19> They moved 1 million units in the first 10 days. Apparently on track for 5 million before year's end.

</comment></comment></comment></comment></comment><comment><USER20> Total aside, the resistor turing test at the bottom of the page was awesome.

That is all.

</comment><comment><USER21> While taking their own words back is stupid, why not open-source the platform? They're selling kinect with positive margin and with open platform they will do even more.

<comment><USER6> Because then Sony and Nintendo could simply make their own hardware and use the drivers with it. The most interesting bits of Kinect aren't in the hardware... they're in the software, and Microsoft spent tens of millions of dollars and quite a few years developing it.

<comment><USER22> They don't need to open their analysis, they just need to open the interface for the device itself -- the work the community has already partially done. It'll happen eventually anyway (soon, most likely), so it has a minimal downside for them.

<comment><USER23> The OpenKinect project has achieved a lot in the last week.

<https://github.com/OpenKinect/libfreenect/>

<http://groups.google.com/group/openkinect>

</comment></comment></comment></comment><comment><USER24> Wouldn't be surprised if new official applications of the Kinect come directly from observing what the most popular hacked applications are.

</comment><comment><AUTHOR> full transcript (thanks Miguel) [http://www.techflash.com/seattle/2010/11/microsoft-kinect- no...](http://www.techflash.com/seattle/2010/11/microsoft-kinect-not-hacked- left.html)</comment>


It's not a web app. It's an app you install from the web. - <AUTHOR> http://blog.forecast.io/its-not-a-web-app-its-an-app-you-install-from-the-web/

<comment><USER2> I think the key here is: "Avoid replicating the default iOS styling and interactions".

Avoiding the "Uncanny valley" some apps can compete with native.

</comment><comment><USER3> One key advantage of installing as a web page on iOS: you get to benefit from the JIT compiler for Javascript. iOS apps that use Webkit still aren't allowed to have Javascript compiled to native object code.

</comment><comment><USER4> how did you manage to make it look one way when you viewed it in your browser, and look different once you launched the app from the homescreen. Is there a script for that?</comment>


Rachel installed as 4-5 choice in Haskell - <AUTHOR> http://www.brisnet.com/cgi-bin/editorial/news/article.cgi?id=15766

<comment><USER2> Great article on the complexities of proposals competing for standardization. I especially appreciated the no-nonsense rundown of the statistics.

Whoever takes the Grade 1 Haskell Invitational prize will apparently net a big advantage. Is there a twitter blog or RSS feed of the results?</comment>


How I found CVE-2013-1310 in IE6 and IE7 - <AUTHOR> http://yuhongbao.blogspot.ca/2013/07/how-i-found-cve-2013-1310.html

<comment><USER2> Not sure why this is getting voted up so much. The author came across a report of IE freezing/crashing, replicated it, and Microsoft fixed it. In the same security update ([http://technet.microsoft.com/en- us/security/bulletin/ms13-03...](http://technet.microsoft.com/en- us/security/bulletin/ms13-037)) there are 10 other vulnerabilities described in the same way. Why is this particular vulnerability noteworthy or interesting, other than the fact that someone stumbled across it and documented it before it ended up reported to Microsoft?

In fact, CVE-2013-1297 from that same security update (which I didn't know existed until now) is _far_ more interesting from a security perspective ([http://www.cve.mitre.org/cgi- bin/cvename.cgi?name=CVE-2013-1...](http://www.cve.mitre.org/cgi- bin/cvename.cgi?name=CVE-2013-1297)).

 _Microsoft Internet Explorer 6 through 8 does not properly restrict data access by VBScript, which allows remote attackers to perform cross-domain reading of JSON files via a crafted web site, aka "JSON Array Information Disclosure Vulnerability."_

Similar JSON information disclosure can be very serious for a web application. [http://haacked.com/archive/2009/06/24/json- hijacking.aspx](http://haacked.com/archive/2009/06/24/json-hijacking.aspx) describes the general issue in some depth. The fact that it was possible to use vbscript as a way to read in cross-domain JavaScript is very important from a security perspective.

<comment><AUTHOR> What is unique is the original report of the bug was _public_. I was the one who figured out that it was exploitable and sent it to MSRC.

<comment><USER2> Right. But I can very easily find reports of reliable ways to crash IE via CSS: [https://www.google.com/search?q=crash+ie+css](https://www.google.com/search?q=crash+ie+css)

I don't have a problem with your blog post. It documents how to reproduce the issue referenced in a particular CVE. But I'm curious what value people are deriving from reading it.

<comment><AUTHOR> Not all are exploitable.

<comment><USER2> Right. But your post shows that you can reliably get the browser to crash. It doesn't demonstrate that the crash is exploitable, unless I'm missing something.

<comment><AUTHOR> I was able to prove that it was potentially exploitable to MSRC, which is how I got them to fix it. There are a lot of non-exploitable crashes such as null pointer dereferences that MSRC will not consider as security bugs.</comment></comment></comment></comment></comment></comment>


What is Tcl? - <AUTHOR> http://wiki.tcl.tk/299 <comment><USER3> I frequently write tcl, and I work in a company that has been using it in production for 20+ years. I've written thousands of lines of Tcl, but I only go back to Tcl when I have to work on legacy stuff these days. I wouldn't even remotely consider writing something new in Tcl.

I really wish someone would take charge of wiki.tcl.tk and cut out all the nonsense. For example, I am currently in need of producing some JSON from one of our Tcl apps. So I search for JSON and I get this:

[http://wiki.tcl.tk/13419](http://wiki.tcl.tk/13419)

It starts out pretty promising -- listing a bunch of competing JSON implementations for tcl -- which is unusual for a wiki.tcl.tk page. But then it quickly devolves into the usual stream of consciousness that infects every tcl wiki page. What am I supposed to actually do?

At first we have a big list of different implementations; that makes sense, every language is kinda like that.

But before the first page is even finished, we get weird "string is double gotcha" stuff from gchung, including "you should use the following" 100 character regex! How about: you should use this module for doing this usual thing that every language in the world can do?

Then, we get JMN's thoughts about how a JSON generator is better than a JSON parser. Apparently TCV solved this himself in 2009 (but, no code referenced). Very quickly we get into "here's my version!".

I'm not complaining about all these guys contributing different solutions. But can't the community gather around one of them? It's like searching wikipedia but always landing on the "talk" page.

Hey tclers, try this on for size. Google for "perl json" and see if you get a real response that explains how to do it, or a bunch of random guys talking about how they solved it themselves. Then try "ruby json", "java json", "python json".

That is why tcl is dead.

<comment><AUTHOR> I found your comment, though intemperate, to be illuminating. You criticize the nature of the first search result you find, but I note the second (in my browser) points the searcher to the Tcl library packages for processing JSON, whose docs provide what you ask for: simple explanations and examples on how to do it.

Now on to the other languages you mention:

> Hey tclers, try this on for size. Google for "perl json"

OK. The first result I get is a man page for a module that claims to be a bridge for two other modules, one pure perl the other perl+C. There's paragraphs and paragraphs of warnings about version incompatibilities and advice about handling corner cases, which if you're not careful about lead to data loss, because in perl Everything Is Not A String.

First two results for "ruby json" are for gems tailored to two different ruby versions. Of course ruby is famous for breaking backward compatibility even for minor releases, so make a choice and it may work out for you. Keep in mind the reports of massive security vulnerabilities when using ruby to parse JSON.

First result for "java json" is a page full of pointers to class definitions, and a link to a package whose author claims to have no time to maintain it and hasn't used it in a decade. If that makes you uncomfortable, the home page of the first link helpfully provides references to 26 separate Java JSON libraries.

First two results for "python json", like ruby, are for the unpredictably compatible versions 2 and 3. Like perl and ruby, there are many paragraphs of warning about corner cases and data loss because Everything Is Not A String.

The top paragraphs of these results I admit make things look simple, but mask significant implementation issues that tend to trap the unwary newbie or explode outright, that aren't issues at all with Tcl.

It may be that the appeal of Tcl will always be limited to a minority who prefer to discuss a little first and consider issues of compatibility, stability, scalability, maintainability and security before implementing. Like the people who run your company? 20+ years in business, presumably it's profitable.

<comment><USER3> Maybe we get different search results. When I search for 'perl json' it leads to [http://search.cpan.org/~makamaka/JSON-2.90/](http://search.cpan.org/~makamaka/JSON-2.90/) which is a mature and easy to use JSON client. It does talk about backwards incompatible changes from version 1.0 -- but that was back in 2007.

When I search for 'ruby json' I get [http://ruby- doc.org//stdlib-2.0/libdoc/json/rdoc/JSON.html](http://ruby- doc.org//stdlib-2.0/libdoc/json/rdoc/JSON.html), which is part of the standard library.

When I search for 'java json' I get several libraries, all of which are actively supported: www.json.org/json, gson, and Jackson.

I don't really understand your comment about significant implementation issues that aren't issues at all with Tcl. Could you give an example? What edge cases aren't covered by the standard Perl and Ruby JSON libraries?

</comment></comment></comment><comment><USER4> I don't write much Tcl the last few years (mostly Python now, as it pays the bills), but looking from the Python perspective towards Tcl, i see a lot of good things i left behind:

* No GIL. Real threads with no silly global locks

* A very cool VFS layer, a bit like the stuff you can see in windows powershell with the Registry/Certstore/etc drives

* A beautiful implementation really worth a read (no silly 'XXX: don't know what to do, lets print to stderr' inside a library like you find in pythons source)

* An extremly consistent language far more than python which does all kinds of junk 'to make parsing easier' even if it makes the language harder

* Sandboxing interpreters (doesn't work with python, no chance)

* Stacked channels and a cool streams abstraction (Pythons io module is still some way behind its options)

* A built in event loop (Python just got one with 3.4...)

* A standard lib that mostly takes event driven as given (unlike pythons blocking stuff)

* very powerful metaprogramming support (e.g. have some logging code with 'ZERO' overhead when disable at runtime)

* good C-API and excellent support for embedding

* Stable ABI since more than 10 years (e.g. you can load a binary extension compiled against 8.1 into a current 8.6 interpreter and it just works, one of the reasons many Tcl projects didn't release new versions, no need. Unlike the python nonsense with -2.5,2.6,2.7 versions for every package, okay Python got a partial stable ABI now too, years later)

* mostly sane platform abstractions (the world isn't posix everywhere)

* packaging with starpacks (python's pyinstaller comes close, but lacks the VFS stuff, years later), a bit like cross-platform OS X app bundles

* Non mutable values by default, no pointers, so it is kind of functional

* A nice package system that doesn't mix up filesystem layout and namespaces and supports version

So if you look at it, it is kind of a weird crossover between ideas you now find in: Go, Node.js, Lisp, Powershell. Just a bit outdated and in need of some love.

</comment><comment><USER5> Personally, Tcl is by far my favorite language to program in. While I admit it's not the right tool for every job, but I feel a great sense of job when it IS the right tool because writing code in it always makes me happy.

When I'm writing pseudo-code for someone, I almost always wind up writing something that looks like Tcl (which a bit of OO/functional mixed in).

I think there's a number of reasons why I enjoy it so much:

\- I find it's minimal syntax very easy to work with (for normal cases, admittedly it has it's warts)

\- I've been using it so long (since about '95) that I tend to "think in Tcl"

\- The ability to add new control structures to the language makes simplifying other code (ie, adding try/catch/finally to the language yourself) amazing. It's somewhat lisp-like (though not as powerful)

My use of Tcl over the years has spanned many different environments

\- Interacting/automating network hardware tasks (SNMP, Expect, device scripting)

\- AOLServer

\- Vignette

\- Personal tasks (lots of them)

\- (minor) modifications to the core

\- Plugins/Scripting for various other programs

</comment><comment><USER6> TCL is an incredibly useful language to quickly construct small code snippets in, and is especially good as a REPL language - as a command line interface.

On the other hand, it's the bane of my life. It's particularly bad (and verbose) at anything involving expressions. Unfortunately, that's mostly where I find it being used, because it's very popular in hardware. You'll find it being used for emulators, simulator, FPGAs, JTAG interfaces, and so on. There, it's shuffling a lot of data around, and in particular performing bitfield operations. It's notoriously verbose at doing all of that.

Hardware register definitions and the like are also usually expressed in a C-like fashion - that is to say they're usually using square brackets e.g "some_reg[2]" notation. This is annoying for TCL, because square brackets are its "string eval replace" construction, so you end up escaping stuff.

Its error traceback, usually "puts $errorInfo", is also awkward and often doesn't give you the right locality of where the error was, especially if it's syntax-related. One of the most infuriating aspects is that the comment character "#" doesn't obey the rules you see in other languages - it's not like a pre-processed character. Scope rules _still apply_ within comments, e.g you can open a proc definition and it'll complain about a dangling brace because it _still parses the comment line contents_.

The everything-is-a-string design is awesome but also makes it inherently slow, to the extent that even on a modern system it can end up being the bottleneck in execution. It also results in really weird parameter passing rules between functions. I'm not a fan of having to occasionally add magic intermediate string evaluation steps, or the wildcard expansions necessary for passing lists. It's error-prone and sometimes feels like just hammering the interpreter until it _Does What I Mean_.

Everything-is-a-string is also damn dangerous, and can result in arbitrary code execution if you're not careful. Anyone who's ever run an IRC script or bot has probably experienced this, and knows what I mean.

That's not to say Tcl is crappy. It's just a language which was designed in another age, and it's really showing it. It's awesome as a command line REPL, but I highly recommend something else (Python or Lua) if you're doing anything even moderate scale behind the interface.

<comment><USER7> >comment character

Yes the comment syntax can be infuriating if you're not ready for it.

This might not be true any longer, but a number of years ago when I was still using Tcl,

        # this was a valid comment
        #this was not a valid comment

due to the parser reading "# this" as a comment token followed by its string arguments (I guess it's semantically a noop that takes a string arg) and "#this" which threw an invalid token error.

Coming from C/C++ it drove me nuts.

<comment><USER3> Also in the older tcl (not sure about 8.5+), it would parse { characters inside comments as if they were real braces in the code. So if you put a comment like:

        # I want to escape the { in the next line

then it would cause your code to fail because of unbalanced { characters.

</comment></comment></comment><comment><USER8> I had an unexpected need to write some Tcl recently when I had to wrap a command line tool in a helper script in order to add some features and automation. Turns out the Unix tool `expect' was designed exactly for this purpose and was already available on my Mac, and thus seemed like a practical solution. Expect programs are written in Tcl: [http://en.wikipedia.org/wiki/Expect](http://en.wikipedia.org/wiki/Expect)

</comment><comment><USER9> Despite the numerous books and talk about Tcl, I've _never_ seen any actual Tcl for two reasons.

1) It seems to be used in GUIs for biological and medical sciences only, which is distant from my field.

2) There are absolutely no code samples on the surface of tcl.tk or on this article, and after clicking "Random Page" a statistically significant number of times I found that only _1 /6_ pages have any Tcl code at all. Even the tutorial for the language itself has a strangely low code-to-text ratio. It makes me wonder that the developers are wanting to hide the code due to shame, or the CEO bosses behind the project only feel that advertising features of the implementation, applications, and the language's popularity are important, while in fact these are relatively useless to speculating and beginner Tcl programmers.

<comment><USER10> way back when, a large amount of AOL stuff was written in tcl. AOLServer was one, and they actually opened sourced it - [https://github.com/aolserver/aolserver](https://github.com/aolserver/aolserver)

<comment><USER11> And lest you think that AOLserver is dead based on the lack of new activity on that github repo (which is just a mirror, BTW), Naviserver - [https://bitbucket.org/naviserver/naviserver](https://bitbucket.org/naviserver/naviserver) \- which was forked from AOLserver some time ago, just released a new version yesterday.

</comment></comment></comment><comment><USER12> Tcl was not originally intended to be used for writing large programs on its own, but to act as an interface to compiled programs.

The actual heavy lifting was meant to be done in C, while interactions with the user could be quickly prototyped in Tcl. Tk simply added a way to do this graphically.

The name 'Tool Control Language' points at its intended niche.

<comment><USER13> Yes, its FFI API is quite clean because of that goal.

</comment></comment><comment><USER14> "That thing you had to know if you wanted to write Eggdrop scripts."

</comment><comment><USER15> TCL is the defacto language in EDA ASIC Design Tools (synthesis, place-and- route, static timing analysis). In my opinion, its a terrible language, especially since the tool vendors all add their own flavors. The flow control is painful to use, it lacks OOP data structures. If given the opportunity, I'd avoid it at all costs.

<comment><USER16> I'm in the EDA world since 15 years at least and I'm still surprised why many (but not all) vendors have adopted TCL as their scripting language of choice for their public API; my opinion is because it is quite close to shell scripting and so more suitable than Perl or Python for engineers which are not experienced with real software development. Another reason is due probably to the good integration with the Tk UI library that allows to easily associate a UI interface to some of the scripting tasks, something that is highly appreciated by many engineers: this is not easy to accomplish if you use Pyhton or Perl. However I agree that Tcl is a terrible language that I would avoid for any modern project.

<comment><USER17> I think there is another reason, besides Magic being scripted in Tcl. Back in the days when some EDA companies decided on Tcl there were only a few languages which could be embedded. Tcl was the only one with some popularity, documentation about embedding including sample code and a commercially viable license. For Perl for instance the embedding feature was largely undocumented at the time (early 90s I think) and Perl is GPL which is a no-go for commercial software. Ruby did not exist yet and Python maybe just was not visible enough.

<comment><USER16> Very good point, especially the GPL license one.

</comment></comment></comment></comment><comment><USER18> If you think Brainfuck is a sadistic language, you probably haven't heard of Tcl's upvar:

[https://www.tcl.tk/man/tcl8.4/TclCmd/upvar.htm](https://www.tcl.tk/man/tcl8.4/TclCmd/upvar.htm)

<comment><USER19> Upvar, properly used, is an excellent tool. Years ago I went looking for an equivalent of PHP. One of the first links thrown up by Google was a PHP discussion thread on which the fellow wishing for upvar was told that he was a bigot (or worse) for even thinking of such a thing.

</comment></comment><comment><USER20> In the biomedical community the standard way to interact with VMD[0] - one of the major molecular viewers and really a workhorse of modern biology - <USER2> through Tcl.

I always think this is rather unfortunate, because it means that for many people, their first introduction to scripting ever comes in the form of trying to decipher the Tcl docs and just figure out the simplest things.

[0] - [http://www.ks.uiuc.edu/Research/vmd/](http://www.ks.uiuc.edu/Research/vmd/)

</comment><comment><USER13> A great dynamic scripting language that helped the first startup I worked for, to have a very capable web application middleware for its products.

Similar to AOLServer, and with features comparable to Ruby On Rails, but around 2000.

It also taught me that if one wants performance in scalable application servers, in the end a JIT or AOT compilation support is a must have.

</comment><comment><USER21> Fun fact, in TCL, everything is a string: [http://wiki.tcl.tk/3018](http://wiki.tcl.tk/3018)

Nuke -- the image compositing system used in visual effects -- has included TCL from its origin as far as I know. That would be 1993. Nuke now offers Python, but TCL's still in there.

<comment><USER11> Well, kinda.

The novice says "everything is a string."

The adept says "tcl values are implemented as dual-ported objects, meaning that the internal representation of every value is automatically and transparently converted to the type that is needed at that time."

The wizard says "everything is a string."

Everything can be a string. From the outside, everything looks like a string. And it's considered bad style to violate this principle. But if you're talking implementation, everything isn't exactly a string.

</comment></comment><comment><USER22> IIRC, Xilinx's EDA toolchain (ISE; I haven't used Vivado) used Tcl for scripting. So does OpenOCD [1] (a ISP and hardware debugging tool).

[1] [http://openocd.sourceforge.net/](http://openocd.sourceforge.net/)

<comment><USER23> Vivado is even more heavily dependent on Tcl as they've merged all the separate tools into one application guided solely by Tcl commands. It feels much more like Synopsys Design Compiler which also migrated from its homebrew scripting language to Tcl a few years ago.

</comment></comment><comment><USER24> If you've dealt with vxWorks and Wind River's toolchain, you've been using TCL for over a decade.

</comment><comment><USER25> iRules within the F5 BigIP products are written in Tcl. I spent a lot of time over the last 15-20 years writing/managing iRules and I always quite enjoyed it. Don't have much recent exposure over the last few years, though.

</comment><comment><USER26> This: [http://genopharmix.com/TuataraSum/index-142.html](http://genopharmix.com/TuataraSum/index-142.html) 100% Tcl.

</comment><comment><USER27> I find it the most useful of any language I've used over the years.

<comment><USER3> Can you expand on this? What other languages have you learned, and how are they less useful than Tcl?

<comment><USER28> I don't know Tcl much. But when I learned about Tk in Ruby I kind of expanded my knowledge of Tcl since Tk was the GUI toolkit of Tcl that was borrowed by many other scripting languages.

Tcl/Tk had features like distribution of a deployment binary. It could create an .exe file for Windows deployment for example.

Tk included a Domain Specific Language for layout/GUI controls which was useful, without requiring an additional form designer as in other languages.

Others have mentioned Expect above, it was a good reminder, imagine creating a GUI application to control a command-line tool, Expect allowed for that very easily, as it could keep open the output/input of the tool it was adding a GUI to.

Since it included so much by default, the community could easily contribute with some other tools that you could reuse in your solution. Before "RubyGems" even existed, people were already reusing libraries in Tcl/Tk. :-)

The problem of other languages is that they come with more abstractions than people needed. We can fight against "state" in modern programming languages, but it doesn't change the fact that the more complex we make it, the harder it is for people to just get something up and running quickly. That's why systems like Tcl/Tk cannot be retired.</comment></comment></comment>


Node.js guys discussing async programming style - <AUTHOR> http://groups.google.com/group/nodejs/browse_thread/thread/8dab9f0a5ad753d5

<comment><USER2> I think this is the point where node is getting a bit silly.

It's a wonderful tool with a clear purpose: simple high performance network servers that usually tie together a bunch of different servers behind them. If they are trying to turn Node into something else they are going to hit a brick wall.

The proposal acknowledges that the current JS/V8 cannot really deliver on the original promise that all IO should be async. This is mainly because of awkward syntax in JS. The awkward syntax comes from the lack of native futures.

There are two ways forward: Change JS and add native futures to Node or supply blocking IO libraries to the users and move the complexity of async vs blocking to the programmers. If that's the path they chose, what will distinguish Node from high performance network libraries in other languages, such as EventMachine and Twisted? Node has it's reputation for speed precisely because it doesn't offer any blocking operations.

Personally I think the focus should be on crafting transparent futures into the JS language that Node uses. Take the IO language as an example: [http://www.iolanguage.com/scm/git/checkout/Io/docs/IoGuide.h...](http://www.iolanguage.com/scm/git/checkout/Io/docs/IoGuide.html#Concurrency- Futures)

<comment><USER3> _The proposal acknowledges that the current JS/V8 cannot really deliver on the original promise that all IO should be async. This is mainly because of awkward syntax in JS. The awkward syntax comes from the lack of native futures._

Where does the proposal acknowledge this? This discussion is about different _styles_ of evented async programming, e.g. Promises vs pure function callbacks. What awkward syntax do you mean?

 _If that's the path they chose, what will distinguish Node from high performance network libraries in other languages, such as EventMachine and Twisted?_

The main thing distinguishing Node from these frameworks is JavaScript's easy anonymous functions for easy asynchronous callbacks.

 _Node has it's reputation for speed precisely because it doesn't offer any blocking operations._

Node does offer blocking operations e.g. on the file system. I use them once when the program starts up to read configuration data. It's not going to cause problems unless you're doing blocking IO on every connection.

Node has a reputation for being able to scale to thousands of connections due to its evented nature - not a reputation for speed.

</comment></comment><comment><USER4> Personally, I love the way xmlhttprequest handles asynchrony.

Every process/function that deals with i/o,db,etc should provide at least two events onReady and onError (drop the 'callback' and 'errback' aberrations) and leave JS as pure as it is right now.

Other events may be used like onProgress, onLoad, etc.

<comment><USER4> For example, usinging XHR model:

      file = new File.Reader()
      file.onReady    = printfile
      file.onError    = showerror
      file.onProgress = showprogress
      file.read('myfile.txt')

Not restricted to callback and errback only, more events may be available according to the process being executed, keeping JS as natural as possible.

Hacks can be added on top to handle parallel or chainable process.

One last thing, make the process asynchronous by default and set a property to false to make it synchronous, no need to force a last parameter to a function.

      file.async = false
      file.read('myfile.txt')

</comment></comment><comment><USER5> node is amazing and the community is non-stop.

<http://www.howtonode.org>

<http://wiki.github.com/ry/node/node-users></comment>


The Middle Class Is Being Wiped Out Of Existence In America - <AUTHOR> http://www.businessinsider.com/22-statistics-that-prove-the-middle-class-is-being-systematically-wiped-out-of-existence-in-america-2010-7 <comment><AUTHOR> (I submitted this) - don't agree with all their stats and the article could be better, but thought it would be interesting to hear HN community's views on the issue.

<comment><USER2> The text is hysterical bullshit, and a lot of the examples are cherry-picked, or don't show what they purport to (eg the first graph about the concentration of wealth suggests stock holdings have diluted rather than concentrated over time.

But yes, our economy has some serious problems, and inequality is one of them. Not because I believe in socialism, but because above a certain level we waste a lot of money on guarding the current distribution of wealth, and that has a considerable opportunity cost. See this small but rather influential economics article: [http://www.econ.brown.edu/fac/Glenn_Loury/louryhomepage/teac...](http://www.econ.brown.edu/fac/Glenn_Loury/louryhomepage/teaching/Ec%20222/Garrison%20America.pdf)

My personal hunch is that free economies are never destined for pure equality, but if they drift too far from a Pareto distribution the fiscal disparities will result in sharply increased political polarization. statisticians of the future are going to have a whale of a time with the combination of the census, an unusually severe recession, election data and a massive lexical analysis dataset.

<comment><AUTHOR> I definitely don't believe in Socialism, having personally witnessed its failures, but I've begun to think the free market beliefs I hold don't always benefit most people either.

Seems like the majority of people are more suited for holding a job rather than building a company, by optimizing for entrepreneurship we're benefiting a very small part of society, and as we lose the promise of belonging to a strong, stable middle class with certain amount of effort we're creating a serious risk for democracy. I think we're already seeing political fringe movements creeping into the mainstream as result.

<comment><USER3> But optimizing for entrepreneurship and building companies results in a lot more opportunity for those who just want a job, right?

</comment></comment></comment></comment><comment><USER4> This directly contradicts Henry Ford's opinion in this recently submitted article <http://news.ycombinator.com/item?id=1494361>

Without disposable time and income people won't be able to buy the products which create the wealth of the upper class. If the middle class disappears, the upper class will disappear as well.</comment>


Show HN: Fyipe – Status Page, PagerDuty, Pingdom All in One - <AUTHOR> https://fyipe.com/ <comment><USER2> You literally cloned stripe landing page :(

<comment><USER3> For those who still don't know which, it's this: [https://stripe.com/](https://stripe.com/)

I would advise the OP to make changes to differentiate their homepage enough, there's a line between inspiration and copying and everyone on here has seen the Stripe page.

<comment><USER4> There's [https://www.creative-tim.com/product/argon-design- system](https://www.creative-tim.com/product/argon-design-system) stripe inspired template</comment></comment></comment>


The Dropbox iPhone App is Out - <AUTHOR> http://blog.getdropbox.com/?p=102 <comment><USER2> Good software sells itself. Last night I had a bunch of musicians over and at some point they wanted to share their gig videos with some of the people there; I cracked my gf's laptop open and copied the video to My Dropbox folder, right clicked and copied the URL, then sent it to everyone. The audience had to do a double take, got of their seats and everyone leaned over the laptop to see me do it again. Instant AWE!

I must have increased dropbox membership by 8 people last night :-)

<comment><USER3> I hope you remembered to use referral links! 8x250mb = 2GB of extra space :)

</comment></comment><comment><USER4> Note: it requires iPhone OS 3.1.

If you're like me, and you've been holding onto 3.0.1 because it allows you to tether, you're out of luck.

Unless there's a material reason to require 3.1, I really hope they drop it down to 3.0x. Comments on the blog announcement seem to show a lot of people in the same boat.

<comment><USER5> Drea discusses 3.1 here: <http://blog.getdropbox.com/?p=102#comment-17809293>

<comment><USER6> It looks like they've (temporarily?) disabled the comments. Do you happen to have a cached copy of what he said?

<comment><USER7> > Under 3.0.1 if you record video from within the Dropbox app that video > couldn't be saved to your iPhone photos directory, so if your upload was > interrupted for any reason the video would be lost.

</comment></comment></comment></comment><comment><USER8> Finally, my baby is born!

We'd love it if you could Digg this article too!!

<comment><USER9> Excellent job

Quick request re viewable file types - The app correctly recognises .h files as C, and lets me view them, but not .m files. Would it be possible to add .m files as well?

<comment><USER10> I have a similar request, but for viewing .asm files as assembly code.

Perhaps the option to view unknown files as plaintext?

</comment></comment></comment><comment><USER11> While iTunes was loading, I was wondering if the app would be paid or free. I started calculating mentally, what I would do if the app was paid - thought, okay, for 99cents I'd get it. On reflection, I'd get it for 9.99, but I'd post a nasty HN comment about them. For 19.90, I'd have said no way.

By this time, it had loaded, and I saw it was free. I was like - these dudes are pretty good dudes. Free, yarr? Nice!

<comment><USER11> And then my iTunes popped up and told me that 3.0 was not a high enough version. C'mon dudes, jailbreaking is not that easy for the latest versions, I intentionally stay a version behind.

<comment><USER12> they didn't support 3.0 because of missing capability that caused problems.

<comment><USER11> Like what? The 3.1 SDK did not bring much more in that an app like dropbox would need.

<comment><USER13> "The choice to go with 3.1 was because of a limitation with 3.0.1. Under 3.0.1 if you record video from within the Dropbox app that video couldn't be saved to your iPhone photos directory, so if your upload was interrupted for any reason the video would be lost. With 3.1 we can save the video to your photos on the phone, so if the upload fails you still have a copy and can attempt to upload again.

My apologies for the inconvenience, but when it comes to data loss, we always have to aim for the safest option." - <http://blog.getdropbox.com/?p=102#comment-17809293>

</comment></comment></comment></comment></comment><comment><USER14> Great job. How was the approval process?

I noticed that you are lacking some of the functionality available at getdropbox.com. A quick suggestion is to have a link available from the settings panel. Also, put up your referral program! Have a button for that: "Invite a friend, get 250 MB"

</comment><comment><USER15> This just kicked out iTunes Remote from its position in my "bottom 4." Great viewer that can read a LOT of different formats (pdf, doc, docx, ppt, xls, html, rtf, mp3, mov, mp4, etc [1]). Interesting 'Favorites' category.

This is basically a _better_ version of dropbox (previews are actually faster than downloading and opening different apps). Just......awesome.

[1] <https://www.getdropbox.com/help/80> _(supported formats list)_

</comment><comment><USER16> Does this use your (soon to be public?) api? If so, any news on when it is going to be available?

</comment><comment><USER17> Awesome, and free too. $9.95/mo now feels like a bargain.

</comment><comment><USER18> Awesome app. Trying to thumb through PDFs hundreds of pages long has me thinking that it may finally be time for a 3GS.

In the meantime, any chance of a 'go to page' button?

<comment><USER19> It'd also be nice if the scroll-position was saved when you close the application.. When you reopen the file, it's always back to page 1..

</comment></comment><comment><USER20> The app works simply and beautifully. Reminds me of their web-client. A perfect extension of their services.

I don't think I could ask for anything else. Thanks DropBox.

</comment><comment><USER21> digg us please? ;-) <http://digg.com/software/Dropbox_iPhone_app_finally_released>

</comment><comment><USER22> Very nice! One feature request to add to the pile - it would be great if you could remember which page of a PDF I was last on.

</comment><comment><USER23> bloody well executed. love the tutorial that first loads up as a pdf.

</comment><comment><USER24> As pointless as this post is, I have to say that Dropbox is one of my favourite applications around. It's truly the epitome of "Just Works".

That said, I'd love it if they introduced a lower price plan—I want to give them money, but I don't need the big plan (I'm thinking more in the realm of $2/month for 5GB or something).

</comment><comment><USER25> When you say that it synchronizes the photos + videos on the iPhone, that includes ones taken using the iPhone's camera? How much latency would there be (minus actual transfer time) between capture and dropbox availability?

Does it use the native push notification API for syncing photos + videos from Dropbox to the device?

</comment><comment><USER26> For Apple users, how does this compare to MobileMe/iDisk (Apple provides a free iDisk app for iPhone)?

<comment><USER24> It's free (unlike iDisk), and in my experience Dropbox sync on the desktop is a hell of a lot faster and smoother.

Obviously it doesn't provide the other features MobileMe does, like syncing Preferences, KeyChains etc. But I'd be a very happy customer of MobileMe if iDisk worked as well as Dropbox does.

</comment></comment><comment><USER27> Awesome! Huge improvement over using the web client. One feature request, and I don't know if this is in line with your vision for the app, but it would be awesome if you could edit plain text files from within the app itself.

</comment><comment><USER28> Congrats guys, I finally upgraded myself to a pro account just this morning.

</comment><comment><USER29> Wow, quite a wide range of available file types:

<http://www.getdropbox.com/help/80>

<comment><USER30> These look like the file types natively supported by the iPhone.

</comment></comment><comment><USER31> excellent work. love it. Like the favorite feature. works really smoothly.</comment>


Why not build a knowledge base whose content comes from phone conversations? - <AUTHOR>

For example, consider all those phone conversations to company/government help lines.<p>Are you allowed to make those conversations public? <comment><USER2> There are a lot of legal constraints to recording phone calls. There is a reason why when you call some companies, you are notified that the call may be recorded. If you were not so notified, it would be illegal for the recording to be made.

So your biggest problem in gathering such a knowledge base would be to get permission to gather the data.

But doesn't this put the cart before the horse? Don't most help lines get support FROM knowledge bases, rather than making up answers on the spot that need to be entered into knowledge bases, most of the time?

<comment><AUTHOR> Help lines can clarify information found on the web.</comment></comment>


What Twitter Bootstrap Really Is - <AUTHOR> http://shout.setfive.com/2012/10/30/what-is-twitter-bootstrap/

<comment><USER2> > _Meanwhile, a digital agency designing a micro site for a client with > [existing] assets and branding probably isn't going to [benefit from > Bootstrap]._

I'm curious: why not? One of the major struggles I've seen at big companies and startups alike is the "6 different shades of red" issue that LESS helps with. Another common issue is every page being designed with a different layout because each section is created in a silo -- Bootstrap helps there with the grid and standard-issue components.

In the end, I suppose this isn't all exclusive to Bootstrap (you can make your own style guides and use your own grid). But it seems to me that Bootstrap - or any CSS framework, really - gives you some common ground on which to communicate with your designers.

<comment><AUTHOR> I wouldn't advocate it as a rule of thumb but in my experience agencies end up producing things like <http://boloco.com/> which if you started with Bootstrap you'll end up spending most of your time fighting against it.

As you pointed out, a CSS framework would certainly help but I'd argue in that case you might be better of starting with something else.</comment></comment>


Ask HN: Life hack for printing costs? Ink is eating my budget - <AUTHOR> Hey everyone, I'm curious if anyone has been able to find a sustainable strategy/hack to minimize ink costs over the long term.
We use our printer HP OfficeJet for letter sized black and white document printing, and small to half page image printing(still on office paper). Quality isn't very important, it just needs to be readable for documents and no high quality needs for the images.
We end up spending nearly $30 a month on ink, and I'm trying to find a way to get that cost down as much as possible.
What is your printer/ink combo that keeps costs to a minimum for similar printing needs? Are there notably more efficient printers? <comment><USER2> I have a HP LaserJet printer than ran off the initial toner cartridge for something like ten years. I reckon I don't print as much as you do, but I was impressed.

<comment><AUTHOR> Do you know the model? And is it monochrome or color?

<comment><USER3> Came here to say this, literally any Laserjet printer, I had to research it before for a business plan. Just do research on the best Color Laserjet printer (they come in both color and monochrome).

<comment><AUTHOR> Thanks will do

</comment></comment></comment></comment><comment><USER4> hard to tell without knowing how much pages your $30 a month actually is. There's a wide variety in ink costs. Larger laser printers are quite cheap (the small and cheap to buy models often are surprisingly expensive to run), but nowadays there's a bunch of competitive inkjets too (among others, ones with ink tanks you refill from bottles instead of cartridges are worth a look). Good reviews should cover the cost per ISO page printed, just look for that.</comment>


Linux containers in 500 lines of code (2016) - <AUTHOR> https://blog.lizzie.io/linux-containers-in-500-loc.html <comment><USER2> Docker in ~100 lines of bash: [https://github.com/p8952/bocker](https://github.com/p8952/bocker)

<comment><USER3> "100 lines of bash" is pretty generous. they might as well have just made it 1 line of bash with the way the code is written

<comment><USER4> Only the first few lines of the script look dense. Everything else looks normal to me.

<comment><USER5> Stuff like [https://github.com/p8952/bocker/blob/master/bocker#L94](https://github.com/p8952/bocker/blob/master/bocker#L94) is super dense.

I might write that something like:

        cid="$(
          ps o ppid,pid |
            grep "^$(
              ps o pid,cmd |
                grep -E "^\ *[0-9]+ unshare.*$1" |
                awk '{print $1}'
            )" |
            awk '{print $2}'
        )"

<comment><USER6> I agree with you that their code is fairly dense, yours is overly verbose.

Having said that, looking at their code, I don't get the impression they're optimizing for LOC. There is plenty of verbosity and opportunity to remove lines of code if they wanted.

<comment><USER7> Can confirm. The bocker code (incl. my modest contributions) was targeted towards showing that the Linux toolbox was available and scriptable.

</comment></comment></comment></comment></comment></comment><comment><USER8> Linux containers aren't rocket science, but the system call API is confusing and hard to get right (I find pid namespaces particularly annoying), the basic user commands (unshare, ip netns...) are kind of a pain to use, and orchestration using Docker/Kubernetes is overly complex and opaque. There is clearly room for improvement at all levels.

</comment><comment><USER9> A thread from 2017: [https://news.ycombinator.com/item?id=15608435](https://news.ycombinator.com/item?id=15608435)

</comment><comment><USER10> Liz Rice has done some awesome on-stage live coding, including a very small container runtime in go.

[https://www.youtube.com/watch?v=8fi7uSYlOdc](https://www.youtube.com/watch?v=8fi7uSYlOdc)

<comment><USER11> She has an O'Reilly video course on building container runtime's in go that is really great as well.

</comment></comment><comment><USER12> I'm wondering if MacOS has the requisite system calls to have its own native containers, I imagine it does, Darwin being based on BSD. Are there any products that use that functionality?

<comment><USER13> Not sure how you get from Darwin being based on BSD to Darwin should be able to support something which heavily relies on Linux specific functionality to the point where even Freebsd having trouble [https://wiki.freebsd.org/Docker](https://wiki.freebsd.org/Docker)

Sure with enough changes MacOS could support it, but then with enough changes to anything, so that is not really a sensible measure.

<comment><USER14> The question wasn't about running docker on *BSD or macOS, but rather running some form of native container. Native containers don't rely on linux, they rely on the kernel having some form of containerization primitive.

FreeBSD has jails, which are a native type of container on freebsd.

However, BSD operating systems are really different from each other. OpenBSD doesn't have jails or anything too like containers, and macOS does have sandboxes (which are kinda like a container in some way), but no proper containers.

Docker isn't really related to the question of whether a native container solution exists on non-linux platforms.

</comment></comment></comment><comment><USER15> > _pivot_root is a system call lets us swap the mount at / with another. Glibc > doesn't provide a wrapper for it, but includes a prototype in the man page. > I don't really understand, but OK, we'll include our own._

Probably because pivot_root is a speciality that is used in initramfs boostrapping and is exposed to that scriptology via the pivot_root program that comes from the util-linux project.

</comment><comment><USER16> Simple unprivileged container runtimes: [https://github.com/NVIDIA/enroot](https://github.com/NVIDIA/enroot) [https://github.com/hpc/charliecloud](https://github.com/hpc/charliecloud)

</comment><comment><USER17> I like the use of noweb. Very slick.

</comment><comment><USER18> I was actually wondering what the lowest-resource way of launching a bunch of mostly-idle single port applications in isolation currently is. Docker runtime is bloated, Kubernetes has recommended limits (and enforced on cloud providers), Runc feels like you have to implement Kubernetes/Docker on top yourself. Anyone seen anything else out there to run a few thousand single port binaries and multiplex them with a webserver?

<comment><USER19> Podman with the new crun[1] container runtime is pretty lightweight. Everything circles back to C.

[1]: [https://github.com/containers/crun](https://github.com/containers/crun)</comment></comment>


Extending Native JavaScript Objects. Evil or Not? - <AUTHOR> http://perfectionkills.com/extending-built-in-native-objects-evil-or-not/

<comment><AUTHOR> For the record, the reason why Underscore.js is namespaced in the way it is has everything to do with compatibility and future proofing.

It was extracted from the DocumentCloud codebase, so it had to be possible to embed directly in the website of any major news organization ... without conflicting with any of their JavaScript already on the page. For example:

[http://thecaucus.blogs.nytimes.com/2011/07/31/boehner- outlin...](http://thecaucus.blogs.nytimes.com/2011/07/31/boehner-outlines- debt-agreement/)

... the embedded doc still works, even though Prototype.js happens to be on that page, and has already patched in `Array.prototype.each`.

<comment><USER2> @jashkenas I think your example just happened to not have problems. Underscore.js still has problems (<https://github.com/documentcloud/underscore/issues/7>) with Prototype.js. I have made a small test ([http://dl.dropbox.com/u/513327/underscore_prototype_compat.h...](http://dl.dropbox.com/u/513327/underscore_prototype_compat.html)) to show some of the potential issues.</comment></comment>


The No. 1 reason startups fail: Premature scaling - <AUTHOR> http://www.geekwire.com/2011/number-reason-startups-fail-premature-scaling

<comment><USER2> They say premature scaling, but what they actually mean is a lack of customers for their cost model.

</comment><comment><USER3> Slightly misleading title - it's not scaling in the sense of REDIS MONGINX 2.0, it's more about balancing different aspects of your business.

I was about to say, i'm doing a startup on a $15/year VPS and sqlite. Does that mean i've got a good chance of succeeding?

<comment><USER4> That's not misleading, it's just an additional definition for the word.</comment></comment>


Clear skies and steamy water vapour on a planet outside our solar system - <AUTHOR> http://www.spacetelescope.org/news/heic1420/

<comment><USER2> I have a question to astrophysicists: what drives the progress in knowing more and more details about smaller and farther planets? Better precision of instruments? Computational power of computers? Better statistical models?

<comment><USER3> Progress on all fronts is driving the progress in exoplanets. The Kepler space telescope has been a huge driver, and Hubble, Spitzer, and big ground-based telescopes have played a big role; this new discovery is based on Hubble and Spitzer data runs plus comparison with Kepler data. Exoplanet search will take a giant leap with the planned launch of the TESS space telescope in 2017.

But this exoplanet was first discovered by a small network of at the time 6 extremely modest telescopes (just 110mm / ~4.3 inch objective diameter) automatically controlled by one Linux box in a project built by Gaspar Bakos when he was a student in Hungary.

[http://arxiv.org/abs/0901.0282](http://arxiv.org/abs/0901.0282)

[http://www.astro.princeton.edu/~gbakos/](http://www.astro.princeton.edu/~gbakos/)</comment></comment>


Better Queuing Metrics With Updated New Relic Add-On - <AUTHOR> https://blog.heroku.com/archives/2013/2/21/better_queuing_metrics_with_updated_new_relic_add_on/#

<comment><USER2> Are they going to update their routing? Or just make sure their customers know it's doing it the naive random way.

<comment><USER3> It sounds as though they are keeping the routing but giving users more info about it so they can make better decisions when designing their apps for the platform.

</comment></comment><comment><USER4> I'm really impressed with the way Heroku has been communicating with their customers and the quick action they have been taking. It goes a long way to restore my faith in their long term plans to make this better.

<comment><USER5> _I'm really impressed with the way Heroku has been communicating with their customers and the quick action they have been taking._

By "communicating with customers" and "quick action" You mean how they hid it for years?

I'm all for quick responses to sudden issues, but this is a bandaid for something they didn't address until getting called out publicly.

<comment><USER4> You're absolutely right about not addressing it for years part but I think that the way they are responding to it now indicates that they take it seriously and are wanting to make it right.

</comment></comment></comment><comment><USER6> "Today our partner, New Relic, released an update to the _Ruby_ New Relic agent"

Does this also apply to other non-Ruby frameworks (eg. Django)?

<comment><USER7> I'm an engineer at New Relic. A fix for the Python agent will follow within the next day or two.

Asking around, it sounds like only the Python & Ruby agents are affected by the queue time reporting issue (with the exception of Java, which apparently doesn't report the queue time at all -- but I believe this is a known limitation).

</comment></comment><comment><USER8> Any word on the status of the gem on the Bamboo stack? We have deployed a couple time today, but our NewRelic gem version is still 3.5.3 and being on Bamboo, have no control over which version is used.

<comment><USER9> On Bamboo, you can still specify newrelic_rpm at a particular version in your Gemfile. The agent is only injected if Heroku detected that you haven't added the agent yourself: [https://devcenter.heroku.com/articles/newrelic#bamboo- config...](https://devcenter.heroku.com/articles/newrelic#bamboo- configuration)

</comment></comment><comment><USER10> Unrelated: the kerning on the Heroku blog titles is horrible.

<comment><USER11> Absolutely. I tweeted them a few hours ago. It's bothered me forever!

<comment><USER12> It's actually the tracking (letter-spacing: 1px), a slight difference. [http://www.mmprint.com/blog/2011/typography-kerning- leading-...](http://www.mmprint.com/blog/2011/typography-kerning-leading- tracking/)</comment></comment></comment>


UC Berkeley invested in consultants to boost chancellor's image - <AUTHOR> http://www.sfchronicle.com/bayarea/article/UC-Berkeley-invested-in-consultants-to-boost-9147047.php?t=490c6adc8d6f1f4dfd <comment><USER2> "invested" LOL</comment>


Mountain Lion's new file system - <AUTHOR> http://informationarchitects.net/blog/mountain-lions-new-file-system/ <comment><USER2> I couldn't get past this part:

        Even geeks can't handle folders in folders

Hierarchical file systems weren't invented because it was ancient times and they were the easiest thing to produce. Hierarchical file systems were invented because they are a really, really good paradigm for storing and retrieving hierarchical data - which I strongly believe is still the case for the majority of files.

I didn't read further in to the article so perhaps I missed where this same idea was discussed, but I think a useful idea going forward would be meta- tagging of data. Something very basic like the ability to flag a file and later search or sort by those flags. Do it for specific folders, like the Documents folders. Done.

Now the 'non-geek's can deal with flat file structures and us 'geek's can do smarter things.

<comment><USER3> _> Hierarchical file systems weren't invented because it was ancient times and they were the easiest thing to produce._

Correct. They were invented because it was just past the middle of the 20th century, and they were the best organization mechanism for the resources available. They're also very robust, versatile, and wonderful in innumerable ways, especially for the audience at the time. Unfortunately, they're not the best thing for most users today, when we have more computing power and experience with search as an organization tool.

<comment><USER4> Search is the opposite of an organization tool. It's a tool that allow users to avoid being organized.

<comment><USER3> Or, it's a tool that allows users to have organization, without needing to implement it themselves. (After all, the indexes of the search mechanism clearly have a high degree of organization.)

</comment></comment></comment></comment><comment><USER5> > _Folders are not a feature that beginners muddle through but pro users > require. No one can deal with deep folder structures. Our brain is simply > not built for them._

This is ridiculous. I have computer files I've produced from over the past 20 years. As time goes by, I continually archive them in a big old hierarchical folder called "Archive". Broken down my life phase, school year, project, etc. Without folders-inside-of-folders that whole system would be a _mess_.

Or, programming projects. How can you even imagine organizing your stylesheets, plugins, libraries, components, endpoints, controllers, etc. without folders?

I'm sorry, but throwing away hierarchical folders completely is a monumentally stupid thing to advocate. Beginners might be better off without them, but pro users _absolutely_ require them.

And our brain is most _certainly_ built for them: <http://en.wikipedia.org/wiki/Memory_palace>

Now, I'd love to have tags as well, but "keep your hands off my folders!" :)

</comment><comment><USER6> Coming from Linux, you would think "new file system" would mean that: a new file system.

But its just the same smoke and mirrors Microsoft did when they scrapped WinFS: add magic folders, terrible ideas (translated folder names?) and missing hard features (links) in a limited fashion.

Thats sad, because the file system could certainly do with a complete makeover: metadata, builtin sync with the cloud, backup and encryption as a first-class citizen, etc. etc.

For now, thats only available in enterprise solutions like ZFS or in the still very alpha btrfs.

<comment><USER7> My feeling is that Microsoft is much closer to a post-files world than Apple is. Apple thinks files should stay within the app, which is exactly the opposite of why we had consumer-viewable file systems in the first place. We want/need to be able to edit files in different programs.

Windows 8's Contracts, combined with system-wide Share, and storing everything on Skydrive (so when you log in to another Windows 8 machine with your Live ID, it's all there) is a much more rounded vision for a post-file world, one where you have documents which are shared around, rather than opening apps then pointing at files.

<comment><USER8> And once uploaded, Microsoft will inspect your files and ban/suspend you from SkyDrive, Hotmail, Xbox Live, and the Marketplace if they don't like something. [[http://wmpoweruser.com/watch-what-you-store-on- skydriveyou-m...](http://wmpoweruser.com/watch-what-you-store-on-skydriveyou- may-lose-your-microsoft-life/)]

</comment></comment></comment><comment><USER9> This is bullshit, in a lot of ways.

1) This isn't a file system. It's a file structure.

2) Presumably I can still make directories inside of other directories if I want to, right? Given that this isn't an actual "new file system", they can't stop me, right? This was totally unanswered by the article.

3) If they actually prevent heirarchical file structure, can OSX still be called Unix? I think you need root, /usr, /dev, /etc, et cetera.

4) In all my years of dealing with noobs, I've never seen anyone flummoxed by a heirarchical file setup. Yeah, when they first start out, many people open files by clicking the program and choosing "open". But it usually isn't long before they want to start transfering files between devices, folders and programs. And if you need to do anything like that, you need a file browser and heirarchical structure.

I guess I've read it enough to believe it, but I can't. How can computer professionals actually suggest it should be like this? For _everyone_ and not just some training wheels I can take off?

</comment><comment><USER10> I find the claim that _nobody_ understands multi-level file systems a hard to swallow. Inside my Documents folder, I have a folder for one of each of several organizations I work with, inside of those a set of folders for one of several different things I do for those organizations, and within some of those, a folder for every project I have going on. I don't necessarily need to know the complete path to everything, but anyone can generally look at the directory listing and see what the next directory to look into is.

</comment><comment><USER11> Is it a symptom of the fact that he believes himself to be an expert on the subject that he enjoys using the term "file system" over and over in a way that goes against 50 years or more of common usage? Or was it just link bait for those of us who thought there might be some new HFS+ implementation?

<comment><USER12> I started reading the article expecting to find some sort of description for a new file system and couple of paragraphs in I discovered that it reads like the how to frame yourself as a opinionated clueless twit manual of the year, I am going with link bait. Priceless link bait.

</comment></comment><comment><USER13> Information architecture from a neuroscience point of view.

Concept building: A bottom up hierarchy

Everything you know was learned in the context of prior knowledge. You combined prior experiences, refined them, and over time solidified them into new constructs which you then used to repeat the process for higher level concepts. Visual light and dark blobs become coherent shapes which get associated with meaning and eventually those meanings get associated with names like 'chair' or 'rabbit.'

Content access: A top down (and sideways) lookup.

In many cases we know what we want without bothering to think of the name. Being thirsty may mean you think 'glass','faucet','stream','bubbles', and 'water.' But you don't have to think any of those words to get a glass of water and take a drink.

Unfortunately in much of IT there is a textual interface so you first have to pick a starting word and then use that to find what you're looking for. Any time you think of a word it is physically connected to many other notions, memories, experiences, and other words built over a lifetime of experience.

When we try to describe what something _is_ we access the hierarchy we have learned. A chair is a piece of furniture, which is a solid object, which is something I can touch. We may even use this description to create a hierarchical description.

The tension here is that how we describe things is at best a very limited subset of how our brain connects to information about that thing. These mappings differ from person to person and change over time. One system of hierarchical categorization cannot be intuitive to all people and probably won't be to the same person after 10 years.

IMNSHO The only interface which will 'just work' for organizing labeled objects is one that _knows you_. The best example of this is Google's one box which searches my computer, builds associations between content that are not directly related to the search terms I use, and modifies itself over time based on my behavior.

<comment><USER14> this. OP should keep in mind that any user interface is built upon _learned_ , _flexible_ metaphors for the data it represents... files and folders are a metaphor that break down for some use cases and work well for others...

I always have a hard time taking anyone seriously who thinks that these metaphors can be fundamentally improved. A metaphor that's intuitive for one person could be completely confusing and out of context for someone else.

</comment></comment><comment><USER15> This argument does not make sense at all. Almost everything we do or own in the real world is based on one form of hierarchy or another. Work (CEO > Executive > etc.), Home (Parents > Old Siblings > You > etc), House (House itself > rooms > closets in a room, etc.) These are not just labels and there is nothing geeky about them either. They imply a certain order or sequence of things that can not just be moved around. If there is one thing that we as people are good at, it must be hierarchies.

Tags on the other hand do not imply order of things. They are more about how you'd describe or how you relate to these things. For example you can have a 'favorite' tag and apply it both to your sibling as in 'your favorite sibling' and one of your closet as in 'your favorite closet in your room'. It says nothing about the order of these things just that your like them. Also, tags can be somewhat temporal as opposed to hierarchies. For example if we take a folders and files example, I can have a top level folder called projects which contains sub-folder for each project I've ever worked on. In each of these sub-folders I can then store the project-specific files. I can use 'current' tag to tag the project I'm currently working on. When I finish this project and get another project, I then remove the 'current' tag from the just finished project and move it to the new project leaving the hierarchy intact.

The point is not to use folders when you need tags or use tags when folders are required. The best files system would be the one that allows you to use both as situation demands.

</comment><comment><USER16> When is someone in charge of such things for an OS vendor going to realize that for any of "my" documents, what I really want is to tag them?

<comment><USER17> I would jettison every piece of computing hardware I own right now and switch to the first device that would let me add (and search) tags in file metadata.

<comment><USER18> I think there are some Linux solutions for this using extended attributes (which are by the way pretty easy to use).

<comment><USER19> And one that doesn't, and is AFAIK incompatible with others. Nepomuk from KDE does this with a separate database, I believe this is mostly to allow it to work when xattr isn't available (say for some network filesystems). I've not actually used it much myself, (there's far too many files for me to even begin doing it.)

<comment><USER18> Most Linux distros do not enable xattr support at all by default, which is where the database thing came from. Very annoying.

</comment></comment></comment></comment></comment><comment><USER20> So ... what happens if I drop to the terminal and:

mkdir -p /Users/username/folder1/folder2/folder3

... and then open the finder and navigate to my home dir ... do I just not see past the first nesting ? Is it hidden ?

</comment><comment><USER21> Windows did it first... My Documents / My Downloads / My Movies / My Music / My Pictures. The author makes it seem like Mac's "default content folder" scheme was a novel idea.

<comment><USER7> [citation needed]

I'm fairly sure that Mac OS X was here first, and it was copied to XP. IIRC, I was running Windows ME at the time of Mac OS X, and ME did not have those default folders.

<comment><USER22> <http://en.wikipedia.org/wiki/My_Documents>

Windows has had a "My Documents" folder since win98.

</comment></comment></comment><comment><USER23> I really don't understand what is being said here. How are folders a hard concept?

</comment><comment><USER24> I'll have to see what this is like by actually using it. Right now, my biggest concern is that it usually makes for better usability if you allow the user to organize and group content in a way that makes sense to them. I don't feel this is an area where the OS should take control away from the user.

</comment><comment><USER25> Wasn't the original Apple "filesystem", circa II, a flat one? That is, a list.

Not only is it easier to work with, as the article suggests, but, obviously, it's faster!

I use globbing on a daily basis over other later approaches, e.g. regex. But it works best with a relatively flat filesystem. Too deep, and it's off.

The simplest approach possible.

But before we can fix filesystems, maybe we need to teach people how to name files in ways to make their life simpler. Long filenames and ones with spaces and punctuation inevitably become a huge PITA. Yet we think of these as "must- have" conveniences.

I used to believe that too. But over time I've realized this slows things down immensely and introduces lots of unneeded complexity. Speed and simplicity is more important.

If you can get by with only a "list of files", you are better off.

</comment><comment><USER26> I think funny that it's easier to dumbi-fy the user instead of creating something worth some like tagging and making metada easier and more useable.

EDIT: Also, I think he's referring to iCloud only.

</comment><comment><USER27> Folders or tags are hard in the sense that both of them require a user to think about organisation, when in reality any of them just wants to find the file 'magically' where they last left it and do stuff with it. In most cases this is in some application or (in my opinion still a temporary stop gap) a one level deep file system.

The applications itself will serve the needed context or metadata (type of document, last modified time, access/sharing privileges) to find the files you're looking for.

</comment><comment><USER28> For some reason I think the author is being overly wordy. The point if I understand it, is that Apple is once again moving OSX towards iOS by switching from a strict folder based filesystem to an App structured file system (from the user's point of view). This allows people to find content and files more easily because they will always be where they left them. In the app that uses them.

<comment><USER26> I almost would not mind this if I could open files in new programs like the Share feature of Android. This is one of the reasons I dislike iOS and barely use my iPad for anything but comics and web reading.

</comment></comment><comment><USER5> > _We are the people that put salt and pepper on the pizza before trying it, > because we just know best._

Salt and pepper... on _pizza_?

Is that a thing?

<comment><USER9> I put pepper on pizza. If you have meat or cheese on your pizza, adding salt is just too much (for me).

</comment></comment><comment><USER29> I guess we'll have to see how this holds up: Usually the problems arise not from one's own folder structure (most people know their way around what they've created) but when working together in someone else's structure. Does this approach solve that problem?

</comment><comment><USER3> _> But that's not the real reason why geeks are skeptical. It's because we are smart asses. We are the people that put salt and pepper on the pizza before trying it, because we just know best._

I couldn't have put it better. It goes double for us coders.

</comment><comment><USER30> I'm sure this will add a lot of awesomeness to tasks like creating a web page or an application; all the pngs and jpegs mixed together in Photos, templates and styles in Documents...

</comment><comment><USER31> Nothing to do with file systems, got bout half way before I realised this was just some tool talking about how hard it is to keep his shit organised.</comment>


When do i file for a patent? - <AUTHOR>

I have, what I think is a great idea, but it will take me some time to develop and test it. As far as I know, the idea is unique but I don't know if I have to make it first to patent it or just patent the idea, or is the idea all that matters? Help. <comment><USER2> > When do i file for a patent?

 _As soon as possible_. A basic change in patent law has recently gone into effect, which (at risk of oversimplification) grants a patent to the first person to file, rather than the first person to invent (the old standard).

[http://en.wikipedia.org/wiki/First_to_file_and_first_to_inve...](http://en.wikipedia.org/wiki/First_to_file_and_first_to_invent)

> As far as I know, the idea is unique but I don't know if I have to make it > first to patent it or just patent the idea, or is the idea all that matters?

* Ideas can now be patented, so don't wait until you have a working embodiment -- by then, someone else may have patented the idea.

* You need to consult a competent patent attorney, not a public forum.

<comment><AUTHOR> thanks! Do you recommend a google search for an attorney or a site that might help me along the way?

<comment><USER2> Because of the complexity of these issues, you should try to get an attorney that's both competent and local. So a simple Web search won't be that conclusive.

By the way, this sort of thing is very expensive.

<comment><AUTHOR> Yes. I looked up a few in my area, and... yeah. expensive. I'm not sure what to do at this point. I mean, I can pay that high amount of money and hope my product is a success, but that's a lot of money for a giant maybe. My odds may be better with some scratch offs

</comment></comment></comment></comment><comment><USER3> Two tests- 1) Is your idea so great that not only you'll be making money with it, but someone else would want to knock it off so they could make money with it? If not, don't patent.

2) Are you prepared to seek funding for, develop, test, prototype, produce, and market it with full gusto? If not, don't patent it until you are. You lose control of the clock as soon as you start the process, so you better be ready to ride the wave.</comment>


BSD vs. Linux - <AUTHOR> http://www.over-yonder.net/~fullermd/rants/bsd4linux/01 <comment><USER2> Previous Discussions:

\- Nov 26, 2010: [https://news.ycombinator.com/item?id=1942778](https://news.ycombinator.com/item?id=1942778)

\- Aug 13, 2012: [https://news.ycombinator.com/item?id=4374865](https://news.ycombinator.com/item?id=4374865)

\- Jul 5, 2016: [https://news.ycombinator.com/item?id=12034277](https://news.ycombinator.com/item?id=12034277)

\- Nov 10, 2018: [https://news.ycombinator.com/item?id=18421877](https://news.ycombinator.com/item?id=18421877)

<comment><USER3> Lesser attempts, (this one gets around):

-June 2, 2010

[https://news.ycombinator.com/item?id=1396644](https://news.ycombinator.com/item?id=1396644)

-3 months ago

[https://news.ycombinator.com/item?id=17755501](https://news.ycombinator.com/item?id=17755501)

-Jan 16, 2016

[https://news.ycombinator.com/item?id=10915922](https://news.ycombinator.com/item?id=10915922)

</comment></comment><comment><USER4> I've used Gentoo for a long time, and Gentoo (as the article notes) is quite similar to BSD in some ways. It too has a base system. There too the user compiles packages themselves from scratch (though precompiled binaries are available for a handful of packages) in a system like ports (called "portage" on Gentoo). It too has no systemd (unless you want it).

I like Gentoo and still use it, but my biggest problem with it is that compiling packages takes a hell of a long time (especially some monstrosities like QT or webkit, which can take me days or even a week to compile on my old, slow laptop). You really have to have relatively modern system to compile all your packages from scratch, if you don't want to have to do it non-stop, virtually 24 hours a day. It's really annoying. I have better things to dedicate my processor cycles to and my own time to than constantly compiling packages.

So maybe I'll switch. I'm not sure to what, though. I've thought of BSD, but it has the same problem. I don't really like the idea of binary distros either, because of their relative inflexibility (no choice to include/omit package features that you want/don't want), and honestly, I don't really trust binary blobs as much as compiling from source... though maybe in the end it doesn't really matter.

<comment><USER5> How about you rent a VPS, build your packages there, and set up the VPS as your own binary package repository? A $5/month ($0.0075/hr) Linode VPS comes with an SSD, and they're absurdly fast with the network. If it helps (I'm not sure where the bottleneck is most of the time), you can rent a more powerful VPS for a few hours for the build and then copy the built packages to a cheap $5/month VPS for hosting. Just don't forget to destroy the more powerful VPS once you're done. Turned off VPSes are still reserved for you so they would continue charging you for it until the hour you destroy it.

I haven't used Gentoo, but you say it can use binary packages. If it's too complicated, another option could be Archlinux. Building packages is really easy. It's just `asp export $package; cd $package; makepkg` and you'll get a $package-$version.pkg.tar.xz in the directory. If you want to modify something, just edit the PKGBUILD that asp downloaded. It's just a simple bash script with standard conventions. Once you're done modifying PKGBUILD, `makepkg` will make the package.

To make a repository, it's just a matter of putting all the _.pkg.tar.xz in a directory and running `repose -J $repo_.pkg.tar.xz; gpg -b $repo.db`, then hosting that directory with an http server.

Configuring the package manager to use your repo is just a matter of doing something like:

      cat >> /etc/pacman.conf << EOF
      [$repo]
      Server = $url
      EOF

EDIT: Anyone know how we can escape asterisks? The .pkg.tar.xz above is supposed to be a glob.

<comment><USER4> I don't trust VPS's.

<comment><USER5> Security sure is inconvenient. :)

But really, what's your threat model? For a VPS employee/company to mess with your packages, they'd have to be personally targeting you. If you're only worried about systematic, automated handling of all company VPS to insert malware in the ones that have package repositories, then you can probably set it up in an unusual way to evade such a program.

<comment><USER4> What about someone who's located on another VM on the same hardware that hosts mine breaking out of their VM and in to mine and compromising my packages?

<comment><USER5> You have to chose to trust _something_. If you keep falling in this rabbit hole of not wanting to trust anything, your only option will be to stay on an airgapped computer, or even ditching that for a paper notebook in case the hardware manufacturers did something. That's unless, of course, you have the time and resources to manufacture your own computer down to implementing every piece of circuitry in each microprocessor.

I think chances are pretty slim that a VPS company's vps isolation is so crappy that you have the chances of getting your vps hardware shared with someone that knows of such a gapping security hole that could be such a huge liability to the VPS company.

EDIT: Also, why would someone go out of their way to compromise a neighboring VPS, check if they, by chance, have a package repository, and insert malware in that? Who are you, that someone would think that's a good use of their time?

You know, society can't function without trust. Every person that's close to you could suddenly turn around and try to kill you, but you have to trust that they function by reason, and know that they have no reason for doing so. Locks around the world are pretty useless to keep strangers from lock-picking them and very many of them are keyed-alike. Their real reason is to simply make it a greater hassle to get to whatever they're protecting and therefore make it a less appealing target. Like so and with other methods, people implement their security by making themselves a less appealing target. Some people setup the outside of their home as a dump while building a mansion inside. These people trust robbers to act on reason.

No one has perfect security. Security is a matter of choosing what to defend against (your threat model), choosing what you can trust, and anchoring your defenses on the things you trust.

EDIT 2: I removed the paragraph on VPSes being virtual in name only. Linode apparently uses KVM.

</comment></comment></comment></comment></comment></comment><comment><USER6> My favorite

[https://web.archive.org/web/20050211001936/http://linuxisfor...](https://web.archive.org/web/20050211001936/http://linuxisforbitches.com/)

<comment><USER7> Last updated in 2003. Seems eerily prescient, most of what it said back then would apply even more so today. All that would be needed is an amendment to 3) so that it also applies for init systems, to bring that list fully up to date.

<comment><USER6> I have the site archived and a domain quite similar. Maybe one weekend and some beer will breathe life back into it ;)

</comment></comment></comment><comment><USER8> Could iOS vs. Android be understood as a faint echo of BSD vs. Linux?

<comment><USER9> iOS has some copy-pasted BSD code, but is probably the mainstream operating system that feels the least like {Free,Open,Net,Dragonfly}BSD. These feel even more "open-source" than Linux. Every one I have used installs the source code to the entire OS in /usr/src and make it very easy to change and recompile the system. On the BSDs I mentioned, if you don't understand how something works or you want to fix some bug, it's usually pretty easy to go find the source code, read it and learn how it works, and fix it. On most Linux-based OSs you would have to go figure out which random organization makes the component that has a bug (Linux project for the kernel, GNU for a lot of utilities, zillions of others for everything else), figure out how to download and build the source and install it into your distro (which is probably totally unsupported since your distro will expect to be using RPMs or DEBs rather than random stuff installed from tarballs...)

This is the most salient feature of the modern pc BSDs to me. It's impossible to describe how different it feels to be truly in control of your system and understand/change it however you want.

</comment></comment><comment><USER10> I'd say that Linux's popularity tend to translate to technical superiority, which then contributes to continued popularity.

Take something like Docker. Because Linux is popular, it was initially developed for Linux. And because Docker runs (best) on Linux, you get more deployments of Linux, and hence whoever makes the next big thing is more likely to develop it for Linux.

The end result is you have an OS that scales from smartphones to supercomputers, and so one needs quite a good reason to replace it.

<comment><USER11> > I'd say that Linux's popularity tend to translate to technical superiority

Linux isn't exactly technically superior to other OS kernels, and it's definitely lacking in innovation.

You cite Docker as an example, but that's a shining example of Linux taking major innovations from other OSes and copying it badly. BSDs had jails and Solaris had zones long before Linux got containers, and whereas those were considered security features on other OSes, Docker containers are not seen as improving the security of systems.

Other features like this exist too. Linux has refused to allow better IPC mechanisms such as what Android to be upstreamed, and the Linux replacement for select/poll is generally considered to be the worst of the bunch.

Another consideration is that both smartphones and supercomputers tend to use lots of modifications to Linux not present in desktop kernels. Android, as mentioned above, uses a different IPC mechanism, while supercomputer applications rely a lot on libraries that bypass kernels because scaling to highly parallel 100,000-core systems requires breaking POSIX a fair amount (particularly the filesystem semantics).

</comment></comment><comment><USER12> I had to stop reading when he claimed that the BSD heritage of macOS is only of academic interest. The guy has clearly never tried to use macOS.

</comment><comment><USER13> The article is meh, but the nostalgia was off the charts. I miss people having their own personal web sites. I made my first in 1995. Good times.

</comment><comment><USER14> Linux has more drivers for the latest hardware.

<comment><USER15> In my experience that only comes into play with Laptops. FreeBSD supports pretty much any server or desktop hardware an organization or person has. Also FreeBSD has never made Laptop support a goal of the operating system, FreeBSD is primarily a server operating system for which it does a great job.

<comment><USER16> My experience has been that FreeBSD in particular has issues with graphics drivers. My 2015 desktop with a (at the time) mid-range Radeon card is only barely stable (took some fiddling with ports) in the latest 12 release. I hear Nvidia is better, but I refuse to use proprietary drivers.

I didn't really find that FreeBSD offered any advantage on the desktop over Linux, and features like browser sandboxing seem to (understandably) be lagging behind.

Lots of people are running away from Linux because of systemd, but that's a non-issue for me. It works just fine.

Curiously enough OpenBSD works perfectly OOtB, but in the end I returned to Fedora anyway because there's no support for Wine or Steam. I'd prefer it over FreeBSD though since I like the design of the base system better.

</comment></comment></comment><comment><USER17> The actual content is supremely uninteresting, even ignoring its obsolescence. (And SCO never owned any Unix source code.)

But what a tour-de-force of passive aggression! I kneel.

</comment><comment><USER18> "Unices"?

<comment><USER19> Unix -> unices, much like index -> indices.</comment></comment>


My Watch List daily report - <AUTHOR> http://busfeed.com/CRM/intelreport.aspx?bzxi=50c68bb4-a685-4d03-874c-eddc3123065c

<comment><AUTHOR> To get a Busfeed 30 days subscription use Promo code: BF_30DAYS_PROMO

No credit card required and no commitment, thanks.</comment>


Ex-NASA OpenStackers launch Nebula cloud control freak appliance - <AUTHOR> http://www.theregister.co.uk/2013/04/02/nebula_one_openstack_controller_appliance/

<comment><USER2> I wrote up a long post wondering about the efficacy of deploying an openstack solution that combines so many features into one box (the network (quantum?) and controller)... and then I read further down into the article that the price per unit is expected to be $100,000??

I question exactly who in this space is going to pay that kind of fee when you can get a distributed solution from a company like Piston for a much lower cost (also, you're distributing more in a case like this).

The ability to have everything in one plug-and-play device is quite tempting but also runs kind of counter to the general OpenStack environment in many ways.

<comment><USER3> In the market I think they are aiming at, $100,000 is quite reasonable or even cheap if it can deliver a plug and play private cloud that can scale out to 5 PB.

<comment><USER2> Thinking about it on the other hand I suppose that is indeed true. I'm with a couple other posters on the other threat though and wondering how they plan to have this truly HA.

</comment></comment></comment><comment><USER4> I have no idea why a software platform company is selling hardware.

What does this thing do? Orchestrate rightscale?

<comment><USER5> "a software platform company"? Who's that then? Nebula's first (and as far as I am aware, only) commercial offering is... a hardware appliance!

<comment><USER6> Yeah, that's correct, we're a computer systems company. We're making hardware, and the software that goes on it.

</comment></comment></comment><comment><USER7> This horribly written article treats the phrase "control freak" as if it's a term the general public knows.

<comment><USER8> I read it as "(cloud control) (freak appliance)".</comment></comment>


Sometimes It's Better to Just Start Over With iCloud Photo Library Syncing - <AUTHOR> https://daringfireball.net/2018/10/icloud_photo_library_start_over <comment><USER2> Why this needless editorialising? Why not use the title from his blog?

"Sometimes It's Better to Just Start Over With iCloud Photo Library Syncing"

<comment><USER3> Right, the submitted title ("John Gruber files an Apple bug report on his weblog") broke the site guidelines, which ask: "Please use the original title, unless it is misleading or linkbait; don't editorialize."

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


The Computer Language Benchmarks Game - <AUTHOR> https://benchmarksgame-team.pages.debian.net/benchmarksgame/ <comment><USER2> Was there something in particular you found interesting?

</comment><comment><USER3> For speed, Lua code should be run in Luajit.

<comment><USER2> The latest version of Lua supported by LuaJIT is Lua 5.1 — Lua 5.2 was released on 16 Dec 2011.

Lua 5.3.5 is the current version.</comment></comment>


What should Mozilla (or any organization) look for in an automated review system? - <AUTHOR> http://curtisb.posterous.com/what-should-mozilla-look-for-in-an-automated

<comment><AUTHOR> This post is not really as Mozilla-specific as the title might indicate. By the time I was through with it, it was more about some general features and functionality that I think an automated review system (e.g. Mondrian, Rietveld, or Review Board) should provide, based on my experience with Mondrian when I was at Google. I'm curious what other people's experience has been with these tools, or, for that matter, with code-review-heavy processes without dedicated tool support.</comment>


Ask HN: What to ask during interview for CTO position? - <AUTHOR> I am having an interview next week for a CTO position in a company founded in 2009 and acquired in 2016 for about $100M. The company still operates independently.
I have an engineering / tech management background and already have a decent understanding of their tech situation and challenges. I would like to learn more about their finance and strategy.
What questions should I ask? Any ideas are welcome! <comment><USER2> I'm assuming you are replacing a CTO...the obvious question would be why is the previous CTO leaving.</comment>


How natural are nature documentaries? - <AUTHOR> http://www.theverge.com/2016/8/15/12471540/the-hunt-bbc-nature-documentary-realism-predators-truth-and-art <comment><USER2> People define things like 'nature' and 'documentary' differently. Some people assume something is a 'documentary' genre even if there is no verbiage to suggest it. Fortunately it's not that tough to research which documentaries are legitimate and have a good reputation if you really care that much.

Narrative techniques and emphasis on 'the interesting stuff' is to be expected on TV. If you're trying to learn by watching docs airing on TV you're taking the wrong approach anyway IMO. I haven't had cable in years but I don't mind 'nature' footage in the background at all.

as a sidenote - I like the 'documentary' Koyaanisqatsi - to those who have not seen it, there's no spoken words, just a soundtrack. It's an interesting juxtoposition of scenery ranging from untouched by civilization to the heights of scientific achievement.

<comment><USER3> Regarding your side-note, I enjoy Samsara _much_ more than Koyaanisqatsi.

</comment></comment><comment><USER4> Haha, good catch and revelations in this article. It's funny, I find myself explaining to my daughter whenever she watches any form of video footage while we're out and about during our day that "they're only actors". I remember once watching some old Kurosawa movies and he did this one take bit or some other really long scene that moved so slowly, I found myself getting edgy and bored. And then it struck me, "wait, this guy is like letting parts of the film unfold at real life pace". And that's the crux, when filmed things transpire at the pace of real life they seem slow and dull. Most produced and edited material adds a great deal of effect and storytelling, but it's funny to see that apply to something you'd think was completely unadulterated natural footage. Good oxymoronic effect.

</comment><comment><USER5> I was recently disappointed to see loads of computer-generate shots in documentaries. I feel cheated by it I guess? Stuff like Shark Week being half fake [http://www.oregonlive.com/movies/index.ssf/2014/08/anger_bui...](http://www.oregonlive.com/movies/index.ssf/2014/08/anger_builds_over_shark_weeks.html)

[http://www.huffingtonpost.com/2015/05/12/nature- documentary-...](http://www.huffingtonpost.com/2015/05/12/nature-documentary- tricks_n_7249528.html)</comment>