Ask HN: What do you think of Wikipedia's fund raising? - <AUTHOR>

People have contributed more content to Wikipedia than any other site in this world. They should find a way to monetize it.
Also, 14 million dollars is too much. They should have some transparency.
I am fine with Google Chrome's, Microsoft Phone 7's or Toyota Prius's banner ads on Wikipedia. They will at least look better than their current begging banners.
Google counts its Google Chrome banners as ads and the same applies to wikipedia. Jimmy Wales' statement of having no banner ads is a lie. <comment><USER2> I have mixed feelings about it. It does take some money to run the site, but there are some _very_ ambitious folks there who want to make it more of a big- time NGO, so much of the fundraising is not really aimed at servers+code, but at some of the big-dream initiatives, like fixing education in Africa or something. There are also increasing numbers of "overhead" employees: full- time donor-relations and PR/marketing/outreach folks (not just one or two of them, but more like 10-15). They have picked up technical hiring, though; for a while, _all_ the new hires were of the other sort.

I used to be really involved in Wikimedia meta-stuff from 2003-2006 or so, until more of that started happening. I personally favor a grassroots- community plus minimal legal infrastruture model, like Debian has with its "parent" foundation Software in the Public Interest, which basically pays the bills and otherwise mostly stays out of the way. Other people, especially those with previous experience in the "nonprofit sector", have in mind a much more professionalized nonprofit organization, along the lines of the Sierra Club or one of the big NGOs. I'm skeptical of those organizations, especially when it comes to community-driven initiatives, though I think they do sometimes do good work. But imagine a Debian where the Release Manager position was actually a full-time, professional position, hired by SPI. There are some pros to that (a full-time employee being paid to do the job can devote more time), but I think it runs a lot of risks as well.

Some of one's views on that might also depends on what you think the scope of the Wikimedia Foundation should be. I tend to favor a more limited scope, where they focus on shepherding the _production_ of content (by volunteers), and then making it available for free under an open-content license. Other people favor a more comprehensive mission of being a content producer+publisher+distributor. There is much more that can be done with the content once it exists, in terms of repackaging, distributing it to various parts of the world, remixing it into useful subsets, producing new interfaces to it, etc.

But I'd rather see third parties do that: part of the whole point of making something open content is that anyone can do those things, not only the Wikimedia Foundation, and you don't even need its permission to do them (though friendly coordination is always good). I think the whole ecosystem would be healthier if there were more interesting things being done with the Wikipedia content by organizations and people _other_ than the Wikimedia Foundation. Instead of doing those things itself, I'd rather it focused on figuring out why not that many third parties are doing interesting things with the content (one potential point of improvement: what kinds of database dumps Wikimedia provides, and how regularly it provides them).

<comment><AUTHOR> I am sure IBM will pay couple of millions every year for that kind of data.

Google can also pay for it, they might use for Google translate. Wikipedia already has near similar articles in major languages. Google can fight a war for this much of user translated/verified content.

</comment></comment><comment><USER3> First of all, 14 million isn't all that much. Consider the traffic Wikipedia serves, the vast amount of content it is storing, that's not going to be cheap.

Second, I'd rather have Jimmy Wales' face staring at me once a year, than random ads that are far trickier to filter out.

Therefore, I donated, and will do so again, if I can afford it. Wikipedia is a great service, the least I can do is to help them with a little donation. And while the begging banner got old very fast, it's still miles better than the alternatives.

<comment><AUTHOR> Even I have donated!!!

Some people can't donate but most have them have contributed in form of content. Wikipedia can find a way to monetize it. Red Hat is doing it, Ubuntu is doing it, Mozilla is doing it.

Maybe they can publish a book, journal or something. Also, they can show ads to registered people who have no issues with ads. Google Chrome's or Microsoft's banners are not that vivid and we can deal with it. I still visit wired, lifehacker, engadget despite the ads. [Again this could be kept optional]

 __* Just my two cents :-D

</comment></comment><comment><USER4> 14 million dollars is _not_ very much, as it's one of the largest websites around. Most large websites are backed by companies that make a lot of money and can easily have a huge staff improving the technology; this is not really the case with the Wikimedia Foundation. Of course they could get better at transparency, but you have some details here: [http://wikimediafoundation.org/wiki/File:2010-11_Wikimedia_F...](http://wikimediafoundation.org/wiki/File:2010-11_Wikimedia_Foundation_Annual_Plan_FINAL_FOR_WEBSITE.pdf) [http://wikimediafoundation.org/wiki/2010-2011_Annual_Plan_Qu...](http://wikimediafoundation.org/wiki/2010-2011_Annual_Plan_Questions_and_Answers)

If you're annoyed by the ads you can always remove them (for that session, not permanently). I fully agree that they are in fact ads, contrary to Wales' statement. Within the Wikimedia community there is a (somewhat strong) consensus that not having ads by 3rd parties is necessary to remain indepenedent - there is a fear that such 3rd parties might affect the content in a biased way.

<comment><AUTHOR> They could raise some corporate/government grants. Maybe partner with schools, universities and libraries.

Again showing ads to people who are fine with it is better than showing their own ads, which are quite annoying!!!

</comment></comment><comment><USER5> I usually just give them some money. I love Wikipedia and I give them $20 a year or something. I'd much rather see a banner once per year asking for money than crazy CPU hogging flash pop-up banners all year round like a newspaper outlet.</comment>


Scala for Haskell programmers - <AUTHOR> http://docs.google.com/present/view?id=dhmnf9cf_26cgst4zg8

<comment><USER2> Scala is definitely one of the better functional languages for Java. (It's OO implementation is not that great, however.)

I am left with a few questsions:

Monoid was used as an example, but does Scala's type system support instances like:

       instance (Monoid a, Monoid b) => Monoid (a,b) where
          mempty = (mempty, mempty)
          ...

In this case, a mempty tuple is created by creating a mempty "a" and then a mempty "b". If you think about it, this is obvious, but the question is whether Scala's type system knows what "a" and "b" are at the right time, so it can delegate to the right "other" mempty.

(I ask, because I wrote a Haskell-style data structure module for Perl, but it is missing Monoid for this reason. We would know the types _after_ mempty ran, but we can't run it without knowing the types. If only you could fold time back on itself...)

Also, they use the word "forAll" to describe type signatures; are higher-rank types allowable?

<comment><USER3> No higher-rank types in Scala, I'm afraid.

As for the monoid instance:

def pairMonoid[A,B](a:Monoid[A],b:Monoid[B]) = new Monoid[(A, B)] { def empty = (a.empty, b.empty) ... }

</comment></comment><comment><USER4> It reads somewhat like "The Occult for The Arcane", doesn't it?

<comment><USER2> Perhaps if you don't know Haskell, Scala, or any computer science beyond "trees"...</comment></comment>


Russian Government's agency exploits overlooked browsers vulnerabilities - <AUTHOR> https://bugzilla.mozilla.org/show_bug.cgi?id=1487081#c16 <comment><AUTHOR> It's worth noticing that while they didn't target specific people or made the attack undetectable through cache control trickery, the tools they are looking for can be used to detect such evidence removal.

So they are probably building a Government database of IP/people using such tools!

This target mainly Russians, but you know, as Mozilla use to say... "this is the Web functioning as designed"!</comment>


Ask HN: Good headphones for noisy coworking space? - <AUTHOR> I've recently moved from a quiet private office to a shared coworking space. I'm not used to the noise so I was thinking in investing in a good pair of noise cancelling headphones.<p>What headphones are you using in work? <comment><USER2> RHA MA-750i's are phenomenal, especially with the memory foam on the buds. I can wear these on a plane and even without music on can hardly hear the roar of the engines. When I've taken them out to order a drink, etc and had music playing I've had flight attendants remark on several occasions how they couldn't hear the music at all until I've removed them from my ears.

Best of all they come with a 3 year warranty. I had an issue at one point and they replaced the set free of charge within the 3 years. They also sent me replacement memory foam tips several times without question.

Highly suggest! BTW - I purchased mine on Amazon.

</comment><comment><USER3> Granted, they aren't noise cancelling, but a pair of audio technica ath-m50x get me through a day in my noisy office, and they sound pretty damn good.</comment>


Show HN: Email Breach Calculator - <AUTHOR> https://breachcalculator.metomic.io/ <comment><AUTHOR> Trying to quantify the cost of an email breach, made this little tool for people to do so easily.</comment>


The VS Code Go extension joins the Go project - <AUTHOR> https://blog.golang.org/vscode-go <comment><USER2> The Go extension hasn't been working for me in months. I have tried recompiling the required toolset, wiping and reinstalling VSCode and nuking GOPATH, to no avail.

I then evaluated Jetbrain's GoLand (which is a paid product) and that thing can't even extract methods or refactor names properly.

The situation is so miserable I went back to ACME with [https://godoc.org/github.com/davidrjenni/A](https://godoc.org/github.com/davidrjenni/A) which for some reason works.

<comment><USER3> GoLand extract methods very well, and I don't remember refactoring names ever being a problem. It works far far better than vscode go ever worked.

</comment></comment><comment><USER4> Is there any blog/video discussing architecture of VSCode. From my limited understanding it seems to have made some brilliant choices, but don't have enough time(skills?) to go through the code. Someone discussing arch, various choices and implication would be really neat.

<comment><USER5> In terms of language support there are 3 big things

1) Syntax highlighting. They followed the textmate bundle highlighting spec which is somewhat a standard that is shared by many editors.

2) Language Server Protocol - a JSON RPC based protocol that different languages can hook into. The interface is something like. "The users cursor is at this position, what code completion items need to be shown? Where are the errors and warnings?"

3) Debug Protocol - similar JSON RPC protocol, but for debugging. For this breakpoint, show the scopes, the stack trace, console logs etc

