Don't mine Bitcoin, mine Altcoins - <AUTHOR> https://hackcabin.com/post/dont-mine-bitcoin-mine-altcoins/ <comment><USER2> All this crypto currency mining and speculation is a perverse form of wasting resources. While most people talk about energy conservation others keep buying hardware they don't need to burn electricity 24/7 so they can "create" made up resources to sell to other speculators online.

<comment><USER3> And let's quantify the waste of resources by storing vast buckets of useless data people put on the internet. Snapchat, Instagram, Facebook, Google Plus. What about the PoP's the house the IP transit traffic? How about the thousands of advertisement/Spam companies that just add to the noise? Telemarketers and their like (legal and not).

Surely there is a better argument to be made here. Speculative "mining" on consumer purchased hardware is hardly near the top of global wasted resources.

<comment><USER4> Yes, pretty much everything in our current economy is extremely inefficient. In terms of waste, cryptocurrencies are peanuts.

\- Facebook ad spending is a waste; do companies actually get a ROI on all the money they give to Facebook? They don't actually know! In the grand scheme of things it's a complete waste. If Facebook didn't exist, then companies wouldn't be forced to pay it money just to stay relevant; they could focus their funds on actually improving their products instead. Not to mention the enormous amount of otherwise productive human hours that Facebook is responsible for wasting every day. That's not even counting all the other social networks.

\- Gambling; $240 billion per year; the money does nothing for society. The amount of money spent on gambling every year is MORE than the total market capitalization of all cryptocurrencies added up together. So even if you think that buying a cryptocurrency is gambling, your odds are much better (and improve as you do more research). If people stopped gambling on horses and lottery and started gambling with cryptocurrencies instead, the total market cap for cryptocurrencies would be much higher than it is now.

\- Sports; the sport industry makes $75 billion per year. Yes it's entertainment. So is trading cryptocurrencies.

\- Tobacco industry makes $35 billion in PROFITS per year. Doesn't add anything positive to society. I think that if you were to add up all fees (profits) ever charged for transferring cryptocurrencies, you wouldn't get anything close to $35 billion.

<comment><USER5> > Facebook ad spending is a waste; do companies actually get a ROI on all the > money they give to Facebook?

Yes they do, and yes they know. Facebook is very effective at reaching qualified leads, it's not "likes" or "engagement" what advertisers are buying.

<comment><USER4> Maybe for a small subset of the total advertising spend, but for the big players, they can't always be sure which part of their revenue can be attributed to Facebook and which part can be attributed to other sources or which part can be attributed to their sheer scale (everyone knows about Coca Cola, but that won't stop the company from spending big on advertising). Companies like Procter and Gamble started scaling back their Facebook ad spend; they had no idea what their FB ROI was until they actually started scaling back and they realized that it was essentially $0.

<comment><USER6> If they can't measure their ROI, big or small the players, it's their fault, not Facebook. It's not that hard to deploy direct marketing campaigns and monitor conversions. It's actually the ABC of online marketing.

</comment></comment></comment></comment></comment></comment><comment><USER7> Make up your own mind but Minergate has a rep for stealing your hash and lower hash speeds than if you do its yourself

