What happens when I choose to "Suppress Ads" on Salon? - <AUTHOR> https://www.salon.com/about/faq-what-happens-when-i-choose-to-suppress-ads-on-salon/ <comment><USER2> This is everything I wanted from micropayments. Please, take my money rather than forcibly taking my attention and shoving garbage through my brain. Too bad it has to waste electricity, but at least it's not abusing my poor, finite, distractible, distortable brain. It's not precious to anyone else, but it's precious to me.

<comment><USER3> > _Too bad it has to waste electricity..._

It doesn't waste electricity. It _uses_ a lot of electricity to create a secure global payment network that can solve the micropayments problem. Sacrificing efficiency for decentralization was a key design decision in Bitcoin.

YouTube cat videos and daytime television are genuine wastes of power. Humanity has to solve the power generation problem and processors are already far more power efficient than they were.

<comment><USER4> Cat videos and daytime television waste _less_ power while providing _much more_ value.

Ultimately cryptocurrencies have some value offering, but it's of dubious utility, because you can get 99% there with a little bit of trust, and then you don't have to pay this _humongous_ upkeep in electricity.

 _Popularity_ of cryptocurrencies is almost entirely driven by greed, so it obscures the actual value of blockchain tech.

<comment><USER5> Keep it in mind that Proof of Work is necessary for this initial world of decentralized trust to be created, but after that, it is not necessary. Nearly all the other cryptocurrencies can bootstrap themselves using bitcoin and following Proof of Stake or some other non-PoW algorithm.

Even if Bitcoin dies, we still don't need to bring PoW again.

</comment></comment></comment></comment><comment><USER6> In the crypto money flow, I get to see the page for a $0,20 payment from me to my electricity company, but I'm still struggling to see the value transfer from the electricity company to Salon.com.

Someone™ is paying good greenbacks for irrefutable proof of me wasting kilowatts. The more I try to understand that part of the crypto value chain, the more bizarre it seems. "It's a store of value", i.e. Salon.com can later pay someone else with the same "proof of wasted cpu cycles"? What?!

<comment><USER7> It's just proof that you didn't forge a scarce commodity. The value isn't related to the wasted electricity, but the hard problem the electricity was used to solve. Love it or hate it, it makes sense.

<comment><USER8> It doesn't make sense because it's a negative-sum game.

The only thing people are actually using Bitcoin for right now is to sell to other people for more than they bought it (or maybe to sell for less than they bought it to launder money).

The total amount made by the buyers and sellers is zero (because every buyer is buying from a seller), and there has to be a constant inflow of new buyers just to cover the cost of the hardware and power.

<comment><USER9> Tell that to a Venezuelan, who can provide a family with a single antminer.

It will make sense to you in 5 years.

<comment><USER10> How exactly? Who is doing this? Withdrawal from exchanges into Venezuela? Who is buying bitcoins for Bolivars?

How did the family get the capital asset of an antminer in the first place? How are they paying for electricity?

How is this sustainable? Why is a random family able to compete with businesses that have real economy of scale, rather than having their margin driven to zero?