Almost everything in Vscode communicates in an async manner. The main UI is on an isolated process, and all extensions are on a different process so they don't stall the UI.

It's a modularized and RPC based architecture.

</comment></comment><comment><USER6> Vscode used to be so good a while back for Go development. Migration to gopls had some hiccups I guess. Hope this will fix that(if not already)

<comment><USER7> VS Code and gopls has been a pleasant experience for me the past few months.

<comment><USER8> Same, except that you still can't execute expressions in the debugger. It only reads existing values. I think it's something with Delve.

</comment></comment></comment><comment><USER9> > The VS Code extension for Go, built using many of these tools, is now used > by 41 percent of Go developers

That's impressive, I didn't realize VS Code is that popular nowadays.

<comment><USER10> Yeah I think it managed to take over a lot of users from Sublime Text and Atom, and it's probably the best option out there for people that don't want / can't have a full IDE like VS or IDEA.

The latter is a licensed product, I had to pull some strings to get a license at my current job. Well worth it though, I worked in VS Code earlier but it wasn't as complete as IDEA. For example, in my particular case I work in an older codebase targeting ES5 (no transpilers or whatever) and PHP 5.3; setting the language mode to those, I get warnings if I try to use PHP's short array syntax or ES6+ specific functions. At the same time I'm working on a replacement in Typescript/React and Go. It just works without a hassle, and I get things like go to definition and common refactorings working out of the box.

I still do my builds and running on the commandline though, it has to be portable.

<comment><USER11> My company offered to pay for IDEA, so I tried out the free version, and it was just miserably laggy. Not unusable, but it felt like every little interaction had a 100ms delay. On a brand new MacBook Pro. I decided I couldn't deal with that all day every day so I quickly went back to VSCode.

<comment><USER12> Catalina has caused a bad IDEA experience for me; updating tanked performance.

</comment></comment></comment></comment><comment><USER13> I'm happy for this extension, which I like.

Months ago I tried configuring and running the extensions for Go on Emacs on Windows and it was a nightmare and a loss of time.</comment>


'Uber for private jets' is grounded, but CEO says he hopes to raise more money - <AUTHOR> http://www.boston.com/business/technology/innoeco/2013/12/uber_for_private_jets_is_groun.html

<comment><USER2> So they sold seats on smaller jets ("private jets") between 10 cities. They may not have realized it, but they were just an airline with really bad economics.

Hint: You don't want to own the heavy inventory, just have control of it when needed. Uber doesn't own the cars.

<comment><USER3> Blackjet didn't own the jets.

<comment><USER2> They were buying some sort of inventory (seats or flights outright), correct? -> You are now an airline.

airbnb, über, ebay and craigslist don't have any expensive inventory. They just provide the eyeballs and matching venue to make business happen. That's what those guys should have done.

</comment></comment></comment><comment><USER4> I can't fathom this working. Why not just fly first class? The purpose of private jets is flexibility and privacy. If you want to pay up, NetJets is an option. But perhaps I'm not their target customer.

<comment><USER5> No security line. More flexibility about when you go. There's nothing like flying in a private plane.

<comment><USER6> I signed up for TSA Pre and haven't seen a security line since.

<comment><USER5> No, I mean _NO_ security line. You can drive your car out onto the tarmac, hop in the plane, and have your rental car/limo waiting for you on the tarmac on the other side. You don't even have to _look_ at a TSA agent.

This is the reason why all of the BS exists around flying commercially. If truly wealthy individuals had to suffer through that, airport security would have been dismantled years ago.

<comment><USER6> Yes, I understand -- just saying that you can mitigate it enough that you don't need a private plane. If you fly Virgin upper class, for instance, you get pretty much what you describe. A car will pick you up and deliver you behind all the typical airport security with your boarding documents.

<comment><USER7> Right, _but_ \- Virgin upper class if you're flying out of NYC, for example, can get you to....the UK. And a limited number of times a day.

Private planes are absolutely awesome for getting between inconvenient points domestically. Have to get from San Jose to Austin on short notice? A quick skim of ITA shows coach fares of $1k and they all require a stop somewhere, with an average duration of 7-ish hours.

Or, hop on a private jet, skip security, take off pretty much whenever you're ready to take off, nad then come back when you want it.

</comment></comment></comment></comment></comment></comment><comment><USER8> Hindsight is always golden but ths particular idea always seemed to me to be the handiwork of investors & execs in the Silicon Valley bubble extrapolating their needs and wants to the rest of the general population.

<comment><USER9> well, there seems to be uncanny valley between flying an airline, even in business/first class and private jet using something like prepaid fractional card (like NetJet Marquis - last time i heard it was 100K for 25 hours, today probably somewhat higher).

Of course the valley is for the reason, yet for some above mentioned people it may look like a business opportunity. Anyway, they raised 2M - peanuts for VC to explore on practice whether it is opportunity or not.

<comment><USER10> One of the problems is that a mid-size business jet (say Citation X or Gulfstream V/G550)costs as much to fly as a regional airliner like a Embraer E170/190($10k+/Hour) due to engine design optimization and is only marginally faster than the E170 in flight time assuming both fly non-stop.

Smaller business jets don't have the fuel range to do a coast-to-coast flight non-stop with passengers. E170/190s can be fitted with auxiliary tanks for coast-to-coast corporate shuttle flights.

</comment></comment></comment><comment><USER11> I love how the company didn't get mentioned in the headline, but Uber did.

</comment><comment><USER12> Business opportunity: an Uber for "An Uber for" companies!

</comment><comment><USER13> At one point I found a site claiming to be an Uber for private jets, and they booked seats on private jets that were already flying between your destinations, either empty or not full.

The idea was to defray some the cost of flights that were already happening, and to provide in some cases cheaper than first class flight prices.

I wish I could find that again, I never really looked into if it was actually a decent deal or not.

<comment><USER14> Over the past 7 or 8 years I've seen multiple companies tried to do this. On paper, the concept makes sense.

<comment><USER13> But I suspect that if you have the money to pay for a pilot and a private jet you don't really care about making back ~3-5k in flight costs. Especially if it means you have to share your plane with people you don't know and that may not treat your plane with respect.</comment></comment></comment>


Developing Service Oriented Architectures - <AUTHOR> http://lethain.com/lessons-from-developing-software-oriented-architectures/ <comment><USER3> If you're considering switching your monolithic application into a SOA you should consider the testing and debugging implications seriously.

If your call graph goes more than one level deep then doing integration/functional testing becomes much more complicated. You have to bring up all of the services downstream in order to test functionality which crosses that boundary. You also have to worry a lot more about different versions of services talking to each other and how to test/manage that. The flip side is that the services will be much smaller, so leaf nodes in the call graph can reach a level of test coverage higher than a monolithic service.

