ARM-Based Servers Expected by 2011 - <AUTHOR> http://www.tomshardware.com/news/Server-CPU-Xeon-Opteron-ARM,10302.html#xtor=RSS-181

<comment><USER2> I am a huge ARM fan (am currently building a handheld based on the nvidia tegra developer devkit). However I feel sceptical that ARM will go anywhere on servers. Just like VIA didnt go anywhere when it was the only mainstream SOC around, just like ARM didnt go anywhere in netbooks and just like AMD has yes to penetrate significant market share inspite having a huge performance lead for ~2 years in the pentium 4 days. Intel is the big gorilla in the room and are very adept at coming up with solutions that get 80% of the way there (like atom) whenever a new market niche opens up. Then they use their marketing muscle to make sure that the new niche doesnt get exploited by an upcoming competitor. So ARM might make the best performance/watt chips out there, but if they dont have the muscle to get design wins and ship in actual servers then sadly they will continue to remain a fringe player in the server market.

<comment><USER3> I think you start to see ARM replacing intel. in some sense IPAD is replacing some netbooks.

ARM's biggest problem was windows on the netbook. usally when disruption happens , it replaces a whole value chain with another. that's what's the IPAD is doing, and chrome os might do.

So you would have the apple's and google's marketing machines (and other big companies around the ARM architecture), fighting against intel's. that's a more fair fight than intel VS amd.

</comment></comment><comment><USER4> Now we all pray Apple doesn't buy ARM

<comment><USER5> Imagine servers refusing to serve flash content.

<comment><USER6> Do you honestly see this as a realistic policy?

<comment><USER7> Given the last couple of weeks?

Unfortunately, yes, it might happen. Or it may be declared to be against the terms of service or something stupid like that.

</comment></comment></comment></comment><comment><USER8> I get this for utility servers, but can ARM chips address more than 4GB of memory? I currently use a couple of ITX Via boards for some items (e.g. gateway, name server), but I am wondering how far I could go with ARM.

<comment><USER9> According to wikipedia the ARM11 chips have "64 bit data paths" and toshiba seems to have a chip they claim has

# Synthesizable high-performance 64 bit RISC architecture (ARMv6)

# 64 bit ARM® Instruction Set

<http://www.toshiba-components.com/ASIC/ARM1176JZF-S.htm>

though thats pretty much the only mention a quick search coughs up, so I wouldn't call it definitive, for one thing I don't know if the 1176 is in production of not.

edit: the ARM website doesn't seem to mention 64 bit anywhere either so toshiba may be engaging in a rather creative definition of 64bit.

<comment><USER10> This is probably confusing the (64-bit data capable) NEON SIMD unit with the core ARM ISA.

The 1176 has been in production for several years now, but is a 32-bit part.

</comment></comment></comment><comment><USER11> _Can ARM stand up against rivals Intel and AMD in the server market?_

Wrong question. If they're pushing into servers, I'd expect ARM to worry more about two things:

\- Sun/Oracle Sparc doing DB/web server loads at low power (with IBM Power playing the high-VM-capacity game).

\- It's not so much the core CPU/ISA, which ends up being a small portion of the chips. It's the expertise in multi-core buses, caches, and all related paraphernalia. Not exactly where ARM have been playing ...

Might be that ARM will be happy to let Google/Agnilux work on that, and cooperate on CPU tweaks, keeping the license revenue.

<comment><USER4> I think they are considering doing to x86 servers what x86 servers did to RISC servers. They grab the low-end, get volume and become more competitive. x86 competes by going further in the same direction it is now, which is by becoming faster. Like RISC, they will ultimately be reduced to a niche if they go this route.

And that would make me happy. I never liked the 8008 and its offspring. The ARM is much more elegant.

<comment><USER3> I think things have changed since clayton christensen wrote his book on disruptive innovation. Intel is very much aware of disruptive innovation, and is really trying to compete on the low end, see the celeron processor ,and the efforts intel is putting into lower cost, lower power atom processors .

<comment><USER4> It takes a lot of balls to put a low-margin product to compete with your cash cows.

I doubt many Intel execs are willing to sacrifice their short-term bonuses for the survival of the company after they left or retired.

<comment><USER3> Clayton christensen, in his book , recommended to assign disruptive innovation projects, to seperate business units.I remember that the celeron development was one of the highest achievement of the israel intel branch. so maybe they implmented christensen's advice.

<comment><USER4> IIRC, it was the Pentium M that came from the Israel branch. The first Celerons (again, IIRC) were common Pentium IIs without cache in the processor cartridge.

<comment><USER3> "What Intel did was set up a separate business unit in Israel down at the low end. They have a product called the Celeron chip which is much cheaper and came in at the low end of the market. " <http://www.cse.iitb.ac.in/~cs671/interview.doc>

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> Good news but I rather have an ARM-based desktop that can compete with x86/64 machines.</comment>


Undocumented Twitter APIs [pdf] - <AUTHOR> http://seriot.ch/resources/abusing_twitter_api/twitter_api.pdf

