Ask HN: Older developer hiring platform? - <AUTHOR> A while back, someone built and posted a hiring board for older developers. Does anyone remember the name or have a link for it? EDIT: retitle to be a Ask HN <comment><USER2> Why do we (or anyone) need a platform segregating people by the age (or gender or color or whatever)?

This is plain stupid idea.

Hire people based on their abilities and skills to help you to build (or execute) what you need.

Who cares about the age of a person who can help you?

<comment><AUTHOR> I'm going to take a nuanced response to this because frankly that anyone would want or need a segregated platform is stupid, but yet that need/want does exist.

If you have a team all from the same background (say a prototypical startup, everyone white, upper middle class and went to Stanford), that team will suffer from groupthink and will miss opportunities and/or challenges to different groups. These can be minor issues or can be big PR blowups like when facial recognition systems can't recognize the difference between people with dark skin or just missed opportunities. In general, the solution is to try and build teams with a diversity of backgrounds.

How do we do that? If you have applicants come in from different backgrounds. But what happens if you're never seeing any diverse applicants apply? Are your recruiters/hiring platforms redlining (intentionally or unintentionally) and preventing candidates from applying? At that point you go out of your way to reach out to diverse candidates. They still have to go through the same interview process, but you're adding them to the funnel. If you're more familiar with marketing, then you know that digital advertising, direct mail, billboard ads, radio ads, tv ads etc will hit different parts of the population (with some overlap). You can't just go through one marketing channel because you'll miss a large customer population. This is essentially the point of these targeted hiring platforms. The ideal is to use these platforms to combat unconscious and conscious bias. This works as long as they're used in ADDITION to other more generic platforms.

<comment><USER2> Agree with diversity approach.

It's like in a military service where tank crew consists of soldiers from maximally opposite backgrounds to minimize cultivation of bias/conspiracy/hidden agendas from crew members.

<comment><AUTHOR> I didn't know that but that's a great tidbit and example

</comment></comment></comment></comment><comment><USER3> It was oldgeekjobs.com, but he website doesn't work anymore it probably shutdown.

<comment><AUTHOR> Oh man, I'm totally bummed. Thanks for letting me know!

</comment></comment><comment><USER4> I am working on one and am wondering if you (OP and not) would consider telling me about what would make such a service productive and attractive to you?

<comment><USER5> As a candidate: attractive because I'd have confidence that employers there are going to value my experience (in contrast to those who slap "senior software engineer" labels on positions where they're looking for 3 years in the workforce).

As a hiring manager: being able to find engineers with lots of experience instead of having my "senior software engineer" opening spammed with resumes from kids just out of school.

<comment><USER4> Thank you.

Would you be interested in hearing about the service in beta?

<comment><USER5> Sure</comment></comment></comment></comment>


How social media makes breakups that much worse - <AUTHOR> https://techxplore.com/news/2020-02-social-media-breakups-worse.html <comment><USER2> This is a particularly interesting read if you contrast it with the new paper on how memory suppression helps protect a person from PTSD and trauma.[0] Breaking up with someone is not as traumatic as PTSD-causing events, of course, but it's still traumatic. So these Facebook pop-ups and casual newsfeed sightings are doing real damage but whereas triggers for PTSD in soldiers, for example, aren't likely to occur that randomly on social media and making them remember their experience is seen as a faux pas, the smaller trauma of a breakup is often disregarded and I've personally known people who posted photos with a mutual friend's ex a few days after a breakup. He got subjected to seeing her, happy and hanging out, but it's not like he could accuse his friends of misconduct, they were just posting a typical Friday fun photo. Dropping off social media for a bit might indeed be the best option here, unless you're willing to relive the pangs of a breakup again and again for a while.

[0]: [https://science.sciencemag.org/content/367/6479/eaay8477](https://science.sciencemag.org/content/367/6479/eaay8477)

<comment><USER3> Killed all my social media during my recent (awful) divorce. Highly recommended. I can barely understand how anyone can deal with _not_ doing this.

<comment><USER2> I think many people try to 'tough it out' and underestimate the depressive effect seeing things related to exes can have. Hell, I still get nostalgic when I get a whiff of my first girlfriend's perfume, how could you not feel something when you see your most recent flame posting a new relationship status a week or two post-breakup? Going dark on social media is the easiest step to healing.

<comment><USER3> I knew the endless gaslit posts would get to me, and I dreaded the slow drip of our common friends and acquaintances cutting their ties with me. Only a few are left, but this way I know they're solid.</comment></comment></comment></comment>


Running Nextcloud in jail on FreeBSD - <AUTHOR> https://ramsdenj.com/2017/06/05/nextcloud-in-a-jail-on-freebsd.html <comment><AUTHOR> I recently setup Nextloud 12 [https://nextcloud.com/](https://nextcloud.com/) inside a FreeBSD jail. My Nextcloud instance is externally accessible, and yet if someone were to get inside my Jail, I could rest easy knowing they still didn't have access to the rest of my host server. I chronicled the setup process including jail setup using iocage [https://github.com/iocage/iocage](https://github.com/iocage/iocage), https with Lets Encrypt [https://letsencrypt.org/](https://letsencrypt.org/), and full setup of the web stack.</comment>


Sergey's New Title. - <AUTHOR> http://oonwoye.com/2011/01/21/sergeys-new-title/

<comment><USER2> Really love that post, but "The real important change at Google is not the new CEO" would have been a catchier title ;). I truly believe you are right and it will stir things up again for the company that has really grown into a corporation. Getting some startupish feeling back will be a great step towards more innovation again.

<comment><AUTHOR> I did not want want to be accused of link baiting :(

<comment><USER2> haha, true, true! No, I think this is a more genuine way and better anyways.

</comment></comment></comment><comment><USER3> does this mean he will have to raise funding for his ideas also :-)</comment>


Poolside FM for iPhone - <AUTHOR> https://cellular.poolside.fm/ <comment><USER2> Maybe I'm not the target audience, but this website gave me absolutely no idea what this app is. Is it some streaming music stations?