Debugging and performance testing becomes more complicated because when something is wrong you now have to look at multiple services (upstream and downstream) in order to figure out where the cause of some bug or performance issue is. You also run into the versioning issue from above where you have a new class of bug caused by mismatched versions which either have tweaked interfaces or underlying assumptions that have changed in one but not the other (because the other hasn't been deployed and those assumptions are in shared code). The bright side for debugging and performance is that once you know which service _is_ causing the issue it's way easier to find what inside the service is causing the issue. There's a lot less going on, so it's easier to reason about the state of servers.

<comment><USER4> It depends how you do SOA. We try to publish "events" rather than to "call" another service and expect responses. We try to decide as much as possible in the service that publishes an event, so that information doesn't have to be returned. Other services act on that information.

Your kind of SOA sounds more like distributed RPC, which indeed is complicated.

<comment><USER3> Yeah, if you can get away with that model things are simpler. The best first step into SOA to take is offloading work that doesn't need a user response to a pool of workers (often by publishing to a message bus, as mentioned elsewhere in the thread). I've implemented systems like that using Rabbit and Redis and it worked fairly well.

However, some kinds of requests are fundamentally about integrating the results of a bunch of different services into a response to send to the user. In that case you somehow need to gather the results of your rpcs/events in one place to integrate them. An example is Google search where the normal results, ads, and various specialized results/knowledge graph data need to be integrated to present to the user.

Another consideration is how much you want to be able to isolate services. If you have a user/auth service as in the article which completely encapsulates the database and other resources needed for data about users then you'll end up with a lot of calls into that service. It's a disadvantage because of all the reasons in my original comment, but it's great from the perspective of being able to isolate failures and build resilient systems

<comment><USER4> Ok, yes, in the case where you have to have all information on one page. Another way is of course to get that information in a ajax call, or open a SSE/Websocket connection to listen for events from the event bus. But there are of course cases where that's not feasible.

And in the case of auth systems what we typically do is to have a separate app for logins/authentication, then do simple SSO or domain cookie sharing and let each sub system handle the authorization.

My point is that not all SOA has to be as complicated as the article's. But if you go that way, yes, then all your points apply.

</comment></comment></comment></comment><comment><USER5> Jay Kreps epic blog post on the Log should be required reading: [http://engineering.linkedin.com/distributed-systems/log- what...](http://engineering.linkedin.com/distributed-systems/log-what-every- software-engineer-should-know-about-real-time-datas-unifying)

We do things very differently to that discussed in the OP (and are heavily influenced by the Krepian school of SOA.) I'd write more, but I'm on a train with flaky internet.

<comment><USER6> Awesome link. Epic is the right descriptor. You could do much, much worse if you were looking to understand data integration in practice.

The links section at the bottom alone are a tremendous resource. I've stumbled across most of these over a period of years and if you started with just skimming over this article and the links, you would save yourself many hard lessons.

</comment></comment><comment><USER7> For a slightly different slant on SOA's I'd thoroughly recommend watching Fred George's talk on the technical side of implementing micro-service architectures from Oredev last year

[https://vimeo.com/79866979](https://vimeo.com/79866979)

along with his talk on Programmer Anarchy which is more about the resulting team / working patterns

[https://vimeo.com/79866978](https://vimeo.com/79866978)

It's moved playing with much finer-grained service architectures _way_ up my to to list.

<comment><USER8> That first video is really interesting. It seems very reminiscent of a distributed tuple space architecture [1].

[1] [http://en.wikipedia.org/wiki/Tuple_space](http://en.wikipedia.org/wiki/Tuple_space)

</comment></comment><comment><USER9> Other big benefits you get from well defined interfaces include security - <USER2> can do application level firewalling, statistics, anomaly detection really easily - and testing (play back known traffic, literally generate every possible message and see what happens, etc.)

Also, HTTP can be a poor choice in security terms for its complexity baggage (cookies, headers, methods, DNS baggage, SSL baggage, etc.). Alternatives such as MQs can be useful to consider, especially at later points in growth, since they can handle complex topologies with ease.

I believe the author could benefit from making a distinction between stateful and stateless in his description of dumb and smart API clients, since state is the main factor resulting from assumptions here.

</comment><comment><USER10> So after going back and forth with our startup on SOA or not, I have felt like separating these services out of (in our case) a monolithic Rails application has made sense. I would like to use Sinatra for one service, rails for the web interface, and possibly Python for the last service. I understand this adds a lot of overhead by creating an interface and authentication for each service.

For me the logical division of services seems to make sense especially when using 'the right tool for the right job'

I may be over optimizing, but I think it will pay off at a later date with more developers and the need to scale each service separately. Maybe someone can point out issues with this thinking (besides those addressed in the blog post).

<comment><USER11> To me the crux of the issue is the interface. If you can define a very clean interface without having to do a lot of contortions to get the data you want where you need it, then extracting a service can be relatively low overhead. But what often happens is at the 30,000-foot view it looks like a service makes sense, but then when you get into the details you realize the separation can not be as clean as you first envisioned.

<comment><USER12> I'd disagree with this. In my experience everytime it has seemed like the interface was too complex too support services correctly, it's been because the break for the services was at the wrong level of abstraction. SOA tends to work best when you define discreet chunks of functionality and each service is only responsible for that chunk. Just like developing testable code, you want to make those chunks as small as possible, without losing your mind at the shear number of services. For example having an order service and shipping service as opposed to a just an order service that handles everything is more likely to make sense IMO.

<comment><USER11> Your argument doesn't seem to address my point. You're saying if the interface isn't good you're at the wrong level of abstraction. Okay. How does that contradict the idea that the interface is everything for creating a successful SOA?

<comment><USER12> I'm saying that it's rare that SOA isn't a proper fit for a web application and if it seems like a poor fit you likely haven't abstracted your interfaces to the right level. Your monolithic app is going to suffer from poor design just as much as an SOA based one. Your point seemed to be that certain applications could be well designed and still not a proper fit for a SOA. I think if an app is well designed it will by default be a proper fit for SOA. If you were not implying that I apologize. I guess my position is that nearly any complex web application would benefit from SOA.

<comment><USER11> My point was really nothing to do with whether an application is a fit for SOA. It's more about _how_ to design an SOA. Your point about a poorly designed SOA being an equally poorly designed app is well taken, but I think it's more work to design a good SOA than a good monolithic app. And this is where the effort of designing the interface comes in.

In a monolithic app interfaces can be more fluid because you can have automated tests and static analysis and compile time checks verifying that a given change works. That means you can prototype and iterate faster while the business requirements may still be churning considerably. To realize the benefits of an SOA you need a much more stable interface and some way to handle validation and correctness of the wire protocol. If you do it right and come up with a stable interface, you gain the benefits of decoupling system administration, scalability, and even development to a great extent. But if you do it wrong you end up a lot more work for an equivalent business logic architecture, and if you don't have any scaling issues than the cost-benefit is likely not to be there.

My rule of thumb about whether an SOA is a good idea to pursue at a given point in time is much more related to the team size than the nature of the app.

</comment></comment></comment></comment></comment></comment><comment><USER13> #2 is exactly how I pitched a migration to a micro-service architecture to my CEO yesterday. Feeling rather pleased with myself right now.

</comment><comment><USER14> Last job wanted SOA but wouldn't deploy Rabbit (or any other message bus) because "it's another thing to look after". Ended up as a simple REST-alike webservice. Which I guess includes "service" in the description...

<comment><USER15> What's wrong with that? No need to overcomplicate stuff. That's a perfectly good solution depending on what reliability you want.

<comment><USER14> Oh, I have no objection to simple RESTian APIs. But they're very much not SOA.

</comment></comment></comment><comment><USER16> So.. SOA.

Is anyone doing SOA+ESB in a non-Enterprise environment?

Is an ESB actually useful beyond the idea that it is supposed to let "non skilled" people "develop services" (which I'm somewhat cynical about)?

<comment><USER5> How will you manage communication between services in a SOA? If you exclusively use point-to-point welcome to spaghetti code.

Our philosophy is to use point-to-point when you absolutely need another service's input to complete your task. Otherwise put a message into the bus. See the Jay Kreps blog post I linked in below.

<comment><USER17> It's not spaghetti as long as your interfaces are well-defined, is it?

I can see the value in a service locator/registry, but that doesn't seem like a substantial piece of the ESB pitch.

When do you have a fire-and-forget case like you seem to be talking about? I can guess a few secondary concerns like logging, but most of the time if you're calling another service it's because you need a response from that service. At least for the apps I'm used to writing.

<comment><USER18> I would say "spaghettiness" is pretty much topology - not whether those interfaces are well defined or not, which is pretty much an orthogonal property.

i.e. You can have a poorly defined ESB and a big pile of spaghetti with well defined interfaces. Unfortunately I have seen both!</comment></comment></comment></comment>


Ask HN: Will you buy an iPad?  - <AUTHOR>

Just wanted to quickly survey HN readers to find out how many of you thinks that its good time to buy iPad or one should wait. I would have bought without second thought but I already own Kindle and iPhone.<p>update: 1 Yes, 9 No. Thanks for the responses. I got my answer. <comment><USER2> No. Apple have this habit of leaving out no-brainer features from first iteration of their new products. The one that I can think of is Video/Camera. Also, I don't know if I can use my existing collection of PDFs and other ebook formats on iPad, if not, this thing has no use for me.

I will wait for 2nd/3rd generation iPad, when all the kinks will be fixed and price will come down.

<comment><USER3> "The one that I can think of is Video/Camera"

Agreed. If it has a front-camera for Skype/iChat I would definitely buy one.

"Also, I don't know if I can use my existing collection of PDFs and other ebook formats on iPad, "

From what I've read (although we'll never know till the release) new iTunes version will support ePub. So I guess at least you could convert your PDFs to ePub and then put them in an iPad

</comment></comment><comment><USER4> Yes. It's going to replace my laptop for surfing the web when lounging around the house.

</comment><comment><USER5> After it has a camera, probably.

</comment><comment><USER6> I own a Kindle AND an iPhone and I broke down and ordered a 16GB iPad last night. It's going to be used mainly as an on-site input device for some industrial clients I have. It will be used with a modified version of their intranet I'm going to be developing. The main use will be for hard counting inventory.

<comment><USER7> Now that is actually one of the first _real_ uses for the ipad that I've seen come up. Excellent idea!

</comment></comment><comment><USER8> I'm in Iceland, so I'm not expecting it to reach us for the next years. It's been 3 months since we first got the iPhone!!!

Some people have had luck with importing the iphone from the US and then cracking it, but it's not a very enjoyable experience

<comment><USER9> Well the 3G iPads are sold unlocked, and they don't need a wireless carrier unlike the iPhones. I can't see why Apple wouldn't start selling them as soon as they had enough inventory to do so.

</comment></comment><comment><USER10> No. For many reasons:

\- doesn't run multiple apps at the same time. Seriously, this is a must feature, I want to be online (facebook for example) while reading or playing.

\- Writing is harder with a screen.

\- My netbook (same price), has same weight and is yet more powerful, can run windows 7 and Android. And it has got a camera for video chat.

</comment><comment><USER11> Yes.

The interface looks so intuitive and just plain fun. Plus the battery life and 1.5 lb weight is fantastic. I can see myself spending the vast majority of my non-coding time on the iPad.

Being able to use my bluetooth keyboard with it is also a big plus.

</comment><comment><USER12> I'm going to wait until I can at least play with one at an Apple Store. I'm probably most interested in using one to experiment with tablet-targeted web UIs, but I can also see it working as a good motivator for me to continue learning Obj-C.

</comment><comment><USER13> No, I'm going to buy a Google Chrome PC, possibly in tablet form but probably clamshell.

</comment><comment><USER14> Yes. I have a 3GS but kind of need a second device with a compass to test a game I'm writing. The only alternative would be a contract-free 3GS, which costs a lot more.

</comment><comment><USER15> I'm not yet decided. Waiting for more reviews and videos of it in action.

I'm in Canada, so I'd have to wait anyway.

</comment><comment><USER16> No

</comment><comment><USER17> Not before I've made 500$ or so off iPad apps ... label me frugal.

<comment><USER18> It is pretty hard to make an app that works _well_ , without actually trying it out on a device. I've tried; ended up buying an iPod touch before the app shipped.

</comment></comment><comment><USER19> NO WAY. I don't find it worth 400.</comment>


Lamborghini and McLaren Dealerships Drive Bitcoin Adoption in USA - <AUTHOR> http://www.coindesk.com/lamborghini-mclaren-bitcoin/

<comment><AUTHOR> An article about my statup!</comment>


Style Your #NewTwitter Profile With Themeleon From COLOURlovers (YC10) - <AUTHOR> http://techcrunch.com/2010/09/21/make-your-newtwitter-background-pretty-with-themeleon/

<comment><USER2> Why 'COLOURlovers' with a 'u' in the British or Canadian style, rather than 'COLORlovers'? They've got the colorlovers.com URL ...

<comment><USER3> [http://www.colourlovers.com/blog/2007/09/05/color-vs- colour-...](http://www.colourlovers.com/blog/2007/09/05/color-vs-colour-the- great-spelling-battle/)

</comment></comment><comment><USER3> P.S. More details on the actual updated app: [http://www.colourlovers.com/web/blog/2010/09/21/themeleon- si...](http://www.colourlovers.com/web/blog/2010/09/21/themeleon-simply- beautiful-twitter-themes)

P.P.S. Do you have a site that offers personalization of profiles to your users? Let me know because we're rolling out an extension of Themeleon to other sites.

</comment><comment><USER4> Sounds interesting but so many are still waiting for the new version. talk about a long rollout process.

<comment><AUTHOR> That's one of the neat things about the new Themeleon: you can preview your profile with the new Twitter layout even if you haven't been switched over yet.</comment></comment>


64 Network DO's and DON'Ts for Game Engines - <AUTHOR> http://ithare.com/64-network-dos-and-donts-for-game-engine-developers-part-i-client-side/

<comment><USER2> Ah yes AWT/Swing... the library that Sun refused to give up on, and that basically killed client side java.</comment>


How To Become a Millionaire In Three Years - <AUTHOR> http://jasonlbaptiste.com/startups/how-to-become-a-millionaire-in-three-years/ <comment><USER2> Just a quick semi-meta comment: if you have a comment which you put a lot of time into and which resonated with people, strongly consider blowing it up into a blog post. It may be irrational, but the perceived authority of 500 words wrapped in an attractive Wordpress template murders the perceived authority of 500 words appearing at the third level of indentation on this page.

I like to think that I've written some fairly useful stuff here over the last year or so. To the best of my knowledge, none of my comments has ever gone to Slashdot and the New York Times, but the comment that I turned into a blog post about programmers and names just did.

Your own blog is also a little easier to cite in resume-type situations. (Hypothetically assuming I were to seek funding, I have at least one HN comment that I'd point to to say "Read this, it is strongly indicative of the future success of the business you are about to invest in", and that is a little quirky.)

<comment><USER3> Another meta comment: Let me start by saying I do not think you have deliberately abused the HN point system. You already have a high score and presumably don't care about the number growing.

That being said... this is an interesting way to game one's HN score.

Comment on stories. Once it became obvious that a particular comment is popular/well-received (200+ points) clarify it a bit and post it to your blog. Then submit it as a story back to HN and get another (200+ points).

I found your original comment really interesting and the formatting on your blog way easier on the eyes than HN comments so I'm not complaining or anything.... just thought it an interesting (and inadvertent) example of how to abuse the HN point system.

<comment><AUTHOR> I don't care about Karma at this point in the same way people with lots of money don't care about money (that right there is a potential post). I'd rather not lose it because that means I've done something bad/not smart. Otherwise gaining karma isn't something I keep track of. My logic was:

a) I wrote the comment randomly on a Sunday night. I literally wrote what was on my mind. I kept updating it frequently as I thought of more things.

b) All of a sudden there were 200+ upvotes the next day. To me that indicated that people found the comment really useful.

c) I had more to say, wanted to polish it up, and put it on my blog in a more permanent place.

d) Submitted it since it was previously proven to be useful.

<comment><USER4> I'd kind of like a way to sell some of it off, or have pg fly my family on an all-expenses paid vacation to the Bahamas or something. Fact is, though, it's completely useless.

</comment></comment></comment></comment><comment><USER5> Are you in fact a millionaire?

<comment><USER6> Excellent point.

On the other hand, I know plenty of millionaires who never could have made a post like Jason's.

Why? Because of how they became millionaires. Either they inherited, joined a family business, climbed the corporate ladder, held onto or flipped real estate, grew a conventional business in the perfect climate, or just got plain lucky.

Better: Have you earned a million dollars through your own start-up > once?

<comment><USER7> Most people don't become millionaires through inheritance, extreme income, and so forth; they become millionaires because they save more than they spend, usually by a substantial amount, invest widely, buy a house and keep it, and marry and don't get divorced. Stanley and Danko's book _The Millionaire Next Door_ describes this phenomenon: [http://www.amazon.com/Millionaire-Next-Door- Thomas-Stanley/d...](http://www.amazon.com/Millionaire-Next-Door-Thomas- Stanley/dp/0671015206/ref=thstsst-20) and what wealth in America actually looks like.

<comment><USER8> That's a _slow_ way of becoming a millionaire. People want to become millionaire the fast way.

It's still hard work though. However, you can probably combine the advice in that book and speed up the process of becoming a millionaire.

Once you get to that, I think you can live off a 3 percent interest. That's 30,000 dollars. I am pretty sure you can manage that if you live like a college student.

<comment><USER9> 30.000 dollars is enough for middle-class living in the Third world :)

I'd spend part of the capital though, or invest on something with a better interest rate (like living off real-estate rent - my grandparents do that).

</comment></comment></comment></comment></comment><comment><AUTHOR> Added some things, cleaned up a tiny bit, and made permanent this comment which people found useful last night: <http://news.ycombinator.com/item?id=1447428> Update: seems mediatemple is going schizo, so if things are loading slow, I apologize. They usually run smooth at this level of traffic.

</comment><comment><USER10> Thanks for editing your comment and posting it. It's much nicer to read. And...

> Raise Revenue, Not Funding

Thank you, thank you, thank you.

> Look For Something That Is Required Or Subsidized By Law

I'd like to add that you should be careful about something that requires you to need constant permission from a third party. The iPhone market is a good example. While I'm not suggesting that you shouldn't develop for that market, you just need to be aware that whatever you do, your success depends on someone besides you or your potential customer saying "Yes."

<comment><USER11> VERY good point. I call this the "fallacy of control" ...

Basically, don't forget who controls the product/service/platform you're trying to build for or sell. The prime example of this is Pandora's epic journey through the annals of the music industry. Brilliant idea, brilliant execution, but almost didn't make it because they didn't actually have any control over the product they were selling (other peoples' music).

I've seen lots of companies start and fail trying to do similar things -- music, movies, TV shows, etc. So many ideas can be so simple ... "we'll create this awesome service that lets you pick your song and XYZ"

Or, more simply put: Be in control of your own supply chain.

<comment><USER10> > Fallacy of Control

I like this. I'm going to steal it for my own personal use in later conversations, where I will forget to credit it to you, Mr/Mrs NLH.

</comment></comment></comment><comment><USER12> I think this is a really useful article, and honestly the advice sounds like good and rational advice. So I hope it's clearly that I'm genuinely not snarking when I say this:

Why would one want to be a millionaire?

This isn't to say that there's no reason to try. It's only to say that most people don't think about how much it _costs_ to become a millionaire. Maybe some things are just worth more...

</comment><comment><USER13> Hi Jason,

Great post, but just thought I'd mention I went searching for the RSS button on your site and couldn't find it anywhere (in fact, I subscribed to the comments on that post in my reader before I realized it was the wrong feed).

I could be blind, but in the end I noticed it was Wordpress so went to /rss/ to subscribe. Just thought I'd let you know!

</comment><comment><USER14> Do something that makes $333,333.33 a year.

<comment><USER15> And end up a penny short. Oh, the disappointment.

<comment><USER14> gotta keep something to strive for.

</comment></comment></comment><comment><USER16> Why do Projections always try to be linear? :[http://scrivle.com/2010/06/22/why-do-projections-try-to- be-l...](http://scrivle.com/2010/06/22/why-do-projections-try-to-be-linear/)

<comment><USER17> Because no one is any good at math.

</comment></comment><comment><USER18> Once I saw an article on "How to Get a Rich Girl" one of these Maxim type magazines. I wonder if there were actually people reading it and thinking "yeah, I'm gonna read this and get me a rich chick!"

</comment><comment><USER19> > If it's a mass market "trend" that's all over the news, it's too late

If someone thinks it is a good idea, you are too late. - Yvon Chouinard

</comment><comment><USER20> Jason is for sure not a millionaire, but in his article he just outlines some good tips on how to identify an opportunity.

</comment><comment><USER21> I'm getting "No Results Found. The page you requested could not be found. Try refining your search, or use the navigation above to locate the post."

It seems appropriate.

Though I suppose every millionaire became a millionaire in three years, if you only start counting from three years before they became a millionaire.

</comment><comment><USER22> I am, mostly through saving and real estate investment.

<comment><USER23> Would you still follow the same strategy in the current real-estate market?

</comment></comment><comment><USER24> Please don't take this wrong way, but: GAAAH my eyes!

The text is way too big, the margins way too wide, and the letters way too run-together.

(Readability ftw!)

<comment><AUTHOR> No no, I won't. I tried optimizing the blog for the iPad a few weeks back. It works great there, but it's not the best for the actual computer. I'm going to scrap the current design and go with something fresher now that I'm writing more often. The iPad formatting? More on that later...

<comment><USER24> Thanks for your reply. Can't you detect if it's an iPad and use a different stylesheet or is that not possible? (don't know - I'm a mac user, but I'm not sold on the iPad).

<comment><AUTHOR> You can certainly detect the user agent. Working on something a bit more in- depth than that though :).

I'd say go for it, but it really depends person to person. It's not perfect for everyone.

<comment><USER25> There are CSS expressions to use to send certain rules to ipads; no user-agent sniffing required.

</comment></comment></comment></comment></comment><comment><USER26> From the person who asked this question on HN, I thank you Jason for making this blog post.

All the best!

</comment><comment><USER27> I have a brilliant idea, But for this to work, one has to be a billionaire.

<comment><USER28> Get on the phone with Michael Milken and raise a few $100 million by selling junk bonds to eager investors if your idea is high-growth (note: he's banned from the industry but it's how a few billionaires got started).

</comment></comment><comment><USER29> I'm not asking about being digg proof, but not even HN proof?

</comment><comment><USER30> can't access the article, seems to have been removed/deleted ?

</comment><comment><USER31> Your font isn't very easy on the eyes...drop it down a few notches in size

<comment><AUTHOR> agreed. Will update it later when mediatemple is more stable. thanks for the feedback.

</comment></comment><comment><USER32> so reposting people's comments as new content for your blog?

<comment><AUTHOR> It's actually my comment.

<comment><USER33> And one that gains a lot from formatting beyond what HN provides. I was only able to skim the comment last night, but was able to sit and read the entire blog post with improved formatting.

</comment></comment></comment><comment><USER34> > Smart people whom are successful usually got there by doing the same and > have an innate desire to help those do the same.

Most smart people know not to overuse the dative form.

<comment><USER35> There's no need to be obnoxious, you can just tell him that he should have used who instead of whom. If you wanted to be extra neighborly, you could have provided a cool rule of thumb for gauging when to use which, suggest as "Try substituting him or he; him corresponds with whom whereas he corresponds with who."</comment></comment>


One-on-one meetings are underrated, whereas group meetings waste time - <AUTHOR> http://www.smashcompany.com/business/one-on-one-meetings-are-underrated-whereas-group-meetings-waste-time <comment><USER2> A few points:

1\. The conflict in meetings is not a negative. It is actually a positive. At the intersection of conflict between perspectives is where you get unique insights, innovative ways of doing things.

2\. The problem is where conflict is seen as negative.

3\. A manager who is running the meeting should be able to integrate different perspectives and find a better path forward. If you can only do this in a 1on1 this is a skill that needs to be honed. You are leaving quite a bit of insight and innovation on the table.

I ran an innovation skunk works project for a CEO. Saw him do this multiple times in meetings. In almost every single case where we had multiple opposing views he was able to integrate and actually propmpt us to come up with something better. I have been honing this skill ever since and it really is an eye opener.

4\. Agree on the points on managers being lazy and inviting people that should not be in the room. You need to make sure you get the right people in the room. I would actually encourage conflict.

5\. Depending on what needs to be communicated but face to face works best

6\. This post seems to assume it is the managers responsibility to make decisions? I would argue unless the manager has more context then his staff decisions should be made by them with the manager providing context and making sense of what needs to be done.

The way I see management in today's environment is more akin to facilitation rather than manage. If people are smart and self motivated management may actually do more harm then good.

7\. When conflict is viewed as negative it can be counter productive as it seems to be for the author. The question is how do you manage it so you actually leverage it for better output? One way we do this is with our values

"We value diversity of ideas, thought"

8\. What we have seen work is categories of meetings, brain storming, problem solving, deep dive learning session, quick updates (timeboxed) I suspect author is not managing my the conversation correctly hence he has this issue.

<comment><USER2> 9\. If an employee were to "blame" someone else in a one on one meeting and I was the manager? I would look at myself. The manager has as much to blame. In an environment where there is a whole lot of finger pointing this started somewhere and my dibs are on it started from the top.

<comment><USER2> "If a person is running late on a project, the best way to find out the reason is to have a one-on-one meeting with them. "

10\. Interesting that he mentioned ducker. Performance is as a function of the system the people are working in. The assumption in this post is that "somebody is to blame". In most cases I would argue that it would actually be a fuction of the underlying system. You as a manager are also part of it. You are to blame as well, so is the processes team members, values etc.

</comment></comment></comment><comment><USER3> This resonates with me. I much prefer conversations over group meetings, and I would very much like to have more of those conversations instead of daily meetings.

However, I've suggested this to managers before and received forceful feedback that they "did not have time for that".

It was confusing - if you're a pure manager, what more valuable allocation of your time could there be than in talking directly to people?

<comment><USER4> "What more valuable allocation of your time could there be than in talking directly to people?"

Taking action, based on the what you've learned while talking directly to people.

A manager's output is the the output of the teams under his or her supervision or influence[1]. That means you have to find the highest-leverage activities: sometimes that's a one-on-one conversation, up, down or sideways. Sometimes it means sitting down and drafting an email or other written document that compiles all the little details you've learned into something meaningful and actionable for the people around you. Sometimes it's about being in front of a group and enabling a conversation that you're not directly at the center of, but which wouldn't happen well without you present.

Which isn't to say your manager at the time was right to dismiss your concerns, or was doing the most high-leverage things they could do. But the perspective might be useful.

[1] High Output Management, Andy Grove (former CEO of Intel). One of several great management books that help clarify "what management is and is not". And if you have never read anything in the genre, I'd start with Managing Humans, by Michael Lopp (randsinrepose.com). Life-changing for me when I was trying to figure out the same thing, before I started doing it myself.

<comment><USER5> > Taking action, based on the what you've learned while talking directly to > people.

If you don't talk to people, then you're oblivious to which actions you actually need to take. You may then end up doing things that have neutral or even negative value.

I'm very skeptical of any manager who never does 1-1s with their direct reports. Such a person is probably more of a project manager than an actual people manager.

(I'm not disagreeing with you, just adding more perspective.)

</comment></comment></comment><comment><USER6> I think it's more important to count clarify, brevity and value than number of attendees. I have a fast growing team where 12 people reporting to three different departments have to work closely together to align instruction, coaching and curriculum. We have a 12 person daily standup. It runs 15 minutes (20 tops) and as well as creating a social situation to engage enjoyably with our peers (we're a remote first team so if we don't meet we don't interact) it also allows us to learn of the various initiatives people are working on, problem students they're dealing with, etc. Even though it's a 12 person meeting, it's probably the most valuable 15 minutes of the day as our biggest challenge is alignment, not production/creation.

I generally hate meetings, but as long as they have a clear agenda, the shortest possible duration, the smallest number of required attendees to achieve the clearly defined outcomes (and allow for optional attendees if people are interested), I find they are a great way of moving forward discussions that bogged down after trying to manage them via an email chain.

<comment><USER7> We have a 10 person daily standup that takes 30 minutes. The difference is leadership I think. Our meeting host struggles to cut off discussions that should be taken outside of the standup.

<comment><USER8> Yeah at a previous job we had a six person team regularly doing almost hour long stand-ups (daily). First time I was thankful for job mobility in silicon valley.

</comment></comment></comment><comment><USER9> I suspect that half the function of meetings is not to get things done, but soft things like being visible, signaling to others, and confirming and evolving the implicit hierarchy.

<comment><USER10> That is literally what the author said in the article

<comment><USER9> Where in the article? I don't see it anywhere.

<comment><USER10> His main point in the article:

" Why do such meetings happen? There are 2 main reasons:

1\. the manager is lazy and undisciplined and so invites everyone rather than thinking hard about who they actually need to speak to

2\. the manager is an egotist who likes to force people to listen to the manager's words "

</comment></comment></comment></comment><comment><USER11> Well it sounds nice but I feel there are some parts left in the dark. Working this way seems to be over reliant on a single manager. The world is now smart enough to know that we are continually misled by biases, focusing on a single person will emphasize and neither that topic nor a strategy for correction has been discussed by the author. I want my manager to be smart, but this is expecting the manager to be very smart at various levels and leaves very little room for mistakes.

One on one meetings are underrated, especially with tech people and even among them. It is important that managers and tech people build acceptance and try to align their mindsets and share knowledge. But one on ones also leave room for manipulation and favoritism which can tear teams apart.

I agree that many group meetings are boring and badly executed, but a team needs sit at the same table once in a while, even if it is just there to detect conflicts and resolve them one on one. Group meetings suffer greatly from groupthink and dominance of invidiuals. Which is usually badly compensated, if at all. But the failure usually starts with a sloppy agenda and inviting the wrong people. There has been quite some work on that but I usually only see scrum masters randomly doing some of them without serious reflection.

Managers should take care of decisions and tasks that teams or invidials cannot make. Most importantly bring the right people together, get out of the way and cash in the results later. Being the single point of failure is not the solution.

<comment><USER12> I too agree to a certain extent. I've experienced many problems that could have been avoided had decisions been communicated to wider audiences, and problems that were actually avoided because someone in a meeting (who was not a primary participant) said "actually if you do that change, you'll need to handle a dependency with our component".

<comment><USER11> Exactly this, small but important details can disappear.

</comment></comment></comment><comment><USER13> Pardon my UI / CSS ignorance but these days I find that I have to zoom in every single article on the web to read it comfortably. I had to zoom this article at 200%. The default text is just too small and I am just using a standard HD display. It would be even smaller on higher resolutions. Do people not view their own website? Does everybody else also find themselves zooming in most of the web pages. What am I missing?

<comment><USER14> It might be related to you having a 4K/Retina monitor and the website's author having an older (i.e. regular) display.

The author might never have tested their website on a large display like ours and thus it'll look a bit odd and we have to zoom in.

<comment><USER15> Don't hi-res monitors have UI scaling built in to the OS? so sizes should be roughly comparable

<comment><USER16> Sometimes it feels like everything is still done by pixel counting on bitmaps.

</comment></comment></comment></comment><comment><USER17> The only meeting style I ever actually liked was the daily (!) 10 o'clock in the morning 5 minute meeting. It had two (unstated) goals:

      got everyone in by 10AM
      made sure everyone saw each once a day

This isn't something you can do, month in month out, forever. But it works for projects under pressure. Otherwise I largely agree with the FA. Meetings suck up everyone's time and puts them in a room with a depleting oxygen supply.

The worst meetings are exercises and displays of power. Perhaps these are necessary but never at the project level. Some middling managers need to remind themselves they are in charge of something. Seriously, if as a manager you can't write down what your group accomplished over that hour then you just wasted an hour of your group's time.

I worked for a company once where my boss had one of those sorts of meetings. One time, knowing that I was in for an hour of yammering, I told him right before the meeting I had to take care of something. I went out, hopped in my car, drove to a gym, played an hour of pickup basketball, drove back and when I saw my boss I told him I'd taken care of that thing. I also got a lot done that day.

</comment><comment><USER7> I'm a big fan of 1-1 meetings. I like a lot of what he says, especially about the near futility of bigger meetings.

But my manager was just instructed to schedule biweekly 1-1 meetings with all 17 of his direct reports. I think it's the dumbest thing ever. If i have something to say to him, i can usually schedule time that day. I may need to bother him 3 times a week, or not for three weeks. When he wants to talk to me, he drops by my desk and we meet right then.

When my regularly scheduled 1-1 time arrives, i'm busy, don't bother me.

1-1s good. Forcible 1-1s bad.

<comment><USER5> I actually don't agree. I'm a manager who does regularly scheduled 1-1s with direct reports and I couldn't tell you how many times something unexpectedly comes up that wouldn't have been talked about otherwise. It's also very important just to establish basic rapport between manager and direct report. 1-1s aren't always about conducting business.

You have to keep in mind your manager is also meeting with _sixteen_ other people, so he's seeing a much higher-level picture of the value of these 1-1s than you are.

<comment><USER7> I have great rapport with my manager. And he agrees with me on 1-1s, he was super approachable before the 1-1 edict was handed down to him, and he went out of his way to touch base with you regularly. His life right now is wall to wall meetings all week long.

You may think your fixed 1-1s are effective for you, but that doesn't mean your reports all agree.

<comment><USER18> Is it possible having _seventeen_ direct reports might be at least partially the problem?

<comment><USER7> Yep

</comment></comment></comment></comment></comment><comment><USER19> This entirely depends on the discussion.

As a manager, I use 1:1 to discuss matters related to or pertinent to the individual. I use group discussions to discuss group-level matters -- this is usually something related to project work, i.e. scope, design decisions, etc.

I don't compare the two because they are both "meetings". Each serve a purpose, and ideally both are executed well.

<comment><USER7> Do you always distribute an agenda before your group meetings? If not, they aren't executed well.

<comment><USER19> Yes and no.

Yes -- the subject matter of the meeting is well-defined beforehand and distributed to all.

No -- our topics ARE the agenda and it's normally highly focused. We have on occasion had a second bullet point, but it's rare.

We do lots of other things to keep discussions brief and ensure our time is spent effectively, but you didn't ask about those.

<comment><USER7> What do you do with decisions made from the Meeting?

<comment><USER20> You execute them and follow up.

</comment></comment></comment></comment></comment><comment><USER21> One problem with group meeting is going on tangent. There should be a clear agenda established prior to the meeting.

Having so much frustration with unproductive meetings, I have been thinking about these, and they work in my case.

1\. Attach agenda prior to meetig, along with a link to a Google Doc (or whatever live tool you use)

2\. Reiterate agenda at the beginning of the meeting, and if this was a continuation of the previous meeting, go over the outcome of the last meeting. They should be reflect in your agenda.

3\. Invite someone to be a moderator. Creator/caller of the meeting may be the moderator — only if the moderator thinks he/she is capable of keeping the meeting on track.

4\. Ask attendees to use the doc to add questions/summary/views/new items.

5\. Summarize before going to the next part of the agenda and at the end of the meeting. "To do, to be discussed" should be announced. Don't end meeting by just saying "okay thanks for coming, let's get to work." Make sure people know what the outcomes are.

I learned #4 when I interned at Mozilla a long time ago. Not sure if everyone team does, but etherpad was very widely used afair. It was helpful for everyone in the team running the meeting in real time and after the meeting, especially because every user gets a different color assigned when the user enters the pad, so we could trace who wrote/made the changd.

<comment><USER22> Yeah, even simple meeting guidelines/policies help make them a lot more productive in my limited experience.

Having meetings have explicit action points agreed on at the end (and who's responsible for them) and written down helped us immensely.

We were able to almost completely avoid the constant 'have a meeting, agree on x, fast forward 2 weeks and no one can agree if we agreed on x nor why we did' that I've experienced at every other job.

</comment></comment><comment><USER23> The first thing I want to say when I go into a group meeting is "how did we fail".

If people are communicating well, slack, grabbing coffee, email then group meeting seem unimportant. When you need to setup a meeting, in particular to discuss a specific issue, it feels like something has gone wrong that we're all not well aligned already.

<comment><USER24> I don't agree with this as a generalization - there are a lot of times where one needs to come to a consensus between various stakeholders, and group meetings are the best way to lay out the pros/cons, and come to a decision.

At bigger companies, group meetings take on a larger significance due to the business knowledge base being so massive that group meetings with lots of presentations become the best way to facilitate knowledge awareness.

<comment><USER23> Personally, I think if you've reached a point where consensus hasn't formed naturally in some other venue then it is kind of a failure.

Trying to hash thing out in a meeting is ok as a last resort, but it seems less than ideal. Particularly when people often need time to form coherent ideas.

Group meeting with lots of presentations? Just sounds like my idea of hell really. I'd much prefer to read some notes on a subject and then later sit down with someone if I need to go into more detail.

<comment><USER25> but what if you don't get time to read the notes and no one is available for a sit down?

<comment><USER7> Then the info really wasn't that important to your day to day job, was it?

</comment></comment></comment></comment></comment><comment><USER26> The sight of a bunch of passive engineers shuffling off to a meeting they aren't needed at still makes me seethe. You have a professional obligation to say "no" sometimes.

Engineer and executive hours are not cheap. Every unnecessary person in a conference room is a gigantic waste of resources. Beyond three or four people, the marginal utility of adding another person to a meeting is almost certainly steeply negative. Exceptions are situations that require consensus, or where someone is observing to learn.

The last team I worked on had regular 10+ person meetings that entire teams would shuffle off to. I started refusing to go to meetings with more than four other people in them (unless there was a very specific reason to be there). I felt it reduced distractions and waste.

What bothers me even more than the meetings though are engineers who attend them repeatedly, then grumble quietly about how useless they are afterwards. Articulate a thoughtful "no." Get good at it, because you'll need to do it often if you want to be a good engineer.

<comment><USER27> I completely agree. People tend to be afraid of saying "no" to avoid offending people. And then there is the case of showing off in front of 10+ people.

At my last job, people were spending nearly 2 hours each day in meetings. Each of these meetings required 1-2 hours of preparation. So, nearly 50% of the work week or 20 out of 40 hours were being lost. And most of these meetings were "updates" meetings. Update to Lead Engineer, then team, then VP etc. To top it off the manager believed in "face to face" interactions. So, all meetings happened via video conferencing.

Whenever I explained on how it should be a lead engineer updating the manager and the manager updating to VP, I was given a strange look. How do we show off our achievements? They said.

But it also meant I couldn't individually say "no". Every time I did that my manager received flurry of mails from other engineers on why I was given the "special" treatment of skipping these meetings.

<comment><USER26> It's a shame it's so ingrained in the culture there. I completely respect that in many situations one isn't permitted to refuse. The idea of showing off at meetings, as opposed to by shipping quality on time and documenting it is crazy.

</comment></comment></comment><comment><USER28> I worked with a project manager who _loved_ large long status meetings and requirements meetings. It was getting to the point nothing was getting done. Most of the people in the meeting were contractors. 8 people at $100 bill rate was $800 each meeting. I had to put a stop to it. I started a virtual status meeting. I opened a slack channel at 10:00 and everyone posted their updates. If the PM wanted to know anything else they would have to go to the individual dev.

Anyone was free to leave the slack channel after they posted their update.

I told them unless the meeting request was coming from me or someone higher up in my management change, that all meeting requests were just that "requests" that they were free to decline if necessary.

</comment><comment><USER29> One-on-one meetings have minimum possible number of people required for information exchange (2 participants).

1) Discussions are very valuable for team coordination, so having meetings is very important for efficient teamworks.

2) In order to contribute, every person, participating in the meeting, must understand the discussion.

3) The more people are in the meeting - the more dumbed down the discussion must be in order to allow everyone to follow the discussion. That makes meetings with larger number of people - less efficient. Which makes meetings with 2 people (one-on-one) - the most efficient.

</comment><comment><USER5> This feels like an especially relevant conversation to have during the holidays, when many folks will be out of the office, so the number of meetings happening will be way down.

I've consistently observed over the past few years that whenever a bunch of frequent-meeting-schedulers are simultaneously out of the office... everything is fine. Nothing bad happens. Team members coordinate with each other fine. Cross-team coordination happens fine. There are still meetings, but the ones that happen tend to be the ones that are actually important and needed. The fluff meetings that have way too many participants get cancelled because too many folks are out, and it becomes more obvious than ever that those meetings were never valuable in the first place.

My productivity (as half-manager-half-programmer) goes way up. My stress and frustration go down because I'm not giving the same status report to the same set of people three times.

I'm not against meetings in general, whether they be 1-1s or large group meetings. I think meetings are fundamental to many organizations. But I do think that almost every workplace has too many meetings that last too long on average and have too many participants on average.

"Meeting culture" tends to act like a virus that infects various parts of the organization. Pure managers get addicted to scheduling and running meetings, because it's the most concrete way they can exercise their authority and appear productive, even if it's not actually productive or helpful to the organization.

</comment><comment><USER30> I've barely been in a group meeting that felt productive. The problem is: no body has the responsibility.

Even with friends, one-to-one or maximum 3 friends together is the most efficient way to know the people.

<comment><USER7> Tell your team no group meetings without an agenda distributed before meeting, and organizer has to distribute action items and who is responsible for them afterwards. You'll find your meetings are lots more productive if you do.

</comment></comment><comment><USER31> Darwinism and Neuroscience needs to get further into society.

I'm sure when we evolved - we weren't designed to ever have productive meetings with groups larger than four or five.

That's why associations follow the Robert's rules of order.

By recognizing human limitations we can come up with appropriate workarounds.

</comment><comment><USER20> I've worked for a manager who insisted on weekly one-on-one meetings, and it was terrible. I wasted so much time in those meetings, that could have been better served in group meetings, a specific one-time meeting, or email. We all hated it because of that.

The best thing to do is have weekly group meetings, setup meetings as needed otherwise, and have 3 or 6 month one-on-one meeting just to check in.

This article is so wrong. It sounds like he had bad employees, and instead of firing them, did a terrible job and micromanaged them instead.

<comment><USER32> How long did your weekly one-on-one meetings take? Were there other negative aspects to the one-on-ones besides the time sink?

</comment></comment><comment><USER33> I'm on the fence about this. In our org, we have all kinds of meetings. From the perfect highly efficient and successful meetings, to ones where either the results were hard to disseminate and transport because certain viewpoints were missing or ones where half of the participants were there needlessly.

It's a tough task to keep the quality level of meetings high, regardless of scenario. I've been in too many one on ones where we just enjoyed each others company a bit too much and it veered off from relevant stuff to just chat and the goals of the one-on-one besides establishing rapport were not achieved.

It's also trying in a interdisciplinary scrum team. We "sacrifice" a full day of our 6-8 person teams every two weeks and it's a mixed bag if review, retro and planning will be efficient and successful or boring and feeling wasteful. Sometimes planning has lots of time spent where backend devs discuss difficulties that are irrelevant to Frontend, sometimes sometimes a Frontend Dev offers a more elegant solution and vice versa.

Personally I've accepted that it's something where one always has to walk the line. There's no easy fix or guideline that always works and it's best to become comfortable with that and try to do best without following a dogma.

<comment><USER7> Some of those things are important, but shouldn't take a day. Any guess is the meeting organizers aren't preparing well enough, and aren't keeping the meeting on track.

Pointing stories should never take more than an hour for example. There is little benefit to tedious discussion because engineering estimates aren't that accurate anyways. You need to weight, not measure, so business can understand relative costs.

The whole point of Agile is to deliver high velocity to the customers highest priorities, with frequent releases and course adjustments. If you spend 10% of your teams velocity on standing ceremonies, there should be a really compelling reason.

</comment></comment><comment><USER34> There is much wisdom in this essay.

Complementary to 1-1s are short, daily stand-ups that: (a) dispatch with unforeseen challenging items that involve multiple players and necessary coordination, (b) identification of redundant work or cross-team delegation where a more knowledgeable team member offers to do something that they would be more efficient at, (c) public prise and building a sense of momentum and respect among team members.

Instead of big meetings, especially with other groups, asking for a working document is sometimes the best way to collaborate with cross-functional teams. Concrete artifacts focus attention. It can be asynchronous. If the materials are reviewed by managers before the meeting, you can avoid pontification and poor use of your staff's time. Recorded presentations of these documents can also be productive for broader audience, provided the materials are reviewed before they are presented. Even within one's team, written communication is essential to building shared knowledge. Calling for trouble shooting or brainstorming meetings can work well if the meetings are promptly rescheduled if team members have failed to read the prerequisite materials.

</comment><comment><USER35> The site/podcast 'Manager Tools' has an interesting series on the importance of one-on-ones which is definitely worth checking out if the article piqued anyone's interest in this tool. Don't let the date scare you, scroll down to the bottom to find them they're some of the earliest on the feed.

[https://www.manager-tools.com/all- podcasts?field_content_dom...](https://www.manager-tools.com/all- podcasts?field_content_domain_tid=4)

Some of the big takeaways are:

1\. Normalise one-on-ones so people understand that a one-on-one is a meeting to build the relationship and actually sort things out, not the precursor to a punishment or other serious issue.

2\. Make an agenda, communicate it and then actually stick to it.

3\. That agenda should be based one what do you want to talk about, what do they want to talk about, and then discussion of the future. They leave it intentionally open ended and yet fairly strictly time bounded.

4\. One-on-ones are regular and important. Do not prioritise things over them unless absolutely necessary as they're the way to build lasting relationships of trust and accord with individuals and teams.

They have some points of minor disagreement with the author of this piece. For instance their one-on-one's are egalitarian, and a fixed time every time, with no prioritisation of particular personal for extra meetings of these kinds (though I assume they're open to one-on-one conversations as necessary).

The podcasts go into a lot of exposition and example scenarios, common pit falls and the like. I actually really enjoy them for the people skills, not being a manager myself. Like I said, they have points of agreement and disagreement with the author over the precise purpose and format of the one- on-one, but I think this piece was good and complementary to the advice I've absorbed from them.

<comment><USER7> Scheduled 1-1s are dumb and a huge waste of time. If i need to talk to my manager, i want to do it now, not 3 pm on thursday. If i have nothing to talk about on thursday at 3 pm, why do I have to break my flow to go to your office.

A better way is closer to "management by walking around". Be available for your employees. Those rare birds who need regular 1-1s, schedule them. For everyone else make sure they know they can have one anytime they need, and make sure you take them aside on a regular basis if they haven't asked for one. And just walk the floor and talk to your team, almost every day.

A manager should be aware of when they haven't connected directly with a team member in while, and just do it. It's not hard to track.

</comment></comment><comment><USER36> Efficiency versus effectiveness. Good words in this essay, but it sort of throws the baby out with the bathwater.

Do what works and makes sense. Catering to everyone's whim is not always in the best interest of the company. Adjust to your employees' preferences, but from time to time they should adjust to the company too.

</comment><comment><USER28> From the article.

 _A final word about one-on-one meetings. Food is important. Getting away from the office is important._

Nope not going to do it. I hate to have the "Mike Pence Rule" but my reasoning is more practical. Why take the risk of something being said? I don't go to lunch one on one with anyone who reports to me.

</comment><comment><USER37> If you have a meeting with 15 people and its dominated by 3 people your chairing skills suck

<comment><USER7> Or more likely your meeting organization skills suck. What did the agenda say? What was the specific task the meeting was solving? Did it need 15 attendees, or 3? What did the invitees say when you distributed the agenda?

<comment><USER37> you chair the meeting with the attendees you have not those you would want

<comment><USER7> You get out of a meeting what you put into it. If you don't prepare an agenda, if you don't take accurate notes, and if you don't followup by distributing the decisions made and responsible parties for implementing them to everyone, you ain't going to get as much out of them.

And you are communicating to your attendees that your time is more valuable than theirs, so maybe that's why you don't get the attendees you want.

</comment></comment></comment></comment><comment><USER38> One-on-one meetings are the single most under-rated (because they are the single most useful) tool for any modern professional.

There is a clear technique on how to make these meetings successful that I don't see being discussed or shared.

</comment><comment><USER39> How you react to this discussion is the difference between business-minded people and everyone else.

</comment><comment><USER40> This guy sounds like a horrible manager. The screed about too many people in the wrong meetings is good, but there are large meetings that have a reason to be. Also, the emphasis on email over meetings is misplaced — it's not either or, of course you do both. The worst part is the tone described in his one on ones, which apparently are blame games and witch hunts. It's spectacularly unproductive to encourage team members to throw each under the bus as a normal rule.

One on ones are hugely valuable, but in my experience managers who emphasize those over team meetings are usually practitioners of differential communication — telling everyone a message customized to make them happy — otherwise known as spin. This is usually associated with new managers who practice a weak form of management, focused on being liked over results. That isn't this guy's problem, though!

One on ones should be focused on specific discussions the employee is thinking about. Topics include career development, performance management, company issues, and most importantly concerns they have that need to be addressed before they become truly serious. In that way they serve as an early warning system for issues that are affecting the team.

Think about it, the one on one is probably the only time you are guaranteed to have a direct, personal interaction with your manager that is likely to be more than a brief interaction. It's definitely the only time you're not meeting to talk about specific projects. Anything other than mostly listening by a manager during this time is a bad plan.

<comment><USER41> I wholeheartedly agree. I never would like to work with or for this guy.

> If a person is running late on a project, the best way to find out the > reason is to have a one-on-one meeting with them. They are free to > incriminate themselves, in ways that I find useful. For instance, they might > put all the blame on someone else. After the meeting I will investigate > their accusations and discover the truth. Is the other person to blame? If I > conclude that the other person is not to blame, then I know I have a person > on my team who both runs late and dishonestly blames other people for their > problems.

This reads like micromanagement, wasting so much effort into finding someone to blame, and creating an atmosphere of fear and self-doubt.

What he should do instead with all this wasted energy:

Encourage people to discover self-management techniques. Create an atmosphere of trust and reliability by positive, affectionate reinforcement. Give them freedom to breathe, give them reasons to ask themselves every morning "What is one thing that I can improve in my workflow today?" _intrinsically_?

Intrinsic motivation is key. If you build pressure, they'll never develop their potential, because they never knew that it's possible.

Lead by example, becasue nothing motivates stronger than thinking "Wow, I want to be as cool and productive as my manager, he's awesome!".

This guy does everything wrong. He's wasting time and money, and people will leave until he learns.

<comment><USER42> Yeah, none of the managers I've met with that sort of negative attitude have been successful. I hope that he straightens himself out and gets it together soon, especially if he has a family that relies upon him for income. He seems to have some good thoughts in other parts of the essay though.

</comment></comment></comment><comment><USER43> This is micromanagement 101. (Sorry this turned into a bit of a wall of text.)

If you find one-on-one meetings more productive than group meetings, then you are terrible at running group meetings. Full stop, I don't even need to know how good this guy is at running meetings.

Let's walk through some of the benefits the author lists first...

1) Participates can speak without boring others. This is an indicator of two possibilities. One, you have the wrong people at this meeting - that's your fault as a manager (and probably as the meeting leader/facilitator). Or two, you are running the wrong kind of meeting - again, that's your fault as a manager. Meetings should be purposeful, and every participant should have a purpose in being there. You as a manager (and hopefully your team) should consider this before every meeting (trust me, it's easier to do that than hold several times more meetings).

2) People can speak without being interrupted. If you're letting people interrupt each other, you're bad at leading meetings. If you're leading a meeting, you're there to serve the purpose of the meeting, not to be everyone's friend. Again, that's your fault as a manager.

