HNHacker News
TopNewBestAskShowJobs

echohack

127 karma · joined May 3, 2013

submissionscomments
echohack··on Python Practice Book
...and I'm surprised there's a whole section on using recursion in Python, considering Python guards against recursion depth. (tail recursion is especially applicable here). The author seems to have a solid understanding of Python, so I'm a little confused.

In general, if you use recursion in python, you're gonna have a bad time. Better to use an iterator (which is usually more memory efficient anyway because you're not slurping up the whole thing...).

Of course, you can always hack it and sys.setrecursionlimit, but WHY WOULD YOU DO THIS. https://docs.python.org/2/library/sys.html#sys.setrecursionl...

echohack··on The iPod’s Dark UI Pattern
Here's an experiment: Get a random set of pie charts without labels on them. Get a large group of people. Now get those people to go through the pie charts and add what % of the pie chart they think each slice represents.

Now, get a set of bar charts and do the same thing.

In both experiments time the participants. You'll need two groups, a group that knows they're being timed and one that doesn't know.

What group was more accurate? What group was able to complete the exercise faster?

Here's a side by side of the same information in these two different forms: http://speakingppt.com/wp-content/uploads/2012/10/stephen-fe...

The reason that using pie charts is, in and of itself, a dark pattern is because the results of this experiment support bar charts as a more concise, more easily understood way of communicating information. In other words, the only real reason you'd use a pie chart is to obfuscate information. Or, well... to lie. If you're just using it because you don't know better, then you're negligent and misleading people without even knowing it.

echohack··on Why Android SSL was downgraded from AES256-SHA to RC4-MD5 in late 2010
As a computer scientist, it's a joy to discover when you're wrong about things. So I'm enjoying being on the wrong side of the discussion for once, because I'm learning lots.

Thank you for your replies tptacek, I've learned much from this discussion. If I could edit my top comment, I would.

echohack··on The iPod’s Dark UI Pattern
I want to call particular attention to the author's point about Apple's pie chart.

Not only is Apple's pie chart used for telling lies here, I would argue that all pie charts are used for telling lies.

The only thing a pie chart gives you is it tells you that everything in a category adds up to 100%. It doesn't tell you what 100% is, or why 100% is good, or bad, or let you compare across charts, or set goals.

You can accomplish this same thing with a bullet graph, developed by Stephen Few. You make a bar chart, then put a line through it to represent your goal (or 100%). Then, it's simple to compare multiple categories and model very complex information in a simple to understand way.

So remember this: The next time you see a pie chart, know that someone is lying or trying to appear more impressive than they actually are.

The worst part about this particular way of graphing information is that it's so ingrained in our culture (it's taught in Kindergarden), that people don't even understand that they're lying, even when they are.

echohack··on Why Android SSL was downgraded from AES256-SHA to RC4-MD5 in late 2010
Apologies. Perhaps I'm being a master of the obvious here, so I'll restate more simply:

When people try to implement security without actually thinking about what the system is doing, it creates weaknesses in the security, not due to algorithmic weaknesses, but because the organization and the engineering discipline for the future is compromised. Thus, while "just use bcrypt" or "just use HMAC-MD5" might work today, the organization doesn't have the mind to update it when it finally does break.

This is exactly what happened (and is still happening) today after MD5 was broken.

echohack··on Why Android SSL was downgraded from AES256-SHA to RC4-MD5 in late 2010
On the contrary, "It has not been broken" is exactly what I would expect a programmer to say.

If the security of an algorithm is weakened, then it's important to evaluate the use of the algorithm and make efforts to implement stronger security now. You should feel fortunate that you even get the time to move to something better before all hell breaks loose.

This is the same kind of thinking I hear daily when people say things like, "Just use bcrypt" without thinking about the consequences.

The tendency for programmers to think of security in a nihilistic way continues to boggle my mind. I don't think the article suffers from an alarmist tone. I think it's correct to look at something shitty and call it shit.

echohack··on Aren't you glad you didn't cite this webpage?
Put the documents on bittorrent and let the world mirror it for you.
echohack··on Twitch rides video game streaming wave to global success
Experienced Twitch streamer here. I've been streaming for almost 2 years now to Twitch.

