A 'Binary' System for Complex Numbers (1965) [pdf] - <AUTHOR> https://www.nsa.gov/public_info/_files/tech_journals/A_Binary_System.pdf <comment><USER2> Walter Penney also invented a binary game: [https://en.wikipedia.org/wiki/Penney%27s_game](https://en.wikipedia.org/wiki/Penney%27s_game)

> Penney's game, named after its inventor Walter Penney, is a binary > (head/tail) sequence generating game between two players. At the start of > the game, the two players agree on the length of the sequences to be > generated.

> This length is usually taken to be three, but can be any larger number.

> Player A then selects a sequence of heads and tails of the required length, > and shows this sequence to player B. Player B then selects another sequence > of heads and tails of the same length. Subsequently, a fair coin is tossed > until either player A's or player B's sequence appears as a consecutive > subsequence of the coin toss outcomes. The player whose sequence appears > first wins.

> Provided sequences of at least length three are used, the second player (B) > has an edge over the starting player (A). This is because the game is > nontransitive such that for any given sequence of length three or longer one > can find another sequence that has higher probability of occurring first.

</comment><comment> s-phi-nl Essentially, this defines a homomorphic pairing function[1] for the integers. A Gaussian integer can be seen as the pair (a, b) where a and b are integers. This assigns a unique natural number to each one.

One can use this to show that pairs of integers have the same cardinality as natural numbers.

Further, since one can sum the binary representations of two numbers and get the representation of the result, this is homomorphic under addition. I have never before seen a pairing function with that property (not that I have seen many).