3) They can offer negative opinions about their coworkers. Whoa. Now we're in _really_ bad management territory. How are you going to go about conflict resolution once this person has confided in you? How are you going to be a neutral party? Not only that but giving you that negative opinion didn't solve anything.

4) They can offer positive opinions about their coworkers. Haha. What. "The too obvious incentive of their co-worker hearing their praise." Jesus. Where do you work? This isn't even bad management, this just sounds like a horribly unhealthy organization.

5) "If a person is running late on a project, the best way to find out the reason is to have a one-on-one meeting with them." I mean did you have to have a one-on-one meeting to find this out? If you have people that are unwilling to take responsibility for _their_ (yes, their, not _your_ ) projects, then you need to check your hiring practices.

"They are free to incriminate themselves, in ways that I find useful." Jesus Christ. Again, where the hell do you work? In ways that you find useful? "For instance, they might put all the blame on someone else. After the meeting I will investigate their accusations and discover the truth." Or, if you had done this in a group setting, they wouldn't have had that option and you wouldn't have to had to go play Sherlock Holmes with your employees. But, I guess you have the free time? "If I'd called a group meeting, and that other person was in the room, it's unlikely that anyone would have told me the truth." Or you could hire people that take responsibility for their actions.

6) "What if someone finishes a project much faster than I expected, or with much higher quality than I was expecting?" "It would be awkward to try to have these conversations while other people are in the room." I mean, maybe. They might have questions too, or be interested in the answers. Again, if you take the time to actually think about the purpose of the meeting you want to have you won't run into this problem. There is a time and a place for one-on-one meetings.