On Profitability: In the gaming space, it's all about the sponsorships. Yes, Twitch ads are going to be nice cash for them, but I would ultimately expect their business to ride on helping promote company's gaming events.

Stream partner payouts are trash, pure and simple. Pull in 100,000 uniques over a month? You're not even eligible for partner status. On YouTube, you can get ~$300.00 for the same viewership. Somehow I don't think that partnerships are costing them much money at all.

Own3D.tv was only a "competitor" in the sense that they promised to pay out more to stream partners. They were full of lies. Several times Own3D.tv had big pushes to gobble up popular streamers from Twitch. I was contacted several times. Overall the Own3D.tv site was trash compared to Twitch's features, and the second you ask them the hard questions, "How often do you pay / When do I see my first paycheck", they couldn't answer you.

TLDR; Twitch will be profitable by keeping their costs down, building partnerships, and building brand recognition. Advertising isn't the end game for Twitch.

echohack··on Write less
The reality is that you need BOTH.

This is how modern news articles are written: http://www.theverge.com/2013/9/24/4698382/second-lifes-stran...

Some people will skim and get the information. Some people will read and get entertainment. Some people want the details, because they need a deeper understanding. Some people want a high level overview, because they already understand things and just want the information.

See also: Richard Feynman's books on physics.

echohack··on Show HN: UI improvements for Jenkins
This plugin is actually really nice.

Thanks, this will help. :)

echohack··on Show HN: UI improvements for Jenkins
This looks really awesome. We use Jenkins heavily for deploying applications from build all the way through production.

I'll look into this and see what I can get out of it.

echohack··on Show HN: UI improvements for Jenkins
You can track changes in Jenkins configurations?
echohack··on How a Car Engine Works
This is a great illustration that demonstrates why gasoline engines NEED to die and be replaced by better, more efficient engines.
echohack··on School is a prison and damaging our kids
The huge problem with this suggestion is that society is built around the idea that you have a "High School Diploma" and a "College Diploma", so just up and quitting school isn't a good solution.

I think the best solution for someone trapped in the school system is to basically do a few things:

Middle School 1. Survive.

2. Get ahead. You're not old enough (in society's eyes) to out maneuver the adults yet. Prepare yourself.

3. Develop a love and interest in another foreign culture.

High School 1. Take every "legal" chance to get out of normal classes. Do joint-enrollment, AP, and technical classes.

2. If you must take "normal" classes, sleep in them, or do tomorrow's homework (the rest of the year's homework if you can) in class. Test well. Then study more interesting stuff with the extra time you have at night. Remember: Homework is largely graded on completion and is typically the largest part of your grade, so do the easy thing.

3. Apply for scholarships like hell. Every dollar you can get now is worth 1,000 times itself in the future.

4. Learn a language and culture of a (very) foreign country. Don't take Spanish or French. Do German, Chinese, Russian, Japanese, Korean, etc. Learning a language doesn't just allow you to interact with others from that country, it gives you perspective on your own situation. This is vital to your education.

University 1. Buy the best education you can for the value. An online degree is cheap, but not valuable. An Ivy League degree is expensive, but the value may not add up to the expense. Try Georgia Tech, not MIT. Try University of Washington, not Harvard. Use your own judgement here.

2. Don't go into debt if you can.

3. Do an exchange program. Spend a year in a country you care about. See also: High School #4. Don't stay in the "international housing" if you can. Try to stay in the dorms with other normal students.

4. While in University, do paid work in the field you are going into. The more recognizable the name of the company you work for, the better. If you're doing work at the University, don't do retail, food staff, etc. Do technical support, tutoring, or administrative. Not only are these jobs easier and pay more, but they look way better on a future resume.