[1] [https://en.wikipedia.org/wiki/Pairing_function#Cantor_pairin...](https://en.wikipedia.org/wiki/Pairing_function#Cantor_pairing_function)

</comment><comment><USER3> why was this classified??

in any case this is really clever. the norm-squared of 1+i in the Gaussian integers is (1+i)(1-i) = 1 + 1 = 2. the norm is sqrt(2).

another way to think of this is we can color a checkerboard like this:

      xoxoxoxo
      oxoxoxox
      xoxoxoxo
      oxoxoxox

The o's are "even" in this binary system and the x's are "odd"

So in a sense this is the "square-root" of the binary numbers in the complex intgers Z[i]

I wonder then how "carries" work in this binary system?

<comment><USER4> > why was this classified??

It wasn't, it isn't clear to me what it even has to do with NSA. It was published in Journal of the ACM, Volume 12, 1965: [http://dl.acm.org/citation.cfm?doid=321264.321274](http://dl.acm.org/citation.cfm?doid=321264.321274).

Actually the -1+i base was proposed by S. Khmelnik a year earlier (at least according to Wikipedia, I can't read Russian...)

</comment></comment><comment><USER5> If scalar numbers could be called "1D", then could these `a + bi` numbers be called "2D"? ie, an ordered pair? ie, a vector?

IFF I'm understanding the above correctly, I have a question: does encoding scheme described in this system let you add/subtract vectors using the fast integer hardware in CPUs?

<comment><USER6> Vector operations are already possible in hardware using the fast, well, vector hardware in the cpu.

And ime the speed up from using integers is minor and often not the cost from conversion (to e.g 28.4 fixed or similar), since you often need floats in the end.

</comment></comment><comment><USER7> It's too bad there's no analysis here of the comparative cost (in terms of logic gates or whatever) between this system and a conventional pair-of- numbers representation, for various operations (e.g. addition, multiplication, negation, multiplicative inversion, trigonometric functions, ...).

My suspicion is that this kind of thing wouldn't have enough savings to be worthwhile except for very specialized problems, but it's hard to guess without seeing someone try. It would be a fun thing to play with for a high school student with a bit of free time.

</comment><comment><USER4> This was published in JACM Volume 12, 1965: [http://dl.acm.org/citation.cfm?doid=321264.321274](http://dl.acm.org/citation.cfm?doid=321264.321274). So for it to be unclassified it would have to somehow have been classified after being publicy published.

<comment><USER8> I think you are confusing 'unclassified' and 'declassified': declassified means that it was previously (but no longer) classified; unclassified means that it is not classified.

If this had been classified then declassified it would have the original marker (but crossed out), and the text at the bottom would be "Declassified and Approved for Release", rather than just "Approved for Release". For an example of this, see [https://www.nsa.gov/public_info/_files/cryptologs/cryptolog_...](https://www.nsa.gov/public_info/_files/cryptologs/cryptolog_01.pdf)

<comment><USER4> Yeah, I think I (as well as other users) got confused by it being "unclassified in 2011" as the title said previously.</comment></comment></comment>


Relay Computer - <AUTHOR> http://www.relaiscomputer.nl/ <comment><AUTHOR> MERCIA is special, because it is entirely build out of relays and passive components (diodes, dipswitches, resistors and capacitors). No chip-based memory is used.</comment>


Fiction or Nonfiction? - <AUTHOR> http://breckyunits.com/fiction_or_nonfiction

<comment><USER2> 7F, 3NF; I didn't like this as a metric for myself, because I don't think that the highest value a book can have is "changing my life." The books that most changed my life (by my reckoning) were just the first, not the best. My life will change one way or the other, but that's not why I read.

<comment><AUTHOR> Interesting, thanks for sharing.

Maybe "life changing" wasn't the best term to use.

> I don't think the highest value a book can have is "changing my life."

What do you think the highest value would be?</comment></comment>


Oracle CEO Larry Ellison: I don't know if Java is free - <AUTHOR> http://news.cnet.com/8301-1035_3-57415324-94/oracle-ceo-larry-ellison-i-dont-know-if-java-is-free/

<comment><USER2> While I certainly prefer iOS to Android ... it's really unfortunate that such a situation has emerged. I think the Android platform has only done good for our planet. Developers have more jobs, more interesting apps are being created, more devices are being sold, there are more powerful and less expensive devices in the smartphone world that are becoming popular in emerging markets and third world countries (don't quote me, but a nearly free Android handset in Nigeria?) Mobile is a paradigm shift. People are more and more connected while away from their homes and desks. Payments are going mobile. Also, Android is the biggest competitor to Apple. I'm certainly an Apple guy in all aspects, but I do appreciate competition in the market to keep everyone working hard and innovating.

Sucks that Oracle will not consider any of that. That no terms could be reached out of simple goodheartedness. Oracle isn't losing money because of Android as far as I am concerned. There might be profit lost due to licensing, but it just feels wrong to me.

<comment><USER3> > Oracle isn't losing money because of Android as far as I am concerned. There > might be profit lost due to licensing

From an Oracle shareholder's point of view (which I'm not), lost licensing fees == losing money.

<comment><USER4> By scaring everybody away from the Java ecosystem, I believe they'll lose a lot more money on the long run.

<comment><USER3> Is Oracle really scaring their customers (read: enterprise)? I really don't think they care about people on this board or twitter. They earn a lot of money with their current model which involves payments from companies. From a company point of view, Oracle is a lot more stable than Sun ever was.

>> On a personal note, I really wish both Oracle and Google had handled this quite a bit differently. Google probably should have gone with Python when it looked like Java was going to cause trouble. Sun / Oracle really needed to have a decent smart (not feature) phone spec for Java / JVM with a small licensing fee. Java seems cursed with anything that needs an actual UI, something always goes wrong.

<comment><USER4> Enterprises move very slowly, but, if Oracle starts trying to aggressively monetize Java, future deployments may end up using alternative technologies.

In Google's defense, when they started Android Java belonged to Sun. Sun never was as malignant as Oracle.

In retrospect, they should have acquired Sun (maybe Larry and Sergei would have to pool their credit cards). That Sun ended up being part of Oracle is a larger tragedy than DEC ending up being acquired by Compaq.

<comment><USER5> Really? I would have thought that in retrospect it's clear that Google should not have bought Sun. If they lose in the courts, they're still rather unlikely to end up paying $7 billion in damages...

Really Google wouldn't have done anything with Sun except for the patents. No use for the hardware or services business, no use for Solaris, limited use for controlling Java, etc.

<comment><USER4> There is a huge value in preventing year-long problems and just moving on.

Google is in the business of making people use the web. More Solaris servers, more Java applications (I have some issues with that, but let's play along this line) can only be a good thing for them.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> So the message is pretty clear. No one should ever again build anything on top of Java.

<comment><USER7> The lawsuit is not about building on top of Java; it's about building JVMs. Sun said all along that if you build a JVM you need to be compatible and in some cases you need to pay.

<comment><USER8> And who in their right mind would want to build software on top of the JVM if what you say is true?

<comment><USER7> Everyone? People generally like JVMs to be compatible. Since you're not making a specific argument I don't really know how to respond.

<comment><USER8> What you're implying is that the JVM is a proprietary platform. I think most people have treated the JVM as an open platform all these years (or they trusted Sun to effectively treat it as such), and I bet many of them wouldn't have used it if they'd thought it was a proprietary platform where the only allowed implementations have to be approved by Oracle.

You seem to be implying that it's no big deal if it is proprietary. I disagree.

</comment></comment></comment></comment></comment><comment><USER9> Bryan Cantrill (formerly Sun, then worked for Oracle, now working elsewhere) talks about Oracle in his interesting talk here: [http://smartos.org/2011/12/15/fork-yeah-the-rise-and- develop...](http://smartos.org/2011/12/15/fork-yeah-the-rise-and-development- of-illumos-2/)

He compares Oracle to a lawnmower - if you stick your hand in a mower, it will cut your hand off.

Oracle is simple in the way that a mower is simple - a mower cuts what is put in front of the blade. Oracle wants money from whoever they can get it from.

</comment><comment><USER10> What's the worse case scenario in this dispute? I'm sure Oracle just wants money, but could they legally prevent Google from using Java entirely? I can hardly imagine rebuilding the Android ecosystem on another language.

<comment><USER11> The worst case scenario is that the court finds, and it is upheld on appeal, that you can copyright the names of API calls, the number of arguments to those API calls, and the types associated with those arguments.

In that scenario Novell would own the copyrights to things like read(int fd, char *buf, int size); and could sue you if you used them without compensation to Novell.

Now that would be hugely disruptive and counter to a lot of existing case law in adjacent areas, perhaps the most directly applicable are Memorex vs IBM in the 70's with regard to making 'plug compatible' storage devices. Memorex made a compatible "DASD" (Direct Access Storage Devices, otherwise known as a hard disk) product and sold it to people who had IBM mainframes. IBM sued, Memorex counter sued, eventually Memorex prevailed and removed the threat of litigation over people whole made 'third party' add-ons.

I don't think this case will try to contravene that case law but you did ask for the 'worst case' :-)

</comment></comment><comment><USER12> How is it that Google (et al) does not just fall back on the _GPL-licensed_ OpenJDK? I understand that Oracle has a lot of money to burn on lawyers and other forms of harassment, but why does it seem that the common wisdom (not just this case, but the whole Java community seems generally scared of Oracle) is to completely ignore the generally accepted legal grants of this one specific GPL-licensed project?

<comment><USER7> OpenJDK would completely suck on a phone; the memory overhead and startup time are about 10x worse than Dalvik. And fixing the overhead requires eliminating JAR files, which breaks compatibility.

<comment><USER12> Vanilla OpenJDK is a resource pig, yes. But one could start off with the OpenJDK code base, drop JAR files and perform other wildly-breaking changes, and end up with a GPL-licensed Dalvik. Claiming current Dalvik as a derivative work of OpenJDK would be dubious, of course. But my point is that a path exists that should be able to morph the Java technology into any new GPL+classpath-licensed system regardless of Oracle's whining, yet it seems like this option is never considered.

</comment></comment></comment><comment><USER13> Ellison doesn't seem to know a lot these days (and this isn't just snark): his moves to purchase then effectively lose influence over various large aspects of the Sun assets (Jenkins, Open Office, MySQL), his vacillation on whether NoSQL is a threat or not, and this ever churning battle with Google over Java...just shows a very unfocused leadership at the helm.

<comment><USER4> There is nothing more dangerous for a person like Ellison than being surrounded by yes-men. When you are effectively shielded from reality, it's really hard to make informed decisions.

<comment><USER13> I'd agree with this. Ellison definitely seemed to have more of a steady hand when he had Ray Lane as COO; a textbook pragmatist, Lane was the diametric opposite of Ellison, and the balance between the two worked really well.

</comment></comment></comment><comment> why-el Is there any other programming language with similar legal history? I would like to know.

<comment><USER3> We probably would have gotten a good preview with the Ashton-Tate vs Fox Software if Ashton-Tate hadn't totally bungled their copyright filings for dBase.

</comment></comment><comment><USER14> I wouldn't answer in his position either. If there's any internal record that he wasn't sure (and how could he be before the trial's over), and if he mentioned it to anyone who isn't a lawyer (no attorney-client privilege), then a definite answer either way invites a perjury charge.

</comment><comment><USER15> I wonder if a ruling that favors Oracle will taint JVM-based languages such as Clojure?

<comment><USER16> This has nothing to do with Clojure, JRuby, or Jython at all to my knowledge.

To understand why: assume Clojure is just a software running on top of Oracle's JVM. Just like Apache Tomcat.

<comment><USER15> Yes, but the same chilling effect that it would have on adoption of JVM-based solutions could transitively pass on to whatever builds on its stack.

</comment></comment></comment><comment><USER17> I wonder what would have happened if IBM won the bidding war for Sun instead of Oracle.

<comment><USER4> Both companies have reputations to preserve. Oracle is just preserving theirs.</comment></comment>


The 'war tubas' we used to spot warplanes before radar (2018) - <AUTHOR> https://edition.cnn.com/style/article/war-sound-locators-before-radar/index.html <comment><USER2> Now I want to hear "Minuet in G for War Tuba" :-)

One of the more interesting things about sailing on Lake Mead outside of Las Vegas was that when conditions were right you could hear people talking on the beach more than a mile away. That you could weaponize this phenomena seems pretty obvious in hindsight.

<comment><USER3> I love how sound carries over water. As a child, I used to sit on a dock on a small lake, and I could see the beach somewhere between half a mile and a mile away, and they would play volleyball. I could hear each noise as the ball was bumped, noticing how the sound was delayed after the viewing of the ball hit. I was totally amazed thinking, "I've just noticed the difference between the speed of light and the speed of sound."

Good times.

</comment></comment><comment><USER4> Any idea why they're all pointed in the same direction, rather than different directions, in photo 4/10?

[https://dynaimage.cdn.cnn.com/cnn/q_auto,w_1100,c_fill,g_aut...](https://dynaimage.cdn.cnn.com/cnn/q_auto,w_1100,c_fill,g_auto/http%3A%2F%2Fcdn.cnn.com%2Fcnnnext%2Fdam%2Fassets%2F181206101633-gettyimages-3224743.jpg)

<comment><USER5> You don't want to scan two angles at once. Direction is determined by probing different angles, not by the difference between two angles.

<comment><USER6> From the article, it seems like the four horns on each individual unit are enough to do the triangulation.

</comment></comment></comment><comment><USER7> Would this still work for modern military aircraft? I wonder if this + machine learning might still be useful, given radar stealth.

<comment><USER8> Many of modern aircraft is supersonic so acoustic detection would be useless, even if it technically works.

<comment><USER7> True (though stealth bombers are subsonic, just). What about headings that are not straight at you though? May still have value detecting things passing by?

<comment><USER9> When I was at military I attended a few exercises where jets were involved. They don't go supersonic but pretty close to it so usually once you start hearing something it's almost over. It's actually quite terrifying to have a jet coming at you at 800 km/h at low altitude. Very surprising, then very loud and incredibly fast. You also hear passing by jets only once they are long gone. I assume radar is just much better than sound.

<comment><USER10> Not just jets, a regular propeller based plane can have that effect:

[https://www.youtube.com/watch?v=4iOoiEbtf2w](https://www.youtube.com/watch?v=4iOoiEbtf2w)

<comment><USER9> Now double or triple the speed, make it much louder and you have a jet.

</comment></comment></comment></comment></comment></comment><comment><USER11> One of my favorite bands has the wearable-size version on the cover of an album.

[https://en.m.wikipedia.org/wiki/Hello_World_(Information_Soc...](https://en.m.wikipedia.org/wiki/Hello_World_\(Information_Society_album\))

</comment><comment><USER12> When I played Bioshock Infinite (2013) I had wondered if the Boys of Silence were conceived based on this idea.

[https://bioshock.fandom.com/wiki/Boy_of_Silence](https://bioshock.fandom.com/wiki/Boy_of_Silence)

</comment><comment><USER13> These structures might very well have non-military (peaceful) applications for physics experiments involving sound...

Sort of like what observatories are to light... these structures might be to sound...

</comment><comment><USER14> I'm kind of disappointed I have never seen these in any movies before. I'm thinking they would have specifically gone well with the recent Man In High Castle series.

</comment><comment><USER15> very interesting. still could be useful against drones, especially as drones get used more and more in espionage and reconnaissance

</comment><comment><USER16> The next iteration, sound mirrors, were featured on Tom Scott.

[https://youtu.be/04F5osXK4vw](https://youtu.be/04F5osXK4vw)</comment>


Can Linux Ever Become Mainstream? - <AUTHOR> http://stephenhaunts.com/2014/04/07/can-linux-ever-become-mainstream/

<comment><USER2> I'm just setting up a brand new, top of the line MacBook Pro Retina after a few years away from Mac OS X on Ubuntu.

The clunkiness of installing Firefox, the virtual disk images (this in particular is so unnecessarily techy I'm gobsmacked it's not been solved in my multi-year abscence from the platform) that litter my desktop after a bizarre matroska like series of unwrappings, and the ugliness of some of the apps (e.g. a VPN that looked likea cut'n'shut of Mac OS X and Java) kind of surprised me, which I suppose is a testament to how far desktop Linux has come.

I'll be happy to get it back via a VM.

</comment><comment><USER3> I am glad the author discovered how far modern GNU/Linux based distros have come, and that they are, indeed, very suitable for the majority of "casual user" use cases (email/web/videos/basic office).

I don't think that it's very surprising today, though - as often pointed out, every Android user is technically using Linux for all of the above (and more). It already is mainstream. On the desktop, not, obviously. But it could, if people had enough incentive to make the transition.

edit: typos

</comment><comment><USER4> Linux is mainstream, it is everywhere except for the desktop. It's in routers/switches, embedded stuff, toys, large part of the mobile world, machinery etc...

</comment><comment><USER5> Yes .. and it already happened in the year 2013 when android's market share blew every thing else !</comment>


Spark email client may have been hacked, according to reports of users on Reddit - <AUTHOR> https://www.reddit.com/r/apple/comments/4sw6hm/has_there_been_a_breach_of_apple_ids_something/ <comment><USER2> In the comments section, the person who appears to be from Spark:

> Hello guys,

> Thank you for the feedback and comments! Our team has been investigating > this a for a few hours.

> What we know so far: 1. There's no breach or data leak according to our > investigation. 2. The new, faster AWS server logic might have triggered > iCloud security algos. We are already working with Apple to learn more > details.

> We are doing some server side work to make Spark much faster, and to make it > ready for the Mac version , which is already in Alpha.

> We will keep you updated once we have more news from Apple side.

> Thank you.</comment>


Today I accept that Rails is yesterday's software - <AUTHOR> https://medium.com/@deathdisco/today-i-accept-that-rails-is-yesterday-s-software-b5af35c9af39 <comment><USER2> I don't get the purpose of the article. So the first complaint is that programming was hip but isn't now. Who cares? Do you program because it is hip or did you choose the language, framework and so on because it is hip? I hope not. Maybe if that is one of the concerns, just change the language. Is Nodejs still hip or Go or do you need to program your stack in Swift even before the language is really stable or as an official package manager?

The next complain is that Ruby is slow. Ok, fine maybe you build the next Uber and you need to scale almost unlimited. Then maybe Ruby is not the tool you should use (disclaimer: I know not that much about scalability with Ruby). Before you need to scale you usually need to get to the market and if your stack is easy and fast to build with Ruby just use Ruby and then rewrite critical stuff with "faster" languages. Hopefully everything is faster then and you don't discover that the database is the bottleneck.

Only the last complaint is something I get, debugging and all the gems. That is something I had problems with when doing Nodejs projects too. Still, being able to add just a module that does all the OAuth2 handling and I just needed to add 2 or 3 lines of code was nice.

So in the end, what is the point of the article? Is it just the roadmap of Ruby that bothers you? Is it the Rails community that consists of lazy thinkers (not my opinion)? Or do you see all the people doing fancy and hip stuff like Protocol-based programming and functional programming and you doing still OOP stuff? If that's it, learn a language from those realms and try it, I'm pretty sure you will find those being the silver bullet either.

I know my comment sounds like a rant, it is not meant like that. I'm just wondering what got you to write the article and what is really bothering you. Also, why are so many people afraid to miss the next big thing? While developing and working with a language and framework you're not just learning that particular language and framework but you learn how to approach certain problems, what pitfalls to consider and so on. You can use that with most other language/frameworks again. You didn't waste your time.

<comment><USER3> They're probably bothered because of the realisation that the foundation of their toolset is made of clay tied together with duct tape. And one can only add so much to the typical web development toolchain before if falls down like a house of cards.

To me it's surprising to see some people finally begin to figure out that dynamic typing, monkey patching, importing packages upon packages can only get you so far. Yesterday it was Ruby, today it's node.js.

Maybe tomorrow we'll have something that doesn't have to be replaced in 6 years again.

<comment><USER4> I don't see the problem. If you get so far and then need to do something else, only then is the time to start worrying about doing something else. Until that point the focus should be on shipping a quality product that satisfies a need. Do that well enough and you will be in a position to start worrying about using better languages for certain problems. Almost every tech company that is slightly mature has multiple languages in production anyhow and they got there because they built stuff and shipped it.

<comment><USER3> The big question is if they got there because of the tools and practices they use or in spite of them. With enough money and talent one can use pretty much anything.

And the problem with having to rewrite your stuff is that the company might go out of business while doing it. Assuming it's something complex, and not e.g. reddit (which I suppose is not at all easy to build as a full product, but at the end of the day is an online forum)

<comment><USER4> If your company goes out of business because you spend time re-architecting then you're doing it wrong. The thing with stuff like Rails is that we don't need money to start quickly. They are amazing for validating a business idea and doing fast iterative agile development which is the core to building a successful startup. Once you've done that and have either cashflow or serious funding you can afford to pull out some functionality into separate services with more appropriate architecture etc. For what most MVP's are, tools like Rails are very good as they optimise for build speed. Clearly they can't do everything and shouldn't be used for some things but for most web things they are a solid choice. Companies that optimise prematurely are far more likely to go out of business.

</comment></comment></comment></comment></comment><comment><USER5> So these days about every language supports any form of "gem" import.

Even Go makes it extra easy because the developer does not even need to care about packaging as long as there is a git endpoint with the code.

And there are two ways of seeing this:

\- One says that this is awesome. Microlibraries allow to make every little module really good by allowing multiple people to iterate on it. That having 100s of dependencies of small modules that "do their thing right" is better than writing functions oneself, which surely leave some corner cases out and decrease the quality of the applications.

\- The other says that this is fucked up. That dependencies break your apps in ways you couldn't have imagined and by surprise. That tracking these problems down is a pain and often requires reading through obscure core that does way more than what you need in the end because it's generalized for every use case. That maintaining dependency hell ends up eating the benefits of not having written the code oneself.

I personally find scary when someone runs "./mvn build", "sbt assembly", "bundle install" and this triggers a download of dozens to hundreds of nested dependencies from a place which has to be online and hopefully hasn't been compromised. On the other side, it is clear that if an existing module does the job, why would you re-invent the wheel? And aren't small modules and microlibraries the expression of "simplicity" the author demands? Not sure there is an easy answer for this debate...

<comment><USER6> What about cherry-picking modules, briefly going through their source code (and, hopefully, test suite), then manually (read: copy/paste) importing them into the project at hand?

What are the ethical implications of this, though? Is it different than importing the module directly via package managers, license file and all?

</comment></comment><comment><USER7> So error handling improvements, dependency consolidation, good gradual typing, good JIT are all things that Ruby will never see? He dismisses NodeJS despite it not having quite the same bag of problems, for one having excellent JIT and (IMO) gradual typing.

</comment><comment><USER8> Complaining about coffeescript...There is absolutely no reason anybody needs to use coffeescript in a Rails project. Rails works perfectly well without it. Now, some people prefer the syntax and find the extra layer of transpiling to be worth it. But if you don't, just use vanilla Javascript! Rails certainly has some things to complain about, but coffeescript ain't one of them.

</comment><comment><USER9> MMkay, Rails is old and should be replaced. Well... to be replaced you need to use something instead, something at least not worser thann "yesterday's software". Rails still great software, despite its "super slow" negative fame it still pretty damn good at getting things done (also faster than like 80% php frameworks)

I don't see any competitors out there. Well.... Phoenix looks pretty damn good. Still, with not-so-mature ecosystem (~2k packages vs ~100k for ruby, same goes for SO questions/answers, blog posts etc) it can't be solution for everyone as of yet. So... What's the meaning of

<comment><USER10> Half the things he's complaining about can be fixed by streamlining dependencies.

If PHP can sort out their mess with more modular components, seemingly driven by Composer and Syphony, then I can't see why Ruby can't sort themselves out.

</comment></comment><comment><USER11> I had the same complaint with Rails: There's too many libraries injecting things into various places, and it's hard glancing at the documentation for any library to see what the rules of the game are.

To give one example, the documentation for just about every function seems to say that it returns 'Object'. What kind of object? You have to dig through the source to find out.

I typed 'image' into rubygems.org and here's the first example: [http://www.rubydoc.info/gems/fastimage/2.0.0/FastImage](http://www.rubydoc.info/gems/fastimage/2.0.0/FastImage)

It doesn't seem hard to use, but notice that all the attributes are listed as returning 'Object'. If I look at the 'type' method, I wonder a few things:

* What is a uri exactly? Is it any old string? Is it an object returned by parsing a string using some standard Ruby library?

* What can be returned? They give some examples of symbols that can be returned. What is the full list?

Contrast that with the types listed in this image library I just looked up on Hackage:

[https://hackage.haskell.org/package/JuicyPixels-3.2.7/docs/C...](https://hackage.haskell.org/package/JuicyPixels-3.2.7/docs/Codec- Picture.html)

I've never used this library before, and I can see roughly how I would use it just looking at the types:

readImageWithMetadata :: FilePath -> IO (Either String (DynamicImage, Metadatas))

"readImageWithMetadata takes a filename, and reads the file returning either an error message or an image together with its metadata"

What exactly is an image? You can click through and see it's one of 13 things:

[https://hackage.haskell.org/package/JuicyPixels-3.2.7/docs/C...](https://hackage.haskell.org/package/JuicyPixels-3.2.7/docs/Codec- Picture.html#t:DynamicImage)

What exactly is an image's metadata? You can click through and see it's an abstract type that can be manipulated using operations like you'd find on a map(a dictionary). In particular, see the 'lookup' function to see how to access things.

Here's a more complex example:

encodeGifImages :: GifLooping -> [(Palette, GifDelay, Image Pixel8)] -> Either String ByteString

"encodeGifImages takes a number of times to loop and a list of palettes, delays, and images of 8-bit pixels, and returns either an error message or a sequence of bytes representing the .gif"

I feel like it would be less clear what needs to be done to call this function with the Ruby equivalent. I'd probably end up looking through the source.

Just as important with the signatures is what the functions are _not_ doing: encodeGifImages isn't rewriting any symbol tables, monkey-patching new methods into existence, changing global variables, writing to a database, opening a file, or printing a log message. I can say all of this because its type doesn't allow it to. I could run encodeGifImages in an interpreter or test without needing any setup.

The Ruby library here wouldn't give anyone trouble either. The examples are probably sufficient to use it. I think with Ruby as long as you can find examples close enough to your specific case you can usually make it work.

But if you're debugging something that doesn't have an example readily handy, the static type system makes it much easier to see what something is doing.

I used Haskell here, but C# or C++ would probably work just as fine for this purpose. Well, unless you're the type who likes to cast everything to void* so he doesn't have to worry about the types.

</comment><comment><USER10> For those who thought "tl;dr", I can sum up this entire post in one sentence - "programming is hard and to be effective as a programmer you need to have at least a reasonable amount of knowledge of the language and frameworks you are using".

Hope this helps.

<comment><USER3> Not only does it not help, it also misinterprets and trivializes the message.

I encourage people to read the article instead and ignore the post above.

<comment><USER12> "Development felt cool"

"Being a programmer was hip, at least for a while"

"we were in a monolithic nightmare of JSP and PHP and over-architected home- brewed frameworks"

I don't like Rails at all, but it reads like an article a long term fan of a technology got let down.

<comment><USER10> I like Rails a lot, but mostly program in C++, and I can assure any disheartened Ruby programmers that many of Ruby's perceived issues are minor compared to the ones I face when programming in C++...

Incidentally, it may seem odd to say - I enjoy programming in C++, even with its problems there is a lot I like about it.</comment></comment></comment></comment>


FCC chairman voted to sell your browsing history – so we asked to see his - <AUTHOR> http://www.zdnet.com/article/fcc-chairman-browsing-history-freedom-of-information/ <comment><USER2> This is awfully misleading. One (the type of tracking referenced) has nothing to do with the other (actual web browsing history, which would spread across multiple machines), other than phrasing.

</comment><comment><USER3> This entire topic is very sensational. I'm still under the opinion that protecting consumer privacy belongs to the Federal Trade Commission. For example, there's nothing stopping Amazon from providing a service about what you bought based on your IP address to advertisers. This clearly falls outside the realm of the FCC.

<comment><USER4> > I'm still under the opinion that protecting consumer privacy belongs to the > Federal Trade Commission.

This is Pai's stated position as well.

I disagree with you both; I think the two commissions deal with different levels of abstraction and have different regulatory models (prospective licensure vs retrospective enforcement, for example).

However this is a topic on which reasonable people can disagree.</comment></comment>


An open Letter to Women in Tech - <AUTHOR> http://johnwilker.com/2012/05/an-open-letter-to-women-in-tech/

<comment><USER3> One of the things I think he's overlooking:

Frequently the reason that people don't go the extra mile of giving talks or otherwise sharing their thoughts and experiences is that they think that they're not good enough or worth less than other people. Sometimes this results in someone with a really great idea or a unique voice staying quiet.

In an industry dominated by men, women have been discouraged from participating or speaking up. It takes time and effort to reverse that damage. I'm glad that he took the time to invite women specifically, but I think his anger at the result is misplaced when it could be more effectively directed at a system that holds decades of inequality in place.

<comment><USER4> fuck. same can be said of geeks who don't speak up. there is no one advocating for them. if the stage is open, and you don't take the fucking chance to get in, don't complain.

<comment><USER5> Having "too few" women give talks isn't a problem. It's just a symptom of the fact that the community is unwelcoming toward women. That's what we're really trying to fix.

<comment><USER6> Why do you assume that the community is unwelcoming toward women? Isn't it just equally plausible that women just don't really want to be in technology- oriented fields? Maybe they just much rather prefer other areas. I know, the thought that men and women are actually different is deeply troubling to those who think that the only differentiator beween the sexes are a couple of sex organs.

<comment><USER5> I'm not just making assumptions. e.g. <https://news.ycombinator.com/item?id=3731441> and <https://news.ycombinator.com/item?id=3894404> and [https://plus.google.com/106119964731604142156/posts/DkFAzuwm...](https://plus.google.com/106119964731604142156/posts/DkFAzuwmcTW) and a lot of other stories.

I do believe that's the only difference, actually. Girls are not encouraged to enter tech nearly as often as boys are. Also they have fewer women as role models in tech. So it's not surprising that they don't enter the field as often.

<comment><USER6> Hmm... Couldn't it just be that men are discouraged (!) from entering basically any field other than science/technology these days? Just have a look at the gender distribution in most majors. Why is nobody making a fuss about creating more "education opportunities" for men in medicine, journalism, communications, education, or just about college in general?

<comment><USER5> No. There is a shortage of software engineers right now. And geeks might be cooler than they used to be but that doesn't mean that everyone is a geek.

<comment><USER6> Huh? How does this relate to anything either you or I have written in this thread? Now all of a sudden we have to get more women into tech because there is a "shortage right now". Why not motivate more men who may be more interested in tech to begin with?

By the way, the alleged shortage is addressed by H1-B visas. They have the welcome side effect of driving down prices of domestic developers, and if this doesn't help, the corporations just collude a tiny little bit and make anti- poaching agreements.

<comment><USER5> OK I think I don't know what you're talking about. :) You wondered if men are being pushed into tech instead of other things. But this is clearly not happening because there is a shortage. So men might be _more_ welcome in tech than women, but clearly neither men nor women are being pushed into tech. We know this because there are not enough men (or women) in tech. If they had been pushed, there would not be a shortage. Clearly both men and women should be pushed more :)

<comment><USER6> Logic is completely absent from your argument. Imagine you are a your typical US high school graduate, and the message you've gotten for years was that women are better at anything, that they are more likely to finish school, get a degree etc. pp. Somehow, you think you want to fight the odds, and have a look around, wondering what you might study. You find that many departments at university lack rigor and due to your preference for logical thinking you go into science/engineering because you find them more welcoming than, say, male- bashing on an institutional level like in Gender Studies and humanities.

The claim that there is a shortage has nothing to do with the fact that tech is more welcoming to men. It's two completely separate issues. Or do you think that just hiring a bunch of unqualified women (or men) will be what solves the problem? There is a lack of skills, not bodies, and it takes some hard work to acquire those skills. Because there are not enough skilled people around, and because tech is booming, there is now a shortage. (I doubt that it's as bad as you think it is. Just look at the Dice board for plenty of disgruntled IT people.)

Maybe we should encourage more men to actually consider college. What about that? Sure, it doesn't gel well with your feminist agenda.

Lastly, do you actually work in tech or are you merely on a PR trip? Sockpuppets are quite common these days and I wouldn't be surprised if some "think tank" had sent a couple of drones to pollute the otherwise intelligent discussion on HN.

<comment><USER5> Sure I work in tech. (Check my HN karma or history.) And almost everyone I work with is male.

Your first paragraph is pretty vitriolic. Actually I chose to go to a liberal arts college with a strong focus on the humanities, because I knew it would get me a more serious education as well as better connections in business. I didn't feel like I was fighting the odds, I was getting a massive leg up on my career.

There were a lot more women than men around because the nursing program was the best in the area. I think only 4 people graduated with me from the CS department, it was very small. The entire CS faculty was women, but even so there was only one girl student in the entire CS program (not counting the beginning classes which most people didn't pass). This was mainly because the boys in the classes had started studying computers much earlier, so the girls thought they must somehow be less smart when really they just didn't have the same head start. That's also discussed here <https://news.ycombinator.com/item?id=3836440>

_The claim that there is a shortage has nothing to do with the fact that tech is more welcoming to men. It's two completely separate issues._ I know. You brought it up when you said that men were being encouraged to go into tech, to the point that they were almost being pushed away from other fields. Demographically speaking (looking at the whole population) no one - <USER2> men nor women - is encouraged to get into tech. Therefore there is a shortage of skilled workers.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> I'm amazed anybody, male or female, would speak at an event where tickets cost $600 and they won't even pay for speakers' airfare & lodging.

<comment><USER8> Conferences are lower margin than you think, particularly in tech. They're normally thrown for the good of the community or as a loss leader for some other business/product. If you're lucky, there's a slim profit that can be reinvested into the next conference, or that allows you to pay yourself for the insane hours put into planning. In all, tech conferences are generally a labor of love.

<comment><USER6> This certainly does not apply to conferences that cost a cool four figures to attend and are geared towards the corporate market. Nobody can tell me that the organizers are not making money.

<comment><USER8> Oh definitely -- Legal, Medical, Real Estate, "Corporate Leadership" -- those guys are definitely out for the payday. They also usually are thrown by niche publication/magazine firms, so there's even more to be made.

</comment></comment></comment></comment><comment><USER9> This post prompted me to go check the people we accepted onto the UX stage of Agile 2012 - and we have a 50/50 male/female split. Merit based - sex wasn't a factor in picking speakers. Makes me rather proud of the community we've built up in that particular field over the years.

And community building is what changes things in my experience. People attend conferences to have fun and learn. Speaker or audience. Lose some of that in however small a way for some group and you start losing traction with that group.

I know people who don't attend particular events, or in a few cases conferences in general, because various attendees or organisers or sponsors acted like asshats. Word spreads and it affects future years attendance and submissions if the organisers aren't proactive about dealing with the situation.

Even worse it casts a general air of malaise over the whole field. Attend two different conferences in a row where you're made to feel uncomfortable in one way or another, and it makes you a little less likely to attend the third.... an so things spiral...

The door maybe open - but people's views are tainted by discovering what was actually behind some other supposedly open doors.

<comment><USER10> > we have a 50/50 male/female split. Merit based - sex wasn't a factor in > picking speakers

In a field overpopulated by males at a rate of about 9:1, half of the most qualified speakers you picked were female? Statistically, that doesn't reflect well on the skill of men. I would have expected a merit-based selection process to produce candidates in the same sex ratio as the sampled population.

I had no idea a woman was four times as valuable as a man...

<comment><USER9> _In a field overpopulated by males at a rate of about 9:1_

Intriguing. Where did you get this statistic on folk qualified to speak on integrating UX and Agile? It's a fairly narrow field that I'm intimately familiar with and I've never come across a gender breakdown.

Oh wait... the Agile 2012 submission process is an open one... so I can just go look to see what sessions were submitted.

Of the 51 session proposals submitted to the UX stage there were 19 female and 40 male speakers (this adds up to more than 51 because some sessions had multiple speakers) - so judging by submissions that ratio is 2:1. If we only look at the primary speaker of each session we have a 8/5 split. So, statistically, the men don't come off too badly. Good for us boys.

If you're worried about a gender bias in the CFP then you can find an example at <http://www.ixda.org/node/31640> \- they were sent to many other places but were all pretty much variations on the same theme.

The session reviews and session submissions are public. Just register at <http://submit2012.agilealliance.org/> and browse around. If you detected a bias that has caused us to reject an excellent submission please let me know. Wouldn't want that. We try an make the submission process better each year.

One way that the Agile 20XX conferences differ from many others is that we have a public review process. The review panel gives feedback on proposals - and submitters have a chance to clarify and improve their session proposals. I'm too lazy to go through the history of each session to see whether women were more likely to improve their sessions based on feedback. Can't say I noticed any difference at the time - but it's possible that may explain the difference.

[Edit: Hmmm... it might be a factor at that. More men submitted at the last minute when there wasn't enough time for submissions to be updated after the reviewers feedback - so they lost out on a couple of potential feedback loops.]

 _I had no idea a woman was four times as valuable as a man..._

Or maybe it's just that we try quite hard not to say things like this.

[Edit: removed one unnecessarily harsh word]

</comment></comment></comment><comment><USER11> Just a quick question: has there been any research indicating that more females want to be in tech? That females are unfairly (ie other than ability) excluded?

I realize this may seem a silly question, but so far all I have heard is what percentage of females are programmers, but by the same argument men are being prevented from getting a career in nursing.

<comment><USER5> This article has some information: <https://news.ycombinator.com/item?id=1643180>

</comment></comment><comment><USER12> Nice victim blaming.

<comment><USER4> oh, fucking stop with the victimization complex.

<comment><USER12> Get off your blinders is all I can say.

<comment><USER4> first you open your eyes</comment></comment></comment></comment>


An Illustrated Book of Bad Arguments - <AUTHOR> https://bookofbadarguments.com/?view=allpages

<comment><USER2> Lovely illustrations :)

This line from the opening should really be emphasized: _Since persuasion is a function of not only logic, but other things as well, it is helpful to be cognizant of those things._

While the author leads onto the burden of proof and other topics, to me it serves as an important reminder that you shouldn't treat fallacy lists like these as the be-all end-all of argumentation - everyone is vulnerable to making errors of judgement, and even logically valid arguments aren't guaranteed to be sound.</comment>


Who defaults first: Greece or the US? - <AUTHOR> http://www.bbc.co.uk/news/business-14025485 <comment><USER2> This whole discussion is very depressing, because it highlights how uninformed the people are about what government debt represents. At least that is what a poll with 70% against raising the debt ceiling tells me.

Government debt equals private assets, and so being against government debt is being against (at least one form of) private assets.

If you are against the accumulation of private assets for whatever reason (for example, because you're a communist - see what I did there?), there are still better ways of preventing that than making the government commit economic suicide.

Honestly, the US should just get rid of the debt ceiling altogether, and recognize that the size of the budget deficit needs to be benchmarked not against pseudo-religious standards, but against how much productive capacity is available in the _real_ economy - because that is what you need to look at to prevent inflation (which is the only possible negative economic outcome from a budget deficit that is too large).

Edit: I would appreciate some feedback on why people vote me down. I try to reply to questions and criticism as to the contents of what I write in a calm and clear fashion. I hope people don't just vote me down because they disagree with something that I write, or find it politically uncomfortable.

<comment><USER3> Why does government debt equal private assets?

and another question: why does a huge thing like a country need debt at all, shouldn't it (on average) be debt free?

<comment><USER2> _> why does a huge thing like a country need debt at all, shouldn't it (on average) be debt free?_

Axiomatically, if you sum up over all worldwide assets and liabilities, they sum to zero. That is a fact that simply follows from accounting. So the world as a whole is (net) debt free (until we start trading with extraterrestrials, then things might change).

The US probably is roughly net debt free on average, summing over all domestic private and government assets and liabilities. I don't have time to run the numbers right now. Certainly, even if the US is not debt free on average, its net debt towards foreigners is much less than the government debt, and also less than the sum of government debt held by foreigners.

If people just stopped looking only on one side of the coin, they would realize that and chill out over the government debt.

<comment><USER4> It is not that simple. Have you ever wandered why counties do not have to issue balance sheets at the end of every fiscal year( or at least before every election) ?

Do you understand how easy it would be to judge how a government performed by comparing two of these? And ask all the right questions, exactly as MS investors do with the "developers, developers, developers" CEO?

<comment><USER5> Thats just because they dont want to share the information transparently. New Zealand started issuing a real balance sheet quite some time back, and it is very interesting. It is hard to do as you need to estimate long term liabilities etc.

Here is a summary position and you can find the rest on the site [http://www.treasury.govt.nz/government/longterm/fiscalpositi...](http://www.treasury.govt.nz/government/longterm/fiscalposition/2009/22.htm)

All governments should do this....

<comment><USER3> This is excellent. What prompted them to do this?

<comment><USER5> I forget the original reasons, it was some time back. There is a statement here: <http://www.treasury.govt.nz/budget/2010/is/04.htm>

I seem to remember it was partly prompted by a new government wanting to prove they were fiscally responsible, but also I think there has always been quite an awareness as there is a huge earthquake reconstruction fund (now entirely in external assets) in case of disaster, which would prompt some thinking about assets and liabilities.

<comment><USER4> This is excellent indeed.

Actually, it might come as a surprise but Greece seems to have a lot of public assets which would give it a much better clear position than many other countries in Europe if they were to be compared.

However of course, it is no secret nowadays that even with a great clear position, if cash flow is not positive you may easily go under.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> So, this may be a stupid question but - What happens when a country defaults? What are the consequences of that?

<comment><USER7> Basically, it renogatiates the terms of outstanding debts to a new interest rate, and longer terms.

See also: <http://en.wikipedia.org/wiki/Sovereign_default>

<comment><USER6> So that doesn't sound so bad.

Why are people freaking out on the US, Greece and Spain?

Sorry, I'm totally unfamiliar with these things.

<comment><USER8> Because a default -- even a "technical" default in the form of an extension or renegotiation -- indicates a serious problem in a country's finances, which can affect its credit rating and, in turn, its ability to continue borrowing as well as the value of its currency.

The U.S. has defaulted before, in 1933, but this would still be considered a very significant event in global economics, and economists really don't need another reason to get nervous right now.

There is, by the way, an interesting elephant in the room that I've yet to hear mentioned anywhere: once we've gotten to the point that people start discussing the possibility of simultaneous defaults of several major countries, nobody's really sure what will happen next, _and_ , nobody's really sure how to get out of the hole, since we've never been in this deep before.

<comment><USER9> _"The U.S. has defaulted before, in 1933"_

So it's defaulted.. and look where it is now.

If Greece looks to the US as a model it should default, and the sooner the better.

 _"Because a default ... can affect its credit rating and, in turn, its ability to continue borrowing..."_

Borrowing is what got Greece in trouble in the first place. Perhaps putting and end to borrowing from other countries would put it on a sounder financial footing. At least it would never again get in to the situation where many future generations would be forced to repay the debts of their ancestors.

</comment></comment></comment></comment></comment><comment><AUTHOR> I find it hard to believe that some kind of agreement won't be reached, whether it'll be a sensible one or not, but it's certainly fair to say that there's a chance of disaster, and that a US default would be an awful lot worse than a Greek one.

<comment><USER8> An agreement absolutely will be reached, but that doesn't make the situation much better. It's quite likely that Congress will have to accept yet another increase of the debt ceiling, while we'll see even more cuts from social services at home.

</comment></comment><comment><USER4> An honest, yet a little bit provocative, question: The "mainstream" explanation regarding Greek dept is because Greeks are bon viveurs who spent all the money they could put their hands on on drinking and gambling without financial control. Does anybody know any explanation regarding the US debt?

</comment><comment><USER10> Hilarious typo in a headline in the middle of that article:

"Pubic opinion"</comment>


Show HN: Cover Faces from Protest Photos - <AUTHOR> https://www.gradio.app/hub/hub-blm <comment><USER2> It would be even better if the tool could make a difference between legitimate protesters and those who are there to riot, loot, pillage and burn since I see no reason to mask their faces.

<comment><USER3> Interesting but difficult. What would one do about the rioters wearing "press" on their clothes?

Seems double edged considering the murder / suicide we saw this week in Kenosha

<comment><USER2> For human observers it is rather easy to separate the rioters from protesters when observing video streams. On still images this is much harder unless the image happens to catch a rioter in the act of slinging a Molotov cocktail or swinging a 2x4 at a shopkeeper. A combination of facial recognition and a model which has been trained to recognise rioting and rioters might get you a long way.

...like they're doing in China, except that they're looking for dissenters instead of rioters...

...which is not exactly an endorsement.

<comment><USER4> It's not easy. The protester seen from the front in one video could also be a murderer seen from the back in a different video.

Harmless protesters are safe in the USA. They don't need to be covered up. Covering them is effectively an acknowledgement that they are not in fact peaceful.

<comment><USER2> Well, yes, in the USA this is probably the case. The world is a lot bigger than the USA and encompasses a multitude of countries where protesting is best done anonymously. The 'black block' tactics by the likes of AFA/Antifa are another story, these are people who go out with the intention to harm those who they consider to be their opponents, i.e. the opposite of the term 'peaceful protests' which is bandied around so much. They are the ones I'd like to unmask or at least not have masked by any software made to protect the privacy of real protesters.

On the subject of that protester from one video being a murderer on another, not really. If you only have a single source this problem exists and is unavoidable, so much is clear. When you have multiple sources from different angles it becomes possible to correlate the person seen from the back in source A with the murderer in source B and with that identify that person in source A as the murderer.

<comment><USER4> In one photo, showing a murder, the murderer is seen from the back. (as happened recently in Portland)

In another photo, he is seen from the front, somewhat peacefully protesting. (his daughter was in the vicinity and held a weapon that he could have used)

If the face had been hidden in the protest photo, then that photo would not be useful for solving the murder.

</comment></comment></comment></comment></comment></comment><comment><USER5> nice. I made something similar a few weeks back at [http://deafmute.me](http://deafmute.me). It's a web app that accesses your camera and covers up faces with tfjs, and you can record video by screen recording. tfjs is pretty demanding though, so it's pretty low FPS on older phones, and I never got around to writing a Kalman filter so that flickers wouldnt expose faces for a few frames.

<comment><AUTHOR> Just checked it out! Looks good :) Yeah, tfjs is pretty heavy on the browser, but at least you don't need to process on a server. Try using [https://gradio.app](https://gradio.app) if you want to keep processing on a server/your own hardware.

</comment></comment><comment><AUTHOR> I used Gradio[1] to create and host this interface. Original model[2] developed by Stanford ML Group and LSC-CNN[3].

[1]: [https://github.com/gradio-app/gradio](https://github.com/gradio- app/gradio) [2]: [https://github.com/stanfordmlgroup/blm](https://github.com/stanfordmlgroup/blm) [3]: [https://github.com/vlad3996/lsc-cnn](https://github.com/vlad3996/lsc- cnn)

</comment><comment><USER6> Well done! Feels like it's missing the larger opportunity to protect other protests globally (by using a more generic/pixelated cover).

<comment><AUTHOR> Thanks! Absolutely, maybe I'll add the ability to choose or upload an emoji/cover?</comment></comment>


A Biohacker Regrets Publicly Injecting Himself with CRISPR - <AUTHOR> https://www.theatlantic.com/science/archive/2018/02/biohacking-stunts-crispr/553511/?single_page=true <comment><USER2> Honestly sounds a lot like he doesn't regret doing it. He regrets that others are following his example. As for his business it completely sounds like he's knowingly selling these kits to people who inject themselves but is trying to use the "for educational usage" as a legal cover.

CRISPR has great potential but it's in everyones best interest if people and companies like this are shut down. Clinical studies take time for a reason. The PR announcements of "we discovered a cure for X" come out when drugs have only been tested in mice and rats. There's a reason we spend 5-10 Years after that before a viable drug hits the market. No one is interested in slowing down entry to market. But these jackasses aren't innovating or helping anyone by simply skipping all testing and "crowd sourcing" the clinical trials without any legal or moral responsibility.

</comment><comment><USER3> Can we stop calling them "biohackers" and just call them careless, fame-hungry morons? I mean give me a break, even his introspection comes in the form of a published interview. This is to sciemce what jumping off a cliff without a parachute is to sports.

<comment><USER4> [https://en.wikipedia.org/wiki/Self- experimentation_in_medici...](https://en.wikipedia.org/wiki/Self- experimentation_in_medicine) seems like a subtle topic; as the article points out, a number of these experimenters died or were seriously harmed by their experiments, while others were celebrated for their discoveries. (That's not to express an opinion on the value or foolhardiness of some recent self- experiments is.)

<comment><USER3> Please don't associate actual scientists making a sacrifice for the greater good with these assholes!</comment></comment></comment>


Fusion drive on older Macs? Yes - <AUTHOR> http://jollyjinx.tumblr.com/post/34638496292/fusion-drive-on-older-macs-yes-since-apple-has

<comment><USER2> He has a couple of follow-up posts too:

[http://jollyjinx.tumblr.com/post/34694173142/more-on-byo- fus...](http://jollyjinx.tumblr.com/post/34694173142/more-on-byo-fusion-drive- i-wanted-to-know-how)

[http://jollyjinx.tumblr.com/post/34700977027/fusion-drive- lo...](http://jollyjinx.tumblr.com/post/34700977027/fusion-drive-loose-ends- as-hinted-in-my-last)

</comment><comment><USER3> The moment I saw the fusion drive I was hoping I'd be able to get one as an upgrade to my current mac-book pro (still using a hard drive). But one of the big selling points was the automatic switching of commonly used files to the ssd. I couldn't tell from this blog post if the author was able to recreate that functionality (I'm not very knowledgeable about filesystems), but without it, a fusion drive seems significantly less awesome.

Just having the OS on the ssd is still a big win, though.

edit -- Poor reading comprehension on my part. The new OS X does automatically move files to the ssd. Pretty awesome. Now other world computing needs to start selling them.

<comment><USER4> Apple's fusion drive is not actually a single part; it's a combination of an mSATA SSD and a standard SATA HDD. The way fusion drive is implemented, both devices will need to show up with their own SATA interface for it to work.

Seagate does make single 'Hybrid Hard Drive' parts[1]: an HDD plus 8 or 16GB of flash to improve performance, but you won't see the performance gains that you would with a 128GB flash fusion setup. The flash cache is managed by the controller in those cases, so it's difficult to have apps or OS pinned there.

Alternatively, you can take out the DVD drive in your MBP and use an adaptor[2] to put in a SATA SSD. This would allow you to use Apple's fusion software. I've used this setup before, but its number one drawback is poor battery performance. Moving data lazily between HDD and SSD is fine in a desktop with continuous power, but could draw multiple watts of precious battery in a laptop. It turns out to be better to go full flash.

[1][http://www.seagate.com/internal-hard-drives/laptop-hard- driv...](http://www.seagate.com/internal-hard-drives/laptop-hard- drives/momentus-xt-hybrid/)

[2]<http://www.mcetech.com/optibay/> ($20 copycat on eBay works fine)

<comment><USER5> You have to be extremely careful with compatibility with these Optical Bay adapters and SSDs. I work at an SSD company and these are the #1 cause of issues in the field for users. While we don't officially support them, we still make sure we have functionality - which often requires special firmware customizations that we would not be making otherwise. I would also not expect any other manufacturers even test these.

What I can recommend though, is to go with either a Sandforce-based drive, any Samsung drive, or a Vertex 4.

<comment><USER6> Why? I also have one of these optibay's, and it doesn't contain any active parts: It's just a piece of metal to make your drive fit in the place of the CD drive. Why does this cause issues on the SSD's?

<comment><USER5> The same reason why putting SSDs in external enclosures is extremely inconsistent - power. An SSD needs significantly more power at certain times, depending on the controller. Most of the time, an optical bay does not provide the necessary amperage.

<comment><USER7> I think your facts are a bit off. The "superdrive" in macbooks require significantly more power than a SSD. When you burn a dvd using the superdrive, it requires between 40-50W of power. Even the most power hungry SSDs during heavy sequential write mode use less than 5W of power. If anything, the optical drive bay needs to provide more power than the HDD side of things.

It's more likely that the ebay-knockoff adapters were poorly made than it having anything to do with power requirements.

<comment><USER5> Oh, that is exactly what I meant - the Optical drive bays are all made very badly, and intended for HDDs. The motherboard/connection can certainly power any drive fine, but the replacement bay cannot.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Just a quick aside: jollyjinx is the author of JollyFastVNC and ScreenRecycler (among other apps) and apparently knows his way around OS X at a fairly low- level (i.e. under the hood).

</comment><comment><USER9> To be clear, the author hasn't been able to use a Fusion Drive on an older Mac. He has instead found a way to create something a lot like a fusion drive by combining a consumer SSD and HD, and getting the OS to treat the combination as a single volume. Most impressively, he also was able to use the SSD "first", moving recently used apps and files to this faster drive.

<comment><USER10> Fusion Drive is just a fancy name for CoreStorage joining two independent disks with specific parameters.

Those specific parameters can be replicated using CoreStorage to join two independent disks. How, then, is that not Fusion Drive?

<comment><USER11> All the details aren't out yet, so we can't be certain what is or isn't Fusion Drive. However, the speculation is that Fusion drive is more than merely a union of two disks, but with an OS level automatic tiering. ([http://arstechnica.com/information- technology/2012/10/apple-...](http://arstechnica.com/information- technology/2012/10/apple-fusion-drive-wait-what-how-does-this-work/))

<comment><USER12> > with an OS level automatic tiering.

Yes, exactly. And citing the source you provide, "This [OS level automatic tiering] is almost certainly done using Apple's Core Storage logical volume manager, introduced in OS X 10.7. As a volume manager, Core Storage has the chops to weld the two separate drives together into a single entity and handle the relocation of files between one tier and the other."

So, then, if you can show that you can merge two disks with CoreStorage, and get it to tier them such that recently used apps and files get moved over to the SSD... what more details do you need?

See also the promoted comment on that ARS page: "First off, I am 100% certain this is HFS+ sitting on top of CoreStorage based on comments made to me by by certain former coworkers who are still at Apple."

<comment><USER13> So, it's basically Linux's LVM.

</comment></comment></comment></comment></comment><comment><USER14> Anyone know if this would also work with an older laptop where you replace the optical drive with a HDD and put an SSD in the hard disk bay? That could breathe some life into my aging late 2008 Macbook 13".

<comment><USER15> Yes, see some of the other comments here mentioning the Optibay.

My old-school first-gen Unibody lasted me quite a while thanks to the MCE Optibay. I installed an SSD in place of the superdrive for the os/apps and a 320GB old school spinning drive for music/photos/etc...

That old Core 2 Duo felt faster than most modern computers purely because IO was so much faster.

</comment></comment><comment><USER16> I remember ZFS had fancy things like readzillas, writezillas, logzillas... Sadly, I never had an excuse to play with those.

And since the author mentioned ZFS, it's not hard to make another computer pretend to be a Time Capsule or other Apple-approved way to use Time Machine for backups. For me, my TM backups are on a Linux box with a BtrFS volume.

<comment><USER17> WARNING: Off-topic ZFS blathering just because I like spreading the gospel. ;-)

I don't think I've heard of writezillas.

Not sure the origin, but a Readzilla was just a (rebranding I guess?) STEC Mach8 100GB SSD used as a read-cache. In fact, the Readzilla name is rarely used anymore. The technical name if L2ARC, or Level-2-Adapative-Read-Cache (Level-1 being the system memory ZFS consumes for caching). In operation, this will almost always be used close to capacity as long as you have that much data in the disks behind it.

A Logzilla was a STEC Zeus IOPS (18GB). It operated as something similar to a RDBMS transaction log, aka the "ZFS Intent Log", or ZIL. This is a Write-Back- Cache. Even if you're only running HDDs the ZIL is still there to ensure consistency. If you have SSDs to spare, you have the option of moving the ZIL to those to increase write performance (up to the point you fill up the SSD anyways, which doesn't really happen in practice, though it's possible).

If you lose an L2ARC device, no worries, it's pure cache. Even if it's your only L2ARC device, the worst that's going to happen is things slow down because there's no SSD caching your data anymore. With that in mind, I usually deploy two SSDs for an L2ARC, in a striped configuration to increase IOPs. If I lose one, I still have another, just half the IOPs. If I lose both, well, back to just the performance of my disks, but all my data is safe.

If you lose your ZIL, you've lost your zpool (the whole logical storage array). This means you must MUST _MUST_ always have at least two drives for your ZIL, and they should be mirrored so if there's a failure your data is still safe. Moving the ZIL off to SSD increases performance, and is absolutely something you should do, but similar to the Fusion Drive (though for entirely different reasons), the SSD isn't simply a performance booster, you're actually moving a critical part of your storage system to it. It needs to be protected.

More Trivias: Since the ZIL is part of the storage, this is why the Sun Storage clusters had the ZIL inside the JBODs and not on the 1U server heads. If you failed over from one head to another, you needed to make sure the ZIL went with the backing disks. The heads did contain the SSDs used for L2ARC OTOH since cache is cache, after failing over the new "array master" would just populate it's SSDs as data was read.

<comment><USER18> I use MicroMemory 1GB battery backed PCIe cards for my ZILs. They work quite well.

<comment><USER17> That seems like you're really living on the edge. :-)

My typical setup is:

2.5" 15K-RPM HDDs making up the storage array. Generally in 4 or 5 drive, single parity sets with a spare for every set up to 3 spares (more just seems silly). I build out the array with 2 to 4 sets generally. The more sets, the more capacity and performance while keeping your parity stripes a reasonable size and ensuring a single drive failure doesn't drastically degrade the performance of the whole array.

So with 300GB drives, that gives me (300GB * (5 - 1 (for parity))) * 2 == ~2.4TB usable. Then throw on a couple Crucial M4s or Samsung 830s (had very bad luck with most Sandforce equipment) as striped L2ARC, and another pair as mirrored ZIL.

Then use a caching RAID controller with a BBU in JBOD mode.

The reason you want 15K-RPM drives is that things like replication and volume creation/deletion bypass the ZIL and caches, so while most of the time you'll be able to push ~30K 8K blocks around in either direction sustained with ease, for the low level administrative things you'll be limited by your disk speed. Which in the 10 drive (including spares) 2.4TB example above means you'll have about 1200 IOPs worth of performance you can tap into. If you'd instead used a three-drive single-parity set with 2TB SATA drives, you'd be storing a lot more data on each drive, meaning failures would take much longer to recover from, not to mention the drives themselves would be about half the speed. On top of that, for the lower level operations you'd be limited to about 1/10th the IOPs. Which is not fun at all. Especially if you've made the mistake of attempting to use deduplication. :-(

This is last-generation stuff though. These HDDs offer less storage, and much less performance for about twice the price of a good 512GB SSD today. Any new arrays I build will forgo the L2ARC and ZIL, and go full SSD.

This way you can cut out the 4 SSDs used in the example, and instead of 10 drives, have 10 SSDs. Instead of around ~30K 8K IOPs, you'll have access to 120K. Instead of about 15K for writes, you'll have about the same 120K. And all your lower level administrative tasks will run at the same speed as everything else.

So you'll end up with about 4X the performance at less than half the price, and with ~40% more storage as well. So even if you need the array to have a 4 year life-span, you could replace all the SSDs every couple of years, and continue to expand the performance envelope with whatever the current generation offers, and still end up paying less. Not to mention drive bays aren't cheap. So the all-SSD option means a Dell R820 with 16-bays is now an option whereas before you'd need the 10 drive bays, 4 bays for SSD, and your mirrored boot devices... you'd be looking at buying a pretty pricey MD1220 in addition to the server and now you've given up another 2U as well.

For high-performance IT HDDs are all but dead. We've passed a price/GB/performance milestone where for 98% of use cases, HDDs should only be considered for archival storage, not operational storage. IMO.

</comment></comment></comment></comment><comment><USER19> Is there a way to run a Mac on ZFS? (With a ZFS boot volume, too.)

<comment><USER20> Not the entire boot volume, but close. People have put user directories, etc. on ZFS drives. Google "MacZFS" for an older version (ZFS v8) or "Zevo Community Edition" for a more modern version (ZFS v28). There're active discussion boards for both.

<comment><USER19> Interesting... Thanks!

</comment></comment></comment><comment><USER21> If the author is reading, can he/she specify what model of Mac was used?

Update: He answered me on twitter: MacPro3,1

</comment><comment><USER22> This really makes me want to try out putting DragonFlyBSD on some machine, as its swapcache[1] seems to be quite similar to that (and actually uses a proper FS).

1: <http://leaf.dragonflybsd.org/cgi/web-man?command=swapcache>

<comment><USER18> Linux has several similar implementations, as does ZFS with the L2ARC.

</comment></comment><comment><USER23> Can someone explain how this is different than L2ARC with ZFS?

<comment><USER18> It's quite like like a combination L2ARC + ZIL. However, the L2ARC isn't persistent across reboots (otherwise block writes would need to be journalled, adding complexity) so you don't get the speed benefits until the machine's uptime gets large. Not the greatest thing for laptops. Also, I believe the L2ARC is populated from in-memory pages, while it appears the Fusion Drive can be populated by a daemon process.

</comment></comment><comment><USER20> I noticed he used a USB drive for this(!) I wonder what the failure tolerance is like. What happens if I forget to plug in my USB drive on boot?

<comment><USER24> That's just for demonstration purposes. You'd want to gat an optical bay cradle for a MacBook Pro to do this for real.

<comment><USER20> I was actually thinking about another usage: adding additional "permanent" storage to my 128 GB MBA via the SD card slot.

There's a Kickstarter project (Nifty Minidrives) that are selling miniSD card caddies that sit flush with the MBA SD card slot, so you can permanently leave an micro SD card mounted for some additional storage. In theory, being able to pool the storage with the (faster) boot drive would be great. In practice it'd probably be flaky and a bad idea (especially at current SD card capacities). But something worth thinking about for the future...

</comment></comment></comment><comment><USER2> I'm a little unclear on this write-up. Is it actually doing the "move frequently used stuff to the SSD" part? Or is it just a joined volume?

<comment><USER16> Read part three

</comment></comment><comment><USER25> I gave up on bookmarks-as-bookmarks everywhere except my phone. I can keep the two hundred or so tabs I need open on modern computers, and that plus search engines and history suggestions takes care of me.

With late-loading tabs now standard in Firefox and Chrome, they're really close to bookmarks anyway.

<comment><USER25> Wrong thread. Sorry.

<comment><USER3> Downvoted your original so that it falls to the bottom of the page. Upvoted your apology so as not to punish you for an honest mistake. Though I suspect your 200+ tabs are not entirely unrelated to your confusion.

</comment></comment></comment><comment><USER26> I have to say I'm rather skeptical - the author doesn't say anything about installing the special "late 2012" version of OSX 10.8.2[1] which supposedly contains the functionality. Moreover, as far as I can tell, he's just combined the two drives into a JBOD logical volume (with a total size of the combined drives). So the first 120GB of the volume sit on the SSD, the remainder ends up on the HDD. There's nothing dynamic about it. None of the "benchmarks" seem to disprove this at least, although it's hard to tell until we know how a "real" Fusion Drive behaves.

<comment><USER27> Make sure you also read the other blog posts in his blog. He _proves_ that those chained disks transfer popular files to the SSD when they're accessed more often after a while. He is even on it to show that this technology is file system agnostic and runs even with ZFS, he also found that its block based rather than file based: <https://twitter.com/jollyjinx/statuses/263638394721161216></comment></comment>


The New Microsoft Surface Pro X Is Powered by ARM - <AUTHOR> https://www.businessinsider.com/microsoft-surface-pro-x-arm-based-laptop-ultra-slim-ultra-light-2019-10 <comment><USER2> is this the next thing</comment>


How important is site design? - <AUTHOR>

I am anal about how clean our site is to the point that sometimes, I piss even myself off. Given that you have a very usable product in a not-so-crowded playing field, is site design a major factor? Or do you just do google did? Release a usable, but messy, product and clean the design later. <comment><USER2> I think MySpace is a great study. It's obviously terribly, horrifically designed... but it was at one time one of the most popular sites on the web. Not because it was pixel perfect, but because the social mechanics were designed very well.

Now look at Facebook. It's better designed from a visual and usability standpoint, and I think that gave them a little bit of an edge. But again, what really seems to have driven Facebook's growth is incredibly well designed social mechanics. Photo tagging is huge, for example. The News Feed is a huge engine for growth.

So, I think the answer is that it depends what you mean by "site design". A clean visual design, or even good usability may not be as important as a clean social design, or a clean API design.

As a designer you need to understand what are the key bottlenecks in meeting your goals, and design the heck out those.

Once you're Apple and you have a bajillion dollars, you can afford to polish the insides of your battery cases. But as a startup, you only get a few chances, and you have to spend your design effort where it really counts.

<comment><USER3> I think this really hits the nail on the head. Make sure your product's core function is well designed and the rest falls into place. Because that, my friends, is where it really counts.

</comment></comment><comment><USER4> It really depends right? Some users are looking for an experience, some users are looking for a service, and most users are somewhere in the middle. But depending on your product, your users may expect different things.

For example, if you have a site for coders, having a technical but not completely clean site would be okay as long as it functions (service works as advertised). Of course these same users would probably appreciate good site design more later down the road. On the other hand, if you're making a site like amazon for the typical internet user, an organized site with clear call to actions may be best (good user experience). But later if you change stuff it might freak users out if you're not careful.

Not sure if my input really helps explain anything other than that each site is probably different (I know, I know, I'm a genius...) but I guess what I'm saying is think about how the users are using the site and why, or even better, go out and meet them to ask them.

</comment><comment><USER5> When you're looking at sites like reddit, hacker news and others which don't have a great/nicely looking user interface you would think it's not that important. But I think it also depends on the target group. For consumer- oriented, less internet savy people websites it is essential to have an appealing professional looking design, great usability, ease-of-use and optimised text.

So to answer your question I would release an early messier version to a closed group of beta users, ie. early adopters but before pushing onto the mass market I'd clean it up.

</comment><comment><USER6> If you think your product has potential even with your misgivings about the site design, go ahead and launch. Release early and often, as they say.

As long as your design isn't dead-awful, such that it makes users feel your product is untrustworthy or poor, release now and iterate. You might want to consider getting feedback, either from posting it here as an Ask HN post, or by asking your friends/family/strangers. See what they think, then make an informed decision.

The perfect is the enemy of good. So is the bad.

</comment><comment><USER7> It's hard to say. DrudgeReport and Craigslist seem to be getting on ok, but I personally would use okcupid.com over plentyoffish.com because the design is so kick-ass. I think if the functionality and usability of two sites is equal, a good design can give one the clear edge. We're visual creatures, and even a website can have increased perceived value with a shiny new coat of paint.

</comment><comment><USER8> Design can mean different things to different people.

While you don't need to have a very flashy and attractive website, you do need a clean and usable user interface, and stuff like clean colors and typography.

<comment><USER9> I think this is spot on, but it really depends on the target audience. Having a nice design will help separate you from the crowd, it could even be one of your distinguishing features.

But if you were creating a craigslist for web designers, I would strongly recommend having a nice design - know your target market :)</comment></comment>