<comment><USER9> [https://hackernoon.com/extortion-police-raids-and-secrecy- in...](https://hackernoon.com/extortion-police-raids-and-secrecy-inside-the- venezuelan-bitcoin-mining-world-6e97a25e7402)

[https://coin.dance/volume/localbitcoins/VEF](https://coin.dance/volume/localbitcoins/VEF) (example of local trading)

Remittances, family abroad (easy via BTC to circumvent restrictions). Bitcoin is stable compared to a hyper inflation of +2,616%.

</comment></comment></comment></comment></comment></comment><comment><USER11> The increased use of browser mining has made it a lot easier to convince people to globally disable Javascript (or install noscript/etc). Security concerns are rarely convincing, and tracking can be hard to explain, but paying for more electricity and worse UI response time are things people actually care about.

<comment><USER12> > The increased use of browser mining has made it a lot easier to convince > people to globally disable Javascript (or install noscript/etc).

Has it though? Do you have any data to back up this assumption?

I can't find ANYONE who is tech illiterate who understands any of this stuff and those that I know are tech literate either don't notice or don't care about JavaScript. I've only ever met very, very few people who disable JavaScript and when they do it's always been piecemeal.

I haven't been able to find any statistics regarding who does and doesn't disable JavaScript, their group size, etc. It would be really interesting to know!

<comment><USER13> I've disabled JS and only enable it in incognito when needed/when mandatory for a particular site. Tedious I know, but a habit I picked up when everyone started autoplaying videos.

<comment><USER14> Don't need javascript to autoplay videos.

<comment><USER13> On most sites you do. I do this everyday. I should know what I'm talking about.

</comment></comment></comment></comment></comment><comment><USER15> The last two paragraphs is where it gets sleazy. They're saying you'll "help support the evolution and growth of blockchain technology and cryptocurrencies" (a.k.a. paying Salon from your electricity bill), but then allude to the fact that this technology COULD, theoretically, maybe, be used for all sorts of good stuff. Never mind that what it's actually going to be used for is, again, paying Salon.

I approve of their transparency, and I don't have a rational complaint against the method of revenue generation at the moment, but the last part there is an attempt to put lipstick on the pig

</comment><comment><USER16> For those unfamiliar, Salon.com is a new media company that publishes articles on current events from a left-leaning perspective - for example, "Bitcoin could cost us our clean-energy future" [1]

[1] [https://www.salon.com/2017/12/06/bitcoin-could-cost-us- our-c...](https://www.salon.com/2017/12/06/bitcoin-could-cost-us-our-clean- energy-future_partner/)

<comment><USER17> > Salon.com is a new media company

 _Salon_ was founded in 1995 (and its close analogue _Slate_ a year later). I guess that "new media" can encompass anything that was primarily digital from the start, but it still feels weird to see that tag applied to something that has been around for over two decades now.

</comment></comment><comment><USER18> A decent first effort at transparency, but there's one very obvious question missing from the FAQ:

"Will my electricity bill go up or my laptop battery drain faster when I am participating?"

Can't help but think they omitted this on purpose.

</comment><comment><USER19> Adblock Plus has a cryptominer list. Yes, it does work in ublock origin.

Problem solved? I think so.

<comment><USER20> It's pretty easy to proxy the request to a cryptocurrency miner pool through the web server of the main site. e.g. [https://github.com/cazala/coin-hive- proxy](https://github.com/cazala/coin-hive-proxy)

Site owners have incentive to run this proxy so they're not marked as a mining site OR to circumvent the X% fee that coinhive/other cryptocurrency pools collect.

So the adblock/ublock origin fixes will only work until site owners decide to start proxying. IMO search providers should penalize sites with poor performance (as they already do) and site owners are penalized if they suck the consumers CPU.

edit: Fixed last sentence

<comment><USER21> Is that not currently the case with ads, and addressed by blocking certain scripts/elements even if they originate from the same site?

I'd also suspect that it'll just lead to different ways of detecting miners (e.g. fingerprinting the behaviour of mining algorithms, or just blocking scripts that use more than a set CPU budget by default).

<comment><USER20> Detecting a similar script should prevent the proxying from working, but if the script is bundled into the main JS of the site (as many sites do now) it would be basically impossible to stop w/o blocking JS altogether.

Not sure if browsers can fingerprint script execution patterns, that's way further down than I go.

Script blocking will probably work most of the time, just as blocking certain urls gets rid of most ads.

</comment></comment></comment></comment><comment><USER22> I actually wouldn't mind if someone made a application that would run on my computer and mine for sites I choose 24/7\. Something easy like Minergate or Nicehash but where you say mine for Metafilter, Reddit, and Ars.

I would totally do that since it is 26ºF right now and I am actually mining a shitcoin to heat my apartment. But you would need to have a easy to set a limit like 10% and back off (nice -19) so if I was doing heavy stuff it would throttle.

edit :: and I know minergate steals hashes. But the software is really nice.

</comment><comment><USER23> I recall we have once discussed this kind of payment for articles, but back- of-the-envelope calculation showed it would take ~170 hrs to mine one cent.

<comment><USER24> Is that really much worse than what advertisers are paying?

I'm only kind of kidding.

<comment><USER14> I mean, if they're making close to zero because of adblocker, its better than nothing right?

</comment></comment></comment><comment><USER25> Does mining work also in reader mode? Probably not. There is also NoCoin.

Anyway, I rather lend them some CPU than get ads on my screen.

<comment><USER26> I would rather do neither.

My CPU, my bandwidth, I decide what runs.

If they want money, they can put up a paywall.

<comment><USER27> > I decide what runs

Exactly. No-one is forcing you. You are confusing this with sites starting the miner without consent.

<comment><USER26> When sites are specifically proxying their miners, to act as if they're running in a first-party context, that is deceptive, and done specifically to get around adblockers and mining blockers.

Make it 100% opt-in and tell people in no uncertain terms up front what they're signing up for, then _maybe_.

<comment><USER28> > Make it 100% opt-in

It seems to be 100% opt-in in the terms of either you select ads or mining, I am certain you probably mean you want to opt out of ads and mining.

<comment><USER26> That is not opt-in, that is a forced choice between two evils.

I do not wish to be forced into an opt-out situation. It is opt-in or nothing.

I will continue to block ads, miners and other malicious scripting. They can offer whichever ad or miner they want, and I will simply refuse and block all of them from appearing on my device in my browser to consume my battery power and my bandwidth.

They are more than welcome to put up a paywall, either single payments or a subscription service, and I will pay for their content if it is appealing to me. They are also welcome to (attempt to) block me for using JS/ad blocking. It will either be completely ineffectual and easily circumvented, or it will make me go to other sites, that don't treat their customers as cash cows.

I have absolutely no obligation to unknowingly fund other people's internet profiteering moonshots. If they want money, they can ask for it honestly and directly. I support several content creators on Patreon, and I regularly donate to various open source projects and the like.

I don't mind paying for stuff, but I _do_ mind when it doesn't happen openly and transparently.

</comment></comment></comment></comment></comment></comment><comment><USER29> This again falls under the heading of "environmental disaster".

<comment><USER8> It blows my mind that the first site to openly make their users participate in this disaster is the supposedly "progressive" Salon.

Is it clear what they're trying to mine? They have these silly feel-good examples like folding@home but it sounds more like they're going to be moving drug money for anarcho-capitalists like everyone else in this space. Probably Monero, right?

<comment><USER29> That one makes the most sense, given that it'll be CPU mining.

</comment></comment></comment><comment><USER30> CPU mines Monero not Bitcoin.

<comment><USER31> Why do I keep seeing this everywhere on the internet? There's no technical reason not to mine bitcoin on CPU.

<comment><USER32> Because even when you're not paying for electricity, there's much more profitable coins to mine.

<comment><USER31> That doesn't mean that CPU can't mine bitcoins.

<comment><USER33> Just because you _can_ doesn't mean you _should_. If you're not going to make money mining Bitcoin, then why do it?

<comment><USER31> Are we mining Bitcoins here?

</comment></comment></comment></comment></comment></comment><comment><USER34> For me, this calls back to a need for micro-transactions much like Flattr, but for all sites. Set your own category budget (e.g. $10/m for 'news'), and then the extension keeps tabs on the sites you visit and the categories they fall under. At the end of the month, the budget is divided up equally.

It doesn't sound like a lot, but even a dime or two per person adds up to more than these companies are seeing from the adblockers.

<comment><USER35> Check out the brave browser and its payment settings.

<comment><USER34> yes! that's along the lines I was thinking. On the surface its such a simple idea, but it doesn't seem to be widespread. I also like that it takes into account time spent on the site, but not as the sole metric.

In my view, this will be part of the future of a somewhat ad-free internet.

</comment></comment></comment><comment><USER36> Think it's interesting how angry website miners make people vs just a banner ad also consuming your entire CPU.

Definitely feel it has an element of Bitcoin FOMO to it. The idea someone used their CPU could get rich off it angers people more than just a badly coded ad using the same amount of CPU.

(Not saying the anger isn't justified, purely an observation when really the power wastage is the same)

</comment><comment><USER27> I don't understand the comments in this thread. You explicitly have to allow Salon to use your CPU so how is NoCoin, NoScript and other blockers relevant here at all?

The only real argument against this is the environmental one, and it's a big one.

</comment><comment><USER37> This may be the first step towards a new W3C standard: CPU-as-a-payment.

If browsers and sites could agree on a shared spec, it would provide great UX, with fine grained permissions, promoting well behaving websites while rate limiting others.

</comment><comment><USER38> I am not interested. I just installed the noCoin filter in uBlock. For all I care your service either

1) provides free content

2) provides content that's so irreplaceable that I will pay for it

3) dies

</comment><comment><USER39> Soon, there will be CPU blockers to counter this; site sees you have an ad blocker so it uses your CPU; browser's counter-measure notices CPU being used for crypto-currency mining or whatever else, and throttles those threads down to a trickle.

"We have noticed that processing in your browser is suspiciously slow; are you using a CPU blocker? ..."

</comment><comment><USER40> Would be interesting to pull their destination bitcoin address and see stats of how many nano-bitcoins they've mined so far.

<comment><USER41> They're not mining Bitcoin, they're mining Monero, and a key property of Monero that makes it a currency is that you can't tell how much someone has.

</comment></comment><comment><USER42> Anyone know the cost of the mining rig in comparison to the cost of power for running the mining rig? Seems like it would be easier for Salon to just buy their own mining rig but if the energy demands are extreme I can see why they would want to offload this to their readers. Seems convoluted but hey this is the internet.

<comment><USER43> This is not a way for Salon to mine crypto. This is a way for Salon to get a small amount of money from each of their readers, replacing the small amount of money they used to be able to get by serving some ads along with their articles.

The equivalent action is not "Salon buys their own mining rig". The equivalent action is "you and a bunch of other readers kick in a buck, and then Salon buys a mining rig".

</comment></comment><comment><USER44> Salon needs to fix their malvertising redirect problem, seems more rampant there than anywhere else.

</comment><comment><USER45> This is a cool twist on the hashcash idea, where Salon gets paid when you do a proof-of-work.

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

</comment><comment><USER46> Are they mining monero? Seems like it w/ CPU usage and apparently being profitable

</comment><comment><USER47> maybe this is a good idea for open source projects. they can ask their users to open a page and runs in the background with lower priority than users tasks. when the computer is idle they can mine crypto.

</comment><comment><USER48> I wrote about this model few days back. [https://medium.com/@troysk/saving- journalism-with-cryptocurr...](https://medium.com/@troysk/saving-journalism- with-cryptocurrencies-4db4bd15acc9)

<comment><USER49> It's clear you've never worked at a newspaper. If one of the major publications tried this sort of hijinx the other papers would latch on and give them badwill to no end. This is not the way to "save journalism", and it's a truly terrible idea that will kill whatever serious publication dares try it. The CBS Showtime site you refer to as "HBO Showtime" in your article was likely hacked, so doesn't back up your point at all.

</comment></comment><comment><USER50> Great, more sites that will make my laptop sound like an aircraft taking off.

Just nope. If you want to block me from accessing your content with an adblocker active, go for it. But you aren't using my machine like this.

Without explicit agreement I wonder if it's even legal.

<comment><USER14> I would love it if browsers detected spikes in cpu usage and ask if you want to end the script, similar to when a page stops responding/locks up.

<comment><USER51> Firefox does do that.

<comment><USER50> AFAICT firefox does that when it starts causing problems for the page, and causing unresponsiveness, but not just for processor spikes.

</comment></comment></comment></comment><comment><USER52> uBlock Origin is blocking browser-miners as well tho.

</comment><comment><USER53> > complex math problems that form the integrity of blockchains

There is no complex math problems being solved, it's litteraly additions. I gringe my teeth everytime I hear that.

</comment><comment><USER54> It seems that a browser should be built that offers X mining power while visiting site in exchange for no ads or trackers. Instead of malware, mining could be a way to free the web of all its privacy ills.

<comment><USER26> Paying for website access by needlessly wasting CPU power.

Doesn't sound like a particularly good idea, especially for laptop users.

<comment><USER54> I understand this point. But on the other hand, it is not necessarily wasting cpu power. It is converting CPU power to payment for content, as a type of seamless micropayment, not requiring punching in credit card numbers, 3rd parties, setting up accounts etc. Some browser-based standardization of a unit of cycles per view might be established. I don't know, just exploring. The current state of the internet kind of sucks in terms of privacy.

<comment><USER26> It's wasting CPU/GPU cycles and battery power, vastly more than would be used for a simple micropayment with actual currency.

I refuse to participate in the degradation of my devices' performance as "payment".

<comment><USER54> More than the current system of loading thousands of ad networks?

<comment><USER26> Same same.

I block ads with great prejudice and I'll block miners with equal prejudice.

Both are a waste of my bandwidth, my battery power and my attention.

</comment></comment></comment></comment></comment></comment><comment><USER55> Wow! Oddly I think this is totally acceptable but will eventually go way off the rails with abuse and ruin everything.

</comment><comment><USER56> I want my cut!

I've been pushing this idea for over a year now (as my HN and other social media comment histories can attest), most recently:

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

I should have patented this when I first had it.

Waiting for streaming music and video to embed mining in their players...

Or websites pooling together to stabilizing income streams and provide bulk access.

The idea to rent computer time to a publisher in exchange for content can be taken further.

<comment><USER57> Coinhive has been around for awhile.

<comment><USER58> Coinhive made it more viable, but this doable as early as 2011:

[https://bitcointalk.org/index.php?topic=9042.0](https://bitcointalk.org/index.php?topic=9042.0)</comment></comment></comment>


Ask HN: Can this be done in CSS3? - <AUTHOR>

http://lostworldsfairs.com/eldorado/ Can the transition effects of the blimp images be done with CSS3, or do you need JS? <comment><USER2> I could be wrong, but I assume this needs JS because it needs to be able to track the position of the user scrolling, which is what it's doing right now using this plugin: <http://jonraasch.com/blog/scrolling-parallax-jquery- plugin>

</comment><comment><USER3> yup it can be done with CSS. you just need to outline the effects, you can also use java. depends on your choice</comment>


Ask HN: How much should I be paid an hour? (Australia, Contract FED) - <AUTHOR>

I'm a freelance front-end dev in Australia. I currently get paid $420 a day. I have no idea how much the recruitment agency who placed me are skimming off the top.
I can't shake the feeling that my rate is at the low end, but because of the secrecy between other devs and the recruiters I have nothing to gauge myself against.
Am I being shafted? <comment><USER2> I'll preface by saying that it's hard for me to really critique that number because I don't know where in Australia you live and what the cost of living is there.

That said, intuitively I feel that is insanely low. If you are framing yourself as a consultant who can solve quantifiable business problems using frontend development, then ~$400 per _day_ is absurd. I would say increase regardless of your living costs. Asssuming 30 weeks of utilization, you're working for $60,000 per year. If you're doing remote freelance work then you can target US companies and literally quadruple this.

I live in NY and I charge between $1000 and $2000 per day for information security services that normally take 2 - 4 weeks per engagement. Mind you - information security is a specialization that is not as quantifiable as developing a website for business purposes, so in theory you should be able to achieve higher rates than that (Brennan Dunn, as an example, charges $20,000 per week as of 2014, and he does a mixture of web development and copywriting).

If you follow 'patio11's advice you can certainly increase this. The beautiful thing about being a consultant is that you can choose to work remotely, which means you can anchor your cost to the living costs of your _client 's location._ I'd be charging the same if I lived in Kansas.

Increase your rates, and if necessary rebrand/reframe your value proposition. Also - get rid of the recruitment agency. Agencies can be good, but you need transparency regarding your rate and how much they are taking for placing you. You should also try to develop a strong personal network for referrals.

You will know when you're successful because you start saying no to potential clients as much or more than you say yes.

</comment><comment><USER3> Oh guys.. I'm a senior web developer (working on a leading position in a company which runs 3 startups), I speak natively Rails, PHP.. fluent in SQL and still i get..

$25/h..

I'm in Europe though.. but when I look at your numbers I want to cry.

That's very a lot to my taste.

Edit: did calculations.. even $24/h ($46800/year)

<comment><USER4> I'm not going to complain about rates, but I can tell you that you can't just compare currencies without comparing also your cost of life.

It depends where in Europe you live, and what are your other costs.

I'm Spanish, and in Spain I can go to the doctor and (for now) not have to pay at the front desk. In Australia, my local doctor charges an $30 Australian (20 Euro) co-pay per visit.

Coffee and churros in Madrid is 1.70 Euro ($2.50 Australian). Coffee alone in our neighbourhood in Australia is never under $3 Au (2 euro). Thanks to the Coles/Woolworths duopoly, I reckon Aussie supermarket prices in general are from 1.5 to 3 times more expensive in Australia than in Spain. Only beef is consistently cheaper in Australia, and milk is the same price, being a loss leader.

And the real estate bubble continues in Australia, so house prices and rents keep going up. This is why I asked Aussie devs to share their rates: they are working in the same market, but also they are paying for food, housing, healthcare etc. in the same market.

Also, remember that if you are a full time employee you are accruing other benefits, and your pay is calculated taking into account you lower risk of unemployment and higher severance in case of dismissal (especially in the many European countries with very strict labor laws favouring employees, like Spain). I reckon $50-$60/h is the freelance-equivalent rate of $46800/year full time salary in Europe.

And if you work on 3 startups, you may be giving up some salary in exchange for equity. If you don't get equity, well, your problem is not your salary.

<comment><USER3> Yeah, im working full-time, but remotely. Company is based in UK and im living in Moldova. Although rate is pretty good for Moldova (life here is very cheap) I still need more and work part-time at Toptal for $30/h.. so constantly overworking to get to the better living. I have a wife and 2 children, soon 3rd one will born and I want to start building a house and I cant say I have enough money for this but family requires so. I/family spend about $1500-$2000 a month for current needs, like food, clothing etc.. then we usually have 1-2 trips a year to rest somewhere. And after all I have about $5-$10k a year in savings. To build a house I need to have about $120-$150k. Which will be in 10 years in best case. Also to add here, I don't pay fees to government, working unofficially because again I dont want to lose any money there (like about 20%) that maybe risky but most of people in my area work like that.

<comment><USER5> As I remember, Toptal charges fixed $3200 (full-time) and $1600 (part-time) per WEEK to the client, in addition to your tiny $30/hr rate... Why didn't you ask $XXX/hr for toptal client? That is the norm there.. Please increase your rate as soon as possible. Do not believe toptal personnel if they try to convince you to keep rates such low...

<comment><USER3> No, they're flexible here.. they charge as much as they can from a client. So, from some they charge $80/h as you say, but some of them pay just $45/h. Toptal's lowest rate for companies is $40/h

<comment><USER5> Well, and what are obstacles for you to charge 3-figure per hour? I'm as well from eastern Europe, and as you mention, it is possible to live with $xx/hr rate (if the work is enough), but do we only want to live month-to-month or maybe we also want to buy some new apartment? build a private house, and another country-side house? $xx/hr is just not enough.

</comment></comment></comment></comment></comment></comment><comment><USER6> Depends. Freelance, or consultant? I've done both, and am in Brisbane. I charged $400/day as my normal rate for the latter. The former was project dependant. And could be from $10/h if I messed up quoting to $1000/h if I quoted well and everything went well.

Working as a full time "full stack" engineer I'm earning $50/hr with 8 years of experience under my belt. Which I prefer, as I earn good money for my age and location, without the stress of finding work.

</comment><comment><USER7> Depends on the number of hours you are working a day, and assuming you're being charged out at time and materials, that would be $50-60 p/hour.

</comment><comment><USER8> In my experience pimps (Im sorry, "contract agencies") just add their costs on top of your requested rate, and offer that to the client.

</comment><comment><USER4> You don't say how much experience you have, how many hours/day, which city you work in, or in which industry. So I'll answer assuming you're junior but you've been doing this for at least a year, you can write good code and good English, you're working 8 hour days, you're in Sydney or Melbourne, and you contract out to an agency doing work for mid-size companies.

I'd say you are at the very very low end of the scale, if not falling off the scale. If you have any skill in front-end JS, and aren't a trainee or a recent graduate with zero experience, you should be getting twice that money easily.

For a comparison, I do back-end and devops work, and I charge in the range between $85 and $175 per hour (1), depending on the client and the work. Right now I have a project of each. I suspect I'm also undercharging some clients, and that intermediaries who genuinely can't pay me more are also undercharging. However, I don't work for recruiters/outsourcers, but directly for companies shipping software, though some of them are intermediaries in the sense that they run a project for a client, and then hire me as a contractor instead of as an employee. Also, I haven't done almost any front-end work, but it's my impression that front-end skills are in higher demand, and rates are higher on average.

(1) AUD, not USD.

You say you don't have other people's salaries to compare. I too wish Aussie JS and front-end freelancers shared their fees here. Here's how to compare freelance day/hour rates to a full time salary, by the way:

A full time worker puts in about 2000 hours a year. As a freelancer, you have to put in your own training, sales (finding work), you pay your own superannuation (because you do, right?), equipment (you buy your own laptop), training (you buy your own books and courses, you pay your own way to attend conferences), etc.

Thus, when comparing your day rates with the money a full time worker gets, you should take into account extra benefits paid by their employer like super (for non-australians, this is a retirement account, by law employers' contributions are about 9%, but some companies pay more, up to the mid-10s), training courses and conferences, etc.

As a freelancer, you don't have sickies or paid holiday of any kind, so you should account for 1000 billable hours a year. Working more is the cherry on top, and less is a risk that you hedge by having good rates.

Therefore, $85/hour is more or less equivalent to an $85.000/yr salary + benefits. $175/hour would be equivalent to $175.000/year salary + benefits.

Obviously this is without taking into account tax brackets, forced downtime if you have health issues, and the averaging of good and bad weeks/months/years. Also, perceptions of salaries/rates aren't linear, neither for you nor for potential employers.

(((

Note: this advice is for an hourly rate programmer. HN legends patio11 and tptacek will rightly advise you to get out of this game if you can, and I agree with them. I'm trying to do it myself. But while you're in it, this is what I've learnt that I can share.

[http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a- pro...](http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/)

[http://www.kalzumeus.com/2012/09/17/ramit-sethi-and- patrick-...](http://www.kalzumeus.com/2012/09/17/ramit-sethi-and-patrick- mckenzie-on-getting-your-first-consulting-client/)

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

)))

There is a lot of the above advice that you start applying now while still in the hourly rate game, so I'm pasting the link to tptacek's comment again, because it's hella relevant and pithy.

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

Good luck. And to my fellow Aussie freelancers, please share your rates and help everybody negotiate better with clients and employers.

<comment><AUTHOR> Thanks so much for your reply. Sorry I wasn't very specific, you're spot on except I've been freelancing for about 3 years now. I've pretty much worked exclusively for digital agencies building websites for external clients, ranging in size from five to three hundred people in the office. The front-end dev team size ranges from one to twenty, but it isn't proportional. I'd rate my JS skills highly.

I've always thought the order of pay for people with similar experience in their field was: front-end, back-end, design, UI, UX, project managers, anything client facing.

The stress of finding work has been getting to me lately, and at my current daily rate it isn't enough to get me through the troughs.

In comparison to your rates I'm getting shafted royally.

(Thanks for pointing out superannuation, I really should put more into it.)

<comment><USER9> You don't have to contribute to your super if you're self-employed.

If you're planning to buy a house in the next 10 years, it makes zero sense to lock away what could effectively be money off a mortgage.

Save what would be your super in a high interest account. Better yet, invest in ETFs.

<comment><USER4> You don't _have_ to contribute to super, but you should consider the super contribution your employer makes for you (and that both of you and your employer pay lower taxes on) when you compare a salary with your yearly take home as a freelancer.

<comment><USER9> Agreed. You should definitely factor your own super payments into your rate (whether or not you pay super is up to you).</comment></comment></comment></comment></comment>


The Ever Useful Subprocess Module - <AUTHOR> http://sharats.me/the-ever-useful-and-neat-subprocess-module.html

<comment><USER2> I am the author of this post (and the blog). Had no idea it was posted on HN until this turned up in my analytics :)

Thanks for submitting.</comment>


Minetest, an open source infinite-world block sandbox game - <AUTHOR> https://github.com/minetest/minetest <comment><AUTHOR> Minetest is amazing. My kids were obsessed with Minecraft. After introducing them to Minetest they love it too, and don't notice much of a difference. But, I love it because:

1\. It's free as in speech!

2\. It's super hackable! [https://dev.minetest.net/Modding_Overview](https://dev.minetest.net/Modding_Overview)

3\. It's light on resources. It's written in C++ and my 10 year old desktop computer can host a LAN server for 8 people at a time with no problems.

4\. My kids are excited to learn to code, and this is a great bridge between Scratch and "something real." Without learning the complexities of graphics and game dev it's very easy to program small parts with "mods."

5\. The build _works_ on everything I've tried. Builds just fine on super old Debian stable running on my Pine Book Pro, and also builds fine on my bleeding edge Fedora machine.

6\. It's already in most repos so you can install it easily. `dnf install minetest or `apt install minetest` . Some repos (like Debian) have a very old build, but it's easy to clone the github repo and build it yourself.</comment>


AI learns and recreates physics experiment - <AUTHOR> http://techcrunch.com/2016/05/16/ai-learns-and-recreates-nobel-winning-physics-experiment/ <comment><USER2> "It did things a person wouldn't guess, such as changing one laser's power up and down, and compensating with another,"

This sounds suspiciously like slapping the term "AI" on to a oscillating feedback control loop.

<comment><USER3> I'm sure a Gaussian process could model the equivalent of feedback control; they're pretty flexible (if not as flexible as NNs). The trick is coming up with something that can learn the feedback controls, or lack thereof, on its own. Unsurprisingly, they're reinventing reinforcement learning.

</comment></comment><comment><USER4> Source code here: [https://github.com/michaelhush/M-LOOP](https://github.com/michaelhush/M-LOOP)

This is a neat application of ML! In the same way that automated theorem provers have had huge impact on doing mechanized proofs, perhaps "automated lab assistant" could have a similar impact on the experimental sciences.

<comment><USER5> It looks like they've hooked up standard function optimization techniques to their lab equipment. Nothing new from an ML perspective. Is there something clever in the way they parameterized the space of possible experiments?

<comment><USER4> No, this is standard issue ML. It's the application that is neat, not the technique.

</comment></comment></comment><comment><USER6> Pretty good sense of humor from that author:

'This AI is extremely specific in its design, of course, ... for more flexible automation, physicists will still have to rely on the general-purpose research units called "graduate students."'</comment>


Idea dump, February 2011 - <AUTHOR> http://jacquesmattheij.com/Idea+dump+February+2011+edition <comment><USER2> Re: The Black Sun

The only communities I've witnessed that maintained or increased their quality over time were private, invitation-only affairs overseen by a respected and benevolent dictator.

MUD-Dev was like this in its heyday. JCL invited people based on their rec.games.mud.* postings, and existing members could invite new ones. Then it went public around 1998 and that started its initially slow decline and later rapid descent into chaos and noise. The last few years of its existence there was barely any technical content, and the design talk was too high level and disconnected. As it happens, Heroku cofounders Adam Wiggins and Orion Henry were early members and Adam in particular wrote a lot of great posts.

I've been a member of another private forum since 2004. It's somewhat secret, so I can only speak in generalities. Current members can suggest new ones for consideration, though not everyone is accepted. The owner is a well-known industry figure who bootstrapped the forum with his personal network. The membership count never exceeds more than a few hundred, and there are periodic purges of non-posting members; lurkers are not allowed. You can make anonymous posts but personal attacks in that form are deleted. The tone is generally professional and brutally honest, but there is still room for shooting the shit (if there is a lull with too many casual threads, the moderator will start to lock them).

It works very, very well.

<comment><USER3> Fractional distillation instead of evaporative cooling.

The upper layers can be "invitation-only affairs overseen by a respected and benevolent dictation". It also doesn't need to be linear, but could be a tree (i.e. each level could have many immediate higher levels, so there's competition). I think there's something in this, mirroring the hierarchy in which human communities naturally organize themselves (karma/seniority works that way a bit here), but the more I think about this, the more complicated it seems. Maybe someone will extract the essence of it.

<comment><USER2> Communities that are so large they require webs of trust to be managed hardly deserve to be called communities. No matter what you call them, they don't offer what I'm looking for.

<comment><USER3> er, how is what I described a "web of trust"?

<comment><USER2> We can call it a tree of delegation if you like. It sounds reminiscent of how Linux development is managed. At least to me this suggests a scale that's distinctly beyond a community.

<comment><USER3> The tree is just me getting carried away with elaboration. The basic idea is you have one community higher than the first one. The lower one can be completely open; the higher one can be invite-only. (Oh, there's that essence I wanted.)

Maybe the two levels are a little like a freemium model, where the analogue of _free vs. paid_ is _anyone vs. invite-only._ One is a recruitment centre for the other.

Perhaps the same submissions and comments would be presented to both but rated by their own communities; or perhaps it would be like subreddits, totally distinct in their stories and discussions. The difference from subreddits is it's not flat and not all-welcome, but hierarchical (in both a logical and political sense). Maybe SO does this a little with karma-based privileges, but there isn't a higher-level forum (at least, not one that I'm aware of...)

</comment></comment></comment></comment></comment></comment><comment><USER4> Here's an idea that's kind of like BigEye, but instead of a telescope, it's an orbital launch system!

Modular Laser Launch (Mostly reposted from another comment. If you've already seen it, sorry, just move on.)

[http://docs.google.com/viewer?a=v&q=cache:uMWQ_kQFvKcJ:w...](http://docs.google.com/viewer?a=v&q=cache:uMWQ_kQFvKcJ:www.niac.usra.edu/files/library/meetings/fellows/mar04/897Kare.pdf+modular+laser+launch&hl=en&gl=us&pid=bl&srcid=ADGEEShO7Oy6MI6tDEQtsrlgOaSdjd4gIAJ9h7k8zinryJKSHi9YVs6cO1rV5w-drBExiCmCKEyLeLHgXhknhV4Gxk2dtigs8OFc669SGHoCnK1MmsIdRiOFcYj5JVzuRbX8zbpIB5EX&sig=AHIEtbR2NbQSrR3wXt1e89UHL9Gl45KexQ&pli=1)

Use lasers to remotely energize (zap the bottom surface, all of which is a heat exchanger) lightweight craft carrying hydrogen. The hydrogen wouldn't burn. Instead, it would just act as a reaction mass of very low weight, thus producing very high exhaust velocities. Basically, this would give you the exhaust velocity (read: fuel efficiency) of the upper theoretical end of solid core nuclear rockets, but without the heavy nuclear equipment onboard, making the craft even lighter and more efficient. And while hitting fast moving craft with a laser isn't trivial, it will be moving on a fixed track and can be designed deliberately to be hit. (retroreflectors, telemetry, etc)

But that's not even the clever bit. The clever bit of Jordin's proposal is that the laser tracking/energizing system can be built modularly. You can build one prototype module that can launch one toy craft. Then you figure out how to mass produce it and build a whole bunch of these puppies that can lock onto and zap a much larger heat-exchanger carrying craft.

What you get is very cheap access to orbit without ungodly huge R&D and infrastructure costs up front. (In this case "ungodly huge" = price of a space elevator.) Even if it's never safe enough to be man rated, the ability to send bulk cargoes up cheaply would be a massively disruptive technology. I bet a good start on this proposal could be funded by just a handful of dot-com multimillionaires.

</comment><comment><USER5> Re: BigEye. This is called Aperture Synthesis in astronomy, and if I recall correctly a Nobel Prize was given for it's invention. You can do radar (Synthetic Aperture Radar) this way as well.

</comment><comment><USER6> re: BigEye The Las Cumbres Observatory Global Telescope Network (<http://lcogt.net/>) is building a network just like that, with slightly larger telescopes. It seems to be retirement project for Wayne Rosing, who used to be VP of Engineering at Google... in case you didn't see that in the LCOGT logo.

</comment><comment><USER7> Re: threewords. I have two similar domains I'm letting expire on the 25th (these4things.com && thesefourthings.com). if anyone would like to snag them and work on a similar concept project go right ahead.

</comment><comment><USER8> Re: The Black Sun

I'm thinking about how one would bootstrap such a system. When the first users have to level up to create a new level, they are in some sense starting from scratch. It's an opportunity for them to shop around, move to a more cliquey venue (<http://news.ycombinator.com/item?id=2242542> suggests this happens on HN). Why would they stay on to use the original forum? There'd have to be a compelling reason.

</comment><comment><USER9> Since when can turtles play football? I'm so confused.</comment>


Manifold Destiny: A legendary problem and the battle over who solved it (2006) - <AUTHOR> https://www.newyorker.com/magazine/2006/08/28/manifold-destiny <comment><USER2> A handful of interesting comments from when this was submitted about 9 years ago:

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

</comment><comment><USER3> Any recent update about Grigori Perelman?</comment>


Die a designer: 10 steps to a long career - <AUTHOR> http://www.netmagazine.com/features/die-designer-10-steps-long-career

<comment><USER2> Good suggestions for any career, not just design. Even the first suggestion, "Learn your graphic design theory and history," when translated to your specialty is valuable. There are a lot of giants' shoulders to stand on, and all you have to do is see them and step up.</comment>


Tza'ar Ba'alei Chayim - <AUTHOR> https://en.wikipedia.org/wiki/Tza%27ar_ba%27alei_chayim <comment><USER2> I don't really understand why this wiki article is a HN post... but since kosher slaughter was mentioned let me give you some more details. BTW, I'm Jewish myself.

1\. Based on Jewish holidays and traditions, I doubt "Tza'ar Ba'alei Chayim" was ever a factor. For example, in Yom Kippur one of the traditions called Kapparot is about swinging a live chicken over others' head. Example: [https://static.timesofisrael.com/www/uploads/2013/09/f111007...](https://static.timesofisrael.com/www/uploads/2013/09/f111007DV041-e1378973790967.jpg)

2\. The main reason today for kosher slaughter and kosher food in general is money. It's how the orthodox community in Israel makes money. It's a big industry that employs many orthodox people. Kosher restaurants in Israel need to pay money to get a kosher certificate. There are multiple organizations that can certify a place as kosher (some have more strict requirements than others). Those places usually visit those restaurants to inspect their kosherness similarly to food inspection everywhere else. (but their focus is only the kosher part, not the food quality). A restaurant can be 100% kosher but most religious people won't visit it unless it's certified kosher by somebody that meets their requirements.

For secular people in Israel the worse part about kosher restaurants is that they must be closed during Shabbat (Friday afternoon till Saturday evening). Basically, the religious parties in Israel want everything to be closed during that time (no public transit, no entertainment, restaurants, etc.)

</comment><comment><USER3> I quit Reddit about a year ago, and the straw that broke the camel's back was me mentioning this in passing, and having literally hundreds of neo-nazis flood my inbox with all kinds of indescribably insane messages.

</comment><comment><USER4> I used to be non-vegetarian until two years back. Today it's difficult to imagine sentient animals being separated from their families and taken to be slaughtered. There really is no excuse for this cruelty.

<comment><USER5> >Today it's difficult to imagine sentient animals being separated from their families and taken to be slaughtered. There really is no excuse for this cruelty.

What is your opinion about predators in the wild, murdering and eating sentient animals?

<comment><USER6> As humans, we have the means (in most, though not all, parts of the world) to thrive on a vegan diet, and ethical frameworks to understand the implications of our diet. Those traits distinguish us from almost certainly every other predator on the planet. We therefore cannot project our ethical obligations onto them.

<comment><USER7> But what if the life of an animal is better when raised for slaughter than in the wild? This isn't true for all farms, of course, but what about the animals raised with plenty of food, space to roam, and others of their species to socialize with?

It's tempting to say "Killing is always wrong," but the meat industry is more than just the moment of slaughter.

<comment><USER8> Animals are not captured from the wild and brought to farms. They're produced on farms in highly industrialized breeding operations. The alternative to a farm animal living in captivity is not for the animal to live in the wild, it's for the animal to not live--that is, to have not been bred by humans--in the first place.

</comment></comment></comment></comment></comment><comment><USER9> [https://en.wikipedia.org/wiki/Shechita#Animal_welfare_contro...](https://en.wikipedia.org/wiki/Shechita#Animal_welfare_controversies)

</comment><comment><USER10> Interesting -- this likely explains why Tel Aviv has such a high concentration of vegans.

<comment><USER11> No, i doubt that is the reason. It's just higher level of global awareness and a touch of hipster that is the likely cause. Israel is still largely a country of meat eaters. And personally, as a former vegetarian/current carnivore, I don't see how kosher slaughter is related the welfare of animals. Surely a swift instant death is better than letting the animal suffocate and/or bleed to death.

<comment><USER12> > I don't see how kosher slaughter is related the welfare of animals.

not jewish so commenting outside of my area, but, I think that when the practices were installed, the methods were the 'best available' (and so in line with this thinking), but the problem is that now there is so much tradition bound up with the practice that it's hard to install an alternative practice if one indeed is better (also not up on butchering, so cant comment here either)

<comment><USER11> I think you're right (I am Jewish by some default, but very much non-kosher). The practice itself is what makes the Kosher "Kosher". If the animal was killed in a different way, it's not Kosher. I know that as a carnivore I might be frowned upon by militant vegans for saying it, but I'm very aware i'm eating dead animals, not apologetic about it, and would rather eat animals that had a good healthy life and a swift painless death. Kosher slaughter to me is not a swift painless death (not to mention I have a lot of "beef" with the whole "Kosher" rabbinical institute).

</comment></comment></comment></comment><comment><USER13> Show this to someone at the Weizmann Institute of Science.

<comment><USER14> I was wandering with a friend at night at the Weizmann and was curious to see the view from atop one of the buildings. The next thing we know, campus security is ordering us to come down, concerned we were there to liberate the animals. Anecdotes aside, not sure what the wikipedia article is doing on HN, seems highly unrelated.

<comment><USER15> Surely it has aspirational merit?</comment></comment></comment>


Ask HN: What programming challenges would you kill for a chance to solve? - <AUTHOR>

Suppose you could assemble a team of your choosing, and had infinite funding. What is the most challenging, complicated problem you could go about solving? <comment><USER2> I'd try to remove complexity, not increase it, starting from:

(1) Replace HTML/Javascript with a Lisp and the browser with a REPL.

(2) Make a processor that executes only core Lisp axioms; there would be no other processor instructions.

(It would be comical if history found chip manufacturers to have over- engineered 99% of the problem.)

(3) Replace the Internet with a distributed, single address-space operating system. You won't have to worry about ssh-ing into and between hoards of cloud machines, or to install software; there will only be "The Computer", and you will be logged in when your computer starts.

(If there was only one way to make Linux irrelevant, this might be it.)

Programs can call any part of any other program in The Computer through Lisp function calls. The value here is the simplification of the programming model; no more APIs.

(4) Build a smartphone that is connected to The Computer and can be programmed only in Lisp.

(5) Write an AI program or mobile app that tells you the truth. You can ask it philosophical and life questions and it gives you congruent answers.

You can feed it HackerNews comments, it can reason about them and respond (or not respond). Like an Eliza or SHRDLU chatting up HackerNews users in the middle of a flamewar.

(6) Make future computers start with only one program, nothing else. No System preferences, no Facetimes, no browser, and definitely no windows and virtual desktops; just The Computer.

Possibly train humans to understand doing less and keeping things simple is good for them (I'm not entirely sure if it is.)

</comment><comment><USER3> I don't even believe it's possible in the philosophical sense, but definitely AI. I would love to be able to create something that not only could pass the turing-test, but which could interact with its environment, and more importantly, be stimulating and entertaining to me.

Imagine an actual worthwhile conversation with a computer program that can interact with the world.

My stars.

</comment><comment><USER4> While not particularly useful in the grand scheme of challenging and complicated things, the things I want to do in that situation are: put Firefox's 3.6 interface back on the browser (and perhaps reverse some changes that even that made); make it use libavcodec for media playback and a hardware overlay for video in particular; buy Winamp and mold it how I want.

</comment><comment><USER5> This: [http://max.io/theories-on-artificial- expression/](http://max.io/theories-on-artificial-expression/)

Tl;dr: AI for Artistic Expression.

</comment><comment><USER6> Writing a full OS with apps in 10Kloc(VPRI steps project by alan kay) and enabling similar power to other programming needs.

</comment><comment><USER7> Predictions of basically any kind (well, anything useful...)</comment>


Ask HN: What keyboard (computer) you use? - <AUTHOR> Please mention your daily driver.
Mine is Filco Majestouch with Cherry MX brown.
I would love to know whether you wish to own a mechanical keyboard (if you do not already have one). <comment><USER2> I use whatever I have to use.

If I have the luxury of choosing my own, I generally prefer to use a tenkeyless, backlit, Cherry MX Blue. Brand doesn't matter much.

I have been looking longingly at keyboard.io's Model 01 for some time, but I'm unlikely to spend so much money without a test drive first.

</comment><comment><USER3> I use a Corsair K63 Wireless mechanical keyboard with the Cherry MX Red switches.

It's a great keyboard and being wireless (both 2.4Ghz and Bluetooth) is a great addition when I'm travelling.

</comment><comment><USER4> Personally I'm still using my old razer blackwidow tournament with mx blue switches</comment>


Clojure 1.1 changes.txt - <AUTHOR> http://github.com/richhickey/clojure/blob/1.1.x/changes.txt <comment><USER2> The Full Disclojure videos have helped me understand some of the features new to clojure in 1.1.

<http://www.vimeo.com/channels/fulldisclojure>

<comment><USER3> I wonder if those could be in an iTunes/iPod-friendly format.

<comment><USER4> I record them as .mov files, and deliberately test them for compatibility w/ quicktime & VLC. They should work just fine.

<comment><USER3> I believe the Vimeo feeds iTunes would need only offers .swf files. I tried <http://vimeo.com/channels/fulldisclojure/videos/rss> and <http://vimeo.com/user2842266/videos/rss> with no success.

Do you have somepleace to serve the .mov files? Are they QT Animation?

<comment><USER4> I believe if you go to each page there is a "Download mov" link. Also, I'm releasing everything creative commons cc-by-nc-sa, so torrent away.

</comment></comment></comment></comment></comment><comment><USER5> Changes is linked from the 'release' submission which is already in the top slot. This one is a bit superfluous and would just split any discussion.

<comment><AUTHOR> I thought the same thing as I posted them. I'll delete the other one since this links more directly to the interesting content.</comment></comment>


$1000 to spend: this is the selection of technical and scientific books I bought - <AUTHOR> https://www.lopezferrando.com/scientific-technical-books/ <comment><USER2> That's a really nice selection, you have great taste. I'd be interested to know whether you own any other books that you'd also recommend.</comment>


DISH Teams Up with Coinbase to Become Largest Company to Accept Bitcoin - <AUTHOR> http://blog.coinbase.com/post/87191857392/dish-teams-up-with-coinbase-to-become-largest-company

<comment><USER2> Seems like buying a service that is explicitly tied to unique identifiables (ie. your address, satellite receiver, DISH tuner codes) with bitcoin as somewhat pointless. This comes off as a marketing opportunity for all involved.

<comment><USER3> Dish/Echostar is a very frugal organization. Maybe it's less about subscriber privacy and more about boosting revenue a tiny amount when skipping credit card merchant fees.</comment></comment>


Preventing Software Bugs from Ever Occuring - <AUTHOR> https://medium.com/quality-functions/preventing-software-bugs-13f1cb2c7103#.rgs55x5qa <comment><USER2> This article is just marketing fluff for behavior driven development sold by this company. Warning: contains closeups of bugs if you're not in that sort of thing.

<comment><AUTHOR> Hey, this is the author.

The article is not at all marketing our services. It contains a ton of links that are intended to help you adopt BDD and TDD practices.

Tweets like this one back my response up: [https://twitter.com/Cunninghambler/status/719608629729607681](https://twitter.com/Cunninghambler/status/719608629729607681)

I spent a LOT of time researching the data and making sure there are good links for learning.

Sam</comment></comment>


Ask HN: Can you build a rock-solid massive backend (e.g. like Google's)? - <AUTHOR> Thinking of the backend of websites like Amazon, Google, Facebook, etc, where they have to serve hundreds of millions of users, have great response time, security, and uptime, I was wondering how many developers exist that can design and execute such a system? How common or rare is this capability?
I thought a quick poll here on HN might be a good indicator.
So, are you capable of designing and executing a backend that is on par with the ones used by the major players mentioned above? <comment><USER2> The thing to remember here is that these systems, to the point they are today, were built by teams of people over lengthy periods of time. There are many pieces that have to be looked at from the wiring infrastructure, location, network equipment, monitoring solution, server solution, backup solution, security, OS, etc... While an individual may be capable of putting together an comparable infrastructure with only one or a few servers, once you cross a threshold with requirements and capabilities it would be almost unbelievable to find a single person who could complete the project to the same scale.

</comment><comment><USER3> While, the systems I designed and built may not be considered Google or Amazon scale, I have build some of the largest travel systems the web uses. I have build systems that not only the biggest use with hundreds of thousands of request per second (hotels.com, travelocity, Expedia, Orbits) but thousands of other smaller clients where supported simultaneously. Anyways to get to the point there where two major decision that we made early on that saved us years and millions of dollars in frustration. Those two where statelessness and decoupling.

Statelessness is important because it drastically simplifies your software architecture and ejects the concern of scalability into the infrastructure. This is a good thing because with a good automated install strategy new capacity can be online in minutes (now with the cloud seconds). When you are stateless you don't have to worry about inter-application communication among nodes, rather you can have dead simple load strategies like load based, round robin, load balancing where the most under utilized node gets the next request. Statelessness is paramount to scalability, at least to cost effective scalability.

Now on to decoupling, I don't get too caught up in the enterprise buzz word bingo, but there is one that developers should pay attention to and that is SOA. SOA is just a name for a good architectural strategy that has been employed for years at the big guys. Summed up SOA is just a form of decoupling. If a system does an independent task then that system should be decoupled from the system as a whole. You should not think hey lets build a reservation application you should think lets build an availability service, a booking service, a concierge service. And these services as a whole will be assembled together by a UI into a work-flow that allows people to make online reservations. REST is just an extension of this in a well defined and intuitive manner.

This allows the services to be used in new and novel ways, not only that but it isolates the system and makes capacity planning very easy. If you see a good deal of load on your availability service or your search service you can scale that area with precision, allowing you to put the horse power where it counts. As well with a decoupled system, that has well defined interfaces if a portion of the system in unreliable the entire piece can be snapped out and replaced with no effect to the larger system as a whole. It becomes very easy to trim out the rot in a decoupled system.

Going further, and on a side tangent, a decoupled system is easy to bring in contract development capacity in to work on it. You define the interface and what the component should do, and you can hand those component documentation off to a third party to build with far less risk than "hey build this whole system". This becomes critical if you experience the two year growth rate that we did.

I would say those two choices above all other allowed our small start-up the ability to scale on demand and grow from a handful of niche client to supporting every major travel system in a two year time frame.

Had we not made those choices we would certainly had a few year time-frame that would have been painful while we redesigned the architecture to handle the scale at which the business grew.

<comment><USER4> How do you implement user access control, authentication and authorization while being stateless?

<comment><USER3> I am a big fan of SAML identity providers, they are flexible and robust they also work with browsers and mobile clients and allow you to provide access and authorization to all of the systems and services. I really liked Sun's offerings in this space, OpenSSO. Oracle no longer supports it but a company ForgeRock, formed out of former Sun employees an OpenSSO maintainers, took the project and are continuing it.

I like OpenSSO because it provides a service layer that makes authentication and authorization look like just another service offering on your bus. That being said you do have to look at the architecture of the SSO provider some are easily scaled and some are not.

</comment></comment></comment><comment><USER5> Isn't that the idea of hadoop? Build open source replacements for googles infrastructure?

</comment><comment><USER6> Yes DuckDuckGo.com guy built a search engine by himself.</comment>


How Scribd's HTML document reader works (part 1) - <AUTHOR> http://coding.scribd.com/2010/05/17/facing-font-in-html/

<comment><USER2> This is some solid engineering. I wish the code was freely available, so I could finally have a sane mouseless PDF viewer application.

<comment><USER3> Perhaps a digression, but xpdf isn't a sane mouseless PDF viewer?

One of my favorite features is pressing 'q' causes it to quit, solely because I can quickly (It's blazing fast, at least on Linux) open up a pdf, pageup/pagedown through it, and quit the application quickly, efficiently and easily.

So it's not built with the most attractive toolkit, but it does seem to meet your requirements, no? (Okular is close to converting me from xpdf, but it's those extra several milliseconds during startup and the lack of a single key to quit the app that keeps me with from switching.)

<comment><USER4> You can easily configure all the key shortcuts you want. I use 'q' for quitting, 'w' for fit to width, 'p' for fit to page, 'g' for goto-line, etc...

I love its minimal GUI interface (by default, C-m for toggling menu visibility!), highly customizable navigation panel, and its 'trim margins' view option. I also find it faster than xpdf after startup. The only thing that i don't like right now is the slow chm rendering.

</comment></comment></comment><comment><USER5> Great stuff! Aren't there licensing issues involved with making arbitrary fonts available over the web though?

I'd talked to a few font foundries in the past, and very few would let me use their fonts with a @font-face (or, in their eyes, distribute their fonts indiscriminately).

<comment><USER6> Understandable concern. For now let's just say that we have a blog post in the queue (part 3/3 of the HTML5 series) that describes exactly how (and to which degree) we store and (re-)distribute fonts.

<comment><USER7> It would do a huge service to the web if you can get the blessing of foundries for a method that can be used by anyone for displaying licensed fonts using @font-face.

Even creating derivatives of fonts is often restricted, eg, the Adobe Font Folio EULA considers derivatives under the same license as full fonts and the Linotype EULA states "It must be ensured that the Font Software cannot be fully _or partially_ extracted from said documents" (emphasis mine). So, presumably, it would be potentially problematic even if you are extracting individual characters and generating new fonts.

As I understand it, since fonts can't be copyrighted it's purely a software licensing & "piracy" issue. If you've figured out a way we can all get around that it would be a big deal. Maybe you are in a unique situation because you aren't agreeing to an EULA and, instead, simply extracting characters from fonts embedded in documents uploaded by your users. Hopefully you'll share the details of how your attorneys have advised you about what a website's liability is in this area using different techniques

Honestly, on one hand I'm hesitant to comment about it and give a voice or any encouragement to the foundries, but on the other hand it would be pretty shitty if scribd just skirts these issues and plays fast and loose with the situation while the rest of the web is still stuck using the same old font stacks because they can't afford to risk the legal fees.

<comment><USER8> You answered your own question.

Fonts can't be copyrighted. They didn't agree to any EULA. All they need to do is convert the font to some other format, and they are legal.

And BTW, this line is ridiculous: "It must be ensured that the Font Software cannot be fully or partially extracted from said documents".

It's possible to embed a subset of the characters, and that's what most require. But to prohibit even a subset? That means you can not use the fonts for any electronic documents whatsoever unless you convert them to bitmaps, which means they are almost useless for PDFs.

I personally would never buy a font with such a restriction unless all I made was print.

BTW, if you want to be legal, just download (pirate) the font file, and convert it to some other format. You never agreed to a EULA, and fonts can't be copyrighted (only the original file can be).

In theory they could complain about the original pirate act, but they would have zero evidence, and any subsequent usage is legal.

<comment><USER9> Mechanical conversion from one format to another doesn't defeat copyright protection. If you write a book in English and I translate it into French (a change much more fundamental and much more creative than you're proposing), that doesn't entitle me to publish it without your permission.

The shapes of the glyphs are not protectable. The font file is considered to be a computer program, and is protectable as such. Converting it to a different format doesn't get around copyright any more than compiling a C program does.

</comment></comment></comment></comment></comment><comment><USER10> For the record, I must say, Matthias, you kick butt. I've used your tools (swftools.org) for the last 7 years and found them to be extremely well built and useful. And the "tech support" has been amazing (you just complain about a bug or make a feature request on his mailing list and you get a fix / enhancement within days). Incredible work. Scribd made a really, really smart move bringing you on board to lead state-of-the-art document rendering. Please keep up the great work.

<comment><USER11> I agree :)

</comment></comment><comment><USER12> Rotating text by generating custom font files with pre-rotated characters and putting each character in a separate absolutely positioned div element is more "practical" than CSS transforms? I find that difficult to believe.

<comment><USER6> Well. We're talking about making this work in quite a number of different browsers, including IE6. So yes, it is.

<comment><USER12> IE (including IE6) supports transforms, as you point out yourself. Of course they don't do it in a standards-compliant way, but that's true for their custom font support also. What problems did you run into?

<comment><USER6> Performance issues, among others. IE's DXImageTransform, as the name suggests, renders an html element to an image and then transforms that entire image.

<comment><USER13> The VML APIs that've been in IE forever are all pretty damn fast individually, but displaying the results slows the rendering down significantly. It's like how straightforward PHP is damn fast as a templating system, but absurdly slow for implementing a high-level templating system in.

Besides, text selection wouldn't work.

Have y'all managed to avoid implementing a GDocs-style system for hiding text underneath bitmaps for selection?

</comment></comment></comment></comment></comment><comment><USER14> I wonder how the character spacing issues are resolved - for example ff and fi generally should overlap and physical print typography uses different characters for this. This is definitely possible in PDF (though I'm not too sure of the details), but then how does this translate back to HTML?

</comment><comment><USER15> I've been really impressed with scribd when I saw the html text roll out. That, plus the fact that the website had a copy of out of print textbook that I needed raised my kudos value of scribd.

</comment><comment><USER16> The best part:

"[...]we need to store three font files: One for Internet Explorer (.eot) one for embedded devices (.svg) and one for Firefox, Safari, Chrome et al (.ttf)."

Go IE!</comment>


Pirate game (game theory) - <AUTHOR> http://en.wikipedia.org/wiki/Pirate_game

<comment><USER2> How I would play this: 5 or more people, no limit. if x no of people are playing, then there would be x no of folded paper carrying each rank. Once everyone opens his chit, he would be given the rank written on it. say, A, B, C, D, E.

Each round of game, 100 coins are to be distributed, everyone starts with 0, the goal is decided as per the length of the game. Say if you want a fast game, then whoever gets 100 coins first, wins. else, a larger number.

same way of proposing. the highest ordered guy proposes, people either accept or reject. if he is rejected, he is not eliminated, but instead, he would be given the lowest rank possible. and the second-most senior pirate will be the captain.</comment>


Ubuntu too slow? Try Lubuntu - <AUTHOR> https://medium.com/@monarchwadia/ubuntu-too-slow-try-lubuntu-36e1ac1e9fe9 <comment><USER2> Ubuntu isn't too slow, unity & compiz is just bulky with all the transition, fades, visual cues, etc.

Install Ubuntu, read about i3, install i3, and enjoy the speed.

</comment><comment><USER3> You may also consider another distro entirely. I'm very fond of Manjaro. It's an Arch-based distribution. You can choose one of many desktop engines. Some of which are very fast.

</comment><comment><USER4> If you're shopping around for a different distro, you should try out Gentoo or Funtoo. It's fast, customizable, and you'll learn a lot when installing it.

</comment><comment><USER5> Lubuntu is fast, but feels unfinished, some things I can't really describe annoy me when using it, I see a lot of small things that are supposed to be there but are missing.

<comment><USER6> Same here. Switched too Xubuntu, which nicely fits between Ubuntu's polish and Lubuntu's speed.

<comment><USER7> Is lubuntu faster? I got xubuntu on an old plastic macbook and it's struggeling.

<comment><USER8> It is. It also feels unfinished, but it really depends on your expectations.

Personally, once I have a functional terminal and a web browser, I am ok, and lubuntu is perfect for this kind of use.

<comment><AUTHOR> Agree. I develop on Lubuntu using IntelliJ and it works very well for that purpose.

</comment></comment></comment></comment></comment><comment><USER9> none of these are very good. building on an Ubuntu base has always been a bad idea, be it for servers, desktops or whatever odd use-case you may have.

in the end, any of the Ubuntu flavors function really about as well as the others. see any Phoronix benchmark for proof of this.

if you want light, you follow the path of origination to the source. for graphical user environments this means something like Window Maker or TWM or Openbox. for distros this means Debian, Gentoo, Arch, etc. there are representative flavors available: Window Maker Live, CloverOS, and Crunchbang Plus Plus a few of my present darlings.

common wisdom buy-in has resulted in a state of mass hallucination that "light" is just a thinner coat of paint. get outside your comfort zone and you too can be astonished that light, taken seriously, can make your fifteen year old machine feel like the Chromebook if yesteryear.

</comment><comment><USER10> Another way to go would be to build your environent from a less "productized" distribution, like Debian's minimal netinstall.

How is it that the OS delivery model from Windows 95 is not dead yet? "Everything you need is right inside this box" has been replaced by discrete change just about everywhere else in the stack.

You don't download an archive of GitHub to use one Repo.</comment>


Show HN: Terminal CSS - <AUTHOR> https://terminalcss.xyz/ <comment><USER2> I like it, I was looking for a similar look for my blog/homepage, and I got into the issue of fallback fonts having different rendered sizes, do you have any pointers regarding how to get a consistent layout no matter which font is used ?

<comment><AUTHOR> Hm..not really. For Terminal CSS I decided to @font-face Fira Code for precisely that reason. Font rendering is a never-ending story when it comes to web design. Not only that browsers render fonts differently, but the operating system also influences it. Font rendering on Windows looks terrible IMO compared to Mac or Linux. So "no" I don't have a solution to that problem. My personal view is that a system font stack is an excellent choice regarding UX. As a user, I expect a certain kind of user experience from my device/OS and a website that respects that tends to offer a better experience than others. To conclude: I should remove Fira Code in favor of a system stack :)

[EDIT] Github is a great example. Uses a system font stack and looks great on all devices and operating systems:

"-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;"

</comment></comment><comment><USER3> Huh, this looks pretty cool! Seems a little niche though, I personally couldnt see anyone using this aside from a personal blog or something - great work, however!

<comment><AUTHOR> Thanks! You are right, and it's not for everyone. I created that framework for my website because I was unhappy with other solutions out there. Besides the bare bone, monospace style, I added a "sans serif" variant to make it a bit more "mainstream". My vision for 1.0 is to have a markdown friendly, no fuzz CSS boilerplate for text-content creators.</comment></comment>


A Homomorphic Encryption Illustrated Primer - <AUTHOR> https://blog.n1analytics.com/homomorphic-encryption-illustrated-primer/ <comment><USER2> One of the things that attracts me so much to general computing are the moments where I find something that I didn't think was possible. Not that it's a new invention or a new idea, but something that contradicts something I thought was fundamentally true about the world.

Homomorphic encryption is one of those things where I would have told you before learning about it that you _have_ to decrypt information to do anything with it. That obviously you have to decrypt something to work with it. Which... maybe I'm just really simplistic, and I make brash assumptions about what is and isn't possible, but it often feels like a paradigm shift to me.

Public/private key cryptography was one another one of those moments; "wait, you mean I can have someone encrypt information without knowing how to decrypt it?" Zero-knowledge proofs are another one. Also when people started using quantum entanglement to tell if a key had been intercepted. This stuff is stupid, it shouldn't work. It feels obvious to me that it shouldn't be possible.

I dunno, it feels like a cheat code or something. Or better analogy, being given a brand new mechanic in a video game level. It's like the first time that you rotate the world in Fez.

</comment><comment><USER3> Great article!

I feel that the article is a bit vague about the applications of homomorphic encryption, so I'll add some examples. For instance, suppose that your mail server encrypts your mails, and only you can decrypt them. If you want to search something trough your mails, you have two choices:

* download all your emails, decrypt all of them, run your search, discard the rest

* allow the mail server to decrypt your mail, and let it run the search

Both options are not viable. The first one is extremely costly in bandwidth, storage and computation, the second one contradicts the premise of encrypting your data in the first place. (Fully) homomorphic encryption would allow the mail server to perform the search on encrypted data, not knowing the content of the mail, or even the query for that matter.

Another example, you want to get a loan from the bank. Their conditions are: not having served jail time, no critical health state, and no gambling addiction. Further more they allow you to check one of these cases if you are a veteran (go figure). All these information are sensible private data, which the bank could use to rise your interest rates. Yet, you need the loan. Using homomorphic encryption and some variants could allow the bank to only get the result: whether you are eligible to the loan or not.

Of course, the bank would have to agree to such a scheme in the first place and what I describe is still highly theoretical but I hope you get the idea of FHE's potential uses.

\</comment><comment>

I'll also add a few precisions about the article, several homomorphic schemes exist, the one described in the article is called Ring Learning With Errors (RLWE), a derivation of the LWE problem. Mathematically it boils down to solving a problem called shortest vector problem in a lattice, it's a bit abstract but you can Google it (basically, you have a regular grid of points, find the smallest vectors that can generate all points). It's an NP-hard problem, but you have to pick your lattice very carefully (many instances are solvable in polynomial-time).

Also, if I'm not mistaken, the encryption system described in the article is a Somewhat Homomorphic Encryption (SHE), which means that you cannot use it for complicated operations. Well, the paper it's based on is Fully Homomorphic Encryption, but the techniques to reach it are not given in the article. After a while, the errors become preponderant and you cannot decrypt anything any more. Several schemes actually solved this issue, reaching Fully Homomorphic Encryption (FHE). The first FHE scheme was described by Gendry in his PhD thesis in 2009 (damn I wish my PhD will be half as good as the quarter of his). Yet if I remember correctly many FHE schemes are still unpractical (I remember a paper in which the polynomials were several Gbytes). But the field is quite young, and research is progressing!

<comment><USER4> Great comment! I'm surprised this article does not have many replies. This is incredible step forward in Cryptography. Thank you for your expansion.

<comment><USER5> There are a number of strong negative theoretical results in this space, and I mostly hear about people hand waving around them, making nonsensical claims, and then building insecure systems.

For example, you can use outside information to run overly specific queries: "list the male students in woman's studies 326 that got over a C". Tricking me into running this, and observing the number of bytes returned will give you a nice approximation of Jim's grade if you know he's the only male in that class. The set of queries I can safely provide varies with the side channel information the attacker has.

Also, if you have the ability to subtract and compare (I think those are the right two operators), then you can use that to decrypt the underlying data.

There is also the best picture I have ever seen on wikipedia: [https://en.m.wikipedia.org/wiki/Block_cipher_mode_of_operati...](https://en.m.wikipedia.org/wiki/Block_cipher_mode_of_operation) Scroll down to "electronic code book" to see why basic equality computationa break encryption guarantees.

To make things worse, the attacker can keep track of what time each encrypted block is read/written, and infer communication patterns between users, and even infer which blocks contain information on which topics. (This is similar to the concerns over governments that gather "metadata", because gathering "data" would be illegal)

Anyway, I skimmed this article, but have spent days reading negative research results in this space that are pitched as though they are somehow practical, and I suspect I'm not the only one suffering from homomorphic encryption fatigue.

<comment><USER3> I think you're confusing several things.

About your query example, (F)HE never claimed to be secure against leaked information inherent to the query. This is more the resort of privacy, which is tackled by differential privacy researchers (and as such has nothing to do with FHE). Naturally you can put differential privacy on top of FHE but we're not there yet. The biggest problem here is that crypto is not magic: in your example, NO system can truthfully answer to the question without leaking the only male's grade, crypto or not. So maybe you'll restrict the system to run the query only when there are at least two male students. But then you're still leaking info to me if I'm the second student, and so on. Wanting crypto being able to do this kind of job is equivalent to wanting cars able to go fast anywhere anytime but that should never crash into a tree at more than 5 km/h: if you can go fast anywhere, you can go fast into a tree. Sad but true.

About the ability to subtract and compare, I don't understand what you are talking about, could you explain it?

About ECB, I mean, yeah, everyone in crypto knows ECB is insecure, this is stream cypher 101 and equivalent to "ROT13 is not secure, do not use it for crypto". But this has nothing to do with FHE.

Keeping track of time is a side-channel attack. Nothing to do with FHE in particular, it's common to all crypto. Most crypto libraries are secure against timing attacks, as it is one of the most obvious side-channel attack. FHE libraries will hopefully be too, just give them time. Also I think FHE is by nature more resilient to timing attacks as it must natively implement simultaneous computation of if/else branches, for instance.

Long story short, yeah, crypto is insanely hard to implement correctly. When your problem is well-defined (first difficulty), you must find the good tools (second difficulty), with the correct security parameters (3rd), and implement them correctly: no bugs (4th) and no side-channel attacks (5th). That's the reason why the first rule of crypto is "don't write your own crypto".

<comment><USER5> No, it is much worse for homomorphic encryption than for conventional encryption. Homomorphic encryption systems are trying to push a computation to an untrusted server instead of just downloading the whole data set and doing the computation locally.

It is known that this doesn't work if any one of these bullet points is true:

(a) the size of the results are correlated to facts contained in the answer and the attacker can get you to run queries (even if you don't share the results)

(b) the computation on the server supports basic arithmetic

(c) the computation on the server supports equality tests

(d) it is computationally feasible for the server to perforn a computation over O(1) data by examining O(1) bytes.

Given those (and other, more subtle) constraints, the challenge is to design a practical HE service.

There aren't any examples of people successfully building such a system so far.

<comment><USER3> Are you sure about (b) and (c)? They seem quite wrong to me. Just looking at the abstract of [0], one can have homomorphic equality test in a semi-honest model, which already seems good enough. The abstract does not point any theoretical limit either.

(a) is a classical side-channel attack, and as I say non-homomorphic libraries already take these kinds of attacks in consideration. HE won't be an exception to that, depending on what level of privacy is needed.

I did not understand what you mean by (d), and to be honest by (b) either. If you have any papers/blogs about that I'll be glad to read them.

And yes I agree, successful FHE system is inexistent as for now. But the evidence of the bare existence of FHE is only ten years old, _somewhat practical_ FHE is even younger. We've not even reached practical FHE yet, security issues will be tackled when they will become the blocking point. At this point of the technology you can't expect research to be immediately applicable. ZK proofs were first designed in the 80s, and as far as I know they only started to be used in practice (zk-SNARKS for instance) recently.

[0]: [https://ieeexplore.ieee.org/document/7941933/](https://ieeexplore.ieee.org/document/7941933/)</comment></comment></comment></comment></comment></comment>