In J, functions have inverses (2012) - <AUTHOR> http://prog21.dadgum.com/121.html <comment><USER3> Some commenters are pointing out that this is similar to "with" in Python.[0] At first glance - and using the example given of reading from a file - <USER2> may be true, but consider the final example given in the article. The Pythonic way to calculate the magnitude is something like:

        math.sqrt(sum((i**2 for i in numbers)))

Using "with" to calculate a magnitude would be tortuous at best and it certainly wouldn't result in idiomatic code.

The point of the article is to illustrate the idiom: perform operation A, then operation B, then the inverse of operation A. "with open(foo)" or "using (foo)" implements that idiom in certain, specific cases, but not in the general case which seems to be what J implements.

[0] Or "using" in C#, for that matter.

<comment><USER4> I think the issue here is that the article is talking about two things: a common resource management idiom, and the cool fact that `under(f, g) = f^1 * g * f` implements it.

`with` implements this idiom just fine, too, but `under` is a more general solution that can solve even more problems, if you're willing to be a bit more careful about `f` and `g`.

In the Read/Open case, for example, it looks like Read must return both the read result _and_ the file handle, and Open^-1 must take the read result as input and forward it back out as output. Feasible, but unintuitive for the implementers.

If we were actually implementing this resource management idiom, I'm not sure we _would_ use `under`, even though we could. If we want to write `f`, `f^-1`, and `g` with the more natural `with` semantics, it's clearer to define our own metafunction from scratch: `with(f, g)(x) = (g(f_result), f^-1(f_result)) where f_result = f(x)`.

edit: The follow-up post actually touches on how Read/Open really _isn 't_ a great example of `under`. Interesting. [http://prog21.dadgum.com/122.html](http://prog21.dadgum.com/122.html)

<comment><USER5> In J, you can square a vector and get a vector of the squared entries. So "sum under square" really is doing "sqrt(sum(square(vector)))", and more generally "(a under b) x" does "b^-1(a(b(x)))".

<comment><USER4> Mm, I thought that might be what's up, but had no clue how J actually works xD Thanks!

Even without the mapping wrinkle, though, this is definitely a deviation from the examples the article provides: instead of unsquaring the vector we initially squared, we unsquare the sum.

</comment></comment></comment></comment><comment><USER6> Reminiscent of Haskell's bracket:

        bracket :: IO a           -- computation to run first ("acquire resource")
                   -> (a -> IO b) -- computation to run last ("release resource")
                   -> (a -> IO c) -- computation to run in-between
                   -> IO c

And because of the order of parameters, one may write e.g.

        bracketReadFile :: FilePath -> (Handle -> IO c) -> IO c
        bracketReadFile fname = bracket (openFile fname ReadMode) hClose

to specialize bracket to specific domains.

Everything becomes neat, tidy, orthogonal, compositional.

The function bracketReadFile is itself a specialization of the library function:

        withFile :: FilePath -> IOMode -> (Handle -> IO r) -> IO r