Now, let's look at some of the things he dislikes about group meetings now...

"As it was, during the typical meeting we had 15 people in the room, most of whom were bored." Whoa. What. 15 people!? That's twice as many people as you should probably ever have in a meeting.

"So who is right, and who is wrong?" Didn't see a whole lot of managing in that conversation. Do your meetings even have leads/facilitators? Who is holding the participates accountable for the purpose of the meeting?

"You'll need to figure this out, but you don't need to do so while 12 other people are in the room. If you are the manager who is overseeing this, it is up to you to get people back to work." Then do that, get the meeting back on track.

"A great manager doesn't allow such debates to exist, because they don't hold the kinds of meetings where this behavior is possible." WHOA. Nope. This is about as bad as management can get. Debates are healthy, conflict isn't bad. How else are you (and your organization) going to learn and grow?

There's a lot in there about "client" meetings, but not so much about internal meetings. Why is that? Sounds like the author is shifting the blame... I like to have managers that take responsibility for their actions...

So, what's the real conclusion of this article? Aside from there clearly being some "client" issues. One-on-one meetings are easy. Here's why:

1) They are easy to lead. Leading one is easier than leading five.

2) They avoid, more or less, all conflict. Even the productive kind. You can be everyone's friend.

3) They mean you (as a manager) don't have to think about who should attend.