<comment><USER2> A more relevant link would probably be this one: [http://seriot.ch/abusing_twitter_api.php#4](http://seriot.ch/abusing_twitter_api.php#4)

</comment><comment><USER3> Was hoping for "undocumented"(ie. unreleased, unpublished) Twitter API endpoints.

Found regular API endpoints minus any useful documentation.

<comment><AUTHOR> This document documents official endpoints (green for POST, blue for GET).

It also documents "secret", unofficial, undocumented elsewhere and unsupported endpoints.

These "secret" endpoints were found by reverse-engineering Twitter.app for iOS.

</comment></comment><comment><USER4> Can anyone tell what the `/vit` endPoints are?

Are they endPoints reserved to whitelisted clients?

e.g. `/followers/list.json` vs `/followers/vit/list.json`

</comment><comment><USER5> I like the document style, anyone know if/how this was generated?

<comment><USER6> OmniGraffle: [http://seriot.ch/visualization.php](http://seriot.ch/visualization.php)</comment></comment>


Twitter: Introducing mobile app promotion - <AUTHOR> https://blog.twitter.com/2014/introducing-mobile-app-promotion

<comment><AUTHOR> It would be interesting to know what other ways to drive App downloads people are using. Obviously ASO is important, but what Ad services do you use and what is your experience with those?</comment>


Synthetic tooth enamel may lead to more resilient structures - <AUTHOR> http://ns.umich.edu/new/releases/24627-synthetic-tooth-enamel-may-lead-to-more-resilient-structures <comment><USER2> Impressive, but I wish this was applicable to actual teeth.

<comment><USER3> That's what I hoped this discovery was about too!

</comment></comment><comment><USER4> [http://www.nature.com/nature/journal/v543/n7643/full/nature2...](http://www.nature.com/nature/journal/v543/n7643/full/nature21410.html)

</comment><comment><USER5> I feel like they should mass product tiles with this rather than add 40 coats to more complex objects.

<comment><USER6> Mass production would probably have to be more like finding a method to synthesize artificial minerals similar to nephrite, chalcedony, or carbonado.

Perhaps slag wool, basalt fiber wool, ceramic fiber wool, or fiberglass wool, compressed into a felt, then impregnated with a noncrystalline material or polymer? It might not have the same feature size as dental enamel, but anything you make would also need to be economically viable.

Seems like you could replicate the effect cheaply at scale by layering fiberglass cloth, running vertical thread bundles through the layers, and binding the stack into a solid composite with polypropylene.</comment></comment>


Teleportation Is the Best Superpower, and We're Getting Closer - <AUTHOR> http://adequateman.deadspin.com/teleportation-is-the-best-superpower-and-we-re-getting-1767757527 <comment><USER2> Fun article to read in reference to holoportation. Author has clearly thought about the pros/cons of various other super-powers. I must confess that I've done the same. Teleportation IS the best superpower!</comment>


Is angel investment just for pre-VC companies? - <AUTHOR>

<comment><AUTHOR> While working on one business idea, I stumbled upon a second which may be even better. It's in a market that grew a lot in the last 10 years and has become a cash cow for the companies involved. We'd create a product over about 9 months, which might cost about $600,000 to build and launch. My back-of-the- envelope calculations show about $4 million possible annual revenue, even in year 1.

Obviously I need to test these numbers _a lot_ before they'd be credible to investors. (And figure out the rest of the strategy!) But in general, a lot of my business ideas fall into this category. My ideas usually have a relatively modest cost to build, become cash flow positive quickly, but aren't necessarily huge ideas that would have VC appeal.

Do typical "angel investors" _only_ invest in pre-VC companies? Are there angels that are receptive to smaller companies projecting relatively quick cash returns?

If not angels, what type of investors should I be looking for?</comment>


A Tesla in Every Garage? Not So Fast - <AUTHOR> http://spectrum.ieee.org/transportation/advanced-cars/a-tesla-in-every-garage-not-so-fast <comment><USER2> Article says: "Some Nissan Leaf owners, for instance, were dismayed to learn that driving their cars a lot caused the battery capacity to decline far more rapidly than they expected." and quotes a 2012 article about the 2011 model, without any indication of how this has changed with subsequent models. Disclaimer: I just purchased a 2014 Nissan Leaf.

<comment><USER3> I'm willing to bet it's heat related. Nothing destroys battery life quicker than heat.

</comment></comment><comment><USER4> "The only major automaker thus far to bet big on hybrids is Toyota."

Err....

"German luxury car giant Bayerische Motoren Werke AG or BMW Group (BAMXY, BAMXF, BMW.L) is looking to go all-electric over the next 10 years due to the upcoming stricter carbon emission laws. Virtually every BMW model would be converted to electric drivetrains, including range-extending engines and plug- in hybrids." \- [https://web.archive.org/web/20150807061311/http://www.nasdaq...](https://web.archive.org/web/20150807061311/http://www.nasdaq.com/article/bmw- all-models-electric-within-decade-20150629-00597)

<comment><USER5> That quote is out of context. From the article structure, the author is talking about the year 2004 where the only major automaker making hybrids was Toyota. It makes sense if you read the earlier section and the rest of the paragraph.

Normally the editor is supposed to fix confusing sections like this but that didn't happen here.

<comment><USER6> [https://en.wikipedia.org/wiki/Honda_Insight](https://en.wikipedia.org/wiki/Honda_Insight)

</comment></comment></comment><comment><USER7> This seems to be a contrarian hit-piece with little logic to hold its arguments together, just a series of stabs at Tesla.

</comment><comment><USER8> """It was as a direct response to this fiasco that Silicon Valley engineers Martin Eberhard and Marc Tarpenning founded Tesla Motors in 2003."""

What about Musk, Straubel and Wright? Wasn't this settled in court (Eberhard withdrew)?

<comment><USER9> no.. the article is right: [http://www.businessinsider.com/tesla-the-origin- story-2014-1...](http://www.businessinsider.com/tesla-the-origin- story-2014-10)

those two were best friends and worked on tesla for quite a while before Wright (their neighbor) joined the company as VP, and quit shortly after to start his own company WrightSpeed.

Musk came along about a year after to lead the series A. Straubel was actually working on his own startup called Volacom when Tesla was founded.. Musk brought him on board later the same year.</comment></comment>


Mathematical Methodology (1989) - <AUTHOR> https://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EWD1059.html?share=1

<comment><USER2> Does anyone know what book he is referring to? Or whether he wrote it at all?

<comment><AUTHOR> There are draft chapters of some parts of his book on his archive [http://www.cs.utexas.edu/~EWD/index10xx.html](http://www.cs.utexas.edu/~EWD/index10xx.html) but I don't think this book has actually been published.

Here they are in chronological order: [http://www.cs.utexas.edu/~EWD/ewd10xx/EWD1063.PDF](http://www.cs.utexas.edu/~EWD/ewd10xx/EWD1063.PDF) [http://www.cs.utexas.edu/~EWD/ewd10xx/EWD1067.PDF](http://www.cs.utexas.edu/~EWD/ewd10xx/EWD1067.PDF) [http://www.cs.utexas.edu/~EWD/ewd10xx/EWD1068.PDF](http://www.cs.utexas.edu/~EWD/ewd10xx/EWD1068.PDF) [http://www.cs.utexas.edu/~EWD/ewd10xx/EWD1070.PDF](http://www.cs.utexas.edu/~EWD/ewd10xx/EWD1070.PDF) [http://www.cs.utexas.edu/~EWD/ewd10xx/EWD1078.PDF](http://www.cs.utexas.edu/~EWD/ewd10xx/EWD1078.PDF) [http://www.cs.utexas.edu/~EWD/ewd10xx/EWD1090.PDF](http://www.cs.utexas.edu/~EWD/ewd10xx/EWD1090.PDF) [http://www.cs.utexas.edu/~EWD/ewd10xx/EWD1091.PDF](http://www.cs.utexas.edu/~EWD/ewd10xx/EWD1091.PDF) [http://www.cs.utexas.edu/~EWD/ewd10xx/EWD1094.PDF](http://www.cs.utexas.edu/~EWD/ewd10xx/EWD1094.PDF)

His website indicates he taught classes on this subject at UT Austin in 1997</comment></comment>


Learning Design: An Initial Curriculum - <AUTHOR> http://marcus-christie.blogspot.com/2013/03/learning-design-initial-curriculum.html

<comment><USER2> Color theory? Typography? Layout? Art history? Hello!!! Asking a coder for advice on how to be a designer is like asking a designer to tell you how to learn how to code. Look there are no shortcuts. Can you learn to be an average designer in about a year or two? Yes. Can you learn to be a designer in a week or two? No. And not for nothing, there's a wealth of inexpensive talent out there willing to work for little...

</comment><comment><AUTHOR> The OP here. I'm a programmer who wants to learn design. Any other resources I should consider?</comment>


Survey of Fraud Victims Show's Correlation between Retail Breaches - <AUTHOR> http://www.riskiq.com/resources/blog/what-happens-when-consumers-no-longer-trust-retailers-protect-their-data

<comment><AUTHOR> Brief summary of report on "Data Insecurity" \+ some additions on RiskIQ technology.</comment>


Charity Just Got More Daring - <AUTHOR> http://mashable.com/2010/07/28/mydunktank/

<comment><USER2> I think those guys mydunktank, like Getupandmove, are interesting because it is behavior programming (anbdy a better name?): if you X(give money to charity) I do Y(crazy dare). Action graphs vs chitchat/linksharing social graphs

</comment><comment><USER3> This idea is pretty cool. I think the fee is resonable but maybe the website should use some of its income to contribute back to the dares.

</comment><comment><USER4> What's the revenue source for mydunktank? It's not raking in a percentage of the money supposed to go to charity, is it?

<comment><USER5> From the FAQ, "Our transaction fee is $0.99 + 9% of each payment."

<comment><USER4> Wow, nine percent sounds like a lot of money to be creaming off a charitable donation. I might have some ethical issues with this.

edit: Especially since now I look at the site, it appears from the user's point of view that they could go through the entire donation process without ever knowing that mydunktank is taking nine percent. I had to click through to the "terms and conditions" and read term 1(b)(iii) to find any reference to the fees at all.

It even tells me "I understand that my money will be donated to (say) The Spina Bifida Resource Network even if this dare doesn't win.", when it should say "I understand that 91% of my money will be donated to The Spina Bifida Resource Network..."

<comment><AUTHOR> Hey - Our FAQ states our fees as well: <http://mydunktank.com/pages/faq#transactionfees>

That said, good feedback about making it clearer.

<comment><USER6> Any response to the comment that 9% seems awfully steep? That's worse than Coinstar.

<comment><USER7> I would assume this is a chicken and egg problem if they're bootstrapping the startup. On the one hand, they probably need the fee to be this high while the amount of users is small so that they can sustain themselves and grow the business. On the other hand, something seems fishy to the end user when they see that such a huge chunk of their donation isn't going to the target recipient.

Some things that might make users more comfortable: 1)the declaration of what type of corporation they are and/or 2) whether they plan to reduce their take of donations as they reach certain milestones.</comment></comment></comment></comment></comment></comment>


Google Phone is confirmed, employees already have them in hand - <AUTHOR> http://www.techcrunch.com/2009/12/12/google-phone-unlocked-confirmed/

<comment><USER2> I'm still guessing that this is just another developer device, like the Android Dev Phone 1 and Android Dev Phone 2: <http://en.wikipedia.org/wiki/Android_Dev_Phone>

Just like the current mystery device, both of those handsets:

\- are made by HTC,

\- are unlocked GSM handsets,

\- are sold directly to individuals by Google,

\- and have been given out to Google employees at all-hands meetings.

And Google was directly involved in the design of the HTC Dream (T-Mobile G1 / Android Dev Phone 1). For example, they pushed for the debut Android phone to have a five-row keyboard: <http://news.cnet.com/8301-30684_3-10387677-265.html>

So none of the concrete facts here (even the rumored ones) are unprecedented. I don't see how Google selling a yet another unlocked handset is a big deal. It certainly won't have a noticeable impact on the US market, competing with subsidized hardware sold by carriers. Just like the ADP1 (T-Mobile G1) and ADP2 (T-Mobile myTouch 3G), carriers will probably have locked version of the exact same phone but at subsidized prices. The ADP is nice for some techies, but for most mainstream US consumers it doesn't make sense to pay for an unlocked phone.

<comment><USER3> I think you're right. This seems to be what Google calls its "mobile lab":

[http://googlemobile.blogspot.com/2009/12/android-dogfood- die...](http://googlemobile.blogspot.com/2009/12/android-dogfood-diet-for- holidays.html)

</comment></comment><comment><USER4> The iPhone/gPhone/Android contest aside, this strikes me as a strange move on Google's part.

Suppose you are Motorola. You just developed the "Droid" and partnered with Verizon for a well funded marketing campaign. You dumped Windows Mobile in favor of Android, and tied yourself closely to Android OS by calling your phone the "Droid." The Droid is your flagship product.

So, as Motorola, how do you feel about Google developing an official "Google Phone"? How do you feel about the fact that they are doing this with your competitor, HTC? How do you feel about plastering Google logos all over your phone and it's software? How do you feel about the fact that the Droid runs Android 2.0, and the Google Phone will run Android 2.1?

Moreover, if you are LG, or Samsung, will this affect whether you want to partner with Google? If you are Nokia, will you start taking a closer look at Symbian again?

And finally, if you are an average consumer that doesn't read TechCrunch or HN, do you have the faintest idea of the difference between the Droid running Android with Google, the Droid Eris running Android with Google, and the Google Phone running Android?

<comment><USER5> My Droid just updated it's firmware to 2.1 a few days ago.

<comment><USER6> Don't you mean 2.0.1?

<comment><USER5> Yes.

</comment></comment></comment></comment><comment><USER7> I like the idea of using a second mike to eliminate background noise.

<comment><USER8> It's one of those head-smacking why-didn't-anyone-think-of-this-before kinda ideas.

<comment><USER2> It's a fairly common feature, for example there are several bluetooth headsets on the market with dual mics for noise reduction.

<comment><USER9> But zero actual phones, until this one.

</comment></comment></comment></comment><comment><USER10> Selling the phone unlocked will likely lead to a high upfront cost.

IF the carriers come up with a reasonable data only plan for it, we can save by not paying for less used voice plan.

<comment><USER11> _Selling the phone unlocked will likely lead to a high upfront cost._

Maybe not that bad. Apple can sell the iPod touch at a profit for $200, and the phone hardware can't add that much. It's a long shot, but if Google does this right they could break the stranglehold that the carriers have on the market. That's what I was hoping the iPhone would do until Apple decided it was more profitable to serve AT&T instead of its customers.

<comment><USER12> It may be the devil, or it may be the lord..

</comment></comment></comment><comment><USER13> I've been waiting for an Android phone without a physical keyboard. It needs a platform that's sleek and sexy to compete with the iPhone in the general consumer marketplace. People _say_ they want a physical keyboard, but then they go out and buy 20 million iPhones.

<comment><USER2> There are a few Android phones without keyboards already (e.g. the HTC Hero, HTC Magic, and Samsung Galaxy) but I agree none of them has the build quality or polish of the iPhone.

<comment><USER13> Haven't heard much about them. The only ones that have gotten press are the G1 and Droid, both of which are bricks.

I'll have to check those out. I'm writing some Android software currently, but my phone is an iPhone. I would love to switch (or not switch, if iPhone starts allowing background processes).

<comment><USER14> The Droid only _looks_ like a brick in photos. When you play with one, turns out that it's about as thin as an iPhone 3G.

Now, the physical keyboard on it is crap, and I wouldn't buy one. But if they made a Droid with only the soft keyboard, I'd camp out.

<comment><USER13> I've handled one. Hate it. Maybe it's just the sharp corners and the clunk of a physical keyboard snapping into place, but it feels larger and heavier than an iPhone, and certainly larger and heavier than it has to be. Not sexy at all.

If it _looks_ like a brick, then it's not going to turn any heads and nobody's going to buy it. The iPhone, despite all its limitations, has sold over 20 million units. Geeks get too caught up on functionality, and miss what really matters in the marketplace.

I just want an Android phone to have great commercial success, so I can program really cool apps. But no phone designer really gets what moves the market, except Apple.

<comment><USER9> _If it looks like a brick, then it's not going to turn any heads and nobody's going to buy it._

Blackberries are some of the ugliest phones in existence, but I see a lot more of those than I see iPhones. The HTC Magic / Hero / Dream or the Droid is infinitely more beautiful than any of the Blackberries.

(But, Blackberries are not popular because of looks or function; they are popular because many large corporations mandate them. Just like why Windows XP is so popular.)

 _I just want an Android phone to have great commercial success, so I can program really cool apps._

Nothing is stopping you from programming really cool apps right now. (If it's a money issue, don't worry -- the iPhone was a commercial success but nobody is making a lot of money from really cool apps.)

<comment><USER13> >Nothing is stopping you from programming really cool apps right now. (If it's a money issue, don't worry -- the iPhone was a commercial success but nobody is making a lot of money from really cool apps.)

I'm looking to do something with background processes + network effects (needs enough people using it to make it interesting). I've actually wanted to make apps like this for awhile, and then just realized that smart phones were the perfect vehicle to make it happen, provided a whole bunch of people have ones that enable background processes.

The iPhone would be ideal if it weren't sandboxed. So, I'll be making the alpha for the Android and hoping the platform takes off.

I guess I could make it for the Blackberries and etc, but does anybody buy apps for those?

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> Played with it last night. Still can't hold a candle to the iPhone and you'd think they would at least be able to match it since they have it right in front of them to copy.

<comment><USER16> Sorry but you're the CTO at open DNS and Google is a direct competitor to you now. I would rather hold out for information from a more unbiased source.

<comment><USER17> By that logic, a good chunk of software experts would be barred from commenting on Google since they're in everyone's market in some capacity.

</comment></comment></comment><comment><USER18> I made mistake of clicking on this...it so inefficient to find any information within their self-aggrandizing bleating. It's not even a half scoop. Bah. "Very trustworthy sources who have seen the phone say that it is the Google Phone we first wrote about last month (despite the uninformed saying we were dreaming). It will be branded Google and sold by Google as an unlocked phone, which could change everything. As we wrote in our original post:"

</comment><comment><USER14> I was going to buy an iPhone 3GS on AT&T this Christmas break (so I could get on a family plan with my siblings). If I'm reading this right, I can go ahead and get that iPhone and if the Nexus One is that great, I can buy it in January (as it will only be sold unlocked and unsubsidized) and just throw my SIM card in there. My best guess is that AT&T won't have a problem with that. Am I missing something here?

<comment><USER19> that will get you edge but not 3G data speeds due to radio frequency incompatibility.

<comment><USER20> We don't know what frequencies this is going to support, do we? For all we know, it could be an AT&T phone, or they could be be making two versions, or a single one that supports all frequencies.

<comment><USER19> [http://androidcommunity.com/forums/f7/unlockers-t- mobile-3g-...](http://androidcommunity.com/forums/f7/unlockers-t-mobile-3g-vs- at-and-t-3g-7251/)

the article said tmobile and the networks are not compatible.

</comment></comment></comment></comment><comment><USER21> Does anyone have an HTC and enjoy it? I use an IPhone but I've had to opportunity to use both the Droid and an HTC phone and I only liked the Droid. The HTC seemed super cheap, almost as if it were designed for kids.

<comment><USER22> I actually like my G1 better than my sister's Droid. The keyboard is better and I like the physical buttons rather than the touch ones for Menu, Back, & calls. The droid seemed slightly laggy when flipping screens, and I also like that the HTC only goes to landscape when you push out the screen.

I thought the same thing about the "feel" of the phone, at first, but 13 months later, the slider action and buttons and overall function of the phone are as good as when I bought it.

My next phone will hopefully be another HTC with a keyboard that runs Android 2.0 with no visible lagginess.

<comment><USER23> The update to 2.0.1 on the Droid fixed a lot of the lag problems (well, at least for me anyway).

</comment></comment></comment><comment><USER24> It's exciting they're giving it out to 20,000+ employees. This is a pretty big deal as many of them aren't technical as readers here and demand a more usable experience than just a dev phone.

<comment><USER25> It doesn't say they gave it to _every_ Google employee just that it was given out at an al hands meeting. Given then you can't fit 20,000 people into one room this article seems like hyperbole.

<comment><USER26> It's every employee.

</comment></comment></comment><comment><USER27> I've heard rumours in the past about Google trying to build their own fiber optic / wireless network. What if they sell the device and voice/data plans?

</comment><comment><USER28> If they could manage good distribution and spend money on promotion under it own brand across the world, they could get a serious market share, because device is unlocked. Google is a much bigger brand than Apple outside US.</comment>


Administrators Ate My Tuition - <AUTHOR> http://washingtonmonthly.com/magazine/septoct-2011/administrators-ate-my-tuition/ <comment><USER2> Does anyone actually believe this is anything but a biased hit piece?

It becomes clear about half way through that the author's real problem is that faculty (who the author belongs to) have lost political control over universities.

The focus on administrators increasing costs tends to be a red herring to distract you from the fact that state funding per student has fallen dramatically.</comment>


Quova Providing Free IP Geolocation Data for Developers - <AUTHOR> http://www.securityweek.com/quova-launches-developer-portal-and-provides-free-ip-geolocation-data

<comment><USER2> Does anybody else feel like Quova could be confusing for Quora? I smell a trademark suit down the road.</comment>


Ask HN: What is your productivity system(s)? - <AUTHOR> Any mindsets behind it? What tools do you use, how do you use them, and why?<p>Love to hear some suggestions! <comment><USER2> Two 4x3 whiteboards in my home office/study/library. On my laptop I use Sublime. I don't know if others use Sublime the way I do, but what I use it for is, it allows you to create documents that are restored when you close and reopen the app without forcing you to save to a file. That is very useful to me and this is my digital scratchpad of sorts.

<comment><USER3> I didn't consciously realized until you mentioned it but I use BBEdit as you do Sublime. Each time I come back they're all just where I left off. Used it for that for years.

</comment></comment><comment><USER4> I don't really have one, though I like the _idea_ of having one. The only thing I do on a regular basis at work is write down a list of things I want to do each day and maybe some notes about the previous day in a physical notebook. Originally intended to remember what I did for scrum time, but it sort of helps keep on track during the day as well.

</comment><comment><USER5> BulletJournal in a physical book (not the official one) for daily todos, because it's minimal. I use Apple Calendar for schedule, Trello (I work there) for planning, and I practice Zero Inbox.

Other things:

\- RescueTime

\- SelfControl (turn off distractions)

\- My iPhone has no social media apps, runs silent with almost no notifications (calendar, slack mentions)

</comment><comment><USER6> I've been using Trello a lot lately to organize various small projects. I even save relevant articles to "read later" in the appropriate board.

I also really love Markdown for writing. Need I say more? It's perfect.

</comment><comment><USER7> I use Trello....

But I am still trying to get the optimum column setup to make me as productive as possible.

Would love to know what columns you all have on your Trello boards?

<comment><USER8> Backlog, This Week/Month/Quarter, In Progress, To Be Reviewed, Done

</comment></comment><comment><USER9> I have a todo list. I write down what I have to do, then I do it. Anything more complex will just be a means to delay action.</comment>


SkyNet Lives (aka EC2 @ SmugMug) - <AUTHOR> http://blogs.smugmug.com/don/2008/06/03/skynet-lives-aka-ec2-smugmug/

<comment><USER2> Like I said on reddit, I wish more companies would share this kind of information about how they consume cloud computing.

<comment><USER3> I couldn't agree more. I love when interesting companies share solutions to their hard problems. SmugMug's SkyNet is so rad that I might flee Flickr just to be a part of the machine revolt...

<comment><USER4> If people follow you through friendfeed, you can switch around among photo- sharing sites all you want.

</comment></comment></comment><comment><USER5> Autonomous and dynamic resource allocation built on a message queuing system. Could team at Twitter benefit from a chat with the folks at SmugMug?!</comment>


Why You Should Start a Company in... Kansas City - <AUTHOR> http://www.fastcompany.com/1700939/why-you-should-start-a-company-in-kansas-city

<comment><AUTHOR> I'm hesitant to share such a poorly written article, but the topic is a great one. It highlights a great city here in the Midwest that is starting to do some great things in the startup world. I'm really looking forward to seeing what the Kauffman Labs is able to produce.

</comment><comment><USER2> It looks like the startup climate in Midwest is starting to get focused. With the state of the economy right now that is a great thing for everyone.

One thing that swayed us as a company to move to Austin was the great business climate offered by Texas. One of the stated purposes of the Texas government is to "get out of the way" so a company can focus on the competition, and they seem to do that very well. That along with the favorable tax climate (no personal income tax, and a relatively high threshold before any corporate/franchise tax kicks in) made Austin seem very attractive to us. You don't even need a business license in Austin. Basically, you can keep and reinvest a lot more of what you earn.

Maybe Kansas City can take a look at what Austin has to offer and use some of the positives to build an even "greater" startup atmosphere than you guys have now.

Here is a YouTube speech by the governor of Texas outlining the Texas philosophy about startups. He pretty much hits on all of the points that we found attractive when locating here. Maybe you guys could use some of these ideas too. <http://www.youtube.com/watch?v=fbOtHDshfj4>

</comment><comment><USER3> Surprised that there's no mention of Django, which came from Lawrence, KS, only 40 miles away. That makes me think this is an MBA-led/business plan/top down startup scene, rather than a techie-led scene.

<comment><USER4> The local newspaper created Django for their own internal use, and then open sourced it later. That doesn't fit into the article's topic of starting a business from the ground up.

<comment><USER3> I just meant that it establishes some "geek cred" for Kansas, and not even mentioning it suggests there's not much geek involvement in the article.

</comment></comment></comment><comment><USER5> Make sure to check their health insurance laws. I have friends whose child is uninsurable in the state because of a minor, treatable condition, even though his father is a significant level employee of a very large government agency.

Depending how you locate, your employees who need to could live on the Missouri side and get access to the state high risk pool, but with a 12 month pre-existing condition exemption, and no coverage for most cancer treatments.

</comment><comment><USER6> Scroll to the bottom and you'll get links to the other cities, outside of Silicon Valley, you should start a company in. A lot of potential in the Midwest; Chicago has already been covered and I expect a spotlight on Detroit in the future - opportunities to do business with a reshaped auto industry, wealth of IT people, access to VCs and incubators, easy access to Canada, etc.</comment>


Fedora 17: "Beefy Miracle" released - <AUTHOR> http://docs.fedoraproject.org/en-US/Fedora/17/html/Release_Notes/index.html

<comment><USER2> Other discussion: <http://news.ycombinator.com/item?id=4037837>

<comment><AUTHOR> Thanks, missed that. Also, I thought it released today :)

</comment></comment><comment><AUTHOR> Short video pointing out some features: <http://youtu.be/dmWdYJTsKbM></comment>


EverQuest lead producer and designer Brad McQuaid has passed away - <AUTHOR> https://arstechnica.com/gaming/2019/11/everquest-lead-producer-and-designer-brad-mcquaid-has-passed-away/ <comment><USER2> I was surprised that more people didn't really acknowledge this news with comments. It's a pretty major thing for the gaming world.</comment>


Daplie, the World's First In-Home Server for Everyone - <AUTHOR> https://daplie.com/ <comment><USER2> It looks like a commercial, easy-to-use (they claim) version of some of the personal cloud/server projects out there that I've read about (EDIT: ArkOS, Sandstorm, Yunohost, etc.), which is a good thing: The projects aren't realistic for typical end users.

I don't see much on the technical basics. Which OS? Which other components? Is this an implementation or fork of one of the aforementioned projects? Here are some details on security, but it doesn't really answer my questions:

[https://daplie.com/articles/security-security- security/](https://daplie.com/articles/security-security-security/)

And for those interested, here is their position on open source (some of their code is, some isn't):

[https://daplie.com/articles/is-daplie-open- source/](https://daplie.com/articles/is-daplie-open-source/)

[https://daplie.com/articles/physical-source-an-honest- altern...](https://daplie.com/articles/physical-source-an-honest-alternative- to-open-source/)

[https://daplie.com/articles/when-open-source-is-a- lie/](https://daplie.com/articles/when-open-source-is-a-lie/)

</comment><comment><USER3> Cloudron is really great for a home server. Calling it the first home server is a bit of a stretch.

</comment><comment><USER4> No you're NOT the "world's First in-home server". Can't take it seriously when they claim to be something they are so obviously not</comment>


Impressive 4k HTML demoscene - adam-a http://sway-4k.bitsnbites.eu/

<comment> adam-a You get a nice surprise if you view source too. The demo uses a png to compress the javascript, more details on the author's blog <http://www.bitsnbites.eu/?p=20#better_png></comment>


What gofmt -r can do for you - <AUTHOR> http://talks.godoc.org/github.com/sunfmin/talks/2013/gofmt.slide

<comment><USER2> This is great. I want a tool like this for other languages.

</comment><comment><USER3> I don't get it, isn't it doing a basic find/replace that is available in any reasonable editor?

<comment><AUTHOR> It is doing something a little smarter than that, as gofmt understands the language it is parsing it rather than just a textual find/replace.

The interesting thing here is that you can make your other tools use this, it makes writing tools around go a lot easier.

<comment><USER3> Yeah I know what gofmt does, it's useful for code formatting and getting you 95% of the way there on api changes but in the slide presentation linked above he mostly just replaces method names and things of that nature.</comment></comment></comment>


Python for Humans - <AUTHOR> http://python-for-humans.heroku.com/ <comment><USER2> I was intrigued by the author's library "envoy", which is intended to provide a more intuitive interface to running processes from python. (<https://github.com/kennethreitz/envoy>)

The back story is that the older APIs that Python comes with -- os.popen and os.system -- are deprecated. Programmers are urged to use the "subprocess" module instead. Although this doesn't have the problems of the original functions, it has a rather arcane interface, in particular if you want to read the output (stdout or stderr) of a subprocess.

"envoy" seems to aim at fixing this, by providing sane defaults and being optimized for the common case. However, these defaults have drawbacks of their own.

1\. envoy defaults to keeping the process output in memory, as a giant string. This can be a bad choice with regard to memory usage and performance.

2\. You can run several processes in a pipe using ("cat foo | grep bla"). But otherwise as far as I can see, run() ignores regular Shell semantics, such as quotes. I imagine this can lead to unexpected results. The amount of data passed from one process to the next is capped at 10 MB -- recipe for bugs that are hard to find.

3\. subprocess.call() accepts an array in the style of ["ls", "-l", "/mnt/My SD card"]. This has obvious advantages over having to deal with escaping shell characters. A good API should preserve this advantage over os.system().

4\. The defaults cannot be overridden, and no preperations have been made to allow changing them. Of course this can be changed in the future. However, one of the reasons the subprocess.* API is convoluted is that it allows all kinds of flexibility, much of which is needed in many serious programs. It may be difficult to add this flexibility to envoy at a later stage. The point is that a flexible API is hard.

None of this is to discourage this initiative, which seems to me a much-needed improvement over Python's built-in API. Also, with a version number as low as 0.0.2, there is probably little need to worry about API compatibility.

<comment><USER3> > subprocess.call() accepts an array in the style of ["ls", "-l", "/mnt/My SD > card"]. This has obvious advantages over having to deal with escaping shell > characters.

Unless you're running on Windows, in which case IME it will corrupt your carefully constructed parameters in completely inappropriate ways that can be debugged only at the cost of (a) changing the call() to execute a script that dumps the actual parameters supplied verbatim, and (b) at least an hour of your life that you're never getting back.

This "feature" is about one step above MS Word's default autoreplace behaviour in irritation level. What happened to "Explicit is better than implicit" and "Special cases aren't special enough to break the rules"?

<comment><USER2> On Unix, a new process is supplied argv[], an array that contains the executable name and invidual arguments. Clearly, supplying call() a list of arguments is the right thing to do.

I seem to remember that on Win32, all you get is an argument string, and the process is required to do the parsing itself. This is simply a different model, and the Unix way is cleaner and easier to work with. It seems to me reasonable to optimize for the saner (Unix) way of doing things instead. I confess I don't understand your analogy to Word.

<comment><USER3> The big difference is that the UNIX shell does all kinds of expansion/interpolation for you, while Windows basically leaves things alone. You get an argv[] array in both cases if you're writing in C.

Neither of these approaches is inherently superior, they're just placing responsibility for certain operations in different places. But the fact is that because Windows programs don't have to assume a certain set of conventions for their command line, many do not, and if you have the misfortune to want to automate those using subprocess, you're in for a world of pain (until you just give up and use the single-string version instead of the list of arguments, having realised that this is enough to stop it messing around with your carefully crafted strings and just pass them through verbatim).

</comment></comment></comment></comment><comment><USER4> Great presentation on a library I've loved (and used) for awhile. However according to slide 42 I need to rewrite the regex module? I'm so busy this week though.

edit: If anyone wants to see a real-world refactor from HTTPLib/2 to requests, I did so with Pysolr here: [https://github.com/mattdeboard/pysolr/commit/db63d8910dec42d...](https://github.com/mattdeboard/pysolr/commit/db63d8910dec42ddfa8c8626dbbf73dbd3853c51)

</comment><comment><USER5> The slides don't fit vertically on my screen, so some of the content is cut off. There's no scroll bar so initially it was difficult to figure how to see the info cut off from the bottom. Chrome's text zoom out didn't work either.

I had to highlight the text and drag downwards in order to see the content. But it was annoying having to do this for every slide with a lot of content.

Otherwise, these libraries seem really useful. Thanks for this.

<comment><USER6> I had the same problem too. I had no idea it was supposed to be a slide show, then once I gave my browser as much screen real estate as the site wanted I had to figure out how to navigate the damn thing.

Whats so wrong with just sticking a bunch of static slides on a page one after another?

</comment></comment><comment><USER7> Wow those libraries are indeed great, amazing compared to the standard libs. Hope they'll be included in the standard libs one day.

<comment><USER8> While python has always been 'batteries included' I think some of the batteries should not have been included.

Libraries tend to move more quickly than the language and interpreter/compiler. Tying them together, while convenient, often leads to rot, clunky libraries, slow moving updates, and libraries being build _to the interpreter/compiler_ instead of _to the needs of the users_.

I would like to see instead a somewhat canonical (widely accepted) list of the highest quality libraries for a given set of needs, with information and pro/con/caveats listed for each, instead of them being included in the mainline trunk.

I really applaud what Kenneth Reitz has been doing lately.

\-- a very happy user of the `requests` library

</comment></comment><comment><USER9> Audio is available here:

<https://github.com/kennethreitz/python-for-humans>

</comment><comment><USER10> The portion that explains of how subprocess shuns dev/ops guys in the beginning is so true. Perl/Bash colleagues at work would basically ask me how to perform output=`command`. Once they seen subprocess, they would continue writing their script in Bash/Perl.

<comment><USER11> Very true. I spent quite a while trying to learn subprocess, then gave up and just use os.popen() now. It's a shame -- there are certain subprocess features I really would like to have, but it's too hard to remember how to use it.

<comment><USER12> I used subprocess in a program as recently as this afternoon and I'm quite baffled about the amount of negativity it attracts. Sure it's not quite as simple as `ls -l` but it's not too far off and in return it gives you far more control. Is there anything in particular that you found hard or confusing?

</comment></comment></comment><comment><USER13> I blame GOF for making Python Standard Libs hard. The patterns described were for an OO system where functions were not first class. Python didn't need to be complicated.

If you have a look at the older libraries, most of them were written in a procedural style. Not only that, it is very amenable to testing in the REPL.

        import smtplib
        s=smtplib.SMTP("localhost")
        s.sendmail("firstname.lastname@example.com",tolist,msg)

note the absence of doers like "Adapters", "Handler", "Manager", "Factory"

If you have a look at the XML library, roughly when "patterns" became popular, this style of thinking infested standard library contributions. It also coincides with a time when camelCased function names crept into the python standard library.

Here's one in xml/dom/pulldom.py:

        self.documentFactory = documentFactory

Once you see this, you know you are in for some subclassing. You can no longer REPL your way to figure out how things work, and you now have to consult the manual.

Here's more pain from libraries of the same era, some of these I'd argue un- Pythonic:

        #xml/sax/xmlreader.py:
        def setContentHandler(self, handler):

        #wsgiref/simple_server.py:
        class ServerHandler(SimpleHandler):

        #urllib2.py:
        class HTTPDigestAuthHandler(BaseHandler,
           AbstractDigestAuthHandler):

The last example is especially jarring. Abstract classes have a place in strongly typed world to declare interfaces, and help with vtable-style dispatch. In Python, where you have duck-typing and monkey patching, a class that virtually "does nothing" on its own stands out like a guy in a tux at a beach party.

Even logging is infected by the same over-patterning. logging/__init__.py:

        class StreamHandler(Handler)
        LoggerAdapter(someLogger, dict(p1=v1, p2="v2"))

"Managers" - what a pain when plain function handles would have done the job. Does this name even tell you what task the class performs?

        #multiprocessing/managers.py:
        class BaseManager(object)

If anyone remembers, Java _had_ to do OO in a big-style with OO everywhere -- there were no alternatives.

Initially, buttons had to be subclassed just to handle click events, since functions were not first class objects. Then someone came up with a MouseListener interface, which proved too unwieldy to handle a single click. So the MouseEventAdapters came into being.

Therefore, to handle a click in a "pattern" manner involves

an anonymous class

which subclasses MouseAdapter

which implements MouseListener,

which overrides MouseClick.

Publishing how industry solves this problem of "MouseClick" over and over as a pattern [ _design pattern is a general reusable solution to a commonly occurring problem within a given context in software design_ ] only gives legitimacy to an approach that has dubious wider applicability.

Heavens help the future developers who are forced to do it because it is now recognized as being industrially "good practice" and codified in a reknowned book.

It isn't!

It was a style that was forced by the constraints of a language.

This is neither pythonic nor necessary:

        panel.addMouseListener
        (
          new MouseAdapter ()
          {
            public void mouseEntered (MouseEvent e) {
              System.out.println (e.toString ());
            }
          }
        );

Embracing "foolish, unschooled" thinking, this would be rendered in Python as:

       def mouseEntered(event):
         print event
       panel.mouseEntered = mouseEntered

or for multiple event handlers

       panel.mouseEntered.append(mouseEntered)

This style of API again allows effective exploration on the REPL.

<comment><USER14> I've been programming python for nearly 10 years, but your comment just helped me clarify a thought that I've had for ages but have never been able to put in to words before: a well designed Python API is one that can be effortless used within the REPL. And that's why urllb2 sucks.

<comment><USER15> This is the thing that got me off OO altogether. Typical OO code is hard to call from the REPL. You have to know what objects to construct before constructing an object that has the method you want to call, which probably requires more objects to be constructed and passed as args, etc. Yet more often than not the function in question is simple enough that it ought to be easy to call without all that baggage. That got me so annoyed that I finally just started making all my functions easy to call from the top level and never looked back. You're right that this leads to better designs.

</comment></comment></comment><comment><USER16> Anybody have a text version of this? I got maybe 30 slides in before I got too annoyed to continue.

<comment><USER17> You can read the Markdown file: [https://github.com/kennethreitz/python-for- humans/blob/maste...](https://github.com/kennethreitz/python-for- humans/blob/master/python-for-humans/1_content.md)

<comment><USER18> Just use arrow keys on your keyboard to navigate.

</comment></comment></comment><comment><USER19> This presentation brings up a tangential point that has always confused me: how error-prone is starting a subprocess, really?

I agree with the author's goals of making common tasks easier and more obvious. urllib2 is an easy target, as it was added to the standard library over a decade ago, long before REST was something people talked about. The best tools for packaging, versioning, and testing have always been a bit ambiguous in any language, including Python.

However, the author points out something that has always bothered me about Python: it is way harder to start a subprocess with an external command in Python than almost any other language. This has been true whether using _sys_ or _os_ or even _subprocess_ , which is quite recent.

I always felt that this had something to do with the constant warnings in the documentation about how a pipe between the subprocess and the Python process might fill and cause the subprocess to block. Or how running the program through shell rather than exec or something might cause some sort of security issue. Are these real issues that other languages ignore in the name of user convenience, or has Python just never been able to make the right API (as the author seems to argue)?

<comment><USER20> I have never been able to figure out how - in Python - to be able to stream asynchronously both stdout and stderr from the subprocess, both printing both of them as well as writing the data to a file.

<comment><USER21> I'm using the mkfifo method on linux/macosx:

        import os
        import sys
        import time
        import subprocess

        # turn off stdout buffering. otherwise we won't see things like wget progress-bars that update without newlines.
        sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)

        pipename = "tempfile"

        if os.path.exists(pipename):
            os.remove(pipename)

        # create a pipe. one side is connected to the ping process, other side is connected to python.
        os.mkfifo(pipename)
        read_fd = os.open(pipename, os.O_RDONLY|os.O_NONBLOCK)
        writer = open(pipename, "w+")

        proc = subprocess.Popen("ping www.google.com", cwd=sys.path[0], stdout=writer, stderr=writer, shell=True)

        while 1:
            try:
                # nonblocking poll data from the external process.
                s = os.read(read_fd, 1024)
                if s:
                    sys.stdout.write(s)
            except OSError:
                pass
            # sidenote: minimum sleep time is 1/64 seconds on many windows pc-s.
            time.sleep(0.1)

        # remember to remove the pipe "tempfile"

<comment><USER21> Replying to myself. Using mkfifo is not necessary:

        import os, sys, time, subprocess, fcntl
        sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
        read_fd, write_fd = os.pipe()
        fcntl.fcntl(read_fd, fcntl.F_SETFL, os.O_NONBLOCK) # don't know of any windows equivalent for this line
        proc = subprocess.Popen("ping www.google.com", cwd=sys.path[0], stdout=write_fd, stderr=write_fd, shell=True)
        while 1:
            try:
                s = os.read(read_fd, 1024)
                if s:
                    sys.stdout.write(s)
            except OSError:
                pass
            time.sleep(0.1)

</comment></comment></comment></comment><comment><USER22> On installing python -- the most practical way to work with it, is to have a moderately recent os-level python install and then build all the other python versions from source if required -- <https://github.com/collective/buildout.python>

After that use virtualenv with virtualenvwrapper.

</comment><comment><USER23> Hangs on the first slide unless I'm doing something really wrong.

<comment><USER9> Try the arrow keys

<comment> brown9-2 A clear sign that the one doing something wrong is the website's designer.

Also, it breaks the back button.

</comment></comment></comment><comment><USER22> I wish that the developers of requests module stop changing it's API -- code that was working just fine with 0.6.4 suddenly began finding missing methods in version 0.8.5

<comment><USER9> All changes are for the best, I promise. API will stable by 1.0.

</comment></comment><comment><USER24> seems the guy nailed down many issues i have had in the past :)

</comment><comment><USER25> This makes a lot of good points, but some bad ones.

Esp. the "installing python" one. Just use your package manager to install all the versions you need.

And for "Packaging and Dependencies", just use pip.

<comment><USER26> What's the package manager for windows?

Mostly I agree with you, but installing python on windows is a PITA compared to *nix.

PIP works until you need something that requires compiling extensions which is also a PITA on windows.

IIRC easy_install can install binaries, but I could be wrong about that since I don't do windows development anymore and thus pip works for me 99% of the time.

Regardless, my point is, though I think we all wish it was as simple as using your package manager and pip, it simply isn't that way for everyone.

And it probably never will be, but we can always make it simpler. :)

<comment><USER25> I would not use Windows for servers.

<comment><USER27> Neither would I. But some people are stuck in jobs where they have to support Windows. If that's never been the case for you, consider yourself lucky.

</comment></comment></comment></comment><comment><USER28> The Python standard library has gotten worse over time, as it got loaded up with more and more features, obfuscating the common use cases. The irony now is that to do simple, everyday things (like http requests) you are now better off installing a third party package like "requests" than using the standard library. So much for "batteries included."

The standard library needs a reboot. Why not do it in Python 3? Nobody's using it yet anyway ;-)

</comment><comment><USER29> I can confirm that the python subprocess api is a pain to use and also documented poorly. I recently had to use (no choice) python 2.5.x to write a script that extensively called external programs and ran into several problems. It strange that a language such as python which I find so easy to use in many cases does not already have a good as in simple, safe and well documented subprocess api.

</comment><comment><USER30> I guess I agree things could be simpler, although the cries of "garbage!" were a bit much. I wrote a wrapper function around urllib2 about 5 years ago and haven't looked back.

<comment><USER31> Wrappers are handy, but as soon as you need something beyond the basic use case they become useless. What's great about Requests is that it seems to have minimal leakiness as an abstraction over HTTP.

<comment><USER30> My wrapper is quite robust after almost five years. e.g. It can save headers to alternate data streams (on NTFS) for proper 304 handling. If there is anything left to implement it could be done pretty quickly.

Still I like these new projects; it's a shame they missed the python 3.x boat by only a year or two. That would have been a great time to include them in the stdlib.

<comment><USER31> It sounds like you should release this wrapper :)

<comment><USER30> It is online, but embedded in my employers software. I could probably do some extraction of it, but not sure if it is worth the effort.

</comment></comment></comment></comment></comment><comment><USER32> It's really inexcusable that in 2012 (or 1992 even) a language that otherwise is well-suited for internet programming does not come with a first class httpclient.

</comment><comment><USER33> What did they use to make the presentation?

<comment><USER34> Looks like markdown and a sinatra based presentation framework. See the code at: <https://github.com/kennethreitz/python-for-humans>

</comment></comment><comment><USER35> The name says it all. This is much more readable compared to urllib2

</comment><comment><USER36> yes please and thank you muchly. _puts away yak shaving contraption_

</comment><comment><USER37> Why don't you just switch to Ruby?

<comment><USER38> I didn't find making moderately complex HTTP requests in Ruby to be much more fun than urllib2 in Python. Do you have a library you recommend?

<comment><USER37> I like httparty or mechanize, but feel free make your own choice over here <https://www.ruby-toolbox.com/categories/http_clients>

<comment><USER38> I've tried rest-client, em-http-request, and mechanize. I don't recall their specific failings except for mechanize, which seemed to work awesome in 95% of cases and produce cryptic errors with the latter 5%. I will take a look at httparty, though, thanks.

</comment></comment></comment></comment><comment><USER39> I like the presentation, but for me it just underlines how it's smart to stay far away from Python. It's great that it's improving, but many other languages have a much better library/API situation than Python has had for years already. Will Python catch up fast enough?

<comment><USER40> It's quite the opposite, actually. Python already has an extremely good and very capable standard library, arguably better than any other language. Python also has a community with a strong sense of what kind of API design best fits with the Python philosophy (which usually boils down to readability and consistency). So there are many efforts going on to improve the standard libraries.

For example, the standard library already has urllib2, which provides HTTP support much better than most other languages' standard libraries. But Requests is a rewrite of it, taking ease of use to a whole new level without compromising any of the features. There is no equivalent in any other language.

<comment><USER41> "There is no equivalent in any other language."

I don't know, LWP is pretty easy to use.

<comment><USER32> Does Perl come with LWP?</comment></comment></comment></comment>


Entrepreneurship as Disease - <AUTHOR> http://blogs.hbr.org/cs/2010/09/entrepreneurship_as_disease.html

<comment><USER2> Couldn't agree more. I just had discussion yesterday about the differences between employees and entrepreneurs with my wife and this article sums everything up nicely.</comment>


The U.S. Postal Service Is Issuing First Moon Landing Forever Stamps - <AUTHOR> https://www.nasa.gov/feature/the-us-postal-service-is-issuing-first-moon-landing-forever-stamps <comment><USER2> The stamp is pretty awesome. Now all USPS employees are using liteblue portal to get all the benefits. Login to it from [https://liteblue.onl/](https://liteblue.onl/)

</comment><comment><USER3> But the real question is will they include the sound stage the moon landing took place in /s. I am actually a bit sad that stamps are not as big a deal as they used to be. I always enjoyed getting weird stamps as a kid on letters. It seems like a loss for society that these little bits of art aren't as popular.</comment>


Full CSS3 Lightbox - Absolutely no JavaScript - <AUTHOR> http://playground.deaxon.com/css/lightbox/ <comment><USER2> I've been tweeting this today but I think it could be useful to repeat it here: my CSS demos are only experiments. The goal is to test all those new possibilities, show the power of CSS3 and, basically, having fun. They aren't intended to be used in production and actually you shouldn't. Most of them are not accessible and not cross browser…

<comment><USER3> how do you detect mouse click with css3?

<comment><USER4> With links.

</comment></comment></comment><comment><USER5> So I will get lightboxed even with my no-javascript browsing habits? I liked that most sites simply serve the direct image url to me. Lightbox is an annoying eye-candy.

<comment><USER6> I don't mind it if it's snappy and the image loads almost instantaneously, which is what I got when viewing this demo. Typically, with javascript, I'd have to wait a few seconds for the loading-wheel to spin until the image finally loads. Not that I can't wait a few seconds; it's just annoying.

<comment><USER7> Worse is when there's a series of images being displayed in a lightbox and because the whole thing "needs" to be centered and the navigation is not absolutely positioned, the next and previous buttons move around on the screen.

<comment><USER6> Yeah, I forgot about that one, which is by far the most annoying. Often times I have to scroll down a page just to get to the nav buttons. Down with lightbox!

<comment><USER8> These are all criticisms of bad implementations of lightboxes. Used correctly, they can be quite useful. The trick is to realize that you're interrupting whatever other workflow the user is considering on this site.

For example, a lightbox that fades when you scroll the page might be less invasive.

</comment></comment></comment></comment></comment><comment><USER9> Dont like how when i press the back button i get a history of pictures i have viewed. If i am at liberty to choose whichever picture i want then i dont need the back button to preserve my selection history. When i click back, i want to go BACK to the site i just came from.

I assume this isnt some bug or some flaw, and that it can probably be coded to behave differently, but as things stand that would prevent me from using this particular lightbox.

<comment><USER10> It's funny you say this, because preserving state and history is one the the things JS-based solutions tend to lack. Check this out:

<http://playground.deaxon.com/css/lightbox/#pic3>

That's a permalink to an individual lightboxed photo. No JS, no server-side magic. Colour me very impressed.

<comment><USER11> It's not as elegant as, say, the lightbox window providing you with the URL to link to, and does cause annoying issues with the browser history.

That said, it's a lot cooler and more robust for site owners who might be looking to provide linkers with a little more context than serving a standalone image.

</comment></comment></comment><comment><USER12> Is it just me or is the Lighbox effect really annoying? What's wrong with middle-clicking an image and having it open in a new tab?

<comment><USER13> "What is middle click?"

\- my grandma, who has a scroll wheel in the middle of her mouse

<comment><USER14> "It means click the button in the middle"

If she can use a computer and browse the web, she can learn to use the mouse she owns.

[Note: props to your grandma]

Edit: Wait, maybe you're referring to a mouse that has the wheel but the wheel isn't a button? In that case, the GP could have said "right click, open image" rather than "middle click". Same thing.

<comment><USER15> I recently noticed that a surprising number of people around me don't know that middle click opens links in a new tab.

Most of them use the right click drop down option.

<comment><USER16> I always used Ctrl-Left Click

</comment></comment></comment></comment></comment><comment><USER17> Nice! It breaks the back button however...

<comment><USER18> Au contraire, the back button behaves exactly as it should. It's not how users would expect it to function, but it does obey the stack.

<comment><USER14> What you just said makes no sense. If a button _doesn't follow what the users expect to happen_ then the button is broken!

<comment><USER19> Not true. A back button is meant to "go back to previous state". When you click a link, then back, you will go back to the previous page or position on the same page depending on the link you clicked.

Similarly, if you enable a lightbox and your page goes behind a modal image, hitting back will behave exactly the way it should, i.e. take you back to your previous state.

I'll go one step further and say that a lightbox implementation that doesn't do this should be considered broken since it breaks user expectations. This does raise the question of judging a user's intent when he presses the back/forward button while there is something modal on his screen, but let's save that for some other time.

<comment><USER20> Steps to reproduce broken button:

      1) Open the demo page
      2) Click image
      3) Click 'X' in top left of image
      4) Click different image
      5) Click the 'X' in the top left of image
      6) Click browser's 'back' button
      7) Observe how you're staring at the image, not the hacker news page you came from.

The problem is that clicking the 'X' should pop the image off the stack, not just add another page ("#home") to the stack.

Opening an image then hitting back works as it should, though.

<comment><USER19> Here's another demo to reproduce the "broken" back button:

      1. Go to http://en.wikipedia.org/wiki/Hacker
      2. Click the "Innovation" link in the ToC on the right
      3. Click the "Entertainment" link (you can just see it) under the "Innovation" one.
      4. Click the back button.
      5. Observe how you're not taken back to Hacker News.

Now imagine this is a really long page of FAQs, with a "Return to top" after each question, and the same ToC at the top (something a clueless user probably sees everyday [I know I do on O2's site all the time]). You can see how it begins to look like a browser implementation problem.

Maybe the browser should automatically pop all "#<identifier>"s associated with a URL from its history stack if a user reaches the original URL again (via backs or clicking some in-page link, doesn't matter); I don't know. But I honestly consider this a browser implementation problem, not a web developer problem. I think anything we've been doing till now has been to mitigate this and we shouldn't have to.

<comment><USER21> The solution is not to change browser behavior, that's fine. Just remove the hashtags from the images so the URL doesn't change when you click on the picture.

</comment></comment></comment></comment></comment></comment></comment><comment><USER22> Neat that you can do that. Not a technique that I'd ever want to use.

<comment><USER23> I think I would like to use it.

I consider lightbox functionality to be related to the layout of the content, and hence logically a part of CSS rather than javascript. In CSS3 world, I like to use javascript for the tasks not related to the layout: such as making ajax queries, manipulating user inputted data, etc.

Is there a case for relying on javascript for functionality such as lightbox?

<comment><USER22> Why would lightbox functionality or any other animation and interaction be part of "layout"?

<comment><USER23> I am unable to make up my mind here. As atlbeer says, following is the standard breakup of responsibilities: \- HTML = Content \- CSS = Style / Design \- JS = Interaction

As argued elsewhere, lightbox straddles JS and CSS domains.

I was thinking that in CSS3 world, we should have slightly different breakup of responsibilities (subject to resolving performance issues) \- HTML = Content \- CSS3 = style/design and changes in style/design \- JS = interaction other than purely style/design changes

I see that this breakup may lead to confusion in some situations. (Though I still find it more appealing for lightbox example) So, let me make up my mind when I have more experience with CSS3 :-)

<comment><USER22> Fair enough!

</comment></comment></comment></comment></comment><comment><USER24> Works great in Chrome; Firefox has a border around each pic, since they're links.

Of course, it's horribly, horribly broken in IE. Then again, that goes without saying ;)

<comment><USER25> IE 9 Beta works. Like FF, it has blue border around every picture and transition effect is missing.

<comment><USER26> .picture a{ border:none;

}

</comment></comment></comment><comment><USER27> Interesting to see this is possible, but this is beyond what I would want to use css for, how far will "look ma! no javascript!" go? Seing the logic in a jquery click handler seems at least as readable / maintainable as a bunch of css rules for the same reason I prefer to have more logic in java in android applications than in various xml layout and manifest files.

<comment><USER28> It's easier to optimize a description of what the results should be than to optimize a description of how to calculate the results. If you say "give me the first 10 prime numbers", that's easy to calculate efficiently . If you write out the Sieve of Eratosthenes, then that's harder to make efficient.

Similarly, it's easier to optimize CSS rendering than it is to optimize arbitrary JavaScript programs.

<comment><USER27> hmm, good point, I hadn't thought that this would be for optimization purposes. but is it premature optimization if the css way is fuglier and the js way is fast enough to get the desired framerate on modern browsers? would like to see some stats.

</comment></comment></comment><comment><USER29> This is pretty cool. Suggestions:

      - respect my back button [1]
      - allow me to click outside the picture or press esc to close the lightbox
      - allow middle-click to open the image directly

[1] We can argue about transitions and correct behavior all day, but this implementation is different from other lightboxes I've seen, and thus it is "broken" to me.

<comment><USER30> > allow me to click outside the picture or press esc to close the lightbox

Word. I always make my lightboxes to close on ESC. I hate when I'm forced to click some tiny random-located icon.

</comment></comment><comment><USER31> Out of curiosity, what is the point of a "light box"? I tend to open lots of images into new tabs while I'm reading articles, and it's _really_ annoying to have the rest of the article go black when I do.

<comment><USER32> Unfortunately, lightbox-style galleries still behave inconsistently across hardware/platforms/browsers and often break. And, you're right, many people find them annoying. But as a developer who recently converted a portfolio site, I can tell you that it _tremendously_ simplifies the code needed to present a gallery of images, making a portfolio-oriented site much more easy to update. Also, clients tend to go ga-ga over the slick eye candy (thus decreasing the demand for Flash, so it's not _all_ bad).

</comment></comment><comment><USER33> Very neat, I checked out the other stuff you've got on there and it's pretty sweet.

Seems like a lot of people have missed the point that this is just a hack to see if a light box in JUST CSS and HTML could be made. Because theres no JS or actual logic, this demo just leverages the browser to maintain the state. It's a necessary side effect that the back buttons behave this way, and it _could_ be coded to behave differently, but that would defeat the purpose of the exercise.

</comment><comment><USER34> Works beautifully on the iPad. Very nice work.

</comment><comment><USER35> It's done by using the :target selector. Targeted images are lightboxed. There is a link in the lightbox that resets the target to dismiss the lightbox. Crudely:

css: a.lb:target {display:block; text-align:center;} a.lb {display:none;}

html: show image

</comment><comment><USER36> This is actually quite nice because it allows permalinks to the lightbox items. This makes for a rough browsing experience if you need to go back, but I like the detail that lets you link somewhere that someone can actually find in the future vs. "go to this page, then click here, etc...."

</comment><comment><USER37> Looks great. Does this work cross-browser? (besides the transition effect)

Also, is there any documentation/github repos?

<comment><USER38> \- Works well in Chrome / Safari.

\- Works without transactions in Firefox

\- Does not work in Internet Explorer 6, 7, or 8.

<comment><USER39> > Does not work in Internet Explorer

Enough said (unfortunately).

<comment><USER28> Finally a reason to use IE!

</comment></comment></comment></comment><comment><USER40> Does anybody know of a minimalist JS variant? There are so many JS lightbox versions I don't even know where to start. I need something super simple.

</comment><comment><USER24> If you go up a directory, there are some other neat things in CSS:

<http://playground.deaxon.com/css/>

<comment><USER41> And if you go up one more directory, he's got a list of work he's done in HTML, JS, and SVG: <http://playground.deaxon.com/>

I especially like his Custom Checkboxes: <http://playground.deaxon.com/js/custom-checkboxes/>

</comment></comment><comment><USER42> kind of annoyed me there was no explanation.

\- 2nd UL list is opacity:0 \- :target psuedoclass applies to element whose id is in the url \- targeted element has opacity:1

</comment><comment><USER43> The problem is that not all browsers support CSS3.

</comment><comment><USER44> can someone post a screenshot of this in IE6

<comment><USER45> [http://augustl.s3.amazonaws.com/dump/2010/css3%20lightbox%20...](http://augustl.s3.amazonaws.com/dump/2010/css3%20lightbox%20in%20IE6.jpg)

The unseen: Clicking an image kind of works, thanks to the anchors. The browser will scroll down to that image, just like the TOC links on Wikipedia articles.

</comment></comment><comment><USER46> Slow, like all lightbox implementations. And the flash of the background color is likely to give someone a seizure. (Ok, I'm being facetious there, but it looks jerky.)</comment>


Weird HN caching bug: I appear logged in as other HN users sometimes - <AUTHOR>

HN seems not to produce correct no-cache headers, so sometimes I appear logged in as other users. Kinda eerie, though I suppose with HN there's no major privacy issue :-), and it's not like I can do actual operations logged in as the other users, just viewing.
Incidentally, reddit had this exact bug almost two years ago, and spez fixed it: http://www.reddit.com/r/reddit.com/comments/6b2kq/
It happens because our ISP is caching the other guy's logged in page, and then serving it up to me (and vice versa, I suppose). I'm pretty sure my ISP's caching proxy is following the HTTP spec. HN can fix it by giving more stringent no-cache headers. At the moment HN says "Cache-Control: max-age=0". reddit serves "Cache-Control: no-cache" as well as "Pragma: no-cache" and that seems to do it. <comment><USER2> I ran into a bug like this with rails and restful_authentication. It came from caching the logged in user through the session. I fixed it by using a cookie to store the logged in user instead. Here's the issue: [http://stackoverflow.com/questions/145169/inadvertent- sessio...](http://stackoverflow.com/questions/145169/inadvertent-session- hijacking-issue-with-restful-authentication)

</comment><comment><USER3> Yeah, sorry, I'm going to fix this.

</comment><comment><USER4> Nice catch, benhoyt. It is even better that you know exactly what is causing it. (However, I question the benefits of ISP caching in the networks of today.)

<comment><USER5> Depends where the ISP is located, though I suspect it has more to do with cutting bandwidth costs than anything else.

</comment></comment><comment><USER6> " _it's not like I can do actual operations logged in as the other users, just viewing._ "

If you can see the user's "saved" feed (i.e., what submissions they voted for), I would say that is a privacy issue. That is currently not public information.

[http://news.ycombinator.com/saved?id=<user>](http://news.ycombinator.com/saved?id=<user>);

</comment><comment><USER7> This is surprisingly hard to get right on your first try, I ran into a similar issue not too long ago with a framework I had built myself.

This page has a great synopses on how it should be done: <http://www.mnot.net/cache_docs/>

</comment><comment><USER8> Setting either "Cache-Control: no-cache" or "Cache-Control: private" should fix it.

</comment><comment><USER9> Yeah, the company cache-proxy here is doing the same.

<comment><USER10> Me too - I only see this at work where we're running MS ISA Firewall</comment></comment>


Bitcoinity switches to mBTC as the default bitcoin unit - <AUTHOR> http://bitcoinity.org/markets/bitstamp/USD//

<comment><USER2> A welcome change! Hopefully it should help those that aren't too up to speed on Bitcoin realize that they don't have to buy an entire Bitcoin. ($1000+ will be quick to care most people off.) By switching to a mBTC format, hopefully more people will be willing to buy a few mBTC's.

(Also, got to love Bitcoinity's sense of humor. There've been some pretty funny gifs in the past when BTC reached certain highs.)</comment>


Lyft spam on Facebook - <AUTHOR> http://www.hopesandfears.com/hopes/now/internet/216911-inside-the-world-of-lyft-spam-on-facebook <comment><USER2> Could it be possible that it is Lyft affiliates that are doing this on their own for affiliate commissions? Not saying it is right, but at least it isn't a marketing strategy from the central office.

I wonder why they aren't at least doing some crafty Photoshop and merging images of 2 different people to create a unique persona. There was a guy here on HN that did that a few years back it was a pretty popular post.

Possibly even worse than Lyft spam are infinite scrolling websites such as these. Ctrl +A? I don't think so. How do you tell where the article ends? I was in "skimming mode" and 1/2 way down the page before I realized I was reading another article.

<comment><USER3> Well I'm sure Lyft it shocked, absolutely shocked to discover that there's spamming going on here.

It's not like they could develop basic accountability tools or read the thousands of complaints consumers have sent to them directly or do a google search. All of those things are impossible to do with present technology, which is why Lyft is the real victim here.

</comment></comment><comment><USER4> I see plenty of similar Uber spam too. We had an election recently, and had plenty of

"Uber is hooking you up with _free_ rides to your election polling station*

* Valid for first time customers only"

</comment><comment><USER5> Lyft (or someone collecting affiliate money?) using spam Facebook accounts to post coupon codes on several event pages. The author suggests that these shady marketing tactics are limited by Lyft's resources and market share. Ironic that even in marketing it sounds like they are mimicking Uber to the best of their ability.

<comment><USER6> affiliate spamming is not really something new. It's annoying and terrible, but it's been around for as long as affiliate itself.

<comment><USER7> The affiliate strategy is basically: spam for us and we'll give you a cut.

<comment><USER8> Respectable affiliate programs will cut off affiliates who promote affiliate links via spam.

Less respectable affiliate programs quietly ignore whatever affiliates do.

</comment></comment></comment></comment><comment><USER9> From this post, it seems like the only coupon code referenced is 'Murica'. If it was Lyft doing this, they would probably have different codes for each bot, seems more likely that it is an affiliate.

It's like the old adage, "Whoever gets the commission is on a bot creating mission"

<comment><USER10> It definitely doesn't seem like that would be a referral code from a driver, since I'd expect those to be more unique and auto-generated. I doubt drivers have the privilege of writing their own coupon codes like this, but I could be wrong.

</comment></comment><comment><USER4> As Rideshare guy has figured out, it's more profitable to sell picks and shovels than it is to be a gold miner.

</comment><comment><USER11> One of the ways I've seen botnets skirt this problem is by using cartoon profile pictures. Cartoon bots don't work quite as well on Facebook as they do on Twitter and Instagram (where they're only used to inflate favorite/follower stats, not to sell stuff). Unfortunately, it's probably hard to convince someone to hail a Lyft if "social proof" is coming from someone with a cartoon face.

With that said, these bot puppeteers _could_ feasibly get around identity theft/copyright/social proof issues by using CC0 stock photography sites. There's plenty of free photos out there for people to use, i.e. as profile pictures.

Not that it'd be any more ethical, but at least it would be legal.

<comment><USER12> It would still be fraud, but at least it would not be copyright & publicity rights infringement.

</comment></comment><comment><USER13> Related: Sanford Wallace is suppose to be sentenced today for spamming Facebook.

[http://www.theregister.co.uk/2015/08/25/spammer_wallace_face...](http://www.theregister.co.uk/2015/08/25/spammer_wallace_faces_jail_facebook_scam/)

</comment><comment><USER14> How does the author know these are spam accounts and not simply individuals who have chosen to lock down the publicity of their Facebook profiles? My profile looks pretty barren if you're not my friend, too.</comment>


Book Publishers Shut Down Library.nu and iFile-it - <AUTHOR> http://torrentfreak.com/book-publishers-shut-down-library-nu-and-ifile-it-120215/

<comment><USER2> I can't imagine library.nu being legally screwed. There's a remarkable amount of nonsense in that filing. I cannot conceive most of it standing up if the library.nu admin gets decent lawyers. Judging from that article and my very loose sense of copyright law, I imagine they'll have a strong defense on the basis of being neither particularly profitable nor profit-oriented. It's a well known fact that IP and copyright don't exist if you have a reason to try enforcing them. It's just bullying that sometimes works. Copyright law cares only about profitability and profit-oriented when it comes time to decide whether it will screw you over, or screw you over and also screw your pets and grandmother as well.</comment>


Lessons from starting a dot com business in Nepal - <AUTHOR> http://forum.harilo.com/Lessons-from-starting-a-dot-com-business-in-Nepal-td1671033.html <comment><USER2> Interesting.

And here's a couple of notes from a site that tracks business regulations: <http://www.doingbusiness.org/economyrankings/>

While Nepal doesn't rank highly in terms of "Ease of Doing Business" it's better than e.g. Brazil and India. And like the author's experience, it's not too bad in terms of "Starting a Business", e.g. it's ranked on three down from Germany (why am I not surprised? :-).

<comment><USER3> Your comment is somewhat misleading. On that list, Nepal is ranked _123rd_ in ease of doing business, and 87th in starting a business.

<comment><USER2> These are rankings compared to other nations, the scale is not linear. I made the comparisons to other well known nations to put its rankings into perspective.

I don't know about ease of doing business, but the topic covered in the item, starting a business, shows that 87th doesn't seem to be all that bad.

Part of their methodology ([http://www.doingbusiness.org/MethodologySurveys/StartingBusi...](http://www.doingbusiness.org/MethodologySurveys/StartingBusiness.aspx)) includes per capita income; overall Nepal is poor enough that that alone is probably dragging it down somewhat.

<comment><USER3> Of course it's not linear, it's a ranking. I made no claims as to objective truth, after all, the list is compiled by the World Bank, and ignores any consideration other than the cost of doing business.

And to put it into additional perspective, some of Nepal's neighbors on the EODB list are the Russian Federation and _Nigeria._

The thrust of the article was that if you are Nepalese, starting a company in your home country is not as bad as you would expect, but the data would seem to indicate that it would be utter folly for a foreigner to do so.

</comment></comment></comment></comment><comment><USER3> Sounds like he depends on international cloud services, which is ominous for a business in a landlocked country bordered by two nations which practice extensive internet censorship.

The endemic corruption and two coups in the last five years aren't reassuring, either.</comment>


Seedux: A New Way to Visualize and Debug Your React-Redux App - <AUTHOR> http://www.seedux.net <comment><AUTHOR> Hey there Reduxers!

Me and a couple of other react-redux fans created this new devtool to help you visualize the relationships between reducers, action creators, and container components. Naturally, we threw in undo/redo/restore previous state, along with the ability to import/export logs to speed integration testing. Development is ongoing, so we'd love to hear any feedback you have! Current Features include:

\- Time travel functionality for your application's Redux store.

\- Persistent log of every action dispatched, resulting store differences, and complete new store.

\- Configurable visualization of your application's containers, action creators, reducers using a variety of filters.

\- Illumination of relevant containers, actions creators and reducers upon action dispatch.

\- Ability to dispatch actions with custom payloads.

\- Import/Export and Stash/Unstash complete store logs from disk or localStorage.</comment>


Microsoft's Surface Ergonomic Keyboard makes typing a pleasure - <AUTHOR> https://www.engadget.com/2017/02/04/microsoft-surface-ergonomic-keyboard/ <comment><USER2> Hope they'll be making a smaller, tenpad-less version as well. If you look at the pictures, the mouse is quite a bit to the right, away from the user.

I'm using the previous black Sculpt Ergonomic, with the empty space in the middle, and I love it so far. The only disadvantage is the weird Fn toggle. It's really a toggle switch, not a key, and I know of no other keyboard that does this.

<comment><USER3> I have a Natural Ergonomic attached to the desktop. But I am addicted to pointing sticks over mice...For me, the distance to the mouse is less an impediment than the fact it _is_ a mouse.</comment></comment>


Ask HN: Social Auth in 2017. Is it still a requirement? - <AUTHOR> What are you guys supporting as far as social auth these days? Is it still pulling larger conversions than local auth? Is local auth even needed anymore?
For every new project I start, I generally only support Facebook/Google and sometimes Twitter. Rarely do I ever add local authentication in the beginning, because it's one less aspect I have to deal with.
What's your experience? Does it hurt? Does it help? Do you personally use it, or do you prefer local auth? <comment><USER2> I've been thinking the same thing. I used to _start_ with Facebook or Twitter, and now I'm actually starting with just local auth and scrapping the social networks.

Why? I'm seeing a trend where social networks are closing or restricting their API's (ex: Facebook, LinkedIn), and so I don't want to rely on them to run my business.

Curious to learn what others think.

<comment><AUTHOR> Yeh I really don't need anything from their API's except for one click easy authentication, and sign up. Wish this was more visible!</comment></comment>


64 Highlights of the Internet's Early Years - <AUTHOR> https://hyperallergic.com/371282/64-highlights-of-the-internets-early-years-from-the-first-webcam-to-a-net-art-gallery/ <comment><USER2> I _really_ miss archie!</comment>


Ask HN: Any tech event/conference organizers here? - <AUTHOR> This might be a stretch, but I wanted to see if I could reach out to people who have previously helped organize events that have had over 500+ people. Maybe a Hackathon or a conference?<p>I'm working on a side project and I would love to interview you guys to learn more about your experience. Some things that went well, some things that didn't. Please let me know if you're open for a quick 15 min Interview. <comment><USER2> I'm the creative director at a tech events company geared towards CIOs - absolutely open to discuss

<comment><AUTHOR> Oh that's awesome. Fast response. Do you think you could send me an e-mail, it's under my profile. Would love to set up a time to discuss.</comment></comment>


Americans Trust the CDC on Covid-19. Trump, Not So Much - <AUTHOR> https://fivethirtyeight.com/features/americans-trust-the-cdc-on-covid-19-trump-not-so-much/ <comment><USER2> Countries that are faring well have also worked closely with the WHO and we know what Trump thinks of that.</comment>