which also builds on top of bracket in the same way. See [https://hackage.haskell.org/package/base-184.108.40.206/docs/src/Sy...](https://hackage.haskell.org/package/base-126.96.36.199/docs/src/System- IO.html#withFile)

(Yes, I'm perfectly aware of the wrinkles that Lazy I/O causes. Assume the above are the strict equivalents.)

<comment><USER7> It's actually Haskell's `over`. (Not `under`, interestingly)

[http://hackage.haskell.org/package/lens-4.12.1/docs/Control-...](http://hackage.haskell.org/package/lens-4.12.1/docs/Control- Lens-Iso.html#v:under)

<comment><USER8> Over is similar, but not identical.

</comment></comment></comment><comment><USER9> Isn't what he's describing very similar to the "with" statement in Python? You can define a context manager to use with "with" that has methods that get executed on the entry and exit of the "with" block, e.g., to open/close a file or acquire/release a lock.

<comment><AUTHOR> What would be the corresponding context manager for the summing example, where you use the square function and the inverse (the square root) ?

Context managers works well for files (or general relations on objects really) but less for more abstract operations, I've found.

<comment><USER10> It's ugly

      import math

      def sqr(x):
          return x*x

      class VecMag:
          def __init__(self, comp):
              self.comp = comp
          def __enter__(self):
              self.comp = map(sqr, self.comp)
              return self
          def __exit__(self, type, value, traceback):
              print  math.sqrt(self.mag)
          def sum(self):
              self.mag = sum(self.comp)

      comp = (1,2,3,4)
      with VecMag(comp) as squared:
          squared.sum()

      $python test.py
      5.47722557505

</comment></comment></comment><comment><USER11> (2012)

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

Don't forget to read the followup: [http://prog21.dadgum.com/122.html](http://prog21.dadgum.com/122.html)

(and yet, people are still misunderstanding it.)

<comment><USER12> We added the date to the title. We also changed the title (with its linkbait 'you') to a representative phrase from the article. We can change it again if anyone suggests a better.

</comment></comment><comment><USER13> If you have posters of Adele Goldberg and Alan Kay in your bedroom, your bedsheets have the Smalltalk spec printed on them, you make an offering to the church of OOP every morning, and you want to push things to the max, you can do that by modeling all your functions as objects and implementing the doing/undoing in the constructor/destructor :3

(I do not advise actually doing this for anything besides being silly on HN)

<comment><USER14> This is actually a very well known best practice in C++, so common that it has an acronynm RAII: [https://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initia...](https://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization)

<comment><USER13> Sure, but you _probably_ shouldn't model the power function as an object (and philosophically, the point of RAII is resource management, not getting function inverses).

</comment></comment></comment><comment><USER15> This is also found in the Ruby hardware description language (not the same as the scripting language). A commonly-occurring pattern is:

R^~1 ; S ; R

where R and S are functions, ';' is composition ('.' in Haskell) and '^~1' is inverse. Usually this is for wiring (change order or grouping of wires to suit block S).

The wrinkle in Ruby is that R and S can be relations, not just functions, so data can flow both ways, just like actual hardware (can only flow from right to left in Haskell). Ruby won't try to guess the obverse function, unlike J.

<comment><USER15> ...and I should have said that you can replace the above by:

S \ R

</comment></comment><comment><USER16> A complete general implementation requires some kind of static notion of an "inverse", which is hard in turing complete languages. But really this is quite a bit like RAII for a lot of practical applications.

<comment><AUTHOR> Yeah, RAII helps encapsulate this pretty well at least for the object case, but the notion of having an "inverse" operation is useful in many other situations.

An example I've run into a lot is wanting a generalized "toggle" for DOM actions in javascript (for example, show/hide), so if some property is true, I apply a transformation, and when the property is switched off I can apply the reverse easily.

The trickiness with RAII (or things like context managers in python) is that it mainly works when you have a companion object representing the action (files are the companion object to getting handlers through opening/closing for example). But what is the object you could use for scaling?

You can, of course, build a Scaler object (or MultiplierFactory ;) ), but I find myself wanting to avoid objects and methods to instead go for plain functions as much as possible.

</comment></comment><comment><USER8> In math this is often called "conjugation". It's also sometimes called "commutation".

<comment><USER17> I came here to say the same thing. In a sentence, you might say "X is conjugated by Y", although "file-writing conjugated by file opening" sounds a bit odd. If an operation X is unchanged by conjugation of an operation Y, you say Y commutes with X.

<comment><USER8> I'm happy saying "file-writing conjugated by putting-a-file-into-scope".

</comment></comment></comment><comment><USER18> I would compare this less to with, and more to Lisp setf, or possibly a lens. Basically, the idea that when you're writing the function, you also write the dual of the function, so that meta-functions (like with) can automatically map the function _to_ its dual (like mapping a getter to the equivalent setter, etc.)

<comment><USER19> That makes more sense.

</comment></comment><comment><USER20> under sounds like with in Python, e.g.

        with open('workfile', 'r') as f:
            read(f)

</comment><comment><USER21> At first, I thought (like many others) the author was speaking about a syntactic convenience for the template method pattern.

Reading various responses and closer inspection of the article made me realize that it seems what is described is more along the lines of a Natural Transformation[1] where the functors are endomorphic[2].

1 - [http://www.worldwizzy.com/library/Natural_transformation](http://www.worldwizzy.com/library/Natural_transformation)

2 - [https://en.wikipedia.org/wiki/Endomorphism](https://en.wikipedia.org/wiki/Endomorphism)

<comment><USER22> The author seems to be getting at something very similar to the notion of "bidirectional programming" [1][2]. It's a concept that's closely related to the indispensable "lens" library in Haskell [3].

[1] [http://www.cis.upenn.edu/~bcpierce/papers/lenses- etapsslides...](http://www.cis.upenn.edu/~bcpierce/papers/lenses- etapsslides.pdf)

[2] [http://www.janis- voigtlaender.eu/papers/ThreeComplementaryAp...](http://www.janis- voigtlaender.eu/papers/ThreeComplementaryApproachesToBidirectionalProgramming.pdf)

[3] [https://github.com/ekmett/lens](https://github.com/ekmett/lens)

<comment><USER21> While I definitely see your point of the concept being closely related to lenses, a key differentiator to me is the incorporation of invoking a functor with the "read part" of a lens and then submitting the result to the "write part."

It's almost like a marriage of Applicative Functor[1] with Lens in a squint- your-eyes-and-tilt-your-head kind of way.

1 - [https://wiki.haskell.org/Applicative_functor](https://wiki.haskell.org/Applicative_functor)

</comment></comment></comment><comment><USER23> Database schema migrations are one obvious place where the idea of reversibility is useful (although there's not really a "do something in the middle" step). ActiveRecord migrations (used in Ruby on Rails) have a way to define a reversible process, and they include reversible calls for basic things like creating a table or adding a column.

[http://edgeguides.rubyonrails.org/active_record_migrations.h...](http://edgeguides.rubyonrails.org/active_record_migrations.html#using- reversible)

<comment><USER21> > > Database schema migrations are one obvious place where the idea of > reversibility is useful...

A framework agnostic tool for addressing this concern is:

[https://mybatis.github.io/migrations/](https://mybatis.github.io/migrations/)

For managing RDBMS schemas, it is very impressive IMHO.

</comment></comment><comment><USER24> Most interesting part of this is that you can link functions together in the following fashion: [http://www.jsoftware.com/jwiki/Vocabulary/codot](http://www.jsoftware.com/jwiki/Vocabulary/codot)

I'm not a J expert; does anyone know if there are any other functions like this in the language?

</comment><comment><USER10> Reminds me of Python's "with". I use it a lot for the "open the file, read, close it" idiom.

</comment><comment><USER25> There's a beautiful example of this in the J implementation of continuous knapsack on Rosetta Code: [http://rosettacode.org/wiki/Knapsack_problem/Continuous#J](http://rosettacode.org/wiki/Knapsack_problem/Continuous#J)

</comment><comment><USER26> Awesome pattern matching. Although, it seems like not all functions are intuitively reversible like the vector example given here.

It seems like perhaps a more pragmatic example of this syntax is the "with" syntax in python, which provides the same benefit with more flexibility.

</comment><comment><USER27> The concept of transactions, whether it be database transactions or software transactional memory, are kind of like this. At some point if something goes wrong you need to know how to un-do all of what you've done-so-far.

</comment><comment><USER28> This is extremely common in mathematics: To do something in domain A, convert to domain B, do it there, and convert back to domain A.

Example: a*b = exp(log(a)+log(b)).

There are many diagrams in math fields that show exactly this.

</comment><comment><USER29> Sure. What's the inverse function of:

F(X) = X%2

<comment><USER30> Of course, not all function is invertible. The exact rule is described at: [http://www.jsoftware.com/help/dictionary/d202n.htm](http://www.jsoftware.com/help/dictionary/d202n.htm)

</comment></comment><comment><USER31> Python "with", C++ RAII (and ADA, D, Rust, and Vala).

This is hardly a new concept.

<comment><USER32> None of these will apply a square to N items, and then the inverse (square root) to the sum of those squares.

This is really more like map-reduce, with an additional inverse step deduced from the inverse of the function that is used for the map step.

With map-reduce, we can map all the inputs individually through a square function, and then reduce with +. Okay, that brings us to sum of squares. "Under" adds one more step: to "undo" the squaring with a square root, and without being explicitly given the square root function.

If we have a zoo of functions that are all associated with inverses, we can roll this into a single operation. Say a functional combinator under(T, P) which takes a processing function P (which takes one or more arguments) and a transforming function T (one argument), and produces a new function F which is of the same arity as P, such that F(a, b, c, ...) calculates T_inverse(P(T(a), T(b), T(c), ...)).

The we have under(square, sum)(1, 2, 3) to take the norm of 1, 2 and 3.

<comment><USER31> Thx for the correction. Point understood.

</comment></comment></comment><comment><USER33> Yeah. it's not new. basically every programming language that respects itself has it in the form of:

      - with blah do x
      - using blah do x
      - try(blah) { do x }
      - File.open(blah, 'w') {|f| f.write(x) }
      - there are even GCC C complier extension to hook in behavior like this

It's all over the place. Everything is new and old at the same time

<comment><USER34> Which is just a small subset of what he talks about.

Even the specific example he gives is NOT about recourse management (which is what the things you mention do).

<comment><USER35> One of the things he suggests is resource management, though, the file example. It would also be trivial to implement his vector sum example with syntactic sugar designed for resource management. E.g. in Java's try with you would just square in the constructor of something that implements closeable, sum in the try-with block, then square root in the close method. Ruby is even easier since you would just pass a block into a method and the method could do pre and post operations before running the block. In both cases these things are usually used for resource management, but they can easily be used for this.

<comment><USER34> You missed the part where the reverse operation is inferred automatically -- not just written explicitly to run in the end.</comment></comment></comment></comment>


All apps should be native. Who needs browsers and JavaScript? - <AUTHOR> http://www.thehackerati.com/blog/2014/07/15/the-days-of-browsers-are-numbered.html <comment><USER2> As I downloaded the economist app to listen to economist articles today, I felt the exact opposite of this article...

1\. Won't be able to link to any article to friends unless the app maker decided to implement specific "share" functionality. Unlike a link that I can email, text, store in a file...

2\. Oh and even if they have made this share functionality, it may not work on my friend's non-iPhone device. Even if I decided to share this with myself, I may not be able to consume it on my Mac.

3\. Can't open multiple articles/audios in different tabs unless the app writer specifically took the time to make a multiple views interface

4\. I'll have to wait 8 months before I can view this data on my iPad, because the co made the 100% reasonable decision to ship iPhone only first. I much prefer being completely incapable of viewing this data on one of my devices than a possibly less than ideal rendering of a web page with it on every platform I own.

5\. Almost certainly can't group media in terms of topic, since the top level view is always going to be "app". So no collection of research bookmarks, just everything lost in their little provider's containers...

6\. And the bonus is I now have to worry about the right place to organize this stupid app on my screen since I can't just keep a link to the _data I care about_.

<comment><USER3> I don't think hes argueing of the whole web.. hes talking about javascript. Eg websites that could and perhaps should be apps. This is different from a website that provides information.

</comment></comment><comment><USER4> The author of this completely neglects that the browser is not just an _app runtime_ \-- it was also originally (and still is) a knowledge source to download information. Where do I go when I want to find out the Seahawks' 2014-15 schedule? Research information about my car to make a DIY repair? The browser as an app runtime is a relatively new development IMO and webpages are still very important.

</comment><comment><AUTHOR> Alex later admitted to some exaggerations and mistakes after being scolded by Eddy.

See the response: [http://www.thehackerati.com/blog/2014/07/22/in-defense-of- br...](http://www.thehackerati.com/blog/2014/07/22/in-defense-of- browsers.html)

</comment><comment><USER5> @Dang, I think this is a poor article without a strong central argument and I fear any discussion it generates will be vapid and pointless. Is that proper criteria for flagging it? Or should I trust the algorithm and let it do its job?

</comment><comment><USER6> > as I mature as a programmer I continually see JavaScript as a pretty awful > language for real programming

Not sure what the author means by "real programming". Is this opposed to "fake programming"?

The more I mature as a programmer, the more I appreciate JavaScript's flexibility & readability. This allows for some useful idioms to manage complexity on large & intricate codebases. I like these dynamic idiomatic architectures as they tend to be flexible, evolvable, & under complete control of the programmer.

A module system (like commonjs) helps as well.

\---

Meta note: Both this article and [http://www.thehackerati.com/blog/2014/07/22/in-defense-of- br...](http://www.thehackerati.com/blog/2014/07/22/in-defense-of- browsers.html) seem like simple conversation starters.

<comment><USER7> Fake Programming: Using hacks and tricks to achieve things other languages have natively.

Though anybody will admit it's some pretty clever stuff, not many seem to look at things like this and recognize it for what it is.

Javascript's not the language rife with proprietary bullshit anymore, it's become something a bit more new: a hacked together super-language. Stick thousands of brilliant people on one unfortunate platform together and it will be inevitable.

So perhaps it's "not real" because I can't do it without requirejs. Maybe we'll appreciate it when you can do what Sass does in a .css file. So what if you can OOP, FRP, MVP, P its got a vast supply of crud-you-should-never-use.

I tell you one thing, though: I'd really love to rewrite everything I've ever done into Objective-C.

<comment><USER8> Who doesn't?

</comment></comment></comment><comment><USER9> Right now, browsers are the easiest platform where you can build an application that can be made available to a lot of different devices. And when it's a requirement, from a time-to-market point of view this is a huge benefit. And this should be taken seriously into account especially now that people tend to use 2 or 3 devices every single day.

On the other side, from application point of view both the browser and the operating system are containers that offer some sort of API to interact with the user, the device and other resources. I wouldn't say that one has to be necessarily better than the other, it depends on the goal of the application.

</comment><comment><USER10> So, you don't like the Javascript language, therefore web sucks? I'm no big fan of Javascript myself (so I'm gradually switching to Dart), but really, that's a lousy argument. Web is essential. Some apps are better be implemented natively, true. But most don't need that. And it's a great win for developers too, so you don't have to re-implement stuff for different platforms.

I'm not even sure the author is being serious at this point.

<comment><USER11> I think it's fair to say that some of his points are either hyperbolic or should be reasonably interpreted that way, but given that all the perceived flaws in javascript are essentially allowances for the original perceived purpose of the language (being a lightly used logic layer in the browser that was highly error tolerant), it not longer makes sense to us JS when you're building out massively complex apps that in a business sense need to be nearly/possibly-totally error free.

It would be nice to see a kind of pseudo-browser platform that served as a casing for generic apps that you could write in server-side languages clearly you lose some flexibility from doing that in terms of fault tolerance but many apps these days have a business case where fault tolerance is already so low it doesn't matter.

</comment></comment><comment><USER12> IMHO performance wise it is possible to get browsers to run apps at similar user experience level in the coming years, but the main problem with making HTML5 apps for cross platform is that each platform has unique capabilities and user expectations that one single app's UI/UX cannot satisfy.

</comment><comment><USER7> On one end you have google trying to popularize Chromebooks and on the other you have this guy trolling his office with the notion that we don't need a decoupling between the personal OS and the interweb OS anymore.

<comment><USER13> The rise of "apps" on the smartphone is a validation of this idea. _Why_ is there a Facebook app, when it can provide no information without an internet connection - for example.

The real message seems to be that we still have very poor default security models for desktop OS's.

</comment></comment><comment><USER14> OK. Can you make android apps run on my Windows laptop?

<comment><USER12> This is totally possible via the Android Runtime on Chromebook demo at Google IO.

</comment></comment><comment><USER15> Sorry but don't agree at all. Web will continue to be mostly uncensored while content in app store will always be be closely censored.

</comment><comment><USER16> Let's not forget the commercial aspect. For SaaS business with a subscription model, you end up paying 30% to Apple/Google.

</comment><comment><USER17> Creating a top app for iOS _and_ Android? Ionic.

Creating a top game for iOS _and_ Android? UnityScript.

Javascript rules.

</comment><comment><USER18> This post was killed by user flags.

<comment><AUTHOR> I'm pretty new to HN and am not sure why the post was killed. I was looking forward to an interesting debate on the value of browsers vs native apps. Can you please give advice for how to avoid being flagged while stimulating interesting debate? Thank you for the help.

<comment><USER19> A good debate would be useful. Good debates don't generally start off with "Browsers suck". I found little of true value in this post.</comment></comment></comment>


Ask HN: What is the secret sauce to be accepted into Y Combinator? - <AUTHOR> I know that we all want to get accepted into YC. But how to impress YC by exposing the secret sauce? Any example? <comment><USER2> In a strong sense, there is no secret sauce. See: [http://www.paulgraham.com/before.html](http://www.paulgraham.com/before.html)

</comment><comment><USER3> It is straightforward, but not easy.

You should have at least one of the following, preferably two or all:

1\. A prototype or minimum viable product with proven market demand, users and strong traction numbers.

2\. A solid idea backed up by a strong, proven team of founders. For example, MIT or Stanford PhDs with heavy domain experience in AI research. Or a pair of founders who have exited one or two startups before.

3\. Recommendations from YC partners who will vouch for you and your application.

My opinion based on observation is that that list is in order of importance. You will probably not get the third option unless you have one of the other two.

</comment><comment><USER4> i think there is no secret sauce , if your priority is getting into YC over building a successful business you're most likely doing it wrong. P.S im no way affiliated to YC

</comment><comment><USER5> If there was secret sauce, everyone would be using it and the secret sauce would change.</comment>


Winamp 6, due out in 2019, aims to whip more llama ass - <AUTHOR> https://arstechnica.com/information-technology/2018/10/winamp-set-to-release-entirely-new-version-next-year/ <comment><USER2> I used to enjoy Spotify until their mobile app stopped letting me play specific songs from my playlists unless I got premium. I don't want their poorly sorted suggested songs, I want the songs I want.

There's a ton of music on YouTube and SoundCloud, I wonder if it's within their TOS to index the url's of that and just have them play the videos using the supported iframe. Wouldn't block ads but it would on a browser with adblock.

</comment><comment><USER3> I hope that they also start working on the Android app again, it was imho the best music/podcast app around.

Cross-platform implementations would be really nice as well.</comment>


The death of consistency in UI design - <AUTHOR> http://www.osnews.com/story/26085/The_death_of_consistency_in_UI_design

<comment><USER2> Repost from OSnews comments:

This philosophy of putting consistency on this giant pedestal reminds me of the strict non-expressive philosophy of 60s modernist graphic design. They use Helvetica for everything, because Helvetica is neutral, believe that type should never be expressive because the meaning is in the content. Today many like the _style_ , but very few share the philosophy that design should not be expressive.

Today graphic design is expressive. You can look at a poster and guess the content based on the typeface, colors, texture, etc. I think we are seeing a similar development in the world of UI design. Having the notes app actually sort-of look like handwritten notes gives people visual cues to what this application and makes it easy to understand. I would not be surprised if such visual cues makes the app disappear than a pure consistent app would. These apps are only different visually, in behavior they are often very consistent. You also have apps that take things much futher, such as Convertbot, Clear or Paper. I think breaking UI conventions is completely acceptable _if they make the experience better_. Personally I find Paper to be far more invisible than the other more consistent sketching-apps for iPad.

I think there is more than enough room for both philosophies (and everything between). Vote with your wallet and buy the apps that work well for you.

<comment><USER3> Allow me to explain to you why you're wrong.

My computer is _my_ computer. Not Apple's computer when I'm using iTunes (hah, as if I'd ever use that piece of crap, but stay with me here), not Microsoft's when I'm using Windows Media Player, not Google's when I'm using Chrome and not Mozilla's when I'm using Thunderbird.

I know what I want my user interface to look like. I know what fonts, colours and relative sizes I want things to be. All in exactly the same way that I know what colour I want the walls to be painted in my home and where I want my furniture.

By breaking UI conventions because some idiot thinks that he knows what colours and shapes my monitor should display, I am unable to dictate what my own things should look like. Instead of a designer spending his time on designing a theme for a GUI toolkit and skinning all of the applications on my computer at once, he wastes time on coming up with a visual theme for just one of them.

Intelligence 101 - tend towards abstraction as much as possible. This recent trend clearly has it's roots in the idiot depart... ahem, sorry, I mean marketing department where the thinking went something like "but we need to solidify our brand experience by making our application stand out!". Yeah, buddy, yours and everybody elses. Give me my shit back, provide the functionality I'm buying from you and design a nice theme for KDE or Windows if you feel so inclined.

To hammer the point in further with another example, CSS was designed with, err, designers in mind and look at what a head-fuck that turned out to be. Leave the thinking to people who know how to think - we'll tell you what needs prettying up and how to do it right.

To throw out an idea of how things could be better - why can't GUI toolkits support fluid designs which can be manipulated by central themes? Why can't some people opt for ribbon menus while others use the old drop down menus just by changing a theme? What about if I want all my menus to be ribbon style but in a vertical fashion? Or if I want that list of porn actresses names' to be on the right rather than on the left of the porn database application I use to track my stalking habits? GUI's should adapt to how the individual thinks as opposed to the other way round as it currently is. _That_ is the smart way to do it. This recent trend in UI's and, frankly, many other things, is taking the stupid approach to the problem.

<comment><USER4> If you are that particular about your tools you should consider making them yourself, or using software you can really claim ownership of. iTunes and Chrome are not your software in any meaningful sense. Even less so probably because they are free (gratis).

With Mozilla you might have a claim, and I assume you are free to make your own version that has the columns in your preferred order or whatnot. For official support you just have to convince a sufficient number of like-minded programmers that yours is a problem worth solving, and then some minor technical bits like "What determines the central theme?" and "What scripting language shall we standardize on?"

<comment><USER3> If _my_ hardware (hard disk) has a particular configuration of bits stored on it then they are _my_ bits. How can information stored on something I own not be mine? I'm not talking in the legal sense here, I think that patents are ridiculous, but in the common sense sense.

<comment><USER4> I can't tell if your original comment was more than a rant. In some sense you own those bits, but not in a way that is useful to you. Starting with just the bits, it's going to be a lot of work to make iTunes skinnable, and you likely won't be able to distribute your changes legally.

It seems similar to ranting that Miles Davis has recorded all of these long boring solos on _your_ CDs. You could spend your time editing them out, you could demand an edited reissue from the publisher, you could just listen to something else, or you could learn to play trumpet and record something you'd rather listen to. The least useful option seems to be posting to HN.

</comment></comment></comment></comment></comment><comment><USER5> I'd like to add a thought: maybe inconsistency in UI design is the only way to experiment and actually improve the current state of design.

When Apple released its ipod (with the big wheel in the middle), it was nothing like the other players we were used to. Was it horrible? Was I annoyed by the difference? No, I thought it was cool, and I loved my iPod. Some years later, they did the exact same thing with the iPhone. Completely different, and yet, it set a new standard for design.

Now I understand the point of the article, and it's true that it's annoying to see every other small app coming up with new UI conventions. But I guess I'm not too radical about it: if this is the price to pay for innovation in UI design, I'll take it.

<comment><USER6> Agreed - note some of the most enduring new UI conventions we've come to expect in the last couple of years, all of which were pioneered by third-party apps bucking the trend (even in places where there was already established convention).

\- Pull down to refresh (where Apple encouraged an explicit refresh button on the bottom of the screen)

\- Swipe aside views (where Apple encouraged explicit navigation buttons)

\- Slide aside menus (a la Path, where Apple expected tab bars to fulfill that role)

\- Fan-out controls (a la Path, where Apple expected the use of drop downs)

The list goes on. I for one am happy that some people are unwilling to just follow the tried and true.

</comment></comment><comment><USER7> Can't you make the argument that the web killed consistency in UI design a long time ago?

The web has always been a completely blank slate from a UI perspective and what happened was that defacto UI/UX "standards" continue to grow and evolve. Someone will always try to do something completely different. But thats okay it pushes the boundaries a bit. You'll still have a lot of apps that use the consistent tried and true UX methods but some will flaunt these and push where UI can go. Path and the Band Of The Day apps both do this beautifully. Both are non-standard but very easy to navigate.

<comment><USER8> I think Twitter Bootstrap and Zurb Foundation are trying to bring some of that consistency back into the Web. Even completely unique applications with their own design and functionality are easy to navigate when they start with these frameworks.

For example, Roll20 [<http://roll20.net/>], an online RPG tabletop, is a full- featured web app that is easy to use even though it's quite complex, partly because they worried about designing a custom UI on the macro scale, leaving the micro scale (buttons, form elements, etc.) to Twitter Bootstrap.

<comment><USER7> I totally agree. The whole idea of responsive design that those types of frameworks promote is exactly the type of defacto standards that arise out of the mishmash of web UI/UX.

</comment></comment></comment><comment><USER9> I think he is mourning a problem that needs no solution. Let me put it this way: my wife, who has _very_ little understanding of how to operate computers (to make capital letters, she uses capslock / letter / capslock), literally figured out how to use her iPhone 4 within 4 minutes of turning it on.

If the problem with the UI is that it makes it harder to use, then I don't think that consistency is the problem. Lest you believe that I have a sample size of one, I have had my entire family use the iPhone, and they aren't particularly computer/gadget savy. My father, for instance, uses his Nokia "phone book" frequently, however that "phone book" is a taped on list of numbers on the back of his mobile phone. And with a little prompting, he was playing Angry Birds within about 10 minutes. My young daughter, 4 years old, has worked out how to unlock the phone (to my chagrin) and plays "Peppa Pig" at odd hours of the night.

If anything, the darned iPhone interface is _too_ easy to use!

</comment><comment><USER10> My "old school" of UI dates back to the 1980s, and through the mid 1990s.

To my eye, UI shows elements of program legacy. From Apple (early Mac) to PC (DeskMate, Amiga, MS DOS), early Windows. On the Unix side, a proliferation of X toolkits: Xt, Athena, Xaw, Motif, Tk, gtk, Qt.

For desktops, one of the beauties of X is the emulation modes of many window managers -- if you prefer the look and feel of Windows 95, Amiga, BeOS, Motif, CDE, VUE, old-style Mac, Mac Acqua, or any of several dozen other desktops, it's possible to try them out easily. While not all of these emulate deep characteristics of their source GUIs, there are at least some characteristics which are available for review.

Even CLI/console tools show their legacy. Emacs draws from TOPS/ITS, mc from DOS via Norton Commander, dd's odd command-line syntax will be familiar to those who've used JCL. Even native Unix/Linux command sets draw from various BSD (short options, single dash, single character) and GNU (long option, double dash, word) formats. More recent commands with a weaker Unix philosophy legacy use a single dash and even MixedCase words (ImageMagick, some disk utilities).

While inconsistent among tools, the formats do give me a clue as to what the legacy, and possible behavior, of these tools will be.

In the mobile space, minimized UIs are somewhat necessary. Interestingly, several of these were pioneered on Linux (e.g.: Matchbox). This does not mean that there's no room for exploration of useful UI metaphors in a new and highly constrained form factor.

Of possible interest: <http://en.wikipedia.org/wiki/List_of_widget_toolkits>

</comment><comment><USER11> The thing I hate most about modern UIs is the lack of information. Instead of buttons with text, it's just a whole bunch of mysterious icons. Give me at least some idea of what will happen when I click your icon, and please try and make it _look_ clickable, rather than some background glyphs. Oh, and mobile OSes need to come up with some sort of analog for keyboard shortcuts.

Consistency is nice, but usability and discoverability are more important.

<comment><USER12> Google seems to be worst with this. In addition to having confusing icons, they're not even consistent with themselves. The Gmail archive icon on my Android phone is a picture of a filing cabinet. The archive icon on their main web app is a box with an arrow pointing down. They're two completely different icons for the exact same action.

<comment><USER13> They balance that by elsewhere using the same icon for completely different actions, like the sealed envelope that means Compose as well as Mark Unread.

</comment></comment></comment><comment><USER14> The author is focusing on the wrong details. As long as the workflows and interface element positioning and shape are kept consistent, the visual theme is of little consequence. As long as the back button is on the upper left of your iOS app and has the right shape, it can have zebra stripes for all your user cares.

</comment><comment><USER15> I couldn't agree more with what this guy is saying.

But, mobile applications aren't actually the worst offenders here. At the very least, both platforms have their guidelines for developers to follow if they want to make their apps consistent with the rest of system. And I wouldn't be so sure this is not important: snazzy looks might gain you more installs, but UX that silently and subtly uses established patterns fits more firmly into users' minds and may noticeably increase retention (and thus number of positive reviews).

The bigger culprits in terms of violating UI consistency are, I think, web applications. As far as I know, you don't even _have_ any definite guidelines there to begin with, which is of course due to decentralized nature of the web ecosystem. There are some effort that encourage consistency as a side effect (Twitter Bootstrap comes to mind) but the decade-old habits of designing every website completely from scratch do not seem to be dying anytime soon.

<comment><USER13> But mobile OSes are constantly changing the guidelines. Every new phone has a whole new UI language. Gingerbread, ICS, vendor mods, etc.

</comment></comment><comment><USER16> "As a proponent of what is now called the old school of UI design"

Doesn't sound like a very old school to me. vi, emacs and a large portion of popular command line tools came about in an era where devising one's own interface and interface conventions was the _only_ route to actually providing an interface. Desktop environments ameliorated this somewhat, but only for common, generic tasks (copying, pasting, etc.). For any specialized or application-specific tasks it's _always_ been roll-your-own, except that now people are actually _thinking_ about the problem before creating the UI.

Consistency is important, but it's not the only factor.

</comment><comment><USER17> An article like this coming from a site that has not updated it's UI in what looks like 6 or 7 years rings alarm bells for me. The UI of the blog is literally looking like a sore thumb, my eyes almost jumped at how different and compressed it looked.

I really disagree with this guys thoughts. When I'm in Twitter, I want it to look like 'Twitter'. I want to know I'm in Instagram, or Facebook, and _see_ the difference. Imagine if all apps used the exact same UI solutions. How would innovation happen? It just doesn't make sense on so many levels. Diversity is a good thing.

</comment><comment><USER18> I remember when there was consistency in UI design: everything looked like Windows95

<comment><USER19> Far more recently, everything looked like Gnome 2. It was nice because I could launch an application I'd never used before and know how various elements would behave.

* Certain shortcut keys would be consistent across applications

* Other shortcuts would be customizable by hovering over a menu item and pressing the shortcut keys.

* Listboxes could be filtered by typing and a little floating textbox would show what I'd typed.

* If I was in a dark room and was using a dark theme, I (probably) wouldn't suddenly have a bright white window blinding me.

* The file selector for opening/saving files would be standard.

* I'd be able to edit things on networked locations open in Nautilus.

And so on and so forth. There were all sorts of nice little touches that everything would have just because it was a Gnome 2 application. Going back to Windows XP, it always felt like everything was competing for my attention by being different in assorted inconsistant ways.

<comment><USER20> One of my favorite things about Mac OS is the extremely consistent shortcut keys across all apps.

</comment></comment></comment><comment><USER21> I think this is missing an important point.

The consistency in Android and iPhone is the touch screen. By removing abstraction, by a limited screen real-estate and thus limited scope of applications, I don't believe this is an actual problem.

In fact one could say that because of the above, exploration and inconsistency should be encouraged.

In the future apps wont be so much about on-screen interaction but rather representing information based on automated real life interaction. (Lots of automation the coming years)

The chrome will be all around you and not on the screen. Only the object/content will be on the screen (and the many screens).

So sure apps are not UI consistent but neither is a hammer, a schrewdriver and a ruler (i.e. apps)

</comment><comment><USER22> This is going to be a serious problem for the adoption of web apps. Current problems with web apps are things like lack of keyboard shortcuts (without the browser getting in the way). Browser chrome wasting space in the UI and an overall more "laggy" feeling than a native app.

All of these problems however can (have?) be improved upon. UI consistency will be the last great bastion however, whenever I use a web app I have to spend a considerable amount of time figuring out where everything will be in the UI, this is even true for things like gmail.

Perhaps there will become a defaco standard widget set for web apps?

<comment><USER23> The defacto-standard already seems to be happening with Twitter Bootstrap. Give it another few years and I expect this will spread into more well-known apps (or the current startups using it will become more prominent).

And I do think people are addressing the other issues. Chrome's Web-App API can open pages in new windows without the browser UI, and Firefox is due to have their similar API available soon.

Things like keyboard shortcuts will likely sort themselves out eventually: for example, Github's issue tracking tries to mirror the keyboard shortcuts of gmail wherever the actions are similar.

</comment></comment><comment><USER24> Thank goodness the sentiment in this rant is not more widespread. The author would prefer that app designers y to avoid from standing out? Good luck with that. And really, is it that bad? Functional apps frequently make good use of prevailing design. And consumer an entertainment apps absolutely should be exploring. The form factor is so limited already that it's much harder to go very far astray.

</comment><comment><USER25> I agree that consistency of UI is, broadly, an important part of general usability, but I think that _the web_ has been more unforgivably destructive towards this than mobile, which is a younger and inherently more constrained environment.

This is why bootstrap is so important: it gives the consistent look and feel to the web that has been missing for so long.

</comment><comment><USER26> Isn't this the same drum that has been beating since the days of desktop applications... for those old enough to remember when applications where actually run on a desktop OUTSIDE of a web browser ;).

Actually... even past the dark ages anyone remember the popularity of webpagesthatsuck.com?

No matter what the technology someone will need to do something that is out of the bounds of the 'stock user interface'. So you either account for it by allowing everyone to do anything or you limit it...

<http://www.useit.com/jakob/constbook_preface_2nded.html>

</comment><comment><USER27> I would argue that innovation and trying new things are always a net positive. If you give it enough time (i.e. on a long enough timeline). Because new standards and best practices emerge. New standards and best practices that are better than the previous standards and best practices. Yes, it requires effort and debate to get to that point. But it's better than becoming stale and irrelevant, IMO.

In fact, I think a new set of best practices is already emerging in mobile app development. You just have to know where to look.

</comment><comment><USER28> Not a bad article but I dont believe this is the big issue that he makes out. Mobile apps far less sophisticated than desktop, I have a Galaxy Nexus and sure there are differences between apps and between things like where the Menu icon is. The reality is though that you figure them out, it takes an extra second or so first time you use the app, its not the end of the world.

</comment><comment><USER29> I think it's just a matter of the rapid pace of innovation in the mobile space right now. The common pattern in innovation is to diverge and then converge. We're already seeing the convergence around a couple of paradigms like pull down to refresh and sidebar menus and we're going to see more of them as we slowly figure out what's the best solution to a design problem.

</comment><comment><USER30> I for one am glad that Tweetie, Path and Facebook broke iOS UI conventions and innovated. Pull to refresh, stacking views, swipe to show options, FB's peak- a-boo home screen, etc. If not for these innovations, we'd all be stuck in tedious UINavigationController and drab UITableView hell. Everything would look like the Settings app.

</comment><comment><USER31> Anal.

</comment><comment><USER32> > _It's been one of my major pet peeves on both Android and iOS: the total and > utter lack of consistency. Applications - whether first party or third party > - all seem to live on islands, doing their own thing, making their own > design choices regarding basic UI interactions, developing their own non- > standard buttons and controls. Consistency died five years ago, and nobody > seems to care but me._

Yes, it's called evolution.

As the saying goes, "A foolish consistency is the hobgoblin of little minds".

The consistency he asks for is that foolish consistency --where e.g buttons all look the same, all colors match, applications have a cookie cutter look, etc. I.e strictly following some platform's design guidelines.

Not only that would KILL development of new UI concept (a lot of widely adopted ideas come from some app experimenting with new look&feel ideas), it would also make any OS look drab and boring.

Consistency that should matter would be more like: drag and drop works everywhere it should, text copy/paste plays well from app to app (remember KDE/Gnome/Motif/what have you around 2005? I hope it's better nowadays), keyboard shortcuts are respected, etc. Generally, controls should MOSTLY work the same (with the provision for experimentation from the occasional app).

As for things like the color of the toolbar, the look of buttons, etc? Not so much.</comment>


Axl Rose Talks Guns N' Roses Reunion Album, Criticizes Slash's Book - <AUTHOR> http://www.alternativenation.net/axl-rose-talks-guns-n-roses-reunion-album-criticizes-slash-book/ <comment><AUTHOR> Relevance to tech: Axl's a very public figure, and this kind of image rehabilitation is quite interesting from both a modern PR and "fan" perspective. Engaging with people was _not_ a staple of the Axl rose during the heydey of GNR. Now...it kind of seems like it is. Oh and then there's the 'Streisand Effect' thing he has going on with that chubby photo meme.</comment>


NodeSocket; A node.js hosting platform is looking for co-founders - <AUTHOR>

NodeSocket is building a node.js hosting platform and community for developers. We are located in San Francisco and looking for co-founders to help develop and grow the company.
We are launching our beta September 1st so we need all hands on deck. Read an article on VentureBeat about us: http://venturebeat.com/2011/08/10/nodesocket/
If you have any of the skills below, shoot us an e-mail firstname.lastname@example.com. Sorry must be local (San Francisco).
var nodejs = {description: 'Bad-mofo node.js hacker; npm, socket.io, express.'};
var sysadmin = {description: 'Linux system administrator. You live your life attached to an SSH session. CentOS, Xen, Nginx, Lighttpd, MongoDB.'};
var design = {description: 'Designer. Should be able to make layouts in photoshop and chop them up into HTML and CSS while taking shots of patron.'}; <comment><USER2> When you say co-founders, what kind of equity do you intend to give?

<comment><AUTHOR> Send us an e-mail, to discuss further. Thanks.</comment></comment>


The world's largest cruise ship emits more sulphur than millions of cars - <AUTHOR> http://www.theguardian.com/environment/2016/may/21/the-worlds-largest-cruise-ship-and-its-supersized-pollution-problem <comment><USER2> The Danish Shipowners' Association (which includes Maersk) were defeated at Paris when they tried to get emissions curtailed

[http://shippingwatch.com/carriers/article8296860.ece](http://shippingwatch.com/carriers/article8296860.ece)</comment>


Lessons Learned: What is a startup? - <AUTHOR> http://www.startuplessonslearned.com/2010/06/what-is-startup.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+startup/lessons/learned+(Lessons+Learned) <comment><USER2> Excellent post. I've been trying to classify my latest business venture (is it a startup, a small business, a product?) and I think I have an answer now.</comment>


Introducing streaming sync: supercharged sync for large files - <AUTHOR> https://blog.dropbox.com/2014/07/introducing-streaming-sync-supercharged-sync-for-large-files/

<comment><USER2> The technical details of what they changed are here: [https://tech.dropbox.com/2014/07/streaming-file- synchronizat...](https://tech.dropbox.com/2014/07/streaming-file- synchronization/)

</comment><comment><USER3> Looks like it still doesn't fix the LAN scenario, where one has to wait for a server upload before the file is synced through the LAN.

With this new version, it seems like the LAN sync will happen in parallel, but the file is still confirmed only after a full upload to the remote server and thus local peers don't see it appearing immediately in the shared folder.

<comment><USER4> That seems like a policy decision, not a technical limitation. If Computer 1 uploads a file to Computer 2 and then Computer 2 deletes the file before it gets uploaded to the server, it's going to be difficult to sort that out. Letting the server be the final authority on a file's state is a lot simpler.

<comment><USER5> Why? The server already knows about the file, who created it, etc. Why would they need its contents?

<comment><USER4> If the server doesn't know that Computer 2 had the file earlier, it might re- send it when the upload is complete and it tries to sync other computers. Also, what if Computer 2 modified the contents?

<comment><USER5> _If the server doesn 't know that Computer 2 had the file earlier_

My point is that you could keep the server as the master, without having to upload the _contents_ before pushing to other machines. Imagine this exchange:

      Computer 1 > server: I have a new file X, created on timestamp Y, with hash Z
      Server > computer 1: ack
      Server > computer 2: there's a new file X, etc. Computers [1] have it.
      Computer 1 > server: ack. I'm requesting it from computer 1.

The server doesn't actually need the contents, just the metadata.

By the way, this is all fairly archaic. Nowadays with DVCSs, you can do much niftier things. I have a network of five git-annex nodes, some of which have two degrees of separation (my Android tablet syncs with my personal laptop, which syncs with my VPS, which syncs with my work laptop) and it all runs smoothly.

</comment></comment></comment></comment></comment><comment><USER6> wonder what's on the backend? :P</comment>


The Invention of Wireless Cryptography - <AUTHOR> http://theappendix.net/issues/2014/7/the-invention-of-wireless-cryptography/

<comment><USER2> What is with the huge irrelevant quotes?</comment>


Mercedes-Benz conducting the biggest test using drones to ship everyday items - <AUTHOR> https://www.bloomberg.com/news/articles/2017-11-28/mercedes-plans-more-drone-deliveries-after-100-perfect-flights <comment><USER2> I can imagine drone delivery's an effective solution to the last mile problem for automated delivery? Have a self-driving truck navigate through a neighborhood, the drone takes off with the package and delivers it to the doorstep and returns to the truck. The truck can continue driving around as drones rejoin it down the road.

Now we have both pieces of the equation: how to get to the house without paying a driver, and how to get to the porch without paying someone to walk and carry.

<comment><USER3> How many jobs would that "repurpose" in delivery if you add a automated truck? Energy and materials to build and maintain drone fleets, noise, all seem like issues, since this is added on to the existing truck.

<comment><USER2> You make a good point. Would those steps actually lead to cost savings? Driving a truck and delivering packages requires less specialized skills than maintaining the fleet. How do delivery companies handle maintenance on their human-driven trucks? It is contracted out? If the company can run three trucks per staff member vs. one per truck, wouldn't the savings be worth it? Are they going to pay this new staff member 3 times as much as a driver?

</comment></comment></comment><comment><USER4> What is this going to sound like when cities have hundreds of whining drones flying around? Are we just going to have to get used to the noise pollution from the drones so people can get their coffee delivered faster?

<comment><USER5> What is this going to sound like when cities have hundreds of whining cars driving around? Are we just going to have to get used to the noise pollution from the cars so people can get their coffee delivered faster?

\</comment></comment><comment>-

This actually might lower the delivery times and delivery cars on the road which is a good thing! Less traffic, less air pollution, faster delivery times, less jobs (not a good thing tho).

<comment><USER6> It's true that we already deal with annoying vehicular noise, but that's hardly an argument in favor of repeating the same mistakes.

I'm not convinced it would be anything like a net gain. I'm not a fan of car noise, but a delivery truck carrying hundreds of packages makes less noise than a drone too small to even carry one of them.

Hopefully it's possible to make these things much quieter....

<comment><USER7> True, but imagine if these drones handled food/grocery/retail delivery, the amount of cars on the road would drop immensely. As long as the tradeoff is 1 car -> 1 drone.

<comment><USER6> Trading off one car for one drone would result in a massive increase in noise. To be a win, you'd need each drone to replace hundreds or thousands of cars, and right now the equation is the other way around.

Cars are getting quieter all the time, too. Tire noise already dominates for most vehicles at city speeds, and EVs improve the picture even further. Diesel trucks are often pretty noise, but they're mild compared to a drone, and electric trucks will drastically cut down on noise.

<comment> semi-extrinsic Not to mention in most places, highways (the places where cars make the most noise) are far away or acoustically shielded from where there are people.

</comment></comment></comment></comment></comment><comment> FLUX-YOU Who had the bright idea to put a drone video up top that has nothing to do with Mercedes? The company in the video isn't even mentioned in the article.

Stay weird, Bloomberg.

</comment><comment><USER8> That's the reverse of Mercedes' previous robot delivery scheme. They did a test with Starship Technologies delivery robots, where a van was filled up with the robots, it went somewhere, and the robots fanned out to deliver things. That would make sense for dense areas like apartment buildings and offices, once you get doors and elevators to cooperate.

This new test delivers stuff by drone from a distribution center to the vans, which then make local deliveries with humans. That seems backwards. The drones are doing the heavy lifting, something trucks do very well.

</comment><comment><USER9> What's the failure mode for quadcopters, can these land safely with loss of one motor? Definition of "safely" would ideally consider human casualties.

<comment> semi-extrinsic Well, this happened a couple of years ago in a World Cup skiing event.

[https://youtu.be/xeviAWB0i4Y](https://youtu.be/xeviAWB0i4Y)

<comment><USER9> That's an incredible link, thanks for that.

That someone would be skiing, whatever, 100 miles per hour and might then die because of a falling electronic lawnmower really highlights seen vs unseen risks.

</comment></comment></comment><comment><USER10> Biggest seems to be a superlative with no basis. Perhaps _its_ biggest test?

</comment><comment><USER11> All this drone delivery stuff is theatre until they start building obstacle detection and avoidance into them. Yes, drones can take off from point A, then fly up, over to point B, and land. We already knew this.

<comment><USER12> Even modern consumer drones have obstacle detection and avoidance built in

</comment></comment><comment><USER13> Last mile is best served on foot, not by vehicle.

</comment><comment><USER14> People wonder why the bees are gone or why it's gonna be a total wasteland for life in no time.</comment>


Inside the presidental residence of Viktor Yanukovych, the president of Ukraine. - <AUTHOR> http://translate.google.com/translate?sl=auto&tl=en&js=n&prev=_t&hl=en&ie=UTF-8&u=http%3A%2F%2Fzyalt.livejournal.com%2F1007568.html

<comment><USER2> Wow. I assumed he was corrupt like most autocrats, but the scale is impressive. Some of it is chilling: [http://varlamov.me/2014/mechzigorie/image-22-02-14-01-50.jpg](http://varlamov.me/2014/mechzigorie/image-22-02-14-01-50.jpg)

<comment><USER3> Umbrellas? Dildos? What am I looking at?

<comment><USER4> I'm pretty sure they're truncheons/cudgels/nightsticks.

... _pretty_ sure...

</comment></comment></comment><comment><USER5> The aerial view reminds me a bit of Larry Ellison's place:

[http://ic.pics.livejournal.com/zyalt/10761149/383367/383367_...](http://ic.pics.livejournal.com/zyalt/10761149/383367/383367_original.jpg)

[http://geary.smugmug.com/Flying/Airship- Ride/i-Tdmr4wn/A](http://geary.smugmug.com/Flying/Airship-Ride/i-Tdmr4wn/A)

</comment><comment><USER6> Reminds you of Ceausescu's downfall in 1998 ...

</comment><comment><USER7> It's gaudier than I could have ever imagined.

</comment><comment><USER8> I mean thank god we destroyed communism in Soviet Russia. Those rotten pieces of shit wanted to redistribute wealth to the people.

Fuck _THAT_ shit.

Everyone knows is just corruption in disguise. Is always better to keep your corruption unpretentious and beligerent.</comment>


I compiled 40,000+ driving test questions for 11 countries. What do you think? - <AUTHOR> http://drivingtests101.com/

<comment><USER3> Clicking on menus (about us, car insurance etc.) throws this error:

        Fatal error: Call to a member function FetchRow() on a non-object in /hermes/bosweb26a/b2005/ipg.monologixcom/drivingtests101/page_content.php on line 8

        Fatal error: Call to a member function FetchRow() on a non-object in /hermes/bosweb26a/b2005/ipg.monologixcom/drivingtests101/car_insurance.php on line 12

Also, drop-down list is empty! Chromium on Windows 7.

<comment><AUTHOR> Thanks. Either server is down or I just got hacked...

<comment><USER3> Maybe server's down due to HN effect :) Why do you think it's hacked?

Edit: It's working fine now.

<comment><AUTHOR> Back. Server is back!

<comment><USER3> Thanks. I just browsed through few tests. Good work :)

<comment><AUTHOR> Thank you very much for the feedback. Cheers

</comment></comment></comment></comment></comment></comment><comment><USER4> In addition to the errors other people are experiencing:

\- You're not minifying your CSS or JS.

\- You're loading your JS at the top of the document, which is slow ([http://developer.yahoo.com/blogs/ydn/high-performance- sites-...](http://developer.yahoo.com/blogs/ydn/high-performance-sites- rule-6-move-scripts-bottom-7200.html))

\- Response times for just loading the main page are over a second for me.

\- The second panel of your carousel has items that don't fit on one line and break your design.

\- 'Select your country' doesn't work.

\- Even without interacting with anything on the site, I'm see this error appended to the DOM: "Fatal error: Call to a member function FetchRow() on a non-object in /hermes/bosweb26a/b2005/ipg.monologixcom/drivingtests101/includes/banner_slider.php on line 77
"

\- Actually, as I click around more, pretty much the whole site is broken...

Good idea, but the site needs a lot more testing (and some design work) before it's useable.

<comment><AUTHOR> Thanks for your input. Judging by your comments, our server had crashed while you were visiting it, limiting the functionality of the site. I will work on the first few points you mentioned - much appreciated for your input

</comment></comment><comment><USER5> Looks fantastic, good work!

One state is missing from Australia: Australian Capital Territory, which has it's own test and rules. Having that would be of particular use to a lot of people I know :)

<comment><AUTHOR> Thanks! The Australian Capital Territory is one of the next states on our list. Much appreciated for your comment

</comment></comment><comment><USER6> Assuming the declaration is true, great job! There's a "but", though:

I get a (rather ugly) 404 error if I click on my state without selecting a country first. It wasn't obvious to me that I had to select United States in the first dropdown since the second dropdown already had the fifty states loaded it. You should disable the second dropdown until a country is selected, or better yet don't even show it until the user selects from the first one.

<comment><AUTHOR> Thank you very much for mentioning your issue, I greatly appreciate it. I will fix this.

Yes, the declaration is true. Took a lot of time! There is roughly 200 questions per US state per vehicle type. Plus questions for other countries.

<comment><AUTHOR> Cheers

</comment></comment></comment><comment><USER7> My biggest worry is that people may rely too much on this instead of, you know, RTFM, by which they'll learn a lot of useful stuff, especially those concerning safety.

<comment><AUTHOR> Agreed. Some people view as this as a replacement to a manual and others as a complement to a manual. Bottom line, I wish I had this resource 10 years ago when I wrote my driving test, the content is free, and the website (and especially the apps) do a much better job of engaging 16 years old than a manual will ever do.

<comment><USER7> Totally. I read the whole manual when I did my driving test, but I still got some a copy of the questions they'll ask to review just before the test. This is definitely a much better choice than some source-unknown papers :D

<comment><AUTHOR> Thanks for your feedback. Cheers!

</comment></comment></comment></comment><comment><USER8> Protip for young drivers in the US: on the electronic driving test, you can skip questions you don't know. The system will keep asking you questions until you've _answered_ a certain number of questions (I think it's around 20). If you don't know the answer, skip the question and it won't count against you.

This is how I got 100% correct after studying for an hour.

<comment><USER9> If you reach the end of your list of questions (50, where you need to score 40 -- NJ anyway), ad you still don't have enough points to pass, the system will simply loop and start asking again the questions that you skipped before. You don't get fresh new questions until passing :)

</comment></comment><comment><USER10> While it seems like a great idea, you are gonna need to get more servers if you want to play with the big boys, I can't seem to get anywhere, clicking any link throws an error and the drop down menu is empty. Also I can see elements appear on the page as I download them... I haven't experienced that since 2004.

Still +1 for idea/effort

<comment><AUTHOR> Thank you very much for your feedback. Our server crashed, but now we are back-up. I received a SIGNIFICANT amount of traffic yesterday from the post. I will look into the server issue. Thanks

</comment></comment><comment><USER11> I got this error instead of question #3 for the Hawaii Motorcycle test:

Fatal error: Call to a member function numRows() on a non-object in /hermes/bosweb26a/b2005/ipg.monologixcom/drivingtests101/state.php on line 479

<comment><AUTHOR> Thanks. Server went down, but is now back-up. Received a significant amount of traffic in last hour!

</comment></comment><comment><USER12> How did you go about compiling 40,000 driving test questions?

<comment><AUTHOR> Reading (many) driver manuals, inputting questions from YouTube videos of people who videotaped their printed test, receiving questions from users, receiving questions from other third parties. While some of the questions are common, I can assure you majority of questions are unique (eg - <USER2> state rules, differnt questions for car vs. truck vs. bus, etc), so the work required has been significant to do this.

<comment><USER13> how did you go about getting licenses to do this from the copyright holders?

<comment><AUTHOR> The copyright is our own. No copyright issues as we are not copying and instead coming up with a question from a paragraph of text from a manual explaining a particular concept. This is how we derived the vast majority of the questions.

We have copyright of all of our questions.

</comment></comment></comment></comment><comment><USER14> Selected my state without selecting a country and I got a 404. The states dropdown was populated for US, so I assumed I could skip selecting my country.

<comment><AUTHOR> Thanks for mentioning this. I will fix the issue. Much appreciated

</comment></comment><comment><USER15> "Select you Country" doesn't work at all. Gives me nothing. Design looks like the 'era after geocities' when the ability to create gradients was first invented...

I'm really not trying to bash you. Initiative is always good, but who decides this is first page material? It has 10 pts and 17 comments... I've been noticing lately that there is a huge amount of trash coming into HN rather than what I am used to being over-the-top, higher-quality-than-usual news and/or products.

<comment><USER16> Same here. Checked in Chrome and IE. The drop down is not working.

<comment><USER15> Firefox 20 on OS X. Nada.

<comment><AUTHOR> Thanks, server crashed

</comment></comment></comment></comment><comment><USER17> Apps are very useful for on the go studying. Great resource, im glad you posted it! Will pass this on to my friends kid.

<comment><AUTHOR> Cheers

</comment></comment><comment><AUTHOR> If you have any questions you would like added, please email email@example.com.

Thanks!

</comment><comment><USER18> When doing a practice test, your app does a crazy number of requests to the server for each question.

Why not load all questions/answers at the same time? That would improve the speed tremendously and would reduce the load on your servers.

<comment><AUTHOR> For the app or website?

<comment><USER18> I've only tried the website.

<comment><AUTHOR> Thanks, I will look into this</comment></comment></comment></comment>


What makes a good self-recorded video – quick guide [pdf] - <AUTHOR> https://fewstones.com/quickguide.pdf <comment><USER2> Nice pdf, thanks

</comment><comment><USER3> good pdf. but lack of knowledge.</comment>


Inequality in Equalland - <AUTHOR> http://www.daemonology.net/blog/2011-01-10-inequality-in-equalland.html <comment><USER2> This is a nice demonstration that 'raw' inequality data is not very useful. "X% have Y% of the wealth!" really doesn't tell you very much.

I'm actually only concerned about the consequences of inequality (which could be positive or negative), not about inequality itself. What do I care if 1% of the population have 99% of the wealth if there are no consequences to it? I certainly don't want to reduce inequality out of spite.

Statistics that tell me, just as an example, how the wealth of parents corresponds with the success of their children in school are much more interesting and reducing inequality probably wouldn't even be the best solution for such a problem. It's not as though all that money in mommy's and daddy's bank account makes their kids magically more intelligent. (But it can pay for private schools or for private lessons and so on.)

<comment><AUTHOR> _It's not as though all that money in mommy's and daddy's bank account makes their kids magically more intelligent. (But it can pay for private schools or for private lessons and so on.)_

FWIW, numerous studies have found that the vast majority of correlation between parental income and the academic success of children can be explained by a third factor: Parental education. Educated parents both earn more _and_ provide far more educational encouragement and assistance to their children.

<comment><USER3> I feel that you are omitting genetics as a possible (probable) significant cause of academic success, which because of the corelation with the parents own academic success will be hard to disambiguate as a variable.

According to horizon (a main stream medium-high brow documentary series in the UK), separated twin studies show that as much as 50% of 'measured intelligence' can be attributed to genetics - which was fairly surprising (not the figure itself, because it agrees with my own suspicions) but because it was on a mainstream show. What is more earlier in the show they talked about a scientist in the 30's (nephew of Francis Galton, forget his name) who had faked a bunch of such studies and made up numbers. The figure he invented was 30%.

<comment><USER4> There has been many studies for a long time (several decades) which show that as far as environment matters, what matters is not so much money, but what is called in sociology "cultural capital" (not sure it is the right expression in English). For example, in France (but I guess in other countries as well), children from teachers succeed much better than children from workers, even though income is not so much different. The ability to speak well, to dress well, manners, etc... matters a lot for getting high social status (through work, etc...), and they are valuable because of the inequality. If everybody has a certain quality, its value is almost zero, it is the same as resources in economy.

As for the origin of measured intelligence, I would be surprised about 50 % of intelligence which could be attributed to genetics if you mean IQ (I don't see how it would be consistent with the Flynn effect, for once). But I would rather avoid a discussion on IQ (I don't think it is very relevant to the discussion, as its correlation with success in modern societies is pretty weak, once above a minimal threshold).

<comment><USER3> I suppose the counter point is that teachers are 'underpaid' for their intelligence, when compared to workers. There is probably an element of that since teaching is vocational and most people entering the profession do so in the knowledge that they will not earn as much. Hence we should not be surprised that their children do better - for both cultural and genetic reasons (50-50?).

The original point was about academic success, which is surely more corelated with IQ than economic success.

<comment><USER4> I think discussion about IQ, genetics and co are mostly meaningless for various reasons: the issue is extremely loaded politically, which means it is difficult to discuss about it with people who has a different opinion, and the science around it is inconclusive at best (the nature or even the reality of flynn effect is still debated, for example).

This is not to say it is not interesting, but I would put it in the same camp as discussion around religion: it is possible to discuss about it, but almost impossible to do it in a reasonable manner with random people in the internet. That's why I refuse to discuss it as a matter of principle in most cases with people I don't know personally.

</comment></comment></comment></comment></comment></comment><comment><USER5> According to Wikipedia, 87% of the wealth belongs to the wealthiest 20%. However over 80% of _that_ wealth belongs to the top half of that group. The figures I am looking at do not break it down farther, but my understanding is that this same relative relationship holds for the top 5%, 2%, 1%, and so on.

Everyone agrees that some wealth disparity is a good and necessary part of a healthy economy. But there is a _lot_ more going on here than the straightforward "some people are older, some people save".

The charts and tables at [http://en.wikipedia.org/wiki/Wealth_in_the_United_States#Dis...](http://en.wikipedia.org/wiki/Wealth_in_the_United_States#Distribution_of_wealth) are very interesting. Of interest to many in the HN crowd I direct you to "Current work status of head". Note the immense disparity between "self- employed" and all other categories.

<comment><USER6> _"Everyone agrees that some wealth disparity is a good and necessary part of a healthy economy."_

Nope.

<comment><USER7> So you think a high-school dropout who spends his days playing Black Ops should have the same wealth as a trained surgeon who saves lives in the ER?

No thanks. That idea is brain dead.

<comment><USER4> That reductio ad absurdum, and most likely not what the OP meant. The idea that a fair society is one where inequalities are rather low is not exclusive to extreme left ideologies. How you articulate inequality and justice is one of the most pertinent way to describe right vs left ideologies, and economics do not preclude either view (up to a certain degree).

If you read serious works about how fairness and inequality relate in modern democracy (for example John Rawls), you will realize that the concept is certainly worth of consideration. Being of a normative nature, it is obviously a matter of personal judgement and opinion, but the idea that inequalities are mostly bad by nature cannot be dismissed as naive, stupid or both.

Finally, I have never seen any serious economic work which claim that inequality was necessary for an health economy. There is a lot of studies about policies which tried to decrease inequalities with disastrous consequences, of course, but that's different.

<comment><USER5> Low inequalities and no inequalities are very different.

Suppose that we start with equal wealth. And then I buy and consume a chocolate bar. Odds are that I'm now happier and poorer than you. Who would seriously argue that this wealth inequality is a bad thing?

I'm right there with people who complain about the amount of inequality that we have today. I don't think that it is healthy or productive. But if you believe in having private property and money, you have accepted that _some_ level of inequality is acceptable.

<comment><USER4> Well, sure, it is impossible to have 0 inequality if you consider pure equality, but that's a trivial remark. The notion of equality almost always makes sense only in a statistical sense (are two values statistically different), unless you have a discrete observation.

</comment></comment></comment></comment></comment></comment><comment><USER8> Inequality of outcomes dos not bother me. Injustice bothers me. Unequal treatment bothers me.

But not inequality of outcomes. There are simply too many variables between individuals that affect outcomes. Some are randomly assigned at birth. Others are the result of individual choice.

Even if you eliminated all injustice, however you define it, individual choice and different ability would still produce inequality of outcome.

</comment><comment><USER9> The next step is to decompose the wealth inequality into two metrics: inequality within an age-band, and inequality due to different life stages. In Equalland, the former is zero, so all inequality is due to the latter.

So, when you hear that the top 20% have X% of the wealth, keep in mind that the bar isn't 20%. A better bar is the 64% from Equalland.

</comment><comment><USER10> Thank you!

As soon as those wealth inequality posts started popping up I've been waiting for someone to point out the idiocy of lamenting the wealth inequality between 22 yearolds just entering the workforce and 65 yearolds about to retire.

<comment><USER11> I'd argue, as a 22 year old economist just entering the workforce, that the fact that people just entering their retirement hold the most wealth is quite a social problem.

For instance, the ability of the older wealth to influence politics.

<comment><USER12> Also, in real life, the generation nearing retirement has much better voter turnout than the generation exiting college. So not only do they have more money to influence elections, but they're a more desirable demographic to cater to due to their presence at the polls.

We see this play out clearly in their ability to influence politics. E.g. they can vote themselves unsustainable entitlement benefits at the expense of younger generations.

<comment><USER13> ...which is why we probably never get to retire. The weirdly shaped population pyramid in the Western world can make "maybe Google will buy us" a more reasonable retirement strategy than retirement funds

</comment></comment></comment></comment><comment><AUTHOR> This blog post was inspired by the article and conversation here (especially pg's comment about income vs. wealth): <http://news.ycombinator.com/item?id=2039503>

<comment><USER14> I'm curious: were you also inspired by my previous posts, or did you independently develop the idea of "equalland"?

<http://news.ycombinator.com/item?id=1830974> <http://news.ycombinator.com/item?id=1904114>

<comment><AUTHOR> I'm pretty sure I didn't see your comments -- at least, I don't remember thinking about this distinction at all until the article two weeks ago.

Good to see that I'm not alone in thinking this way, though!

</comment></comment></comment><comment><USER15> I doubt this is a valid model of economic reality (even as a rough approximation). I seriously doubt that the average American is saving anywhere near as much for their retirement as this simulation suggests.

"Nearly half of baby boomers born between 1948 and 1954 and now between the ages of 56 and 62 are at risk of not having enough money in retirement to pay for basic expenditures, EBRI reports." - [http://www.washingtonpost.com/wp- dyn/content/article/2010/07...](http://www.washingtonpost.com/wp- dyn/content/article/2010/07/14/AR2010071405229.html)

</comment><comment><USER16> Note that the "inequality" here is strictly age related -- in other words, if you live according to prescription, then you too will have that amount of wealth at a particular point in your life. In other words, everyone has the same opportunity for upward economic mobility. When most commentators talk about inequality they're really talking about the lack of upward economic mobility.

</comment><comment><USER17> So to summarize, even in an ideal equal world, inequality exists. Just pointing out that the top 20% owns more than the bottom 20% means literally nothing, because even in a totally equal world, that is true.

If you introduce random variation into the performance of the stock market, then the ownership of the top 20% would increase even more!

</comment><comment><USER18> Great post! It provides a good gedanken for sorting out how much inequality results from age and how much results from other factors.

If you made this scenario a little bit more complex, you could demonstrate how other forms of "inequality" are based, in part, on age:

1: Have everyone start with equal $50,000 salary at age 22, then get a raise of $3,000 per year until they hit 65. Everyone would still have equal lifetime earnings, but you would find significant income "inequality" when looking at the population as a whole.

2: Instead of a flat $3,000 per year raise, everyone gets a 3.5% raise each year until they hit 65. This is closer to real life than the scenario above, and would produce an even more "unequal" income distribution.

</comment><comment><USER19> Imagine another country which has government-funded secondary education and pensions that cover the bulk of retirement expenses. Wouldn't the "necessary" inequality be noticeably lower in that case?

<comment><AUTHOR> Actually, no. If the government of Equalland were to pay a $50k/year to each retired couple, they would need to save less and the entire graph would shrink vertically -- but the ratios would stay the same.

In fact, in the real world government pensions tend to _increase_ apparent wealth inequality, since they are usually capped (e.g., in Canada the CPP pays out a proportion of your first ~$40k/year of pre-retirement income, but ignores any income beyond that point) -- in order to maintain the same standard of living post-retirement, the wealthy need to save a greater proportion of their income.

</comment></comment><comment><USER20> This is a good point if you make the assumption that people tend to accumulate wealth as they age as a rule. I think this is likely, but it has not been established as a general proposition.

The shapes of individual "wealth curves" will not necessarily be identical. Here are a few examples to consider:

\- A person who is raised in a middle-class home, and has basically the life story in the blog post will have a curve similar to that one.

\- A person who is raised in a poor home, is unable to afford college even with loans, and makes a few bad economic decisions early on, though not so bad that he cannot pay for them, will have a similar-looking debt event, followed by little change for the rest of his life.

\- A person who is raised in a wealthy home, goes to college without needing loans, and is taught from an early age the value of savings and investment will have a much steeper exponential curve, and a much flatter "retirement decline".

\- A person who is raised in a poor home, is unable to afford college even with loans, and makes catastrophic economic decisions will likely either declare bankruptcy or end up in prison. Either event resets wealth accumulation to an unspecified negative value (to account for the stigma and reduced access to various opportunities), yielding a significantly different curve.

\- A person who is raised in a rich home, with a trust fund, but whose trust fund was invested in real estate and Bernie Madoff.

\- A person living the Equalland scenario encounters a catastrophic financial event at some point (illness, crime, failure of an over-leveraged investment such as a home) and is driven considerably into debt. Servicing that debt will require either a significant portion of income thereafter or bankruptcy.

\- A person living the Equalland scenario, except that his chosen field of education is overproduced in his generation, will have a similar curve to the fourth scenario above. The education debt does not necessarily produce benefits thereafter.

I do think the Equalland scenario is likely to be most common, but I recognize that my suspicions are likely influenced by the fact that it is the most common scenario amongst my peers. I don't think it's a foregone conclusion that it is the overwhelmingly most common scenario in general, especially with so many different scenarios resulting in a net wealth loss over the course of a person's life.

</comment><comment><USER21> Typo at: "The most indebted households in Equalland &mdash $130,133....", missing the ;-character.

</comment><comment><USER22> Far more useful than looking at inequality in wealth or even income is inequality in consumption.

</comment><comment><USER23> I would like to live in Equal-land, I could live there, slouch around, work the absolute minimum and avoid work, and enjoy exactly the same benefits as those working the hardest to maintain that utopia.

<comment><USER15> No you don't. Money is a terrible motivator. If the only thing that is keeping you from working hard is the prospect of making more money, might I suggest that you've chosen the wrong career?

I'm not saying that Equalland is desirable. I'm just saying that I think you're overestimating the effect money has on how productive people are.

<comment><USER24> Can I hire you? Money doesn't motivate you right? Minimum wage, no benefits and 80hr weeks are required.

<comment><USER15> Oh, so we're playing the reductio ad absurdum game now? Ok, I'll bite. I'll pay you $1 million to jump off the Golden Gate Bridge. Wait, what was that? Money can't motivate you to do that?

<comment><USER24> Gladly. New meaning to the term golden parachute. Additionally I bet you'd find that there are people who would take that offer even if it meant their certain death.

Fyi, reductio ad absurdum is a valid method of argument.

I imagine I'd get a lot more applicants applying to my job post if I paid $1million vs. minimum wage. You may say money is a terrible motivator, but people will go through all sorts of horrible things for very small amounts of it.

<comment><USER15> Reductio ad absurdum is only valid if the proposition is a binary true or false proposition. This question involves a matter of degree, not a binary true or false.

Also, it's important to note that if you posted the job for $1 million you'd get a lot of applicants, but they wouldn't be happy or last very long. It turns out that there is such thing as paying someone too much. The reason being that money is a form of external motivation. Too much external motivation decreases intrinsic motivation: [http://en.wikipedia.org/wiki/Motivation#Intrinsic_and_extrin...](http://en.wikipedia.org/wiki/Motivation#Intrinsic_and_extrinsic_motivation)</comment></comment></comment></comment></comment></comment>


W3C HTML5 Logo in HTML5/CSS3 (Chrome 10, FF4) - <AUTHOR> http://labs.unwieldy.net/html5logo/

<comment><USER2> When it says "Chrome 10, FF4," it isn't joking. This is way busted in the Firefox 3.6 and Chrome 8 I have installed on my system. It does render _consistently_ awful between the two, though, which is pretty neat from a Web standards perspective. I wonder what new feature they both have that the release versions are lacking.</comment>


Phone backup and a new storage manager in the Google One app (free) - <AUTHOR> https://blog.google/products/google-one/free-features <comment><AUTHOR> Android:

[https://play.google.com/store/apps/details?id=com.google.and...](https://play.google.com/store/apps/details?id=com.google.android.apps.subscriptions.red)

iOS: "available soon"</comment>


Google bans fake 'cookie stuffing' Chrome ad blocking extensions - <AUTHOR> https://secalerts.co/article/fake-google-chrome-ad-blocker-extensions-were-cookie-stuffing/bf8447d0 <comment><USER2> Almost 5 years after uBlock's fork and now that Google is ready to kill ad blockers as we know and like them. Well, good job</comment>


Why we got so heavily involved in the Subversion project by the CEO of WANdisco - <AUTHOR> http://blogs.wandisco.com/2010/09/08/why-we-got-so-heavily-involved-in-the-subversion-project/

<comment><AUTHOR> Git is clearly the superior VCS, how dare he!</comment>


Take look YouTube clone - <AUTHOR> http://video.lackky.com/ <comment><USER2> This is essentially a new interface for YouTube. The videos are actually loading from YouTube too.

Please don't describe the website as a "YouTube clone" when it's essentially just loading from YouTube anyway.

Now design wise, it's a nice website design but a lot of the links to pages just don't work such as the copyright link.

</comment><comment><USER3> Is there a way to monitize videos like Youtube has?

</comment><comment><USER4> When is the IPO?</comment>


Web App Site Designs - <AUTHOR> http://designinstruct.com/visual-inspiration/visual-inspiration-30-beautiful-web-app-site-designs/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+designinstruct+(Design+Instruct)

<comment><USER2> Not trying to just be contradictory here, but does anyone else notice that almost all these websites look the same? I mean, CarbonMade stands out, but almost all these other websites, from a 10-foot view, look exactly the same.

Is that because the design is "right" in some way? Because to me, it just means that some of these website designs don't stand out in any way.

<comment><USER3> Yeah, the author has a very boring taste. Here's a list I made in 5 minutes (and I think it's way more interesting):

<http://www.roostblog.com/>

<http://www.heathwaller.com/>

<http://www.bohemiadesign.co.uk/>

<http://www.sproutfund.org/spring/>

<http://www.racket.net.au/>

<http://www.thirdculturestudios.com/>

<http://jakeprzespo.com/>

<http://www.brewshop.co.nz/>

<http://patterns.ideo.com/>

<http://www.unconventionalguides.com/>

<http://www.eightytwodesign.com/new/>

<http://www.boxee.tv/>

<comment><USER4> While these may be nice sites, your list isn't comparable to his list. His list contains 30 web applications. Your list has two web stores and the rest are generally content sites. So you've kind of missed the point on why he put the list together.

I don't agree with your opinion about his taste either. He's pointing to 30 sites which generally focus on driving new sales of their products. While they may have a similar approach, the list does contain a variety of styles and variations. I suspect the similarities in the designs speaks more to the selling process and the mainstream techniques used to drive sales rather than the author's "boring taste".

</comment></comment></comment><comment><USER5> Thanks for the link! I agree that there are some nice designs there that will inspire me in the future. However, I wanted to remind you of the Hacker News Guidelines:

"If the original title begins with a number or number + gratuitous adjective, we'd appreciate it if you'd crop it. E.g. translate "10 Ways To Do X" to "How To Do X," and "14 Amazing Ys" to "Ys." Exception: when the number is meaningful, e.g. "The 5 Platonic Solids."" - <http://ycombinator.com/newsguidelines.html>

I up-voted anyway though! Good stuff. Just a reminder for the future. :-)

<comment><USER6> I'm trying but I cant figure out the reason for this guideline. Or why, as a reader, I would care if a subject began with a integer? I know a lot of spammy submissions are like this on sites like digg, but if blocking spam was this easy, I could just filter my inbox on the exact phrase "viagra" and defeat all spammers worldwide.

<comment><USER7> My guess is that the number is not meaningful for any reason other than providing a count.

30 Beautiful Web App Site Designs is no more meaningful than Beautiful Web App Site Designs, no new information or useful information is included in the number 30.

<comment><USER8> I think it does. The former tells us to expect a curated list of more than 29 but fewer than 31 eye-catching designs, at least in OPs eyes. The latter is just _bleh_ , like a statement on a resume that reads "I managed a lot of money when I worked for a really huge company." Far more compelling is a line like "I oversaw a fund of more than $[Big Number] during my tenure as Investment Manager at [Company Name]." I think that's what's going on here.

I'm not saying that makes it right in the eyes of PG or in terms of the guidelines. But IMHO those 2 characters tell us a lot about what to expect on the other side.

<comment><USER8> I knew that comment was asking for downvotes. I'm sorry, I just disagree.

The number tells us to expect a list. That's information. Then it tells us that it's a long list, which in turn rules out the likelihood that it's one of those 3-point time wasters someone from Demand Media whipped together in the name of page views. More information still.

</comment></comment></comment></comment></comment><comment><USER9> This is a good opportunity to reinforce the #1 rule in website design:

You have three seconds.

As in, that's all the time the average person is going to spend on your site before hitting the back button or deciding to invest more time. If you can't get your message across in those 3 seconds, you lose.

Nearly half the sites on that list pass the test for me. I can tell that "this is a website that will help me invoice clients", and decide whether that's something I care about. The other half though, I have no idea what they do and likely never will.

If I had to pick a Rule #2, it might be: Make sure they remember your name. Half those sites (alas, a different half) I'll never find my way back to because the name is either not given prominently, not memorable, or easily misspelled.

I might remember that I saw something called Iceberg, but I certainly wouldn't know to spell it with two R's. Fortunately for me, typing in iceberg.com will get me to a nice looking web app with a blue background, a picture of an iceberg, and something to sell me. Unfortunately for Icebrrg, it's somebody else's business.

<comment><USER10> There are actually two different apps on that list with the name Iceberg, and neither uses iceberg.com.

<comment><USER9> Wow. I would have expected that the one would at least have its own domain name sorted out. It seems that both fail then.

At least the one shows up in a google search (#5 result for its own product name, which is also not a good sign.)

</comment></comment></comment><comment><USER11> Despite the death of "Web 2.0" as a term, the trend for large Helvetica continues unabated!

There are some great services in the list, though. Their work is the stuff that's more impressive than their design.

<comment><USER12> This is pushed much by the iPhone. It's super-easy to just go with Helvetica (I do it all the time...) because people associate it with the iPhone.

Besides, it's a nice font. :)

</comment></comment><comment><USER13> I had never seen <http://www.playlistnow.fm/> mentioned in this list before. It's insanely beautiful website and you can find playlist for the work you are doing. Like if you are coding mention it there and it will find playlists for that and so on.

Pretty cool website. Not my website btw.

<comment><USER14> Yeah, this service seems awesome.

<comment><USER15> Except that if it gets big enough, the record labels are going to put it out of business...

</comment></comment></comment><comment><USER16> The list seems to be more "web app homepage designs", and doesn't really offer any evaluation (or commentary) on the actual design of the apps.

</comment><comment><USER17> Am I the only one who has become a bit bored by the current trend in web design? Those sites all look the same to me, and the big fonts make feel stupid. W I T H A B I G F O N T I H A V E T O R E A D R E A L L Y S L O W...

</comment><comment><USER18> As soon as a printout of postmarkapp.com reaches the desk of someone at DHL's legal department, they will sued into oblivion for trademark infringement.

<comment><USER19> Because it features the color yellow? Inspired maybe, but they don't use any trademarkable elements on their design, and doesn't even have anything similar to DHL's website than the colors (which are not even the same really). They're not even in the same industry.

</comment></comment><comment><USER20> In a couple of years, you should see the same blog post with a different title "Designs that are so 2010"

</comment><comment><USER21> postmarkapp is a great SMTP service. We use them, and recommend highly.

<comment><USER22> how does that compare to something like Sendgrid (that is awesome btw)?</comment></comment>