4) Everything on your team has to go through you (I believe this is also called micromanagement).

They also are far less efficient and effective, if you know how to lead a group meeting.

</comment><comment><USER44> >one-on-one meetings

good luck defending against the sexual harassment allegations after that one. i'll stick to group meetings where i won't be risking my career and reputation.</comment>


How Not To Sort By Average Rating - <AUTHOR> http://www.evanmiller.org/how-not-to-sort-by-average-rating.html <comment><USER2> Thank you for the submission, sorry you missed out on >500 upvotes.</comment>


Scott Adams take on Japan's earthquake - <AUTHOR> http://dilbert.com/blog/entry/vacation

<comment><USER2> Best quote:

"The last big tsunami scare in Hawaii turned out to be mere inches. But it's not news unless you show the worst case scenario. So all night long, the news showed coverage of the tsunami destroying Japan. We waited for our turn, able to visualize the worst case scenario in creepy detail. "</comment>


You might not need if statements: a better approach to branching logic - <AUTHOR> https://hackernoon.com/you-might-not-need-if-statements-a-better-approach-to-branching-logic-59b4f877697f#.ruqzpakyw <comment><USER2> If I might offer the author some constructive criticism - this article contains a huge amount of filler, fluff and nonsense, which it descends into at random times in an ADHD-like way. Like the way you use the word "gander" and then suddenly feel compelled to type four paragraphs about geese and pygmy marmosets. This makes it very annoying to read because the reader's flow is constantly interrupted. The liberal use of "um" and the rambling first person narrative style (complete with bizarre roleplay-style actions like "[wriggles interestingly]") combine to present the impression that 1) you do not value the reader's time and 2) you haven't sufficiently distilled what you are actually trying to say.

