JQuery Code Smells - <AUTHOR> http://james.padolsey.com/javascript/jquery-code-smells/

<comment><USER2> > Prefixxing all jQuery objects with $

So don't do it. It's not required.

> Concatenating a bunch of things together to make a selector

This is semi-valid and using the jQuery.filter() function helps a bit. Overall though, it's not a huge problem, IMHO. Just put together the selector incrementally. Likely you need bits of that selector elsewhere anyways.

> Going over the top with chaining

I've written some complex code using jQuery and none of it had a chain as long as your example. Still don't see how this is jQuery's fault.

> Not caching collections

Then cache them. How is jQuery preventing you from doing this?

> HTML

This is just runs faster. When performance is critical, I find it acceptable to do this.

<comment><USER3> You've misunderstood the intent of the post. It's mostly my fault -- I shouldn't have named it "jQuery code smells". The point of the post was to list jQuery code snippets that exhibit "code smells", -- you seem to be under the impression that I think that jQuery itself, smells. And that couldn't be further from the truth.

<comment><USER4> > you seem to be under the impression that I think that jQuery itself, smells.

That's exactly what I thought ... until I read the article. Your intent seems pretty clear to me; but if a lot of people are misunderstanding you, that's a good sign you need to change the message to address the widespread confusion.

</comment></comment></comment><comment><USER5> kind of silly complaints. all of them are situational and based entirely upon the coding style and preference of the individual.

<comment><USER3> What did you expect? It's a personal blog. Your comment is also based on your opinion and is representative of your preferences. And also, they're not complaints; through the post I'm trying to inform others of what are generally, bad practices. Sure, they're not all agreed upon as bad practices, but that's what the comments are for. Have you read all the comments? As the author of the post, I've found other's opinions to be invaluable to me -- maybe you should post an opinion that confronts the post's shortcomings, instead of just saying that it's "silly"...

<comment><USER5> if you want people to read your article with a discerning eye on the topic of what you think should or shouldn't be jquery best practices, you should probably mention that somewhere in the title or intro paragraphs. and maybe offer more than a sentence of explanation on the examples

right now it reads like "jquery code is ugly. here's some examples of how ugly it is". and people are simply pointing out that the ugliness is purely self- inflicted. the code examples don't need/have to be written as such. you can classify them as stylistic choices. so its more like "my jquery code is ugly" or "i found these ugly snippets online".

just my $0.02.

</comment></comment></comment><comment><USER6> As an inexperienced jQuery user I expected more from the article. I have nothing against the author having issues with style but don't call them code smells.

Wikipedias definition of code smell:

"In computer programming, code smell is any symptom in the source code of a program that possibly indicates a deeper problem."

I don't see the deeper problems with the smells the article brings up and if there are any the article could've done a better job explaining them.

<comment><USER7> The sorts of issues I see with jquery are ones of gross inefficiency.

People use $ within loops without a second thought. Why wouldn't they.

It makes for quite ugly inefficient code IMHO. Having said that, it does fill a niche for people who don't want to sit down and learn javascript.

<comment><USER6> Yeah I hear you. But to be fair, if anyone uses jQuery to do a select that requires a lot of dom parsing in a loop, is jQuery really to blame? Even I avoid that and I'm not a real programmer or anything..

Anywho, my major use of jQuery is for dom parsing and manipulation. It's just so darn comfy! I still need to know javascript for all the rest of the stuff the app is supposed to do though.

</comment></comment></comment><comment><USER8> I agree with the sentiment but the article is a bit over the top. Generally, I only recommend jQuery for small scope websites because it promotes what I consider to be poor code quality. Chaining may enable faster development, but it isn't worth sacrificing readability to get there.

</comment><comment><USER9> I don't see how prefixing names with $ is a "smell". It's just a convenient way to differentiate jQuery objects quickly. sort of like "strVar" or "intVar".

<comment><USER7> Because it's dishonest, and makes for bad code.

$('body') looks to the uninitiated to be a simple variable. Maybe they come from the PHP world, so they think "Ah! that's just the variable body from the DOM, ok great.

When in reality, $ is the name of a mammoth function that could take ages to execute. It'll also execute every time.

eg

      for (var i=0;i<1000;i++) {
        $('silly').doSomthing();
      }

This is _horrible_ _horrible_ code. It's calling the function $ 1000 times. Why?

<comment><USER10> I think you kind of missed something. The $ by itself in a variable name doesn't do anything. It's simply a notation to keep your DOM elements (and other variables / objects) separated from your jQuery wrapped elements.

$myDiv = $('#myDiv');

Now I know every time that $myDiv is already wrapped in jQ and I won't make the mistake of wrapping it again $($myDiv) in my code.

<comment><USER7> Yes, I know. My point is that most people won't know/bother doing

$myDiv = $('myDiv');

They'll simply use $('myDiv') all over the place which will be horrible.

<comment><USER5> so, the complaint is that people who don't understand jquery use it incorrectly/inefficiently?

<comment><USER7> meh. If you like it use it. Personally I find that code ugly, inefficient and error prone.</comment></comment></comment></comment></comment></comment>


Biology's Master Programmers - <AUTHOR> http://www.technologyreview.com/featured-story/428187/biologys-master-programmers/ <comment><USER2> As a chemical engineer who loves programming just as much, I have had some thoughts about bioengineering for a while now. Part of the problem is that the immense complexity involved in living organisms is unpredictable, even with today's computing technology.

Human-engineered circuits are easy to predict; they were designed in a way that made the most sense. With biology however, something that appears to be working may have a completely unrelated side effect that isn't noticed until decades later, or even something so bizarre that it isn't noticed until hundreds of years later in future generations.

The way we currently find treatments (grossly oversimplifying) is to grab some substance that looks like it might work, test it in animals, test it in humans, wait a while to make sure nothing really bad happened, and then prescribe it as a drug.

If computers get advanced enough, I would much prefer the case where all of these interactions are fully simulated. You can go through millions of variations of substances all while tracking every change they make to each part of the virtual organism. Obviously, this is a VERY long way off, but it would be nice because we wouldn't have to worry about unknown side effects.

Of course, our current way is the best we've got, and it saves millions of lives each year, so while there may be some future risk, we're doing the best we can.

*On a somewhat related note, I've always thought it would be cool to have programmable blood filters. In other words, you could essentially provide the type of molecule or cell you are looking to trap, and then something like a ccd would either redirect it or let it pass through.

<comment><USER3> > ... I've always thought it would be cool to have programmable blood filters.

It is called flow cytometry. <http://en.wikipedia.org/wiki/Flow_cytometry>

<comment><USER2> Wow, that's pretty cool! I didn't realize people were already working on this.

</comment></comment></comment><comment><USER4> > Researchers today may alter, copy, and paste DNA with increasing ease, but > they still struggle when it comes to actually composing DNA that does > anything useful.

Leo Laporte did a TWiT Special on this recently: <http://twit.tv/show/twit- live-specials/126>

The discussion centered around taking existing genomes and splicing in functionality. The example given was setting up a Kickstarter project for trees that glow in the dark. The government is aggressively pursuing this tech.

[Edit] Direct links:

dna editor: <http://www.genomecompiler.com/>

dna printer: <http://angel.co/cambrian-genomics>

<comment><USER5> Hi j_s, this is Omri from Genome Compiler - thanks for the mention!

Anyone can download our free gene/genome design software and start ordering DNA today at genomecompiler.com

Omri

<comment><USER6> I checked-out your company. It seems really cool. And, I think that it is really awesome that you are commercializing this tech and advocating it so much on HN (seriously). But, the part I am having trouble understanding, as an amateur, is what I do with the DNA once I order it.

With software, I double-click an executable or go to a web address, and BAM! I can share pictures of kittens with my friends. How do I turn that DNA into a bio-luminescent kitten, for example, that I can show off to my friends?

<comment><USER5> Hi Lupatus, thanks!

Well, today you have to know some biology and have access to lab (or community lab like bio-curious or genspace) to "execute" the biology. We are trying to abstract biology to make it more accessible to people outside of the research labs then you can order the DNA and transform living things in your kitchen :-)

</comment></comment></comment></comment><comment><USER7> "We use genomics and informatics to find a gene cluster. But that's an information unit," Verdine says. "We have to get the molecule. Synthetic biology involves coaxing the cluster into biosynthetic factories, which then produce the molecules. If we don't have the molecule, the cluster is useless."

Once you have a scalable process for producing chemicals that are potential drugs via DNA sequencing & analysis and bacterial synthesis, how do you figure out what disease process to test those chemicals against? Do you shotgun them against a large set of disease processes? Purify the product, analyze it, and store it in a database and do theoretical work to pick out candidate diseases for the chemical? Is there something about the gene cluster that gives clues as to what the chemical might be doing for the organism?

<comment><USER8> The knowledge of what the gene cluster does (by creating animals where that gene is unnaturally over or underexpressed) gives insight into what the genes product might do.

Not that different than what is currently done in biopharmaceutical research.

</comment></comment><comment><USER9> I will love to be able to switch career path at some point in the (far) future, but I don't see how to start doing the move.

</comment><comment><USER10> _Researchers today may alter, copy, and paste DNA with increasing ease, but they still struggle when it comes to actually composing DNA that does anything useful. They are still editing nature's code and learning from it. It turns out that for now, nature is still the best programmer._

Sounds like Intelligent Design.

<comment><USER11> I tend to see the evolutionary process as a sort of pseudo intelligence, constantly striving to make the best organism for the environment it's in.</comment></comment>


