Why are all my friends buying an overhyped digital currency? - <AUTHOR> https://theoutline.com/post/1924/why-are-all-my-friends-buying-an-overhyped-digital-currency <comment><USER2> I find the recent popularity of cryptocurrencies very interesting as I spent a lot of time in 2009^ studying and researching Bitcoin from the academic perspective of economics (My undergraduate degree).

In 2009^ I downloaded a BTC miner and had everything set up but then never started the machine because I was running folding@home and thought that was a better use of my distributed compute. Doh!

In my mind you can look at cryptocurrencies, and the idea of blockchain generally, in two ways. Either you evaluate it as how well it acts as Money or what it can do as a distributed ledgering system.

In the former case you need a comprehensive understanding of:

1\. The history of money, which comes down to war and politics,

2\. A deep understanding of what makes money work in it's three uses (store of value, medium of exchange, unit of accounting)

3\. How it forms a scaffold in a modern economy.

The cryptocurrency-as-money perspective fundamentally has no legs, for numerous reasons, but primarily because it has no coercive power behind it enforcing it's use like all other currencies. A few people are trying it but it's no serious contender for legal tender anytime soon.

All of the "coin" that is created in these markets is effectively derivatives trading and should be avoided at all costs in my opinion.

From the digital ledger perspective there seems to be real value in that use case.

^Corrected year

<comment><USER3> It doesn't have to have a coercive power behind it enforcing it's use. It has a natural benefit, which is anonymity (when used the right way). People want to use Bitcoin as a currency. It doesn't need to supplant normal money, just be an addition to it.

<comment><USER4> It's dangerous to push anonymity as a benefit of the current implementations: if you make a mistake or traffic analysis links you to any transaction, every transaction you've ever made is de-anonymized. That's a far worse failure mode than cash and it'll take more than a tumbler to fix to the point of confidence.

<comment><USER3> I did say "when used the right way".

For various activities it allows you to mask your identity while making purchases online far better than the alternative of using your credit card or PayPal or something.

<comment><USER4> What do you define as "the right way" and how hard is it for the average person to follow?

Given the high opsec requirements, I think it's irresponsible to advertise an anonymity service which fails in a way which provides an irrevocable public record of every transaction.

</comment></comment></comment></comment></comment><comment><USER5> People seem to believe that cryptocurrencies are either a scam/waste/bubble or that they are an amazing technology that the future of financial tech will be built upon. And there is this battle between the sides.

I think that both are equally true! Prices are obviously driven by speculation, there is tonnes of fraud, and no regulation. It is a wild wild west goldrush situation right now. Maybe this is unfortunate but I'm also not surprised by it. Isn't this how all markets get started? I don't have great sources but I think the situation was similar for the securities markets for many years.

I also think the blockchain is an incredibly remarkable piece of technology that it will be put to use in increasingly important and useful roles and that cryptocurrencies are here to stay. Both can be true.

<comment> grey-area Sure there's lots of fraud, excitement, and ignorance right now in cryotocurrencies, but there are also fundamental problems with the current attempts. Distributed consensus means eventual consistency and/or slow unreliable transactions, I'm not convinced that's a good idea for a payments network.

The article makes the point that many people putting money into these schemes know nothing about the tech involved or the possible applications/drawbacks, they're gambling based on hearsay.

As with most bubbles, what comes after probably won't resemble what got everyone excited, and early investors will lose their money. So it's understandable many are sceptical.

<comment><USER3> There are designs for much better implementations that are completed or in the works.

Cryptocurrency is here to stay, whether or not it will be Bitcoin specifically is another question.

</comment></comment></comment><comment><USER6> Shoeshine boy indicator is flashing red for me [1]. Some chaps are calling me at midnight to lure me into the last occasion to become awful rich by buying some one/das/last-coin mining licenses. After quick research it seems their "cryptocurrencies" are not even distributed but hosted at "secure datacenter". Speechless, I had a same feeling pre-2007 when overnight trained advisors tried to get me into some miracle funds. Cryptocurrencies have a future but euphoria period is usually followed by crash and purification phase - lots of money will be lost, but the proven solution will stay.