I suspect this article would read very much better if you deleted it and rewrote it from scratch, omitting the cutesy crap and narrative details about your mood while you were thinking about this problem, and saying only what you need to say.

</comment><comment><USER3> I like how the author just re-invented if statements. Even still called them "if". Compare:

      [snip] {
        title: 'Has the user searched yet?',
        test: !!pageData.searchKeyword,
        if: {
          true: {
            [snip]
          },
          false: {
            [snip]
          },
        },
      }, [snip]

vs.

      // Has the user searched yet?
      [snip] if (decisionData.searchKeyword) {
        [snip]
      } else {
        [snip]
      }

I expected something like a state machine, instead of OOJSON.

</comment><comment><USER4>
      Imagine discovering this code — having never seen it before —
      and trying to work out what happens for non-logged in users that haven't searched yet.

I'd run.

Overall, this seems to advocate for moving all your branching logic into one big file. I mean - I guess there could be a situation where I would want this - but it seems decoupled from real world examples and usage.

This is functionally, not much different from a function or method with a lot of branching logic embedded in itself. this just changes the format. So I don't see how this is new or better.

So I'll share one of my favorites related to reducing if statements that I use with some regularity:

before:

      if user.signed_in?

        if user.admin?

          do_magic

        end

      end

After:

      return unless user.signed_in? && user.admin?
      do_magic

</comment><comment><USER5> Jesus H. Christ, what an irritating writer.

</comment><comment><USER6> That guy couldn't code his way out of a wet paper bag O.o</comment>