Ask (meta-)HN: zero points on a submission? - <AUTHOR>

At the time of writing this submission :
http://news.ycombinator.com/item?id=1374169 :
has 0 points.  I thought submissions:
a. started with 1 point, and
b. can't be down-voted.
I've checked with another post and the votes don't seem to go down when you flag an item (don't worry, it needed to be flagged) so that isn't it.
So it appears there's another mechanism at work - does anyone know what it is?
Thanks.
(edited for typos and added the comment about flagging) <comment><USER2> The process that created the item died before the submitter's vote for it was registered. This can happen when the server gets restarted or when a temporary spike in load makes processes time out. I don't make the combination atomic because correctness doesn't matter super much.

<comment><AUTHOR> Ah. OK, thanks. An interesting insight into one of the design designs, and even more interesting that it almost exactly mathces one of mine in our commercial system.

Nice.

</comment></comment><comment><USER3> This gives me an idea actually. What if submissions actually did start at 0, costing submitters 1 karma to submit?

It would have a chilling effect on submissions that would bias them toward stories that are obviously suited to HN, since a submitter would want to get back at least the point he lost.

Also, it would prevent brand new accounts from submitting, and skew submissions away from newbies and toward veterans of HN, since vets will have significantly more karma. That means people who know what HN is and have been around HN for a while would be more likely to submit than the other people who aren't clear on the guidelines and cultural norms yet.

<comment><AUTHOR> My first visit here was in response to PG saying that I should submit something. Your scheme would prevent that.

Perhaps people should get sponsored, and the sponsor shares the first few karma points/hits. A newbie submits something, and an old-fart - sorry, long- standing contributor - can offer to sponsor it.

There are loads of schemes, but all require work, and all will have unintneded consequences. Yes, things could be better, but they could be worse.

Nostalgia these days is not as good as it was ...

<comment><USER4> Just let users start with 2 karma.

<comment><AUTHOR> Randomly (but related to when a story is submitted) stories sink without trace, getting no comments, and no upvotes. Your suggestion would amount to "X strikes and you're out" with no possibility of redemption.

Seems a bit harsh.

<comment><USER5> _with no possibility of redemption_

As long as this only applies to stories, there is a very easy chance of redemption: Make a good comment.

If it weren't for the occasional "posting with a throwaway account for the sake of anonymity" Ask HN submission, I'd say that setting a non-zero karma threshold for submission would be a very good thing, since it would force new users to experience the community before they start making noise.

<comment><AUTHOR>
        >> ... with no possibility of redemption ...

        > As long as this only applies to stories, there
        > is a very easy chance of redemption: Make a good
        > comment.

True. However ...

According to PG, in his opinion it's the quality of the comments that's mostly causing the site to decline. From that point of view the suggestion doesn't really help.

There are multiple problems, perhaps there should be multiple solutions/tweaks/features to attack them. Karma is well-known to be a blunt and faulty instrument, and making loads of minor tweaks to that single instrument in the hope of fixing all the problems might be the wrong way to go.

Enculturating newbies is part of the problem - it's no longer happening. Using crowd-sourcing for assessment of quality is thereby being harmed, because people are just upvoting, and submitting, things they like and that make them smile. We want new users with new comments, new interests and new submissions, but the site needs to retain its focus, otherwise it will become another "submit this 'cos it's cute" site.

Crowd-sourcing is needed to help the site scale. Newbies are needed to keep the site fresh. Old hands are needed to keep the site focussed.

What seems to me to be missing is a feedback mechanism for people to learn why their submission/comments are less valued on this site specifically, and ways to concentrate that judgement in the hands of those whose judgement matches what PG wants.

I have ideas, although they are all rather baroque, and I'm sure many others here have ideas as well. In all liklihood they won't be implemented, because PG doesn't have the time to evaluate them all sufficiently. Again, what's needed is for those with the vision that matches PG's to find an easily implemented, transparent, appropriate, fair and "good enough" solution.

Maybe having submissions costing karma will work. I merely offered an aspect that needs to be considered.

</comment></comment></comment></comment></comment></comment><comment><USER5> People can obtain a votes-don't-count flag but still submit new stories; if this happens, stories they submit start at 0 points.

How philh could have obtained this flag, I'm not sure, but I believe PG has said in the past that there are several automatic spam-detection mechanisms and they're not all infallible.

<comment><USER6> I don't appear to have that flag: votes I've made (both on comments and articles) still show up using a proxy in incognito mode while logged out.

I noticed yesterday that one of my submissions (I think it was <http://news.ycombinator.com/item?id=1373034>) was on 0 points according to my "submitted" page, but on 1 from /newest. My first guess is "something to do with caching", but I don't know.

<comment><USER5> Yeah, caching is also entirely plausible... there have been a number of caching-related glitches over the years.

</comment></comment></comment><comment><USER7> I've seen a few of those in the last few days.

There was another phenomenon like that:

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

No links at all, you could only upvote it.

<comment><USER8> I think everything in the Jobs section work that way - <http://news.ycombinator.com/jobs>

<comment><USER7> Ah, that's it! Never looked at the jobs section before. (not much in the mood for regular employment :) ).

Thanks!

</comment></comment></comment><comment><USER9> What if karma was gone? How strange to pursue points that have no intrinsic value, cannot be spent on anything, and mostly reflect how popular your opinion is and not its thoughfulness.

<comment><USER7> Upvotes on stories are useful, upvotes on comments less so I think.

After all, the homepage is a 'scarce resource', but comment threads can be long without any real penalty and voting doesn't make them shorter.

<comment><USER10> Space in a comment thread is also a scarce resource, or rather readers' attention is. I would find HN a much less pleasant place to be if (say) every comment thread had exactly its present content plus an equal amount of dross.

So if scarcity on the home page justifies karma for stories, I think scarcity of reader attention justifies it for comments.

(No, voting doesn't make the threads shorter, but it does make it easier to identify comments that are more likely to be interesting and to skip ones that are likely to be rubbish.)

<comment><USER9> I guess my point was, most often downvoting is used to express disagreement, not lack of value. Which leads to a uniform, digestible content. But some of us don't mind thoughtful alternate opinions. Good luck finding them here.

<comment><USER10> FWIW I've seen here a fair number of opinions I agree with and a fair number I disagree with, both thoughtful and otherwise. Also FWIW, it seems to me that comment scores have enough correlation with interestingness to be useful, and that the sort of discussion in which this is least true is also the sort that least belongs on HN.

Your mileage, of course, may vary.

<comment><USER9> Well consider: have you every upvoted a comment you disagreed with? This one for instance. It was worth responding to, but not worth a vote. This is exactly my point: karma is a popularity contest only.

<comment><USER10> I'm a very light upvoter, but I'm pretty sure I have. I have certainly downvoted comments I agreed with. And for me, at least, karma simply is not "a popularity contest only".

(Incidentally, even if it were true -- which it isn't -- that no one ever upvotes a comment unless they agree with it, and that no one ever downvotes a comment unless they disagree with it, it would not follow that "karma is a popularity contest". For instance, that's consistent with the following state of affairs: people upvote comments that (1) are insightful and (2) they agree with, and they downvote comments that (1) are particularly stupid and (2) they disagree with. In that case, insightful comments will get lots of upvotes and no downvotes and stupid comments will get lots of downvotes and no upvotes -- unless it happens that someone posts something insightful and scarcely anyone agrees, or that someone posts something stupid and scarcely anyone disagrees. And if either of _those_ happens, I submit that the community is so polarized that there's little hope of improvement with or without a karma system.)

<comment><USER10> Incidentally, if whoever's been downvoting my comments in this thread (1) did it because they think those comments are of poor quality rather than to make some meta-point or meta-joke about voting, and (2) feels like explaining what they thought was wrong, then I'm all ears.</comment></comment></comment></comment></comment></comment></comment></comment>


ElasticSearch vs. Solr - <AUTHOR> https://www.loggly.com/blog/loggly-chose-elasticsearch-reliable-scalable-log-management/

<comment><USER2> What was wrong with the original title "Why Loggly Chose ElasticSearch Over Solr"?</comment>


Why, After 200 Years, Can't Economists Sell Free Trade? - <AUTHOR> https://piie.com/newsroom/short-videos/why-after-200-years-cant-economists-sell-free-trade <comment><USER2> The problem is that people have strong but wrong intuition of how the world trade works.

Stanislaw Ulam asked Paul Samuelson to name one theory in all of the social sciences which is both true and nontrivial. Samuelson named the theory of comparative advantage. "That it is logically true need not be argued before a mathematician; that is not trivial is attested by the thousands of important and intelligent men who have never been able to grasp the doctrine for themselves or to believe it after it was explained to them."</comment>


One-third of Europe's software industry is SAP - <AUTHOR> http://www.zdnet.com/one-third-of-europes-software-industry-is-sap-7000007106/ <comment><USER2> > Most of this money doesn't come from banks or venture capital funds, > however. "Newly founded companies are mostly financed by the founders' own > funds"

Ah the typical European startup dilemma. The governments recognize that in an age of difficult unemployment and stagnating growth, new avenues of entrepreneurship need to be embraced, and so they set up all sorts of programs to encourage new startups. But then these startups get beyond the very early stage, and need to raise capital to continue their growth. And the look to institutional money in Europe. And no one will give them any. Because the European investor mindset is so risk averse, that only those who already have money are considered safe enough to start real businesses (continuing the old guard).

Personally, I think that's great. You folks in Europe are just reasserting that we in the US have the more opportune climate for startups. And so we'll continue to steal all your good ones ;)

<comment><USER3> I'm from California and currently work as a traveling circus monkey, otherwise known as a consultant. I've worked with startups in Europe, Japan, and the US, and while I don't consider myself an expert, I do at least have some idea of the differences between the various markets.

Europe is a big place, with lots of different countries, and much like states in the US, they work differently. True, the investment climate makes raising money _much_ harder than for companies in the US, but on the other hand, there are sometimes fewer regulatory hurdles for companies looking into exploring new business concepts.

Take FundedByMe. They're fulfilling the promise of equity-based crowdfunding in Sweeden, and because they're not a US-based company, don't need to deal with the SEC and FINRA. The US has tried to set up something comparable via the Jobs act, but major players have kept all the regulatory hurdles in effect, and so for-profit crowdfunding is still a few years off, if it ever really happens at all.

Don't get me wrong -- we still have a _big_ lead in the US, especially in the Valley, but don't get complacent about how quickly that lead can evaporate through the missteps of well-meaning regulators and politicians, or through the negative effects of software patent law.

<comment><USER2> I will not disagree with any of that. The US regulatory minefield is still a problem, though I do feel like the patent issue is going to become non- existent over the next several years.

Laws and regulations are often simpler to change (although still difficult) than the mindset of a bunch of old men sitting on the majority of investment capital.

</comment></comment></comment><comment><USER4> ...by revenue

that's missing from the title.

Growing up I found that a tremendous amount of software I used was European, and most of it was free (as in beer). Not to disparage German software developers, but almost none of this software was German.

There's absolutely fantastic software from all over the continent, but due to various economic/cultural aspects doesn't revenue in quite the numbers boring SAP does.

 _edit_ upon further review I've found a bit more German influence in my software than I remembered, sorry Germans!

<comment><AUTHOR> Even worse: By revenue of the companies on Truffle's Top 100 list, apparently.

I have no idea how tail-heavy the landscape of European software companies is.

BTW, could you supply some examples of the "fantastic software" from Europe you grew up using? Just curious.

<comment><USER4> Growing up it was mostly music and games. On the East Coast, with parents tolerant of tying up the phone line with lots of BBSing, I waited for software to percolate over to my local BBSs, and probably half of it came from Europe.

An awful lot of stuff written for the C64 and Amiga. And then when the same dev traditions moved onto the PC, that stuff. The demoscene and peripheral software movements figured pretty heavily into it.

For example, I spent _thousands_ of hours in Protracker (Finland I believe), Scream Tacker III (Finland), Fast Tracker 2 (Sweden I think)...there was also a few graphic programs I mucked around with Sculpt 3d (England I believe)..a few toy fractal programs, there was a great piece of music software I used for a spell from Spain that I can't for the life of me remember, some ANSI graphics editors. I'm currently keeping a copy of the pro-audio level Renoise installed (a pile of Euro-authors if I've ever seen one) <http://en.wikipedia.org/wiki/Renoise>

but I also spent thousands of hours watching the latest scene productions coming out of Europe at the time. Growing up on the East Coast, we ended up with a small, but relatively healthy demoscene in the early and mid 90s and productions routinely (and quickly) found their way onto local BBSs.

But don't forget that Linux is originally a piece of European software (Finland), UAE (which let's me relive some of my youth) was started in Germany, theproduckkt (Germany), and on and on and on...

and then there's other stuff I'm keeping tucked away for when I get some time to start playing around with micro-controllers <http://www.linusakesson.net/scene/craft/> (Sweden)

most of this is just stuff I was interested in at the time, there's tons I never even touched

basically a tradition of software on a different axis from commercial proprietary and free (freedom) software, but I bet if you look at the contributor lists for lots of popular open-source/free (freedom) software, you'll find long lists of European contributors.

 _edit_ after review I've realized there's more German contribution to my software history than I expected, sorry Germans!

Also, glad to see lots of folks jumping up and calling out some great German softs.

<comment><USER5> Much the music software I use is German

Ableton Live Native Instruments Steinberg (since superceded by Ableton)

There's a pretty large body of German music software developers, both large and indie.

If I recall Logic (now Apple) was also German, and there are a number of other good European music software companies like Propellerheads.

<comment><USER4> good point, there's lots of _awesome_ German audio software out there..

I'd add Celemony to that list as well.

</comment></comment></comment></comment></comment><comment><USER6> A substantial percentage of SAPs revenue is from consulting, and if you're going to include that then why not Accenture who has twice the revenue of SAP and is HQ'd in Ireland. Or Erricson who might primarily do hardware, but make $8bn/year from software revenue.

<comment><AUTHOR> Ericsson indeed is a notable omission:

"Measured in software revenues, Ericsson is the world's fifth largest software company."

[http://www.ericsson.com/thecompany/investors/financial_repor...](http://www.ericsson.com/thecompany/investors/financial_reports/2011/annual11/results/board- directors-report-2011/competitive-assets)

(Further examples would be highly appreciated.)

</comment></comment><comment><USER7> Having worked at companies where we had to use SAP software, I find that sad.

<comment><USER8> Could someone give a brief example of what kind of SAP work require? I see constantly recruiters searching for people who know how to work with SAP, but I have not clue what it involves. ))

<comment><USER9> Usually it involves customizing what data is captured, what workflows are in place and the reports that ultimately get generated.

Given that SAP is quirky (to say the least) it typically requires some real world experience.

<comment><USER10> I worked for a company that was switching over from old internal software to SAP. We actually had to change workflows to suit SAP. You see, they'd sold it on the premise that it was adaptable, and it was, but actually a SAP engineering team would need to make the modifications to _every version and update_ that we were contracted to receive. This wasn't covered in the multi- million-euro contract, of course.

</comment></comment></comment></comment><comment><USER11> Way off topic: what accounting software is everyone using?

I've been hunting for something that is a well designed SaaS product, yet is highly scriptable with a great API to allow me to automate more of our transaction flow.

Right now we've got a part time book keeper whom spends most of her time copy and pasting things around in quickbooks, its just silly. Unfortunately we have a 'complicated' transaction flow, by 'complicated' I mean none of the ultra- simple SaaS models seems to allow modeling it correctly, but it could be done with a couple dozen lines of script if the software allowed that.

I'm currently stuck either keeping things as are, which sucks, or massively overpaying for SAP Business ByDesign to get the needed flexibility. It seems like there is a bit of a hole in the market between the ultra simple SaaS solutions and the SAP's of the world. It seems like NetSuite used to fill this gap but has moved up market.

Is Xero getting to the point where they can at least partially fill that hole? Anyone else out there that is close?

<comment><USER12> OpenERP

<comment><USER13> That looks good these days! Any experience with it? Stability, performance, costs, flexibility?

<comment><USER14> Stable, reasonably usable, most stuff written in python so easily extensible. You'd better use some consultancy to set up everything from the start, afterwards it's quite easy to maintain yourself (Free software FTW).

</comment></comment></comment></comment><comment><USER15> Meanwhile, SAP is (indirectly) funneling part of the revenue from clueless enterprise into... Hasso Plattner Institut! One of the world's hotbeds of computer science innovation (<http://www.hpi.uni- potsdam.de/willkommen.html?L=1>)

"Professor Hasso Plattner [co-founder of the global software company SAP and chairman of its supervisory board] has pledged the foundation from his private assets for the day-to-day running of the Institute over a period of more than 20 years. Due to his commitment, he is one of the most important private supporters of science in Germany."

Ironic? Visionary? Whatever it is, good work is being done, orthogonally to SAP's main venture.

</comment><comment><USER16> The company I work for has an internal software suite (mostly Java EE) that's rolled out across Europe, and we have a SAP team too who deal with all the accountancy stuff.

Some aspects of the systems I work on have to communicate with SAP and I find the whole process quite frankly, bizarre. The way SAP names procedures is weird, it just seems so clunky.

Whenever the SAP team come to us to say they've added a new column and we need to support it makes me weep a bit when having to type in ZTRANS_TTP_ORDER_TYPE everywhere to support their bullshit.

<comment><USER17> You can choose to use any name for your custom objects as long as they start with Z* or Y*. This is the only constraint from SAP. And of course depending on the object you have a max length.

</comment></comment><comment><USER18> SAP feels kinda clunky. Whats the appeal?

>100lb gorilla

Seems fairly...light.

<comment><USER19> 100 pounds is much smaller than an actual gorilla.

<comment><USER20> Or a SAP installation, for that matter.

</comment></comment></comment><comment><USER21> While I have barely used the SAP system where I work, I could intuitively sense its value. Only half joking, I have claimed that If i could get a half dozen good co-ops, we could build a far better system with LAMP in about 6 months. ( I know that LAMP is dated, but other than what I have read here, I know little about the more modern frameworks)

</comment><comment><USER22> Which is very sad, because it is the worst crap ever.

Usually it works like this:

Specially trained sales people approach executives of a company with stable money flows. They tell all that nonsense about how prestigious SAP is, that all successful businesses runs SAP, that it is kind of a simbol of maturity of the company and that it having SAP installed is good for IPO. Most of execs who have no idea what crap it is just agree.

For IT execs it is even better. SAP installs a ready bureaucracy system inside a company. All those meaningless titles, training, certificates, as if you really learn something valuable. Usually IT manager involved in running or supporting SAP have a guaranteed position, they say.

Needless to say, that they have a ready "processes" based on paper-pushing inside a newly formed hierarchy.

Now about software. It is worse crap ever. It is a mess of Java, inhouse ABAP layers, and thousands of SQL stored procedures with meaningless names.

All _technical_ and troubleshutting documentation, which is crap, available only with paid subsribtion, explaining almost nothing. What is available for free PR, success stories and use cases, which is completely meaningless lies.

Software itself is a mess. There are hundreds of different version which are incompatible with each other, and only this version people know what to do.

All installations usually performed by stupid drones without any background using detailed instructions with screenshots of each step. Usually typical SAP "certified professional" know nothing but a few such instructions.

Support is much worse. Nobody know anything, all they do is finger-pointing. All problems usually solved with a new re-install and then import whatever data we have in last backup.

Data loses are normal thing. Bugs and gliches are normal. Incompetence is rampant. But SAP bill you for each hour of each consultant involved, and each document passed through system. May be even for each transaction.

After all crap is installed and organization are shaken up it is already too late and too costly to revert. This is why SAP is so "successful" - when you "invest" in it you are done for, and you just sign the bills and have your "signs of maturity".

This is only quick overview. I can write a brochure what a crap it is.)

<comment><USER23> While all you say is pretty much true, you have to see it in the context of the service that SAP provides. SAP implements the workflow of their costumers (the process is called "tailoring"), not the other way around. As every customer has a different workflow, the maintenance nightmare you describe is always looming, especially as the systems are built to run for decades. SAP knows this, but sadly, there is no good solution for this problem.

Full disclosure: I worked for SAP Research, but not on ERP systems.

<comment><USER24> That's not a reason for the core tooling and docs to be crap, though. (I don't know whether they are, but this thread gives me the impression that they are)