[1] [http://archive.fortune.com/magazines/fortune/fortune_archive...](http://archive.fortune.com/magazines/fortune/fortune_archive/1996/04/15/211503/index.htm)

</comment><comment><USER7> Ignoring the opinionated part of the title for a moment: because there's money in it, pure and simple. That money comes from the buyers, in a kind of pseudo- Ponzi scheme, but it's still the basic motivator for getting involved in ETH.

<comment><USER8> Absolutely, I wish people would call it out as a Ponzi scheme more.

A good example is if ETH or some other ccy takes off and BTC withers. What is a BTC worth? nothing. But people are buying it because it'll be worth more in the future. That is the definition of a bubble. Given that the original owners make the money from new entrants - that is the definition of a pyramid scheme.

<comment><USER9> >Given that the original owners make the money from new entrants - that is the definition of a pyramid scheme.

By that criteria, any company that undergoes an IPO is also a pyramid scheme.

<comment><USER8> A company has real assets, and profits that can be distributed to owners. Crypto currencies have neither.

<comment><USER9> Yes, but what defines a pyramid scheme is its unsustainability from a mathematical standpoint, not necessarily the fact that original owners and early adopters make money off of new investors. I think the latter property is present in almost all financial markets -- the "smart money" phenomenon.

I agree that the entire cryptocurrency market is in a bit of a bubble, but to write it all off as a pyramid scheme seems a bit of stretch to me.

edit: also, "pyramid scheme" to me is a very loaded term with a specific legal meaning to it as it applies to one single entity, i.e. the person or company operating at the "top" of the pyramid. There isn't really such an entity at the top of the entire cryptocurrency market, so I think it's much more apt to call it an asset or asset class bubble rather than toss around such contentious terms.

</comment></comment></comment></comment></comment><comment><USER10> I'm curious why so many people are so vehemently opposed to cryptocurrencies, and in particular ETH.

If you believe it's a big scam/bubble and won't turn into anything, then don't purchase any. But what's with the influx of "ETH is the worst and you're stupid if you buy any" articles? They add 0 value to the blockchain culture and development, and only seem to be thinly veiled "I told you so/I'm smarter than you" think pieces.

<comment><USER11> I believe in democracy and traditional government, for all its flaws. I think the ability of the human community to outlaw things, even when there's Pareto profit in those things, is a really important safety net.

Cryptocurrency takes that away, and there is no way of getting it back. If cryptocurrency becomes widespread and socially acceptable, then you better hope all the things that people want to buy and other people want to sell are good for society, because there will no longer be anything society can do about the ones that aren't. It's not just a worthless bubble, it's a genuine threat to civilization.

<comment><USER12> What about cryptocurrency prevents things from being outlawed? And how has government eliminated illicit goods and services from being sold right now? As long as there's a market and the money is greater than the deterrent, people will buy and sell things that are bad for society.

> a genuine threat to civilization

Hyperbole.

<comment><USER11> > As long as there's a market and the money is greater than the deterrent, > people will buy and sell things that are bad for society.

As long as such transactions are inconvenient/costly, people will do less of them; if the inconvenience/cost is high enough to make the transaction unprofitable then it won't happen.

</comment></comment></comment></comment><comment><USER13> My main beef with most crypto is that there are no sound logical factors driving price swings. That said, I am a sucker and have a disposable amount of money invested in them.

However looking at fundamentals (low volume of transactions, niche utility, liquidity, high-hype levels, etc), there are tons of signs of bubble in crypto now (and have been for ages).

<comment><USER14> It's also eventually they're going to hit a ceiling and be worthless once they're all mined. It seems like a huge bet, trying to guess when Bitcoin value will hit 0.

<comment><USER15> > It's also eventually they're going to hit a ceiling and be worthless once > they're all mined.

There may be huge bubble, but that comment is a complete misunderstanding. Suppose all the gold in the world had been mined. Would all the existing gold become worthless? If you think about it, you'll see that just the opposite will happen. The world supply of gold (or Bitcoin) will become more valuable.

I repeat: I'm not saying that there is no bubble.

An aside: Maybe you're thinking that if no more Bitcoin is being mined, then the market can't grow or that there won't be enough Bitcoin to support more transactions. However, there's a plan for that since the original Bitcoin paper. Bitcoin is finely divisible and the idea is that people will use smaller and smaller units for a certain value.

<comment><USER16> Doesn't the Bitcoin network depend on miners to process transactions? Like, no miners = no transactions processed?

<comment><USER17> Miners will be compensated with transaction fees when there is nothing left to mine.

</comment></comment></comment></comment></comment><comment><USER18> I was recently invited over a friends house to get together with a few others to discuss bitcoin and bitcoin opportunities. All mid 30s, non tech day jobs and people I would consider intelligent. They had no experience with equities, no experience with forex, and were heavily researching bitcoin mining systems. It seemed as if bitcoin just popped up on their radar and really had no understanding of bitcoin or other cryptocurrencies and I got the sense that they felt like they were getting in on the ground floor. Maybe?

+1 to the shoeshine boy indicator reference in this thread.

</comment><comment><USER19> People are calling cryptocurrency vaporware, but its only partly true, and definitely not for Ethereum. Check out the hard problems worked on by the ethereum team - [https://github.com/ethereum/research/wiki/Problems](https://github.com/ethereum/research/wiki/Problems)

Each one of those would result in multiple patents if solved by a traditional corporation.

</comment><comment><USER20> Because right now it's on sale!

</comment><comment><USER21> I guess it depends on whether people believe cryptocurrencies have a future, and if they're confident Ethereum will still exist 10 years from now. I don't care if the price falls temporarily, it has the potential to make a major impact on the world and I think engineers will be able to surmount the challenges it faces today. It's as simple as that for me.

</comment><comment><USER22> Because land prices have detached from land and people are desperate to get a lottery ticket as their only way to escape wage slavery.

The casino economy where "investors" roll the dice to the muffled cry of "efficient allocation of resources".

</comment><comment><USER23> That author was me with bitcoin, I perhaps understood it on a technical level better than my friends, but I thought it was silly, they didn't and now they're bitcoin millionaires.

</comment><comment><USER24> Greed.</comment>


Apple Watch Series 4 - <AUTHOR> https://daringfireball.net/2018/09/apple_watch_series_4 <comment><USER3> After almost 20 years of almost continuous watch-wearing (shower, sleeping...really continuous) I switched to using ambient clocks and my phone in the late 90s. When the Apple watch came out I got one just to see what the fuss was (after all it was a free return in two weeks).

I figured I'd use it a little, then buy version 3 or 4. In the first week I forgot to wear it one morning and turned around in the car on the way to work. It made that much difference.

I have most notifications disabled, but the few that are allowed (a subset of imessage/fb-messenger/whatsapp/who's calling), plus timer and calendar was indeed life changing. I use it more than my phone as its so low impact. But only in my work life. When I'm not working it's just an exercise band.

As someone else in this discussion put it, "it's a dashboard". Yep, but so low cognitive cost that it really works.

<comment><USER4> I thought of the exact same scenario as you described. But, it failed that thought flow when I realised I needed to charge this thing everyday - <USER2> think about/feel anxious about charging this thing every god damn day.

I settled with a Fitbit Charge HR 2 almost a year ago, and this thing never leaves my wrist. Once a week or so when it about to die, I toss it in its charger as soon as I wake up and it is ready for another week when I pick it up before I go to work.

I will consider Apple Watch when the charge times get to a week or there comes a technology breakthrough that charges this thing wirelessly without contact. Until then, y'all enjoy!

<comment><USER5> I'd actually struggle with something that only required periodic charging. Source: my AirPod case.

With the Watch it's simple: every night when I go to bed, I place it on the charger.

<comment><USER4> Yes, but I really like the stats my Fitbit gives me about my quality of sleep. There are days when I stayed in bed for 9 hours but only really sleep like 4 hours. I can look at the sleep stages and clearly see what stage was I at during those woken up hours.

Agreed. If I didn't care about wearing it overnight, I can see how overnight charging almost makes the charging problem disappear.

<comment><USER5> The battery life is closer to 36 hours than 24, so people do use it that way.

One approach is to drop it on the charger for 20-30 minutes in the evening, wear it overnight, place it on the charger again while getting ready in the morning.

I can't be bothered, but I will admit I've been curious how terrible my sleep is.

</comment></comment></comment></comment></comment><comment><USER6> I'm not sure why I feel it's any different to the other technology I use everyday and love, but smart watches and wearables never really grabbed me the same way phones and tablets did. I have a few nice Seikos and aspire to maybe one day get a used Omega or something, one that'll hopefully last longer than I do and that my kids might enjoy as a thing to appreciate the detail and craft in one day. That said, the Apple Watch certainly is the one I'd buy if I was in the market, it feels like it was actually designed for people to use and enjoy, rather than just a toy.

<comment><USER7>
        >  smart watches and wearables never really
        > grabbed me the same way phones and tablets did.

Same here. It's because they're basically dashboards. It's hard to get excited about a dashboard.

</comment></comment><comment><USER8> I totally disagree with Gruber's "niceness" argument. The crowning achievement of the Series 4 is the democratizing effect of the technology re: Wharhol's "A Coke is a Coke and no amount of money can get you a better Coke...". Everyone can have the "best" watch. Apple unfortunately got away from this when they launched the watch. I'm glad they are back.

(Yes, I realize the watch is $400 which is outside of some people's buying power)

<comment><USER5> The Watch has always been that way. Even the 10k edition was the same technology as the basic model.

What changed with Series 4?

<comment><USER8> The Series 4 has no Edition model.

</comment></comment></comment><comment><USER9> Almost makes me want to try an Apple Watch. I've been using Android Wear devices since the original Moto 360, but I've been really dissatisfied with what Google has done with Wear recently.

</comment><comment><USER10>
      > This is why I continue to believe Apple will never open Apple Watch to free-form third-party watch faces.

That's THE feature I'm waiting for.</comment>


Air marshal leaves gun in airplane bathroom - <AUTHOR> https://edition.cnn.com/2017/04/21/politics/air-marshal-gun-airplane-bathroom/ <comment><USER2> >"She made a mistake because she wasn't given the appropriate tools to succeed," the former air marshal said.

What kind of tools does she need so she doesn't forget her gun in the washroom?

<comment><USER3> The article mentions training, specifically on-the-job training (being paired with a senior agent) and schedules that don't result in being sleep-deficient while on duty.

The "tools" here are metaphorical, in case that was your concern. It almost always means training and seems to be particularly relevant in the context of public safety.</comment></comment>


This Meeting Has Cost.. (javascript ticker) - <AUTHOR> http://tobytripp.github.com/meeting-ticker/ <comment><USER2> I find little timers like this crazy effective. When I switched to freelancing fulltime, I built a little Gmail widget to help keep me motivated.

It shows my bank account balance, in real time, ticking down to zero based on my monthly budget's burn rate. There is something uniquely motivating about seeing your money slowly disappear as you check your email.

<comment><USER3> Post the source? edit: please integrate with RescueTime

<comment><USER2> Here you go: <http://www.euphonious-intuition.com/runway2.xml>

It's dirt simple - I actually converted a "world population" widget into what I wanted, hence some of the funny names. "Startpop" is your starting bank account. "Poprate" is your burn rate per second. "Startdatepop" is the day you start the counter.

For example, in my script I budgeted $1000/month, which works out to $0.00038/s

Like I said, it's pretty crude. You have to routinely update both your balance and the start-date to keep it accurate...but I've found just the idea of a ticking balance is more powerful than what the number actually is.

</comment></comment></comment><comment><USER4> Not all meetings are bad though and you cannot put a counter on meetings that foster future growth or stability. Spending 30mins extra in a meeting could resolve a major issue, helping the company beat competition - something that you cannot put a dollar value on easily.

Just like there is an opportunity cost of having four senior staff sit in a room for 45mins, there is an opportunity (benefit) for them to do something that helps the long-term growth too. While I have been in many meetings that were twice as long as they needed to be, I have also been in meetings that went overtime but solved technical, inter-departmental, and operational problems. Having a clock in those meetings would have been seriously counter- productive.

<comment><USER5> Agreed - but I think there are enough unbalanced forces within most organizations towards the "let's a have meeting" solution to problems that this is making a "ha, ha, only serious" point that resonates.

</comment></comment><comment><USER6> There's a hardware version of this which we use in the office: <http://www.bringtim.com/>

</comment><comment><USER7> Best footer ever:

"If this works in Internet Explorer, it is purely by accident."

</comment><comment><USER8> Nice. I made a version of this a while back when I worked at a design firm and meetings went way too long:

<http://hurryupplease.com/>

</comment><comment><USER9> "This Hacker News visit has cost..."

</comment><comment><USER10> This reminds me of the 5 years-with-the-company speech I gave in front of a large audience in a meeting that I thought had been going too long. Before the speech, I calculated how many 15-second intervals I had been with the company (approximately of course). So when it came time to give my speech, I asked everyone to look at their watch for 15 seconds, noted that it felt like a long time, then stated how many times that we were in the meeting and tied it up with humor pointing out how much times that I had been with the company. Laughs all around, but everyone got the joke that I was pointing out about the meeting itself being long.

</comment><comment><USER11> Great idea!

Here's my take: <http://imgur.com/pWzra>

Source code: <https://github.com/vojto/cost-mac>

</comment><comment><USER12> This is reminiscent of a similar "I can't believe how much time we're wasting in this meeting" site that I made with some friends a couple years ago:

<http://meetordie.com>

If you click through and submit a meeting, you're rewarded with some clever artwork making fun of the hot websites of the day (Facebook, Foursquare, etc.).

Good for a laugh. It was fun to put together.

</comment><comment><USER13> This may be useful if you pay people by the hour, but in most companies with fixed employees you just keep people on the payroll to make sure they are available when you need it. Meeting costs become relevant when you have an excess of work vs your capacity - then meetings go in the way of doing other valuable things.

</comment><comment><USER14> $200 an hour is some pricey talent...

<comment><USER15> Not at all. It's a meeting of four people, each of them making ~$75k, which is about half of what a skilled and experienced programmer (HN audience?) commands these days.

You have to remember the employer's overhead, as well - things like office space, computers, electricity, health insurance contributions, etc etc etc.

When you start talking about the HN crowd, it's a lunch meeting of two people in the lobby of a pretty normal office.

<comment><USER16> The 200 it suggests is per person. With 30% overhead, that would be $320k/year for a full time job.

</comment></comment></comment><comment><USER17> Awesome. Perhaps allow for annualized salaries?

<comment><USER18> Meetings are about lost opportunity cost more than lost salary cost.

<comment><USER14> I was thinking along those lines too. In light of that facilities costs and benefits are sunk/fixed costs and irrelevant...right?

</comment></comment></comment><comment><USER19> I built a site like this a year ago for Lawyers.

<http://www.lawyerclock.com>

Slightly more entertaining.

</comment><comment><USER20> I made one in excel a while back. Because people that love meetings love excel. Let me try and find it!

</comment><comment><USER21> Ironically doesn't handle time differences well. Enter 12:40 (it's 2:40 here) and see what happens.

</comment><comment><USER22> Genius. Pure genius. Effective and funny as hell too.</comment>


In Defense of Uber - <AUTHOR> http://www.bothsidesofthetable.com/2014/11/22/in-defense-of-uber-an-unbiased-opinion/

<comment><USER2> Thanks for sharing this. Just curious - in which cities have you guys been using Uber (if you've ever used it?).

I'm from Stockholm, Sweden and use Uber almost every week - I love it, and I wanna know if people from other cities also have this positive experience?</comment>


Second flight of Falcon 9-R. 1000m, hover and land (with cows) - <AUTHOR> https://twitter.com/elonmusk/status/462100295896412160 <comment><USER2> So... we're back to the 1950's concept vertical takeoff and landing of a rocket? Wow? Seems cost intensive to carry and burn fuel to go up and come down..</comment>


Top key takeaways and announcements from KubeCon and CloudNative Con 2019 - <AUTHOR> https://www.cloudmanagementinsider.com/key-takeaways-announcements-kubecon-cloudnative-con-2019-san-diego/ <comment><USER2> Apart from the announcements highlighted above, if you want a little bit more color and my take on the community, marketing vs. reality, and some of the tech-related controversy I saw, feel free to check out my notes on the conference here - [https://blog.kasten.io/posts/our-top-highlights-from- kubecon...](https://blog.kasten.io/posts/our-top-highlights-from-kubecon- cloudnativecon-san-diego-2019/)

</comment><comment><USER3> > Mirantis launches Kubernetes as a Service (KaaS)

How is this a _key_ takeaway? There are dozens of Kubernetes as a service offerings, why is this one considered a key takeaway? This is a genuine question, not being sarcastic or cynical.

<comment><USER4> The author is _very_ hard to take serious in this wrap-up. Saying "Mirantis' KaaS promises to be resilient, scalable, secure, easy to integrate and operate" indicates they have zero knowledge of previous promises made.</comment></comment>


Awk in 20 Minutes - <AUTHOR> http://ferd.ca/awk-in-20-minutes.html <comment><USER2> Story time.

Back in ~2005 when I was still very new to Linux I had this old Dell that I put Gentoo on. It was a 900MHz Intel Coppermine with a minuscule amount of memory, so things compiled very slow. Being the wise Linux guru that I was back then, I decided that I would emerge (compile) all of X, fluxbox, OpenOffice, and probably 1 or 2 other things.

I didn't have distcc set up. It compiled for days.

One thing I really did enjoy was watching the cryptic messages crawl by, and one that always mystified me was during the configure stages:

       checking for gawk... gawk

It seemed like a total nonsense word. To this day I still have fond memories every time someone mentions (g)awk.

</comment><comment><USER3> You are awesome. That's seriously the easiest bit of technical reading I've ever done. I tip my hat to you!

<comment><USER4> Yes, easy reading, as a non-programmer the only thing that lost me was the throw away line in the code comments on "function arguments are call-by- value". I've some recollection that call-by-value and call-by-reference are options here but not entirely clear what the meaning of "call-by-value" is.

It probably doesn't matter though - the Wikipedia reference is ever-so slightly to terse for me to understand the implications thoroughly too, [http://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_val...](http://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_value).

Am I right in saying that if I call a function on $2, say, that unless that variable is explicitly assigned in the function that $2 remains unchanged after the function operates. But that with a call-by-reference the value of the variable itself will be altered? Something along those lines.

<comment><USER5> _Am I right in saying that if I call a function on $2, say, that unless that variable is explicitly assigned in the function that $2 remains unchanged after the function operates. But that with a call-by-reference the value of the variable itself will be altered?_

You've got it. At least that's what passing a variable by reference vs. by value means in other languages, such as PHP.

</comment></comment></comment><comment><USER6> Also Awk has one of the best bite sized tutorial/references out there. Up there with Programming in Lua in terms of awesomeness per page count.

[http://www.amazon.com/AWK-Programming-Language-Alfred- Aho/dp...](http://www.amazon.com/AWK-Programming-Language-Alfred- Aho/dp/020107981X/)

</comment><comment><USER7> Very well done article.

General question: when would one choose to use an awk script over something more general purpose such as a python or ruby script? To me it would make sense to use the latter in most cases.

<comment><USER8> Good question. I've been working with awk for several years now, and here's how I feel about it.

AWK is old. 1977 old. Later versions that appeared (nawk and gawk are the most common) helped make it a smoother language, but it's still a pain. There are definite features you will be missing in an awk script:

\- Any useful data structure slightly more complex than associative arrays. Try multi dimensional arrays, it's actually fun to do. Once.

\- Any useful programming construct to help manage with complexity of scripts longer than a few hundred lines. No classes, no variable scoping, no namespaces in general. Not to mention an extremely permissive compiler.

\- Any easy way to deal with the environment (other than text). Try sending http requests in awk, it can be a pain.

In 2015, if you need to write a script you should almost always prefer python/ruby over awk.

Now if you're asking whether you should learn awk? It comes in handy. There are _a lot_ of awk scripts in the wild, and you may need to read them or edit them one day. Also, awk has a fun way of parsing input, which makes for very enjoyable one liners. Learning awk (and some complementary utilities like sed or find) turned me into a "oh, it can be done in a quick one-liner" kind of guy. Definitely recommended.

<comment><USER9> > Also, awk has a fun way of parsing input, which makes for very enjoyable one > liners.

Yes, being able to casually toss off an awk (or sed) one-liner is a very convenient skill to have.

<comment><USER10> I agree, but I get most of the same out of Ruby even if might be slightly less readable (or ugly Ruby code).

It's nice that the mentality comes out of using certain languages though.

also [http://tomayko.com/writings/awkward- ruby](http://tomayko.com/writings/awkward-ruby)

<comment><USER11> So you get an ugly program that requires a third party tool, rather than just a POSIX system. I would say that this solution then requires additional justification compared to the Awk no-brainer.

</comment></comment></comment></comment></comment><comment><USER12> Piping things in and out of awk is really powerful and fast! Check out how Gary Bernhardt utilizes different Unix-commands (including awk) to filter out dead links on his blog: [http://vimeo.com/11202537](http://vimeo.com/11202537)

<comment><USER13> This is a cool video. I have been using Linux casually for a year and a half now, but haven't progressed too much past the desktop paradigm.

I am not uncomfortable in the terminal, but I feel more akin to a foreigner who's mastered a phrasebook, rather than someone able to hold even a rudimentary conversation.

Do you (or does anyone else) have more examples similar to this, or resources that would be useful in moving toward this fluency in utilizing command line tools?

<comment><USER12> I would strongly urge you to purchase Gary Bernhardt's screencasts at [http://destroyallsoftware.com](http://destroyallsoftware.com). It has been extremely influential for me. I've realized that Unix should be looked at as a tool when programming. He also has strong opinions on how to test properly, check this out: [https://www.youtube.com/watch?v=tdNnN5yTIeM](https://www.youtube.com/watch?v=tdNnN5yTIeM)

<comment><USER13> These look very interesting. I think I'll probably end up purchasing these.

</comment></comment></comment></comment><comment><USER14> Going to put a shameless plug here for the python awk replacement I made.

github.com/kespindler/puffin

Instead of learning a new language and new syntax, just use python!

<comment><USER15> If only it was as fast as awk. Is it?

<comment><USER16> No, the python interpreter itself takes about 0.03 seconds to start up on an i7. Awk and sed and friends are usually about 1/10th of that. So the python interpreter startup time dominates the cost for most simple tasks. It's not enough to notice when you're typing things by hand at the shell, but the difference can be painful if you're writing bash scripts. I use a similar python tool for command line work, but I always go for sed when I'm writing bash scripts that I plan to distribute.

</comment></comment></comment><comment><USER17> This seems like a good thread to ask: are there more featureful languages that derive from Awk (edit: i.e., can work in a data driven mode) but don't diverge as much as much as Perl did in terms of syntax?

<comment><USER9> awk applies actions to lines matching patterns. The design seems concise and limited on purpose.

Not that you shouldn't want more features, but in the context that awk is typically used, what sort of features would you want to add? I confess I'm not able to understand what "can work in a data driven mode" might mean.

To answer your question a little more directly (and yet still be almost a non- answer), additional features can be found on the other side of the pipe into which you direct awk's output.

<comment><USER17> >awk applies actions to lines matching patterns. The design seems concise and limited on purpose.

That is what I meant by a "data driven mode".

>what sort of features would you want to add?

An extended awk could at least add new types of patterns, e.g., binary, stateful and nested patterns or formal grammars, regex patterns with match groups, etc., meaning you could correctly process "real" CSV files or log files with complex structure. I believe these features could be made to fit in with the design of the language making them all feel like they belong to the same kind. It could also add new functions such as ones for Unicode text normalization.

Perl5 does much of this and Perl6 even introduces grammars but because of some of its design decisions for me Perl is not a joy to use like Awk. Both of its versions are just plain too big.

<comment><USER18> You can use multiple file options, but I am not sure if you can include files to load a library file from within awk itself, nor am I aware of any options for conditional linking. Those would be nice, it would make it easy to write awk libraries.

</comment></comment></comment></comment><comment><USER19> I use awk only for trivial commands that fit in one line. Here is my last one.

awk -F : '/^OPS1:/{print $2}' < machinelist

I think the article could add an example of this kind of simple usages.

<comment><USER20> Here's my last one (find half of the free memory to feed into a stress testing tool):

stress --vm-bytes $(awk '/MemFree/{printf "%d\n", $2 * 0.5;}' < /proc/meminfo)k --vm-keep -m 1

It's like playing terminal history awk roulette :)

</comment></comment><comment><USER21> The best introduction to awk is its man page. It is such a concise language that you can find pretty much everything you want to learn about it in just a few pages.

<comment><USER22> The manual page isn't an introduction, it's a reference. It says what it is ( _the GNU Project 's implementation of the AWK programming language_), and goes on to talk about how the program is operated and how the language works, but it doesn't explain why or where you'd use this tool That's fine for a reference manual but it's a big omission for an introduction.

<comment><USER21> I am not talking about the GNU Info page, but the traditional man page. It is much more concise and useful.

<comment><USER23> Can you provide a link to an online version? I'd like to read it

</comment></comment></comment></comment><comment><USER24> Here's a UNIX one-liner I wrote a while ago that uses awk, sed and grep for a real-life need:

UNIX one-liner to kill a hanging Firefox process: [http://jugad2.blogspot.in/2008/09/unix-one-liner-to-kill- han...](http://jugad2.blogspot.in/2008/09/unix-one-liner-to-kill-hanging- firefox.html)

The comments on that post are also of interest.

</comment><comment><USER25> I use perl one-liners, thanks to the power of -n, -i and -p switches.

      perl -n -e <expression> <file>

runs the expression on each and every line of <file> (can be STDIN of course).

      perl -p -e <expression> <file>

prints out every line for which the expression returns true. The -i option allows treating files in place. Add -i<extension> to create a <file>.<extension> backup, just in case.

examples:

      perl -p -e '/admin/' file
      perl -p -e '^/admin/' file

behaves exactly like the basic awk examples. We can also replace stuff :

      perl -p -e 's/admin/bozo/g' file

print all lines matching 'admin', replacing 'admin' with 'bozo'.

Now if you just want to replace all occurrences of 'admin' with 'bozo' in the file:

      perl -pi -e 's/admin/bozo/g' file

For instance perl allows you to use a different separator than / for regexps, very useful when manipulating paths:

      perl -pi -e 's#/some/path/#/different/path/#g' file

Of course instead of a simple awk/sed substitute, you can run more elaborate code, and even use perl modules in your one liners with the -M switch:

      perl -MData::Dumper -n -e 'print Dumper $1 if m/^(admin .w+)/' file

Lastly, perl allows you to use q(string) instead of 'string' and qq(string) instead of "string", that avoids lots of escaping when typing in oneliners, so instead of:

      perl -n -e 'print \'found\' if m/admin/' file

Use

      perl -n -e 'print q(found) if m/admin/' file

</comment><comment><USER26> This is probably the most concise introduction to awk I've read.

For more extensions[0] and advanced features like arrays of arrays and array sorting, there's also gawk. And for larger files there's performance driven mawk which can drastically increase processing speed[1].

[0][https://www.gnu.org/software/gawk/manual/html_node/Extension...](https://www.gnu.org/software/gawk/manual/html_node/Extension- Samples.html)

[1][http://brenocon.com/blog/2009/09/dont-mawk-awk-the- fastest-a...](http://brenocon.com/blog/2009/09/dont-mawk-awk-the-fastest-and- most-elegant-big-data-munging-language/)

</comment><comment><USER27> Nice write-up!

A couple of points:

On CentOS, at least, gawk == awk which falsifies "patterns cannot capture specific groups to make them available in the ACTIONS part of the code". Eg: echo "abcdef" | gawk 'match($0, /b(.*)e/, a) { print a[1]; }'

You missed the match and not match operators ~ and !~ in your list.

Finally, I find people better understand the flexibility of awk when they realise that awk '/bob/ { print }' is shorthand for awk '$0~/bob/ { print $0; }'. This makes it clear that the pattern element is not limited to regexs or matching the whole line.

</comment><comment><USER28> Awk is also used a lot in Bioinformatics where you need one-liners to extract/format the data. Ofcourse, Perl/Python/R/Ruby can also be used but in some cases Awk is just simple and graceful.

<comment><USER29> Yes! It shows up a lot among the briefest solutions to Project Rosalind.

</comment></comment><comment><USER30> Were I to have had this instead of the O'Rielly book (Sed & Awk) that I learned from. The time I could have saved.

My goal: to be able to write as clearly as this.

</comment><comment><USER31> Excellent tutorial.

I'm actually working on (about to finish) free Splunk app that monitors HTTP traffic via Apache logs on WHM/Cpanel based hosting servers and visualizes traffic and activity trends and patterns between IP addresses and sites.

Awk would be an excellent tool to quickly play and "debug" logs content alongside with visual tool.

Additionally I think I'd want to utilize it for malware detection.

\+ On my "to practice" list.

</comment><comment><USER32> The one thing this is missing is a search/replace example. That's a very common thing to do and annoyingly clunky in Awk.

<comment><USER33> a lot of people pipe to sed but you don't need to. you can do regex subs right in awk. see sub and gsub.

           sub(r, t, s)
                  substitutes  t  for the first occurrence of the regular expression r in the string s.  If s is
                  not given, $0 is used.

           gsub   same as sub except that all occurrences of the regular expression are replaced; sub  and  gsub
                  return the number of replacements.

(this is awk from osx, which i _think_ is nawk)

<comment><USER34> If you have gawk, use gensub instead.

</comment></comment></comment><comment><USER35> BEGIN and END are somewhat like what is above the first %% and below the second %% in a yylex "source" file. Or maybe not. I need to review the documentation.

This brief AWK intro entices me to try making a similar one for (f)lex using the author's concise format as a model.

In any event, Pattern --> Action is common to both programs.

<comment><USER11> The %% in lex and yacc statically organize the file into different areas. BEGIN and END have run-time semantics: do these things before applying the pattern/actions to the inputs, and do these things afterward.

<comment><USER35> 1\. I never mentioned yacc. What relevance does it have to my comment? I typically use (f)lex without yacc/bison to do a similar job as I would use AWK for: text processing.

2\. "statically organize the file into different areas" One is a code generator and the other is a scripting language with an interpreter, is that what you mean? In effect, this difference means little to me (except for speed of execution): I store my (f)lex programs as source files that I feed to the (f)lex code generator. Then I compile the generated C code. I store my AWK scripts as source files that I feed to the AWK interpreter. I use both flex and AWK to perform a similar task: text processing.

For whatever it is worth, I get better performance from my compiled flex scanners than from my interpreted AWK scripts. But I sometimes use them for the very same text processing jobs.

AWK:

      BEGIN { define variables }
      pattern-action rules
      END { stuff to do after EOF }

(f)lex:

      { definitions } user variables
      %%
      { rules } pattern-action rules
      %%
      { user routines } stuff to do after EOF

From the blog: "_BEGIN_, which matches only before any line has been input to the file. This is basically where you can _initiate variables_ and all other kinds of state in your script."

From the Lesk and Schmidt: So far only the rules have been described. The user needs additional options, though, to _define variables_ for use in his program and for use by Lex. These can go ... in the _definitions_ section...

From the blog: There is also END, which as you may have guessed, will match after the whole input has been handled. This lets you clean up or do some final output before exiting.

From Lesk and Schmidt: Another Lex library routine that the user will sometimes want to redefine is yywrap() which is called whenever Lex reaches an end-of-file.

I regularly use yywrap in the "user routines" section. It functions much the same way as commands I use in the END section of an AWK script.

I guess one can either focus on differences or similarities. I choose the later.

I care little about the "intended purpose" of a program. I care more about what a program can actually do.

<comment><USER11> I know, but both lex and yacc use the %% division in similar ways; that is why I mentioned it.

Simply put, your "definitions" are not stuff that is done before pattern- action rules, and "user routines" are not stuff that is done after EOF. It's all just stuff that is declared. Both sections can contain code, and that code can be called out from the pattern rules. Either section could contain a main function that calls yylex. If the lexer is reentrant, it could be re-entered from any of those places. And so on. Fact is, the %% division has nothing to do with processing order, unlike BEGIN and END in Awk.

<comment><USER35> %% division can be used to do exactly what BEGIN and END do, and that is how I use it. Moreover, as I recalled correctly, the Lesk and Schmidt paper specifially mentions such usage.

My comment is not referring to the internal behavior of the two programs (as yours is). And the Lesk and Schmidt paper is not setting down hard and fast rules; it is only making suggestions. My commment was about how the two programs can be used to do similar work, i.e., text processing.

If you do a lot of text processing work, at some point AWK is not fast enough. I have other programs I use and flex is one of them. Specifically, scanners (filters) produced with flex.

<comment><USER11> I don't disagree that you can put stuff that is done first above the first %%, and then stuff that is done after scanning after the second %%. I just don't think that this makes %% analogous to BEGIN and END. For one thing, stuff can be moved around from one of those sections to the other, without changing the basic organization of the program. For instance, prior to the first %% you can put prototype declarations, and move everything to the bottom.

</comment></comment></comment></comment></comment></comment><comment><USER36> #awk on irc Freenode great is a great place for general or advanced help

</comment><comment><USER37> The second comma in the second sentence has got to go. "on files, usually structured" <\-- that one. There are some other ones too. Other than that this is really great!

</comment><comment><USER38> AWK is very easy for C programmers to learn.

You can also try 'info gawk' from the Unix or Cygwin prompt for a good tutorial.

<comment><USER39> Or JavaScript programmers. JavaScript's function syntax came from AWK.

<comment><USER40> First time I read that but well the spec says so. [http://hepunx.rl.ac.uk/~adye/jsspec11/intro.htm#1006028](http://hepunx.rl.ac.uk/~adye/jsspec11/intro.htm#1006028)

</comment></comment></comment><comment><USER41> someone should add this to

[http://learnxinyminutes.com/](http://learnxinyminutes.com/)

</comment><comment><USER42> Awk & SED I have a hard time think about one without the other. I think they should be married.

<comment><USER43> Awk & Sed are labeled as the following in my mind:

\- Awk: That thing I use when I need to grep for something over more than one line and/or do some basic transformations.

\- Sed: That thing with the painful syntax for doing ridiculously complicated regex substitutions.

With that said, I find sed much more difficult to use than awk and generally try to avoid it if I can. I'm even prone to just opening the file in vim and executing the replace command through that rather than using sed.

<comment><USER9> I would use sed for transformations (simple or complex) where I only care about one transformation (even though you can do multiple): Does the current line match this pattern? Change it to this other thing and move on the next line.

I would use awk when there are a handful or more of potential transformations: Does the current line match any of these multiple patterns? Do the action that's defined for each of the patterns, then move on to the next line.

If I need to do multiple transformations, and still want to use sed, I find it easiest to create a chain of single sed transformations, piped together. Somewhere in that area a shift to awk (or python) becomes justified.

<comment><USER44> I found sed great for messing around with SVN repository dumps. Delete a few lines here to remove the commit that added a directory... change a few paths to pretend the files in that directory had always been somewhere else... add a few lines somewhere else.

Sed scripts are a quick way to automate simple edits to large files.

</comment></comment></comment></comment><comment><USER45> This is written by the same person that wrote 'learn you some erlang for great good'.

</comment><comment><USER46> Use gawk for processing large data files

</comment><comment><USER47> Finally, something useful.

</comment><comment><USER48> I have been very happy in using awk, have used it to generate real results. It is fast, a little clunky at first, but since it is a smaller language it is quick to get up to speed on.</comment>


Apple Expects First Quarter Profits to Top $45M (before the iMac) (1998) - <AUTHOR> http://investor.apple.com/secfiling.cfm?filingid=320193-98-1&cik=320193 <comment><AUTHOR> And I do believe that most of these ideas would be doable with Gil Amelio as CEO. The Performa was already dead for example.</comment>


Show HN: Star Citizen's WebGL Starmap - <AUTHOR> https://robertsspaceindustries.com/starmap <comment><USER2> This confused me because I thought it was just a map of the stars (looking for constellations and planets sort of thing).

That being said, after figuring out a bit more at the home page, I found the blue squares fluctuating over the map annoying after a while. It seems like something that could use a description or instructions or something.

</comment><comment><USER3> Very nice! Love it!

FYI, try this link to get details view of Jupiter: [https://robertsspaceindustries.com/starmap?location=SOL.STAT...](https://robertsspaceindustries.com/starmap?location=SOL.STATION.IMSBOLLIVER&system=SOL&camera=105,-99.97,0.0003,0,0)

<comment><USER3> Or this for the solar system: [https://robertsspaceindustries.com/starmap?location=SOL&came...](https://robertsspaceindustries.com/starmap?location=SOL&camera=66.43,-72.36,0.002,0,0)

</comment></comment><comment><USER4> Love it !!!</comment>


Is the Internet going down? Undersea sub-cables have just broken... - <AUTHOR> http://timesonline.typepad.com/technology/2008/12/is-the-internet.html

<comment><USER2> The internet seems fine. I don't kn

<comment><USER3> Oh come on. That joke was old on Slashdot 10 years ago.

<comment><USER4> And you know what?

It's still funny.

I find it is always worth a peek at this <http://www.internettrafficreport.com/main.htm>

before getting too doom-laden.

+++ATH0

<comment><USER5> That can easily backfire. I remember the last time this happened people pointed to an ITR page showing that a router in Iran being inaccessible as evidence that all of Iran was offline and that this could only mean that a US invasion was imminent. Meanwhile, if you actually went to the domain under which that router sat, you'd find The Iranian University of Science & Technology (<http://www.iust.ac.ir/>), up the whole time.

I think people will see doom and gloom wherever they want to see it.

</comment></comment></comment></comment><comment><USER6> Every time one of those cables has a mishap, we get one of these stories... and every time, I find myself reading the story online...

So no. Give it a rest with the doom and gloom already.

</comment><comment><USER7> I am working on this issue _right now_.

</comment><comment><USER8> Perhaps the next target for terrorism?

Are there really only 4 cables that carry all the traffic? I would expect some sort of redundancy.

<comment><USER9> Terrorism? It's the internet, not an oil pipeline.

Did that word ever hold any meaning at all?

<comment><USER10> Didn't you get the memo? The latest terrorist plans inlude clogging your tubes, raping your dog and drinking all your beer. Nothing is safe anymore, nothing.

</comment></comment></comment><comment><USER11> I'm in Saudi Arabia. It's near dial-up on a 4mbps DSL link. Though loading sites seems to have more trouble making connection than downloading on an established link (if you've used a satellite connection, it's like that). Our Sysadmin sent this today:

(from [http://www.francetelecom.com/en_EN/press/press_releases/cp08...](http://www.francetelecom.com/en_EN/press/press_releases/cp081219en.html) )

A first appraisal at 7:44 am UTC gave an estimate of the following impact on the voice traffic (in percentage of out of service capacity):

      -    Djibouti: 71% out of service
      -    Egypt: 52% out of service
      -    United Arab Emirates: 68% out of service
      -    India: 82% out of service
      -    Lebanon: 16% out of service
      -    Malaysia: 42% out of service
      -    Maldives: 100% out of service
      -    Pakistan: 51% out of service
      -    Qatar: 73% out of service
      -    Saudi Arabia: 55% out of service
      -    Syria: 36% out of service
      -    Taiwan: 39% out of service
      -    Yemen: 38% out of service
      -    Zambia: 62% out of service

</comment><comment><USER12> I'm in Jordan, one of the countries serviced by the Sea Me lines (though for some odd reason it's not listed in the reports online), and several hours I called my ISP to complain about < dial-up rates on my 2mbps ADSL line. They told me that the telcom company had informed them of cut lines in the Aqaba region, and that they were re-routing traffic as we spoke.

Net speeds are back to normal now, though response times are still a bit off.

</comment><comment><USER13> This is the second time in less than a year (I think?) that multiple backbones in the Middle East have been broken simultaneously...

<comment><USER5> Your elipsis suggests you find that suspicious, but why?

The second time in less than a year sounds suspicious, but the time you are thinking of was in late January. Is it really any more suspicious to happen again 11 months later rather than 12? It's only a cognitive bias that makes "one year" sound like a much longer time than "11 months". Also consider that this would be the same season and thus similar weather conditions and fishing seasons, and that the accepted conclusion about January's event was that particularly bad weather conditions at the time caused a large number of ships in the Mediterranean to drop anchor, the dragging of which is a common cause of cable cuts.

That it is multiple backbones and they broke simultaneously sounds suspicious, but these cables are all located quite close together, close enough that it's possible they could be severed by the same event. No coordination or intent is necessary.

That it is the Middle East sounds suspicious, but who is the suspect, and what is the motive? The fact is that this is more of an inconvenience than real harm to anybody, and doesn't appear to benefit anybody, either. If it was a US action, why does it primarily inconvenience US allies and economic partners? If it was a terrorist act, why has nobody taken responsibility for it?

<comment><USER14> It's suspicious if the events are getting more frequent. Have these cables broken much before last Jan?

<comment><USER5> "Undersea cable damage is hardly rare--indeed, more than 50 repair operations were mounted in the Atlantic alone last year, according to marine cable repair company Global Marine Systems." -- <http://www.technologyreview.com/Infotech/20152/?a=f>

I see no reason why these cables would be any different, though as noted in the same article, the fact that there are far fewer means that each cut is more significant (and thus newsworthy). The rest of the article is fairly grounding, too.

</comment></comment></comment></comment><comment><USER15> How do they "fix" a broken fiber cable deep in the ocean?

<comment><USER16> Like this: [http://www1.alcatel- lucent.com/submarine/how/inputs/repairin...](http://www1.alcatel- lucent.com/submarine/how/inputs/repairing/repairing.htm)

<comment><USER17> That was a great explanation.

One of my all-time favorites, though, is this one: <http://en.wikipedia.org/wiki/File:Tcp_synflood.png>

</comment></comment></comment><comment><USER18> Oh noes!! It's not just me!!

<http://downforeveryoneorjustme.com/the+internet>

</comment><comment><USER19> <http://www.istheinternetdown.com/> seems to be still available...

</comment><comment><USER20> I had some problems accessing some webpages, but that was probably due to a Trojan which I got rid of. Then the web was fine.

</comment><comment><USER21> My internet is really slow today. It took me 15 minutes to download CherryPy!</comment>


The ups and downs of doing online multiplayer as an indie - <AUTHOR> http://www.gamasutra.com/view/feature/217434/the_ups_and_downs_of_doing_online_.php?print=1 <comment><USER2> A big issue for indie games is critical mass.

In order for online matchmaking to work, you need a pool of players that are waiting to play; especially for game modes that need many players.

Once there are time periods where people can't get a game for, say, 5+ minutes, then they'll quit. This will mean less people also in times where previously there were enough players, causing even more gaps where it's unfun with long matchmaking times, and cause even more people to quit until your online gaming is gone.

If you're safely above the critical mass, you can stay there for years; but once your numbers drop slightly below the limit, they'll go right down to near-zero.

<comment><USER3> I wonder if it would help to have the match-making server track and display online stats to players looking for other players, so they would know at which times they'd have to log in to have the biggest chance of having lots of other people to play with.

<comment><USER2> This is an useful feature that may help your remaining hardcore fans continue playing after all the "normal people" have left.

I.e., this will make playing 'below critical mass' somewhat bearable, but it's just mitigating a failure - the goal should be so that players don't have to think about this. A new player trying out the game won't wait until the "right time", especially one that might be suboptimal for his time zone; they'll just pick another game instead.

The key factors for short waiting times are :

1\. lots of players (obviously)

2\. high uniformity (low variation) of gameplay modes - if you don't have huge numbers, you don't want 30 separate tiny pools each waiting for players of somewhat different games, you want a single (or a few) common pool, so you can match anyone against anyone else. Nuanced matchmaking is for cases when you can afford it w/o sacrificing waiting time.

3\. Quick round length, so that other players often return to matchmaking, giving a freshly logged-in player more chances to join-in.

4\. If the game allows for it, ability to join already running games helps a lot.

5\. Global reach - if your game is used in many timezones, then the peak/offpeak hours even out, and a player will be able to play at 5am on a thursday because it's prime time on the other side of the world.

An example on how NOT to do this is World of Tanks historical battle mode. WoT does have a significant number of players (I see ~50k online players in the middle of the night), but they have made a new mode that is useless, as it (1) has separate queues, where each is below the critical mass to actually run any games in a reasonable time; (2) requires a high number of players to start (20+), so if the pool has a dozen players, then nothing will happen, ever; (3) there are restriction on what players may join which side, which reduce the matchmaking pool even further. On the other hand, if you optimize for ease of access, then you can have a healthy community with much, much smaller number of users.

</comment></comment></comment><comment><USER4> I remember when I was younger I would play games where the game would designate a "host" player. If that player quit the game would pause and it would show a message like "searching for new host" and in a few seconds the game would resume from there. I am guessing this player acted as the central server for that particular game. I don't see this very often any more. In fact, I can't think of a single game that does this off the top of my head.

Anyone know why this isn't a viable solution now-a-days? I know MMOs wouldn't be able to do this, but something like League of Legends where there are only a set number of players (smaller is better). This frees the developers from a lot the responsibility of maintaining servers. They would probably still need some to actually hook up the players in the beginning, but that's about it. That could be as "simple" as a web app (like Battlefield's "Battlelog").

<comment><USER5> Some games do still allow players to host. Team Fortress 2, for example, and it's quite common with friendly games of Minecraft. I honestly can't recall any games that can switch the host player on the fly, though. Even then, the new host's hardware and connectivity may not be up to the task.

In any case, player hosting was always problematic. Running a server for a couple of dozen players is intensive both computationally and network-wise; if the host doesn't have a powerful machine, solid bandwidth, _and_ low latency, everyone's experience suffers. You need a _really_ powerful machine to do all that and deliver a high-framerate 3D experience to the host player at the same time. And if anything gets disrupted on the host's end--they tab out to check email, or a scheduled virus scan kicks in, or their roommate starts watching Netflix--everybody's experience suffers.

And then of course a lot of modern games don't allow player-owned servers at all, dedicated or otherwise. That's an entirely different set of poor decisions, though.

</comment></comment><comment><USER6> I like Daniel Cook's comment: [http://www.gamasutra.com/view/feature/217434/the_ups_and_dow...](http://www.gamasutra.com/view/feature/217434/the_ups_and_downs_of_doing_online_.php#comment239919)

I read it as, "Are you aware that the engineering costs of non-local multiplayer can pay out many more rewards than simply designing for local multiplayer?"

I think framing this problem in terms of a design challenge yields a lot of fruit. Can my game be turn-based or only vaguely real time? (see [http://triton.ironhelmet.com/](http://triton.ironhelmet.com/) or any number of board game translations) What kind of players are attracted to games that don't demand large simultaneous time commitments? Etc.

</comment><comment><USER5> I wonder if it's even theoretically possible to create a drop-in netcode solution that gives satisfactory results for all games with minimal effort. Or even for a specific subset of games, e.g. 2D platformers. (Turn-based games, of course, are trivial.)

I'm inclined to think that it's not possible, since netcode always involves compromises, and the "right" compromises are going to vary a lot depending on the game. Over short distances you can achieve ping times good enough that it doesn't matter, but over longer distances the speed of light puts an absolute cap on your pings--13ms for New York to L.A., as much as 67ms for points on opposite sides of the equator.

<comment><USER7> GGPO ([http://ggpo.net/](http://ggpo.net/)) isn't exactly drop in, but it works well for most games that require low latency and have minimal per frame state changes (most arcade games). Integrating a GGPO like solution into Game Maker or Unity might make it easy to enable netplay for most games in the style of modern local multiplayer indie games (Bari Bari Ball, Hokra, Samurai Gunn, Towerfall, Nidhogg, etc.)

Unity announced a complete rewrite\update of their existing network code ([http://blogs.unity3d.com/2014/05/12/announcing-unet-new- unit...](http://blogs.unity3d.com/2014/05/12/announcing-unet-new-unity- multiplayer-technology/)), but it seems to be mostly be a fixed implementation of existing functionality rather than a true drag and drop networking solution. In practice there is no solution that works for everything, but it should be possible to build a solution that works reasonably well for a large subset of games.

</comment></comment><comment><USER8> Online Multiplayer has been hands down the biggest problem I've had to deal with while working on Wyv and Keep (plug: htp://www.wyvandkeep.com). It's still buggy as hell, because I still have no idea what I'm doing, I'm spending plenty more time fixing it before we release on Steam, because the current implementation is Not Good Enough.

I'd estimate it's at least doubled the dev time, if not more, due to the amount of stress and extra work it's caused, having to refactor the codebase in order to support it (arguably resulting in much better code, but that's really irrelevant if the game works well), and added years to the dev time due to having to spend the odd weeknight and weekend trying to remember the complexities of it. And this is for a relatively simple game!

My single best piece of advice to rookie indie devs thinking of adding it, especially when they have no prior experience with, is this: Don't. It's not worth the trouble.

</comment><comment><USER9> This is something our small team has been faced with over the last few weeks. Creating a great multiplayer experience is certainly one of the more difficult and maddening tasks a game developer will face, especially when it comes time to scale that if you are so lucky as to have success with it.</comment>


Facebook Says Some of Your Personal Data Is Its 'Intellectual Property' - <AUTHOR> http://www.techdirt.com/articles/20111011/12190216306/facebook-says-some-your-personal-data-is-its-trade-secrets-intellectual-property.shtml

<comment><USER2> This doesn't bother me.

#1: The protection against data that would require "disproportionate effort" seems like a valid protection of the company. A company the size of Facebook surely has very complex databases, logs, and caches going on, so that if they had to _literally_ fetch _all_ the data they have about a user, I could see this becoming quite a project.

#2: I would consider data models a trade secret. So if the personal data contains information that belies the underlying structure, I'm okay with the data being "scrubbed" clean of anything that would potentially give competitors a peek into the underlying engineering.

Note that I canceled my Facebook account long ago because I think Facebook is a system that is structured so that the users' best interests are not a priority. But this doesn't mean that everything Facebook does is bad or is against users' privacy, so I find this article to be a bit sensationalist.

<comment><USER3> #1: A large company called Sony recently had almost 100 million accounts stolen from PSN. We all assumed that because they're big, they wouldn't do stupid things like store our passwords or credit card numbers in plaintext.

If Facebook can't fetch data from its own infrastructure, I would be seriously worried, more so than I am right now.

#2: I understand them wanting to preserve trade secrets like facial recognition, but I still would like a general idea of /every single thing/ Facebook has on me. That's like a bank storing a bunch of information on me while refusing to disclose certain parts of my bank account because they're "trade secrets".

You're right, not everything Facebook does is bad. But they don't have the users' best interests at hand and when you need to worry about a site tracking you across the Internet simply because you have an account and they can, that's the time to worry. I'm surprised we haven't seen more lawsuits than the media is reporting.

<comment><USER4> #1: How is that at all relevant? Did Sony at some point claim they were unable to retrieve users' passwords without disproportionate effort?

<comment><USER5> Because Sony decided to add a mandatory arbitration clause to get around the lawsuits resulting from the disclosure of 100,000,000+ names, addresses and credit cards. [http://www.gamepolitics.com/2011/09/15/sony-adds- mandatory-a...](http://www.gamepolitics.com/2011/09/15/sony-adds-mandatory- arbitration-clause-psn-tos)

<comment><USER4> Can you rephrase that to include the words "disproportionate effort" so it gives the illusion of being relevant?

</comment></comment></comment></comment></comment><comment><USER6> We need facts. _What_ data is missing?

<comment><USER4> Exactly. Obvious example would be whatever data facebook uses to determine what's interesting and to put in your newsfeed. If it's just profile views, that's your data, but if I were building a site running at facebook scale, I'd be performing the final calculation using some intermediate data massaged by some totally top zecret algorithms.

<comment><USER7> I agree. It doesn't seem so outrageous to me that, after sending a CD worth of data, they drew a line.

At a certain level of detail, what they report back is going to start revealing internal secrets and IP, such as data models or algorithms. And given the volume of data that they _did_ , provide, I find it plausible that they've drawn the line in an appropriate place.

The headline is sensationalist scaremongering. A careful read shows that it's not the data itself that's IP, but that the form in which it's presented reveals Facebook's IP.

<comment><USER8> I agree. The headline and article seems more geared to making people draw conclusions than pointing out the reality of the situation.

</comment></comment></comment></comment><comment><USER9> Whether Facebook can get away with this depends on (i) what the data is and (ii) applicable European legal precedent, if any..

There may not be any legal precedent with regards to this type of situation since laws (in the US and abroad) are notoriously slow to adapt to new technologies, so this case may be the first test.

From a moral standpoint, it clearly seems wrong for Facebook to claim that its users' personal information is its intellectual property. Users can protest Facebook's stance through account closings, etc. But its not likely that enough users will care to force Facebook to change.

<comment><USER10> The EU (and the UK) are actually good way ahead of the US in this area, to the point that control over your personal data is written into the EU charter of fundamental rights as article 8:

 _1\. Everyone has the right to the protection of personal data concerning him or her. 2\. Such data must be processed fairly for specified purposes and on the basis of the consent of the person concerned or some other legitimate basis laid down by law. Everyone has the right of access to data which has been collected concerning him or her, and the right to have it rectified. 3\. Compliance with these rules shall be subject to control by an independent authority._

<http://www.europarl.europa.eu/charter/pdf/text_en.pdf>

</comment></comment><comment><USER11> Could it be that it is not the information per se that is IP, but the actual type or structure of the information?

</comment><comment><USER12> The title is misleading. This isn't what Facebook is claiming at all. This is terribly biased reporting.

</comment><comment><USER13> maybe releasing some data will allow for reverse engineering of sorts, if telling you that will reveal something about how they collect, or store or analyze the data...</comment>


Harvard calls for more than 30 retractions of cardiac stem cell research - <AUTHOR> https://www.statnews.com/2018/10/14/harvard-brigham-retractions-stem-cell/ <comment><USER2> Nice! MIT and a lot of the other elites would cover up.

I'll be interested to see if the professor keeps their job. I suspect so. A little fraud is rarely met with more than a wrist slap at the elite schools.

<comment><USER3> I don't have an informed opinion here (on how other elite universities would handle such an event). Do you have a citation? I did find an MIT retraction and not a cover up in the recent past though. See [1].

[1] [https://retractionwatch.com/2013/02/15/mit-lab-retracts- cell...](https://retractionwatch.com/2013/02/15/mit-lab-retracts-cell-synapse- tagging-paper-for-falsification-or-fabrication/)

<comment><USER2> Author claims a frame up. Now that is something I've seen at MIT. The Institute has unique means to crash and burn people's reputations so most people fold.

</comment></comment></comment><comment><USER4> Can we expect an incredibly long and petty diatribe from the accused author about how it was really all a meta-study to expose the 'grievance' cell research journals?</comment>


US Economic Liberty Has Been Sinking for Sixteen Years - <AUTHOR> https://mercury.postlight.com/amp?url=https://fee.org/articles/us-economic-liberty-has-been-sinking-for-sixteen-years/ <comment><USER2> Here's what "economic liberty" apparently means:

        size of government: expenditures, taxes, and enterprises
        legal structure and security of property rights
        access to sound money
        freedom to trade internationally; and
        regulation of credit, labor, and business

And, reading further, buying into this means you agree that a large "size of government" is inherently bad, that "inflation is a a monetary phenomenon," and that all regulations reduce freedom.

This is of course a libertarian point of view. Personally, I have found that Obamacare subsidies have given me the freedom to start a business without putting my family at risk, that inflation can be rooted in technological supply-side or demand-side shocks, and that regulations like nutritional information requirements make me more free by giving me more information.

With this understanding, the USA is more "economically free" than at any point in my lifetime.

<comment><USER3> The colloquial "freedom" you refer to is subjective and can be used to mean anything. Robbing a bank would give me the freedom to start a business without putting my family at risk. Going to jail would make me more free by not having to worry about food. Microsoft Windows gives me more freedom to get my work done because Linux has poor support for Word documents.

Freedom or liberty has to be defined negatively (e.g. absence of constraints) and precisely to have any objective meaning at all.

<comment><USER4> "Economic freedom" per the Kochs and their network of libertarian think tanks means your freedom as an industrialist to bring government soldiers in to help you forcibly suppress worker strikes. It means your freedom to dump whatever you want into the local river, without pesky interference from the EPA. It means your freedom to create propaganda venues masquerading as news with no accountability. It means the freedom to force all dispute resolution out of a publicly accountable court system into private arbitration. It means your freedom to funnel money secretly to university-affiliated "scientists" to publish bogus studies casting doubt on climate change or the harmful effects of particular products. It means the freedom to secretly donate unlimited amounts of money to political campaigns, and make sure the law supports your hiring politicians and government officials at high salaries after they leave public office. Etc.

The "robber barons" are their heroes and their dream is a return to the Gilded Age.

Labeling this "freedom" is a pretty cute bit of rhetorical gymnastics.

<comment><USER5> Such nonsense.

You may want to study property rights (protection from pollution) and freedom of speech (publishing studies).

I don't know about the Koch bros, but libertarians are the most anti-corporate people you can find, precisely because government and corporations collude to destroy individual rights and freedom.

You may want to stop reading your lefty media if you are to retain any intellectual capacity.

<comment><USER6> The Koch brothers strategically encourage libertarianism to help them repeal only the regulations they want repealed.

They'll push for repealing environmental protection laws, but not for the tort laws that reduce their liability for polluting. They'll push for repealing regulations that are advantageous for unions, but not "Right to Work" laws that prevent unions and businesses from forming contracts requiring all laborers to be part of the union.

</comment></comment></comment></comment></comment><comment><USER7> In many ways I found Scandinavian countries more economically free than America when I lived there. A strong social safety net is not necessarily incompatible with an economically free country.

<comment><USER8> I'd argue the only way you get maximal economic liberty is with a strong safety net.

The most significant "lawful" forces that hurt economic liberty are regulations, price fixing, and certification. They vary in intensity from having to put ingredients on the bottle to outright banning incandescent lightbulbs, from corn subsidies to fixed rates in medicare, and from getting a drivers license to getting an MD.

But they are all barriers to economic participation and malleability. But they exist for reasons - to reduce exploitation in the system.

Those social safety nets, that in theory could be taking an economically uniform portion of productivity and thus have their minimal impact, also reduce the ability for people to _be_ exploited. Loan sharks and get thin quick schemes are modern, legal forms of exploitation, but historically bad food products, dangerous housing and machinery, and outright extortion were all exploitation schemes the regulation machine reduces.

But if you have a strong enough safety net to keep people out of the desperation trap of _needing_ money or resources to sustain their livelihood you can also eliminate swathes of the regulation that restricts markets without negatively harming those at most risk for being taken advantage of, because the state institution provides a floor on what the worst possible outcomes can be.

It is very similar to how easy credit creates business opportunity. Without credit, you cannot have a foundation to start out on if you have nothing in the first place. In the same way, either Scandanavian style socialism or the UBI proposals floating around can provide the foundation to enable more general economic freedom above it.

It is impossible to feel free when you are restricted to the bottom of Maslow's heirarchy. Maximal freedom comes from the top, where you have access to the full breadth of your potential. But any time you slip down to the bottom rungs again you are forced to contend with those, because survival trumps self-actualization. If you want to maximize for personal liberty of all forms, including economic, you need to make sure nobody is getting trapped down there.

<comment><USER5> Sigh...

This is what happens when you start with faulty definitions.

Orwellian at best.

<comment><USER9> That's not a civil way to address another commenter, even if that commenter is completely wrong. If you see an error, it would be better to explain what it is, not call names. Interjections like "Sigh..." are an internet-forum form of rolling one's eyes, which isn't nice.

We all know from experience how much harder and more time-consuming it is to correct errors than make them in the first place—that's a big problem with internet discourse in general—but posting uncivil and/or unsubstantive replies isn't a solution.

Edit: unfortunately looks like you've been doing this repeatedly. This one is worse: [https://news.ycombinator.com/item?id=12519373](https://news.ycombinator.com/item?id=12519373). Please stop posting like that.

</comment></comment></comment></comment><comment><USER10> Consider the source: [http://www.sourcewatch.org/index.php/Fraser_Institute](http://www.sourcewatch.org/index.php/Fraser_Institute)

<comment><USER11> What should we be considering here?

<comment><USER12> If a study forms a conclusion you don't agree with, then you look at the source and automatically assume it's biased.

If it's something you agree with, then no need to check and see who did the work. It stands on its own.

<comment><USER13> How do you know he doesn't consider the source of reports he agrees with also?

</comment></comment></comment></comment><comment><USER14> One remarkable thing that most Americans don't seem to know; the US is one of two countries (the other being Eritrea) that takes income tax on income earned _while living outside the US_. While there are some tax credits that lessen this burden, the only way to free oneself of US income tax is to renounce citizenship. Renouncing citizenship requires a fee of over $2000 and several years of extensive tax records at the IRS's request.

<comment><USER15> You can exclude the first ~$100k of your income when working abroad. [https://www.irs.gov/individuals/international- taxpayers/fore...](https://www.irs.gov/individuals/international- taxpayers/foreign-earned-income-exclusion)

<comment><USER16> You still have the filing burden, though.

More annoying than that is that it's extremely difficult to open a bank account overseas because of FATCA. It's less costly to deny Americans service than to comply with the US' reporting requirements.

<comment><USER17> And the irony is, while foreign banks will figure out how to deal with an American who wants millions handled, my middle-class retirement account is not worth the hassle. I'm just thankful to still have a current (checking) account so I can receive my pay.

</comment></comment></comment></comment><comment><USER18> Before panicking, perhaps ask what's the criteria for the these ratings.

</comment><comment><USER19> > The full data set, including all of the data published in this report as > well as data omitted due to limited space, can be downloaded for free at > [http://www.freetheworld.com](http://www.freetheworld.com). The data file > available there contains the most up-to-date and accurate data for the > Economic Freedom of the World index.

 _Actually_ that site sends me to another site [-] which asks for an email (over plain http). That's as far as I'm willing to take it, but I'm curious to know if anyone is able/willing to pull the dataset.

\- [http://efwdata.com/](http://efwdata.com/)

</comment><comment><USER20> What does this even mean? When I think of 'Liberty' I think of freedom of movement and action. But, over the last 16 years, I have not noticed any changes in how I can move or spend my money. And, I have a lot more than I used to have.

Or, is this only relevant to the very rich?

Or, is it similar to how Fox News characters talk about 'freedom'? (that is, much different than what I think of freedom).

</comment><comment><USER21> Do these kind of rankings even say anything meaningful relevant to this world. I notice my own country Norway being far down, below countries like Romania, Jordan Qatar etc. Countries I know have far less effective governments and private property rights. It is not unknown that people the swindled away from their property in Romania due to the rife government corruption. On paper economic freedom is rather pointless if you got a poorly managed government and buried in corruption and incompetence. All the money Norway has sent to Romania to deal with the roma people has disappeared in a big black hole. How long does it take to start a business in these countries? It takes twice as long to do it in Romania and United Arab Emirates than in Norway.

I suspect these sorts of rankings is just made to further a libertarian agenda.

</comment><comment><USER22> The UAE at #9? It's a modern-day slave state, that entices workers from the subcontinent, takes their passports, and then forces them to work without pay. Not sure how that is 'economic liberty'.

<comment><USER21> Yeah, I noticed how my home country Norway is way below such an authoritarian regime. Just shows how ridiculous the whole notion of economic freedom is. I guess if freedom is determined in terms of freedom to economically exploit, then the slave owning southern states of old would have been at the very top of this index.

After all putting in restrictions, like you can't own people, is restricting economic "freedom" in some way :-D

It is a they say, economists know the price of everything but the value of nothing.

</comment></comment><comment><USER23> I always like ratings like this that put Singapore near the top of the list. It feels like the raters have never been there. It's a very controlling society (not authoritarian at all, but very controlling).

Personally I wouldn't want to live there any more but I think the government generally has the support of a large majority of the population and it's definitely raised the standard of living dramatically and sustainably.

It's easy to look at its free port tax regime and say "liberal!" But it's economically very illiberal.

</comment><comment><USER24> What does economic freedom even mean?

<comment><USER25> too hard to google? Here you go:

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

</comment></comment><comment><USER26> its hard to take seriously any indicator that's lead by island nations and city states.

<comment><USER14> Why? Those are often quite free.

<comment><USER15> Small city-states can use strategies that don't scale. Being a tax haven essentially leeches businesses from neighboring countries, but if everyone was a tax haven, then no-one would be. Economies based on tourism or oil also are not duplicatable.

<comment><USER12> Offering a more friendly business climate is leeching?

So if I open a store and sell you a computer for less than the next store over, am I leeching from my neighbors?

<comment><USER15> If those countries were so business friendly, why aren't companies started there? Where is the Silicon Valley of Ireland or Singapore? Those businesses were built and grew because of the quality of infrastructure and supports provided by taxes.

A better comparison to your computer analogy would be a company that sells knock-offs and counterfeit products. Trying to just reap the rewards without doing the hard work to get there.

</comment></comment></comment></comment></comment><comment><USER5> The word "freedom" refers to freedom _from_ coercion. This is why a big government, that takes your income, inherently reduces economic freedom.

Consider the opposite.

"Now with free education and free golf lessons I have so much more freedom".

This is essentially nonsensical. This concept of "freedom" can be taken to mean anything you like, and deliberately hides the other side of the transaction. Namely, the tutors who are coerced to teach you math and golf. Or, if they are paid, the people who are taxed to pay for your "freedom" while receiving no benefit whatsoever.

The same goes for social safety nets and the rest. It is telling that these basic moral concepts are not spread in our society today. This year US may well get Trumped. Next time it will be Berned (literally).

<comment><USER27> Free education means free as in price, not as in freedom. It is also understood by almost anyone who suggest it to not be free to society at large, but free to the person receiving it and paid for by society at large, same for health. At the level of a society, it makes sense because you want to live in a more educated capable society, which increases your own opportunities and standard of living regardless of what you do, given that society is interconnected. At the most individualistic level, you can consider the benefits to yourself of receiving free education when you are young, then paying for it in the form of taxes over the future and realize that public institutions tend to work better for this case than for profit loans in most cases.

Regarding the whole freedom from coercion argument. My question would be: isn't private property itself essentially enforced by government coercion? How is the freedom to not pay taxes any more sacred than the freedom to not being stopped by police if I steal from someone else?

Taxation is constitutive of the concept of a modern state. Now, we can discuss the pro's and con's of specific programs, the amount of taxation needed to fund them, how progressive such taxation needs to be and whether the benefits are worth the costs. I can say that I think socialized education is definitely worth it, and you can tell me that you don't believe it is, and tax policy results from democratic compromise among many such points of view. But the whole "taxation is morally wrong because it implies state coercion" argument is absurd, private property implies state coercion too and I have seen few libertarians suggest it should go away (in that sense, I believe full-on Anarchists have a more self-consistent view, even if I still don't agree with it).

<comment><USER28> > isn't private property itself essentially enforced by government coercion?

Yes. Absolutely. This point (which was first made so clear to me by Matt Bruenig) needs to be repeated over and over, loudly, over the delusions of the libertarian crowd (whose ideology might more accurately be named "propertarian"...).</comment></comment></comment>


Google pulls India's Paytm app from Play Store for repeat policy violations - <AUTHOR> https://techcrunch.com/2020/09/18/google-pulls-indias-paytm-app-from-play-store-for-repeat-policy-violations <comment><USER2> The timing of this is what seems fishy to me. As the article says, they banned a competing payments app just before one of its features would've benefited from the Indian Premier League (popular cricket competition in India).

I'm all for setting high bars (or even preventing) anything gambling-related, but this could've been done a lot earlier and with sufficient public warning. Regular people, especially those who use Paytm for day-to-day stuff and aren't tech-savvy enough to switch to something else quickly are going to be hurt from this. This reeks of high-handedness at best and active sabotaging of competition at worst.

<comment><USER3> It is funny Google is banning Paytm claiming "Gambling", when their competing app Google Pay literally gives away a scratch card (with variable, including zero payoffs - a literal scratch card) with every transaction in their app.</comment></comment>


This smart salt shaker has voice controls but can't grind salt - <AUTHOR> https://www.theverge.com/circuitbreaker/2017/8/3/16088526/smalt-smart-salt-shaker-app-alexa-smartphone <comment><USER2> This is the sort of thing that Silicon Valley (the TV show or the place) produces because they tend to be so out of touch with reality of 90% of the world's population.

It doesn't even grind the salt FFS.</comment>


Show HN: Directory Tags for Lazy Programmers - <AUTHOR> https://github.com/joowani/dtags <comment><USER2> They should implement these commands in both Linux and Windows; they should be there as standard capability.</comment>