<comment><USER3> It is. Go to [https://poolside.fm](https://poolside.fm) . They are a "retro" webradio with a summery vibe.

</comment></comment><comment><USER4> The original site: [https://poolside.fm/](https://poolside.fm/)

</comment><comment><USER5> Zero information, just a link to the App Store. Pass.

edit: the App Store didn't have any information either, no idea what this app is

</comment><comment><USER6> This is a gorgeous site, to not even mention the app it's marketing.</comment>


Python extension for Firefox - <AUTHOR> http://pyxpcomext.mozdev.org/

<comment><USER2> Before anyone gets too fired up about this, there are two major limitations:

1\. Python code will only be executed from trusted sources (i.e., chrome loaded from the local filesystem). This means that you'll need to get users to download and install an extension to use your Python script code, rather than simply including it inline in a page on your server.

2\. Because the extension bundles its own Python runtime, it has to be built and packaged separately for every architecture target. Right now, that means no 64-bit platforms, BSD, etc. -- so cross-platform compatibility is probably no better than Flash at the moment.

That being said, having yet another development language on the client for rich web applications is pretty cool. I can imagine all kinds of useful projects that could capitalize on Python's strong libraries. Hooking into native libraries using Python (either via the extension API or ctypes) is also a lot easier than writing an XPCOM wrapper.

<comment><USER3> I don't really see this as being a boon for web developers, but for those who write or use Firefox extensions. That does include certain websites, but those are only the sites that are already utilizing a Firefox extension, anyways (e.g. del.icio.us, rememberthemilk). I would personally much rather hack up a Firefox extension in Python than to try to do it in Firefox's standard plugin architecture thingamajig (Javascript/CSS/voodoo/???).

 _2\. Because the extension bundles its own Python runtime, it has to be built and packaged separately for every architecture target. Right now, that means no 64-bit platforms, BSD, etc. -- so cross-platform compatibility is probably no better than Flash at the moment._

Just be sure we're clear, this comment describes the pyxpcomext extension itself, right? Surely more versions will be coming soon to any platforms supported by Python. If you are building an extension that utilizes this Python-Mozilla API, this is all transparent to you, and packaging separate builds is a non-issue.

<comment><USER4> _I would personally much rather hack up a Firefox extension in Python than to try to do it in Firefox's standard plugin architecture thingamajig (Javascript/CSS/voodoo/???)._

You'll still need to do "CSS/voodoo/???" to integrate your extension to the Firefox UI.

What you get to do is to use Python instead of JavaScript (a matter of taste), _and_ you get access to Python libraries, which cover desktop-side computing much better than JS.

</comment></comment></comment><comment><AUTHOR> The most amazing thing is that you can use real Python inside web pages instead of JavaScript (only for your Gecko/Mozilla apps not for all the web for obvious security reasons).

</comment><comment><USER5> Very very nice. I would like it better if it used the native python environment already floating around in the system instead but that would probably make compatibility a nightmare. Still, kudos to the ones who wrote this.

<comment><AUTHOR> Unfortunately it didn't work: _Alex Badea has actually made a pyxpcom extension for Firefox3, but it is a somewhat different approach as it relies on a matching python being installed on the system and other extensions using pyxpcom may not get registered :(<http://vamposdecampos.googlepages.com/pyxpcom> _

</comment></comment><comment><USER6> How about installing Silverlight and you have it for all browsers, running reasonably well in a managed JIT compiled environment instead?

Not saying this isn't impressive, but I just don't see the point ;)

<comment><USER7> Aside from being open source?

<comment><USER6> There is a opensource implementation of Silverlight, called moonlight. It's even endorsed by Microsoft.

<http://www.mono-project.com/Moonlight>

Besides, making browser-specific web-site implementations is still bad, even though if browser is Firefox.

<comment><USER8> Have you used Moonlight?

You might notice it doesn't fucking work then.

More specifically, it is:

* not stable

* not up to date with Silverlight

* does not include video or audio support. Videos just ask you to download Silverlight.

* not packaged

* not presented by Microsoft to users who need a plugin when they access Silverlight content. When you visit a Silverlight page, a 'Download Silverlight' button takes you to Microsoft. The Microsoft page gives another 'Download Silverlight' button that tells users their 'platform may not be supported'. Clicking them gives no download and returns back to the same Microsoft page ad infinitum.

Try it yourself - <http://www.go-mono.com/moonlight/>.

Yes, you'll get some ancient shitty bouncing balls Silverlight 1.0 test app.

No, you won't get any actual content.

Moonlight's a furphy.

<comment><USER6> Well, that might be. But in this context I wasn't even talking about running full Silverlight apps, just having a decent browser-independent, cross- platform Python runtime.</comment></comment></comment></comment></comment>


Alcubierre drive - <AUTHOR> https://en.wikipedia.org/wiki/Alcubierre_drive <comment><USER2> There was a time where relativists realized that instead of solving the Einstein equations subject to initial conditions coupled to some matter stress energy terms, they could instead fully specify what spacetime looks like, ram it through the Einstein equations and get a stress energy tensor on the right hand side.

The Einstein equations became a recipe generator: if you want this spacetime, then you need this matter/energy.

Unfortunately, all the interesting spacetimes (such as the Alcubierre drive) require exotic matter, matter unlike anything we have ever seen. Other spacetimes people were interested in generating were stable wormholes. If we could ever produce such matter then we could start some spacetime engineerinng. Meanwhile, we are left with these oddities.

I heard that Alcubierre somewhat regrets having his name on this spacetime as he gets contacted by all kinds of Star Trek fans and other people who believe they can produce the drive. He has done all kinds of other quality research in General Relativity, but this is what he will be famous for.

<comment><USER3> > _If we could ever produce such matter then we could start some spacetime > engineering._

Imagine the exotic "pollution" caused by civilizations which are advanced enough to tinker with the fabric of spacetime, but not advanced enough to understand (or care about) the long-term consequences of that tinkering.

Destabilizing solar systems or even entire galaxies, maybe even violating causality..

Imagine the home (and only) planets of younger, insignificant civilizations being caught up in those cataclysms, all traces of their existence wiped from cosmic history in what might amount to the equivalent of a traffic accident or "oil spill" of a greater civilization.

..maybe that has already happened and some of the leviathanic voids we've observed were a result of that? :)

[0] [https://en.wikipedia.org/wiki/Void_(astronomy)](https://en.wikipedia.org/wiki/Void_\(astronomy\))

<comment><USER4> "Imagine the exotic "pollution" caused by civilizations which are advanced enough to tinker with the fabric of spacetime, but not advanced enough to understand (or care about) the long-term consequences of that tinkering"

That's fun science fiction, as others have pointed out, but in terms of real science, at the moment that's just a sort of subtle way of anthropomorphizing the universe and projecting human experience far, far beyond where it is applicable. Einstein's equations for spacetime evolution don't have anything that looks like "pollution" in them. There's no "stress term" for "space time that has been put through the wringer and is broken now". Black holes do not seem to leave "broken space" behind them or anything like that; indeed, "leaving broken space 'behind' them" would be an incredibly ill-defined term. In what preferred reference frame does your "pollution" take place in?

The only real concern is if there is some way to violate the conservation of energy, as real space does seem to do that at large scales at the moment. In that case someone might explode something, potentially large enough to make a mess of a galaxy or more. But we don't have even a hypothetical example of how to do that; just because the universe is violating energy conservation does not mean there's any conceivable organization of energy we can create that will do it, if the reason conservation is being violated is the injection of energy from some other effect or something.

<comment><USER5> By violating conservation of energy are you referring to dark matter?

<comment><USER6> Dark energy. Generally speaking, energy is not conserved in general relativity: [http://www.preposterousuniverse.com/blog/2010/02/22/energy-i...](http://www.preposterousuniverse.com/blog/2010/02/22/energy- is-not-conserved/).

</comment></comment></comment></comment></comment><comment><USER7> Template for discussion:

A: It requires hypothetical exotic matter. It's just theoretical thought experiment.

B: counterargument: The existence of exotic matter is not theoretically ruled out, so it could be real.

A: That's not a good argument. Something completely hypothetical invented so that it allows what you want to happen not ruled out is not good argument for relevance.

B: platitude counterargument: "If an elderly but distinguished scientist says that something is possible, he is almost certainly right; but if he says that it is impossible, he is very probably wrong." \- Arthur C. Clarke. MOT.

<comment><USER8> the best counterargument for me is that remote galaxies run away from us with the speeds larger than c. So space expansion and the speed faster than c as a result is possible. Without exotic matter, etc. Now there is just an engineering task of implementing it as a practical space ship drive.

The arguments against FTL are based on fixed spacetime frames of references. Which is obviously not-applicable to the situation where the spacetime is what you actively manipulate. Spacetime manipulating approaches don't violate SR as nothing is moving faster than c wrt. local space. The same like with those remote galaxies - while running faster than c from us they don't move faster than c wrt. their local space.

<comment><USER9> > space expansion and the speed faster than c as a result is possible. Without > exotic matter, etc.

Except that in order to get the observables right, dark energy is required to keep the galaxy clusters running away from each other faster over time. It's a heavy price that no physical cosmologist is really happy about, but the concordance cosmology gets its name from how it is explicitly constructed to match ("concord with") observation (and it is consequently updated from time to time).

It is not really surprising that some energy is required to keep the warp bubble from dissipating away from its compact region of spacetime, particularly since the Alcubierre model is a vacuum spacetime, so there's no mass in the middle to keep the bubble local to it (or source it, or however you want to look at it). He says so at the end of his paper[1]. It's important to remember that there is no observational evidence supporting Alcubierre's metric; it concords with nothing. However, one can still attempt to answer the questions he himself raised, and Lobo & Visser do just that in their 2004 paper[2], where they note that the geometry of the Alcubierre metric requires an even-more-unusual-than-dark-energy stabilizing term even at arbitrarily low warp-bubble velocities.

\- --

[1] [https://doi.org/10.1088/0264-9381/11/5/001](https://doi.org/10.1088/0264-9381/11/5/001) [https://arxiv.org/abs/gr-qc/0009013](https://arxiv.org/abs/gr-qc/0009013) (short, not especially difficult, fewer than 20 equations, 4 refs) See the text bracketing eqns (18) & (19)

[2] [https://doi.org/10.1088/0264-9381/21/24/011](https://doi.org/10.1088/0264-9381/21/24/011) [https://arxiv.org/abs/gr-qc/0406083](https://arxiv.org/abs/gr-qc/0406083) (twice as long, but mostly developed through more than 120 equations, 38 refs incl. [1])

</comment></comment></comment><comment><USER10> AsteronX is an awesome channel and goes into the mechanics of space travel [0] and then two videos on the Alcubierre-Froning Warp drive [1], [2].

[0]: [https://www.youtube.com/channel/UC2kkCGRqZWaSIK3BmLC8vaw/vid...](https://www.youtube.com/channel/UC2kkCGRqZWaSIK3BmLC8vaw/videos)

[1]: [https://www.youtube.com/watch?v=n38aP2tROBo](https://www.youtube.com/watch?v=n38aP2tROBo)

[2]: [https://www.youtube.com/watch?v=M3fw2wQlWL4](https://www.youtube.com/watch?v=M3fw2wQlWL4)

</comment><comment><USER11> Issac arthur has a fascinating video on the topic, that I recommend to anyone who's interested in the idea: [https://youtu.be/yCCsmxGjEV0](https://youtu.be/yCCsmxGjEV0)

<comment><USER12> He ties it in well with his Fermi paradox videos. If such a thing is possible, it makes the stakes of the Fermi paradox much higher. We aren't just wondering why we don't see other intelligent life in our galaxy, but why we don't see it in a much larger region of the Universe.

</comment></comment><comment><USER13> The frame shift drive in the ELITE video game series is based on this technology: [https://www.reddit.com/r/EliteDangerous/comments/2nqtzp/fram...](https://www.reddit.com/r/EliteDangerous/comments/2nqtzp/frame_shift_drive_science/)

</comment><comment><USER14> For anyone interested in fiction based on ideas like this, check out the Three Body Problem series. I'll avoid talking about it further to keep from spoiling it.

</comment><comment><USER15> Didn't they propose to elide the use of exotic matter with a Casimir vacuum.

EDIT: it says that in the wikipedia article too

</comment><comment><USER16> It reminds me of Hyperion's Cantos' "Hawking drive"

</comment><comment><USER17> how about we just figure out how to get as close as possible to 1C?

<comment><USER12> Without a preferential reference frame, that's a nonsensical question. You can define your velocity to be arbitrarily close to C just be defining in relation to which inertial reference frame.

<comment><USER18> I would point out that this is "nonsensically pedantic." Clearly the frames of note are the one you begin your acceleration in and the one you end your acceleration in.

<comment><USER12> The question isn't phrased that way, its "as close as possible", implying that there is some physical limitation that's passed by traveling 99.9% c vs 99.99% c.

</comment></comment></comment></comment><comment><USER19> It would be _way_ cool if one of these could be installed in an old VW Beetle. Totally excellent fuel economy!</comment>


Bin Laden's war against the U.S. economy - <AUTHOR> http://www.washingtonpost.com/blogs/ezra-klein/post/bin-ladens-war-against-the-us-economy/2011/04/27/AFDOPjfF_blog.html

<comment><USER2> A bit silly. Of all the things causing problems for the US economy, Osama bin Laden is fairly low on the list. He's not a complete non-factor, but the entire war on terror + homeland security apparatus is a small drain compared to things like "underfunded public sector pensions" and "a decade of writing stupid home loans to morons who couldn't possibly pay 'em back" and "uncontrolled illegal immigration" and "hey did anyone actually think this whole Medicare/Medicaid thing through when we started it up" and so forth.

Or to put it another way... in August 2001 the US economy was actually looking pretty shaky. Then there was a seven-year boom.</comment>


On Hair Color in France (by Leslie Lamport) - <AUTHOR> http://research.microsoft.com/users/lamport/pubs/pubs.html#hair

<comment><USER2> ... our observation that a number of the blonde and red-haired female subjects showed brown coloration in the few millimeters of hair closest to the scalp. This suggests two obvious possibilities. One is that chimerism may be involved. However, our data were obtained in the fall, and so we offer an alternative conjecture: that the bright coloration displayed by females may be a seasonal phenomenon, with their hair turning brown in the colder months and then lighter with the return of warm weather...

lol

</comment><comment><USER3> Leslie Lamport is hilarious (and also a genius). If you're ever bored and want to try to decipher how to implement PAXOS based on a prose description of Greek society, check his original PAXOS paper, "The Part-Time Parliament": [http://research.microsoft.com/users/lamport/pubs/pubs.html#l...](http://research.microsoft.com/users/lamport/pubs/pubs.html#lamport- paxos)

</comment><comment><USER4> "A table is nearly always better than a dumb pie chart; the only worse design than a pie chart is several of them."

</comment><comment><USER5> One word: L'Oréal.</comment>


Startup Lets You Rent Fine Art, Netflix-Style - <AUTHOR> http://mashable.com/2011/03/01/artsicle/?utm_source=iphoneapp <comment><USER2> Interesting, but I'm curious how big their market actually is. Also, it seems like their price point is a bit low and nearly unsustainable given the numbers in the article. If Artsicle buys an original piece for $1500 and rents it out for $50 a month, that piece needs to be actively circulated for 30 months before they see a profit on it. An unpopular piece may never become profitable, meaning Artsicle is stuck with upkeep and storage costs for an expensive mistake.

Let's contrast this with Netflix. Assume that Netflix pays an average of $15 for each DVD they hold (probably on the high end). Also, assume that each member pays an average of $12 a month for rental privileges, and that each member holds a DVD out for an average of 3 days. Each member's "rental" costs them $1.20 on average. This means that each DVD Netflix buys becomes profitable after 13 rentals, or just over a month. If a DVD never becomes popular enough to be profitable, Netflix is just on the hook for $15 plus negligible storage costs in case someone decides to rent it down the road.

tl; dr - What works for Netflix might not translate away from the DVD world.</comment>


Ask HN: Is There a "Smart" Message Queue? - <AUTHOR> I'm currently using RabbitMQ for a variety of message queuing needs, and I'm running into a specific issue repeatedly.
If I push 10 messages to a queue, and say 5 of them have the same 'key' parameter, then I want to automatically discard the previous messages still in the queue with the same key.
Is there any message queue which already has this baked into it out of the box? <comment><USER2> Architecturally, the idea of discarding duplicate messages from a queue is:

      queue -> parser -> queue

Discarding duplicate messages is a piece of business logic. The parser could be as simple as a hashmap/dictionary or bloom filter that emits or does not emit the message based on the selected criteria.

This is a case where I like the idea of Unix pipes and where I might think in terms of log data structures rather than queues. Your mileage may vary.

Good luck.</comment>


Ask HN: How long does an investor own your time/ideas? - <AUTHOR>

Lets say you are a solo founder and you've taken a small angel investment or other funding (seed, YC, other incubator, etc..) and you've pivoted A times over the course of B months and you're ready to move on and try something else.
Is it unethical to quit and try to raise funding for another startup idea?
Does it depend on what A,B are? e.g. its ok after 5 years, but not after 5 months?
At what point do your initial investors no longer own your time/ideas? <comment><USER2> Usually you can quit when the funding runs out. Founders sometimes voluntarily keep a startup alive past the end of the proverbial runway, e.g. by taking on consulting projects, but no investor is entitled to demand that.

<comment><AUTHOR> Thanks! I know YC doesn't care how you spend the money granted, but I imagine that angel/seed funding of larger amounts probably comes with expectations (either implied or explicit) regarding the founders' salary which would inversely correlate with remaining runway. I'll have to read up more on salary expectations for seed/angel funded startups.

</comment></comment><comment><USER3> Investors expect most of their investments to fail. This is not a shocking situation for them, however disappointing.

Whatever salary you need to live on is fair to pay yourself. Anything under $100k is safe. Under $80k is ideal. It really depends on your cost of living. This is something you really should discuss with investors upfront, especially if you have high requirements.

It's far more painful for you than for them. They're diversified - you're not.

Return as much money as possible (sell any assets you can). Even a token amount will have some meaning.

Shut the company down gracefully. Be nice to your users.

Have a very frank conversation with your investors. Tell them how you feel. Thank them for their support.

The way you _handle_ your failure will largely determine how you and your investor(s) will feel about it going forward. You're not a bad person for failing. Now go succeed this time!</comment>


The Bugatti Veyron Grand Sport - How do you make a 1,001 horsepower convertible? - <AUTHOR> http://www.wired.com/reviews/product/pr_veyron_convertible

<comment><USER2> No. It's pretty much only good for one thing, and that's driving very fast. As far as had been reported it sacrifices almost many of the aspects that would make a vehicle considered "good" by the general population in the name of speed and luxury; drivability, affordability, utility and efficiency.

<comment><USER3> It certainly does sacrifice utility, efficiency and (especially) affordability, but so what? It's still a masterpiece of engineering.

There's room in the world for both types of products: the ones that do all things reasonably and the ones that do one thing extremely well. The one- thing-extremely-well type are usually the more interesting, whether they be designed for ultra-high speed (Veyron), ultra-high efficiency (Tesla) or ultra-high affordability (Nano).</comment></comment>


Startup Quote: Fred Wilson, co-founder, Union Square Ventures - <AUTHOR> http://startupquote.com/post/3923883167

<comment><AUTHOR> If you have an idea that you can't get out of your head, do a startup. Otherwise join a startup.

\- Fred Wilson (@fredwilson)

<http://startupquote.com/post/3923883167></comment>


What Quantum Computing Isn't - <AUTHOR> https://www.youtube.com/watch?v=JvIbrDR1G_c <comment><USER2> Scott Aaronson is brilliant, he knows his shit, and he's very, very good at explaining it.

But, and I say this as someone who hates listening to my own speech, listening to him is nigh painful.

Is there a text version of this talk around?

<comment><USER3> Just watch it with subtitles and the sound off if it bothers you that much (I personally enjoyed the presentation).

<comment><USER4> I like to watch informative videos with subtitles at 2x speed because the subtitles make it easy to follow and the increased speed smooths out the verbal tics and idiosyncrasies (less distracting).

</comment></comment></comment><comment><USER5> This is exciting. Eventually well all have a quantum computer in our pocket (or body?). The exciting thing is what possibilities does that bring? I guess we don't know yet.

</comment><comment><USER6> I think he was fine at communicating and not terrible to listen to. I just didn't find the talk that interesting or cover anything I didn't already know about quantum computing theory. I wish it did, because there's much I don't understand.

<comment><USER7> He has an excellent book, Quantum Computing Since Democritus. That's a good resource.

</comment></comment><comment><USER8> Wow, nice video.

</comment><comment><USER9> Couldn't get to the end. The guy is horribly annoying to listen to.

<comment><USER10> I find it is the same with his writing. It just goes on and on. His more technical papers are better, but his blog is just a pain. I guess it takes more work to be brief. (At least for some.)

<comment><USER7> Personally, I find his writing style very enjoyable and often hilarious.</comment></comment></comment>


Ask HN: Flowers as a Service? (FaaS) - <AUTHOR> I regularly purchase flowers for a significant other. I call a local flower shop, give them a brief description of what I'm looking for (she likes pink, hates red, etc), and a budget (I'd like to spend between $40 and $50 including delivery). I give them an address, a CC number, and a desired delivery date. This seems to go over well.
When looking into streamlining or automating this process (automation nerd here) I haven't be able to find a service which fits my needs. My major issue with these services is quality. If the first thing they ask me isn't: "where are we delivering these flowers" I assume they will be shipped from a long distance in a box. I kind of want to be told "hey, we don't have a local florist in that area yet." Quality is my number 1 decision-making factor.
What I'd like to see is the following feature set:
1. Local florist with ratings 2. Specify price range, destination, delivery date, (optional) card message. 3. Specify, in general, what I'd like to see in the arrangement (roses, no roses, spring flowers, etc) 4. A way to rate the flowers received (to help identify issues with particular florists)
Features I don't really care for:
1. Seeing the flowers first in some kind of staged photo
Extra features I would love to see:
1. Support for subscription flowers (send a $50 bouquet every month) 2. Flower gifting (so you don't have to exchange shipping information) 3. Support for alternate currencies / payment methods above CC (bitcoin, venmo, paypal, etc) 4. Automatic reminders for special occasions (valentines day, anniversaries, etc)
I realize my situation may not be "normal" so I thought I'd ask HN:
1. Would people consume an API which would allow you to purchase flowers online with the features (or lack thereof) above? 2. If not, why? Do you need to be able to see the flowers? Perhaps flowers are "too expensive" to automate? Perhaps the purchase frequency is too low for the automation effort? Anything else? <comment><USER2> All the major online flower vendors (Teleflora, Proflowers, 1-800-FLOWERS, etc.) work by contracting with local florists. They show you the offerings, including prices, and let you set destinations, delivery dates, card messages, etc. I don't really see how you would differentiate from their offerings.

Indeed, a hack you can use as a customer is to call up the local florist directly and order: you get the exact same product you would through Teleflora etc, but get to cut out the middleman, and the florist will usually give you lower prices.

<comment><AUTHOR> I figured they did (they have to I imagine) but I really wish they would make that more obvious what florist they use. I want a service that adds value (like calling, order placement, but also additional services) but does so in a way that makes it feel like I'm simply ordering flowers from a particular local florist w/o having to call them.

Ideally the prices would essentially be the same (since you are driving business to the florist) but the service should be able to add enough value (by saving time, offering subscriptions, etc) to be able to display the florist info but still attract orders via the site/service.

<comment><USER2> It's likely that the economics of this don't work out. Most people actually do their online flower ordering by going to Google, searching [flowers], and clicking on one of the top few ads. (Indeed, I know about this because [flowers] was a very common test query we used when working on Google Search - it shows so many ads that if your new feature is going to break layout or look awkward on any query, it's probably [flowers].) In order to get people to click on the ad, you need to do your own branding.

Flower ordering has the same problem as weddings, funerals, job searches, ordering a plumber, etc: it's an event that you do maybe once a year, max. When you need the product that infrequently, it slips out of the consumers' mind, and they don't remember brands. So you can only build a viable business when the product costs enough that you can spend large sums on brand advertising (eg. cars, clothing, divorce attorneys, diamond rings) or large sums on search advertising (eg. [flowers], [mesothelioma], [digital cameras], [bingo cards]). Indeed, one of the main reasons Google has become huge is that they function as an aggregator for all the "infrequently needed, but too cheap to buy superbowl ads" products.

You're welcome to give it a go, though. The local florists would love you; many aren't terribly thrilled about Teleflora stealing all their customers and treating them as a commodity backend provider. It's just that you'll likely find customer acquisition costs _way_ more than you bargain for.

</comment></comment></comment><comment><USER3> Looking at what you are currently doing, the next step is to talk to your local florist.

Will they allow you to set up a subscription with them?

If so, under what terms [e.g. suppose you pay up front]?

Everything else is just a feature. Most of them burden the florist and increase their overhead and risk. Florists are who you need to get to buy in. They're small businesses. They don't consume API's.

Good luck.

<comment><AUTHOR> That true. I think the value such an API / service would provide to florists is that the service / API would:

1\. Handle online ordering so they wouldn't have to 2\. Drive customers to them

And do so in a way where they could still have a "personal relationship" with the flower purchasers.

The single downside, that I can see, is the whole "reviews" issue (I have no desire to become like Yelp and be known for "shaking down" businesses). I'll have to think about that.

I'll take your advise and talk to a couple florists. I don't think they, the florists, would need to handle the subscriptions. As long as they allowed repeat orders and they handled them independently they wouldn't even need to know it was a subscription. The main thing to discuss would be some kind of discount if the service could guarantee some level of purchasing from the subscriptions.

<comment><USER3> When a potential client comes to me and says give me a discount and I will give you a lot of work, they remain a potential client...only at a much lower voltage.

Anyway, my advice would to learn about the floral industry before thinking about a business model. My intuition is that florists make most of their money most of the time from B2B relationships with businesses such as funeral homes, churches, event planners, etc and that their B2C revenue is mostly centered around Valentines, Mothers Day, and Prom at the local high school.

To put it another way, florists who still exist exist because they have already have a working business model. Any service you provide has to exceed the florist's opportunity cost before it is worth charging even full retail price.</comment></comment></comment>


This 'Demonically Clever' Backdoor Hides in a Tiny Slice of a Computer Chip - <AUTHOR> https://www.wired.com/2016/06/demonically-clever-backdoor-hides-inside-computer-chip/ <comment><USER2> Every time a malicious program—say, a script on a website you visit—runs a certain, obscure command, that capacitor cell "steals" a tiny amount of electric charge and stores it in the cell's wires without otherwise affecting the chip's functions. With every repetition of that command, the capacitor gains a little more charge. Only after the "trigger" command is sent many thousands of times does that charge hit a threshold where the cell switches on a logical function in the processor to give a malicious program the full operating system access it wasn't intended to have. "It takes an attacker doing these strange, infrequent events in high frequency for a duration of time," says Austin. "And then finally the system shifts into a privileged state that lets the attacker do whatever they want."

<comment><USER2> That capacitor-based trigger design means it's nearly impossible for anyone testing the chip's security to stumble on the long, obscure series of commands to "open" the backdoor. And over time, the capacitor also leaks out its charge again, closing the backdoor so that it's even harder for any auditor to find the vulnerability.

</comment></comment><comment><USER3> Clever.</comment>


In-memory hash tree implementation - <AUTHOR> https://godoc.org/github.com/hit9/htree <comment><USER2> > HTree is better for local locks if you want a safe container.

> Goroutine Safety.

Could somebody elaborate on these two points? Why is it a "safe container" and how is it more "goroutine safe" than a map?

<comment><USER3> [Edited for clarity per downstream thread]

Both refer to native maps not being safe for concurrent use (e.g. Safe for use with Go's coroutines -- Goroutine-safe)[1]

[1] [https://golang.org/doc/faq#atomic_maps](https://golang.org/doc/faq#atomic_maps)

<comment><USER2> If I understand correctly, you still need guarding locks for this if reading and writing at same time, or have multiple writers. Isn't this the same as for the native map?

<comment><USER3> It's not clear from the code; the author probably should clarify what "Goroutine safety" means - for reads or for read/write? Your correct about the approach for native maps.

EDIT: The package description punctuation is hard to grasp, but upon a second read, "Goroutine Safety." might be intended as a headline for the next line, which starts with "No." Read that way, your understanding sounds correct.

</comment></comment></comment></comment><comment><USER4> Why would this be faster or more space-efficient than a good hash table?

<comment><USER5> Depends on the implementation. Some algorithms[1] have a load factor no more than 0.80 before insert/lookup performance starts to degrade significantly. Others, like the algorithm used in Rust[2], can achieve load factors in excess of 0.98 without breaking a sweat.

[1] [http://netjs.blogspot.com.au/2015/05/how-hashmap- internally-...](http://netjs.blogspot.com.au/2015/05/how-hashmap-internally- works-in-java.html)

[2] - [http://codecapsule.com/2013/11/17/robin-hood-hashing- backwar...](http://codecapsule.com/2013/11/17/robin-hood-hashing-backward- shift-deletion/)

<comment><USER4> That's why I said "good hash table". Even a simple open-addressing hash table with quadratic probing can easily go to load factor 0.8 with reasonable performance. With cuckoo-hashing you can get much higher and still guarantee worst-case constant-time lookups and amortized constant-time insertions.

</comment></comment></comment><comment><USER6>
        Take 10 consecutive prime numbers:

        2, 3, 5, 7, 11, 13, 17, 19, 23, 29
        And they can distinguish all uint32 numbers:

        2*3*5*7*11*13*17*19*23*29 > ^uint32(0)

Huh? How do I represent 31 (or any prime greater than 29)?

<comment><USER7> You don't represent primes, the primes are used to split the keys up and decide where in the tree it goes.

e.g. to represent 31, you take 31%2=1, so you use child 1 of the root node. If the root node already has child 1, you take 31%3=1 and use child 1 of that node. And so on.

<comment><USER6> Oh, I see. It's like a B-tree with a larger node size at each level, yes? But then what's the advantage of basing the node size on primes? Wouldn't you get the same advantages with simpler code by using successive powers of two at each level instead of successive primes?

<comment><USER8> This is relying on the [https://en.wikipedia.org/wiki/Chinese_remainder_theorem](https://en.wikipedia.org/wiki/Chinese_remainder_theorem)

The idea is that you will find a place in the tree for your given number at a relatively shallow depth, because every number in the ring Z/p1×p2×..pn×Z has a unique list of remainders in the separate rings Z/pnZ. As long as the product of the primes is larger than the size of your key space, then you won't get any collisions.

I'm not sure using consecutive primes starting from 2 is actually the best choice though. You could use any primes you like (or for that matter any collection of factors which are all coprime), so long as their product is more than the largest possible key. The choice of factors should probably be tweaked based on benchmarks in real-world use. For instance, the factors could be 25=5², 29, 31, 32=2⁵, 33=3×11, 37.

[Excuse the lack of subscripts in the notation here; no universally installed fonts contain a subscript n, as far as I know. Likewise I'd prefer to use ℤ rather than Z, but I'm afraid it might show up as little boxes for some readers.]

</comment></comment></comment></comment><comment><USER9> Assuming that the underlying implementations of the Item interface will use some form of hash algorithm to determine the return value of the Key method, how does this deal with hash collisions of two distinct items?

<comment><USER10> It doesn't. It's not a hash, it's the actual key.

<comment><AUTHOR> Yep.

</comment></comment></comment><comment><USER11> HTreeMap from mapdb works similar way.

<comment><AUTHOR> This tree is implemented as the record position informations indexing container for a disk-based storage engine on the bitcask model..

<comment><AUTHOR> And the memory are expensive in that case..

</comment></comment></comment><comment><AUTHOR> And the github project is [https://github.com/hit9/htree](https://github.com/hit9/htree)

</comment><comment><USER12> I wonder: Why primes? Why not just crack off 4 bits at each level?

<comment><USER13> I think if you do it this way you can extend the tree without recalculating all the entries. I can just add the next prime to the list of primes.

<comment><USER14> In that case you could just use a binary tree taking from lsb to msb, and then expand down a level only on collisions.

The reason for primes is that it is more likely to distinguish between numbers earlier in the tree so that it doesn't get as deep as fast. Where a binary tree couldn't tell 0 and 256 apart until the 8th level, this could tell them apart at the second level: 0 mod 3 = 0, 256 mod 3 = 1

</comment></comment></comment><comment><USER15> Is it possible to implement this as an immutable data structure? Or is the duplication necessary for each insertion making it too inefficient to be practical?

<comment><USER16> Would that be a HAMT? [https://en.m.wikipedia.org/wiki/Hash_array_mapped_trie](https://en.m.wikipedia.org/wiki/Hash_array_mapped_trie)

<comment><USER17> Bagwell's paper: [http://infoscience.epfl.ch/record/64398/files/idealhashtrees...](http://infoscience.epfl.ch/record/64398/files/idealhashtrees.pdf)

</comment></comment></comment><comment><USER18> What's the advantage of using wider trees at every level? Asymptotically wouldn't you get the same behaviour with a binary tree?

<comment><AUTHOR> Advantage: constant level time complexity with better space utilization.

The binary tree with the binary-search searching strategy has a time complexity O(logN), which is higher than htree's.

This htree is mainly for memory bounded cases.

</comment></comment><comment><USER19> I love golang!

</comment><comment><USER20> ELI5 why this is cool please?

<comment><USER21> (I'm assuming you're a 5 year old who's at least been through a course on algorithms and data-structures):

It's vaguely stated in the abstract: "Hash-Tree is a key-value multi-tree with fast indexing performance and high space utilization."

The use cases of hash trees are somewhat similar to hash tables (A map where you can quickly look up a key and get it's value), but you'd use a hash tree when you're willing to sacrifice a bit of performance for better memory usage.

"Although hashtable is very fast with O(1) time complexity, but there is always about ~25% table entries are unused, because the hash-table load factor is .75. And this htree is suitable for memory-bounded cases."

<comment><USER22> > "Although hashtable is very fast with O(1) time complexity, but there is > always about ~25% table entries are unused, because the hash-table load > factor is .75. And this htree is suitable for memory-bounded cases."

Do you know htree achieves this space efficiency? I ask because it looks to me like every node has an array of children, like a standard tree. Doesn't the cost of storing one additional pointer for each key add up to at least 25% space wasted?

<comment><AUTHOR> In golang, array is auto-expanding so the children array allocates more space than its length, which depends on the golang internal implementation.

> "Child nodes are stored in an array orderly, and checked by binary-search > but not indexed by remainders, array indexing will result redundancy > entries, this is for less memory usage, with a bit performance loss. "

I just cannot find some way (such as linked list?) to use the exact space with at-least binary-search time complexity.

<comment><USER22> What is the actual space overhead of this structure, and how did you measure it?</comment></comment></comment></comment></comment>


420M People In China Have Internet Access, 99% Use Baidu For Search - <AUTHOR> http://techcrunch.com/2010/11/15/420m-people-in-china-have-internet-access-99-use-baidu-for-search/

<comment><USER3> I find that it's broken down a lot by education / social class. The white- collar workers are more likely to use Google than the bulk of the population, which certainly uses Baidu by default. That said, when Google pulled out, a lot of my Chinese friends also switched to Baidu.

It's totally understandable why: Google China sucks. It's slow and plagued by connection resets and random outages.

Also, it's painful to use as an English speaker. The default locale keeps switching back to Chinese, regardless of whether I'm logged in or not. Google refuses to remember that I want English search results. It really sucks to Google for "Java API" and to have the first search page full of Chinese forum pages where the only English is "Java API" and Oracle's official API docs maybe on page 2. Using a VPN is too slow to merit use instead of Bing. So I've given up, I now Bing all day.

Regarding the reason: Google didn't lose because it's a foreign company, it lost because it refused to understand the market. KFC, GE, Apple, and tons of other American companies clean up in China. Google lost because it wouldn't play ball.

<comment><USER4> I'm not sure how accurate this is. But the Chinese government cares much more about information, and the transmission of information than retail food or luxury electronics. The government interferes in all industries, but especially in areas they consider to be fundamental infrastructure, and search rightly falls into this category.

Many of the problems you talk about (slow, connection resets, etc) are caused by the great firewall. You really think Google don't know how to keep good uptime or know how important speed is?

As for the 'forget english' problem, do you have cookies turned on? Anyway for Chinese users the chinese forums are probably more useful than the official Oracle docs in terms of java api.

<comment><USER3> First, about the language issue:

Cookies are on, I'm logged into my account, and Interface Language and Search Language are both set to English only. Without ever closing my browser or logging out, within 10 or 20 minutes Google will revert to Chinese.

I realize the other problems I'm talking about are caused by the firewall. But that's because Google has not complied with mainland laws or Chinese business culture. Google's poor performance is still Google's fault at core. Had they brought their tech into China and then taken their American hands off and let mainland Chinese (or Taiwanese, who are also adept at the mainland market) businessmen manage their branch as they saw fit, they would've done fine. The government wouldn't have disrupted them if they had focused on maintaining good government relations.

A big part of the reason KFC crushes McDonalds here (it has 4x the number of stores if I recall correctly) is that KFC China was put into the hands of Taiwanese who created localized products and degraded quality and sanitation for the sake of price and fast growth. The American McDonald's managers wanted Chinese McDs to be just like the ones all over the rest of the world - including the same hygiene standards. McDonalds have "A" sanitation ratings where KFCs have "B"s, but it cost them the market.

Incidentally, I switched over to English when I started writing this post and it's already switched back now that I'm at the end.

<comment><USER5> >A big part of the reason KFC crushes McDonalds here (it has 4x the number of stores if I recall correctly) is that KFC China was put into the hands of Taiwanese who created localized products and degraded quality and sanitation for the sake of price and fast growth.

When you put it that way, I can't imagine why Google didn't 'want to play ball'.

<comment><USER3> But cheap and low quality is what the mass Chinese market needs for now. The average Chinese does not have the money of an average American and thus does not value or is unable to pay for the quality of an American-style product.

I'll give you more examples: the plugs for my electronic items never fit snugly into the wall socket, they're either too loose or need to be jammed in. Why? Because it costs more to make the plugs precise. Nobody sells electronic products with better-fitting plugs because nobody would buy them ("What, you expect me to spend more money just so that it's easier to plug in my toaster? Get real."). And Walmart is for the upper-middle class here.

<comment><USER6> No idea why you're getting downvotted. I'm in a not-so-rich country (though definitely not poor) and I can totally understand that some things you just can't afford, even if they may give better value for money.

</comment></comment></comment></comment></comment></comment><comment><USER7> 420M people all talking about things on the Internet, and I have no idea what they're talking about since I don't know Chinese. And I suspect the majority of them have no idea what the English Internet is talking about either.

Even though it was obvious this would be the state of things one day, I still find it somewhat disconcerting that I can't use the Internet to develop an understanding of what such a consequential demographic of the human race are thinking and perceiving.

Such a massive problem, and I hope to live to see the day when it is solved, and ML/NLP provides truly reliable, accurate translation across such disparate languages.

<comment><USER8> You can get an idea of what they're talking about using automated translation tools.

</comment></comment><comment><USER9> That "99%" does not mean that the rest of the search engines share 1% - <USER2> use different search engines for different types of queries. As some commenters pointed out on previous days' news submissions: "if you want to find music/videos, go to Baidu, if you want to find foreign information, go to Google".

</comment><comment><USER10> Fun Fact: Baidu not only imitates Google in its simplistic design, but also in Server HTTP header, which reports: BWS/1.0, as opposed to Google's GWS (I believe before it was GWS/1.0).

</comment><comment><USER11> ... according to Baidu's CEO.

<comment><USER12> yeah China doesn't often inflate figures to the outside world...

</comment></comment><comment><USER13> regarding the 420M number, i believe that the number is actually higher than that because there's a large population of internet cafe users that are hard to count. what's even more amazing, imho, is the number of mobile users: 600M+.

all foreign internet companies have failed in china (meaning they did not take a majority of the market): ebay, paypal, google, twitter, facebook, yahoo, youtube, etc.

it is definitely protectionism. the copy cat companies make a fortune in china, no comment on who that benefits mostly.

</comment><comment><USER14> Google is losing China because the Chinese government will do whatever it takes to make sure domestic companies win in the long run. They will throttle bandwidth, block IPs, subsidize, threaten, deny permits, and use any other levers of power - subtly but effectively - until Chinese companies dominate the domestic market.

Baidu does a great job, but these reasons that Google "was not close enough" are a smokescreen for what's really going on there.

<comment><USER15> Another technique China uses is to allow foreign corporations access, provided that they produce the goods and services sold to Chinese citizens domestically in China. Take, for example, American car companies which do brisk business in China. The brands are popular and American, but the cars themselves are all Made in China. China wins, American corporations win, only the American people lose.

China is engaging in naked mercantilism, artificially depressing their currency to maintain a trade surplus, enacting tariffs and other protectionist measures to limit imports and foreign access to domestic markets, and trying to secure a monopoly on natural resources with the aim of waging economic warfare against other nations, as they demonstrated recently with their decision to halt exports of rare-earth minerals to Japan over a minor territorial dispute.

This is far worse even than what we've come to expect from our supposed allies in Europe who routinely slap 15+% VATs on our exports and selectively enforce regulations to target mergers and acquisitions by American companies.

I hope the policy makers who kept telling us that China would liberalize and become a responsible power as it developed are satisfied with the situation they helped to create. I doubt they'll be the ones to have pay the price for it.</comment></comment>


Airbnb Checks Out of Russia - <AUTHOR> https://themoscowtimes.com/articles/airbnb-checks-out-of-russia-57731 <comment><USER2> Airbnb closes its Russian subsidiary but keeps dealing with guests and hosts in Russia, see original article (in Russian): [https://www.kommersant.ru/doc/3267744](https://www.kommersant.ru/doc/3267744)

</comment><comment><USER3> I was under the impression that businesses which serve the Russian market must keep their data in RU and should not "leave" RU. Do they still host their servers there or is my impression off-base and you can operate from the outside without having to have in-country physical presence?

<comment><USER4> I'm a software engineer at Airbnb. I don't know Russia's laws but I know we don't host our servers in Russia.

<comment><USER3> The law in reference is the colloquially named "server law" or "personal data localization law".

LinkeIn for example ran afoul accoring to: [https://www.rt.com/news/379720-linkedin-russia-law- blocked/](https://www.rt.com/news/379720-linkedin-russia-law-blocked/)

As well Google moved some servers to Russian data centers to comply with the law: [https://www.wsj.com/articles/google-moves-some-servers-to- ru...](https://www.wsj.com/articles/google-moves-some-servers-to-russian-data- centers-1428680491)</comment></comment></comment>


Bootstrap 4 Beta 2 - <AUTHOR> https://blog.getbootstrap.com/2017/10/19/bootstrap-4-beta-2/ <comment><USER2> I've been using the Bootstrap 4 beta for a couple weeks building a side project ([https://nanagram.co](https://nanagram.co)) and I must say, it's been great to use. The built in utilities for responsive views and spacing are especially useful. Made optimizing the homepage for multiple screen sizes super fast and not painful at all. The Beta 1 had pretty good documentation and seemed pretty mature as well. Looking forward to upgrading to the Beta 2.

<comment><USER3> I signed up for your service. Do you have any competitors in this space? I thought the experience overall was very simple. Are you thinking about adding options for the prints? For example, glossy v. matte or 4x6 v 5x7?

Edit: I see you replied to someone else and I cannot tell if the service is actually live (as in my card is going to be charged and photos are going to ship).

<comment><USER2> It's live, and thanks for signing up! The photos you text in will ship in a month from now.

We're definitly going to add other options in time. Right now we're trying to get the MVP right with 4x6 glossy prints.

There's a few other services that let you send postcards (expensive) or use apps to let you grab pictures from your phone. The apps tend to have more friction than just sending an MMS and to my knowledge, we're the only ones that let you add the captions for context for your grandparent.

Would love feedback as you use it more. We're pretth fast at building stuff and love hearing ideas from our customers.

<comment><USER3> Another option that would be good would be to allow to crop. I know I sent some photos in that are not 4:3 so I'm curious to know how they will print. I'm assuming they will be centered by whichever print to ship service, but others that may not understand what's happening here might have some heads chopped off in a printed picture.

</comment></comment></comment></comment><comment><USER4> I know I am going to be downvoted so hard, but really it's very easy to build you own css these days, css frameworks look an easy solution for beginning your project but they become a burden gradually as your project grows

<comment><USER5> For the projects Bootstrap was designed for, the choice isn't between Bootstrap and a professionally designed custom theme; the choice is between Bootstrap and a white background with all text in Times New Roman 16 pt.

<comment><USER6> I wonder why people don't get this. It's not like you're doing a Fortune 500 company's website with Bootstrap.

<comment><USER7> I bet we can find 50 uses of bootstrap in the f500.

<comment><USER8> At least. I've seen lots and lots of internal tools, product admin dashboards, and the occasional single-page product marketing sites, like the one the overworked intern, Todd, threw together in the 24 hours between the time the virtually-without-requirements demand was dropped on his tiny, cramped, mid- bullpen loaner desk and when he launched it into production to zero thanks.

</comment></comment></comment></comment></comment><comment><USER9> Is modular css changing bootstrap adoption? I'm a backend guy so I don't have much experience to develop a sense of large-scale front-end trends. I've used bootstrap since early v3 in various places and usually found it time-saving, easy to build responsively, and fairly easy to customize.

However, just as frameworks like angular and libraries like react are "componentizing" the front end and replacing general purpose utilities like jQuery, will we see a similar trend with modular css where component styles will replace the need for large css frameworks like bootstrap? Or is modular css merely a complement to whatever sitewide css framework you've chosen?

<comment><USER10> Taking advantage of what bootstrap has to offer requires writing your page structure with it in mind. It's both a method of structuring HTML and a CSS framework. I suppose you could pull out and compartmentalize certain specific features, but in my mind the core of bootstrap is the grid and component system, and those are pretty heavily tied together.

</comment></comment><comment><USER11> It's an interesting time for web development in general. As the industry moves towards standardized web components, CSS frameworks--like Bootstrap, Foundation, Bulma, etc.--will fit differently into the puzzle. The demand for CSS frameworks will persist, but more of the implementation details will be abstracted away within components.

</comment><comment><USER12> Happy to see Bootstrap 4 moving to a final release. Beta 1 is already very mature though. I love it.

</comment><comment><USER13> Bootstrap 4 is great and a pleasure to work with. Documentation structure on the other hand... Main nav section on the left with subsections on the right is totally counter-intuitive.

<comment><USER14> Plus occasionally (at least in the earlier days of beta 1) you'd Google something and end up in the Alpha 3 docs without necessarily realising.

</comment></comment><comment><USER15> I honestly believed this to be released already. Completely surprised by this :).

</comment><comment><USER16> Congrats on shipping the 2nd Beta!

My favorite part of Bootstrap 4 is actually its newly included CSS reset Reboot [0]. It's built on Normalize, but also provides a set of very compelling improvements like making use of the native font stack, a bunch of very sensible spacing and layout adjustments, and built-in optimizations for touch responsiveness (removing the 300ms delay). I'm definitely going to be trying it out on my next project regardless of whether or not it uses Bootstrap itself.

With that said, I don't mean to rain on the parade, but I've been gradually deviating away from using CSS frameworks for my projects, not because I don't _want_ to use them, but rather because most CSS frameworks don't seem to mix naturally with component-oriented CSS-in-JS libraries like glamorous [1], which is my preferred way to work with styling these days.

If I do include a CSS framework, I end up having to use a mix of custom component-scoped styles and global CSS classes from these frameworks, and those CSS classes may have margins and cascading effects that reach into children. This breaks component-level style isolation, and makes the styling of children much harder to reason about, which defeats much of the purpose of using component-oriented CSS to begin with.

What I really want to do is to import styles from a well designed CSS framework _as a JS module_ (but I'm willing to accept anything that's properly namespaced and isolated, like CSS Modules), and compose them with my own styles without worrying about a polluted global namespace or styles from parents reaching into children/vice versa or fighting with specificity issues.

So far, I haven't found any CSS frameworks that fit the bill, but Tachyons [2] seems like it could be close enough (by emphasizing modular, low specificity, shallowly cascading styles) that I could maybe just run it through a CSS to JS compiler like native-css [3] and import its classes and compose them as I would with any other JS style object. This is something I'm going to experiment with soon enough, but I'd love to hear if others have any thoughts/experiences they'd like to share on using CSS frameworks with component-oriented CSS.

[0] [https://getbootstrap.com/docs/4.0/content/reboot/](https://getbootstrap.com/docs/4.0/content/reboot/)

[1] [https://glamorous.rocks/](https://glamorous.rocks/)

[2] [http://tachyons.io/](http://tachyons.io/)

[3] [https://github.com/raphamorim/native- css](https://github.com/raphamorim/native-css)

</comment><comment><USER17> What they didn't default to Grids and provide a fallback? the grid system examples in their docs are scary.

<comment><USER18> What is scary about it?

<comment><USER17> The div hell.

<comment><USER19>

left sidebar

content area

right sidebar

This is div hell to you? O_o

</comment></comment></comment></comment><comment><USER20> [http://tachyons.io/](http://tachyons.io/) \+ Bootstrap make a great combo. Especially if using a build system like webpack.

Bootstrap has a nice grid system (although the actual CSS standard is amazing now) and handles basic elements like buttons well. For everything else, Tachyon's component helpers make layouts really easy and fast.

</comment><comment><USER21> Nobody cares anymore, everybody moved on to bulma and other things, bootstrap is yesterday's song

<comment><USER22> Bulma is very far behind.

* Lacks all the JS components

* Lifts from Bootstrap for most of the CSS components, sometimes down to the class name

* Makes the mistakes of early Bootstrap, namely heavily nested classes like .card .media:not(:last-child) that are difficult to overwrite and cause great pain when customizing

* Uses antiquated non-extensible syntax/naming conventions for breakpoints, such as "is-desktop" instead of "small, medium, large" etc

* grid system is not flexible, breakpoints are hardcoded and there's no easy way to generate your own grid

* no mixins I can use in Sass instead of using classes in HTML. There are a few helpers but no way to setup columns without HTML classes (like you can in Bootstrap)

* overall lack of easy customization, no theming tool and very limited variables. in BS almost everything can be customized using Sass variables

It simply isn't as mature or battle-tested as Bootstrap. There's a reason it's not 1.0 yet. BS can do everything Bulma can, the reverse is not true.

<comment><USER23> Coming from BS3+jQuery, BS3/4 was confusing or obtuse to use the jQuery dependent parts with VueJS (modal being a good example). Most BS+VueJS libraries were incomplete or broken somewhere in the VueJS 1 => 2 shuffle. Bulma was not confusing, it's JS agnosticism being the main reason.

<comment><USER20> Bootstrap can be used with just the CSS and none of the JS components, although Vue also makes it easy to encapsulate jquery into components. [1]

Tachyons [2] is another CSS framework that basically takes the component approach to the extreme and makes all styles separate, like bootstrap being made of only utilities.

1\. [https://vuejs.org/v2/examples/select2.html](https://vuejs.org/v2/examples/select2.html)

2\. [http://tachyons.io/](http://tachyons.io/)</comment></comment></comment></comment>


Ask HN: Easiest cloud solution to deploy a Tomcat/Mysql/Java app - <AUTHOR>

Folks Although I have worked on amazon ec2 before, it was with an already set up account. I am trying to find the quickest way to deploy a prototype by this weekend. I do not want to use Google App Engine since I would like to use MySQL. I am looking at EC2 and was wondering if someone can tell me what option I should go for. I was considering a shared public AMI (such as http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1725). I am quite comfortable with doing this on my laptop and I think it should be fairly easy to do so but wanted to see if someone tells me something here at HN that I may not think of.<p>Thank you! EDIT: I have a very small data (since it is just a prototype) so scalability, performance etc are not important. <comment><USER2> Why not use a Linode or Slicehost slice.

Of course you'll need to setup the slice by yourself but you shouldn't need more than few hours and AFAIK it's cheaper (I use Linode and I'm very happy with it).

<comment><AUTHOR> Thanx! Is the "set up" as simple as installing stuff (tomcat/mysql/jdk) or is it more complicated? If so it should be not more than 30 minutes to an hour max?

<comment><AUTHOR> Just emailed the linode folks and got a response back! Most likely I would go with linode. @mickeyben, let me know if i should give your referral or something (assuming i go with them should decide by tomorrow)...

<comment><USER2> Hey serverdude, hope you'll enjoy it as much as I do.

Thanks for the propositions but it's ok.</comment></comment></comment></comment>


Ask HN: Can anyone recommend a good CDN? - <AUTHOR>

Can anyone recommend a cost effective reliable CDN for media hosting? We'll be serving static files that are part of an online game. Please share any experiences. Thanks. <comment><USER2> I had really obnoxious experiences with Akamai, Limelight and Panther Express. Technically - their services were fine, it was just all the other layers of people I had to deal with that was a pita.

<http://www.bitgravity.com> was my fav.

</comment><comment><USER3> as long as its not streaming video or something, so far CloudFront/S3 from Amazon Web Services has been very fast and easy to use, and you pay for what you use. If you google for 37signals and AWS you can find their monthly bill, and it was seemly low for all the data they used.</comment>


Getting snappy – performance optimisations in Firefox 13 - <AUTHOR> http://hacks.mozilla.org/2012/05/getting-snappy-performance-optimisations-in-firefox-13/

<comment><USER2> I know there was a big fuss when Firefox moved over to the rapid release model, but it really seems to have energised the developers. We're seeing a lot of improvements in areas that never seemed to get the love before, and I suspect that knowing the users will get their hands on your changes in 6 weeks is responsible for a lot of that.

<comment><USER3> _We're seeing a lot of improvements in areas that never seemed to get the love before_

Mozilla started increasing its paid staff about 1.5 year ago and it almost doubled. Most of those people are now well worked in. It would have been sad if there was no user visible improvement. (Of course, not all new hires went to desktop Firefox with critical projects like B2G starting etc)

Increasing the release schedule coincided pretty well with that in getting the new work out faster, too.

</comment></comment><comment><USER4> I love that FF is focusing on performance. FF startup time used to be really annoying but is it that important anymore? Do people actually close their browser?

Unless I encounter memory leaks or similar problems the only time I open my browser is when I restart my computer, which is at most once a month.

I'm curious if this data exists. Is there data on how often people close / open their browser?

<comment><USER5> I leave my browser open always, only closing it to clear out the memory leaks. So start-up isn't terribly important to me.

My FF opens pretty quickly by my standards. What seems to take forever is _closing_ it. It seems to me that there ought to be some performance optimizations to be found in that area.

<comment><USER6> Are you using Readability? There was a recent change made to fix massive shutdown hangs when using that addon (or others that use FUEL):

<https://hg.mozilla.org/mozilla-central/rev/139e8e845aa5>

</comment></comment></comment><comment><USER7> I am heavy user of browsers and I have never noticed any difference in speed between Firefox, Chrome and for that matter IE in terms of my normal browsing. I usually have several browser windows open and sometimes over 100 tabs or more. Firefox wins hands down for its vastly superior tab handling and addon infrastructure.

Speed, for me, just has never been an issue.

<comment><USER8> I'm a die-hard Firefox user; can't live without tab mix plus but Chrome is significantly faster rendering my web application than Firefox or IE. We recommend it to all our customers for that reason -- the difference is striking.

Our application is not JavaScript heavy but it does contain a lot of HTML.

<comment><USER9> I switched from Chrome to Firefox a few weeks ago. Yes, Chrome is noticeably faster for every rendering task. In particular, it's nice that single tabs don't slow down the whole browser.

In the end though, both work fine and I don't mind the difference in speed too much.

<comment><USER8> Why the switch? I don't imagine there are too many people switching from Chrome to Firefox. I simply can't live without the features I've gotten used to, but if I didn't know any better I'd probably just stick with Chrome.

<comment><USER9> For some reason, my main Chrome installation broke (kept resetting itself every few days). Also, I became fed up with sending all my settings, bookmarks and history to Google.

So I tried Opera. It had a few quirks which ultimately threw me off too much. Hence, Firefox. It does not annoy me (much). That is all I ask from good software.

Also, Firefox syncing is quite amazing.

Divorcing myself from Google is still in progress though, with maps and calendar being the last holdouts.

</comment></comment></comment></comment></comment><comment><USER10> Anyone know any more details on what's actually different about the cycle collector?

<comment><USER11> I work on the cycle collector. The basic idea of a cycle collector is to trace through suspicious objects to find ones that can be freed. If you can tell that an object is alive, then you don't need to trace through it. There was already some support for this (if a DOM object is in a document being displayed, it must be alive), but we've added support for many other common cases (for instance, if a JS object is reachable from a DOM object that is in a document that is currently being displayed, it and all JS objects reachable from it must be alive).

This is mostly a process of logging what the cycle collector is looking at, then trying to figure out if there are reasons why particular objects are always alive that we could take advantage of. The most common cases have been taken care of in Firefox 12 and 13, so we're left with a variety of little cases. This results in exciting bugs with names like "unmark gray objects held alive by nsXBLDocGlobalObject of skippable nsXBLDocumentInfo" ( <https://bugzil.la/735550> ).

The bug grayrest linked to has a good list of them, as well as one of its subbugs ( <https://bugzil.la/716598> ).

<comment><USER10> Thanks for the info!

</comment></comment></comment><comment><USER12> It's great that FF is advancing in performance terms and slowly closing the gap with Chrome.

However, the big pain is the memory leaks caused by the addons (namely Firebug) which make the memory climb to 2 gigs after 4-5 hours of development. I guess they should be focusing on these issues too, since some of them are so popular, that users prefer FF thanks to them (like the aforementioned one).

<comment><USER11> In fact, we have recently fixed a common source of addon memory leaks: [http://blog.kylehuey.com/post/21892343371/fixing-the- memory-...](http://blog.kylehuey.com/post/21892343371/fixing-the-memory-leak) The version containing this fix is scheduled to be released in August, I believe.

</comment></comment><comment><USER13> From a user experience point of view, I find that Chrome's pre-rendering of pages when you start typing them is a big deal for me now. Sometimes it makes a big difference on how fast you perceive the page to load - it loads instantly. Mozilla might want to copy that feature or do something similar.

</comment><comment><USER14> I don't agree with the browser-on-demand solution, and while I'm glad I can turn that option off, I don't think it goes far enough. What I want is for background tabs to be loaded after the current tab, and done in such a way that doesn't disrupt my current browsing activity. Maybe load them one at a time after the current one is done rendering.

</comment><comment><USER9> > Firefox start-up time is visible to all users.

Really? Except for OSX users that is. Still, improving startup time is a good thing.

</comment><comment><USER15> The reason I prefer using chrome than firefox is that I get freeze when viewing a video. I don't see them with chrome. But I prefer firefox's management of memorized passwords.

</comment><comment><USER16> Noticed the 'tabs-on-demand' feature a few weeks back in Nightly. That's a great feature, that should have been in there earlier.

You can turn this behaviour off as well. I'd like to see perhaps the option to turn it off on an individual site basis. Or perhaps set a default value of off for pinned tabs (I haven't tested, the behaviour of pinned tabs.)

<comment><USER17> I have the feeling that in the beginning, the idea of preserving your tabs was precisely because you wanted them to be prerendered. Then it became a way to have some sort of "front line bookmarking"

<comment><USER18> I feel like browsers have failed to innovate on bookmarks. The problem with bookmarks is that once you have too many they become unweildy. There should be a separate between "stuff I visit a lot" and "this great article about Early Modern Spain that I want to read later". I'm glad that Safari is delving into the latter a bit now.

<comment><USER3> Unsorted bookmarks + Awesomebar in Firefox works great for that. It's search- inside-bookmarks is great.</comment></comment></comment></comment>


Are we raising a generation of nincompoops? - <AUTHOR> http://www.boston.com/news/nation/articles/2010/09/27/are_we_raising_a_generation_of_nincompoops/?page=full <comment><USER2> I don't see a very convincing discussion of how this differs from any other generation. Yes, people are using electronic devices for some things that they used to do mechanically. And people in the past generation or two also did--- and used mechanical devices for some things that they used to do manually. The helplessness angle in particular predates even that, and goes back to specialization, where people would have no idea how to do things that once were considered basic knowledge, because they now just buy them or pay someone else to do them.

Some of the complaints seem very similar to some of the stuff you can read from the late 19th century, where farmers complain that city-dwellers couldn't milk a cow if their life depended on it, and seem to think that food comes from grocery stores. I could even buy that maybe we _should_ have a wider range of basic DIY knowledge, but I don't see it as a unique problem of this generation. Why is kids not knowing how ice is made a bigger loss to society than kids not knowing how butter is made, which the article author doesn't seem too worried about?

</comment><comment><USER3> This is a pretty stupid article. It basically boils down to, "I'm old and it's my right to assume kids are stupid even if maybe they aren't - but I know they are! So there!"</comment>


Shareable shopping lists with real time updates - <AUTHOR> http://papercart.online <comment><USER2> Should attempt to build facilities around categorizing the list so all fruits and veg show up together, all meat, dry goods, etc.</comment>