<comment><USER23> Thats true and I don't want to defend this in any way.

But its a way to understand why SAP is like it is: the "core" you speak of is already fragmented and by chance, it can even happen that this core knowledge is invalidated by something further down the stack. Documentation of 100 edge cases wouldn't help you much in that regard. As others have stated, the oracle world is not much better in that respect.

Its a way to understand why anyone would even buy such "crap". Because thats the crap that solves the customers problem somehow and there is no competing company that would even come close to offering a similar service. I don't mean to imply that no one could ;).</comment></comment></comment></comment>


Time Warner Cable tells FCC to shut up about net neutrality - <AUTHOR> http://arstechnica.com/telecom/news/2009/04/time-warner-cable-to-fcc-shut-up-about-net-neutrality.ars <comment><USER2> I wish they don't allow caps but everyone know the FCC is a corrupt board of folks..... Sad but true..</comment>


The future of the web. Contextual #do cards - <AUTHOR> The current web is an explicit one. We are forced to hunt down the digital actions we need to complete using search, apps and endless website menus.
Tomorrow's web will be an implicit one. The most relevant actions will magically appear as we go about our day.
One of the fundamental building blocks of this future is a repository of contextual actions. Imagine billions of invisible POSTIT notes that appear because of our context and what we need to do.
http://hashdo.com, an open source contextual card platform, is an attempt to provide this building block. <comment><USER2> I see serious potential when combining this with a platform/API like [https://www.beaconsinspace.com/](https://www.beaconsinspace.com/).