8 reactors could be lost? Fukushima from Google Earth. [pics] - <AUTHOR> http://imgur.com/a/TsVXr

<comment><USER2> According to <http://www.iaea.org/newscenter/news/tsunamiupdate01.html>, "all units at the Fukushima Daini, Onagawa, and Tokai nuclear power plants are in a safe and stable condition (i.e. cold shutdown)".

Dai-ichi is Fukushima I: 'ichi' is Japanese for 'one'.

Dai-ni is Fukushima II: 'ni' is Japanese for 'two'.

</comment><comment><AUTHOR> Not exactly sure, but Wikipedia says 2 of the reactors are not yet built? Not sure. Looks like if there is a meltdown both plants would not be habitable, so at least 6 reactors lost! How much does that cost?

<http://en.wikipedia.org/wiki/Fukushima_I_Nuclear_Power_Plant></comment>


A Millionaire At 15 - Dominic McVey. How Did He Do It? - <AUTHOR> http://uk.finance.yahoo.com/news/how-dominic-mcvey-became-a-millionaire-at-15.html

<comment><USER2> I love making money and running a business, but I'm glad I started in my mid- late 20s. I feel like this kid missed out on a lot.

<comment><AUTHOR> That's true. I started during high school (Dive Into iOS <http://diveintoios.com> and Pragmatic Lab <http://pragmaticlab.com>), but ain't sure if I should continue that through university.</comment></comment>


How likely is the NSA PRISM program to catch a terrorist?  - <AUTHOR> http://bayesianbiologist.com/2013/06/06/how-likely-is-the-nsa-prism-program-to-catch-a-terrorist/ <comment><USER2> > _How likely is the NSA PRISM program to catch a terrorist?_

A better question, which involves historical understanding about the issue rather than going directly to the maths and taking the framing of the thing as granted:

How likely is the NSA PRISM program even cares about catching terrorists?

Sure, they wouldn't say no if it did. It would even justify the program to the eyes of the public.

But, thing is, similar programs have been going on for centuries in all governments. They care only about two things: spying on third countries (enemies, competitors, etc, things that effect commerce and military) and spying on their own citizens (population control, etc). Those programs have roots aeons before 9/11, and aeons before "terrorism" was any real concern of the government.

<comment><USER3> The NSA isn't stupid. They know that screening for absurdly low incident things is an exercise in futility. I draw the same conclusion as you because of this: _they don 't care_.

...well, not about terrorists anyway. If you are interested in flagging people that make up a much larger portion of the population then such systems are very practical. A P(flag|pot head)=.99 and P(flag|sober)=.01 would make for a distressingly effective system for example.

<comment><USER4> I don't think it's even really about flagging anyone. The objective is more likely to be good old-fashioned careerism than anything else. These guys are in the business of "screening for terrorists" (apparently), so they are unlikely to want to see less terrorists in the world. That would put them out of a job. No, much better to expand the definition of terrorist, and expand surveilance so they have plenty of work to keep busy with.

</comment></comment></comment><comment><USER5> This shouldn't even be a question. Are we going to ask how likely is that torture is going to work, too?

We shouldn't allow broad surveillance of everything you ever do or say online, and we shouldn't accept torture as a means of interrogation either. This is simply deciding about the kind of society we want to be.

Terrorists can be dealt with in other ways, too, and one of them would be trying to avoid creating blowback and radicalizing future generations of terrorists because of current actions.

<comment><USER6> Maybe this makes me a bad person, but I'd ask how effective torture would be. If torturing, say, five people a year for one day each, prevented all deaths from war and terrorism for the whole year? Make that deal any day.

To me the problem with torture isn't that it's "bad". It's that it doesn't serve a useful purpose and serves many counter-purposes. If it wasn't so clearly useless, I'd have to think a lot more about whether I'd support it.

<comment><USER7> > If torturing, say, five people a year for one day each, prevented all deaths > from war and terrorism for the whole year? Make that deal any day.

Ok, we'll start with you.

This had better work!

<comment><USER6> I'm not really sure what you're getting at. I acknowledged efficacy in my comment. Individual reluctance to be harmed has almost nothing to do with the calculation of whether it's overall a better world with the policy or without.

<comment><USER7> It's only a better world from the perspective of those that are not being tortured.

The fact that by massive voting imbalance those few being tortured would have 0 chance of stopping it does not begin to describe the injustices inherent in your proposed scheme.

Ethics and principles are hard to reconcile with statistics and calculations, by suggesting that there is a greater good for which you will discard your principles in a heartbeat you are devaluing everything.

The question then becomes where do you draw the line?

A few individuals? A few tens of individuals? A few hundred? A few thousand? As long as it is one person less than would be killed otherwise?

Best not to make that first step and stick to 'torture is bad, no matter what the upside'.

<comment><USER6> I don't really believe in ethics or principles. Those are just words people use to dress up their preferences about how the world should work.

Where do you draw the line therefore zero is a standard approach from the nays in almost any policy debate, but it is easily defeated. I draw the line somewhere. Not sure where. I'd have to figure it out if I ever heard evidence that Convinced me torture is useful.

<comment><USER3> If torture were useful and ethics don't exist, then why would you draw the line anywhere other than "one less victim"?

<comment><USER8> Because of a thing called the discount rate. For future or uncertain outcomes, one rationally discounts the amount they are willing to pay right now, with 100% certainty, against the future and/or uncertain outcome.

There's a possibility (IMO, a certainty) that torture isn't 100% effective, and there's some number greater than 100 of deaths that I'd need to avoid a year from now to torture 100 people today. (some of those 100 might die anyway before the terror event; we might thwart the terror event via some other means; the terror threat may itself disappear [death of those terrorists or other means])