[https://www.reddit.com/r/BytecoinBCN/comments/6dh2ci/minerga...](https://www.reddit.com/r/BytecoinBCN/comments/6dh2ci/minergate_is_a_scam/)

[https://bitcointalk.org/index.php?topic=1975859.0](https://bitcointalk.org/index.php?topic=1975859.0)

[https://steemit.com/blockchain/@carlagonz/6xhcnh- minergate-s...](https://steemit.com/blockchain/@carlagonz/6xhcnh-minergate- scam)

<comment><USER8> If you "do it yourself" what would the net profit be including the cost of hardware and electricity?

<comment><USER9> That question is as impossible to answer as "if I started an apple orchard how profitable would that be".

<comment><USER8> Why? Assume that the value of these altcoins do not change, and see how many you can mine given a certain amount of time. The value of altcoins could very well go down, but for the sake of demonstration you could still calculate a very rough estimate, no?

<comment><USER10> > _Assume that the value of these altcoins do not change, and see how many you > can mine given a certain amount of time. The value of altcoins could very > well go down, but for the sake of demonstration you could still calculate a > very rough estimate, no?_

And likewise if you assume values for the cost of apple seeds land, see how many apples you can grow given a certain amount of time - and the value of apples could very well go down - but for the sake of demonstration you can also calculate a very rough estimate of apple orchard profitability, no?

</comment></comment></comment></comment></comment><comment><USER11> An unfortunate side effect of the recent ICO boom, specifically the many "altcoins" built on ethereum, is a conflation of terms between "altcoin" and "smart contract," and therefore also what it means to "mine" a coin.

Yes, these ethereum "altcoins" are just as tradeable as any other crypto coin. However, it would be more accurate to refer to them as "smart contracts," because you cannot "mine" them in the traditional sense of redirecting CPU cycles.

Let's define "mining" an altcoin as receiving that altcoin in exchange for services. For example, you can "mine" BTC or ETH by providing the _service_ of compute cycles. Then how do you "mine" an altcoin that is really an ethereum smart contract? The service could literally be anything, depending on the contract. It could mean anything from leasing disk space, to freelance programming.

If you have a generic mining rig setup, you can probably redirect it to mine ETH, BTC, or any CPU based proof-of-work coin. But your CPU can't freelance for people. It can't lease disk space. It can't fulfill any arbitrary ethereum contract.

There needs to be a distinction between the term "altcoin" and "smart contract," because even though you can trade them both on exchanges, the process for receiving the coin in exchange for services can vary widely. It's misleading to refer to "mining BTC" and "mining <insert smart contract here>" as interchangeable ideas.

</comment><comment><USER12> First of all, past increases in price shouldn't be used to calculate mining profitability. If you want to speculate on the price, just buy directly on an exchange.

It's a bit misleading to only show coins that have appreciated in value.

It's odd the article doesn't mention the different mining algorithms. It's definitely not profitable to CPU or GPU mine any SHA256 coins, given ASICs are ~10,000 times more power efficient. Yet he suggests CPU and GPU mining, then says he's considering buying Antminers?

<comment><USER13> Just the fact that the author suggests Minergate as a good option speaks volumes about his understanding of the crypto market.

</comment></comment><comment><USER14> I don't know about altcoins but I doubt learning about new ones and setting them up is worth your time.

The electricity mining Bitcoins costs with a normal CPU/GPU though is definitely more then you're going to make. (Even if your PC is on anyway, just the added cycles.)

EDIT: This is a good place to remind everyone that most people in the original gold rush lost money, their health and years of their lifes for nothing.

<comment><USER15> Bitcoin is far past the point of being profitable with CPU or GPU, but there are many coins out there that are more than profitable for most americans (it has to mainly do with electricity cost in your area how much it will be profitable)

<comment><USER16> can you provide any examples? i'm very skeptical because generally any coins that are viable with GPU mining are very quickly made not so by an influx of miners...

<comment><USER15> Ethereum is still more than worth it for me. At my electricity rates (which are a hair above the national average), it costs me very roughly $1 a day (I calculated actual usage numbers a bit ago for various algorithms but I don't have them on hand) to run an old R9 390 I had laying around (and the 390 is a VERY power hungry card).

Hashing Ethereum, i'm making around $2 USD per day from that card. Hashing ZCash I'm making about $1.70 USD a day from that card. (both without any real optimizations). Also that's pre-power-consumption-cost, so the "profit" is $1/day and $0.70/day respectively.

There are others which cut it even closer, but there are other people who live in areas with cheaper power that make even those worth it.

It's not the cash-cow it was in it's hayday where people were making $5-10 per card in some cases, but for me it's still a nice $200 a month in profit in my bank account from just older equipment I had laying around and about $100 in parts and stuff to run it in my garage. Accounting for the several hours I put into setting it up makes the money less worth it, but it was fun for me to do so I'm happy with it.

<comment><USER17> Have you done the sums compared to if you just put $200 into BTC and watched the price increase?

<comment><USER15> I have, and depending on how you do it I could either be ahead or behind.

If I would have "invested" only the $120 that I've spent on equipment so far, i'd be significantly worse off than I am with mining. (Remember, I started this process with a handful of older/unused GPUs, so the only stuff I bought was an extra PSU, some risers, and a few odds and ends here and there).

If I factor in the selling of the unused GPUs that I had laying around that I'm using for mining, I'd still be at a bit less than I am now (assuming I got the "market rate" and sold them at a good time). Realistically I wouldn't have sold them, since I didn't already and had some of them for a few years. They would have just collected dust in my closet like they were.

If I "pretend" that I invested as much as I'm spending in electricity each month into bitcoin and sold it off in a manner similar to how I get paid mining (in other words, "buy in" a few $ per day, selling all of that back at the end of the month), i'd be slightly better off, but that's only because bitcoin went from $2700 to like $4000 in a few freakin days!

</comment></comment></comment></comment></comment></comment><comment><USER18> How much 'real' transaction goes on through these alt coins?

Bitcoin enabled trade accross borders without going through banks, and with the possibility of evading normal money launderng proceedures.

Ethereum offered fascinating new applications like DAO, providing new ways of trading in funds and structuring companies.

Possibly there would be space for a zero knowledge alt-coin in dark pools and for mediating illegal tranasctions. But I don't think there is a market leader yet.

The huge majority of these alt coins are bucket shops. Surely that should effect the way we talk about them.

There are a lot of bucketshops these days. American gambling laws make it better to pretend to be legitimate. I wish America would just legalize online gambling.

<comment><USER19> My friends and I settle up our beer tabs or things like that with Aeon, a Monero like currency popular in my age bracket.

<comment><USER18> Thanks - here in the UK Monzo (a startup but more or less a traditional bank) is filling that niche, and I'd not hear of Aeon. I think a mobile privacy platform like that has a lot of potential but you'd need to make it very easy to buy the coins too.

<comment><USER19> Ah yes, happy to help you in any way. Thanks to the asic resistant mining algorithm we are able to generate coins fairly reliably with CPUs that are already in our desktops and inexpensive GPU arrays that we have pieced together from Newegg.

</comment></comment></comment></comment><comment><USER20> "According to a team at Bloomberg News, at one point last year the U.S. had lent, spent or guaranteed as much as $12.8 trillion to rescue the economy" [http://www.pbs.org/wnet/need-to-know/economy/the-true- cost-o...](http://www.pbs.org/wnet/need-to-know/economy/the-true-cost-of-the- bank-bailout/3309/)

HN is truly a hub for a great set of minds in the tech community but when it comes to crypto it just amazes me how myopic opinions can be.

</comment><comment><USER21> You can mine alt-currencies on some exchanges which pay out in bitcoin. This allows you to "mine" bitcoin on unfeasible hardware.

I used zpool.ca for a while when Blake2s alts were highly profitable. I don't know what the best alt-coins are these days. It tends to fluctuate quite rapidly.

<comment><USER15> Along those lines is a service called "NiceHash". They basically sell your PC's "hashing ability" on various algorithms to buyers.

This ends up acting like you the "seller" of hashing power getting paid in bitcoin to hash whatever altcoin is most profitable at the moment.

They have an auto-switching GUI client for windows, and allow you to point basically any miner that they support the algorithm at their service and get paid in bitcoin at a roughly comparable rate to mining the actual coin.

<comment><USER21> The problem with these exchanges is you can never be sure what your actual return is going to be (this is true to an extent for all coins, but the effect is not as big for the more established coins that you mine directly).

Suppose there's altcoin called ALT which can be mined very quickly and is worth let's say $0.00001 per coin. Mining a block takes 5 minutes and the payout is 10000 ALT coins or whatever. The 10000 coins are distributed across the pool, and you determine that on your setup you should be able to mine $3 USD in terms of BTC a day on the pool. You get wind that ALT is about to get pumped hard, which means your potential earnings could reach $20 per day (or whatever).

What's the problem (ignoring exchange fees) with going "all in"?

Firstly, ALT coin may have a confirmation time of several hours or even days. You can't sell unconfirmed coins.

Secondly, the exchange has to sell these coins elsewhere (usually another exchange). Because of the low value, this other exchange may have a rule that you can only sell in batches of 1 million. So even though you've mined X amount of coins, you still have to wait for the batch to be fulfilled.

Thirdly once the batch is fulfilled, you still have to wait for it to be sold on the other exchange.

And finally, the BTC <-> ALT exchange rate may fluctuate independently of known factors.

By the time this happens, your ALT coin will almost certainly be worth a different value to what they were when you first mined them.

It could be worth more or less, but the point is you can't efficiently forecast on most alt-coins when you use exchanges like Zpool and NiceHash. This is why they usually have several values for your "earnings" \- Total, Unconfirmed, Confirmed, and Sold. It's also why "profit switching" algorithms and techniques are kind of a silly idea for most alt-coins - you cannot calculate profit based on current market values.

<comment><USER15> That's the nice part of NiceHash though, you never even own the alts in any way.

You as a "seller" get paid in bitcoin per mhash/s (or whatever the unit is for that algorithm). so if you are hashing "DaggerHashimoto" at 26Mhash/s for 24 hours, you are getting paid x btc per mhash/s

The "buyers" are basically then paying NiceHash to say "I want x ghash/s of this algorithm and I want it going toward this mining pool and I'll pay you X bitcoin for it." So then NiceHash plays the part of the broker and matches that X bitcoin payment up with as many miners as is needed to reach the threshold of ghash/s and takes a little off the top as a fee.

It's not perfect, you may end up taking a sub-optimal algorithm and making less than you could have if you did it perfectly, but it works well enough that I make profit in bitcoin.

<comment><USER21> Nicehash is slightly more stable but you end up in a similar situation since the price per Mhash fluctuates in the same way. If you examine the profitability chart it's all based on historical prices:

[https://www.nicehash.com/?p=calc](https://www.nicehash.com/?p=calc)

That's _usually_ fine for the bigger, more established alts (since the known alts use the known algos - DaggerHashimoto, Equihash etc), but not for the alts which can potentially generate the most profit in shorter periods of time. So if a coin that uses some obscure algo gets pumped for a few days it's going to skew the chart.

The real benefit of Nicehash is that it's more accessible for people who are new to crypto mining. If you work out the numbers, mining ETH (for example) directly is almost always more profitable than using Nicehash. Nicehash is just simpler and more convenient.

<comment><USER15> Well of course mining the coin itself will be more "profitable", NiceHash is charging about a 4% fee (closer to ~2.6% if you play their game). So on average mining ETH directly will most likely net you 4% more.

But I don't want ETH, I want BTC. And while it's not a knock against ETH (It seems like a really cool technology!), I just don't want to hold my money in it and deal with it separately than I do my BTC. And I'm more than willing to pay that 4% fee to be able to hold my BTC securely with the ecosystem I have setup to sell and convert it to USD if/when I need to.

</comment></comment></comment></comment></comment></comment><comment><USER22> I'm very suspicious of the prices for some of these more exotic coins. If you mine something like Golem or Pepe Cash with no name recognition, how do you find a seller? The big exchanges don't sell them and finding a buyer yourself is very time consuming. Seems like you're likely to end up with a lot of cryptocurrency you cannot find a buyer for and a lot of wasted electricity.

<comment><USER23> You could trade it on shapeshift.io for Bitcoin and sell those.

<comment><USER24> Shapeshift still requires a buyer on the other end, though I'm not entirely in agreement with the op. Seems like most relevant coins have some real volume

<comment><USER23> I am just pointing out that you do not need to go "find a buyer yourself" like op suggested. I agree there is a lot to be suspicious about with new coins/tokens.

</comment></comment></comment></comment><comment><USER25> More profitable to trade altcoins and get in on rumors then sell when they go high, and cash out to BTC/BCC when you can. Problem with a lot of alts is they don't go anywhere. If you were lucky and say mined NEO then you're fine, but what about the other 100's of alts?

</comment><comment><USER26> I'm not sure about the other coins, but you can't mine NEO. You have to purchase it.

[https://www.guidetocrypto.com/neo-neo/neo-neo-mining- guide-v...](https://www.guidetocrypto.com/neo-neo/neo-neo-mining-guide- version-2-0-1/)

</comment><comment><USER27> Multipool mining is nothing new, so it should be known that Minergate has a shaky reputation.

My independent analysis of it is that there exists merely an optimization on your mining yield by not using Minergate, but you will have to do that calculation yourself based on your mining hardware, electricity costs and throughput, and determine if the convenience makes up for the possibilities of alleged resource theft.

Mining pools pay out directly to any designated address, and so they don't store your earned funds at all. The risk of impropriety is very low, but miner's yields are also low enough that they would still complain about minor variances in mining pools.

</comment><comment><USER19> I never thought there would be so many irrational, dissenting opinions for a newer sector of tech. Some of the guffaws in this thread are astonishing; this is the most uninformed I have ever seen HN.

</comment><comment><USER28> Where did the data for the growth rate table come from? I can see that the original source is a reddit post but I can't find where the reddit post got it's numbers from.

<comment><USER27> coinmarketcap.com

but there are many others like that site, its just historical price data.

</comment></comment><comment><USER29> Woof. It's frightening how quickly these crypto threads get toxic with foam mouthed, wide eyed cultists.

<comment><USER30> And yet the political threads are the ones that get censored (among so many others)...

<comment><USER29> I'm 100% ok with political threads being censored here. I'd immediately stop bothering with this site if that toxin got unleashed here.

</comment></comment></comment><comment><USER31> The majority of newer coins cannot be mined since they based on PoS.

</comment><comment><USER32> I want to mine Ethereum when they start using Proof-of-Stake, because my computer is from the 2000's. Will I be able to do it?

<comment><USER21> You can't "mine" using Proof-Of-Stake (POS). I don't know which algorithm they will choose when/if they eventually do switch to POS, but one method is that the wallets that store the most ETH have a higher chance of being selected to perform some inexpensive computation. You get paid for performing these computations.

So to answer your question, you could potentially use your old PC to host your POS wallet and earn ETH. The amount you will earn will depend on how much you currently have and how long your are connected to the network.

</comment></comment><comment><USER33> Money is not everything you know

</comment><comment><USER34> Quit wasting power on this nonsense, period! As of right now, Bitcoin alone accounts for more power usage than the entirety of Iceland. All that pollution for a non-tangible currency you can't even fold up and make a paper airplane out of, or eat, or even wipe your butt with.

<comment><USER35> While I understand the argument that mining cryptocurrencies is a waste of energy, I don't understand why cryptocurrencies are any worse than keeping money in a bank. Do you keep all your money as cash? Am I missing something?

<comment><USER36> Money kept in the bank is guaranteed by your government to retain (some) value; it is backed by the economy of your country. Bitcoin is not backed by anything other than speculation on implied value

</comment></comment></comment><comment><USER37> This site recommends a program called minersgate. My virus scanner when off on it. Looking online it seems to not legit.

</comment><comment><USER38> All the cryptocurrencies are pump and dump. It's a perfect space for people who normally trade currencies because they are generally not invested in the currencies.

So I wholeheartedly support pumping and dumping tons of cryptocurrencies. It has been free money for a while now.</comment>


Chrome 59 with TurboFan is Sometimes Slower than 58 - <AUTHOR> https://www.prerender.cloud/blog/2017/06/22/chrome-59-is-sometimes-slower <comment><USER2> This page does not show Chrome being 59 being slower. Rather, it shows a contrived bench running 38% slower. Interestingly, it also shows their site running 32% faster.

Given the V8 team has explicitly stated the plan to optimize for real websites rather than synthetic benchmarks [1] these results look completely appropriate and desirable. Good work V8 team!

[https://blog.chromium.org/2017/04/real-world-javascript- perf...](https://blog.chromium.org/2017/04/real-world-javascript- performance.html)

<comment><USER3> Perhaps the title changed? It now says chrome is _sometimes_ slower.

<comment><USER4> Yep, _sometimes_ , when you're running a synthetic benchmark that doesn't represent real world usage, it is slower.

My Ferrari is also _sometimes_ slower than my VW Beetle, when driving on a uneven dirt road .

</comment></comment></comment><comment><USER5> So it is slower in a benchmark that doesn't represent any real world problems, while an actual app performs much better?

Isn't that exactly what they were going for?

<comment><USER6> Yes. It was a very deliberate, conscious decision to _not_ care about the benchmarks, marketing be damned; some of that was a belief the V8 had historically become overfit to them.

<comment><USER7> I don't think it's so much as a complete abandonment of benchmarks as a de- emphasis on them. I'm sure the chrome team are still running plenty of benchmarks, but I'd guess they're more tuned towards 'real world' usage.

<comment> forgot-my-pw I believe they now benchmark by running popular websites/webapps instead of single tests in loops.

</comment></comment></comment></comment><comment><USER8> The problem with javascript JIT's is that benchmarks which run for tens of a second in a tiny piece of code are not reflective of general usage patterns. So the quality of the initial pass (baseline in Firefox) is likely more important. Worse, given fairly dynamic code paths, the system can get into a situations where it is cycling between optimization targets and spends a lot of time running sub-optimal code and entering/exiting the JITed code, or the JIT/compiler itself.

Anyway, there are so many engineering trade offs its like a big water balloon, squeeze it here and it gets faster in this spot, but slows down somewhere else. When, what you really need is a way to let some of the water out of the balloon.

<comment><USER9> A bigger problem is the variability and pace of change combined with poor and level inspectability of generated code. This makes it fragile and laborious to design primitives that compile to efficient code. Contrast to eg. JVM.

<comment><USER10> webassembly is the answer to the few high-performance bottlenecks.

<comment><USER9> WebAssembly is a poor and high effort compile target for languages like ES6, ClojureScript, Elm, etc.

<comment><USER11> WebAssembly is _not_ designed to be a compile target for ES6, ClojureScript, etc. At least not yet. Its primary target currently is languages like C, C++… low-level compiled languages that don't have a garbage collector.

(Source: [https://github.com/WebAssembly/design/blob/master/GC.md](https://github.com/WebAssembly/design/blob/master/GC.md))

<comment><USER9> That's what I tried to say, wasm does not solve the problem I described.

</comment></comment></comment></comment></comment></comment><comment><USER12> Chrome is faster on a real website, however slower on my Hello World React app with 1000 hello-world components.

Literally unbrowsable.

</comment><comment><USER13> I wonder why these guys are using Chrome for this? I've had no problem pre- rendering React using a simple node process and ReactDOMServer.renderToString();

<comment><AUTHOR> Because rendering in a Node process is more complicated when async state is involved - using a browser eliminates that complexity. For simpler apps without any async state (AJAX or WebSockets), a Node process may suffice.

<comment><USER14> Dumb question because I have very little node experience - I've been doing a node course and it uses a lot of async stuff server side, eg for everything that hits the database (using promises). Why wouldn't you just do that for your async state when you render server side?

<comment><AUTHOR> You could indeed do that, it's just more work. The beauty of server-side rendering a React app in a headless browser is that since the environment is the same as what the app was originally designed for (a browser), things _just work_.

For example: you load the app in your headless browser and let it load as would in any browser. The browser fires some events and XHR/WebSocket requests and you can cleanly wait for them to finish as opposed to doing something like this: [https://techbrunch.gousto.co.uk/2016/10/10/isomorphic- react-...](https://techbrunch.gousto.co.uk/2016/10/10/isomorphic-react-v2/) which requires you to do some extra configuration in your app to help support a Node environment.

TL;DR: ReactDOMServer.renderToString won't wait for your async requests to finish, you need them to execute and finish before you call renderToString

<comment><USER15> This sounds like a major kludge to me. What if the page keeps firing events? What if the page is relying on cues from the browser (dimensions, cookies, JS capabilities, etc.) to know the correct requests to make.

If you care about performance you should design an architecture where it's possible to determine exactly which parts should and can be executed on the server.

<comment><USER13> Agreed. A react component that can't render _something_ without extra async state updates is a poorly designed react component.

</comment></comment></comment></comment></comment></comment><comment><USER16> Here's an interesting talk about optimization and JIT compilation in V8: [https://www.youtube.com/watch?v=p-iiEDtpy6I](https://www.youtube.com/watch?v=p-iiEDtpy6I)

<comment> forgot-my-pw Also this one from the last IO: [https://www.youtube.com/watch?v=N1swY14jiKc](https://www.youtube.com/watch?v=N1swY14jiKc)

</comment></comment><comment><USER17> I've also noticed the chrome devtools using 100% CPU quite often, since I updated to v59. Pretty annoying since the ff devtools aren't (imho) up to par with chrome's

</comment><comment><USER18> If you can make it eat less memory, go make it 2x slower im fine with it.

<comment><USER19> Why? memory is cheap.

<comment><USER20> This really hasn't been true on consumer devices for a while now. Sure, you can add RAM to a server for cheap, but no one really runs a browser there. In many cases now, adding more memory to a device means buying a completely new device. Unfortunately, it doesn't matter much if the component is cheap if there's no way to actually install it.

<comment><USER21> I think the parent's comment still stands if you're comparing the cost of memory relative to processing power. Most devices have more memory than most people need, but there is never enough processing power. So, given the tradeoff of having Chrome (or whatever other program) use more memory in exchange for speed, I would take it.

<comment><USER22> Due to the way RAM works, you also always have a use for more RAM. Chrome is slowing down other programs on your system by using more RAM, so it's not using more memory in exchange for speed, it's sacrificing the speed of the rest of your system to speed itself up.

<comment><USER23> Just because your disk cache is expanding to fill your available RAM (which doesn't even always happen depending on the kernel/RAM size) doesn't mean that extra cache buys you anything. At some point it's just going to be holding stuff that isn't used before it's evicted.

<comment><USER24> Disk cache? Nowadays Chrome is eating so much RAM that it's pushing other programs into swap.</comment></comment></comment></comment></comment></comment></comment>


Ask HN: Exercise is to sports as Learning is to __? - <AUTHOR>

<comment><USER2> Premises is flawed on several levels.

1) Sports do not require exercise; Darts, Bowling, Curling, Competitive Eating, Competetive Video games, etc.

2) Learning is required for Sports. Strategy, practice, muscle memory, etc.

Learning is what we do every day we live. If we want to or not, if we realize we are, or aren't. We are also tested on this knowledge every second of our lives, if we want to be or not.

Learning is part of our existence, and to learn is to live.</comment>


Monads Are Not Metaphors (2010) - <AUTHOR> http://www.codecommit.com/blog/ruby/monads-are-not-metaphors <comment><USER2> Did bad high-school mathematics education conditioned us all to hate everything that's related to mathematics?

Label a concept "this is just engineering practice" or "this is just physics. this equation describes how universe works" and people will happily accept it as is.

But label it "mathematics" and explanations are in order because maths is hard to understand...

I don't see any posts where authors concern themselves with metaphors for Maxwell's equations (or anything else in physics; maybe I'm hanging out in the wrong circles though).

What is a process of understanding a mathematical equation? Stare at it until you grok it? Use it to solve problems to get a feel of what it means? Write proofs about it so you can state some properties with certainty?

I don't know what the best/structured process is, but the core is "take this equation and do something with it".

Do the same with monads! I think people having problems understanding monads are those that defer writing any code until they feel "they get it". Instead of "now I get it, monads are burritos, time to write some code" one should write some code _in order to understand monads_

<comment><USER3> I think it has much to do with the abstractness of mathematics (especially category theory). Some just have a hard time anchoring the ideas to something concrete, and they are in need of that anchoring to make the ideas stick. With engineering and physics equations there is always something physical to relate them to (at least somewhere in the universe(s)) -- not to say there aren't harder equations to grasp in those fields too, but again that is typically trending into the more abstract (less macro) areas of the field. The trouble with math is sometimes you just have to work through equations enough until you form some intuition about how they work. Some folks just want to skip that step and others Oblidge them by assisting their mental model with metaphors which seem to never be universal enough -- if it were it would just be math.

<comment><USER2> Just thought about something that I think is analogous to explaining monads. I remember reading few articles about "core math" in the States and it had example problems related to addition, subtraction, multiplication.

The complaint was that those problems where incomprehensible gibberish and kids and adults alike had really hard time figuring them out.

From what I recall the core of the issue was that the question authors had some specific mental model of how addition and multiplication works and the questions were structured in a way that required figuring out what that model was (otherwise it was very hard to understand what was being asked).

Why does 2 + 3 = 5? Well, because it does. I don't even know what my mental model of addition is. I just do it. I stared at it long enough as a kid and I developed neural circuits that compute the result.

Instead if I asked:

I have two stars in a box. How many squares do I have to put in the box to have 5 shapes?

        | * * | + | ??? | = | * * # # # |

Which is how I recall those weird maths questions were structured.

Now you a have a (terrible IMHO) model of addition. That's what I think those monad tutorials do for you.

<comment><USER4> In order to first learning how to add, examples with apples and bananas are helpful. Learning happens by relating some new concepts to something you already know; that applies also to monads.

Those monad metaphors provide the same benefit. Even if some intuitions are wrong and you still need to learn the match to get the whole picture, at least you get a sense of (partial) understanding and purpose during the whole learning process thanks to the metaphor, instead of feeling lost the whole time.

</comment></comment></comment></comment><comment><USER4> This coming from the "you don't really understand a topic until you learn its maths" school. I don't mind that position as there's some truth to it, up until they commit the mistake to consider metaphors harmful and an obstacle.

I greatly benefited from the "conveyor belt" metaphor for learning monads; it made me grasp instantly something that I would have never understood from a pure theoretical explanation - namely _why_ they are so useful and widespread in functional programming, as a building tool to distribute logic among several composable functions over a data type. Sentences like "We start with one thing and use its value to compute a new thing" and "Monads are an abstract, mathematical label affixed to a pattern found in almost all code" will never convey information about how it's intended to be used in the same vivid way as the metaphor.

I know for true that the pure mathematical approach leaves me hanging. I learned linear algebra in the theorem-proof style, and as of today I still don't know when it's an adequate technique to use. I can't tell what matrix ranks, kernels or tensors are good for even though I can calculate their values very precisely.

<comment><USER5> _...the "conveyor belt" metaphor for learning monads;_

Thanks for that! Here's a link:

[http://web.archive.org/web/20100910074354/http://www.haskell...](http://web.archive.org/web/20100910074354/http://www.haskell.org/all_about_monads/html/analogy.html)

</comment></comment><comment><USER6> [http://fuckingmonads.com](http://fuckingmonads.com)

</comment><comment><USER7> Anybody who didn't know what monads were and now reached an epiphany thanks to this article please comment.

Also is there anyone here who understands what monads are but has never programmed in haskell or a functional language?

<comment><USER8> I don't believe monads are worth the bother without some syntactic sugar. Without sugar, it is just a sequence of operations converted into a chain of nested lambdas with one lambda for each operation. Cool, but far to convoluted to write for any real-world programs.

The attempts to introduce monads in other languages like Python, Ruby etc. is missing what make them a useful tool in Haskell.

<comment><USER9> I've used Async and LWT in OCaml—libraries for monadic asynchronous programming—and the abstraction can still be useful without syntax sugar.

Hell, JavaScript promises are basically a bastardized and slightly inconsistent monad, and they're still useful even without syntax sugar. If we could generalize over the API and use them for other things it would be even better, but that's not the JavaScript way.

<comment><USER8> How are JS promises monads?

<comment><USER9> They actually operate on more or less the same principle as Async and LWT, similar to Haskell's Cont.

The .then method is bind. Or it would be if they didn't automatically flatten nested promises. Since they do, then is a hybrid of map and bind that doesn't quite cover the use cases for both.

</comment></comment></comment></comment></comment><comment><USER10> This article seems a bit heavy on the computational monads.

Monads don't necessarily have anything to do with sequencing or computation, and the author is objectively incorrect to say "monads are a pattern, not a specific type". In fact, monads are an algebraic structure, defined only by the types of the operations defined on them and the laws those operations obey.

That's not to say that concrete examples like the one here aren't useful, but the author is not covering the full scope of what monads are.

</comment><comment><USER11> Brushing aside "you can do anything in one language that you can in another," what do monads allow me to do _better_ that I can only approach without them?

I've tried reading (but not coding), and all I hear is sequence of operations, chaining, and similar. I know I'm missing something.

Basically I haven't seen or synthesized the tl;dr that makes me want to learn a language that has them.

<comment><USER12> All useful languages have monads. It's a pattern that is nearly impossible to avoid. Where Haskell is different than most languages is that it lets you write generic code that operates on any monad.

<comment><USER13> Meaning that any language that doesn't have monads, you're defining to not be useful? Or meaning that monad-the-pattern is everywhere, in every even barely useful language, even if there's no explicit monads in the language?

<comment><USER12> The monad pattern is everywhere, most languages just don't explicitly recognize it. Any non-trivial program will include many different monads; they just won't be recognized as such in most languages.

For instance in C#, there is a monad with bind=?? and return=no-op (similar in use to the Maybe monad in Haskell). There's another monad with bind=; and return=no-op (similar in use to the IO monad in Haskell). C# just doesn't explicitly recognize those as monads.

<comment><USER3> I like this comment because it helps illustrate the subtlety of monads as they apply to programming.

I think mode C# programmers would likely think of ';' and '??' as syntax, and who is thinking of 'no-op' as anything!?

But if you were in haskell this would not be syntax, but just functions on an instance of the Monad type class.

Haskell could easily add some sugar to make these constructs syntax as well, but it would just be sugar -- and that is where the power, and confusion I think arises when most programmers think about monads.

</comment></comment></comment></comment></comment><comment><USER8> Metaphors a tricky. Reminds me of the many attempts to explain objects and classes in terms of real-world object. (Cars, fruits, persons etc.) These explanations are often more confusing than enlightening, since object and classes are actually not like real world objects at all.

<comment><USER14> Relevant: [https://web.archive.org/web/20110829152110/http://lists.cano...](https://web.archive.org/web/20110829152110/http://lists.canonical.org/pipermail/kragen- tol/2011-August/000937.html)

</comment></comment><comment><USER15> Related:

[https://byorgey.wordpress.com/2009/01/12/abstraction- intuiti...](https://byorgey.wordpress.com/2009/01/12/abstraction-intuition- and-the-monad-tutorial-fallacy/)

</comment><comment><USER16> Could someone translate this to Python?</comment>


"Agartha" Sample Synthetic Voice Dialogue for Video Games - <AUTHOR> https://replicastudios.com/shared/4208428d-cfd2-477d-8f94-ae125d3cb7af <comment><USER2> In Japan, there's a small but thriving hobbyist community creating video clips using something similar to this, much like VOCALOID (in its many incarnations) is used for songs (unsurprisingly, one of the programs is called VOICEROID).

Despite sharing some issues with VOCALOID (namely the strangely "metallic" undertone of some voices), people have been able to create all sorts of stuff. One of the companies involved is also trying, AFAICS, to use an approach similar to the one linked in the OP.</comment>


Pointer, a Reading Club for Software Developers - <AUTHOR> http://www.pointer.io/about/ <comment><USER2> The fact that each link is accompanied by a quick summary is a nice touch.

I wish more newsletters and link lists would do this.

[http://www.pointer.io/archives/](http://www.pointer.io/archives/)</comment>


How To: Building Your Own Render Farm : Introduction - Review Tom's Hardware - <AUTHOR> http://www.tomshardware.com/reviews/render-farm-node,2340.html#xtor=RSS-182 <comment><USER2> Have there been many discussions on doing this versus spooling up EC2 instances (or something similar)?

I would imagine that EC2 is cheaper in the short term, or if you only occasionally need this kind of processing power; and then owning your own hardware would get cheaper eventually (assuming your power costs don't kill you).

<comment><USER3> I think its more about the massive amounts of texturing and polygon data that needs to fly back and forth between the nodes and your master. GigE is definitely the way to go.

Getting all of your data to your EC2's might be a deal breaker.</comment></comment>


On Chomsky and the Two Cultures of Statistical Learning (2011) - <AUTHOR> http://norvig.com/chomsky.html <comment><USER2> I used to think the same way. But after spending the last few years getting frustrated trying to create more complex linguistic systems, e.g., dialog systems or scientific articles understanding, I am coming to the conclusion that the current statistical approach is a dead end. It's actually impeding the field because it's working so well for certain tasks that when people are trying to build systems with real understanding, they can't match the performance obtained by gigantic language models. But the answer is not Chomsky, it's semantic grounding in the real world rather than looking at language as a sequence of symbols.

<comment><USER3> I agree. I think Norvig is right that interpretation and understanding may be inherently probabilistic problems, but the accuracy of statistical models sure seems to just be a matter of "playing the odds"; correctly performing some task doesn't imply any real "understanding" by the model. If the system had "semantic grounding" as you call it, that would go a long way towards disambiguating during interpretation & understanding tasks.

</comment></comment><comment><USER4> Let me rephrase the debate, in a way that can hopefully clarify the main point of contention:

C: Your statistical models are woefully inadequate at describing language.

N: That inadequacy is related particularly to Markov models and Ngram models. More sophisticated statistical models will be adequate.

C: Then why haven't you built the more sophisticated models? Why are you still using Markov models and Ngrams?

N: Those work well enough for engineering applications.

The attitude of "it works well enough for engineering" is what Chomsky is actually criticizing. And that criticism is entirely valid: an empirical scientist would never claim that a theory is true because it can be used in engineering.

It's funny to me that Norvig holds up the PCFG as an example of a new and improved statistical model of language. The PCFG is actually terrible in many ways, the most obvious of which is that it doesn't take into account the Theta Criterion [1], one of the most fundamental phenomena of language. An example of this rule is that a noun phrase can only have one determiner. This restriction is so strong that it will never be violated in any kind of professionally composed text. But it is very awkward to try to encode this rule in a PCFG (you essentially have to split the NP symbol into DetNP vs UndetNP). I wrote a blog post describing the problems of the PCFG formalism:

[https://ozoraresearch.wordpress.com/2017/03/17/chuckling- a-b...](https://ozoraresearch.wordpress.com/2017/03/17/chuckling-a-bit-at- microsoft-and-the-pcfg-formalism/)

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

</comment><comment><USER5> Further elaborations by Chomsky on what he meant: [https://www.theatlantic.com/technology/archive/2012/11/noam-...](https://www.theatlantic.com/technology/archive/2012/11/noam- chomsky-on-where-artificial-intelligence-went-wrong/261637/)

Some video clips of this interview by Yarden Katz: [http://yarden.github.io/pages/chomsky/](http://yarden.github.io/pages/chomsky/)

</comment><comment><USER6> This is a fantastic challenge for computer engineers: create an interpreter or compiler for a programming language, based on statistic modeling. How likely is it that combining the token "foo" with "bar" using a mathematical operator is a valid construct, based on experience from other programs? What will the resulting value usually be, based on prior experience?

</comment><comment><USER7> I am also reminded of the unreasonable effectiveness of data article:[https://static.googleusercontent.com/media/research.google.c...](https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/35179.pdf)

</comment><comment><USER8> What's the difference between a probabilistic model and a statistical model?

<comment><USER3> > A statistical model is a mathematical model which is modified or trained by > the input of data points.

> A probabilistic model specifies a probability distribution over possible > values of random variables, e.g., P(x, y), rather than a strict > deterministic relationship, e.g., y = f(x).

For example, by these definitions, we could use a linear regression as a statistical model that is not a probabilistic model; we could make a bayes network (using known distributions) as a probabilistic model that is not a statistical model; and we could make a Hidden Markov Model trained on sample data that would be both a statistical and probabilistic model.

<comment><USER9> In the linear regression model the points (x,y) have the following relationship (in the most simple example)

> y_t = x_t + e_t

where e_t is some error term. Would this be a statistical or probabilistic model?

We do know that the best predictor is just the conditional expectation (in a linear setting bla bla)

> y_pred = E[x_t + e_t | .. ] = x_t

Or is this what you mean with "model"? The predictor? Sorry for being a bit confused.

<comment><USER10> Usually, every statistical model is a special case of a probabilistic model in which its parameters have been estimated by data.

The regression E[Y|X] is basically the mean of a gaussian distribution of Y given X with sigma set to the error term. The whole gaussian distribution part is the probabilistic model. But to estimate wich parameters make up this model in a particular application (together with how to check if it is valid or not) is the statistical modeling part.

</comment></comment></comment></comment><comment><USER11> Previous discussion:

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

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

</comment><comment><USER12> They both must rattle, an Epic Rap Battle.</comment>


Ask HN: Does lack of a social media presence harm employment chances? - <AUTHOR> With a very large number of companies now vetting the social media accounts of their applicants I was wondering how its seen if someone has no social media presence at all? <comment><USER2> Anecdotally, both as a hirer and hiree, I'd say the answer is no, it's not important. I can't think of a time a social profile has made or broken a hire on my end, and I've been hired despite having a locked IG, a mostly blank linkedin, no FB or snapchat, and a twitter that's mostly me griping unattractively.

Grain of salt, though, I'm in a field where a portfolio is required upfront, so that replaces a huge amount of signaling that might have to come from other places.

<comment><USER3> It varies pretty wildly. A friend of my mother applied for a job doing clerical work at the city police station, and one of the conditions of hiring was surrendering her Facebook password. For some reason I'll never understand (she didn't _need_ the job, just wanted something to do during the day), she took the job.

<comment><USER4> > one of the conditions of hiring was surrendering her Facebook password.

Is that even legal? How? _Why?_

<comment><USER5> Sharing the password to a Facebook account against their TOS anyway. [https://www.facebook.com/legal/terms](https://www.facebook.com/legal/terms) Section 4, bullet 8.

</comment></comment></comment></comment><comment><USER6> Yes, I definitely think so. I investigated this for my school newspaper, six or so years ago.

Eighty percent of recruiters/hiring managers google you before inviting you in for an interview. ([http://www.huffingtonpost.com/susan-p-joyce/job-search- tips_...](http://www.huffingtonpost.com/susan-p-joyce/job-search- tips_b_4834361.html))

Read the story about Pete Kistler: [https://brandyourself.com/info/about](https://brandyourself.com/info/about)

<comment> rlv-dan This can swing both ways. If you deliberately build a professional social presence, blogging about coding, LinkedIn resume, and so on, then it's likely positive, but if you publish drunken photos and post rude twits then it probably will hurt your job chances.

</comment></comment><comment><USER7> I'd consider it a bonus (if they dont have a Facebook, they're probably not wasting much time on it).

There are enough people who use social media but hide their friends list, posts, tweets, etc. from all non-friends, so if you're concerned you can set up a profile which you don't use and keep your (non-)activity hidden.

</comment><comment><USER8> I can speak for tech:

No it doesn't. What got me jobs:

\- Good, to the point cover letter (what job are you applying for? why are you interested in it? invitation to view your resume and invitation to get on the phone to explore more).

\- Good resume - tailored for the job (not super customized, just suitable for the title / responsibilities).

\- Got a place online they can check out previous work? Huge bonus points. There's still plenty of competition for people who've actually built stuff. And, talking about an interesting project is far more fun than talking about past experiences, especially if it is a recent / current project.

\- Social Media: I'd say not having a profile is better than having one.

</comment><comment><USER9> I have a blog and no employer has ever looked at it, even though I list the blog on my resume.

I walk into interviews and the interviewer often starts off by asking something basic such as "Do you know what object oriented programming is?"

My best known essay is "Object Oriented Programming Is An Expensive Disaster Which Must End." The essay was discussed here on Hacker News:

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

Anyone who Google's my name will discover this and many other essays. Yet I've never met an interviewer who knew that I wrote these essays.

When I started the blog I kept it strictly professional and strictly about technology. But as the years went by, I realized that no employer would ever look at it, so I started posting political things. At first I worried that employers would see this and avoid me because of the politics. But no. I routinely walk into job interviews and the people who talk to me have never looked online for any information about me.

Seriously, in the last 10 years I've had 6 jobs and 30 freelance clients. None of them every looked me up before I arrived for the interview.

</comment><comment><USER10> I think, in Tech, it doesn't matter because we tend to be more privacy concise. Some of co-workers have never created any social media and accounts and nothing shows up for them when you search for them.

But in other fields it might be different story. My wife is a recruiter for a large hospital. She has told me that while this is not official but usually if an applicant doesn't have social media profile, they usually move to bottom of the list. Most of the recruiters are young there, and they find it weird/suspicious that someone is not easily searchable.

My wife's recommendation is to at least, have a profile with picture and hide everything else.

However, for senior positions, they don't usually care so much for profiles as most of applicants applying for those positions don't really have any social media profiles.

</comment><comment><USER11> Dear god I hope not. I guess I am sheltered as an engineer? I would say no to anyone so fast if they asked for a Facebook or twitter account, and I never have heard of this. Do you have sources on this being a prevalent practice? Have you been asked?

Edit: unless you mean Linkedin or something like github as a social account?

<comment><USER12> _unless you mean Linkedin or something like github as a social account?_

Those count, unfortunately. But I'm skeptical that a "github resume" matters much.

LinkedIn seems to matter a lot more strictly for getting offers from recruiters, though.

<comment><USER13> > But I'm skeptical that a "github resume" matters much.

It doesn't. I don't know why people on HN think it does, but in real life, most people I've worked with ave empty GitHub accounts.

<comment><USER14> I've had an interviewer suggest to me that I open a Github account, to improve my chances of getting an offer. After the interview was already over and was already rejected. But I already had an active Github account, and nobody ever asked me in the interview if I had one. So I was confused by the suggestion.

</comment></comment></comment></comment><comment><USER15> I do not have any social presence in popular social networks like facebook, instagram and mainly linkedin by choice. I do have a personal static website though and a github profile.

From my experience, the quality of people reaching out to you particularly not from linkedin is very high. I personally had made a decision of rejecting employers who insist on having a linkedin profile. But surprisingly, so far no one has ever asked me about that and all my employers (present and past) were ready to hire me even though I do not have a visible social presence (read linkedin).

But, in extreme circumstances when you badly need a job, this thought of having a vibrant social presence haunts you (I have gone through it). But since it is a conscious choice, it is a decision I'm very happy about.

</comment><comment><USER16> I think it does harm you not to have a profile, but only indirectly. Employers _will_ search for you. Having no profile means you're missing out on an opportunity to make an impression before the interview - candidates with posts about things they find interesting in job-related fields, or status updates that make them look like sociable, interesting people, will benefit from that. Having no profile puts you behind those people.

Mind you, having a bad profile will get you rejected, so no profile might be better in some people's cases.

<comment><USER9> "Employers will search for you."

I said this in a separate comment, but I want to read this here, in response to what you said. In the last 10 years, I've never had an employer search for me online. Never.

<comment><USER17> How would you even know that?

</comment></comment></comment><comment><USER18> Anecdotal evidence: I was at a rugby weekend dads/sons thing. You meet other dads from all walks of life, everything from navy captains to surgeons. One evening, one dude, apropos of nothing whilst banging on about his successful real estate business said that he would not hire someone who did not have a facebook account. I was like 'wat? really?'.

<comment> J-dawg This is both scary and interesting. Did you get the chance to discuss it with him further? I wonder how prevalent this sort of thinking is.

What's he actually trying to achieve? Presumably in most cases when he searches all he'll see is a name and a thumbnail photo, given that most people these days have at least a little concern about online privacy. Unless he's actually 'friending' all his candidates before he hires them, which would be super weird.

Also, doesn't Facebook have a setting where your profile doesn't show up in searches? So he could potentially be rejecting people that actually meet his own (weird) requirement.

Or maybe I'm reading too much into what was probably just pub talk!

I'm going to start to make a point of discussing tech-related subjects with non-technical friends more often, because their opinions often surprise me. Case in point: Theresa May's quest to ban maths.

<comment><USER19> > I'm going to start to make a point of discussing tech-related subjects with > non-technical friends more often, because their opinions often surprise me.

And you would be shocked to hear all the misconceptions and myths that the general populace have been fed by the media or picked up from someone at work with Dunning-Kruger effect. It's pointless to try convince them otherwise unless they are your close friends or family.

</comment></comment></comment><comment><USER20> From my personal experience, no.

None of my jobs have ever asked for it and if they went looking and found nothing, I still got the jobs.

Honestly if an employer ever asked me for it, it would be a clear-cut sign that I don't need to work there.

</comment><comment><USER21> It depends on the specific company, but lots of companies _require_ a Linkedin profile to submit an application and some companies go as far as requiring an FB profile. And in cases where social media profiles are optional, applications which provide them are viewed slightly more favourably than applications which don't provide social media links. /anecdata

<comment><USER2> >lots of companies require a Linkedin profile to submit an application and some companies go as far as requiring an FB profile

It baffles me that orgs do this despite the insane signal it sends to candidates. You're basically filtering for people who are either 1) so desperate for work that they'll allow their employer to violate their privacy indefinitely 2) playing weird games where they have second versions of themselves set up with fake content (I knew people who did this in college.)

</comment></comment><comment><USER22> Dear god, I hope so.

If a social media presence (or disclosure of a social media identity) is a condition of employment at some particular (or peculiar) firm, then I think the only recourse is that I should prefer to be a scrivener and that I should prefer not to.

<comment><USER23> See [http://moglen.law.columbia.edu/LCS/bartleby.pdf](http://moglen.law.columbia.edu/LCS/bartleby.pdf)

</comment></comment><comment><USER24> Social media or social network? Considering the latter, yes IMHO. You got to be in LinkedIN, at least, because it is what level 1 HR people operate.

</comment><comment><USER25> Absolutely, yes, if I am the one doing the hiring. I want to know that you like technology like I do.

</comment><comment><USER26> I get several job offers from all around the world through Linkedin weekly. Colleagues from the same office who are equally skilled and have a similar experience, but do not have LinkedIn and other networks, get 0. Go figure...

<comment><USER27> How many do you accept every week?

</comment></comment><comment><USER19> first thing first, what do you count as social media, what does you potential employer count as social media?</comment>


Pimp My Code, Part 14: Be Inflexible! - <AUTHOR> http://wilshipley.com/blog/2007/05/pimp-my-code-part-14-be-inflexible.html <comment><USER2> I am not sure I agree with everything. The case against premature optimization has long been made, and for the most part I agree. However, the point of abstractions etc. is not only to create useless libraries, it is also to keep the code manageable. For example, the point of private members of classes is not protection against illegal operations. It is to tell me as a programmer that I don't have to worry about those aspects of the class. The dreadful thing that could happen is not that 1000 John Smiths sign up for my application. It is that I have written 100000 lines of code and have no idea anymore what is going on...

</comment><comment><USER3> You know, I read this earlier but never thought of posting it here. Good idea - much of what Wil writes is great.</comment>


Exposed DB of 'BreedReady' women probably not as bad as it sounds - <AUTHOR> https://www.theregister.co.uk/2019/03/11/exposed_database_breedready/ <comment><USER2> So many tasteless jokes--so little time. Also, it's 2019... :-(</comment>


Should We Do "Computer Science"? - <AUTHOR> http://use.perl.org/~Ovid/journal/38596

<comment><USER2> I would say this article is discussing two separate problems: (1) the gulf between research and practical software development, and (2) low-quality C.S. graduates.

IMHO, the first is not really a problem, or at least not a big one. Part of the way a field advances is that researchers are free to try out any old idea, to see if it is any good. Most of them aren't, but we don't know which are worthwhile until we try them out. So it helps that researchers are disconnected from the process of making salable products. "Make something that sells in two months" is not a good way to get people to try out interesting new ideas.

The result is a slow filtering of ideas from research into practice. Occasionally, a university researcher comes up with something that the programmer on the street can immediately pop into a product (RSA encryption, bump mapping, Introsort, ...) but this is not the norm; nor, I think, should we expect it to be.

The second problem (low-quality C.S. graduates) is more serious. The writer's suggestions are not particularly new; they amount to putting more of what is often called "software engineering" into the C.S. curriculum. And part of the problem there is that it is difficult to do large projects in a university course setting. When you don't do large projects, all that stuff (teams, complexity management, ...) is not really needed. So, while this second problem is worth pointing out, I don't think there are going to be any quick fixes for it.

</comment><comment><USER3> Much can be learned by looking at other fields which do complex "design based" work and are much older than Computer Science. In particular the various other engineering disciplines and the discipline of architecture. In these fields you go to school to get a broad-based exposure to the various facets of the field, learn the critical mathematics and language used in the field, get some in-depth information about some slices of the field which particularly interest you, and do some simulation of "real world" design work which involves the creative aspects, teamwork, etc.

When you come out of these programs you're neither an "Engineer" nor are you an "Architect" and using those titles next to your name is actually _illegal_. There is no expectation that the academic training produce a finished professional.

You then continue on another multi-year process of test-taking and working as an apprentice. Of learning the actual _real world_ facets of the field. Facets which involve management, teamwork, business, people, design, how to deal with long, complex projects, scheduling, budgeting, etc. In short all the boring details which separate the dilettante from the professional.

Finally after you complete your state-mandated term as an apprentice you take some tests, submit a portfolio of your work to the government and assuming you are actually good enough you get your stamp, can use your title, and basically be counted on to do a professional job.

This system while cumbersome actually has a proven track record of working and producing capable professionals. Buildings often actually get built on time and budget and they rarely fall down onto people.

<comment><USER4> Definitely agree with apprenticeship. I've learned more through a couple hours of pair programming with an experienced coder than I did at the university.

This isn't to say university is bad. Data structures, algorithms, etc.. should all come at an instructional level, but good design practices definitely come from coders.

As a side note, is there any sort of organized apprenticeship program, or are we dependent on introductory training at a job/Open Source level?

<comment><USER5> The FreeBSD project has an institutionalized mentor program. So before/when you are raised from just an occasional contributor (someone sending in occasional patches) to a commiter (someone with commit access) you are given a mentor, who teaches you the culture/process/methods to commit changes.

Not quite as good as a apprentice/mentor day-in day-out but it is supposed to work pretty well.

</comment></comment></comment><comment><USER6> _When I talk to new "university" programmers, they can write a heap sort from memory, they can explain complicated algorithms they've memorized..._

If that's actually the case he should be hiring those people because most interviewees can't even do those things.

<comment><USER7> Definitely. It's not too hard to teach a smart but inexperienced employee things like how to use source control, automated testing, multiple language paradigms, and "why deadlines are important".

</comment></comment><comment><USER8> In my opinion, a university education should only be about intellectual curiosity with the greatest research minds. If you are only interested in the practical aspects of programming, I don't think that a university fits your needs.

To extend this thought, I also believe that someone majoring in any field-- from English to art history--should be able to become professional programmers. I feel that industry is trying to make universities technical schools, when they have an academic focus.

That is not to say that I don't agree with some of the previous posters. We do need more training centers for people with practical inclinations.

I feel that the problem with this whole system is that people are automatically expected to go to university if they did well in high school. If not they will violate a social norm, and shame their parents. There should be practical schooling options for students that are also hard and prestigious.

<comment><USER9> _In my opinion, a university education should only be about intellectual curiosity with the greatest research minds. If you are only interested in the practical aspects of programming, I don't think that a university fits your needs._

I agree with this. I've been working as a programmer for a couple of years now and I'm planning to go to university to study computer science. I'm kind of annoyed that all of the universities I've looked at are all business now: the brochures are full of how students won't "miss out" on the practical, real- world side of things.

That's exactly what I'm _not_ looking for, but unfortunately there doesn't seem to be any place to go if all you want is computer science.

</comment></comment><comment><USER10> I don't understand how the contrast -- using category theory to derive notions of computation and something attempting to patch up Perl's object system -- relates to the rest of the essay.

I don't mean to be coy, but what's the point? Is it that business skills are important, too, and that universities (and their CS departments in particular) are underserving the computing industry? That's what one of the comments ([http://use.perl.org/comments.pl?sid=42485&cid=67709](http://use.perl.org/comments.pl?sid=42485&cid=67709)) seems to indicate. The American education system needs some work, but I think it's a mistake to see a university education as vocational training: the "fields" in a university don't correspond to "fields" in the world. It's a coincidence that computer science roughly corresponds to a field in high demand these days.

<comment><USER11> I agree that university education shouldn't be vocational training, but CS graduates need good programming skills. Computer science is very useful stuff, with a lot of applications in the Real World, and just because there are subfields in CS that don't have any obvious application, that doesn't mean that CS folks shouldn't at least try to be useful. Have a look sometime at Simon Peyton-Jones' Haskell-related papers: they're pretty far removed from grunting-in-the-dirt Java monkeying or hacking up a quick Perl script, but they're very readable, and someone who knows Haskell can generally see the usefulness of them on the very first page.

(Also, CS people _should_ be comfortable slinging code around. Some would argue this point, but having decent programming skills makes anybody whose work involves computers much more effective. Ideological purity be damned.)

</comment></comment><comment><USER12> I think the kind of education and training needed for most software development situations is not widely available. What's needed, and starting to show up is a _software engineering_ degree that bridges the gap between code- monkey and computer scientist.

Vocational education programs in computer programming tend to produce code- monkeys who produce internal applications that don't do anything especially interesting. The applications are usually web and desktop GUIs over some database, and tend to be written in Java, C#, VB and the like. Most people with this level of training would have trouble picking up a new language without more formal training.

Computer scientists tend to know massive amounts of theory. I suspect most computer scientists could pick up a new language simply by glancing over the documentation, and write a paper describing the theories the language implements. If you asked a computer scientist to create an application the accounting department at a big company could make use of, however, you'd probably have bad luck.

What's often missing is education and training for software engineers. Finding solutions to difficult problems requires a good grounding in theory, but actually implementing them requires a background in tools that meet real-world needs. It does appear that degrees in software engineering are starting to appear, though I know essentially nothing about the programs. Most hackers fall in to this category, though their learning tends to come from less formal sources.

<comment><USER13> You overestimate(wish fulfillment?) the prevalence of difficult problems. The vast majority of work involves problems that you classify as not doing "anything especially interesting" and written by "code-monkeys".

</comment></comment><comment><USER7> Universities cannot churn out people who have real world experience. That is a fundamental contradiction.

Where do we find programmers who understand both the theory of algorithms and the practice of software engineering? It's simple - find someone who learned the theory in school and also has a few years of experience applying that theory. There are many of these people. If you can't find them, maybe the opportunity you are offering is not very attractive.</comment>


Ask YC: Why don't you take a convertible note instead of equity? - <AUTHOR>

It seems strange to ask, but given all the changes pushed by PG within seed stage investments, why doesn't YC take a convertible note? Why push one set of standards for other early investors but extract the highest price from young companies? I get the fact that 7% doesn't require all that much in increased valuation to pay for itself. But it seems strange to require the equivalent of a ~$250k valuation to participate and with a take it or leave it offer. Startups may rarely be bound to this valuation in subsequent financing but a $1M valuation would still give YC 1-2% equity on average without any discount. It seems strange that PG pushes for notes but then relies on equity. Why? <comment><USER2> Couple reasons: first off YC is easily worth the value in just the introductions alone. Personally I'm about to start contacting angels/seed funds and its going to be a pain in the ass. When you combine the increased valuation in later rounds due to their being part of the group. I'd give up 7% any day of the week, easily making it back in during the seed round.

Don't have direct knowledge of this, but I'd bet that before last year most of the companies weren't even organized (or organized correctly) when they joined the program. When forming the company YC took their equity in the process of filing the paperwork.

Also think about it on the financial side when they started: investment + time of team + misc = ~$40,000 per company

At the beginning, as an untested concept that was quite a risk. They've just kept their rate flat from when they started, while adding quite a lot more in value.

Aa a wise and very wealthy man once told me: "An idea is worth exactly... zero..."</comment>


Taking On The 7-Minute Workout - <AUTHOR> https://medium.com/the-healthy-entrepreneur/da39541e160b

<comment><USER2> Did nobody read the part in the study where they indicate one should do this 3 times in a row, so as to get to the magical 20-minute-ish level, where high- intensity training actually does something..?

Or should I get my eyes/reading comprehension tested?

<comment><AUTHOR> Nope, you read it correctly. And this is kind of the point: To see how the published (7-minute) claim sizes up to reality.

The source does state that one circuit is suitable in the event the individual is asserting 100% energy consistently.

I'll be sure to share my findings at the end of the month.

<comment><USER2> OK, great, so I didn't completely lose my mind.

Good luck with your experiment, I wish you well.</comment></comment></comment>


The world's top iPad artist - <AUTHOR> http://edition.cnn.com/2013/11/26/tech/innovation/this-is-how-76-year-old-david-hockney/index.html?hpt=te_r1

<comment><USER2> Hockney did some really interesting photo collages in the 80s or 90s. Lots of photos from different angles put together.</comment>


What If... It Was Easy to Write Firefox Extensions? - <AUTHOR> http://azarask.in/blog/post/what-if-it-was-easy-to-write-firefox-extensions/

<comment><USER2> Quick nit: that headline should read "What If...It WERE Easy to Write Firefox Extensions?" due to the subjunctive mood of the verb.

<comment><USER3> The subjunctive mood is dying pretty quickly, along with "whom" and "shall". "If X was" is already used quite commonly in hypothetical constructs, even among native english speakers. Yes, technically, "if X was" is a question about X's past, not a supposition about X's future, but english is "as she is spoke" :)

Another generation or two, and it'll be gone. No use crying over linguistic evolution. Static languages belong in the dustbin of history, and that's where they eventually end up.

As High Lord of the English Language, I'll allow the use of past tense here.

</comment></comment><comment><USER4> What If... instead of writing a blog post, you started writing a library to make it easier?

Talking accomplishes nothing. Write some code.

<comment><AUTHOR> Aza works for Mozilla. He hints that he is, in fact, writing some code.</comment></comment>


Ask HN: How to promote yourself on job websites for jobs outside your area? - <AUTHOR> If you live in one place but want to apply to companies that are far away, how do you best promote yourself so you are given equal priority as their local market?
The advice I've heard before is that on LinkedIn, you have to change your current location to the location you're interested in moving to. But I find this suggestion to be janky, as it's just a still-flawed workaround to a limited interface as you have to do this for every single city that you seek work. And if you are targeting multiple cities, then what? you change location to NYC for one week NYC, and change location to Boston another week?
I'm actually surprised at this oversight, given how large LinkedIn is. In Angel List you there's an actual separate field for entering multiple locations you're willing to work at. But I can't think of another way for websites that have don't have this option to choose multiple locations. <comment><USER2> In Linkedin there is a way to submit several locations.

It is on your profile when you declare availability for new jobs. Some questions will be shared with those that use Linkedin recruiter, among them you can choose up to five locations of interest.</comment>


The Internet? We Built That - <AUTHOR> http://www.nytimes.com/2012/09/23/magazine/the-internet-we-built-that.html

<comment><AUTHOR> _Like many of the bedrock technologies that have come to define the digital age, the Internet was created by — and continues to be shaped by — decentralized groups of scientists and programmers and hobbyists (and more than a few entrepreneurs) freely sharing the fruits of their intellectual labor with the entire world. Yes, government financing supported much of the early research, and private corporations enhanced and commercialized the platforms. But the institutions responsible for the technology itself were neither governments nor private start-ups. They were much closer to the loose, collaborative organizations of academic research. They were networks of peers._

\-- Summary of the premise. An interesting observation.</comment>


30k Hours - <AUTHOR> https://github.com/breck7/30000hours <comment><USER2> I find this so bizarre. I did some quick back of the envelope math and I've found that I've been programming between 10k and 20k hours over the course of a 9-year professional career. That seems simultaneously low and high depending on how you look at it. I don't know that I can draw any concrete conclusions or correlations between time spent and proficiency once you get to such a large amount of time.</comment>


Ask HN: Best desk chair, sub-$300? - <AUTHOR> I notice that I feel uncomfortable after sitting in my home office $50 Target chair for more than an hour, whereas at some office spaces I have worked in, I was much more comfortable.<p>Recommendations? <comment><USER2> I would challenge the "sub-$300" qualifier.

I had one of those $50 task chairs when I started my business. After nine months I had incredible lower back pain. It felt like I was seventy years old.

I'm the cheapest bastard in the world, so I looked long and hard to find a replacement that wasn't that much more expensive, but eventually I ended up biting the bullet and buying a Steelcase Leap [1]. It was expensive -- $900. But looking back on the decision a year and a half later, it was totally worth it. The back pain went away nearly overnight.

In other words: on this, don't cheap out. If you're looking for a chair that's going to be your primary work chair, you're going to be spending a significant chunk of your life sitting in it. It's worth spending the money to get something good. It doesn't have to be a Leap, there are lots of options, but resist the temptation to be penny wise and pound foolish.

[1] [http://www.steelcase.com/en/products/category/seating/task/l...](http://www.steelcase.com/en/products/category/seating/task/leap/pages/overview.aspx)

<comment><AUTHOR> Fair enough! My thought process was, if I just said "affordable," then to some people that would mean "under $100" and perhaps "under $2k" to others.

$300 is not a hard limit, and a discussion of all price points would be helpful to the community.

<comment><USER2> Beyond the Leap (which I recommend unreservedly), here are some other well- regarded options I came across in my search:

Haworth Zody (~$700): [http://www.haworth.com/en- us/Products/Furniture/Seating/Desk...](http://www.haworth.com/en- us/Products/Furniture/Seating/Desk/Pages/Zody.aspx)

Steelcase Think (~$700): [http://www.steelcase.com/en/products/category/seating/task/t...](http://www.steelcase.com/en/products/category/seating/task/think/pages/overview.aspx)

Herman Miller Aeron (~$800): [http://hermanmiller.com/products/seating/work- chairs/aeron-c...](http://hermanmiller.com/products/seating/work-chairs/aeron- chairs.html)

Humanscale Freedom (~$1,000): [http://humanscale.com/products/product_detail.cfm?group=Free...](http://humanscale.com/products/product_detail.cfm?group=FreedomTaskChairWithHeadrest)

Herman Miller Embody (~$1,200): [http://www.hermanmiller.com/content/hermanmiller/english/pro...](http://www.hermanmiller.com/content/hermanmiller/english/products/categories/seating/work- chairs/embody-chairs.html)

If you're open to less traditional seating styles, there's also:

Swopper (~$650): <http://swopper.com>

I had a Humanscale Freedom at a previous job and found it kind of stiff and awkward to sit in. YMMV, of course.

The most important thing I learned is that it's a huge help if you can find a local store that has several of these so you can sit in each of them and see how they feel. It's a very subjective thing. I'm in the DC area, and a visit to the Healthy Back Store (<http://www.healthyback.com/>) was a huge help in my decision-making process.

<comment><USER3> I second the "sitting in it." When I bought my chair I got a chair I hadn't even considered previously.

I went with an Embody. I was considering an Aeron and Humanscale but they just didn't jive with me. The Steelcase Leap is what I have at work, and after several weeks of sitting in it I already feel like it's not as comfortable as the Embody (and I had the chance of snagging the Leap at 40% off new).

If you do buy a Herman Miller (any) they run a semi-annual sale of 15% off; one of those sales starts around Thanksgiving. You might be able to get the discount by haggling or otherwise waiting for the sale.

</comment></comment></comment></comment><comment><USER4> Craigslist a used Humanscale Freedom chair - not as well known/desired as Aeron to keep used prices up, so folks closing out an office will often sell cheaply to unload (I've picked up several in great shape @ $100-200). BTW, I personally prefer the Freedom over Aeron, but am very happy with either.

</comment><comment><USER5> I don't know of anything good for under $300.

I would recommend looking at the Discovery Back family of OfficeMaster task chairs: [http://officemaster.com/products/index.php?view=family&p...](http://officemaster.com/products/index.php?view=family&product_id=25)

I especially recommend one with the "DCS" feature (extra memory foam.) I have had an OM chair for a year now (from a different family; the "Yes" line), and the seat foam is still as cushiony as when it was new. Beats my old Aeron hands down. I miss the scapular impedance feature that is in the Discovery Back line, though.

P.S.: whatever you choose, be careful. Mesh chairs are nice for light/medium duty use, but they're just too hard for extended duty use. That's my experience, anyways.

</comment><comment><USER6> After seeing <http://www.gizmag.com/go/1193/> years ago, I went to Ikea and found a budget version, a lounge chair plus an ergonomic keyboard in my lap. It's comfortable enough not to knock me out of the zone after many hours, though I can't get out of it very gracefully.

<http://www.ikea.com/us/en/catalog/categories/series/07472/>

</comment><comment><USER7> If you want a decent chair, see you can find a cheap clone of the eames management chair for $200 at Target and a few others. I used one that I bought for about $150 for two years. [http://www.target.com/p/Executive-Mid-Back- Leather-Chair-Bla...](http://www.target.com/p/Executive-Mid-Back-Leather- Chair-Black/-/A-13556067)

</comment><comment><USER8> Find a chair liquidator. They buy supplies in bulk from companies moving or going out of business. You should be able to get a steelcase leap v1 for $250. A quick google search finds these guys in SF <http://officecomforts.com/>. I got great deals from these guys in NY wbofficefurniture.com

Best of luck.

</comment><comment><USER9> coincidentally, i have just been researching desk chairs, and this is the best-looking one i've found: [http://www.overstock.com/Office- Supplies/ECO8.8-All-Mesh-Cha...](http://www.overstock.com/Office- Supplies/ECO8.8-All-Mesh-Chair-with-Headrest/5916370/product.html)

it's $430, but as other people have said, i would strongly advise you to give up on the sub-$300 goal. think of how many years you're going to be amortising the cost of that chair over, and how many hours you'll spend in it

i have not got one (and likely will not) because i am very reluctant to buy a chair i haven't actually sat in, and i cannot find a local store that stocks it, but i figured i'd at least share the benefits of my research if you don't have that issue.

</comment><comment><USER10> We outfitted our office with pre-owned Knoll Life chairs for under $300 each (retail $900+) by going to a local liquidator. If you're in the Bay Area, talk to Rudy at officefurnituredude.com and go check out their warehouse in Santa Clara.

</comment><comment><USER11> I actually was about to ask the same thing ... +1 for someone who relates to my own personal issue.

As far as I know, we need to look into ergonomics. But I'm sure the other pros here have mastered that by now, right? Help ?

</comment><comment><AUTHOR> Anyone have any experience with Haworth?</comment>


Ask HN: How to get funding when I'm over 2000 miles from SV? - <AUTHOR>

Well I finally feel like I have an idea that, if done beautifully and right, actually would require some funding to make happen. How should I go about doing this from lonely Alabama? I've looked into some Angel networks but nothing seems to have high enough funds for what I have in mind. I'm working on a prototype, but I can already tell that having enough money for a badass and full-scale launch/sustaining business is really the way this needs to go for the idea to be executed the best. How would you guys/gals go about doing something like this? <comment><USER2> Well from the start I think you've got the process wrong. Your "idea" is worthless to an investor. They want some kind of execution. Narrow your "badass and full-scale launch" down to the absolute least amount of work you have to do to address a specific need for a few people.

Look into the Lean Startup methodology (don't just blindly follow, seek to understand). Then, talk to people that seem to know what they're talking about in the industry. Do some customer discovery, validate the idea.

The good thing is that the internet doesn't know anything about mileage. You can just as easily email someone in SV as you can someone next door. If this is your first-time starting a business, the chances of getting "blow your socks off" money from an investor is about the same as winning the lottery. Contrary to what TechCrunch would lead you to believe, it doesn't really work like that in the Valley either. You've gotta make something worthwhile first.

<comment><AUTHOR> Yeah I know what you mean about the idea, that's why I'm working on said prototype - but I can see that now, even with a bootstrapped launch, it's gonna' need more money to get to where I want it to be and where it needs to be. My buddy and I have already built a proof-of-concept in Objective-C but now we're working on a port into JS cause the browser is where the magic is going to need to happen.

I guess I didn't phrase my question correctly - I'm thinking along the lines of this:

A) I have a prototype to show.

B) I have a business plan.

C) I don't have plane tickets, the time, or the money to spend a month raising funds in SV.

\-- How do I go about acquiring the funds?

<comment><USER2> One of the most important qualities of an entrepreneur is resourcefulness. I'm not sure what your idea is or why it needs so much money, but thats a hurdle you'll have to jump yourself. Traction is most important, so find a way to get that. Start networking, and find a way to do this stuff cheap.

Sorry I couldn't be more help.

</comment></comment></comment><comment><USER3> Move. Forget investment, if you're aiming for a large scale business you need to ask if you're in the right place to hire talent. Could you hire a 100 good engineers, product managers, biz dev, etc. people where you are ?

You might be able to raise the money from where you are, but if you can't grow the company there then at some point sooner or later you'll have to move.

</comment><comment><USER4> Unless you want to build the next Facebook and want to have all the 1000000 features from day 1 you do not need a lot of money to build your prototype. You should stick to the lean methodology and build a MVP. You do not need fancy design build it with bootstrap or just use some templates. The idea is important, the product is important, the quality and the value of the product is important for any investor.

My advice is build your MVP and release it and see the feedback. Send emails to people in SV and show them your product, show developers your product because maybe some of them are from SV and will show your product to other people there. I am really not sure what your idea is about but do your really need a lot of money to make it happen ? If you are already working on a prototype that is great, it means that you will have something to show and if you have something to show than you can validate your idea into a product based on consumer feedback and if you can reach the validation step than you will find investment.</comment>


Kikkuli, 1345 BCE: Training the Chariot Horse - <AUTHOR> http://www.imh.org/exhibits/online/legacy-of-the-horse/kikkuli-1345-bce/ <comment><USER2> It's incredible how process definition and adherence provided a competitive advantage even thousands of years ago.

<comment><USER3> efficiency of having a simple system in place.

</comment></comment><comment><USER4> Kikkuli was a sanskrit speaking hindu</comment>


Sophisticated Phishing Using Homograph Attacks - <AUTHOR> https://www.offensity.com/en/newsroom/sophisticated-spear-phishing-campaigns-using-homograph-attacks/ <comment><USER2> Adding an S/MIME signature could add even more plausibility.

</comment><comment><USER3> Any response from google about the gmail mobile app yet?

<comment><AUTHOR> They said, that they are looking into it ...</comment></comment>


TrendsToday – Discover Top Trending Social Content - <AUTHOR> https://itunes.apple.com/in/app/trendstoday/id955246281?mt=8

<comment><AUTHOR> Trends Today brings you next generation media and where you can watch current social trends and trending news. Trends Today curates trending content across social media like Facebook, Twitter, Reddit, Vine and Instagram specific to Geo locations like US, UK, Canada, Australia, India and Worldwide.</comment>


This Is Why Apple Won't Be Fine If Steve Doesn't Return - <AUTHOR> http://www.gizmodo.com.au/2011/01/this-is-why-apple-wont-be-fine-if-steve-doesnt-return/

<comment><AUTHOR> I generally don't like Gizmodo's articles (generally being sensationalist rubbish) but I found this article very interesting.</comment>


Prince William's wife Kate admitted into hospital in early stages of labor - <AUTHOR> http://www.today.com/news/prince-williams-wife-kate-admitted-hospital-early-stages-labor-1C9846018 <comment><AUTHOR> I posted this just moments before sharing this link over at G+ at 3:03 am. News coming and going I am writing this because every device in the house just went off with breaking news alerts. It's 3am. Looks like another item for the obsessed will soon be over. First, the Zimmerman Trial is over, next the infant Prince will be born. Soon that Glee stars passing will be a one time news story. In the near future Snowden may or may not be freed from that Airport in Russia. What will the media pick to be the next national/international discussion? What options can we take to shut our devices down at a certain time to prevent mass alarms for so called breaking news.

</comment><comment><USER2> _Hacker_ news? How?

<comment><USER3> Instant app anyone? :D

<comment><AUTHOR> Exactly, at 3am this morning every device in the house went off giving the announcement. My only fault with posting this was I got distracted before I started the conversation by with editing this post: [https://plus.google.com/u/0/106420735876542072423/posts/DZ9G...](https://plus.google.com/u/0/106420735876542072423/posts/DZ9G4WJHsAF) News coming and going I am writing this because every device in the house just went off with breaking news alerts. It's 3am. Looks like another item for the obsessed will soon be over. First, the Zimmerman Trial is over, next the infant Prince will be born. Soon that Glee stars passing will be a one time news story. In the near future Snowden may or may not be freed from that Airport in Russia. What will the media pick to be the next national/international discussion? What options can we take to shut our devices down at a certain time to prevent mass alarms for so called breaking news.

</comment></comment></comment><comment><USER4> I really don't care that much.</comment>


Git-cal - GitHub Activity Calendar for your Terminal - <AUTHOR> https://github.com/k4rthik/git-cal <comment><USER2> Awesome! Running _$tput colors_ will tell you if you have 256 or not (mine shows 8). I am on ubuntu and found a tutorial to upgrade - will give it a try just so I can run this.

Slightly off-topic, I had some fun with tput about a month ago here: [http://max.io/bash.html](http://max.io/bash.html) ...but it only supports 8 colors. Maybe I can upgrade with this new knowledge. Thank you!

<comment><USER3> I just did "export TERM=xterm-256color" in my gnome-terminal 3.8.4 which made "tput colors" return 256 and the script worked.

</comment></comment><comment><USER4> Cute project. The fundamental problem remaining is that proper participation on Github seems to still require a web browser.

If you could figure out how to get the rest of its functionality working well on the command line (discussions, etc.) without resorting to unnavigable _links_ sessions, then it'd be a still funkier achievement.

I'm surprised they haven't done this themselves, to be honest.

<comment><USER5> The script works on any git repo. It's just that the graphs being produced are similar to those found on Github. Aside from that, the script is not related to Github at all.

<comment><USER6> Yes, the title is slightly misleading and different from the project title "github like contributions calendar on terminal". Adding github support (just to view the same graph on terminal rather than firing the web page for it) is one of the suggestions and is in TODO list.

</comment></comment></comment><comment><USER7> Looks great!

> assumes the terminal is 256 colors

Would there be a way to degrade gracefully somehow if not? Perhaps using grayscale?

<comment><USER6> Thank you. [https://github.com/k4rthik/git- cal/commit/2c6b50b57fa818d943...](https://github.com/k4rthik/git- cal/commit/2c6b50b57fa818d943ccf4232ead37d866273af5) should solve it partially (exit(1) if tput colors < 256)

<comment><USER8> Weird, because before this check was introduced this morning, Konsole reported 8 colours, but rendered your git-cal correctly, using more than 8.

<comment><USER9> Konsole may support more than 8 colors but if your TERM environment is set wrong then the OS won't know it can. If you bypass the OS and print the color escape sequences directly (as the script is doing, naughtily[1]) then it might just work.

[1] The proper way is to use terminfo to output the escape sequences for you. See [http://perldoc.perl.org/Term/Cap.html](http://perldoc.perl.org/Term/Cap.html) for how to do this with standard Perl. EDIT: I can't get this to work—Seems Perl has poor terminfo support. :-( "tput setaf 10" is the correct way from sh.

</comment></comment></comment></comment><comment><USER10> Awesome! +1 for using Perl :)

</comment><comment><USER11> i love this</comment>