They provide devs with access to existing beacon infrastructure and structured contextual data.

<comment><AUTHOR> Oh wow. Very much so. Thank you for the link. I have reading to do.

</comment></comment><comment><USER3> Interesting idea. Do you think these are similar to cards in Google Now? Could this be used for notifications?

<comment><AUTHOR> #Do cards are similar to Google Now cards. The idea is to enable any small business to expose a digital interface. i.e. a small collection of single- function cards which can then be dispersed, surfaced and executed anywhere.

I definitely see them used in notifications. Another use case that really excites me is Google's eddystone standard.</comment></comment>


Show HN: Simple Spam Scoring - <AUTHOR> http://spamscore.me/ <comment><USER2> Lovely use of our spam scoring API (<http://spamcheck.postmarkapp.com>). What are you using for processing inbound email?

<comment><AUTHOR> Thanks. I've got a google apps email setup to collect the email address, and config'd gmail to disable the spam filtering. A cron runs on the minute, connects via IMAP, processes the message and on success fires it back & deletes the mail message.

</comment></comment><comment><USER3> Doesn't this just make it easier for spammers to game the spam filter?

<comment><USER4> why would it?

</comment></comment><comment><USER5> great work, Jim! excited to see where this will take you</comment>


Ask HN: Tweetdeck but for keeping track of repos - <AUTHOR> I'm looking for a tool to get an overview of all the repositories I am working on. Preferably one that is capable of overseeing repositories from different hosts.
So, for instance. I want to colocate all of my repositories from Github, Bitbucket and Gitlab, in one UI experience.
Or is this something I have to build myself? <comment><USER2> You can consider using mirroring with GitLab to have everything in a single GitLab instance: [https://docs.gitlab.com/ee/workflow/repository_mirroring.htm...](https://docs.gitlab.com/ee/workflow/repository_mirroring.html)</comment>


What is the best hacker/entrepreneurial community where you live? - <AUTHOR>

<comment><USER2> I live on Maui and even though the Maui High Performance Computing Center is here plus the Haleakala Observatory- I've met only 3 or 4 geeks my whole time here, and no tech entrepreneurs. Of course, I can't complain. I mean, I live on Maui.

</comment><comment><AUTHOR> I just heard about Ignite Seattle (http://igniteseattle.com) and it made me think about this, In Portland the best I know of is OEF (Oregon Entrepreneur's Forum), but its not nearly as hacker oriented as Ignite Seattle seems to be (although I haven't been).

</comment><comment><USER3> Anyone know any for Vancouver, BC?

<comment><USER4> Not really, but feel free to drop by Stamps Landing (where Dabble DB and Snipshot have our offices) for a beer some time... email me first to set something up.</comment></comment>


Show HN: TheReelBox, find tonight's movie - <AUTHOR> http://thereelbox.com/ <comment><USER2> Please don't try to guess where the location permission chrome will be. Also, your site is completely useless if I don't want to give you permanent permission to access my location. You should let users enter a location or zip code if they don't want to give you live access to their exact location.

<comment><USER3> I'm curious, but why are so many people against sharing their location through the browser? You already give up your OS, browser version, and IP address (which can give a rough location) just by visiting the website. I understand if someone personally has something against sharing their precise physical location, but I don't understand why it's an issue for so many people.

<comment><USER4> That's a huge difference. I keep feeling like there is this generation of very naive programmers out there. Yes, it's true, the IP address can be used to determine where you are on a mobile phone ... If you get a subpoena!

There's a big difference from "Sure, by using this phone, I know Homeland Security can find me" and "I guess I will let every website I visit know where I am; what the hell, privacy is a commodity!"

This attitude seems very strange to me. It is certainly in line with this "new way of thinking about privacy" but it has really nothing to do with reality.

<comment><USER5> I think he was referring to Geo-IP location (approximating your location based on your ip address). About 60-75% of the time it's accurate to the city - provided you're not using mobile broadband.

Of course there are a number of other ways to get higher resolution location without consent. An older but commonly known one is Samy's XSS exploit (<http://www.samy.pl/mapxss/>).

</comment></comment></comment></comment><comment><USER6> Let me put in my zip code. There's no reason why I should _have_ to share my location through the browser.

<comment><USER7> Yes, please. Plus - I work in DC, but generally want to see moves in Virginia, so tying the search to my location is too restricting.

</comment></comment><comment><USER8> Lots of neat stuff here. "Event listings"--movies, music, etc.-- can still improve a lot in terms of ease of use, so I'm very happy to see people work in this area.

A few thoughts:

\- I'd want more movie options & theaters (need a much bigger radius).

\- When a single movie has showtimes at multiple theaters, the action on the map confused me at first.

\- I personally know where my local movie theaters are. I do care very much about which theaters are available for a movie, because they vary in quality and convenience, but I have to hover over showtimes to see the theater options for a particular movie. So there may be a different UI which helps me optimize my decision (e.g. with less emphasis on the map)

\- Title says "pick tonight's movie", but I can't actually figure out how to see the showtimes for later tonight--movies with a lot of showtimes are only showing the midday options.

\- Can ads be removed from the video trailer? Seems unpleasant to see an ad during an ad. Also, normal video controls would be handy.

<comment><AUTHOR> all great ideas, thanks. the ads in the trailers are youtube's ads... so probably can't get rid of those.

i'll figure out a way to show movie times further into the future, midday bit is frustrating yeah.

<comment><USER9> Can you hook into another movie trailer service? Perhaps Apple trailers? I imagine that since trailers are Ads, there might be a service that provides some sort of affiliate commission, or at least shows them without ads and without fees.

</comment></comment></comment><comment><USER10> The UI is very cool! The Google Maps window loads very quickly when hovering over various show times. I immediately understood how this app could be useful. I also like the big high-res trailers.

Using Firefox 10 on my Windows 7 desktop machine, I clicked allow on the location sharing prompt, but the location it pulled was way off from my actual location. I assume it's going off my ISP location. I couldn't find any way to manually edit my location? I totally get the motivation to make it "just work" without a bunch of input from the user, but it seems you need a way to allow for fixing the location by the user.

Some of the locations it showed me movie times were quite far from me, which is OK -- the additional options were fine. But the next question that popped into my head when I saw the combination of a showtime and a location is "When do I have to leave?" A read-out of "You need to leave at X:XX to be on time for this movie" would be useful.

The placement of the "Get Tickets" link under each movie made it tricky to move the mouse there from the showtime link I had settled on without tripping over another showtime link -- kind of like that game where you move the ball through the maze! Clicking the showtime link just took me to a blank white page -- I assume this is not intentional.

</comment><comment><USER11> On Mac OS X + Chrome 19.0.1068.1 dev, I'm getting

      "Uncaught Error: QUOTA_EXCEEDED_ERR: DOM Exception 22"

on showtimes.js:677

      localStorage.setItem('zipcode', String(view.position.zipcode));

<comment><AUTHOR> hm, can't reproduce that here with the same setup... the address, latitude, longitude and zipcode returned from google's geocoding api must have been insanely long to exceed the 5MB quota. sorry that happened :(

<comment><USER12> Quota is based on domain, and in your case you're serving up everything from dl.dropbox.com. Maybe these users already have stuff in their localStorage from other sites that happen to use that domain?

Seems like the fix for that would be to serve up the html on your own domain so that other sites, eg dropbox, won't mess with your quotas.

Also, that would fix the location permission dialog that says "dl.dropbox.com wants to track your location".

</comment></comment></comment><comment><USER13> "We couldn't find any movies nearby."

Now, I am sad.

<comment><USER14> Same here. There are two theaters within 5 miles but it found nothing.

</comment></comment><comment><USER15> This is a pretty neat idea. One thing I'd consider changing is your use of the Rotten Tomatoes rating icons. You're using the Tomatometer Critics icons, but the % score you're displaying is actually the audience rating. This may not matter most of the time, but occasionally you have a movie like "A Thousand Words" that has a 0% tomatometer rating, and a 60% audience rating. (<http://www.rottentomatoes.com/m/a-thousand-words/>). Mixing up the two ratings could be a little misleading.

It may be better to just include both ratings on there, or stick with a single rating source.

<comment><AUTHOR> Good point. The behavior is actually to use critics score unless the critics score isn't available (0 for A Thousand Words triggered that), in which case it falls back to use the audience score, if it's available. I'll think about this a bit more, thanks for pointing it out!

</comment></comment><comment><USER16> Definitely think you're on to something here. Contrary to other commenters, I actually like that you're taking advantage of the geo location api. You should include an option for zip code and/or city, but personally what you have it fine.

Your UI is a bit bare, but nice and simple. Don't add too much to that. Simple is good.

Also love that the trailer auto-plays, which is contrary to how I want to experience video on _most_ sites. However, since your site is about movies, auto-playing the trailer is a perfect implementation.

Ping me on Twitter, @geuis. I'd like to be informed as you further develop the site.

Good luck!

</comment><comment><USER17> Where are you pulling the movie times data from? I've been trying to make a local application but couldn't find an API anywhere, it came down to web scraping, which isn't very sustainable.

EDIT: Is this coming from Yahoo?

<comment><USER18> I'm curious about that as well.

I know of two companies that sell movie theater schedule datasets (through data dump or API): Tribune Media Services (<http://www.tribunemediaservices.com/>) and West World Media (<http://www.westworldmedia.com/>).

I'm not sure that there are any other. It's my understanding that the main movie sites (Google, Yahoo!, RottenTomatoes, MovieTickets…) all get their info from one of these two companies. This is also probably why you won't find a free API with that data.

Because the trailers are on YouTube, I suspected that the info was scraped from Google (I believe these two companies have their own trailer hosting); however, that would then make the connection between that info and RottenTomatoes a bit tricky… Peter, do you mind sharing?

<comment><USER17> From a quick glance over the code, it looks like the meat is in his showtimes javascript file([http://dl.dropbox.com/u/682022/showtimes/javascript/showtime...](http://dl.dropbox.com/u/682022/showtimes/javascript/showtimes.js))

I'm not very familiar with backbone.js so it's a little confusing to me, but looks like models are being built. Here's what I can muster, this could all be wrong

* [Line 112] The trailer is using a YouTube API ([https://gdata.youtube.com/feeds/api/videos?alt=json&form...](https://gdata.youtube.com/feeds/api/videos?alt=json&format=5&orderby=relevance&max-results=1&q=)) and then the movie title?

* [Line 184] Ratings coming from RT API ([http://api.rottentomatoes.com/api/public/v1.0/movies.json?ap...](http://api.rottentomatoes.com/api/public/v1.0/movies.json?apikey=znxvjxy3t76468rdqukfxpp4&page_limit=1&q=<title>&callback=?))

* [Line 341] Theatres & Times from Yahoo (<http://query.yahooapis.com/v1/public/yql?q=use> "store://VZHvlyU81L6BFVGyE7CNhT" as pterodactyl.movietimes; select * from pterodactyl.movietimes where zipcode="<zipcode>" and date="<date>"&format=json) -- I have no idea what this is all about. Any insight would be helpful.

* [Line 405] The links that Yahoo API thing returns are then rerouted to go through [http://www.qksrv.net/click-5632409-10576771?url=<buyURL&...](http://www.qksrv.net/click-5632409-10576771?url=<buyURL>&wssaffid=11836&wssac=123t), I'm guessing for OP to get some cash

Then there's google maps for the maps, so that seems to be where the data pull is coming from. Not sure what the origin of that Yahoo URL is though.

EDIT: I added line numbers from the showtimes.js file because HN reformats the links so you can't see them all the way.

</comment></comment></comment><comment><USER19> This: <http://www.maxmind.com/app/geolitecity> is a much better way to find someones location so they don't have click the allow button.

</comment><comment><USER20> Something to do with gamma.firebase.com and firebase.js isn't loading. I kept it going for two minutes and it kept buttering the popcorn. Maybe HN shot over your daily API quota?

</comment><comment><USER21> This solves a problem that I have all the time. Existing movie aggregators are a pain to navigate the filled with ads.

I like the Rotten Tomatoes integration. Nice work.

</comment><comment><USER22> I like it, but it has my location wrong by about 50 miles. There absolutely needs to be a way to enter the local address.

</comment><comment><USER23> My user story: I got excited that Tinker Tailor Soldier Spy was still playing, but didn't want to see it tonight because I have other plans. I clicked on the link to buy tickets, hoping it would show me other showtimes, but it was just a normal checkout page.

I would like to know when Tinker Tailor Soldier Spy is playing tomorrow as well.

</comment><comment><USER24> Good site idea, but my location is totally wrong and I don't see a way to manually enter it so it is more accurate.

</comment><comment><USER25> It's nice & simple. I think trailers would be a great addition.

As an alternative -- I would be interested in a site just like this but that aggregated movies from all of the free (legal) sources on the Web where I can watch movies now. (I don't usually buy movie tickets in advance.)

</comment><comment><USER26> IE9/IE10 will have a goldbar at the bottom of the screen so the green arrow is a bit misleading...

</comment><comment><USER27> Your green arrow is pointing at "learn more" and not "allow" so the link takes me here [https://support.google.com/chrome/bin/answer.py?hl=en&an...](https://support.google.com/chrome/bin/answer.py?hl=en&answer=142065)

</comment><comment><USER28> Just FYI, your site is completely unusable for anyone working at a company blocking Dropbox.

<comment><AUTHOR> whoa, i had no idea that companies did that? sorry!

<comment><USER28> It's pretty uncommon, but it does happen. I'll happily check this out when I get home though :)

</comment></comment></comment><comment><USER29> Didn't work in Firefox even after allowing (the suggestion to "Allow" lined up in Chrome, though). Loaded the site in Chrome, and no movies were found in my area despite being within 10 miles of two movie theaters.

</comment><comment><USER30> I love it. I go the movies all the time. I wish you had a way for me to put my email address in so I could get an email every Friday to remind me this site exists. Cool idea and implementation. Keep going!

</comment><comment><USER31> Because people like my self don't need the gov knowing where and how I move to use this info against me due to my back problem and CUTTING ME OFF of suport so I can't take care of my two kids...

</comment><comment><USER32> Not working for me. After I click 'Allow', the page remains the same, with the prompt telling me to click 'Allow'. I'm on Chrome 17.0.963.79, OSX, Austin TX.

</comment><comment><USER33> Took forever loading on Android---I'm surprised how much that matters to me; I just got a smartphone for Christmas and I'm already spoiled.

</comment><comment><USER34> Well done! This fits the bill perfectly for me. The only problem I see is requiring location access. It miscalculated my location.

</comment><comment><USER35> Nice. Slow to load, but worked.

I wish I could specify preferred theaters. In my area, there are many theaters nearby, and the closest isn't the best.

</comment><comment><USER36> Unfortunately, it doesn't load past the spinning popcorn for me, and I see some failed GET requests in the network log.

<comment><AUTHOR> sorry we had an intermittent blip. working on it now.

</comment></comment><comment><USER37> GIANT pet peeve: please do not auto-play the trailer when I click on the movie. Please. It is not expected behavior.

</comment><comment><USER38> What it thinks is my location is not my actual location.

You should give me an option to enter an address.

</comment><comment><USER39> Just needs a way to mark a theater as terrible and that I would never go there.

</comment><comment><USER40> sorting: "closest" "rating"

filtering: "start times" "location" (don't assume geo-log, let me enter zip)

neat idea, needs a lot of polish.

</comment><comment><USER41> This is not the fifties. Movies shouldn't be watched on tv.

</comment><comment><USER42> guessing this is US only?

<comment><AUTHOR> yeah... sorry! i'm not sure where to even get movie showtime data for europe, etc. ideas?

<comment><USER43> Imdb</comment></comment></comment>


Bruce Schneier on the risks of cloud computing - <AUTHOR> http://www.vnunet.com/vnunet/video/2240924/bruce-schneier-cloud-security

<comment><USER2> Flagged because I didn't know it was a video link.

(Is that to be assumed for all links from the submitted domain?)

"If you submit a link to a video or pdf, please warn us by appending [video] or [pdf] to the title."

<http://ycombinator.com/newsguidelines.html></comment>


AWS EC2 Price Comparison Chart - <AUTHOR> http://kenlin.com/x/aws-price-comparison-chart/

<comment><AUTHOR> I find the compare option for different instance types especially useful.

<comment><USER2> Here's a handy calculator, with variables you can edit: [https://www.scalyr.com/cloud](https://www.scalyr.com/cloud)

<comment><AUTHOR> Thanks! I also liked the visualizations (via d3.js)</comment></comment></comment>


Rust 2020: GUI and Community - <AUTHOR> https://raphlinus.github.io/rust/druid/2019/10/31/rust-2020.html <comment><USER2> Rik Arends has been working on a cross-platform IDE in Rust called Makepad [1]. It has a custom UI stack that targets wasm/webGL, osx/metal, windows/dx11, and linux/opengl. His premise (which is fairly ambitious) is to work in both 2d and VR environments. It's been fun to watch. There's a demo for the wasm target. [2]

1\. [https://github.com/makepad/makepad](https://github.com/makepad/makepad)

2\. [https://makepad.github.io/makepad/](https://makepad.github.io/makepad/)

<comment><USER3> Other than startup time, the wasm demo is very responsive on an underpowered moto g7. I'm shocked. Excellent work.

<comment><USER4> Exactly my thoughts too, except I loaded it on an iMac, and it loaded instantaneously as well. Far more responsive than any web or Electron UI.

</comment></comment></comment><comment><USER5> The issue I see with a Rust GUI framework that has a target to be native on multiple platforms is that certain platforms (iOS, macOS) have their toolkits so tightly bound to a certain language (Objective-C for Cocoa, Swift for SwiftUI) that it just doesn't seem feasible to call into it without making using horrible, hacky, unidiomatic Rust code. I've seen projects that aim to support macOS literally having code like NSArray(msgSend!(objc::Class("NSArray").unwrap(), new)) and it's just so awful :(

<comment><USER6> Using the widget set provided by the platform is not easy, and that's not what druid tries to do. Rather, there's a platform abstraction layer (druid-shell) that takes care of all this stuff for you, and has all that nasty unsafe code in it, then it draws its own widgets. We _try_ to feel more "native" in that we're using platform menus and so on. It's certainly possible to be more native (calling into Cocoa widgets) or less (using Web technology), but I think what we're doing is a good pragmatic approach.

Of course, things have gotten a bit postmodern, even on macOS there is no single widget toolkit, but basically a series of choices of what technology to build on. I'm actually not sure that binding other languages to SwiftUI is going to work well at all, but in Objective-C it works fine, just isn't very smooth. On Windows, I've generally found COM to be quite pleasant, and noises coming from Microsoft suggest that story will become even better.

<comment><USER5> > it draws its own widgets

I have never seen this go well in practice :( Qt and Flutter do this and the experience is just…not great. Do you have any ideas on how to do better than them if you're using this approach?

<comment><USER6> To be clear, we're focusing on the use case of a font editor, where you're mostly interacting with highly custom views, much less so with layouts composed of stock widgets.

As I said elsewhere, increasingly we're in a world where there isn't a standard set of platform UI widgets. I think that was the case when we had Cocoa on macOS, but on Windows it's a choice between MFC, WinForms, WPF, WinUI, and those are only some of the choices offered by Microsoft itself.

It's a good question, though. It's possible somebody will figure out a good way to abstract over officially supported platform UI toolkits, and if so, that might become a compelling choice. This is one reason why the main point of my blog is that we need to figure out the best approach, rather than just assuming we know what to build.

<comment><USER7> MFC and WinForms both just abstractions over Win32. WPF was clearly targeting being indistinguishable from the old widgets and had a much better success rate than other reimplementation attempts. It's really only with UWP/WinUI that you'd notice the difference without going searching and that has received a lot of consequent complaints.

<comment><USER8> > WPF was clearly targeting being indistinguishable from the old widgets

we sure as hell haven't been using the same WPF apps

<comment><USER7> Paint.NET is the one app I've used extensively that I'm aware of being a WPF app, and that's because I remember reading a dev blog about implementing aero glass when 4.0 was being developed.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> I'd love to see more mainstream discussion about what gui approaches we could take.

Personally I'd like to see something like IMGUI but with more of a focus on data structures, you should be able to cache the result of a function much more easily.

I guess I'm asking for a more functional-programming styled API for IMGUI. Allow me to get the benefit of a retained GUI by caching the results of functions.

At least for the few small toys I've made I think IMGUI is by far the easiest GUI paradigm to work with. I don't know how it would handle something more complicated though.

<comment><USER6> I also would love to see more discussion of this topic. There are some academic papers on functional reactive programming and so on, but now there's this huge wave of frameworks for declarative UI. I've found that there's a strong convergence on goals (one-way data binding, unification of initial creation and deltas, etc), but huge diversity in the way they're implemented.

And I also agree that IMGUI is one of the most interesting of these, mostly because it's very simple. You'll find makepad (mentioned in my blog post and in comments here) is fairly directly based on IMGUI ideas, but also has the ability to retain intermediate results. Also, I've been admiring the architecture of Jetpack Compose, and feel it's true to the ideals of IMGUI - you can think of it as IMGUI + "positional memoization."

And yeah, it's one thing to build toys and another to build real applications. This is one reason the focus of druid is to build a font editor, as opposed to making a GUI toolkit first and hoping for adoption.

</comment></comment><comment><USER10> Honestly, writing a cross platform gui is a waste of time. Java tried it(multiple times) and failed. Electron tried it and the results are terrible. Qt is moderately successful at it mostly because it is treated as the system toolkit on a lot of Linux platforms and Windows users are conditioned not to care about consistency and experience because of bad enterprise CRUD apps and Microsoft's own inconsistent behavior.

What rust should do is focus more on interop with other languages. Write your critical business logic in Rust and make that cross platform. Then write GUI in the platforms preferred Library/Language combo that handles all the UI and makes calls to a cross platform rust binary for grunt business logic processing.

<comment><USER11> > Electron tried it and the results are terrible.

I use VSCode, Slack, and Discord every day (and some other Electron apps). The results are great and better than anything I've seen in the xplat space where there are always trade-offs.

<comment><USER10> Is Electron better than most cross platform alternatives? Yes. Is Electron better than platform's native tooklit? No. Electron apps are easily recognizable because they completely stand out from the platform apps (not in a good way). And there are other concerns that are addressed in the numerous electron threads on HN so I won't list them here.

</comment></comment></comment><comment><USER12> Looks like Windows will soon be launching a way for Rust to call into their COM UI API platform.

[https://kennykerr.ca/2019/11/05/rust/](https://kennykerr.ca/2019/11/05/rust/)

<comment><USER13> There is already a way as COM is cross-language by design. However what this will hopefully do is provide a library that makes it natural and using Rust idioms. I'm looking forward to it.

<comment><USER14> All existing Rust libraries only support a subset of COM capabilities and deployment scenarios.

</comment></comment></comment><comment><USER15> Iced looks like it has a lot of potential.

[https://github.com/hecrj/iced](https://github.com/hecrj/iced)

</comment><comment><USER16> IMHO any GUI toolkit needs to work with multiple languages. So please dont make it Rust specific.

<comment><USER6> This is an interesting question, and one I did not directly address. One of the features of Rust is that it's practical to bind it to other languages, so I think writing a "GUI engine" in Rust that's designed to play scripts in other languages is feasible.

That said, it's not the main goal of the druid project. There, we're focusing on writing a real application in Rust. Dealing with language binding issues is hard, and anything that increases the scope too much puts the project at risk.

So if you want a multi-language GUI toolkit written in Rust, asking me is not the way to get that, because I'm not going to build that. But if you want to be part of a community effort to build it, I'd be open to collaboration.

</comment></comment><comment><USER17> I'm not sure I want to program my UI.

What I want is to draw it, serialise it to some kind of common markup, and then have an API for dealing with events, altering properties, etc. Making sure that API works well with Rust makes sense, but doing the whole thing programmatically doesn't feel like the right model to me.

<comment><USER18> You should give Dear ImGui (which is mentioned in the article) a try. I was reluctant myself when I discovered it a couple of years ago, but it is such a joy to work with and so "obviously" the right thing on a very basic level that ImGui is now my default choice for writing UI tools (even with the disadvantage of not having a native look and feel).

It's still possible to put a data layer on top of immediate mode UIs, which basically turn a data representation into a sequence of function calls. But I think this would bring event handling back, which defeats the whole idea of an immediate mode UI :)

</comment></comment><comment><USER19> "We don't yet know what to build" \- and continues with the thousands of way a GUI-framework could be built.

I'm sitting here thinking: is it that important for the user? For a hobby- project sure, but doesn't developers want to wow customers with really nicely designed GUI:s because of the simple fact that beauty sells?

I'd argue that if you could find a really, really great GUI-designer (not developer) to take a crack on just one platform (so as to not make a Frankensteins monster) it would matter way more than if the architecture was modern or not.

To put it in another way, developers need a guiding hand with UI-design, not how to structure their program.

<comment><USER18> I think there are (at least) two fundamentally different ways to create UIs, suited for two fundamentally different types of UI applications:

Programmer-driven for "tools" (think Photoshop, Maya, IDEs, debuggers), and artist-driven for "user applications" (think typical mobile applications and games).

For the first type, "maintainability and functionality" is more important than "beauty on the surface", and it's also important to give the programmer a framework which encourages "best practices", so that the result is not an archetypal "programmer UI".

Only for the second type, "shininess" is more important than everything else, this includes general aesthetics, colors, animations / transitions, etc...

</comment></comment><comment><USER20> Very excited to see where this goes! I'm waiting to see which will mature faster between this and [https://github.com/revery- ui/revery](https://github.com/revery-ui/revery)

</comment><comment><USER21> Would be nice to add Linux build instructions to Runebender (if it needs any setup besides simply running cargo).

</comment><comment><USER22> Wouldn't a Rust interface to Qt be possible or desired?

<comment><USER23> It sorta exists but is difficult and doesn't support all of QT yet.</comment></comment>


Characteristic patterns of EEG oscillations in sheep induced by ketamine - <AUTHOR> https://www.nature.com/articles/s41598-020-66023-8 <comment><AUTHOR> Full title too long for HN: Characteristic patterns of EEG oscillations in sheep (Ovis aries) induced by ketamine may explain the psychotropic effects seen in humans</comment>


PxCode Day 5 – Challenge Us If You Can - <AUTHOR> https://www.youtube.com/watch?v=SaLs-_eE9LQ <comment><AUTHOR> Give us your Sketch, and we give you the Code!

We make this page within 16 mins. Check our results below! Preview the result here: [https://bit.ly/32tAlay](https://bit.ly/32tAlay) Final source code at CodeSandBox: [https://bit.ly/3ixOIAa](https://bit.ly/3ixOIAa)

Send us your Sketch; We will show you how powerful pxCode is.

pxCode Official Site: [https://www.pxcode.io/](https://www.pxcode.io/)</comment>


Founder personalities and the "first-class man" theory of management - <AUTHOR> http://www.startuplessonslearned.com/2010/07/founder-personalities-and-first-class.html?utm_source=feedburner&utm_medium=twitter&utm_campaign=Feed%3A+startup%2Flessons%2Flearned+%28Lessons+Learned%29 <comment><USER2> Isn't it the case that legal issues are often a bottleneck to getting products to market? The traits listed for "taking the plunge" have been described elsewhere (I think by pg) as the "rat" phenomenon. Basically there are a new breed of super rats which will persist and bootstrap or gain traction, to the detriment of conventional or historic VC interaction.

The advent of online trading (with the floor traders going bye bye) is another peg in the coffin, I think. It very well may be possible to day trade as a primary means, with only a secondary concern of bootstrapping or working on a startup. With priorities like that the startup just becomes a passionate "can it be accomplished?" pursuit, because by comparison the profit incentive just isn't there.

</comment><comment><USER3> This feels like a rewriting of history, given that the idea of the 'first- class man' was at the very core of "scientific management" and the phrase was, according to Kanigel, "a staple of Taylor's rhetoric".

<comment><USER4> Taylor still believed in the importance of individual character and skills. Taylor used the term "first-class man" to refer to the kind of person you could train to do high-quality work in scientific management. But he was careful to say that someone else (ie a manager armed with scientific methods) should determine what the optimal amount of work such a man should do.

Today, Taylor is mostly remembered for the tactics he emphasized: time and motion studies, the separation of planning from working, etc. But that overlooks his lasting contribution, which is that the systems that are used to do work could be studied and scientifically improved.

His 1911 "Principles of Scientific Management" is actually a very short read, is in the public domain, and is quite fun. You can get it for free for your Kindle here: [http://www.amazon.com/Principles-Scientific-Management- ebook...](http://www.amazon.com/Principles-Scientific-Management- ebook/dp/B000JQUO5G/ref=tmm_kin_title_0?ie=UTF8&m=AG56TWVU5XWC2)</comment></comment>


Clash of the unlikely: C# versus.. RealBASIC? - <AUTHOR> http://tomgrimshaw.wordpress.com/2009/04/16/clash-of-the-unlikely-c-versus-realbasic/ <comment><USER2> It looks like the RealBASIC version was written first and then translated straight into C#.

In reality, you'd not create the encoding each time, and either use a StringBuilder to build up the string, or just use Encoding.GetString.

C# on my machine:

As per blog: 50s

Creating Encoding once: 24s

Using StringBuilder: 11s

Using Encoding.GetString: 2.5s

Use Random.NextBytes: 2s

RealBASIC on my machine:

As per blog: 27s

Interestingly despite advice I'd found on the internet[1] using array joining didn't really make the RealBASIC version any faster, so from what I can tell it's generally as fast as it could be using the out of the box libraries.

(My machine isn't exactly idle and ideal for microbenchmarking atm, but the differences are large enough for that not to matter)

This doesn't really provide a good evaluation on the state of JITs.

[1] [http://forums.realsoftware.com/viewtopic.php?f=13&t=2510...](http://forums.realsoftware.com/viewtopic.php?f=13&t=25107)

[Edit: Added RealBASIC times]

<comment><USER3> I'm fairly surprised in the results using StringBuilder. I didn't know it was so fast compared with plain concatenation. According to what I've read in MSDN [1], memory allocation has a lot to do with it. I think I'll start using this class in my code.

By the way, this leads me to one question: does the code

        string a = "a" + "b" + "c" + "d";

generate one or three memory allocations (one to compute each concatenation)?

<comment><USER2> Because you're concatenating literals, the compiler will translate it into string a = "abcd" ;)

Strings are outwardly immutable, so concatenating any two strings will create an entirely new String object, along with the memory allocation needed for that. However, there are some internal methods that allow String and other classes in the same corelib assembly (such as StringBuilder) to mutate them.

`string a = x + y + z` will be translated into `string a = String.Concat(x, y, z)`. Because it knows the final length it can use the internal String methods to allocate a new String long enough to fit all the arguments and then copy the characters into that without any intermediate representations. [1]

In a loop it doesn't know how big the final result will be, and so has to create a new String object on each iteration. If you're doing 16000000 concatenations as in this test that's a lot of intermediate strings that are largely being wasted.

StringBuilders have a private String object and use the internal String methods to mutate that when you call Append. When you call ToString it returns a copy of the private String object. Again, this avoids creating lots of new intermediate String objects, but does have the overhead of having to guess how large the initial String should be, and growing it if you append too much (similar to how Lists work).

[1] I believe in Java it's translated into using StringBuffer or StringBuilder, which has a small overhead of creating the StringBuffer/StringBuilder object.

[Edit: Corrected how String.Concat and StringBuilders work based on the Mono codebase]

<comment><USER4> For others interested in the source of StringBuilder: [https://github.com/mono/mono/blob/master/mcs/class/corlib/Sy...](https://github.com/mono/mono/blob/master/mcs/class/corlib/System.Text/StringBuilder.cs#L50)

Note that the actual magic consists of internal methods in String.cs:

\- FormatHelper [https://github.com/mono/mono/blob/master/mcs/class/corlib/Sy...](https://github.com/mono/mono/blob/master/mcs/class/corlib/System/String.cs#L1928)

\- InternalSetChar [https://github.com/mono/mono/blob/master/mcs/class/corlib/Sy...](https://github.com/mono/mono/blob/master/mcs/class/corlib/System/String.cs#L2585)

\- CharCopy [https://github.com/mono/mono/blob/master/mcs/class/corlib/Sy...](https://github.com/mono/mono/blob/master/mcs/class/corlib/System/String.cs#L3060)

</comment></comment></comment></comment><comment><USER5> It's yet another flawed microbenchmark.

The RealBASIC version calls the inbuilt "chr" function while in C# it calls:

      public static char Chr(byte src)
      {
        return (System.Text.Encoding.GetEncoding("iso-8859-1").GetChars(new byte[] { src })[0]);
      }

I'm sure there's some overhead to calling this 16 million times.

<comment><USER6> That may not even be the biggest flaw; using DateTime.Now as the timing mechanism for small benchmarks is pretty inaccurate because the resolution is rather poor.

The recommended way is to use System.Diagnostics.Stopwatch, since that uses the CPU's built-in high-performance timer (HPET).

<comment><USER2> It also doesn't do any warm-up (run the code a few times untimed) which puts the JITer at a disadvantage.

</comment></comment></comment><comment><USER7> What I found the most interesting was how quickly Miguel de Icaza was to post on the message, trying to get involved with helping improve the performance. I'm not familiar enough with the original poster, nor with opensim, so I don't know of this specific developer is someone the whole Mono community is keeping an eye on. Regardless I find it quite encouraging that the main public face of Mono is always keeping an eye out to help the community.

<comment><USER8> It's a PR thing more than an actually-helping thing. For example, the OpenSim developers had a problem where memory use exploded rapidly on heavily-loaded regions running under Mono, to the point that they had uptimes measured in single-digit hours, yet the same regions running the same code and workload under .Net were just fine. Miguel de Icaza's response was to run a totally idle region for 24 hours under both Mono and .Net, produce pretty graphs showing that Mono used less memory, and claim that the problem didn't exist. The developers pointed out the flaws in his tests, but he never corrected his statement or helped to find the actual problem.

</comment></comment><comment><USER9> I'm trying to figure out what piece of the puzzle I'm missing. I converted the script to java, using apache's RandomStringUtils.randomAscii, and I get:

With StringBuilder: 2.61 seconds With String Concat: 3.03 seconds

I have to assume there's another loop running these, but I'm not seeing it. Each dictionary has 1 million elements at the end.

I just implemented it inside a junit test, here's the class:

<http://pastebin.com/sFZjA1p2>

Turns out java performance isn't bad at all.

EDIT:

I'm a dumbass, was converting nanos to full seconds. Post has been edited.

<comment><USER2> Strangely your StringBuilder version seems to really slow down for me at around iteration 6000000. If I replace the repeated use of uuid.toString with `String uuidStr = uuid.toString()` it works fine. Looks like the performance of toString differs between versions.

</comment></comment><comment><USER10> It would be interesting to run these numbers again (this article was from 2009) to see if newer runtime/JIT is any faster/slower.

<comment><USER11> And if it isn't, that would make it even more interesting and unexpected.

</comment></comment><comment><USER12> This article is from April 16th, 2009 !!!</comment>


Anyone else think that the constant Apple jabs at I/O are really poor form? - <AUTHOR>

Don't get me wrong, Apple's flogged the condescension horse nigh into oblivion with their Get a Mac campaign, and there's some perverse satisfaction in seeing them get theirs. But, really, Google?<p>"It turns out that on the Internet... (yelling) people use flash!"<p>"We've discovered something (whispered) it's called the internet!"<p>"This isn't some kind of 'push notification' service that tries to make up for not having real multitasking"<p>I think it's right that Google point out where their products trounce the competition. I think the attempt to be pithy is just coming off as petty. If your products are better, people are going to buy them instead, that's your vindication. What are they trying to prove? <comment><USER2> I think it's fantastic. I like Apple. I like Google. As an iPhone/iPad user, I think I'm going to benefit _enormously_ from the genuine competitive pressure Google will apply.

The more direct and pointed they make it, the more likely it is Apple is going to respond.

<comment><USER3> I agree. Of course, we also benefit from everyone playing along (Google Maps on the iPhone, for example). But I think we need to have more all-out competition between the big companies in the mobile market.

When everyone plays it too-nice, we end up with situations like the current cell provide market or cable provide market: essentially rackets of collusion that occurs passively (through a refusal to compete hard) instead of actively (through smokey backroom meetings)

</comment></comment><comment><USER4> Those are truly tame quotes. They could go far stronger and I wouldn't think it's a bad thing.

Google should give as hard as it gets. Apple dishes it out very rough, and Google should fire back. These are technical put downs, not personal. And they're honest, not FUD.

<comment><AUTHOR> I suppose I should clarify. I like competition, and I think it's great that Google's driving a tank through the ol' walled garden Apple's got going.

It's not that their comments are unkind or harsh that gets me, it's that they're weak. Some of the things that have come out of I/O this year have been serious jaw-droppers. Wifi tethering, wireless sync, Flash, speed boosts akimbo, and most of all, this feeling of "everything just works together everywhere" that you don't get with Apple's equivalent. That's the king hit. That's the brown trousers moment.

"Hey, Apple, heard of the internet?" just sounds to me like impotent nerdrage.

For what it's worth, I think the speech at the start was spot on. ("If we don't act, we face a Draconian future where one man, one company, one device, one carrier would be our future. That's a future that we don't want.")

</comment></comment><comment><USER5> When Apple takes jabs at MS we applaud. When Google takes jabs at Apple, we boo?

I think that Google's identification of a 'competitor' gives them alot of internal momentum. Hate, wether legitimate or good natured, is powerful for an organization.

<comment><USER6> When's the last time you can remember them doing that? I think they've moved on. Sure, they make a few jabs here and there, but from what I've heard it was just one slight after another towards Apple following every new product they announced.

<comment><USER5> This is true. I completely agree that the presentation took it from 'good natured fun competition' to 'F __* apple.'

</comment></comment></comment><comment><USER7> This is typical competitive business behaviour. I don't see a problem with it as long as it doesn't go overboard and I don't consider this to be the case here.

People tend to choose between competing products based on comparisons so the perceived value of the android platform would be based on how it compares to the iphone platform.</comment>


Oracle has paid Google more in legal fees than it could win in damages - <AUTHOR> http://news.techeye.net/business/oracles-google-java-show-trial-cost-more-than-it-couldve-won

<comment><USER2> Perhaps its me being cynical (or ignorant), but I always say that the only real winners of every legal battle are the lawyers.

<comment><USER3> Yes, layers make money. But the case isn't about just money, it's about protecting rights and setting precedence.

We unfortunately have a system that requires a large monetary allowance to pursue or defend legal matters. But that doesn't mean you should be discouraged from protecting your rights because of it.

<comment><USER4> Reposting a dead post by FixThisPOS:

The problem is that these are bullshit "rights" to things that are not supposed to be patentable.

A patent does not define "intellectual property", especially today.

</comment></comment></comment><comment><USER5> I think most of the folks overlook one key point - which is the fact that this was free publicity for Oracle. Some would say in a bad way, but that is if you think purely from ability to use/improve open source software(which I agree). However I also feel Oracle was in this not just from that angle but also to show to the world that they are the owners of Java(sort of). When they bought Sun, in essence they did become owners of Java (in a way). But this case has probably done more to broadcast this message that than they could have done using ads. Most of the folks know Oracle as the database company - this case helped broadcast Java linkage of Oracle. As they say, sometimes bad publicity is better than no publicity(you reach audience which you would never reach or need to spend lot of money to get similar results).

<comment><USER6> That is bad publicity for Java not good publicity for Oracle.

<comment><USER5> Look at from all those IT mangers/decision makers point of view at big corporations. And there is lot of Java there in those corporations. They previously may not have known that Oracle is linked with Java(in a big way). Now they know.

<comment><USER7> honestly, as a poorly informed IT manager, i'd be more afraid that java costs money to use, and would end up either wasting a lot of time researching licensing information or straight up trying to move away from java

FUD is the only kind of bad publicity.

<comment><USER8> I had a question along those lines come up recently where I work. Someone had heard a little about the lawsuit and asked if there was a concern that Oracle was suing organizations that used Java. The person I spoke with admitted that they knew almost nothing about the issue, just that Google used Java and got sued; and since we use Java in some cases could it mean that we were open to the possibility of being sued by Oracle.

<comment><USER9> Although vanishingly unlikely, I don't think this is a bad question. You'd have to be big enough to somehow threaten Oracle. Not many companies fit that bill.

</comment></comment></comment></comment></comment></comment><comment><USER10> I could be wrong but assuming Oracle won, besides damages wouldn't they have been inline to collect ongoing licensing fees from the Android handset makers?

</comment><comment><USER11> When you move into the new school/industry, beat up on the largest kid, just to make point and precedent. Problem is that the kid, had support of administrative staff. I bet that Oracle thought through this gambit and saw this as a worth while tactic anyway.

</comment><comment><USER12> People love to focus on the money aspect, but I'm interested in the content of this damages claim that was apparently accepted by the court. Unfortunately, I can't seem to find anything about the specifics of those claims.

</comment><comment><USER13> It's not about the money. It's about protecting intellectual property and setting a precedent. One does not always fight a case to gain money. It is also about promoting ideas and values and prevent their degradation. Although in this case Oracle's case is crap.

</comment><comment><USER14> * assuming it doesn't win on appeal.

</comment><comment><USER15> This calculus denies any value that may accrue from legal precedent.

</comment><comment><USER16> I think they are underestimating Larry's abilities.

If Oracle was successful it would have set a precedent that could've resulted in them collecting royalties from other companies. A measly 300K is worth that gamble.

<comment><USER17> Agreed, though the gamble was more than 300K, I am sure their own legal fees was much bigger than that.

</comment></comment><comment><USER18> I think #EpicFail fits the description.</comment>


Do You Live in a Bubble? A Quiz - <AUTHOR> http://www.pbs.org/newshour/rundown/2012/03/white-educated-and-wealthy-congratulations-you-live-in-a-bubble.html <comment><USER2> I like this because it highlights a disparity that is ignored by the mainstream, who like to paint everything as White vs Black/Hispanic.

He points out a gap that crosses racial lines (in the sense that both sides contain a lot of Whites). It makes a nice counterpoint to the usual "how privileged are you" quizzes.

</comment><comment><USER3> 25 questions can only paint broad strokes. Given that it's on pbs.org, it's probably best at gauging how much exposure to "archetypical" America the PBS / NPR demo possesses.

<comment><USER4> I think it's more of a teaching tool, given that they have the "Why is this question here?" link. You see the statement, click the link, and realize that some assumptions you made about how the average American lives are off base. I doubt the final score matters much at all.

</comment></comment><comment><USER5> How many times do I eat at Denny's? Have I ever bought a pickup truck?

Is this a joke?

<comment><AUTHOR> No, I think this is the point, that there are groups so isolated from "American culture at large" that they only see it as a joke or with disdain.

<comment><USER5> Being in a bubble away from fast food and television is not a problem with education, it's a product of it, and being "snobby" in this sense is the perception of those who make poor decisions despite evidence.

This guy wrote a book and made up a catchy quiz to support his arguments.

<comment><USER6> How is buying a pickup truck a poor decision?</comment></comment></comment></comment>