Microtubules: was Penrose right? - <AUTHOR> http://www.sciencedaily.com/releases/2014/01/140116085105.htm

<comment><USER2> WP article: [http://en.wikipedia.org/wiki/Orchestrated_objective_reductio...](http://en.wikipedia.org/wiki/Orchestrated_objective_reduction)

Excerpt:

> The Penrose–Lucas argument states that, because humans are capable of > knowing the truth of Gödel-unprovable statements, human thought is > necessarily non-computable.[15]

</comment><comment><USER3> Hammeroff's ideas are interesting and I would like to subscribe to his newsletter.</comment>


Tesla drops $35k price reference from Model 3 page - <AUTHOR> https://arstechnica.com/cars/2018/07/tesla-drops-35000-price-from-model-3-page-insists-plans-havent-changed/ <comment><AUTHOR> Also note that Tesla will soon hit the production threshold for the federal tax credit. With this revelation (the 6-9 month delay for base models), it's pretty clear that no one will get a Model 3 for $35k and the $7k tax credit. IIRC, the tax credit will get cut in half after this year and will then disappear a year or two later.

</comment><comment><USER2> They got the people with the $35k, free credit, now drop the $35k model. Tesla dropped the cheapest marketing models before, so this was to be expected and predicted my some analysts on seeking alpha.</comment>


Ask HN: Do you host paid video content? - <AUTHOR>

What technologies do you use? Which CDN (if any)? <comment><USER2> We host paid video content. We support pay-per-minute, pay-per-view, and a variety of DRM technologies.

We offer native "paid video" streaming to Android, iDevices, and all flavors of personal computer. We support the current HTML5 video stack, including WebM. Our datacenters run Wowza Pro, IIS Media Services, Windows Media Server, Darwin Streaming Server, and other less well known services. We don't make customers share a slice of "a server", we're providing hierarchical video caching and distribution across an International footprint for even our $19.95/month customers.

We are a CDN -- or a VDN, actually:

<http://www.advection.net/>

[http://www.microsoft.com/windows/windowsmedia/forpros/servic...](http://www.microsoft.com/windows/windowsmedia/forpros/service_provider/hosting/premier.aspx)

We like helping startups, so do Edgecast and BitGravity. If you don't need quite as much flexibility, Limelight's got great video infrastructure, while Akamai's the largest scale if you've got the budget.

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

<http://www.bitgravity.com/> (home page is Flash)

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

[http://www.akamai.com/html/technology/products/streaming.htm...](http://www.akamai.com/html/technology/products/streaming.html)

</comment><comment><USER3> I always recommend Brightcove (<http://www.brightcove.com>). It's relatively cheap and has an amazing feature set. Everything is customizable and accessible via an API and even works in sans-Flash environments like the iPhone.

<comment><AUTHOR> $499 for 250GB BW seems a bit too much.

<comment><USER3> It is, but you're paying for the player / CMS / advertising tools as well. It's a lot more than just a CDN.

</comment></comment></comment><comment><USER4> If you are hosting paid video content then you probably don't have so many people accessing your content simultaneously, so hosting it yourself is not that difficult? I rented two servers at hetzner.de a few years ago.

49 Euros per month, 5 GB of streaming included, afterwards 6,90 per TB. As a streaming server Wowza is offering great software and service, the license was less than a 1000 $. With this setup you can get away for less than a hundred Euros per month and stream 10 terrabytes from two machines and can add easily more machines, when necessary, or use AWS as a fallbacksystem for trafficspikes. Beats pure AWS-Hosting by a wide, wide margin, at least it did for us...

</comment><comment><USER5> Might I ask who you are and why you are asking? I get enough phone calls from CDN sales people that I don't want to give them more ammo or a bigger target lol

<comment><USER2> > _I get enough phone calls from CDN sales people_

And PS... we don't have _any_ of those.

We're all devs or sysadmins and prefer time-shiftable email, so you'll never get a call from us unless you ask.

</comment></comment><comment><USER6> We use Bitgravity and could not be happier.

<comment><USER7> Revision3 and Break have switched to 3Crowd. Using Bitgravity and other CDNs all managed by 3Crowd. Must be something in that, huh?

</comment></comment><comment><USER8> At TekPub we use Amazon's CloudFront, it includes streaming (using Adobe's streaming server) and also allows for authenticated content. We do about 1-3 TB a month through it with basically no issues and pay less than $500/month even at the high end of that range.

<comment><AUTHOR> Amazon CloudFront does not provide any security against copying your rtmp/http stream and paste it in any other website.

<comment><USER8> It most definitely does. You can authenticate using a token that only allows access via that url for a set period of time and also from a set range of IPs.

edit for link: [http://docs.amazonwebservices.com/AmazonCloudFront/latest/De...](http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/index.html?PrivateContent.html)

<comment><AUTHOR> "You set the Amazon S3 ACL on your objects so that only you and CloudFront have read permission for the objects. This means that end user access to the objects can only be through CloudFront."

The ACL is for the S3 and not the CloudFront.

Don't take my word for it:

[http://developer.amazonwebservices.com/connect/thread.jspa?t...](http://developer.amazonwebservices.com/connect/thread.jspa?threadID=49757&tstart=0)

[http://developer.amazonwebservices.com/connect/thread.jspa?t...](http://developer.amazonwebservices.com/connect/thread.jspa?threadID=40080&start=15&tstart=0)

[http://developer.amazonwebservices.com/connect/thread.jspa?t...](http://developer.amazonwebservices.com/connect/thread.jspa?threadID=40080&start=0&tstart=0)

Edit: The signed URL protects the "copy and paste" but not the "easy" ripping.

<comment><USER8> If an authorized end user (meaning they have a valid signed URL) is ripping the content I don't see a way anyone could stop that. If nothing else I could easily just record my screen with a screen capture program. :)

<comment><AUTHOR> Yes, but there's a difference in capturing the video one at a time or run Orbit and rip all the movies at once.

</comment></comment></comment></comment></comment></comment><comment><USER9> After having the same question and failing to find a good service i developed www.videolla.com for exactly this. It still not launched but feel free to get on our waiting list - i will be sending free invites soon.</comment>


JavaScript Strategies at Microsoft with Scott Hanselman - <AUTHOR> http://javascriptjabber.com/071-jsj-javascript-strategies-at-microsoft-with-scott-hanselman/ JavaScript Jabber Show <comment><USER2> FYI, the current policy on IE seems to be that they end major upgrades when a version of Windows enters Extended Support (April 2009 in the case of XP) and they support _all_ versions of IE ever released for a version of Windows with security updates until that version of Windows exits Extended Support (the infamous April 2014 date in case of XP). I personally reported a security bug in IE6/7 myself which got fixed recently for example.

</comment><comment><USER3> /rant

Contrary to what Scott's saying here, I think the ASP.Net team have gone far too far down the rabbit hole.

I was doing an interview a few weeks back and part of the interview was a technical test to code up a little website. I'd never actually created a new project using VS 2012, just an accident of history. Part of it was an admin interface to show the files in the project.

So a few minutes later, fire up the new admin page and boom, a colossal amount of random js files, css files, etc. that had been 'helpfully' added to the project. Both of us were perplexed at what the sheer quantity of crap that had been added.

It's just got a little silly now. When MVC came out it was great because it didn't include much baggage, the only slight annoyance was the MS- WEMUSTDOEVREYTHINGSUPERFORMALLY-SPEAK written AccountController.

Now it's just, delete, delete, delete, delete, delete, delete, delete, delete, remove reference, remove reference, remove reference. No I don't want to use 'unobtrusive' javascript, a term invented to fix a problem only you caused because you really can't write javascript. In fact I don't want you to create anything at all javascript related thanks. And I pretty much ignore most of your HTML binders because you're not very good at HTML either.

And _if_ I want to use jQuery UI, which will usually only be for the datepicker, I really don't need all those other jQuery UI files do I? They even know they've included too much as they try and hide it all in folders.

And who's bright idea was it to include Modernizr? It's not going to be needed unless you're in the tiny amount of MS web developers who actually code for public websites using HTML5, compared to the massive amount of developers coding internal websites on a full MS stack where some people are stuck on IE8 as they're still on XP.

The people who need it are going to know about it, so why add it in the first place?

Or start with an empty project and then have to cut and paste a bunch of stuff you actually need.

And every version they seem to change their mind where the damn error catchers are going to be. And still not work properly, rely on redirections, etc. Gah.

There's a happy medium which they seem to be having an extremely hard time getting to. Or I have OCD about pointless code files that I'm not using. Probably the latter and I'm a small minority of getting frustrated with it.

/rant

I guess at least it's not as bad as before NuGet where they'd include a version of jQuery which was immediately out of date.

<comment><USER4> There is a empty MVC and Webforms project. Your wall of text of rant is basically due to your own ignorance. The option for empty project is there. I can't figure how anyone can miss it.

<comment><USER3> But the empty one has nothing in it. I want the happy middle, not EVERYTHING or NOTHING.

So not my ignorance as you delightfully say to a person with probably vastly more experience than you, but my frustration. I would actually like to see the way they think you should do things with each new version.

<comment><USER5> There is one called "basic" that is your happy middle: [http://i.imgur.com/gIllZf5.png](http://i.imgur.com/gIllZf5.png)

<comment><USER3> Well, now I feel silly.</comment></comment></comment></comment></comment>


The First Law of Complexodynamics (2011) - <AUTHOR> http://www.scottaaronson.com/blog/?p=762 <comment><AUTHOR> I often wondered that entropy is often not the right measure which you want and something like what he describes as complexity is actually what you want. It's the first time that I have heard of this concept and that it's formally defined as sophistication or logical depth. The only downside is that this is not computable.

This lead me to the question, whether there is a simpler variant of complexity (with similar properties) which is computable: [https://math.stackexchange.com/questions/2387690/simple- comp...](https://math.stackexchange.com/questions/2387690/simple-computable- approximate-complexity-sophistication-for-a-string)

<comment><USER2> The approach I've long thought would bear fruit turns out to be a dumbed-down version of Aaronson's.

Imagine a "meta-sequence" whose elements are features of the original sequence in question, then take the entropy of the meta-sequence. Different features yield different kinds of "interestingness".

For example, you could form your meta-sequence with a histogram of the original sequence.

Original: A B A A B B A B

Meta: 4 4 (4 As, 4 Bs)

Entropy of the meta sequence is low.

But instead of just looking at the values of the PMF or PDF, you might want to look at things like transition probabilities between different elements in the original sequence to capture the fact that

A A A A B B B B and A B A B A B A B

have more boring transition probabilities than

A A B A B A B B

And so on; one can imagine having an ever-more-sophisticated array of features to look for when forming the meta-sequence. But Kolmogorov complexity seems to cut more directly to the heart of the matter.

If I'm specifically looking for something computationally feasible, maybe I would do a weighted sum of the entropies of k-order transition matrices, from k=1 to some limit.

</comment></comment><comment><USER3> I think it looks a lot less paradoxical if you ask "why do interesting things (seem to) have 'intermediate' levels of entropy?"

It is not exactly the same issue, because the original formulation suggests that everything with an 'intermediate' entropy is interesting, which appears to be a tougher case to make, though I imagine there's some definition of 'intermediate' and 'interesting' from which an argument may be made.

</comment><comment><USER4> > Entropy increases monotonically from left to right, but intuitively, the > "complexity" seems highest in the middle picture: the one with all the > tendrils of milk.

Complexity only increases from the perspective of the observer. If you shift the frame of reference to individual particles, you have more local complexity throughout the system when the cream is completely mixed into the coffee (the third stage); even if there are less interesting aspects to the overall system from the perspective of the outside observer.

This indicates that complexity is not the term we are looking for to describe the law/phenomenon, as complexity is a factor of reference.

> But today, in between, the universe contains interesting structures such as > galaxies and brains and hot-dog-shaped novelty vehicles.

I find Sophistication, "interesting", occurrence of novelty, or distinct structures to be a more accurate way to describe the three glasses of coffee & cream. Novelty is also a factor in intelligence, as is coherence.

</comment><comment><USER5> I thought that sounded familiar. Geoffrey West gave a talk there, delivering a much better explanation of his research on socio-biological scaling, growth, and sustainability than thepop sci treatments occasionally posted here.

[https://www.youtube.com/watch?v=DFFVSvAr7Wc](https://www.youtube.com/watch?v=DFFVSvAr7Wc)</comment>


The Prolog Story  - <AUTHOR> http://kylecordes.com/2010/the-prolog-story <comment><USER2> I used to use Prolog a lot on R&D projects at SAIC but since becoming a consultant, few customers have wanted work done in Prolog (it has been about 5 years since anyone has paid me to do Prolog).

Prolog is awesome for _some_ types of problems like graph operations, ad-hoc rule systems, planning, etc.

If you want to play/learn, I would recommend Swi-Prolog. Jan Wielemaker does a great job writing and maintaining Swi-Prolog. The semantic web libraries and other Swi-Prolog libraries are very good stuff!

<comment><USER3> Thanks for weighing in - I am a somewhat frequent visitor to your blog and websites. This type of discussion (eg, using uncommon or less well-known languages to be more productive or reason about an approach to a problem domain) comes up here on Hacker News frequently.

I have been searching for new work opportunities that would involve more freedom in programming language choice (specifically allowing me, as the developer, to explore tools like Prolog, Lisp, and Ruby as appropriate). Sadly, this has been somewhat fruitless in my geographic region. There is a (probably well-founded) desire on the part of companies to use what we can refer to as "lowest common denominator" tools (Java, C#, Oracle, MS SQL Server) with the occasional upstart using Ruby/Rails. When I say LCD tools, I don't mean to denigrate those languages/platforms, merely point out that companies seem more comfortable knowing that there is a large pool of potential programmers available with those skills.

PG has weighed in on the side of starting your own company and using more powerful languages as a competitive advantage (the whole blub/magic of Lisp set of essays). It seems that few companies see programming language as competitive advantage or (based on your comment) be interested in hiring consultants such as yourself to implement higher level software that leverages these uncommon languages.

I'm curious - have you had projects where you felt that Prolog or Lisp represented a "better" choice than Java or Ruby but had customer requirements that specified language choice upfront? Have you "pitched" Prolog or Lisp to customers, maybe saying something like "ah, using Prolog here would require only 20 hours of my dev/consultant time, but using Java will require an 80 hour solution"?

I'm quite interested in using Prolog, Scheme, or Lisp at the "day job" so hearing any of your thoughts might help better prepare my own internal pitches . . .

<comment><USER2> Hello Tom, first I should say that Ruby is my favorite language and fortunately there is a lot of demand for Ruby development. I don't really pitch customers on language since almost everyone I work for is very tech saavy and know what they want they want to use.

If you want to work in a particular language such as Common Lisp I suggest writing a useful open source project and that could lead to work in Lisp, and at the least you will learn something and have fun.

</comment></comment></comment><comment><USER4> I like this sentence: We cut the cost/time of this implementation by 90% or more, not by coding more quickly, but by thinking more clearly.

I think that this is valid for most projects in any language.

<comment><USER5> I've always been a fan of the "Don't just do something! Sit there." approach to work. Not only do I sometimes find really clever ways around a problem, or weird issues that wouldn't immediately be apparent, I also save a whole bunch of potential RSI :)

Added benefit: When it is time to start coding, you can amaze your coworkers by brain dumping a decently coded solution at typing speed.

<comment><USER6> That's one of the most understated advice. Quite often managers like to see lots of code, or developers have screwed up incentives and get payed by the lines of code. If a manager walks by, their heart gladdens when they see you banging on the keboard like mad -- to them that equals to "work being done". They fail to realize that sometimes that equals to "more un-necessary garbage added to the existing pile of code" that will eventually make the product unstable, brittle and hard to maintain.

Sitting there with a notepad and a pencil thinking about the problem is when I find I actually solve the difficult problems not when I type furiously at a keyboard.

<comment><USER7> Too right.

One day myself and another guy were debugging a piece of code by staring at it, figuring the logic out in our heads and pitching theories back and forward. The boss walked past, saw we were sitting there "doing nothing" and told us to do some work... ugh!

<comment><USER5> I have no idea how this works, but it does: when sharing a screen with someone _and_ doing work: if one of you is pointing at something code-looking, the boss reverts to thinking you are working. This works even if you are discussing non-work things... its not content they care about but form :/

</comment></comment></comment></comment></comment><comment><USER8> Learning Prolog was one of the most exciting things about getting a C.S. degree. It's vastly underrated, though admittedly not very useful in real- life.

<comment><USER9> I once worked with a guy who was using Prolog to develop a system that devised optimal cargo hold layouts for shipping barges. Seems fairly "real-life" to me.

<comment><USER10> Optimal packing problems are fun 1-hour programming contest fodder - so many problems that you might solve in Prolog are trivially written imperatively or functionally as combinatorial or permutational recursive searches with pruning - but they are such a small kernel of a real-world application that I don't think they justify the complexity of linking in another language, runtime, etc.

Where you're dynamically building up facts and clauses, and you need more general solving logic at run time, then I think Prolog is more warranted. But that's a smaller niche, IMO.

<comment><USER11> I think you're misusing the word "trivially" by putting it in front of "combinatorial or permutational recursive searches with pruning."

<comment><USER12> Trivially in this context means the program can be written without discovering a new algorithm first.

<comment><USER11> Considering that it still requires a significant amount of code that the Prolog solution would not require, and that code will have to be tested and debugged, I don't consider it "trivial" in any way I use the word. If we were talking theory, maybe, but we're talking implementation.

Consider that we know, and have known for some time, proper ways to manage dynamic memory. We still consider doing it correctly in practice not trivial and consider automatic garbage collection a productivity win.

<comment><USER13> From what I can remember of being an academic researcher (it was a while ago) the term "trivial" was indeed used to indicate something that wasn't of any real research interest.

This does indeed annoy people who put a lot of work into building complex systems that actually do useful stuff.

<comment><USER11> I do systems research. We only use "trivial" if something is so easy as to be an afterthought. If you're talking theory, then, fine, solved problems are "trivial." But we're not talking theory.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> This story sort of reminds me of another that was reported here. See the link referred to in <http://news.ycombinator.com/item?id=756873>

</comment><comment><USER15> Ok, so Prolog is nice. We know that already. But the story lacks any real content... It's really just: we used Prolog, it seemed to be a lot faster to code and the customer was happy.

</comment><comment><USER16> Does anyone else have any war stories about using Prolog in their day jobs? It's a tool I'm always on the look out to use to simplify some of my more complex tasks, but so far I haven't had any luck in that regard.

<comment><USER17> I once had a huge pile of Oracle PL/SQL to take care of, which was written for performance rather than ease of maintenance and used a lot of session level global data.

PL/SQL doesn't give you nice stack traces when you have an error, I just knew the entry point and the place where the error occurred.

Even knowing the data coming in to the entry point, use of the globals meant that you often couldn't know for sure what route the code would take.

I wrote a primitive PL/SQL parser (in Perl) to turn the call tree into Prolog rules, and then used Prolog to give me the possible routes between the entry point and the error location, making debugging much easier.

<comment><USER16> Wow, that sounds like a serious undertaking. How much PL/SQL are we talking about here? How long did writing the Perl -> Prolog solution take?

<comment><USER17> I think it was about 60Mb of source, around 1000 packages and stand-alone procs.

Basically the perl pulled a list of scoped function names from the DDL, did a text index on the executable code, and searched the index for references to those functions, creating a list of [from.function, to.function] pairs that I fed into prolog.

</comment></comment></comment></comment><comment><USER18> It was the similarity to prolog that first got me excited about erlang, I thought I'd found a language that used the same principles that could be used in the real world. Then I discovered there was no backtracking...

</comment><comment><USER19> So, in other words, the customer's system can now be described as being "a client/server application written completely in [not Prolog] with SQL Server behind it except for this ONE piece - THAT one is in Prolog!"

Next question - Who's going to maintain it?

I mean, props for using Prolog to tackle the complex problem and save gobs of money/time, but doesn't an approach like this seem _really_ risky?

</comment><comment><USER20> Are there things prolog can do that embedded solvers cannot? In .net, solver foundation, <http://code.msdn.microsoft.com/solverfoundation> , is a great fit for solving from a set of rules. And I believe most languages can embed some sort of rules optimizing engine.

</comment><comment><USER21> Is there some up-to-date implementation of micro-Prolog?

I find its syntax nice and lispish :)

[edit]s/it's/its/

</comment><comment><USER22> I've used Drools a fair bit in my current job but I've never learnt much about prolog. Can any one summarise where prolog would work better or provide additional features?

</comment><comment><USER23> Great takeaway quote: "Don't be the person who only has a hammer."</comment>


React Suspense - <AUTHOR> https://react.christmas/2019/5 <comment><USER2> I don't know that I will ever be happy with lazy loaded UIs over a more traditional "Deliver everything first, update later" approach. Hopefully Suspense is a step to solving the problem.

I live in Australia, so there's a perceptible ~300ms delay for every action in react-like loaded later UIs that aren't hosted in Australia, which is most of the tools that I use. They feel clunky and broken, and the amount of times you miss-click because something pops in suddenly and moves the button you wanted down the page. I don't think it's the UI they think they've built.

I don't think it will ever be good enough to throw 20 requests and wait for everything to update, bounce the page around and at long last be intractable. I would rather receive a 2mb page right now, than a 200kb page that slowly grows to a 2mb page over the course of 20 components individually loading themselves.

<comment><USER3> > a 2mb page right now, than a 200kb page that slowly grows to a 2mb page over > the course of 20 components individually loading themselves.

Isn't the point that the 200kb is static code that can be served immediately, while the rest can't? Regardless of whether the remaining 1.8mb is built on the server or client, it still isn't available "right now"

<comment><USER4> I think what he is saying is since there is a network delay of 300ms for every request, it's better for him to make a single request for a large file than to have to make 10 requests for 200k files and wait 300ms * 10.

<comment><USER5> If every requests adds this fixed latency, it would be much better to try and parallelize the requests vs bundling everything.

<comment><USER4> True, but these requests cannot be made simultaneously. The code is loaded only when the UI needs it.

<comment><USER5> If the files can be combined, the requests can be made simultaneously

<comment><USER2> You're right, and HTTP/2 was supposed to be a major boon here, but the problem is actually that the UI itself only loads these things once they've been rendered by the framework which is often after another component has loaded them, and even if they can be ran in parallel the response times can still vary, causing the UI jiggle you often see.

This isn't really a problem unique to high latency either, if you have a patchy connection in transit or for some other reason, the UI will suffer.

<comment><USER3> > but the problem is actually that the UI itself only loads these things once > they've been rendered by the framework which is often after another > component has loaded them

That just sounds like bad front end coding. A good framework used properly would not have that issue.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> So I'm not entirely clear on the advantage that Suspense has over the typical pattern of loading data in componentDidMount, and just having a bit of logic that checks whether your data has loaded or not and renders the spinner or the actual contents. It's not really a hard pattern to implement, though sure, it takes a few extra lines. Seems like the <Suspense> component just kind of abstracts this a bit? What am I missing?

<comment><USER7> I had the same question as you, but I think that the advantages are that (1) the parent is in control of the spinner, but (2) the child is in control of the data.

In most apps I've worked with, either (1) or (2) doesn't hold.

(1) The child is in control of the spinner:

        <Parent>
            <Child />
        </Parent>

        Child() {
            if (!data) {
                return <Spinner />
            }
            return <Data />
        }

(2) The parent is in control of the data

        <Parent>
            { state.data
              ? <Child data={data} />
              : <Spinner />
            }
        </Parent>

With Suspense, the child fetches its own data, but the parent is in control of the spinner:

        <Parent>
            <Suspense fallback={<Spinner />}>
                <Child />
            </Suspense>
        </Parent>

So the Child doesn't need to know the details of how the parent app wants to deal delays.

Suspense then seems to make it easier to parallelize the data requests, and have a spinner at the lowest parent with a child waiting for data.

<comment><USER8> Also on this topic, the beta React lets you treat loading of both child components and or child data dependencies at a chosen level, bringing them in line with Error Boundaries.

I think going all on on components is very easy to reason about. Same direction React Router went with component based routing making it very easy to for example have:

\- logged in user portal \- catch all errors and show a fallback UI \- lazy load child components by routes with fallback loader UI \- use a loader fallback potentially for data dependency too.

I mean, it's not perfect and I can see issues people are mentioning, but it feels pretty good to develop with.

Add to this styled components and everything is so component based it's really nice. One main paradigm for the whole front-end.

I don't think it's the best thing ever, but I've enjoyed the newer approaches when working with them.

</comment></comment></comment><comment><USER9> I feel like Suspense has been in development for a decade now. I know, I know.. They should not release it until they are comfortable about its stability. But still, all the teasers and pushed back roadmaps are not helping at this point.

This is because I feel like it's gonna be great for our apps and can't wait to try it on production though.

<comment><USER10> The joke is in the name, isn't it?

</comment></comment><comment><USER11> Interesting introduction to suspense, didn't know about it. A word of caution might be that it is still an experimental feature [0], so you should probably not be throwing it into production just yet. But when it gets released as stable, it could really improve a lot of sites!

[0] [https://reactjs.org/docs/concurrent-mode- suspense.html](https://reactjs.org/docs/concurrent-mode-suspense.html)

</comment><comment><USER12> It's weird how the article mentions that before Suspense there was a waterfall issue. But as far as I understand Suspense introduces the waterfall issue. If you have nested components that need data, the data has to load serially rather than in parallel which creates a waterfall and React devs don't seem to know how to fix this issue.

<comment><USER13> There is no good way to to solve it other than just to use the appropriate tools like react-saga or placeholder state for components.

If you try to make nested components load at the same time consequences can be unpredictable, suspense lacks fine grained control so it is basically a convenient shortcut, same as react state mixins were at the time.

</comment></comment><comment><USER14> I hate tutorials that don't explain you how something is actually implemented in the framework, as if you don't need to know your own tools.

I'm inferring suspense is based on exceptions to interrupt unrenderable components, but it would be nice if the author told me.

<comment><USER10> It's not meant to be a quality tutorial. It's a spammy content-marketing campaign that this company are running. They plan to publish 288 of these in a single month.

They've already been banned from posting these to a site similar to HN.

</comment></comment><comment><USER15> React Suspense, with hooks and fp-ts has given our team a massive leg up in terms of rapidly building out our products new front ends. Being able to combine typed functional programming with the functional-like abstractions given to you by React nowadays makes for a very nice, very straightforward to debug app, without bringing in dozens of dependencies to get this behaviour.

Ant Design has also been a game changer for us.

<comment><USER16> How interesting! I've been wanting to use fp-ts for a while now. How did you manage to convince your team to give it a go. It's certainly very different than other orthodox approaches to React (or TS for that matter)?

Have you had any particular problems / downsides of using it?

And lastly have you considered ReasonML instead? That's the other thing I've been following closely but it never feels quite ready to start working with, for someone not well versed in FP that is.

<comment><USER15> To your first question: simply put, the easiest way was slipping in usage of Either<L, R> for handling "successful failure" states; error handling in Typescript is still not fine grained enough, even with async functions (maybe even especially), so Either and Maybe/Option have been a big help.

And once you have those, you might as well have them implement the same "interface", and now you're cooking with functors ;)

No joke, it was error handling in successful promise resolves that made it an easy sell.

I adore Reason — I use it extensively myself, but as I also adore OCaml this shouldn't be surprising. The downside is that it's a harder sell for a mostly backend team; it can definitely be used to great effect today, but Typescript for all its downsides is easier to use right now.

Speaking of downsides: the major one with fp-ts (and io-ts) is some of the inscrutability of it's more powerful abstractions for programmers who are not well versed in typed functional programming. But that's okay: just don't use them! You can get quite far with just the easy to understand concepts, and introduce things like EitherT or Task/IO and similar as the team becomes more confident with composing these data types!

</comment></comment></comment><comment><USER17> This pretty much sums up why I'm making my way away from web development in general.

<comment><USER18> I appreciated your honest opinion. I'm way too invested to move away, but I've often felt that things are getting overengineered, with the layers of complexity endlessly accumulating - real progress should be making things simpler.

That said, React Suspense looks like it's an improvement of a common pattern, simpler to write and understand. Perhaps it's achieved by pushing the complexity "down" into the library, instead of letting the user manage it every time.

My hope is that one day, all the lessons from React will be incorporated into browsers themselves, to clear the field for saner web development. Seeing how Web Components is going though, I'm not holding my breath..

</comment></comment><comment><USER19> >will become a game changer when it comes to data fetching.

Every other technology ever.

</comment><comment><USER20> This looks super cool, and I can immediately see how it'd be immediately useful in production apps both because of potential use-cases and how straightforward it seems to integrate. Is there anything similar in development within Vue land, or is this intrinsically tied to the React render model?

</comment><comment><USER21> What's the difference between this and using Apollo Graphql for requests?

<comment><USER22> Not sure what you mean...GraphQL is just the API endpoint. Using GQL or REST wouldn't make a difference on how suspense works.

You'd still query and display your data in the same way. Suspense will just be a wrapper around the component displaying the data.

<comment><USER21> Consider this code snippet using Apollo React Client:

        const Dogs = ({ onDogSelected }) => (
          <Query query={GET_DOGS}>
            {({ loading, error, data }) => {
              if (loading) return 'Loading...';
              if (error) return `Error! ${error.message}`;

              return (
                <select name="dog" onChange={onDogSelected}>
                  {data.dogs.map(dog => (
                    <option key={dog.id} value={dog.breed}>
                      {dog.breed}
                    </option>
                  ))}
                </select>
              );
            }}
          </Query>
        );

<comment><USER22> You could still wrap this in a suspense wrapper.

</comment></comment></comment></comment><comment><USER23> Are we actually doing one domain and website per blog post now?

<comment><AUTHOR> react.christmas is on its third year of publishing 24 articles in 24 days every holiday season. :)

<comment><USER24> Yes, it's pretty cool, like an advent calendar: [https://react.christmas](https://react.christmas)

Also several other topics following the same template: [https://bekk.christmas](https://bekk.christmas)

I love the different color patterns.

<comment><AUTHOR> The patterns are created by Kjetil Golid - you can see more of his work at [https://generated.space](https://generated.space)</comment></comment></comment></comment>


Ask HN: Have you ever seen Scrum work well? - <AUTHOR> I've been at several different companies in my career that have tried to use Scrum, and it never seems to work well. The funny thing is, in every case I hear managers saying the same thing: "tons of other companies use Scrum and it works great, if it's not working for us we must just not be doing Scrum right."
We end up spending years tweaking rules and processes trying to "do Scrum right" and get things to actually neatly fit into predictable sprints, and it never seems to happen, and nobody ever seems to be happy, yet the people in charge seem unwilling to try anything else.
I can't help but suspect that this is all just a silly fad, and everyone is just stubbornly sticking to it because "it's what everyone else uses" and therefore feels politically safe. But, I'm trying to keep an open mind, and of course it's possible I've just had a string of bad luck. Has anyone actually seen Scrum work well? Is there some make-or-break factor that everyone is missing here? <comment><USER2> My observation is that Scrum/Agile/<your favorite SDLC methodology here> is just a proxy for team competency. If you have a team that is technically proficient at what they do, have reasonable time management skills, and are motivated and incentivized properly, it doesn't matter what SDLC they use and they'll figure out an efficient way to succeed. At the same time, if you have a rag-tag team of developers who don't know what they're doing all the time, it doesn't matter what SDLC they are using, they are going to fail. SDLC might give some guidelines for managers to feel safe but it all comes down to understanding the economics of the team and figuring out what works best for them.

</comment><comment><USER3> I have a diferent perspective.

I work in a portuguese bank at almost 2 decades and now we use Scrum and Kanban.

For the sake of clarity when I talk about Scrum in "my bank" I use two epochs: \- b.s. (before Scrum) \- a.s. (after Scrum)

Before Scrum we work hard and we dos many things, but we didn't measure nothing so we didn't learn.

After Scrum, we work hard, we build, measure and learn.

We have performance indicators, we know where the botlenecks are, we know a team velocity and how many Functionalities IT deliver in racha month/year. We can compare the performance with other years. We can learn with our mistakes because we have data to prove it.

Scrum have disavantages, but in my humble opinion working without Scrum is a lot worse.

</comment><comment><USER4> Yes, I have seen Scrum work well. The key is to recognize it is a tool for increasing team performance, team member autonomy, and increasing organizational transparency.

It is not a product management framework that should be used to manage inch/milestones and the like.

As soon as some sort of top-down control is (almost invariably) applied, it breaks Scrum. And most organizations want top-down oversight and control, not a high-performing team that may be resistant to organizational processes that negatively impact product development while satisfying other organizational needs (like LOC metrics or something else equally pointless).

Scrum is just empirical process control and improvement. The iterations aren't just to do the next thing on the backlog, but to improve the team's ability (and speed) to create working software that satisfies business needs.

The main reasons I have seen scrum fail are:

1) The organization implements a layer of management on top of Scrum that "won't effect it", but it does, because if you don't understand Scrum/agile, modifying it usually won't have the desired outcome.

2) Inexperienced Scrum Masters who act as a team leader, when their actual defined role is that servant coaches whose goals are to protect the process from interference and the team from organizational intrusion during sprints.

3) The transparency required for Scrum to operate reveals inefficiencies or actual malpractice at higher levels, and those levels are protected by management, creating a roadblock that cannot be passed.*

As you can tell, yes I have drunk the Kool-Aid, but I have seen Scrum (and other agile implementations) drastically improve performance and software quality, but you have to have buy-in and support from the highest levels to make it a success. When the process meets a roadblock that cannot be removed, it kind of kills the whole thing.

* Personally, I have seen it reveal:

\- VPs who are actively preventing projects from succeeding (but who are protected by their level), \- Rockstar (cowboy) coders whose poor development practices (no source control, no testing, code in production) negatively impact the rest of the software teams, but as they are the CEO's buddy, nothing can be done to address the behavior, \- Database teams who successfully blame their errors on software development teams, because the Director of DB is a buddy of the President, so his word is taken over actual evidence

</comment><comment><USER5> I've worked at three places that used Scrum (and am a certified Scrum master), and while it was pretty much a nightmare all around, I did actually see it work once, on a different team in a company I worked at.

I tried hard to find out why it worked for them and not for the other teams, but was never really able to figure it out.

<comment><USER6> Sad story. I belive that you need to be working side by side in a team to understand the dynamics in it. It's probably really hard to spot who or why a team works from the outside. All the right micro-optimizations decisions taken ...

</comment></comment><comment><USER7> No, I have not ever seen it work well. I was so frustrated by its prevalence in the industry that it was one of the main reasons why I decided to leave software development and work in cyber security / penetration testing instead.

I have since returned to software dev because the fact is I love coding and development but I try to minimise the time I spend working for companies by only working short term contracts while working on side projects inbetween jobs. If one of my side projects becomes successful and I end up hiring developers then there is no way in hell I will be forcing the horrorshow that is Scrum on them. Yes, yes I know "thats not real Scrum", but that doesn't change the day to day reality of working in teams that follow Scrum, or "Scrum".

</comment><comment><USER8> I think this often comes down to why a team uses Scrum. Does the team actually see value in it and want to use it? Or are they told they have to use Scrum?

<comment><AUTHOR> Generally it's the latter, and people are just forced to use it. However, I have made an honest effort to try and see the value in it, but the whole concept of trying to squeeze everything into artificial scheduling boundaries via sprints just feels very weird to me. Invariably projects just end up spilling over from sprint to sprint, because even if you manage to break things up into small enough chunks to do a meaningful piece of a project inside of a sprint, then you still end up with leftover time at the end...and then of course you're not going to sit around doing nothing, but rather you'll go ahead and get started on the next sprint's work in advance.

So the ultimate outcome is that you have to follow a certain specific set of prescribed meetings and rituals every X weeks when the current sprint ends or the next sprint is starting, but the actual work that's happening rarely seems to follow a schedule that has anything to do with the sprint cadence.

</comment></comment><comment><USER9> Is everyone onboard the train or are there people who are not going to support it?

Was what you did before working better?

What comes out of your retros?</comment>


Economics of Bitcoin as a Settlement Network - <AUTHOR> http://nakamotoinstitute.org/mempool/economics-of-bitcoin-as-a-settlement-network/ <comment><USER2> It would need better price stability. I bought xyz for $10M USD using bitcoin.

1 hour later: I just paid $11M USD for xyz. sounds like a $1M fee to me.

So, I'd rather pay $50 to wire the money in USD.</comment>


Most common phone interview question at Google - <AUTHOR> https://crunchskills.com/most-common-interview-question-at-google/ <comment><USER2> Both solutions are O(1). The alphabet is finite. Let's say there are M different characters in the alphabet and N different characters in the string. If there is a duplicate, it is guaranteed to occur within the first M + 1 characters of the string by the pigeonhole principle. As N grows without bound, the number of characters that needs to be checked reaches a limit.

(I guess, most precisely, we should define K to be min(M + 1, N). Then the first solution is O(K^2) and the second solution is O(K))

EDIT: I assumed the first solution would compare each character to the characters visited so far, i.e.

        for i in [0..N]
            for j in [0..i]
               if arr[i] == arr[j] return arr[i]

Maybe it's

        for i in [0..N]
            for j in [0..N]
               if arr[i] == arr[j] && i != j
                   return arr[i]

That would make it O(KN). Or O(N) if we treat the size of the alphabet as fixed.

<comment><USER3> Interesting point. However, Alphabet is probably not the best example, Unicode perhaps? The upper bound in Unicode is ~ 1.1 Million, but still fixed

<comment><USER2> That doesn't make a difference asymptotically, though it obviously makes a big difference in practice.

</comment></comment></comment><comment><USER4> > This means is a magnitude faster than the previous one!

Is this right? It's a quadratic not an order of magnitude difference isn't it? And can you be an order of magnitude faster in an O notation expression anyway? Isn't an order of magnitude a coefficient? Don't we drop coefficients in O notation?

<comment><USER5> It's not wrong! For some value of N it is an order of magnitude faster. It's just a bit misleading.

<comment><USER6> For another value of N it's three orders of magnitude faster.

In the example case where s[0] == s[1], it might be an order of magnitude slower, if there's much object initialization for the lookup table.

</comment></comment></comment><comment><USER7> I used to use this question before it became too common. Any reasonably-well- prepared candidate should be able come up with the O(N) solution and the follow-up is always good for a discussion: "what if the string is huge but the alphabet is small? Eg, a DNA sequence."

There's a single pass solution that's left as an exercise for the reader.

<comment><USER4> > Any reasonably-well-prepared candidate

Isn't that the point? You say it like it's a problem, but it screens for someone who's reasonably prepared, which is probably what Google wants to do because they really start looking for the super-world-tier people they employ, because I guess that takes more time and resources.

> There's a single pass solution that's left as an exercise for the reader.

Doesn't the blog post already include a single-pass solution that works on a small alphabet?

<comment><USER7> > Isn't that the point? You say it like it's a problem, but it screens for > someone who's reasonably prepared, which is probably what Google wants to do > because they really start looking for the super-world-tier people they > employ, because I guess that takes more time and resources.

Definitely. That's why it makes a good question for the initial screening. If you can't come up with the O(N) solution, there's very little chance you'll pass the on-site interviews.

> Doesn't the blog post already include a single-pass solution that works on a > small alphabet?

It's actually two passes: one to create the set, and one more again to find the character. There's a solution you can do in only one pass through the string and one through the alphabet. Complexity is the same, but it's far fewer operations for the specific example given.

<comment><USER4> > It's actually two passes: one to create the set, and one more again to find > the character.

Those are combined into a single pass in the example in the article, aren't they?

<comment><USER8> Yea I don't understand what the parent comment wants to say. You need to have a lookup structure (even if its only a bit) and then you can do one pass over the string. The lookup or adding a character doesn't count as a pass. And there is no way to omit this anyway.

</comment></comment></comment></comment></comment><comment><USER9> I love that this question is very basic, tests only entry-level data structures, and can at least be talked and reasoned about even if you don't know the exact API of a hashmap, and YET I am sure people will find a reason to complain about this claiming they never actually need to find a recurring character in their actual job role.

</comment><comment><USER10> Congrats, it's now off the list of phone interview questions at Google.

</comment><comment><USER11> > Most peoples immediate thought would be a double for loop

Really? I've a hard time believing this

</comment><comment><USER12> Usually, part of the question is to ask about legal characters. If they tell you it's letters only, then you can get away with a pre-allocated array (and give a concrete big O answer).

</comment><comment><USER13> It's not an order of magnitude faster. The details depend on the hash table implementation and the language and the processor specifics and the statistical distribution of string sizes and whether you can make assumptions about the number of symbols being used and whether a tight double loop for a small symbol set and string size would fit in the cache and whether it would stay there long enough to make a useful difference.

Naive Big O is just as likely to be wrong as naive anything else.

I hope this isn't a genuine phone screen question, because if someone punted this at me as a pass/fail I'd fail them for being confused about how real computers and real languages work behind those nice clean-looking "if thing is in other_thing..." statements.

<comment><USER2> The second solution is safer than the first. While it will sometimes be slower, it will never be catastrophically bad. It may have a small, predictable overhead, but it will never unexpectedly bring down the whole program when you get a few unusually long strings.

When searching through a sorted list, your first instinct should be to use binary search. Your first instinct should not be "well maybe the list is always small, so linear search would be faster." Write the safe, predictable thing and save the optimizations for later.</comment></comment>


Worried About iPhone Tracking? Untrackerd Utility App Will Fix That For You. - <AUTHOR> http://thenextweb.com/apple/2011/04/21/worried-about-iphone-tracking-jailbreak-utility-untrackerd-will-fix-that-for-you/

<comment><USER2> Or you could just encrypt your backups.

<comment><USER3> This doesn't fix the problem of them being unencrypted on the phone itself which is the other attack vector.</comment></comment>


Ask HN: How do you tag AWS resources? - <AUTHOR> How do you tag your resources on AWS (EC2 instances, S3 buckets, users, etc)?
Any recommended tools or techniques (e.g. IaC like terraform)?
AWS recommend a standard format shown here: https://aws.amazon.com/answers/account-management/aws-tagging-strategies/ but I was wondering if anyone has alternative standards or best practices..
Thanks! <comment><USER2> My opinion: you shouldn't need to manually tag anything because it should be done automatically via your ci/cd.

With that said, in some cases deploying everything this way is not realistic. I have always admired Netflix's "frigga" naming conventions: [https://github.com/Netflix/frigga](https://github.com/Netflix/frigga)

I was exposed to it by working with Spinnaker which uses it. Pretty clean way to organize everything.

Here is a nice quickstart: [https://github.com/spinnaker/moniker](https://github.com/spinnaker/moniker)

> Every resource is assigned a Moniker which exposes app, stack, detail, and > cluster fields. If, for example, a Moniker is assigned using Frigga, we can > say that cluster = app-stack-detail.</comment>


OpenSSH Tips and Tricks: Beyond Secure Shell - <AUTHOR> http://www.linux.com/learn/tutorials/398593-openssh-tips-and-tricks-beyond-secure-shell <comment><USER2> Thanks, some helpful tips there. Also fun and sometimes helpful are the escape sequences '~?' to show help, and '~C' to add/remove forwards in a current ssh session. The man pages have more info.</comment>


Sergey Brin Resume (1996) - <AUTHOR> http://infolab.stanford.edu/~sergey/resume.html <comment><USER2> Contra all the chuckleheads making jokes about him never getting hired anywhere today, this is actually an extremely impressive resume for a third- year graduate student. He had a sole-author publication in a top conference already!

<comment><USER3> I wonder how the resume of Jobs, Zuckeberg and Gates would look like... But does it matter? You don't need a _resume_ to start your own company last time I checked.

A professor once told me "It's common to see 'A' grad students working for 'C' or 'D' grade students.", I think what he meant was that 'A' grade students would never take the risk of starting their own business against odds, while 'C' or 'D' students sometimes do not have that many choices, so it's easier for them to take the not-very-calculated risk.

Then again, all these guys were above average smart for sure and ahead of the time.

<comment><USER4> But then again the C and D grade students are backed by wealthy parents who can afford them slacking off. This is not to undermine any of them but, when you have a fairly soft bed to fall on when things take a wrong turn, you are more willing to take risks.

Most A grade students don't usually have the same wealthy parents to turn to for their whims and they have to struggle.

<comment><USER5> Maybe C and D have other interests than just studying? Maybe they will get something out of that traded time that the A won't, which will give them an actual edge in the real world, non academic world.

Your statement is flawed and an awful generalization. Are you frustrated some of your C and D friends are more successful than you?

<comment><USER6> Well I being just graduated from university also believe this is very accurate. I did medicine as my degree and one thing I noticed is that almost all A grade students know only medicine and at times lacks the even the basic common knowledge. Some don't have any relationships and a messed social life.

I'm a C grade student did medicine read HN, I'm good at coding, I hack and love making things, have a good social life.

And even my other C grade students play games, go out have a very good time/life.

But there are times I feel whether I should have given up my CS skills for medicine because they don't go well together.

</comment></comment></comment></comment></comment><comment><USER7> I would hire him.

BS in mathematics and computer science. He has a solid foundation. He graduated with honors in both too. Great.

Parallel algorithms, 3D routines, C on a machine with 16384 processors in 1990. Many people didn't even know multiple processors where a thing back then.

Portable C++ library in 1992. C++, plus thinking of portability. This was a big deal back then, a lot of people where not even on the C++ train then, mostly C. The C++ might have given me a pause. :D

Developed scheduling algorithms. Scheduling is hard. Developing hard algorithms is good, we have a problem solver.

Latex to HTML converter. Translating from one language to another is pretty much compiling.

</comment><comment><USER8> This page is a blast from the past as well: [http://i.stanford.edu/db_pages/members.html](http://i.stanford.edu/db_pages/members.html)

My favorite website of the 90's has to be this one though: [http://totic.org/nscp/swirl/swirl.html](http://totic.org/nscp/swirl/swirl.html)

<comment><USER9> hmm looks familiar ... [http://infolab.stanford.edu/~hector/photos/1994/DBGJun94V2/0...](http://infolab.stanford.edu/~hector/photos/1994/DBGJun94V2/04.html)

</comment></comment><comment><USER10> Being born in Aug 1973, he started university at 16 and did the Mathematica code analysis and extraction tool at 19. I expected to see an extreme prodigy but that's still a fast start and he only got faster.

</comment><comment><USER11> Check out the page source

<comment><USER12> The commented out content is the best part -

 _A large office, good pay, and very little work. Frequent expense-account trips to exotic lands would be a plus._

<comment><USER13> He got his wish, just not the very little work part unfortunately.

<comment><USER14> I'd say he got 3 out of 4, I'd agree on those terms :)

</comment></comment></comment></comment><comment><USER15> Damn I'm not seeing any Java experience how on earth does he expect to get a job? And how did he find work at all those companies without them thinking he was just going to work there for a bit before he was stolen from them by Google? Guess I'll go back down to begging Subway for a job.

</comment><comment><USER16> Frightening how little I have achieved in the same time frame, despite trying.

<comment><USER17> _"His friends were surprised, and asked him the reason of it. 'Do you think,' said he, 'I have not just cause to weep, when I consider that Alexander at my age had conquered so many nations, and I have all this time done nothing that is memorable?'"_ \- Caesar

Then again, most of will probably under perform for the next 20 years too.

<comment><USER18> To be fair Alexander _did_ have Aristotle as his mentor.

</comment></comment></comment><comment><USER19> There's no denying he was a very intelligent individual even before google :)

</comment><comment><USER20> "I worked on a project with Hector Garcia-Molina involving automated detection of copyright violations. Together with James Davis (another Ph.D. student here), we developed COPS , the COpyright Protection System." Sergey Brin.- [http://infolab.stanford.edu/~sergey/copy.html](http://infolab.stanford.edu/~sergey/copy.html)

He did a lot of work on data mining, web indexing and other web related works. It is interesting.

<comment><USER21> And still, the "automated detection of copyright violations" used by youtube works like crap and is used by criminals to strong arm real content creators to give them a cut of they profits.

</comment></comment><comment><USER6> Apparently this is Larry Page's Stanford page [http://infolab.stanford.edu/~page/](http://infolab.stanford.edu/~page/)

</comment><comment><USER22> I'll admit it, I most likely wouldn't have called to interview him... he never had a job before (at least none on his resume). Admittedly, I'm not trying to change the world. I'm just trying to do better than my competition for my customers. I don't need an academic on the payroll. I'm glad that resume didn't come across my desk. I wouldn't have know what to do with him and would certainly wold be kicking myself now.

<comment><USER18> I think you missed the entire Work Experience section at the bottom.

</comment></comment><comment><USER13> Hey... movie ratings! Pre-netflix.

<comment><USER23> Uhh if you think about it, it's probably just a (maybe weighted) dot product of binary vectors, sorted, and then a set diff.

<comment><USER24> Yea, I feel like this is one of those classic easy projects that everyone thinks of at some point early on in their programming life. That was my "learn python" project too (almost 15 years later...). I just used Rotten Tomatoes metrics and similarity with critics.

</comment></comment></comment><comment><USER17> Sorry Sergey, you'll never make it past the automated HR filter with that.

<comment><USER25> ...seriously? He was a Stanford PhD student. I doubt they have any trouble.

<comment><USER17> Yeah, but he doesnt have 15 years experience with react.

<comment><USER25> This is a meme that I've never understood. This isn't a problem for Stanford PhDs, or hell Stanford undergrads.

</comment></comment></comment></comment><comment><USER26>

Guess that interest in data mining paid off...

</comment><comment><USER27> [https://groups.google.com/forum/#!msg/comp.lang.java/aSPAJO0...](https://groups.google.com/forum/#!msg/comp.lang.java/aSPAJO05LIU/ushhUIQQ- ogJ)

</comment><comment><USER28> It's surprising that emails were few enough then that a student might get a firstname@domain email.

<comment><USER29> In fairness, "Sergey" strikes me as a rather uncommon first name. Still, what a time indeed!

<comment><USER30> Because it's Russian?

<comment><USER31> Well...

there are 6 Sergeys listed on Stanford People Search, and 100+ Johns, Brians, etc.

[https://stanfordwho.stanford.edu/SWApp/Search.do](https://stanfordwho.stanford.edu/SWApp/Search.do)

</comment></comment></comment></comment><comment><USER32> Movie Ratings TO Page Rank

</comment><comment><USER33> Is there a mirror of the movie rating website?

</comment><comment><USER34> A PhD in two years?

<comment><USER35> Yeah, if you have a masters it's possible.

<comment><USER36> Who gets a PhD without also getting a master's? Isn't the ordinary schedule two years for the master's, five more for the PhD?

<comment><USER37> In every university I've seen (in France and Japan in STEM) the Ph.D. is minimum 3 years, but many (most?) students do it in 4 because they don't have the required publications in 3 years. It's rare, but some do it in 5.

Apparently in liberal arts the Ph.D. tends to drag on an on 5, 6, 7 years...

So yes, you do need a master before starting your Ph.D., and I've never heard of someone doing their Ph.D. in 2 years. Maybe if you hit a homerun and get prestigious publications very early.

</comment></comment></comment></comment><comment><USER38> Mind blown.

</comment><comment><USER39> Wow, this page loads fast. I bet he's using Google AMP.</comment>


Kottke: Does the broken windows theory hold online? - <AUTHOR> http://www.kottke.org/08/12/does-the-broken-windows-theory-hold-online

<comment><USER2> This is why I'll actually complain about off-topic postings and such, despite the utterly inevitable complaints about the complaint. (At least nobody's babbled about how it's their free-speech right to post whatever crud they want to a social site in a while, and you just have to suck it up...) Community standards don't maintain themselves.

</comment><comment><USER3> Case in point: Hacker News comments vs. Reddit comments vs. Digg comments.

Sure, there's a population bias. But Reddit used to have mostly intelligent comments. Not anymore.

<comment><USER4> 4chan

<comment><USER5> 4chan is brighter than it lets on. But recently it's become a parody of itself. What once began hilarious and meme-laden has become a bunch of people repeating memes, which aren't funny unless they're clever.

</comment></comment></comment><comment><USER6> One way you could test this is to datamine Google's or Microsoft's usenet archive. You could track if users behaved in less social ways in more troll- tolerant newsgroup (i.e. track say a million users and compare their behaviour across different newsgroups). It could also be done across time for individual newsgroups to remove any bias inherent in the topic of the group.

</comment><comment><USER7> This problem is framed in a way that is subtly different from another way of looking at it that may offer different solutions.

Looking at a given comment as a "broken window" would seem to me to lend itself to specific treatments (i.e. a "flag" or "report" option), but you could also look at each comment as a contribution to the community that should be considered as a whole.

I think if you treat every comment (exclusing illegal content or obvious spam/vandalism) as though it has value, even if that value is negative, it might lead to tools that highlight comments, demonstrating that they're unacceptable. HN (and now Engadget?) have shaded negative comments that are along the lines of what I'm thinking of.

</comment><comment><USER8> What's interesting about online comments is that the comments themselves become a part of the "landscape" of a site. So a site could be aesthetically pleasing and designed well (i.e. no apparent "broken windows" as Kottke would define them), but if the comments are full of expletives and "roflmao" type messages, then they effectively become the broken windows.

If I were to apply the broken windows theory online, I'd consider "bad" comments as graffiti and "good" comments as public art. The broken windows would be more an analogy of a community misusing what's been made available to them as opposed to a designer purposely or accidentally creating something ugly.

</comment><comment><USER9> slightly off topic but still on broken windows theory

do you normally clean up your code 'aesthetic' ?

like the commented:

old code (to make it unactive) -> ;(define bla)

return value -> ;returns '(1 2 3)

debugging print statements -> ;(print bla)

hacks -> ;quick hack for x, buggy but good enough for now

what's the better practices? thx</comment>


U.S. Tech Giants Bet Big on India, and Now It's Changing the Rules - <AUTHOR> https://www.wsj.com/articles/u-s-tech-giants-bet-big-on-india-now-the-rules-are-changing-11575386675 <comment><USER2> I expect we're going to see more of this over the next 5-10 years, especially in the digital economy.

In the 70s, where a country was protectionist about cars, that probably meant fewer, worse and more expensive cars. Same for steel, dishwashing soap, telephones and shoes. Trabants instead of Toyotas, and less of them. Protectionism came with a high efficiency cost, and that meant poverty.

Today's digital economy can be very different. The relationship between incoming revenue and outgoing expenses is often arbitrary and that means efficiency is squishy. If Toyota had to operate on half it's current budget, Toyota would produce half as many cars. If Facebook had to operate on half (or less) of it's current budget, they "produce" the same social media (or advertising) "product."

The cost of protectionism in this environment is totally different to steel, cars and ikea furniture. If Facebook and twitter cease to exist, the "supply" of social media experienced by the public isn't a problem... at least not for long.

An ecommerce business is not a social media business, but it is further along that spectrum. So is a smartphone business, financial services business, online ad platform and many of these "digital monopoly" sectors.

The protectionist proposition is just more attractive, with the big, immediate, obvious costs removed.

Protectionism has always been popular, politically. It's nationalistic, and that's popular with the public. It puts a lot of policy making power in politicians hands and that's popular with politicians. Business tends to like it, domestically. Opening trade was, imo, and contrary to popular opinion, a forced hand. It was never ideological. Ideologically, it's _unpopular_. The "stable state" is protectionism.

Protectionism was just very costly in the 70s, 80s & 90s... so it died down some.

<comment><USER3> Asian economies such as Korea grew precisely due to government enforced industrialization programs. Protectionism is excellent for an economy's 'bootstrap' phase where you wish to create some sort of viable industry where none existed before. To make this long term tenable, you have to then slowly pull back and return to a more market based approach.

</comment></comment><comment><USER4> Well it worked for China, they now have large corporations of similar (enough) caliber to their Western counterparts creating a lot more jobs than if Amazon or Google were allowed to run free.

It's hard enough to compete against these established Tech Giants if they just come in and buy all the domestic companies. Not to mention the companies are starting with a massive head start.

<comment><USER5> > Well it worked for China

What worked for China was acting a fool for a few decades. No rules, no regulations, nothing.

Like a boa constrictor, staying motionless, allowing its prey to feel completely relaxed, then slowly but surely, tighten its grip until it's too late for the prey to escape.

With its proximity to China, India could have had China's business.

<comment><USER6> Goodness, you can count on the weirdiest analogies on social media when it comes to china. But I guess it's par for the course in any trade war.

What china did was nothing special. It wasn't revolutionary. It was what every industrial power today did - from the US in the 1800s to germany and japan and the asian tigers like south korea and taiwan did. Protectionism + foreign investment + manufacturing.

The united states created the blueprint for success in the 1800s. All the smart nations have copied it and gotten successful.

One of the first things the US did was to place tariffs to protect local industry. And for 100 years, protectionism was how the US rose from a relatively insignificant nation to the largest economy in the world.

[https://en.wikipedia.org/wiki/Protectionism_in_the_United_St...](https://en.wikipedia.org/wiki/Protectionism_in_the_United_States)

Without the tariffs and protectionism, the US industries would have been owned by britain, france, etc. Or maybe it was like a boa constrictor. I don't know.

<comment><USER7> US tarrifs were originally intended to hurt Britain, as the US had recently rebelled against them.

The tarrifs then increased during every war the US had with Britain.

It's no surprise that the US talks of trade wars, due to the way its history of tarrif is entangled with warfare, and dislike of the nations a tarrif is aimed against,

<comment><USER8> It was quite literally a rallying point for Lincon and a reason for the civil war. Southerners wanted free trade to export tobacco and cotton. Northerners wanted tariffs and protection for their industries (both to make their factories more competitive against European manufactures as to get cheaper raw materials from American farmers).

</comment></comment></comment></comment></comment><comment><USER9> Reflect for a moment on the system we currently use for big corporations which has a lineage roughly dating back to the East India Company in 1600. The reason we still use them is because they proved so devastatingly effective at draining wealth from exotic foreign lands that nobody could do without them.

The free market is best for maintaining general prosperity; it gives individual people the freedom to make what they think is the best choice. But there are probably military implications to letting key infrastructure for social and economic organisation enter the control of US corporate giants.

</comment><comment><USER10> One of the thoughts in India is that all these regulations can be read to favor just one gigantic entity - the Reliance Jio group..who is going to reap the benefits of this protectionism. But no other startup probably is (because all startup fundraises originate in the US)

<comment><USER11> invoking Reliance is just a convenient boogeyman.

can see plenty of domestic and govt investment in local startups.

</comment></comment><comment><USER12> [https://www.morningstar.com/news/dow- jones/201912036105/us-t...](https://www.morningstar.com/news/dow- jones/201912036105/us-tech-giants-bet-big-on-india-now-the-rules-are-changing)

</comment><comment><USER13> Nothing a billion dollars in bribes couldn't alleviate. Which is why India is "changing the rules" in the first place. Look at how much their civil servants make, and then look at their lifestyles, and it'll all be clear as day.

<comment><USER14> your comment nailed it.

<comment><USER13> Coming from a high-corruption country myself (Russia) the pattern is easily recognizable. It's also recognizable in the US, but people here seem to still believe, at least to some extent, that the politicians have something other than their own self interest in mind. A perilous belief, guaranteed to be proven wrong.

<comment><USER15> What's the pattern? People enter "public service" and then become rich or their lifestyle inflates to imply that?

At least in the US we can easily find out this information and vote on it.

<comment><USER13> People with $150-170K in yearly income living in DC (which has a very high cost of living) easily become multi-millionaires in a few short years, and so do their spouses and children. A crackhead son of a vice president gets paid more than an Exxon Mobil board member in spite of having no experience. He then also lands a gig running an investment firm in China with $1.5B under management. A very talented young man. Joe's brother, James Biden is also very "talented", and he somehow got a $1.5B construction contract in Iraq in spite of having no experience in construction. The fact that you didn't know anything about this until earlier this year tells you everything you need to know about the "free" press in this country. Moving _up_ the list: Obama gave Pearson $350M contract for Common Core textbooks, and Pearson paid him $65M for a book deal. This is the presidency which had "no scandals" at all. That's just _one_ example of many.

[https://www.politico.com/magazine/story/2019/08/02/joe- biden...](https://www.politico.com/magazine/story/2019/08/02/joe-biden- investigation-hunter-brother-hedge-fund-money-2020-campaign-227407)

Dig just a little bit, and you'll find examples on nearly everyone who has been in DC for a while except perhaps Bernie Sanders who's "only" worth $3.5M.

"You can't get rich in politics unless you're a crook" said Harry Truman. This holds to this day.

<comment><USER15> Yeah but how do you not get preferential treatment when you have one of "the names"? If it doesn't end up influencing policy decisions and such, it may not be right but it is tough to stop. Should these brothers and kids of famous people not have jobs?

Obama, probably one of if not the most well-known person IN THE WORLD, wants to write a book. How could the deal not be worth a ton? Makes complete sense.

Also the book is just a book. If people buy it, then he should make money.

<comment><USER13> Sounds to me you're OK with pervasive corruption then. How many book deals do you know of that include a $65M payday? Especially a ghostwritten book which few people will ever read. Most book authors barely scrape by. Pearson will almost certainly lose money on this, if you exclude the Common Core contract.

Best thing would be if the president's family already had successful businesses and did not expand them thanks to "the name", which is what we have now. Mike Pence's family also didn't suddenly become "very talented" either it looks like, or we'd know about it already.

At a minimum, I want the "free press" and the various oversight bodies to scrutinize this shit with a magnifying glass and drag it into the open _irrespective_ of the political affiliation of whoever is in the White House.

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> I feel this isn't going to work well the second time. Automation right around the corner and India isn't willing to do the things china was allowed to do.

<comment><AUTHOR> > India isn't willing to do the things china was allowed to do

Care to a elaborate a bit please?

<comment><USER17> * Banning major search and social websites (Google, FB, Twitter)

* Mandatory censorship of information (Google before leaving, Bing)

* Foreign ownership limits (aka forced intellectual property transfers)

* Capital outflow restrictions

* Heavy subsidies allowing local firms to sell products at below cost (e.g. steel, bicycles)

</comment></comment></comment><comment><USER18> Wow! Amazon and Walmart have captured 80% of online retail sales in India.

Modern colonialism.

</comment><comment><USER14> Share paywall bypass please !</comment>


Ask HN: Tax considerations for self employed - <AUTHOR>

Hi there, I am self employed and as I begin a new corp-to-corp contract (my first one), I have been thinking about taxes at the end of the year. I don't want to have a large tax liability at the end of the year (10K+). So, I have been looking into payroll tax services as an option. Has anyone here tried them for their self-employment income? Which one and was it worth it? Any gotchas or negative experiences? <comment><USER2> If I understand your comment correctly (based on your "corp-to-corp" statement) you have a corporation that provides your services as a consultant to other corporations.

If that is "yes" you should absolutely put yourself on payroll with any of the big generic payroll companies. I have used Payroll 1, Paychex, Quickbooks Payroll, and ADP. They are commodity services. If you do your bookkeeping in Quickbooks, consider Quickbooks Payroll. They're fine until they f--- something up, and then they are shit awful. I think for the last 2 years they have taken down their servers at year-end for routine maintenance, EXACTLY WHEN YOU NEED TO DO A LAST-MINUTE YEAR END PAYROLL RUN. Our experience in year-end 2012 was particularly egregious, and we are committed former customers of Intuit. But I am not bitter, and I do not judge. :-)

In terms of choosing a payroll service, remember that you are giving them access to your bank account and hoping they pay the taxes on time and in the right amount, and that they file the right paperwork at the right time. Ultimately you are responsible for all of that if they screw it up, so I recommend a big, established player. Sorry, startups. I'm not going to place mission-critical stuff at a new place that might or might not be there, and might or might not have 20 years of payroll tax expertise.

Get the full service from your payroll service -- they run payroll every 2 weeks (or whatever), make the tax deposits, and prepare and file the payroll tax returns. The first year I did this, I stopped having big year-end tax surprises.

If I read your comment wrong (i.e., you signed a contract as a human being with a corporation as your client), then you have self-employment tax and income tax problems to deal with. I'm in California, and you can set up online accounts with the IRS and the Franchise Tax Board to make electronic remittances to them of the estimated tax. Do that. Don't wait for every quarter. Log on weekly or biweekly and keep current with payments that way. The government won't refuse your estimated tax payments just because you are making them more frequently than quarterly.

ADP, at least, has no capability (or interest, perhaps) in making estimated payments of tax if there is not a salary item connected to it. So if you are self-employed, shop elsewhere. Maybe there is another company that will do this for you.

FWIW, my business is an S corporation. I have a regular biweekly salary (every other Friday) of $120,000. I have it set up so that ALL of that goes to taxes and personal savings (yay Dave Ramsey). Then I have an S corporation distribution every other Friday for the income I pull from the business in excess of $120,000 per year. That's what I live on. Every other Friday, I make tax payments of 40% of that S corporation distribution online to the IRS and the State of California.

The reason I do it like that is that the distribution from the S corporation (above the salary) is fully taxable for income tax purposes (just like a salary) but it escapes the Medicare tax (3.9% load). In other words, I get a 4% tax break for pulling money out as a distribution rather than a salary.

The reason the salary is set at $120,000 is that I calibrate the salary to the point at which you don't have to make Social Security tax contributions anymore on salary. (Medicare contributions go up to infinity. And beyond.) If you set an unrealistically low salary level, the IRS will get cranky with you. But if you're making the full boat Social Security tax contribution, you're making yourself a little more audit-proof.

But yeah. However you do it, make small, regular deposits to cover your estimated tax liability for the year. I did not have the discipline to save up a big lump and pay quarterly. But I do have the discipline to make biweekly payments online and through payroll tax deductions.

<comment><AUTHOR> Thanks, this is very insightful. You did read my comments correctly in that like you I too have an S corp through which I provide my services.</comment></comment>


President Bernie Sanders Would Dismantle NSA Spying - <AUTHOR> http://www.nationaljournal.com/tech/president-bernie-sanders-would-dismantle-nsa-spying-20150501

<comment><USER2> No, he wouldn't. Remember when Obama was running the 1st time? ALL the Democratic candidates promised to cancel the Patriot act, discontinue executive orders, and generally undo what Bush had done. Yet none of that happened.

Its naïve to assume a candidate knows what they will be required to do as President.</comment>


What happened last night - <AUTHOR> http://blog.zencoder.com/2014/04/17/what-happened-last-night/ <comment><AUTHOR> They seem to be blaming a 6h+ outage on a bug in Postgres but they don't reference which bug specifically. Anyone have any idea what they might be referring to?</comment>


Ask HN: How do you prepare a site to handle being on HN's frontpage? - <AUTHOR>

I'm sure we're all familiar with sites making the front page of HN and promptly going down under the traffic load.<p>I'm wondering if anyone can point myself and others to a list of best practices to prevent such a thing from happening. <comment><USER2> The easiest way is to host a static site.

They're trivial to set up and they'll stand up to just about any amount of web traffic, even on a tiny VPS.

Look into a static site generator like Jekyll[1] or Pelican[2] to get started.

[1]: [http://jekyllrb.com/](http://jekyllrb.com/)

[2]: [http://blog.getpelican.com/](http://blog.getpelican.com/)

<comment><USER3> Even with static sites tuning is a must though:

[http://tweaked.io/](http://tweaked.io/)

</comment></comment><comment><USER4> > I'm wondering if anyone can point myself and others to a list of best > practices to prevent such a thing from happening.

Some obvious remedies:

1\. Don't post anything interesting to HN.

2\. Buy a service that can handle ten times a normal access load, and arrange for incremental capacity increases as the need arises.

I've been in the position of having my server overwhelmed on a number of occasions because of "successful" posts to various social media, and it turned out that no reasonable advance precautions would have made much difference. It's a matter of minimizing the server downtime, not of eliminating it entirely.

</comment><comment><USER5> First use a tool like ab to see what your site can currently handle.

From that monitor the requests to see what's taking up most of the time (NewRelic is one tool that can help with that, or just analyzing your log files ia fine too). For me, I've noticed caching database queries or just caching entire pages helps the most.

Then rerun the ab tool to see how much you've improved. Repeat as necessary.

</comment><comment><USER6> For WordPress, just WP Super Cache is well up to the task.

[https://wordpress.org/plugins/wp-super- cache/](https://wordpress.org/plugins/wp-super-cache/)

Basic mod_rewrite caching will stand up to HN; for Reddit, you'll need to go to direct-access caching. Source: accidentally writing something popular a couple of times.

</comment><comment><USER7> One thing I did after being smashed with visitors from Facebook was building a feature switch were I can turn off the most intense functions of the site. It have worked well.

Loadtesting helps to determinate this features is and how your site will react under load.

Caching is probably the first step if you're not already doing that.

</comment><comment><USER8> Static site+CloudFlare</comment>


Measuring QUIC vs TCP on mobile and desktop - <AUTHOR> https://blog.apnic.net/2018/01/29/measuring-quic-vs-tcp-mobile-desktop/ <comment><USER2> Am I understanding things correctly? Because QUIC ramps up its bandwidth estimate more aggressively, it _fundamentally_ competes unfairly with TCP? Is that an inherent property or something that can be fixed? Definitely it's too late to fix it on the TCP side

Nice to know 7% of Internet traffic isn't playing fair with the rest just so one company's content loads a few ms faster! Really don't know how I feel about TCP in general losing out to QUIC if it saw much wider deployment outside Google

And finally, it's incredibly disappointing to read these results from a third party, rather than having a balanced perspective as part of the original marketing

<comment><USER3> QUIC fundamentally competes on a different level because _TCP is broken for modern networks_.

From a network usage standpoint, there isn't anything "unfair" about it -- QUIC runs atop UDP, which is also a perfectly acceptable and publicly available Internet protocol. And Chrome will happily use QUIC with non-Google hosts, the real problem is that production-quality QUIC server software is currently rare outside of Google.

<comment><USER2> One of the major downsides to UDP is that it lacks any form of congestion control, so it's hard to justify QUIC's behaviour due to what it's built atop :)

Meanwhile we're not talking about a small slice of bandwidth spent on SIP video calls playing unfairly, we're talking about 70% or more of all Internet traffic suddenly stampeding over every pre-existing protocol, they're the floodgates I'm worried about

<comment><USER3> If this was actually a problem, it would be trivial for network operators to prioritize TCP packets over UDP packets.

QUIC builds modern congestion control on top of UDP.

<comment><USER4> We really don't want the prioritisation smarts in the network - End-to-end architecture of the internet, network neutrality and all that.

</comment></comment></comment></comment></comment><comment><USER5> This is a pretty disappointing article. It's really comparing a _particular_ implementation (or maybe multiple implementations) of TCP congestion control, implemented in kernel space, with a particular implementation of QUIC congestion control, implemented in user space.

The article points out that both the QUIC and TCP implementations they tested are using CUBIC congestion control, but that's not enough information, because the article also points out that QUIC is using "more aggressive parameters." It's tough to say which parameters are better, but what's unsaid is that a TCP implementation could change their parameters and get the same congestion control results as QUIC.

The supposed poor performance of QUIC on resource-limited mobile devices is, as they point out, because it's a user space implementation that is thus more expensive. If QUIC becomes popular, I assume there will be kernel implementations that are as resource efficient as TCP. Meanwhile, it's a lot easier to to experiments (such as tuning CUBIC parameters!) when you don't have to reboot to install a new version.

It's also quite common for various TCP congestion controllers to completely fail to saturate busy links, because of various limitations. If that happens, it might be that QUIC is able to fill the empty space, thereby taking "more than its fair share" only because TCP wasn't going to use that share anyway. Since the article doesn't even say which TCP implementation it's comparing against, and doesn't say what happens when the TCP sessions are competing only amongst themselves with no QUIC present, it's hard to say what's going on.

The funny thing about all this is that, if they use the same congestion control (which seems to be the intention given that they are both using CUBIC and Google is _separately_ trying to fix congestion control via BBR[1]), they should both be about equally fair. The performance benefits of QUIC are not even congestion control related!

[1] [https://queue.acm.org/detail.cfm?id=3022184](https://queue.acm.org/detail.cfm?id=3022184)

[Disclaimer: I've worked with some of the people who wrote BBR and QUIC, so I'm biased.]

<comment><USER6> +1 to this. QUIC allows using CUBIC BBR [1], so a comparison based on the exact parameters used is actually comparing the exact parameters used.

The performance effects of QUIC implementing congestion control in userland are more interesting. OTOH, QUIC allows deploying new features to users (through cronet) in an efficient way. TCP does not.

[1] [https://chromium.googlesource.com/chromium/src/net/+/master/...](https://chromium.googlesource.com/chromium/src/net/+/master/quic/core/congestion_control/bbr_sender.cc)

> [Disclaimer: I've worked with some of the people who wrote BBR and QUIC, so > I'm biased.] Ditto

</comment></comment><comment><USER7> I wonder how QUIC compares to KCP[0].

[0]: [https://github.com/skywind3000/kcp/blob/master/README.en.md](https://github.com/skywind3000/kcp/blob/master/README.en.md)

</comment><comment><USER8> I'm still waiting for QUIC support for nginx.

</comment><comment><USER9> If you want to try QUIC yourself, you can use Caddy, which has experimental QUIC support ([https://caddyserver.com/docs/cli#quic](https://caddyserver.com/docs/cli#quic)) powered by quic-go.

(However, QUIC versions are extremely transient and has very limited support in Chrome; the next release of Caddy will bring it back up-to-date again.)

</comment><comment><USER4> What's the current positioning of QUIC by Google? It predates HTTP/2, and Google hasn't been making noises about it lately. Is it being slowly phased out or just in a "let it be" status for now in Chrome?

<comment><USER5> It's being actively discussed at the IETF. Here's a doc that's last updated 2018-01-28: [https://datatracker.ietf.org/doc/draft-ietf-quic- transport/](https://datatracker.ietf.org/doc/draft-ietf-quic-transport/)</comment></comment>


Show HN: My Weekend Project -- A Clone of HN Built on Pligg - <AUTHOR> http://zayng.com/

<comment><USER2> Nice work. The smaller font on your site made me realize how much empty space there is on the right side of HN; never noticed that before.

</comment><comment><USER3> Nice job on the design. I never was impressed with many Pligg sites because they were just so busy - lots of links to do lots of things. You've removed those extras and now the focus is on the content rather than doing things with the content.

A few suggestions/opinions:

      - Don't use a pure black font - maybe a dark dark gray
      - Drop the bold on the titles so it's easier on the eyes
      - text-decoration: none on the titles
      - Increase the line height for the title and secondary line

Good luck and keep up the good work.

</comment><comment><USER4> Cool, you may have just set the standard for this, I can see re-implementing HN on a number of platforms / languages as a nice little real-world benchmark.

</comment><comment><USER5> cool! will you release the theme?

<comment><AUTHOR> Yea. I've taken a big break. I actually created that over the weekend a while back. I'll be kicking it into gear soon and getting it prepped for release

</comment></comment><comment><AUTHOR> I know it's not identical; but I'm proud of it considering I've never taken a class in any programming language...

<comment><USER6> How did you find pligg as a platform? I'm not a programmer either, but am considering it for a 'beer money' idea I have.

(I will be leveraging the support of a friend with php / mysql experience. Would love to know more about your experience.)

<comment><AUTHOR> Pligg was pretty easy to pick up; however, I've been using wordpress for a year (which is how I got my feet wet with some development items). Feel free to ping me with any questions!

Make sure you don't use their control panel editor to edit the header file; with multiple themes I've experienced situations where components get messed up.</comment></comment></comment>


Red Hat discloses RHEL roadmap - <AUTHOR> http://searchdatacenter.techtarget.com/news/2240185580/Red-Hat-discloses-RHEL-roadmap <comment><USER2> Blogspam for [http://searchdatacenter.techtarget.com/news/2240185580/Red-H...](http://searchdatacenter.techtarget.com/news/2240185580/Red- Hat-discloses-RHEL-roadmap)

Downvotes? The only thing on that LWN page is a description of what you can find if you follow the techtarget link. There is literally no new information or even commentary on the page.

<comment><AUTHOR> LWN is hardly blogspam, although I agree they don't add much to the story in this case.

I actually tried to submit the techtarget.com link first, but the story was immediately marked as dead (see [https://news.ycombinator.com/item?id=5876710](https://news.ycombinator.com/item?id=5876710)). Perhaps HN considers techtarget to be spammers.

<comment><USER3> Actually, this does qualify as blogspam in the world of HN. The most likely reason is that the domain (lwn) is well known.

The truth is, the definition of blogspam is dependent on the moods and biases of the moderators.

<comment><USER4> lwn has its own (paying) community, and the OP link is speaking to it.

Look at its content. Within the first sentence, it clearly links to what it's talking about, saying "Hey, there's some thing _here_ that may interest you."

It goes on to cite an excerpt as an example of what interested the lwn poster.

I would qualify this more as "conversation" than "spam". Spam would regurgitate the linked content wholesale while probably omitting or burying the link to the original source.

I venture that people here on HN are further reacting negatively to the "blogspam" characterization because many of them are well and long familiar with lwn and have a good amount of respect for it, based upon its quality content (much original) as well as its finding a sustainable model while delivering such.

<comment><USER3> I'm not debating whether lwn is really blogspam or not. However, by HN's moderators standards, it would be classified as blogspam. It offers nothing more of value over their original piece (even if it's narrowing in on a specific subject).

<comment><USER4> Well, that's a fair point.

</comment></comment></comment></comment></comment></comment><comment><USER5> "The last thing we want to do is disrupt our customers' workflows." I'm glad to read this.

<comment><USER6> I had a customer, a minimal English speaker, who had trouble with that phrasing.

"The last thing I want to do is leave your data center with inadequate power or cooling", I said.

"The thing last? You want to do this at the end of our project?" he replied ...

</comment></comment><comment><USER7> The default of XFS for filesystems is interesting. They mention the target of enterprise customers. Is Centos likely to also do the same where I would imagine the vast majority of deployments are for smaller environments such as virtualization?

<comment><USER8> The issue is that over the lifetime of RHEL 7 (2014-2024) disks will grow to tens of terabytes. ext4 can't cut it -- even with extents, fsck times would be phenomenal. You need a filesystem like XFS which was designed from scratch with that in mind, and which is mature (unlike btrfs), and doesn't have licensing problems (ZFS).

<comment><USER7> Thanks for the response. I wasn't aware of the performance for xfs_repair. But aren't the customers who are using RHEL(paying for a subscription) also the same customers who would more likely offload data to a commercial SAN/NAS and rely on their underlying filesystem? Obviously, not in all cases but I would think big data needs would be handled this way.

<comment><USER8> I'm rather hoping they'll offload it to Red Hat Storage :-)

But my point about "tens of terabytes" was more about local hard drives, not about big data stores.

<comment><USER9> Well, as long as there aren't any more data-eating bugs like with thin provisioned LVM in RHEL 6.

In that case, xfs_repair did abysmal job in coping with the data corruption, which didn't quite provide confidence.

</comment></comment></comment></comment></comment><comment><USER10> The software collections feature sounds really interesting. There's workarounds, but it still isn't fun to deal with getting modern versions of fast-moving projects (Python, Ruby, etc.) on an OS designed to last for over a decade.

<comment><AUTHOR> These are available now.

[https://access.redhat.com/site/documentation/en- US/Red_Hat_D...](https://access.redhat.com/site/documentation/en- US/Red_Hat_Developer_Toolset/1/html/Software_Collections_Guide/)</comment></comment>