5. Take an advanced finance class and an advanced programming class, even if you have to "sit in" on the class (larger universities don't take roll and you can sneak in these classes sometimes). These are the two human systems that make our world work today. If you don't get this, you're going to get swindled as a professional.

6. Join clubs. If they don't exist, make your own club. Get on the club's officer list. Put it on your resume if it looks good. You'll make lifelong friends from these people. You might even start your own business with these people.

7. Don't really bother with Frats / Sororities / Bars. The real fun and parties are with deep friendships you make and that allow you build a better lifestyle. See #6.

8. Go with your gut and fly.

echohack··on Spy Kids
You mean the TSA?
echohack··on Humor: Interview with an Ex-Microsoftie Who Used to Name OS Folders
Ah acryonyms, the death of us all.
echohack··on Global Government Requests Report
RE #3: They could also already have the data and simply be querying Facebook to establish a "backwards chain of evidence".

Hilariously, I'm reading Cryptonomicon right now and that's exactly what Sergent Shafto and crew do by pretending they're finding German submarine secrets.

echohack··on Show HN: Easy to use Wikipedia API for Python
Nice. I can see lots of room for improvement. Great start, especially using Requests will streamline things.

I'll work in some changes tonight. Let's start with PEP8, shall we? :)

echohack··on My Final Post
What all of this fails to mention is that Jannard was essentially forced to sell Oakley to Luxottica (https://en.wikipedia.org/wiki/Luxottica). Luxottica has a gigantic monopoly on the eyewear industry and one day refused to sell Oakley brands in their stores unless they sold out. The high price tag with the sale is to keep Jannard quiet.

I think Jannard has developed a kind of healthy-paranoia here, because the work he's doing is flying in the face of titans. His persona makes him want to stand up against the big boys and say, "Told you so!"

In my opinion, he's right to be super paranoid and fall into the background. He doesn't want RED to become another Oakley.

echohack··on Why Some Startups Say the Cloud Is a Waste of Money
This this this. And what is the turnaround time on getting new servers provisioned for development? Are they using Docker, or are they stuck in Windows land where there's no open source private PaaS solution that makes any sense? How many of those servers have virtual machines provisioned and then those virtual machines sit idle? How long until the cruft virtual machines are so populous that they take up an ever increasing amount of your internal infrastucture and it's a nightmare to manage?
echohack··on A map of the languages of the USA (2011)
This data might be interesting for folks who want to do language tutoring for foreigners.
echohack··on A map of the languages of the USA (2011)
French Creole in Tennesee? What's up with that?
echohack··on Is LinkedIn Cheating Employers and Job Seekers Alike?
https://github.com/holman/spark

You'll like this then.

echohack··on Single Tweet Sends Apple Shares Soaring
Sounds like a good time to pull out A Random Walk Down Wall Street again, for the uninitiated: http://www.amazon.com/Random-Walk-Down-Wall-Street/dp/039333...

I wonder how well tulip bulbs are doing these days.

echohack··on Twitter’s New Two-Factor Solution Kicks SMS to the Curb
Rule #1 of security: There is no such thing as perfect security.

Of course there are still problems with two factor authentication, but it's better than the alternative.

If you lose your phone with two factor auth the provider should give you several temporary keys that you can use, or a way to contact their support line and confirm your identity.

echohack··on Sum of 1 to 1000000000 in different programming languages
I think demonstrating a set of features like this between a large number of langauges: say 20 to 50 would be a grand demonstration.
echohack··on Summon the NSA
That's funny. I clicked it too. It just does a goog--^H^H^H^H NO CARRIER
echohack··on Skeuocard
Tester #3420 here, reporting in:

Your message for disabled Javascript is really, really weird.

> Either you have Javascript disabled, or you're using an unsupported browser, amigo! That's why you're seeing this old-school credit card input form instead of a fancy new Skeuocard. On the other hand, at least you know it gracefully degrades... > Never tell me the odds! Enable it anyway.

Write like this instead:

> You can still use this form if you have Javascript disabled or an unsupported browser. For a better experience, enable Javascript or upgrade your browser.

- You can have invalid inputs in the month field. "20" or "00" are not months.

- You can put invalid inputs in the year field.

- Tab order is wrong. Go from top left to bottom right.

echohack··on In Lieu of Money, Toyota Donates Efficiency to New York Charity
I don't think anyone here will disagree with you that the large problem of hunger is a problem and should be solved.

But how can you solve it? That's a huge problem!

In engineering, and particularly with software, we seek to answer the small questions until we build a robust system.

echohack··on Why I Left Medium
Then they should say that's what it's for. I think that would be simple enough.
Page 1 of 2Next →