It's just another case of "pay me $1MM today and I promise to pay you back exactly $1MM in 20 years"...

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> An interesting application of Bayesian reasoning to the problem of screening for low-base-rate phenomena. (And terrorist criminal activity is a lower-base- rate phenomenon in the United States, so far, than prostate cancer or other dangers that are screened for.) The mathematics, of course, is exquisitely sensitive to exactly how sensitive and specific a screening program is. (By the way, so far news reports are saying that the NSA program that is all over the front page of Hacker News, deservedly so in my opinion, is not a screening program but a data collection program, with analysis of the collected data triggered only by other kinds of law enforcement evidence-gathering. We'll see what further reporting says about that issue.)

<comment><USER10> There is only one reason for collecting this data, to analyze it... and the biggest obstacle is the gathering of that data.

<comment><USER11> Well I guess technically there is this pesky thing getting in the way called the Constitution. But they re-defined some terms, moved some things around, decided that 'search' probably occurs when a human looks at the data (LOL, founding fathers didn't know about databases ;-). So it is not just a technical challenge, given their budgets they can solve the technical side it seems.

Imagine also (and I've mentioned this before) there is no statute of limitations on historical data in case of warrant/nsl, so if warrant is every issued (and we know they are never denied) they can get _all_ your data from years and years back. Emails you sent 10 years ago to secret lovers, jokes about punching the president in the face when you were 13 years old, stuff like that. Make no mistake they will find stuff to blackmail, jail, or scare anyone into anything if they dig hard and long enough into everyone's past.

I suspect more of the people involved in this will decide to do what Manning did. They see the waste, the lies, wars on terror, wars on drugs. If anything, NSA and other XYZ agencies, love to hire patriotic people, and a fraction of a percent of them maybe still are and will say "fuck it, everyone needs to know about this".

</comment></comment></comment><comment><USER12> Many of us with some (Bayesian) statistics/game-theory backgrounds are familiar with these kinds of puzzles. There are many (many) such anecdotes littered through math textbooks (HIV +/- testing comes to mind) as well as some real-life scenarios (UC Berkeley hiring practices and women comes to mind -- 1970s case).

HOWEVER, let me just say that two metrics in this little puzzle are simply wrong (or at the very least unfair):

P(+ | bad guy) is simply a LOT larger than 0.99 if you want to play the game correctly. The + comes from a POSITIVE outcome -- that is, a terrorist attack is thwarted and someone is thrown in jail. Some noise in the system (i.e. pizza orders) does NOT skew the positives down. After all, discerning between pizza orders and terrorist activity is _part of the algorithmic process_ \-- the automated system may flag both cases, but the buck doesn't stop there (or anywhere close).

P(+ | good guy), again, suffers from the same problems as P(+ | bad guy). Unless there is evidence of 1% of the people being monitored being thrown in jail for terrorism charges, that number is a lot (lot) less than 1%.

There have been plenty of bogus terrorism charges (see Guantanamo) and I think there may be something here. But if we want to play this game correctly, we need to be careful. To do this simulation, we need numbers that we will simply never have access to: e.g. how many terrorist threats did PRISM avert?

<comment><USER13> You are conflating the chance of being singled out of by PRISM with the final outcome of the process involving its use, and the benefits vs. damage done.

He's not measuring, or even saying anything about, the latter.

The point he is making is that to get any benefits out of PRISM, no matter how you value those benefits, you'll need to do a _massive_ amount of further investigation to be able to identify an actual terrorist (unless you were to take drastic action; e.g. imprisoning everyone that gets "reported" \- but the high number of reports to bad guys also means that becomes "impossible")

</comment></comment><comment><USER14> This is an incorrect question. Anti-terrorism is not the only thing the NSA is interested in.

Better question: How likely is the NSA PRISM program to provide intelligence useful to the NSA's mission?

<comment><USER15> If you're going to pose that question, you better pose the other question: is NSA's mission legal/moral?

<comment><USER14> I wouldn't conflate legal with moral. Those are two separate questions.

<comment><USER15> I was trying to save space. That was actually two separate questions.

</comment></comment></comment></comment><comment><USER16> This is a very well known problem, but one that no politician on this planet seems to understand.

Of course, as others have pointed out, the problem is not the likelihood of getting a bad guy. The problem is that the means are unacceptable, no matter the goal.

</comment><comment><USER17> Is that what it's for? I thought it'd be a big retroactive database; identify someone we want to know about now, and then look back through the last year's records to see what she's been doing.

</comment><comment><USER18> I wonder if the intense scrutiny these programs are coming under increases the likelihood of catching the next attempted terrorist attack by using them. (if you catch my cynical drift)

</comment><comment><USER19> So? 1/10,100 isn't bad at all. Suppose you have many independent tests, each creating watchlists. Suddenly you have the intersection of individuals hitting each of these, and the number of "interesting" individuals narrows. This is not a univariate problem; they're likely correlating everything to everything, and have adaptive snooping methods based on how high you are ranked a risk. Once you're high enough, field offices know about you and will keep a closer eye. It's really not a needle in a haystack (and as a privacy nerd, it pains me to say this, but I bet it is working).

<comment><USER5> I think what his data shows is that _out of 10,000 terrorists_ , it might help catch _one_.

Remember they've been doing this for more than a decade, and it still didn't help them with the Boston bombers. They even had the guy in custody before. Still didn't help. The abuse of surveillance power is not effective, even if it was legal/constitutional.

<comment><USER20> Wait, media were talking about Prism before? You have no idea the effect they had on terrorism. We can't tell with the information we have currently. We don't even know which information is true. Maybe they saved ton of terrorist attack, maybe they got multiple criminal or killers with that, but we won't know because they never said it was with the help of Prism.

All we know is that this project cost 20 millions, they had access to informations from a dozen companies, which is easily multiples hundred terabytes, probably even petabytes. I doubt 20 millions is enough to do anything useful with these informations. However can we even trust theses slides?...

<comment><USER15> Why on earth would you assume it's working? This is immoral and wrong, it's up to the government to show that it's buying us something (but I'd be against it even then). If they don't show that we should assume it hasn't stopped even one crime.

</comment></comment></comment></comment><comment><USER15> Well, it's been running for a while, how many _has it caught_? Oh, zero? Yea, that's what I expected.

</comment><comment><USER21> > How likely is the NSA PRISM program to catch a terrorist?

Chechen Pressure Cooker Bombers: 1 NSA: 0

</comment><comment><USER22> "So you're saying there's a chance..."

Haven't read it, but couldn't resist as it's an obvious conclusion.</comment>


Achievement Unlocked: The 2019 IPFS Roadmap - <AUTHOR> https://blog.ipfs.io/78-ipfs-2019-roadmap/ <comment><USER2> I hope they can get bandwidth limiting going: [https://github.com/ipfs/go- ipfs/issues/3065](https://github.com/ipfs/go-ipfs/issues/3065)

I've had good results with the workaround described using Trickle, FWIW.</comment>


'The Office' Leaving Netflix Is Going to Drive Viewers Back to Piracy - <AUTHOR> https://www.vice.com/en_us/article/wjvyyz/the-office-leaving-netflix-is-going-to-drive-viewers-back-to-piracy <comment><USER2> The industry would do well to heed this meme:

If you are a pirate this is what you get:

[http://i.imgur.com/GxzeV.jpg](http://i.imgur.com/GxzeV.jpg)

To compete against piracy, they also have to be easier than piracy. Netflix won against piracy because Netflix was easier and lower friction than hunting down pirate copies (because of the "one-stop-shop" aspect of Netflix).

Attempting to bring back a multitude of individual walled gardens, each wanting a separate entrance fee, will, as this article correctly notes, simply make piracy again the easier, lower friction, alternative, and the industry will kill the golden goose even before it is fully hatched.

</comment><comment><AUTHOR> In a few years, "subscription fatigue" will become well known and remembered as the trigger that caused streaming services to collapse because of their own greed and stupidity. Every provider thinks they can beat others and capture (or steal) viewers' attention and time in a zero sum game.

People have already gotten used to subscribing for a month, binge watching a few favorites and then canceling. Unless monthly prices go up a lot and push people to favor lower annual subscription prices, many of these services will see users using them like utilities — turn on for a month or two in a year and then turn it off.

Pricing games that make it costlier for viewers to watch what they want, when they want, where they want will only hurt all the providers. Piracy will come back with even better user experiences than before. After all, piracy's USP has usually been a better user experience.</comment>


US top cop decries encryption, demands backdoors - <AUTHOR> http://arstechnica.com/tech-policy/2014/10/us-top-cop-decries-encryption-demands-backdoors/ <comment><USER2> Why is anyone letting Holder get away with this kind of nonsense? The Snowden revelations show that the FBI (which does the NSA's USA dirty work for the most part) doesn't follow any plainly-worded rules, and may not follow any rules at all. Also, "pedophiles" and "terrorists" are the new boogey men, since "communists!" lost its inherent scariness. We know that someone made a tidy profit on CIA-led coups in South America in the 1950s ([http://www.nber.org/papers/w16952.pdf](http://www.nber.org/papers/w16952.pdf)). Why wouldn't the even less upright members of the Deep State today hesitate to profit from dragnet surveillance now?

</comment><comment><USER3> Lets just play along and pretend they are unable to let themselves in.. ♜☡♘

</comment><comment><USER4> You can be too big to jail, unless you dare encrypt your mail? Fuck Eric Holder.</comment>


Ask HN: Is any of Dave Cutler's code open source? - <AUTHOR> Just read an article from Microsoft on Dave Cutler receiving CHM Fellow title, and was wondering if any of his code is publicly available. <comment><USER2> I had the privilege to work on the windows kernel team in the NT5 then XP days. I really wish they could share some of his code. it was the cleanest, well segmented, and commented code I've ever seen. it made the system much more maintainable and understandable, in areas that are inherently complex. great interfaces with a clear understanding of what was going in and coming out. and it helped all the other devs raise their game.

<comment><USER3> At Microsoft the joke, which was funny but also pretty much true, is that when MS invents a new "top of the ladder" engineering title (Distinguished Engineer, Fellow, Senior Fellow, etc.), Dave Cutler always gets it first. His influence on Windows is huge. As just one example, there basically wouldn't be a 64-bit Windows if he hadn't personally forced it into existence.

<comment><USER2> there is exactly one "senior technical fellow" at the company - davec.

while is wasn't entirely a solo effort - folks like forrest foltz, landy wang, etc were involved - it was amazing coming in on a monday morning and seeing the email that said "sync your enlistments and rebuild, you'll see a new amd64 version" and 95% of the system was now building and running for x64. it was crazy.

</comment></comment></comment><comment><USER4> I have been wondering the same thing. Also, Larry Osterman had hinted that Gary Kimura (one of the core 12 who joined Microsoft with Cutler) had an interesting coding style, but I don't think he ever got around to writing about it. I have always been curious to know what was so interesting about it.

[https://blogs.msdn.microsoft.com/larryosterman/2004/08/27/it...](https://blogs.msdn.microsoft.com/larryosterman/2004/08/27/it- was-20-years-ago-today/)

</comment><comment><USER5> Out of curiosity, I just googled around and found some code samples: [https://www.google.com/#q=David+Cutler+davec+site%3Apudn.com...](https://www.google.com/#q=David+Cutler+davec+site%3Apudn.com+inurl%3Asourcecode%2Fwindows%2F248345%2Fwin2k)

<comment><USER6> Quick warning to people wanting to take a look: This code is part of a famous code leak that happened 12 years ago, in which large portions (a 200mb rar file) of the Windows NT/2000 source code found its way to the internet thanks to a company named Mainsoft being hacked. You'll notice that there's a bunch of .eml files.

There's actual kernel code in here, reading this code could most likely prevent from working on WINE or ReactOS and who knows what else could apply under your jurisdiction.

It's funny that his code is right there for us to see, but we shouldn't see it!

<comment><USER7> This code is great, I just wish you guys could see it!

</comment></comment></comment><comment><USER8> Btw, publicly available isn't the same as open source. You probably just want to look at this code, not modify it, redistribute it, or sell it. Right?

<comment><AUTHOR> Publicly available to me means: "for free, but in the binary form". Open Source = can have some constraints like CDDL license for example, but I can at least read the source code.

<comment><USER9> Your understanding of Open Source is ok (for you), but not in line with the rest of the world's use of the term. ;)

</comment></comment></comment><comment><USER10> It's not the first time I'm mentioning this around here, but the WRK 1.2 is quite easy to find online. Surely, there are some license issues with that, but with a simple google query you run into something like this : [http://gate.upm.ro/os/LABs/Windows_OS_Internals_Curriculum_R...](http://gate.upm.ro/os/LABs/Windows_OS_Internals_Curriculum_Resource_Kit- ACADEMIC/WindowsResearchKernel-WRK/WRK-v1.2/base/ntos/) .

Here you've got most of the kernel code of the Windows Server 2003. It's clear that Dave Cutler had a great influence on it.

</comment><comment><USER11> If you're a university student, Microsoft has an academic program where you get access to the "Windows research kernel", which is the NT kernel.

Also, the Windows 2000 code was leaked back in 2004; there's a torrent floating around in your nearest pirate bay. Disclaimer: I'm not promoting doing anything illegal.

</comment><comment><USER12> I heard a lot of times that he wrote bulk of the NT kernel himself, is that really correct? I feel like a lot of people in his team are not given enough credit, and I also feel like he is being pushed as another tech hero.

</comment><comment><USER13> You might want to take a look at the OpenVMS project. If "Open" means open source, I would expect to see Cutler's designs and code in the repository.

<comment><USER14> OpenVMS is closed source. The Open there refers to DEC's (then Compaq, then HP) use of pen standards like TCP/IP, instead of proprietary standards like DECnet.

</comment></comment><comment><USER15> You can get a free hobbyist license for OpenVMS, but I don't know if you get source (possibly) and it certainly isn't shareable/reuseable.

</comment><comment><USER16> I might be mistaken, please correct me if I'm wrong, but I think he is more of an designer and architect than someone who writes a lot of code himself.

If you want to understand his designs it might help to read the book Windows Internals.

<comment><USER3> IIRC, he wrote a lot of original NT code himself. But you're proposing a false dichotomy. The core NT team consisted of people who designed and architected their code, and then wrote it. A programming technique sadly rare in today's world!</comment></comment>


Bidding Tic-Tac-Toe - <AUTHOR> http://biddingttt.herokuapp.com/ <comment><USER2> This looks like a fun idea, and searching turns up some very interesting results on strategy.

But the game itself doesn't seem to accept typing bids; pressing a number key does nothing, and pressing enter seems to submit a bid of 0.</comment>


Git 2.3 has been released - <AUTHOR> https://github.com/blog/1957-git-2-3-has-been-released

<comment><USER2> > Now git branch -d supports a --force/-f option, which can be used to delete > a branch even if it hasn't been merged yet.

How is that different from `git branch -D`?

<comment><USER3> `git branch --force -d` is the same as `git branch -D`. But it is more consistent with other Git commands. Instead of having to change `-d` to `-D` to force the delete, you add the `-f/\--force` option like elsewhere.</comment></comment>


Our beautiful fake histories - <AUTHOR> https://joeyh.name/blog/entry/our_beautiful_fake_histories/ <comment><USER2> I take issue with the title. Is there a VCS that commits every keystroke individually? No, because that wouldn't be useful. There is always a choice in when and what to commit. The only thing with git is that it makes it easy to change things after the fact, but you can achieve something pretty close in svn by simply not committing until you're done with a feature.

It's not about faking anything, it's a question of what information you want to leave for posterity. And frankly I come down pretty strongly against preserving warts for warts sake. As a rule of thumb, commits should be as fine-grained as possible without breaking the build. In my experience more detail than that gives diminishing returns in utility as the signal-to-noise ratio drops and you get overwhelmed with details which only represent a brain fart on the part of the developer, and never had any measurable impact on the project.

<comment><USER3> >It's not about faking anything, it's a question of what information you want to leave for posterity

Exactly, i bet when this guy wrote his blog post he used backspace more than once. No idea why he thinks git is any different.

I commit all kind of garbage while developing: stackoverflow references, commented code examples, temp commits when i have to leave in a hurry, etc... rebasing --interactive + merge (with optional no-ff if you hate linear history) is a must and basic respect for your colleagues.

You can cook naked if you want but i dont want to see your pubes in my meal.

</comment></comment><comment><USER4> I've been thinking of a "sub-commit" concept, so a "beautiful, fake" commit that is atomic for most git operations, can be inspected more deeply, revealing bundled messy sub-commits that may be useful for understanding the history of that change. You get "every commit is a deliberately chosen, well- tested logical unit" as well as "present history as it actually happened." Maybe something like this can be done with certain branch/merge workflows, but I haven't seen it and don't understand git well enough to come up with it myself.

<comment><USER5> I think merge commits are sufficient but I thought a tool/script could help so I made [git-pinch][1]. It makes it easy to make merge commits without having to go through the trouble of making a branch. I wouldn't say others should necessarily use it but maybe it's a start. One thing merge commits add in complicating one's workflow is rebase requires options to preserve them and sometimes doesn't play nice.

[1]: [https://github.com/nnutter/git-pinch](https://github.com/nnutter/git- pinch)

<comment><USER4> That's a neat tool I'll keep in mind, thanks.

</comment></comment></comment><comment><USER6> I use the following to jump from merge to merge when bisecting (we use pull requests as our main "clean history" management).

       "!git checkout `git rev-list --bisect --first-parent`"

</comment><comment><USER7> I wrote a tool a while ago (4 years? my, time flies) that does exactly what's requested there (bisects across merge commits): [https://github.com/ayust/misc/blob/master/bisect- merges](https://github.com/ayust/misc/blob/master/bisect-merges)

</comment><comment><USER8> I have to side with Joey on this one. Sure in a world like the Linux kernel, where things are still done via emailed patches, avoiding sending a patch-bomb to a maintainer warrants some editorial control on the history of a feature. However, like Joey, I tend to find beauty in the organic evolution of code. Plus I like others to see all the commits where I'm just cursing out build systems, or dev tools or just mumbling about a 'misspeeling'.

<comment><AUTHOR> It's not the volume of patches that's a problem. Linux is actually pickier than most projects about "one logical change per commit". However, I'm a big fan of "every single commit must compile and be logically correct".

The combination of the two can make it difficult to "evolve" the code incrementally towards a wildly different solution, but I think it's a good step to reduce the complexity individual developers and maintainers have to deal with, as well as enforcing desirable properties of the resulting git commits.

</comment></comment><comment><AUTHOR> While I personally like git's curated commit model (in particular the "keep trying until you get it right and _then_ merge" approach rather than a series of "fix the fix" commits that don't all build), I do think Joey has hit on an interesting principle of many git-using communities, and how it has affected the tools used to maintain that principle.

</comment><comment><USER9> Git is pretty easy to contribute to, fwiw. Thought it does require you to create patches and send them to the mailing list like the linux kernel does.</comment>


Show HN: All available Emoji domains in one place - <AUTHOR> https://xn--f28h.to <comment><AUTHOR> I recently discovered .to domains allow for emoji like .ws and a few other ccTLDs.

While they have some (technical) downsides I figured they'd be interesting to experiment with so I was curious if any good ones were still available. Manually checking them one-by-one was kinda cumbersome, so I wrote a simple script to check availability for each possible single-emoji .to domain.

Turns out many were still available (about 70% at the time). I registered a few and decided to publicise the list. That was my weekend project ~2 weeks ago. Today I finally launched it.

I wrote more about the timeline and how I built it here: [https://medium.com/@marckohlbrugge/get-your-own-emoji- domain...](https://medium.com/@marckohlbrugge/get-your-own-emoji-domain-with- to-d2b0c79d3618)

Disclosure: I worked out an affiliate deal with my registrar so I get a 10% commission for each registration. Of course you're free to use your own registrar of choice.

<comment><USER2> Love it. Thanks for writing up your story.

<comment><AUTHOR> You're welcome :)

</comment></comment></comment><comment><USER3> Hey, very cool! I like the site's presentation.

I bought 🇸🇾 and 🇨🇿. Romania was taken already, sadly.

<comment><AUTHOR> Yeah the domains went quick after launch. 🇸🇾 and 🇨🇿 are nice though!

</comment></comment><comment><USER4> Domain name is the interface to a website, typing in emojis is bad UX. Not to mention sharing URLs, and how different user agents will handle them.

IMO, It's a safe bet against emoji domains taking off.

<comment><AUTHOR> There are definitely both pros and cons.

I personally wouldn't use them for a website where users would have to repeatedly enter the URL. They work better for advertising campaign as a redirecting link (e.g. on a billboard), or in situation where the URLs tend to be clicked instead of written.</comment></comment>


Amazon workers face 'increased risk of mental illness' - <AUTHOR> http://www.bbc.co.uk/news/business-25034598 <comment><USER3> Average people get all upset about unions when they see them applied to jobs that don't seem too too demanding.

But places like Walmart and Amazon are exactly why unions should exist, to counterbalance the inhumane over-optimization and maltreatment of people.

Amazon could probably make work less toxic by hiring 10% more people, but that would make things cost a few cents more.

<comment><USER4> Yes and no. This subject somewhat angers me.

Yes people like Walmart and Amazon workers need protection form maltreatment. Definitely. This should be built into the law though, not into unions.

And no because the existing unions don't really protect people. If you look at RMT, Unison and NUT they regularly pop up just to cause trouble. From a perspective of people having to consume services offered by their staff regularly, they want masses of additional pay and do not improve standards along the way _at all_. They are simply allowing the incompetent to be propped up by the good staff. Also, the professional minority who agree that this is the case are forced to be dragged into union ballots and vote with other staff in favour of strike action regularly in fear of retaliation from their colleagues.

Also let us not forget a much greater threat of exploitation: being forced to work with no pay under the guise of "training". This is happening a lot in the UK a the moment as the Job Centre has been pushing for people to do this by threatening to cut their benefits if they don't do it. The result is people being forced to work for no compensation and having to pay for travel expenses out of their own (literally destitute) pocket. The employers don't have to pay the staff either. The result of this is a dangled carrot of "if you do this, after 6-12 months we'll give you a permanent paid position". This inevitably results in being laid off as not needed immediately when they agreed to take you on.

There are even posters going up in Job Centres telling people "try staff for free":

[http://imgur.com/SdWpgvx](http://imgur.com/SdWpgvx)

Edit: Also I've spoken to some business associates (the sort who worship the fully paid up Lord Fuckwit Sugar himself) and are applauding this as a great way of building their businesses. This is simply unethical. I've been pretty much excluded for mentioning the inevitable "abhorrent slavery" point, not that I care.

<comment><USER5> _This is happening a lot in the UK a the moment as the Job Centre has been pushing for people to do this by threatening to cut their benefits if they don 't do it. The result is people being forced to work for no compensation and having to pay for travel expenses out of their own (literally destitute) pocket._

From the perspective of the employee/trainee, the only difference I see between this situation and actual employment is that the name on the check is different from the name of the employer. So what's the big deal?

<comment><USER4> That's the sort of ignorance that is promoted.

The big deal is that JSA which is the only paid amount is £56.80 a week. For a 40 hour standard week that is £1.42 an hour.

The national minimum wage is £6.31 an hour.

Not only that, the jobs in question can be literally 20-30 miles from your residential address so travelling is not even possible.

Also, we end up paying the JSA for the business. The business sees this as another expense avoided rather than an investment in the business. This should not be promoted!!

<comment><USER5> That number isn't right at all. I just pretended to be a single unemployed female with one child, and they said I was entitled to this:

Jobseeker's Allowance (Income based) £71.70 per week

Child Tax Credit £62.72 per week

Housing Benefit £115.39 per week

Child Benefit £20.30 per week

Total weekly income £270.11 per week

(This excludes the below market rent, $500gbp/month, I claimed to be paying for council housing.)

[https://www.dwpe- services.direct.gov.uk/portal/page/portal/b...](https://www.dwpe- services.direct.gov.uk/portal/page/portal/ba/lp?_piref301_66309_301_66308_66308.__ora_navig=action%3Dentitlement%26pageno%3D14)

That works out to 6.75GBP/hour.

As for the incentives on the business side, I agree with you. Rather than being private sector jobs, these should be low skill government jobs. We can even help the budget by replacing overpaid unionized govt workers with job seekers working for their benefits. But it's dishonest to claim that they are paid only 50GBP/week for their labor.

[edit: I took out the child, benefits were 187 GBP/week, ignoring council housing subsidies.]

<comment><USER4> It doesn't work like that. As someone who has been unemployed you have to deal with the following:

1\. Child tax credit works on your previous year's income so it can take up to a year to get adjusted. Same with child benefit.

2\. Housing benefit takes 8-12 weeks to come through. Not only that it won't cover most private rents inside the M25. The council waiting list is 3-5 years in London so you'll have to go into arrears. The only way out is to stop paying your rent and go the council and tell them you are homeless. At which point either you or your children are split up or you get wedged in what I can only describe as a "crackhead den" at best. My other half had to clean the needles away before she could wash in the morning when this happened to her (after she was made redundant and the market was suddenly saturated with her speciality).

3\. You don't get JSA immediately. It takes 4-8 weeks for it to start.

You don't just clap your hands when you're unemployed and cash starts rolling in. There are other concerns.

It's a fucking rough ride and not only that you have to do the legwork and deal with government incompetence and prejudice along the way which is more than rife.

<comment><USER5> Try to pay attention. We were discussing the "problem" of people already receiving benefits being compelled to work for those benefits.

While it is a problem that the council allows crackheads into public housing, and there may be problems with government incompetence, this is a somewhat separate discussion. Tangentially, if you want to require drug tests for benefits and kick people out of council housing for antisocial behavior, I have no objection.

<comment><USER4> There is nothing wrong with receiving benefits. I actually receive low rate disability for two members of my family and child tax credit.

My point is that only the JSA covers your salary. The rest is for the care of your children and your accommodation, some of which you still have to pay from your JSA allowance.

You are likely to still receive all other benefits equally whether salaried at a low rate or on JSA so the difference is moot. This is simply a case of salaried vs JSA.

Actually people with social problems such as drug use and psychological problems need more help than most so they should probably get more money, but in a controlled way (untradeable LV's, healthcare etc).

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> "Desk jockey does manual labor and his feet hurt, story at 11"

I worked the graveyard shift as a picker at Amazon back around '00\. Back then Amazon was so nervous about anybody introducing a bug in the site that all software engineers were put to work either at warehouses or as customer service agents during the holidays. I worked customer service one year and picked for two years, both times during graveyard shifts. This involved flying out to the middle of nowhere from the Seattle headquarters and living out of a hotel.

Honestly, it was a lot of fun. Seeing those parts of the operation was fascinating, and Amazon encouraged you to look for inefficiencies and offer solutions or think about how you could fix things once you got back behind a keyboard.

Our shifts were exactly the same as the full time workers, but they were faster than us, especially at first. Your feet do indeed hurt and you do indeed walk a ton, but that is more because you've been sitting on your ass for 12 hours a day instead of actually using your body.

Yes, you are a mechanical turk in the strictest sense of the word, being dispatched by your hand scanner to go find something and put it in a cart, but it isn't hard work, just a bit boring. If you take it seriously and get good at troubleshooting shortages, then you start getting to do things that require a bit more problem solving, but even the really menial stations aren't terribly bad.

In short, this is just a bunch of whining that manual labor is hard work and not terribly engaging. The conditions themselves are plenty good, hard to imagine them being better while doing the same job.

They are nothing, nothing at all like the conditions any number of people work every day to manufacture your shoes, t-shirts and electronic equipment. You get to move around, you aren't on an assembly line, the work is varied in its environment.

So shut your trap and get back to picking, there's product to get out to customers.

<comment><USER7> There are some rather key differences though don't you think? I imagine as a reasonably valued software engineer you weren't likely to face disciplinary action or loss of employment for not picking fast enough, thus negating a huge cause of stress/anxiety. You also had the knowledge of a definite finite term of employment followed by more relaxing/agreeable work, another rather significant difference.

You also talk about troubleshooting shortages and getting to do things that require problem solving. It sounds from this article (and others like it over the last few years) that this kind of thing, if even still available at all, is not likely to happen to your average seasonal employee.

The fact that other people have it worse in various sweatshops around the world is hardly relevant, or particularly edifying. We are quite capable of seeing problems as a matter of degree I would hope.

Your comment comes across as a little like the CEO who spends a day on the factory floor and proclaims that he had a marvelous time and everyone treated him wonderfully. Unsurprising, but hardly enlightening...

<comment><USER6> We were definitely measured the same as everyone else and had the same targets, though obviously didn't face the same repercussions. The targets were hard at first but once you got the hang of it nothing terribly difficult.

It is manual labor, I don't really understand the arguments against. Yes, it is work, yes it is boring, but so it being a gas station attendant. The people I worked side by side with seemed happy enough.

Maybe I lack empathy, but geez, I actually did it for a while, and you and the other respondent didn't... so maybe another option is that the article is a bit sensational and it isn't as bad as it is made out?

Sore feet and that it is boring and are his primary complaints.. really? This is something to get up in arms about?

</comment></comment></comment><comment><USER8> Which headline is more likely in the next 5-10 years?

"Amazon improves lives of 5,000 manual pickers by introducing fully automated robotic supply chain. Workers now free to find other employment."

Or

"Profit crazed Amazon to employ 5,000 android robot zombies, lays off entire human workforce."

Manual labor of this sort isn't exciting or creative for most people. You don't really have room for creativity with this sort of job unless you are iterating on the system level -- and I'm most certain they have a way for pickers to contribute ideas to that. Then again, people play Candy Crush saga for hours a day and PAY for the privilege.. At least these guys get paid and get to walk around.

Once the cost of automating people out completely is less than human labor, it will happen almost instantly.. That is the bigger social issue folks should be looking at -- what will we do when General Human Labor is more expensive than General Machine Labor? Combine this with General Artificial Intelligence and human labor becomes worth less and less.. As someone formally trained as an Urban Planner, this was the biggest issue I saw in grad school as a rapidly approaching social concern.

</comment><comment><USER9> Here is another scary read: "I Was a Warehouse Wage Slave" [http://www.motherjones.com/politics/2012/02/mac- mcclelland-f...](http://www.motherjones.com/politics/2012/02/mac-mcclelland- free-online-shipping-warehouses-labor)

</comment><comment><USER10> I worked as a picker for a few days in a large distribution facility in my home town when I was in high school; this was over 20 years ago. They had rails everywhere through the complex which seemed to do nothing; when I asked what that was, they explained that they, together with the biggest IT company in NL, made software and robots to do our work automatically. It would be put in production the next year. It hasn't still. Why are humans still doing this work? Surely this can be automated, especially as companies have been working on that idea for well over 20 years, probably more?

<comment><USER11> "Why are humans still doing this work?"

Given that Amazon is no stranger to technology I suspect the answer is that it simply doesn't make financial sense. I suspect the capex on a standard Amazon shipping center is probably pretty low (lease a warehouse, put in computer systems, hire a crowd of temp workers).

<comment><USER12> Take it from someone who's tried making it work : grasping is too fucking hard. It looks so simple, a baby could do it. A hand grasping objects.

Many things that many people believe robots can do are in this category. The absolute state of the art is balancing (not walking) on 2 legs (which does allow you to move, but ...), and walking on 4 legs (it's not really walking like for example a cat does, but it's better than balancing)

But the control loop for grasping arbitrary 3d objects given a camera image of the object and the hand ... such a stupid thing is a completely unsolved problem, and it's we're not anywhere near solving it.

Here's how amazon sidesteps that problem : [http://www.youtube.com/watch?v=6KRjuuEVEZs&noredirect=1](http://www.youtube.com/watch?v=6KRjuuEVEZs&noredirect=1)

<comment><USER13> On the problem of grasping, can you please comment on this video [1]? Instead of making a robot "hand", they have filled a balloon with ground coffee beans. "Grasping" and "ungrasping" then simply becomes sucking air out of, and pushing air into the balloon.

Is there some downside to this that I'm not seeing?

[1] [http://www.youtube.com/watch?v=ZKOI_lVDPpw](http://www.youtube.com/watch?v=ZKOI_lVDPpw)

<comment><USER14> "Is there some downside to this that I'm not seeing?"

Most real world engineering problems boil down to long term reliability. Its just assumed you'll get your statics and dynamics correct and all that basic stuff, the actual brain power burned on the job is designing stuff that actually works 1M times and tolerates every component being 5% off the exact value or whatever. I think this would be a huge headache in the very long term reliability category.

<comment><USER13> Thanks. I did not know this.

<comment><USER12> What you see in that movie, the uncooked egg pickup, is becoming somewhat of a litmus test. Trying to reliably instruct a robot to put some 20 eggs from one basket into another without breaking any, and without prior knowledge of the position of the eggs and so on, that'll mean a lot.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> I worked at an Amazon warehouse in Texas as a seasonal employee about a month ago. It was an absolutely miserable experience - and I say that as someone who has worked plenty of low-end manual jobs. I only lasted a month.

Shifts were 10 hours and had two 15 minute breaks and a 30 minute lunch. The floor is large and there is no cafeteria, so it usually was more like a 15 minute break after you walked over to the breakroom and nuked lunch.

That in and of itself was not so bad - I've had food service jobs where we had no breaks at all. But that combined with the actual job duties, combined with the conditions, combined with rigid management, and 1984 "ministry of truth" style propaganda - all that added up to an absolutely miserable experience. It's very hard for me to really communicate why it was so miserable, because I don't fully understand it myself - but I will try. But I will say that I've spent time in prison - and I would choose prison any day over returning to work at Amazon.

I applied online, went on an interview and started a month later. I had a few months free and being a long time Amazon customer and admirer I thought it would be an interesting job to check out for a little bit. I heard it was a warehouse for just books and dvd's, and that it was a brand new warehouse that was just opening up. I read a long PR piece talking about how Amazon had every year changed the design of the warehouses based on what they had learned from the warehouses built previous years. So this was a brand new design that was supposed to be more efficient and also more thoughtful of workers.

I was assigned a shift - Sunday to Wednesday 6am to 5:30 pm. I was not given an option, and when I finally found an HR contact a week before I started to ask if it was possible to change shifts I never heard back from them.

So I was like whatever and went to orientation. It was me and 6 others. By the time I left the job a month later, only 3 remained of that original group. The first to leave and the one I got to know the best was an ex-hooters girl who was my age (31) who was sick of waiting tables and wanted to work for a company she could move up in.

She left a week and a half in after having severe allergies in response to the thick coating of dust throughout the warehouse and on all the shelving we were working "stowing" product on. It turned out it wasn't just books and dvd's - in fact that was a small percentage of what I worked with. Mostly it was cheap consumer goods - the kind I despise and that is slowly killing our planet. The shelves often reeked of toiletries and chemicals and perfumes of various kinds, mixing with the dust to inspire a sickly feeling. FYI exposure to dust and chemicals are conductive to good health.

The job was simple: take some carts of newly shipped product and "stow" them on the shelves: i.e. find space on the shelving where it fits and scan it into the system so it shows up as being available and ready to ship on the online website. It was fairly easy in some ways - the problem was doing that for 10 hours with hardly any interruption, and being surrounded by all that dust and smell and crappy mindless consumer goods. I didn't feel good about what I was doing. I had 3 days off, which I thought at first was great - but it would usually take me those 3 days to just recover from what I experienced in the 4 I was at work.

(Note: if I was given some freedom as to when I did the job, or the timing or duration of breaks, or how long my shifts were - this would not have been that bad a job. I can put up with shit for a few hours - but not 10 without a real break to speak of. And that was it - it was either work within these rigid parameters or not work at all. And so I chose the latter.)

It was a mindless monotonous job, but to make matters work, all over the place Amazon had signs saying "Have fun". Every morning and afternoon after we had our group meeting they repeated this over and over again before we went off to work. Trust me, no one was having fun. Maybe a few in management, but certainly none of the direct workers. It was insulting.

I could go on, but I'm bored. I will finish with something I came across recently, which can be compared to my experience. How bad you consider the job depends on what you compare it to. If you believe that someone living is misery (or, to put it more mildly, doing uninspiring and unimproving labor) is worth it for someone else to receive at a cheap price what in many cases is an unneedful trinket, then my point is mute. But if human happiness and potential is valuable, then this is not a job worthy of human beings. John Ruskin said it much better than I:

"We have much studied and much perfected the great civilised invention of the division of labour; only we give it a false name. Truly speaking it is not the labour that is divided; but the men: – Divided into mere segments of men – broken into small fragments and crumbs of life; so that the little piece of intelligence that is left in a man is not enough to make a pin.

"Only in right understanding on the part of all classes of what kinds of labor are good for men, raising them & making them happy, and by a determined sacrifice of such convenience, or beauty, or cheapness as is to be got only by the degradation of the workman; and by equally determined demand for the products and results of healthy and ennobling labour can this evil be met."

Prior to working there, I had begun taking seriously the treatment of the animals whose products I ate - milk products, eggs, meat ect. Part of what inspired me to work at Amazon was to see what I was supporting when I purchased from them.

Needless to say, I will never again buy a physical product from Amazon - <USER2> am trying to ween myself off their digital products. We are far past the time when such demeaning labor should be supported.

<comment><USER16> Wow ... this story reminds me of Marshall Brain's Manna story.

I don't understand how much money a company would lose if they changed the hours to 3 or 4 hours per person. Fine, they'd double or triple their workforce and have to deal with more HR/paperwork. But the costs don't increase. This makes me wonder if the reason is not cost but control. If company X is the only thing in your life, you will likely be a more "compliant" worker. This kind of stuff scares the heck out of me :(

<comment><USER17> Dude, how about this line from the OP Guardian article? It kind of is Manna...

> A handset told him what to collect and put on his trolley. It allotted him a > set number of seconds to find each product and counted down. If he made a > mistake the scanner beeped.

> "We are machines, we are robots, we plug our scanner in, we're holding it, > but we might as well be plugging it into ourselves", he said.

</comment></comment></comment><comment><USER18> Signs that today is not going to be a good day:

The BBC do an article where a well respected health researcher has analyzed the software that you write the interface for, and described it as "all the bad stuff at once".

</comment><comment> chestnut-tree Just watched the BBC programme associated with this story. The goods pickers are treated like automatons. The work is pretty gruelling and pretty demoralising too.

Some interesting information in the programme:

\- The Scottish Government gave Amazon a £6.8 million grant to persuade it to set up shop in Scotland.

\- The Welsh Government gave Amazon an £8.8 million grant + £4.5 million to build a road for it's distribution centre in Swansea.

\- Amazon operate a points system for their temporary workers. If you gain three points, you're sacked. A day off sick rewards you with one point penalty. In the programme, the undercover worker was late by two minutes which gave him a half point penalty.

Quote from Professor Michael Marmot (University College, London) who was featured in the programme:

 _" If you say to me there are always going to be menial jobs, yes of course, but we can make them better or worse and it seems to me that the demands for efficiency at the cost of an individual's health and well-being - it's got to be balanced"_

</comment><comment><USER12> From the article

      A handset told him what to collect and put on his trolley. It allotted him a set
      number of seconds to find each product and counted down. If he made a mistake the
      scanner beeped."

      "We are machines, we are robots, we plug our scanner in, we're holding it, but we
      might as well be plugging it into ourselves", he said.

Really reminded me of this : [http://marshallbrain.com/manna1.htm](http://marshallbrain.com/manna1.htm)

Welcome to the future.

<comment><USER19> Goddamnit, why do the _nasty_ predictions for the future have to arrive early while the nice ones are always late?

<comment><USER20> Salvation is always just around the corner, but we are walking around a rotating platform struggling to even just keep the corner in sight.

<comment><USER21> Alongside the platform is a railway tunnel. If you walk down it to the left you will find a bundle of disconnected wiring and a sign reading; _" We are sorry to announce that due to unforseen circumstances and the state of the economy, the light at the end of the tunnel has now been switched off"_. If you were to walk in the other direction however there is brilliant illumination, but that is just the lights of an oncoming train.

<comment><USER20> You take the left path.

Your inventory contains: flashlight with unknown amount of battery power, shovel, binoculars, old brass ring, matchbox, notebook, pencil.

1\. Inspect the wiring.

2\. Continue in the dark.

3\. Turn back.

</comment></comment></comment></comment></comment><comment><USER22> at least the british press still cares enough about the average british worker to write an article like this.

The american press would only write an article like this if such conditions disparately impacted minority race workers.

Pretty soon the british press will do the same.

It just gets worse and worse. I see no light at the end of the tunnel.

The citizens of america do not even ask the right questions.

<comment><USER23> Low Wage workers need to fight for their rights and working conditions. Nobody is going to do that for them. That's class warfare, and it has never been more important than today.

<comment><USER24> Spoken like a person of privilege, someone completely out of touch with the challenges of the poor.

Have you considered that low wage workers may be too exhausted after working two and three jobs a day to engage in "class warfare"? They worry about meeting _basic_ needs for their families like rent and paying for medicines. Their war is survival.

Please, step out of your ivory tower and help them.</comment></comment></comment>


SF Community Network FAQ - <AUTHOR> http://www.sfwireless.org/wordpress/?page_id=14

<comment><USER2> I wonder if they have any advice/suggestions for other communities outside of SF to tackle this. It seems like a worthwhile project.</comment>


How to know you've been coding too long in .Net - <AUTHOR> https://lachlanbarclay.net/2015/04/coding-too-long-in-dot-net <comment><USER2> #22 got me

"Have you ever tried to use the xaml designer for... like... anything? Yeah I thought you'd enjoy that one."</comment>


TWiki.net Kicks Out All TWiki Contributors - <AUTHOR> http://tech.slashdot.org/tech/08/10/29/146201.shtml

<comment><USER2> This is interesting, as I am _just_ in the process of installing twiki. Might have to consider something else. Any suggestions for a package to handle Wiki + FAQ + Forums (at a minimum)?

<comment><USER3> You and the contributers still have access to the source code, so it is probably not time to panic yet.

</comment></comment><comment><USER4> Very Uncool.com.</comment>


Intel Xe-HP Graphics: Early Samples Offer 42 TFLOPs of FP32 Performance - <AUTHOR> https://www.anandtech.com/show/16018/intel-xe-hp-graphics-early-samples-offer-42-tflops-of-fp32-performance <comment><USER3> I would buy a discrete GPU from Intel without seeing any benchmarks. The only system I own in which desktop compositing actually works on Linux is the Intel one.

Both AMD and Nvidia drivers are dumpster fires in terms of stability (and for Nvidia, I've tried both nouveau and the binary drivers)

<comment><USER4> What problems have you experienced with AMD drivers?

I'm asking because Nvidia has been an absolute pain on my laptop (e.g. sleep is terribly broken), and I'm considering a switch over to the Ryzen 4700U, which has pretty powerful integrated Radeon graphics.

So I'm trying to decide if I should instead switch to i7-1065G7 instead, which has good integrated (Intel) graphics.

This is a really important question to me; I would appreciate any answers.

<comment><USER5> I have been running open source AMD drivers on my desktop since I got it (early 2018, Vega 64 GPU). They work well, and after so many years, it felt like a revelation to have problem-free high-performance 3D acceleration after a fresh installation of a default Linux kernel. The only place where AMD is still wonky is when you want to do GPGPU, but that is mostly down to AMDs byzantine and schizophrenic software strategy (just try to pin down which parts of ROCm you need, or what they do). You don't have to worry about that for graphics, though, as the amdgpu driver is in the kernel, and the default Mesa OpenGL works perfectly with it.

</comment></comment></comment><comment><USER6> Much more interested in architecture design and memory hierarchy than flops. Anything interesting going on in caching or memory hardware?

All the problems I work on need benefit from memory bandwidth and cache latency than raw FLOPS. I imagine others are in the same boat.

I was hoping this would be the start of some more architecture diversity like apples tile based deferred rendering.

<comment><USER4> In terms of memory architecture -- I've heard that memory is a bottleneck for the GPU, specifically the time it takes to move stuff from RAM (main memory) to the GPU's RAM/memory. If it is such a big bottleneck, then why don't we (yet) see powerful GPU sharing the same die as the CPU and accessing/using/sharing RAM with the CPU (like integrated GPUs do)? Then there'd be a _zero_ bottleneck. You would just load whatever into RAM, and just give the ( _super-powerful integrated_ ) GPU a pointer/address. Bam, done. Why hasn't this happened yet? / _What am I missing /misunderstanding here?_

<comment><USER7> > I've heard that memory is a bottleneck for the GPU, specifically the time it > takes to move stuff from RAM (main memory) to the GPU's RAM/memory. If it is > such a big bottleneck, then why don't we (yet) see powerful GPU sharing the > same die as the CPU and accessing/using/sharing RAM with the CPU (like > integrated GPUs do)? Then there'd be a zero bottleneck. You would just give > load whatever into RAM, and just give the (super-powerful integrated) GPU a > pointer/address. Bam, done. Why hasn't this happened yet? / What am I > missing/misunderstanding here?

That is not the only bottleneck involved.

Historically, GPUs have used GDDR ram as opposed to general purpose DDR memory. One of the key differences between GDDR and DDR is the bus width, which can be as large as 1024 bits, compared to conventional ram with a 64 bit bus width (although dual channel is effectively 128 bits). This much wider bus results in much higher memory bandwidth which is generally necessary to feed the truly enormous number of functional units in a GPU.

I suppose you could ask: why doesn't everyone just standardize on GDDR?

1\. This would dramatically increase cache line size. I don't have data, but I assume this would generally be bad.

2\. My recollection (but I don't have a source for this) is that DDR has lower latency than GDDR ram, so for branchy code (which CPUs often have to deal with, but GPUs typically never have to deal with), DDR could actually be faster.

3\. DDR is cheaper to manufacture. Aside from being higher volume, a lower bus width just makes is simpler to manufacture.

<comment><USER8> > One of the key differences between GDDR and DDR is the bus width, which can > be as large as 1024 bits, compared to conventional ram with a 64 bit bus > width

Does this mean there are over a thousand traces between the GPU chip and the memory chips? It would be pretty clear why regular motherboards don't use it if that's the case, the sockets for the chips would be enormous! You're talking about roughly doubling the pincount vs. a 64 bit memory bus on a modern LGA socket.

<comment><USER9> The on-die Larrabee traces were 3072 wires wide.

</comment></comment></comment></comment></comment><comment><USER10> Looks a lot more interesting than the Xeon Phi ever did. If they can provide the huge memory bandwidth this will need to keep it fed, and if they can offer a decent programming model, then this could be very competitive. I suspect they can do these things and the next challenge for them is going to be optimized software. NVIDIA have a massive lead in terms of software support for their accelerators so I can see this being a challenge.

<comment><USER11> They're pushing "One API" for programming. They rather have to deliver this time on the Aurora supercomputer.

<comment><USER12> Except they are building on top of SYCL, which is already late to the game, as CUDA does C++17 as well, and is polyglot, whereas One API is C++ only and hopes someone else will create bindings, Khronos style in not understanding how to widespread adoption.

<comment><USER11> Perhaps I should have said "for what it's worth". I'm not clever enough for C++, but it does seem to be what Livermore, for instance, are committed to. The oneapi propaganda does talk about other bindings, which I haven't looked for. The question might be how it works with OpenMP 5 offload, which was intended for portable performance.

</comment></comment></comment></comment><comment><USER13> I know they're going to have a gaming GPU in 2021, and GFLOPs aren't everything, but:

> One Tile: 10588 GFLOPs (10.6 TF) of FP32

> NVIDIA RTX 2080: 10.07 TFLOPS - <USER2>

<comment><USER14> That's actually pretty bad, it will be potentially worse than 3070 (which it will compete against)...

<comment><USER15> That'd place them at a slightly better position than AMD, that has been in the (discrete) GPU for years. All in all, this is still theoretical and we'll have to see how they behave under real workloads (be that games or compute).

Intels iGPUs have always looked great on paper and then hit a wall in the real world.

<comment><USER14> The expectation is that the new Navi (which will come out probably earlier than xe-hpg) will be 80 cu [0], it is essentially 2x 5700XT [1]. This should put it in 15-20TFlop range, 1.5-2x Intel single tile.

[0] [https://www.pcgamesn.com/amd/big-navi-rdna2-80-cu- rumour](https://www.pcgamesn.com/amd/big-navi-rdna2-80-cu-rumour)

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

<comment><USER15> Lately I've been more interested in CPU announcements and haven't been following GPUs pretty much at all (been super tired of all the hype around Ampere, that's been going on for months now).

Considering that, it means Intel is coming in to the dGPU market with a not stellar device, which has historically had driver issues and underdelivered in practice... Even more pressure to prove their worth then.

</comment></comment></comment></comment></comment><comment><USER16> The number is a bit misleading: the quoted performance is for "4-tile" configuration. Per-tile this is still markedly slower than NVIDIA.

</comment><comment><USER17> So if four tiles = 42 teraflop, then does that mean 25 of these will produce 1 petaflop?

Wow.

I'd imagine these things are super expensive.

<comment><USER14> You need thermal and memory bandwidth solution for multi-tile setup, so you can't easily scale it too much up. Although companies like cerebras do show us a path into "very very large chips"

<comment><USER17> Agreed. But just the thought that a petaflop could fit in a spare bedroom is pretty neat.

</comment></comment></comment><comment><USER18> Does anyone else here think the coprocessor on the nvidia ampere looks a lot like the RC 18. If so that should post some crazy perf numbers.

</comment><comment><USER19> Is it going to be based on 14+++nm? AMD/Nvidia is on 7nm

<comment><USER20> 10nm+++, actually.

<comment><USER14> I thought intel said during architecture day that GPUs will be done on outside fabs (presumably tsmc or samsung).

<comment><USER20> > We also know, due to disclosures made at Intel's Architecture Day, that it > is set to be built on Intel's 10nm Enhanced SuperFin (10ESF, formerly 10++, > formerly 10+++) manufacturing process, which we believe to be a late 2021 > process.

<comment><USER14> You're right, apparently only Xe-HPG is made fully on external fab.

[https://www.anandtech.com/show/15974/intels-xehpg-gpu- unveil...](https://www.anandtech.com/show/15974/intels-xehpg-gpu-unveiled- built-for-enthusiast-gamers-built-at-a-thirdparty-fab)</comment></comment></comment></comment></comment>


Ask HN: What's your favorite HTML Web presentation tool? - <AUTHOR>

What's the best system for creating and doing presentations on the Web in HTML?  The W3C's Slidy is one possibility, but there are others: S5, crunchy, latex beamer, etc.  What do you like? <comment><USER2> I used Slidy this past week. I needed to show some code examples, and it worked out well. However, I spent a lot of time customizing the look of it. I didn't look for "themes," before hand and ending up wasting a ton of time hacking CSS to get it to look the way I wanted it to.

</comment><comment><USER3> <http://280slides.com></comment>


To Lose Weight, Eating Less Is Far More Important Than Exercising More - <AUTHOR> http://www.nytimes.com/2015/06/16/upshot/to-lose-weight-eating-less-is-far-more-important-than-exercising-more.html <comment><USER2> Thank you. I've been saying this forever, based largely on personal experience living in countries where average portions aren't grotesquely oversize, and where the chemistry of a typical meal is healthier and more natural.

I spent the first six years of my life in the USSR, where my formative attitudes about food were formed: received cultural wisdom was that you should be grateful for food and clean up your plate, both as a social grace and out of larger moral considerations. This stayed with me, but unfortunately is a disaster when applied in the US, where everything is enormous. Accordingly, I'm prone to overeat, since almost all eating out in the US is overeating by global standards. I'm not obese per se, but weight control has always been a struggle.

On the other hand, I lived in Yerevan, Armenia for nearly two years 2012-2014. Within about half a year of arriving, I lost nearly 30 lbs, eating an average diet and having no exercise regime whatsoever. There was no gym membership and no morning jog. I did nothing special to lose weight, it just happened. The amount of walking involved in everyday life surely helped, but it wasn't extraordinary; the inner centre of Yerevan is small, not on the scale of a European capital. I just ate a lot less, it turns out. It was a fairly rich diet, too, with lots of dough, bread, meat and carbs--just less.

Of course, I promptly gained the weight back a few months after returning to the US.</comment>


Show HN: Nerdy Content All-In-One Place (Just for Fun) - <AUTHOR> http://nerdmash.com

<comment><AUTHOR> This is just a weekend project for fun. It is mainly for my own use but I thought I would post it here to see if anyone had good sources of content that I could add into my daily reads. Thanks!</comment>


Block sites from ever appearing again in Google results - <AUTHOR> http://www.google.com/reviews/t <comment><USER2> For Chrome, see the extension at [https://chrome.google.com/webstore/detail/nolijncfnkgaikbjbd...](https://chrome.google.com/webstore/detail/nolijncfnkgaikbjbdaogikpmpbdcdef)

I agree with geius that I'd rather have some indication of what I've blocked. I like the Murdoch blocker ([https://chrome.google.com/webstore/detail/moepiacmhnmbiilhpo...](https://chrome.google.com/webstore/detail/moepiacmhnmbiilhpojodnaopndhddpg)) for that reason - it'll tell you why it's blocked you from a site, and gives you the option to whitelist it.

</comment><comment><USER3> Does anyone have a good list of sites to block?

I know that, on the face of it, sounds dumb, but there's some that annoy _everyone_.

experts-exchange was the first site I've blocked, for example. Anyone have a list of those annoying sites that pop up when you're trying to search for some obscure error message etc? I'd love to be a bit proactive.

<comment><USER4> dsl put one up when the chrome extension block was released: <http://news.ycombinator.com/item?id=2218528>

<comment><USER3> Exactly what I was looking for, thank you.

</comment></comment></comment><comment><USER5> This site is blocked unless you have a Google account and log in with it. Anyone care to post a summary?

<comment><USER4> "If you don't like a site that appears in your search results, you can block all the pages within that site. Then you won't see any of those pages when you're signed in and searching on Google. If you change your mind, you can unblock the site later. Sites will be blocked only for you, but Google may use everyone's blocking information to improve the ranking of search results overall. You may block up to 500 sites."

</comment></comment><comment><USER6> Goodbye, w3schools!

<comment> misuse-permit This is a bit off topic, but do you know a better resource than this w3schools page on Javascript and DOM? [1] I'm just learning now, and it's really frustrating me that I can't find a better resource.

Java : Javadoc :: Javascript : ????

[1] - <http://www.w3schools.com/jsref/>

<comment><USER7> The Mozilla docs? <https://developer.mozilla.org/en/JavaScript>

<comment> misuse-permit Now I feel like an idiot, thanks :)

</comment></comment></comment></comment><comment><USER8> I'd like to see whole content farms blocked.

There was a Chinese knock-off (counterfeit) goods spamming Craigslist heavily a year or so back, hosting a bunch of domains out of a Fremont datacenter.

Too many domains to list individually. It's cases like this that make aggregate blocking/banning approaches far more valuable.

The problem with individual blocklists is that they have to be maintained, and over time they suffer from bitrot. And life is hard and I want a pony.

</comment><comment><USER9> "Sites will be blocked only for you, but Google may use everyone's blocking information to improve the ranking of search results overall."

This to me says "If we get enough reports of a site being blocked, we're going to make sure _everyone's_ Google searches will block you."

I think this is great for spam sites, but for legitimate sites (whether you like w3schools or not) I can certainly see this as annoying.

<comment><USER10> Whether or not it's legitimate, the number of people that don't find a site helpful, and block it, is probably correlated with the chance that a random Google searcher won't find it helpful.

</comment></comment><comment><USER11> Does anyone know if there's a parallel way to block sites from their Shopping search? If not, this would be a wonderful feature.

There are a few "low price" sites that keep popping up in my results, but never actually offer goods for sale at these teaser prices. I'd love to never be tempted by them again.

</comment><comment><USER12> It doesn't seem to work. I've blocked w3schools, and they're still 2nd result for "doctype" (perhaps it's an US-only feature? Google keeps redirecting me to .co.uk search)

<comment><USER13> Yep, it's US only. You can add the sites to the list but they're not blocked if you're not in the US.

</comment></comment><comment><USER14> Well, nice feature, but doesn't work for me. Maybe it works in some countries only.

</comment><comment><USER15> Goodbye experts-exchange.com!!

<comment><USER16> Or, you know, just scroll to the bottom of the page for the answer.

</comment></comment><comment><USER17> Goodbye wikianswers?

</comment><comment><USER18> good bye about.com and ehow.com

<comment> misuse-permit I'm not sure why everyone on HN seems to be bagging on about.com. It's a legitimate website that pays authors to write content [1].

True, it's ugly and written at a 6th grade reading level, but it's sometimes useful. It's certainly not a spam site.

[1] - <http://beaguide.about.com/>

<comment><USER19> I agree — I used to hate About.com, but I've found some of the subsites have some decent articles. I've found some decent recipe ideas on the Greek Food subsite, for example.

</comment></comment></comment><comment><USER20> This is weeks, er, months old.

Official announcement (from March): [http://googleblog.blogspot.com/2011/03/hide-sites-to-find- mo...](http://googleblog.blogspot.com/2011/03/hide-sites-to-find-more-of-what- you.html)

There has been previous discussion on HN as well: <http://news.ycombinator.com/item?id=2310310> and discussion of the Chrome extension that led to it: <http://news.ycombinator.com/item?id=2218382>

</comment><comment><USER21> I've been waiting for this for a long time, kudos Google!

</comment><comment><USER22> I don't want Google to block _any_ sites. I don't need nor want a personalized internet filter bubble. What I want Google to do is learn to recognize spammy or irrelevant sites and rank them lower.

<comment><USER23> You want a global internet filter bubble then?

<comment><USER22> Your comment doesn't even make sense.

Look, take a few minutes and watch this. [http://www.ted.com/talks/eli_pariser_beware_online_filter_bu...](http://www.ted.com/talks/eli_pariser_beware_online_filter_bubbles.html)

When a site gets _blocked_ by Google, it doesn't disappear from the internet but all of a sudden it disappears to hundreds of millions of people. Poof. Gone.

If a site gets ranked lower, then it won't get as much traffic but at least its still findable. Even spammy sites deserve a chance to turn their shit around (although it almost never happens).

If I want to block a site for just me, fine. There's browser extensions that do that. However, when Google or Bing or DuckDuckGo lets you do it and _then uses that data in ranking sites for other people_ there's a Big Filter Problem.

Or alternatively, there's a Big Fucking Problem.

<comment><USER24> Ranking something lower, especially if it gets knocked off the first page, has the same effect in kind, if not degree, as blocking.

I'm not sure which part of this you think contributes to the filter bubble effect (which I'm skeptical about in the first place). If I block a site, it's because I don't want to see results from it, and I was never going to visit it anyway.

How is using blocking data as part of the algorithm any bigger a filter problem than any other part of the algorithm? Google uses many, many search signals and this is just one of them. And I imagine a pretty good one.</comment></comment></comment></comment>


Predicting our next president: data says Sanders vs. Trump - <AUTHOR> http://presidential.io/app.html

<comment><USER2> Basing this on Internet traffic seems... overly simplistic. Particularly on the Republican end, a lot of people simply don't do social and stuff. Or even go online. And of course, Bernie is going to top the charts because he's an Internet crowd favorite, so the results there are skewed as well.</comment>


Ask HN: Which PEPs are must reads for a beginner? - <AUTHOR> <comment><USER2> The only must-read is probably PEP8.

Otherwise, why are you interested in PEPs? For learning about language features, introductory posts on blogs and such are usually better, especially for a beginner. PEPs read more like a spec.

</comment><comment><USER3> For a beginner, skim PEP8, then go through the tutorial on python.org, until you get tired or impatient with it, then proceed with the inevitable branching out and focus on your own projects and concerns.

Read other PEPs when they become relevant to you.</comment>


Amazon is struggling to hold on to the pilots who ship your packages - <AUTHOR> https://qz.com/1763226/amazon-air-is-struggling-to-hold-on-to-into-pilots/ <comment><USER2> Company Pilot pay per hour ATSG $152 Atlas $139 Fedex $243 UPS $288

<comment><USER3> Market working as intended. Glad these pilots can get to better employers rapidly.</comment></comment>