From Löb's theorem to spreadsheet evaluation - <AUTHOR> http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html

<comment><USER2> Wow, this actually helped me understand the proof of Loeb's theorem, which I've always had trouble with. But I think the most confusing part is the fixed-point theorem it uses, which I've never seen a nice proof of; the Haskell code seems to be just implicitly accepting that a fixed point exists when he defines loeb x in terms of itself.

Is this something Haskell does in general? What happens when you try and write a function that doesn't have a fixed point?

<comment><USER3> > What happens when you try and write a function that doesn't have a fixed > point?

It's like non-well founded recursion, it loops. But as a bonus, some cases are caught at runtime :

        x :: String
        x = x

        main = print x

        ./x
        x: <<loop>>

<comment><USER2> So is it just looping and hoping it converges? It won't do logic to figure it out, something like:

        x :: Real
        x = 2 / x

Guess that's to be expected, though a bit disappointing; I think it means the "loeb" given will be a lot less broadly applicable than the general mathematical version.

<comment><USER4> What would you like that code to do? Fork the process and set x = sqrt(2) in one branch and x = -sqrt(2) in the other? In fact, should its behaviour depend on whether or not your floating-point implementation has a value such that x == 2/x holds exactly?

No, wait, Real is actually a type class, not a type, right? Perhaps when you write that code the system should extend itself to support an infinite- precision real-number type that implements Real, and make x be exactly sqrt(2)? ( _And_ exactly -sqrt(2), of course.)

All of which is just another way of saying: I really don't think it's quite fair to be disappointed that Haskell doesn't try to solve the extremely difficult (not to say provably unsolvable) problems of "doing logic to figure it out".</comment></comment></comment></comment>


Shared awareness: a better way to manage comment trolls - <AUTHOR> http://quandyfactory.com/blog/54/shared_awareness_a_better_way_to_manage_comment_trolls

<comment><USER2> Regrettably, it doesn't scale well in my experience. I take part in one large political internet forum (for reasons that are increasingly unclear to me...) where this kind of up/down system was tried, albeit with uncapped totals.

Prior to that users could only recommend posts, and the mechanism was transparent enough that members of a faction would cross-promote each others' posts and employ many other 'turf war'-like tactics to maintain mindshare. After up/down voting was introduced about a year ago, a majority of members prefer it while 25% or so complained bitterly about censorship and all the usual cliches. Flamebait or outright stupidity is now downvoted fairly quickly, but turf wars persist and a negative response to a new thread is frequently seized on as an excuse to start a mini-thread about 'downvoting trolls' and use said 'discussion' to keep the thread alive despite its poor reception by a majority.

Anecdotal to be sure, but with about 2m monthlies and a year's worth of observation (plus umpteen meta-polls, since every community enjoys gazing at its own navel) the trend is pretty obvious. By comparison, HN is populated by wise and kindly Vulcans.

</comment><comment><USER3> Wonderful post. I'm looking forward to an enlightening discussion about this.

I was disappointed by the end, however, because it suggested that downvoting was a way of managing trolls. I think downvoting means different things to different people: some downvote to merely show disagreement, for example. So a downvoted comment on Hacker News does not necessarily mean that it is likely a troll comment. Therefore, downvotes can't achieve the necessary shared awareness.

(I will disagree with myself and note that comments that have been voted all the way down to -4 tend to be trollish, so maybe it works to an extent.)

<comment><AUTHOR> You raise an important point. About a year ago, on a community website I run [1], I implemented a group moderation system like the one I described in this essay and it worked pretty much as described.

However, there are certainly some cases of people voting against comments on the basis of disagreement rather than comment quality - which goes against the comment voting guidelines [2].

This issue does occasionally come up among regular commenters. Interestingly, simply pointing out that someone was downvoted for expressing an opinion that was unpopular rather than illegitimate seems at least partially to reverse the effect (unlike HN, users can change their vote after making it).

Again, this seems to suggest that as community moderation becomes internalized as an important value, it becomes more effective at preserving quality discussion.

[1] <http://raisethehammer.org/>

[2] <http://raisethehammer.org/article/874/>

<comment><USER4> Is it really possible to have people vote on quality?

I've noticed most people don't understand how to be objective. Worse still is unless you are familiar with excellence you will be very poor at judging it. Perhaps this is because of differing measures of excellence people use or the result of ignorance.

I think a system that accepts fuzziness in measurement would be better than one that tries to be exact.

</comment></comment></comment><comment><USER5> This site is useful, if only for the bowdlerized version of John Gabriel's greater internet fuckwad theory: <http://www.penny- arcade.com/comic/2004/03/19/>

There has been, at minimum, at least 3 different presentations in which I've had to joke "I'm pretty sure this is the first time the word shitcock has appeared on a slide at X"

</comment><comment><USER6> The Chinese have a way of handling uncomfortable posts. They make them visible to the poster, but invisible to everyone else. That way, the poster thinks no one is interested, and hopefully goes away. Since most people won't even know that's possible, they won't check with another login.

No reason to piss a troll off by deleting his post. Just hide it from everyone else.

<comment><USER7> This is called "sending them to Coventry" in the UK.</comment></comment>


Ask HN: How has knowing data structures and algorithms been useful to you? - <AUTHOR> As someone with no formal background in CS, I was unexpectedly thrown into the world of web development 3.5 years ago. All of what I have learned has been self-taught with the help of books, tutorials, trial-and-error, googling, etcetera. Something I have frequently encountered along the way is a call to learn data structures and algorithms. So far I have only glimpsed the tip of the iceberg with that topic, just enough to realize how immense it is and how much effort it would take to internalize it. Basically I am on the fence about whether or not to plunge in headlong. Specifically, I am interested to know how your knowledge of data structures and algorithms has helped you to do the job that you do.
On the flipside, while I am intellectually fascinated by the idea of data structures and algorithms, I am kind of put off by it as well. The reason being that I find programming to be an extremely creative (and therefore enjoyable) activity, and part of me thinks that acquiring this new knowledge will detract from that. For example: if I am to get from point A to point B and realize that algorithm x will do the job, the process of creativity and discovery between A and B has been replaced by the act of implementing algorithm x. While from a pragmatic standpoint this latter is obviously optimal, from a creative standpoint it is not.
What do you think? <comment><USER3> Learning anything is never a bad investment. It might detract you from an immediate goal but in the long run, learning always helps even if not directly related. In your case, I say go ahead and learn data structures/algorithms as you are fascinated by them. If something fascinates you, go figure out why.

To give you a specific example, around 2003 (wow a decade ago) when I was still in college, we had an assignment in CS class to build a web browser in Java and Swing. It was a fun project and I enjoyed doing it. Guess how I implemented the History functionality? I used linked lists to store the links that I visited. Not because that was the best way (probably not) but that's what I knew at the time. It was fun and I still have the source code btw :). Nothing like the real browsers of course.

</comment><comment><USER4> Coming from someone who started doing self-taught web development myself...knowing algorithms and data structures doesn't stunt creativity anymore than knowing perspective would for a painter.

They are tools that let you get a job done efficiently and a great deal of creativity can be used in figuring out how to apply and combine them. It further allows more opportunity for creativity because they allow you to operate on a higher level. Most algorithm and data structure knowledge in web development isn't so much, "now I have to implement algorithm x" but is instead, "Algorithm x would be helpful, oh look, there's a library for that."

In all honesty though, in web development enough of these things are baked into the language that your code probably won't actually change very much. The languages and libraries are suited to the problem and all of the typical tasks are taken care of, in that regard. In my experience the day to day is not very changed in practice (though you do think of things differently), but occasionally you run into a problem that in the past would have seemed intractable or just not worth the trouble and realize it's actually not too bad. If you want to be a master in your field it is necessary, but like most aspects of true mastery, isn't needed for the most common utility work.

</comment><comment><USER5> I do web development, and I think in terms of Big-O notation almost every day.

I remember talking with a colleague once who had written some really slow code. He needed to test whether a specific foo was part of a collection of foos, and his collection was an array. Well, that test is O(n), which means it gets slower and slower as your array grows. I said it should be a set or hash, to make the operation O(1), and he had no idea those had different performance behavior. I was shocked. This is about the simplest application of time complexity imaginable, and he had a degree and 5 years of experience.

You should study data structures not so you can implement a linked list (though you ought to do that in your studies), but so you can reason about what your code will do when you have 1000 products/users/whatevers, 100,000, 10,000,000, etc.

As an aside, an interview question I once heard: You have a program that stores the full text of books. Each book is stored in memory as a binary tree of pages. For a book of n pages, what is the time complexity to print all the pages?

</comment><comment><USER6> I was a CS major in college, and went on to become an Enterprise Security Architect at a moderately sized and well-known financial services company. I've spent a good bit of my time writing or analyzing code, both for enterprise systems, as well as mobile devices (that, in turn, called those backend enterprise systems).

Have I ever once had to implement a B-Tree? Has the specific knowledge of how to write an effective sorting algorithm ever been directly applied during my work day? No. Not even once. However, it's often important to understand these topics. These days, the tools are already there for you. Java, .Net, and nearly every other modern programming language already has the most common data structures and algorithms available to you, either in the language itself or via a well-respected 3rd party library.

So, while you may not ever find yourself actually writing the code for these items yourself, it's important to understand how they work and the implications of choosing one over the other. Given a piece of data, how do you best store it in memory? On disk? Is a linked list sufficient? Perhaps. But what if your piece of data grows to billions of records? What about scalability? What about performance? Memory usage? Lookup and seek times? This is where an understanding of these principles comes into play. I've never had to write an encryption algorithm from scratch (nor should you. EVER.) but I can tell you there have been numerous times where I needed to know the difference between ECB, CBC, and other cipher modes and why the difference was important for a given scenario.

Learning data structures and algorithms is not about the destination. It's about the journey. It's about understanding the deeper reasons and rationale behind how these items operate, so that you can gain a better understanding of computing in general.

</comment><comment><USER7> It's good because if you don't know data structures, algorithms and how OS manages memory, files, IO and so on... you are just a web developer who knows how to use your tool.

You can't discuss with people over performance, or why memcached has better performance than redis in some special cases and know why by your knowledge, not some random article you've read explaining why on the web, you can't build the tools you use if you had to. You can't explain much of the ruby, PHP or any language you use's internals. You may grasp what is a garbage collector but can't really reason about it.

Plain horrible, if you ask me. I think it's worth it if you love it.

Otherwise just focus on getting a project manager job or some sort of job you don't need it.

</comment><comment><USER8> It's beneficial to learn algorithms and data structures although you may or may not need them in your projects. Choosing the right data structures and algorithms help with writing clean code that's also more maintainable than a messy algorithm.

I think this knowledge even makes you more creative in coming up with algorithms. There's usually a brute force algorithm that's easy to come up with but it's not very good. By knowing more algorithmic techniques you can come up with better algorithms. Your algorithm x might do the job but in case it doesn't you're possibly lacking the techniques to make it better. By studying many different types of algorithms you get a better feel on how to approach a problem.

<comment><AUTHOR> Excellent point. I had not thought of it like that. The way you put it makes it seem akin to learning new mathematical techniques, which is almost always beneficial in that it facilitates more possibilities when approaching a problem.

</comment></comment><comment><USER9> I approach the issue with the assumption that learning basic sorting algorithms and the like has very little to do with them perse'. It has to do with imbuing you with the mind frame to think along those lines - which takes time to master. As a confidence booster I've been prepping myself to internalize the material in the link below. These are all computer science concepts written in Javascript. This should blend well with your web background if you're interested.

[http://www.nczonline.net/blog/tag/sorting/](http://www.nczonline.net/blog/tag/sorting/)

</comment><comment><USER10> Almost all of my data structure or algorithms use has been in the following three cases:

\- Programming interviews

\- Programming contests

\- Exams

Doing well in those things is desirable to me, so knowing data structures and algorithms has been useful in those cases.

</comment><comment><USER11> sometimes its useful for optimisation or understanding programmer motivation. (as well as interviews and tests, which are easily the most common use cases)

TL;DR - having this kind of knowledge is a double edged sword

one case that sticks in my mind was optimising come code by swapping a list for an array - the original author was perplexed because insertion and deletion were the common operations on that data structure which should be 'O(1)' (constant time) operations on a linked list and 'O(n)' (time scales based on number of elements) on an array.

my reasoning was that the list implementation stored the nodes in an array and the corresponding inserts and deletes did those same array operations underneath - hence rendering that particular list data structure useless - <USER2> had all of the worst case characteristics of both the list and the array, and none of the benefits of either.

i might have been able to work all that out without knowledge, but knowing the ideal performance characteristics of arrays and lists made it trivial to debug and optimise.

its worth noting that the same kind of knowledge is what motivated the original author of the code to use the list data structure.

also worth noting that a lack of such knowledge is what allowed such a useless implementation of a list to begin with.

</comment><comment><USER12> Data Structures and Algorithms are like fundamentals in basketball. Everyone loves Michael Jordan when he's changing direction mid-air, drawing the foul, and laying it in. But the reason he was such a threat is that he had absolute mastery of the fundamentals which freed him up to be creative.

</comment><comment><USER13> With no formal background in CS and a C compiler, you'll run into data structures soon enough.

I wouldn't worry about _creativity and discovery_. I found that writing a double linked list was damn entertaining, I thought it was a lot like knitting. I'm looking into hash-browns and trees next.

</comment><comment><AUTHOR> Much thanks to everyone for the insights! You have definitely given me some good reasons to go ahead and learn it.

</comment><comment><USER14> Source: CS major with 10 years experience in enterprise development, support and systems architecture consulting.

While it's always possible to be a development autodidact, and in fact to be quite productive this way, there's a reason why the theory and practice underpinning good software have been codified in the study of algorithms. Shortly said they are knowing your tools, knowing when to use them, knowing why to use them, and recognizing their strengths and weaknesses. And finally knowing these things instinctively, not just casually, so you can diganose complex issues in terms of understanding their larger moving parts, and not just the low level details.

Knowing your tools: Anyone who has debugged code where some critical component is based on nested arrays or other representation with similarly poor scaling characteristics, and banged their head on the desk on reading the code, will understand this one. If you aren't even aware of a possible range of workable, if not optimal, solutions for a given problem space, then you are unlikely to come up with a stable and high performing solution.

Knowing when to use them: On a practical level, it's important to know the proper use of the tools available to you (and how to recognize when one is not well suited to the task at hand). Having a clear picture of the applications where X versus Y representation or approach will perform better is critical to being able to accomplish the 'big picture" task effectively (whatever that may be). Recall that nearly all mathematical and CS proofs will refer to other, more well-known concepts in establishing newer concepts; in the general case the proof of any given algorithm's workability can be expressed in terms of its reduction to another well known, well understood solution. The same is true of your code using a well known library that implements any one of these.

Knowing why: Similar to "when", but a little more nuanced. On a philosophical level, it's useful to separate the problem-solving aspect of the job from the creative aspect, and avoiding re-inventing-the-wheel when it's not needed to solve your _unique_ problem (hint: it's probably not that unique). In other words, if you have a finite budget of mental effort to expend upon a given programming task, you'd be better served by ensuring you meet the low level requirements of its implementation with an algorithm that you understand intimately, than laboring through a hand made solution for a problem whose details you might not know anyhow. (Of course, see also "if your only tool is a hammer" \-- laziness is useful, but only to a point.)

Instinct: Experience goes further than simple knowledge, because the units in which you "think" are constantly changing. In the same way that a chess master sees more possibilities and nuances in the opening moves of a chess game than a novice can see in individual pieces, a novice or even skilled autodidact can not bring to bear the same skills as an experienced programmer with intimate working knowledge (if not extreme detail) of a wide range of possible approaches to a given solution.

Finally, consider that nothing I've written above precludes "creativity" \-- it simply provides you a tool kit that moves the bulk of mental effort to a higher level of execution.</comment>


Need The Lord Of The Rings Timeline? It's On Your Mac - <AUTHOR> http://www.macobserver.com/tmo/article/need-the-lord-of-the-rings-timeline-its-on-your-mac <comment><USER2> Use `man calendar` for details on the file format. It's more of an "on this day in history" type list than actual timeline.

The data itself (LOTR dates) first appeared in 4.4BSD (though it was part of the file `calendar.history` [ [http://svnweb.freebsd.org/base/stable/2.0.5/usr.bin/calendar...](http://svnweb.freebsd.org/base/stable/2.0.5/usr.bin/calendar/calendars/calendar.history?revision=1590&view=markup) ]), and has since passed to FreeBSD (where the LOTR dates were split off into a separate file [ [http://svnweb.freebsd.org/base?view=revision&revision=11...](http://svnweb.freebsd.org/base?view=revision&revision=110933) ]) and subsequently Mac OS X.

<comment><USER3> man calendar says its month/day... [http://www-sbras.nsc.ru/cgi- bin/www/unix_help/man-cgi?calend...](http://www-sbras.nsc.ru/cgi- bin/www/unix_help/man-cgi?calendar+1) oh, you mean the adventure took place over _more_ than one calendar year, and so without the years, the high bit of the ordering is lost, and the dates wrap around.

<comment><USER4> About the format it says "Other lines should begin with a month and day. They may be entered in almost any format, either numeric or as character strings." So "month/day" isn't a requirement.

And there's no reason the dates can't be placed in their true order-- calendar.ubuntu is ordered by version number and calendar.debian has multiple groups of dates ordered by year.

</comment></comment></comment><comment><USER5> Since it includes what seems to be a full Emacs distribution, Mac OS X also contains a few "easter eggs" in /usr/share/emacs/22.1/etc:[1]

\- What is claimed to be the Mrs. Fields cookie recipe

\- How to say hello in many languages

\- An interview with Richard Stallman from 1986

\- Several adult-themed man pages

[1] 22.1 is the appropriate directory on 10.8.2, it may be different on older versions of OS X.

<comment><USER6>
      NAME
         sex - have sex

      SYNOPSIS
         sex [ options ] ...  [ username ] ...

      DESCRIPTION
         sex allows the invoker to have sex with the user(s) speci-
         fied in the command line.  If no users are specified, they
         are taken from the LOVERS environment variable.  Options to
         make things more interesting are as follows:

         -F   nasal sex with plants

Wut?

<comment><USER7> Likely a geektastic way of suggesting he likes to snort weed. Marijuana comes from the buds of female cannabis plants.

<comment><USER6> Maybe cocaine? Who snorts weed?

<comment><USER7> While it is meant to be humor. Might be cocaine too, but coca is extracted from leaves rather than flowers, and that didn't seem a good fit. On a more innocuous note, he might just as easily have meant tobacco snuff. Or nothing at all. With RMS, all things are possible.

<comment><USER8> Or smelling dead/died flowers.

</comment></comment></comment></comment></comment></comment><comment><USER9> It's also on my Linux.

So this is not an "Apple" article at all despite the "Mac" in the name. It's a FreeBSD article.

How did FreeBSD stuff get into Linux though?

<comment><USER10> >> _So this is not an "Apple" article at all despite the "Mac" in the name. It's a FreeBSD article._

The article is hosted on macobserver.com, which explains why it has 'Mac' in the title. Also, looking at the article itself it is clearly intended for casual/non-geek computer users. Seeing that OS X + Windows probably cover ~99% of this group, and the calender is not on windows (I suppose), it's not that strange that the article refers to Macs either.

<comment><AUTHOR> Indeed. I realize this likely predates OS X entirely, but... you're right: casual audience and.. TMO's Mac focus. But yep, as many here have pointed out, it's certainly not limited to the Mac.

</comment></comment></comment><comment><USER11> Where do I file a bug report? The date of "Frodo & Bilbo's birthday" was actually given in the book as September 22nd. In my file it's 09/14.

<comment><USER12> I also recall seeing the date of the destruction of the ring given as 3/25, not 3/18.

<comment><USER13> [http://bugs.debian.org/cgi- bin/pkgreport.cgi?pkg=bsdmainutil...](http://bugs.debian.org/cgi- bin/pkgreport.cgi?pkg=bsdmainutils;dist=unstable)

<comment><USER14> It would appear this was fixed upstream and OSX just hasn't pulled in the latest. <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=224407>

<comment><USER4> The updated version listed there isn't present in the current version for Debian or Ubuntu.

</comment></comment></comment></comment></comment><comment><USER15> Interesting, but the timeline seems to be inaccurate.

<comment><USER16> It's a list of calendar dates, not an actual timeline.

<comment><USER17> That explains it. I was confused when I read "Destruction of the Ring" a third of the way through, and "Fellowship begins Quest" at the very end.

I wonder whether the developers _could_ have put them in chronological order, ex. 12/13/3019 appearing before 03/18/3021; or if the format requires the ordering it has now.

<comment><USER18> It's probably out of order on purpose. I'm betting this was some of the test data that the developers used, and they just left it in when they finished.

<comment><USER19> No, the calendar files are anniversaries not timelines.

Have some fun:

        alias anniversaries="ack -a -h `date +"%m/%d"` /usr/share/calendar | sort"

</comment></comment></comment></comment></comment><comment><USER20> The source for this easter egg is from BSD, not Mac. Likely the import came from FreeBSD, but the LOTR calendar long predates FreeBSD:

<http://www.freebsd.org/cgi/query-pr.cgi?pr=57623>

</comment><comment><USER21> If you need something a bit more detailed, then Randall Munroe has you covered: <http://xkcd.com/657/>

</comment><comment><USER22> Possibly some spoilers if you haven't read the books and/or seen the movies.

</comment><comment><USER23> Do people really still use "cat" for viewing files at the commandline?

<comment><USER24> You expect me to go to all the extra trouble of typing a 4-letter command instead of a 3-letter command? This is Unix!

<comment><USER25> Compromise: Vim!

<comment><USER8> Vi

</comment></comment></comment></comment><comment><USER26> cat /usr/share/calendar/calendar.music also gives some notable dates in music- history.

<comment><USER27> Seems like biased towards some bands, while omitting some arguably greater or at least equally important bands of the same era. Not that there's anything wrong with Yes or Jethro Tull being mentioned, but if they are, seems like Genesis and King Crimson should be mentioned as well.

$ cat /usr/share/calendar/calendar.music | grep Genesis

$ cat /usr/share/calendar/calendar.music | grep "King Crimson"

$ cat /usr/share/calendar/calendar.music | grep Yes

02/20 Yes sells out Madison Square Garden...without advertising, 1974

04/18 Yes breaks up after 13 years, 1981

10/25 Jon Anderson (Yes) is born in Lancashire, England, 1944

$ cat /usr/share/calendar/calendar.music | grep "Jethro Tull"

08/10 Ian Anderson (Jethro Tull) is born in Edinburgh, Scotland, 1947

<comment><USER25> Please remember that every time you cat a file and pipe it to grep an innocent process dies. Have you no compassion?

<comment><USER8> Its OK, an innocent process is born too.

And the address space gets recycled.</comment></comment></comment></comment>


Ask HN: How did Steve Ballmer get 8% when he joined Microsoft? - <AUTHOR>

He was employee #30. I'm just wondering why he was given so much?<p>Source: http://en.wikipedia.org/wiki/Steve_Ballmer <comment><USER2> Microsoft, perhaps in part by virtue of being outside the Valley, never took venture capital. Like a traditional business there was a little FFF [friends, family, and fools] money, but essentially it was bootstrapped.

This meant that Gates and Allan could essentially make Ballmer a third founder five years after the company's founding - a point where venture capital funds are often looking toward creating an exit and would definitely be disinclined toward diluting equity for the sake of a hire.

The independence of Gates, Allen. and Ballmer allowed Microsoft to structure employee equity and tine the IPO in a way that made 12,000 millionaires and retain enough equity to effectively ignore Wall Street until Gates and Ballmer began reducing their stakes over the last two or so years

</comment><comment><USER3> Did he get 8% at start, or did he accumulate 8% over the years through stock awards?

</comment><comment><USER4> Back then MS was a tiny company. 8% wasn't seen as much and they wanted a somewhat older management type with some qualifications. I think BillG might have known of SteveB from his short stint at Harvard.

<comment><USER5> Bill Gates is older than Steve Ballmer, they were friends, and his stint at Harvard was not short

</comment></comment><comment><USER6> FOB, smarter than Bill, and probably the only guy who'd taken an MBA class.

<comment><USER2> What Ballmer brought to Microsoft was a different skill set. It was no more about an MBA class or two than it was about the CS classes Gates took during his year at Harvard. Running a business was something that interested Ballmer analogous to Gates interest in programming.

Diversifying the skill set of the core team was probably a key factor in Microsoft's successful growth over the next three decades</comment></comment>


Coronavirus cases surge, Israel first country to reintroduce nationwide lockdown - <AUTHOR> https://www.abc.net.au/news/2020-09-15/israel-coronavirus-cases-trigger-new-lockdown-citizens-unhappy/12660602 <comment><USER2> what's still really confusing me about this second wave is the extreme discrepancy in deaths. If one looks at Germany or France ([https://covid19.who.int/region/euro/country/fr](https://covid19.who.int/region/euro/country/fr)), despite numbers that even outpace the first wave, deaths are almost negligible. Did we really miss that many people in March/April or did something else change?

<comment><USER3> > Did we really miss that many people in March/April or did something else > change?

If you remember, back in March, and extending into at least April, the tests were very limited and so the symptoms one had to exhibit in order to even be tested were such that one was likely only a few days away from being hospitalized before one could even get tested.

So all mild, and many bad, but not _quite bad enough_ cases were never able to be tested, because they didn't meet the then current "criteria to be given a test".

So given the strict controls to giving tests that were in place back then, yes, it is reasonable to believe we missed a lot of cases back in the March/April time frame.</comment></comment>


AMD Claims World's Fastest Per-Core Performance with New EPYC Rome 7Fx2 CPUs - <AUTHOR> https://www.tomshardware.com/news/amd-worlds-fastest-processor-epyc-rome-7fx2-cpus <comment><USER2> The 7F52 has 16MB of cache per core.

I'd love to see what is possible with a tiny runtime/OS in the kilobyte size and running a microservice written in a native language off of each core, everything out of the L3 cache.

I imagine the throughput would be amazing. Single thread per core, e.g. cooperative multitasking. Do this for stream orientated workflows, or even for processing data that is in reasonable sized chunks, it might be screaming fast!

<comment> yjftsjthsd-h When I was younger, I was very pleased when I stumbled across the trick of putting all of a DOS system on a RAM-disk, which made the system fly. Then I got to college and discovered in my CS classes that CPUs now had multi- megabyte on-CPU cache, which immediately led me to wonder how hard it would be to make a DOS system that ran completely out of cache. I'm not convinced that it would be _practical_ for any number of reasons, but it still blows me away every time I look at what modern CPUs have in-package:)

<comment><USER3> Coreboot does something similar to this. Very early in the boot process the RAM has not yet been initialized and so cannot be used. You need to execute some code to set up the RAM before you can use it. One approach to handling this is to write that initialization code in assembly language and make sure it only uses registers and doesn't touch any memory.

But that's inconvenient. You'd much rather be able to write your code in something like C. Any C code compiled by an ordinary compiler is going to access memory (at least for the stack). Writing and maintaining a custom C compiler for this is a lot of work and still comes with a lot of limitations on the C code that it will accept.

So they set up the cache in a way that it will never try to write its contents out to RAM. Then you can use the output of an ordinary C compiler that uses memory accesses and those accesses will all be served by the cache and never touch RAM. They call this "Cache as RAM".

With some work you could probably boot into DOS like this.

[https://www.coreboot.org/data/yhlu/cache_as_ram_lb_09142006....](https://www.coreboot.org/data/yhlu/cache_as_ram_lb_09142006.pdf)

<comment><USER4> Interesting that no one to my knowledge has built an architecture where sram is 'memory' such that it would be transparent to C code but no slower dram is used. 32MB is more than my 1998 computer had.

<comment><USER5> Many embedded systems have a block of SRAM directly addressable.

</comment></comment></comment></comment></comment><comment><USER6> What's interesting and surprising to me is that the new Epyc 2 chips by AMD have about the same cost per double precision teraflop as a GPU, even the ones with good floating point hardware support. I assume the cost for these accelerators is probably a little cheaper for high performance computing folk able to buy in bulk, but still I was very surprised. I expected there to be an order of magnitude difference is cost per flop, even with doubles. Once AMD introduces AVX512, the cost per flop should improve even more.

Also, in the same vein, I was surprised that double and single floating point cost per flop has stayed fairly stagnant the last couple years as NVIDIA seems focused on improving lower precision performance (ie for machine learning inference).

<comment><USER7> This is probably because you're comparing them to consumer GPUs, which are designed this way - favoring integer and single-precision functional units on the SM cores. That's a sort of a marketing/tiering strategy by nVIDIA. The Teslas have good double-precision performance - but they are priced waaaay higher than the consumer cards.

<comment><USER8> > The Teslas have good double-precision performance - but they are priced > waaaay higher than the consumer cards.

Yup - the Tesla V100 is 7 TFLOPs of double-precision at around ~$9000

A huge split between consumer & HPC happened in the aftermath of the Fermi (2010) architecture. Fermi was really bad in the consumer space from all the wasted die spent on unused double-precision. It was late, hot, and loud. And barely even faster than the competition.

With Maxwell Nvidia basically removed all the FP64 support from the architecture itself ( [https://www.anandtech.com/show/9059/the-nvidia-geforce- gtx-t...](https://www.anandtech.com/show/9059/the-nvidia-geforce-gtx-titan-x- review/2) \- native FP64 rate is 1/32'd the FP32 rate) - the result was a huge boost to gaming performance. But it also meant that HPC users who want double- precision _had_ to use Tesla cards. The actual architectures between GeForce & Tesla are different now, it's not "just" a lockout anymore.

<comment><USER6> Exactly. About 780Gflops/$ for Tesla V100 and 460Gflops/$ (peak) for the Epyc 7742.

I was very surprised it was this close. I thought the accelerator would be an order of magnitude cheaper per double Gflop. And AMD isn't using AVX512, yet.

<comment><USER9> Imagine the very near future when AMD starts using TSCM's 5nm process, which has approximately double the transistor density of the current 7nm process used for the EPYC 7002 series.

They could go to DDR5, PCIe 5, AVX 512, and still have a transistor budget left over for whatever they like.

The 'whatever' is the interesting part. What exactly does a GPU do that a CPU doesn't?

Typical GPUs have crazy high memory bandwidths and good latency hiding by using many (thousands) of threads.

So if AMD does something like increase the number of memory channels _and_ implement 4-way SMT, they're poised to upset NVIDIA in the HPC space in a _big_ way.

Many people would much rather program for a general-purpose processor than the CUDA platform with all of its quirks and limitations...

<comment><USER10> That's not exactly true once you have to deal with vector extensions like AVX-512. It's quite a pain to write by hand (C intrinsics) and many of the ways to abstract it away end up giving you a GPU-like programming model (eg. Intel ISPC).

Plus, this has largely been tried before with Xeon Phi and it didn't end so well.

Huge vector units like AVX-512 are mainly useful for workloads that need huge amounts of RAM that you just can't get with a GPU, or for workloads that are very latency sensitive and incompatible with GPU task scheduling because they are in some other CPU-bound code.

<comment><USER9> > It's quite a pain to write by hand

And we all know that autovectorisation is hit-and-miss at best.

I wonder if there will be a new C-like language that has portable SIMD-like capabilities in the same sense that "C is a portable assembly language".

<comment><USER11> There is - Intel SPMD Program Compiler. [https://ispc.github.io/](https://ispc.github.io/)

<comment><USER12> But does that work on AMD ?

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> The rise of AMD has been like a dream come true. I only wish Intel could get their cards straight and compete in the prosumer space.

It used to be that Intel was a good choice of money wasn't really an object, but as time has gone on it has become harder to justify Intel chips regardless of the pricing.

<comment><USER14> > regardless of the pricing

If Intel sells $5 CPUs, will you change your mind? I don't understand the obsessive praise of AMD. Keep in mind that Jim Keller, an Intel ex-chip architect lead the AMD Zen platform when he was hired in 2013 (after working at Apple on the A4/A5 SOCs). It is the same dude competing against himself. Btw, he is back at Intel since 2018 to help Intel out.

<comment><USER15> "Keep in mind that Jim Keller, an Intel ex-chip architect lead the AMD Zen platform when he was hired in 2013"

Jim's wikipedia page doesn't say he was ex-Intel employee when he joined AMD in 2013 to work on Zen.

[https://en.wikipedia.org/wiki/Jim_Keller_(engineer)](https://en.wikipedia.org/wiki/Jim_Keller_\(engineer\))

<comment><USER16> So Wikipedia is an authorative source now?

<comment><USER17> Is it wrong in this case?

</comment></comment></comment></comment></comment><comment><USER18> So after years of an effective Intel monopoly I'm really glad to see AMD is back in a way that I don't think I've seen since the Athlon64/Opteron days. Back then it was AMD who pushed the x86-64 instruction set when Intel was claiming EPIC was the future (ha).

At this point, Intel's move to 10nm processes is an embarrassment. I'm sure it's a difficult problem but historically Intel has been reasonably good at planning process advancements but in the case of 10nm they've been off by _years_. I believe the original goal was 2017? And we're still not there yet.

I would dearly love to see an honest postmortem of this and see what went wrong. Who made promises they'd miss by so much, why, what the issues were and so on.

The last PC I built (because apparently I still do that, even though it annoys me no end) has an Intel 9700 in it. At the time that was probably the best choice. 6 months later and it would no doubt have been a Ryzen.

I hope AMD keeps this up as we need the competition.

<comment><USER19> They got comfortable with Moore's Law, which in fairness, had held for a long time, and continued to use the model that increasing feature density quadratically was a linear problem. Now, it turns out that once you get near the 10nm gate size range, the difficulty diverges from linear to exponential (and perhaps even higher eventually as some hard limit is approached).

That, and Intel isn't an innovative company anymore. Now they are a process company riding on their manufacturing dominance and x86 market share. It looks a lot like Apple under Tim Cook, except add another decade since there was innovative leadership (Andy Grove). They are a few consultants removed from IBM at this point.

<comment><USER20> > It looks a lot like Apple under Tim Cook, except add another decade since > there was innovative leadership (Andy Grove)

Ehh this is debatable. Apple has put out a few products that have completely changed the market under Cook's tenure. AirPods have introduced a new head phone paradigm. Apple Watch is waaaay ahead of the competition. The iPhone X made full screen phones mainstream and introduced UI gestures that were copied by Android.

Sure there have been some missteps _cough_ butterfly keyboard _cough_ but I'd say overall, they are still producing interesting products that define a large part of the consumer tech market

<comment><USER21> What I think Cook misses that Jobs got, and made for more exciting releases, is the idea of a totally integrated service. The iPod's victory was also a victory for iTunes. The iPhone was also the App Store. And when Jobs left, those kinds of distinct pairings did too. They are hard to concieve of, and to execute on.

In contrast, the AirPods and Apple Watch are more straightforward "make 'em smaller" incremental moves. The engineering work is leading in many respects, but it doesn't upend a market.

And Intel does have a history that was like Apple's in parts. A big part of their advantage as the PC market heated up was in marketing an entire nomenclature of what the platform could be and to provide comprehensive path- of-least-resistance solutions around that, ensuring that the industry fell in line around their technical lead rather than IBM or some competitor.

Those bones are still there in parts of the company - Intel chipsets are pretty well regarded for dependability(seeing Windows crash because of Intel drivers is a very rare event) and they've been good at getting the corporate office to standardize on them - but increasingly the platform is getting defined around mobile and server needs, which are a more competitive space generally. Intel doesn't get to call the shots on 5G, for example - and huge data center customers are in the business of optimizing the system end-to-end to provide the most efficient general computing resource possible; everything they touch commoditizes, and they will put their foot down if they smell enterprise contract crap.

<comment><USER22> I think you're simplifying the AirPods and Apple Watch; while glamorising other Apple products. The iPod wasn't the first MP3 player. It was a MP3 player that worked well. The iPhone was actually not the first smartphone; it was the first smartphone that worked well thanks to its multitouch screen.

Do you remember the first generation iPad? I owned it, and let me tell you. It was, almost literally, 9 iPhones stuck together.

The AirPods is more than just make it smaller. People praise its convenience, and its innovation is in skipping the cumbersome bluetooth pairing process.

<comment><USER23> To be fair, how often do people pair their headphones? I think I paired my headphones only twice in the past month, and that took about 45 seconds.

<comment><USER22> I own an iPhone, Macbook Pro, Work Macbook Pro, Surface, and a desktop gaming PC.

Switching your bluetooth headphones between 5 devices can be... a chore.

</comment></comment></comment></comment></comment></comment></comment><comment><USER24> ServeTheHome goes into much greater detail when it comes to reviewing server oriented hardware, its position on the market and enterprise specifics:

[https://www.servethehome.com/amd-epyc-7f52-benchmarks- review...](https://www.servethehome.com/amd-epyc-7f52-benchmarks-review-and- market-perspective/)

</comment><comment><USER6> One of the most impressive things about these Epyc 2 chips is the very high PCIe bandwidth. A LOT of lanes, plus support for PCIe 4 (doubles the per-lane bandwidth). Interesting options for extreme SSD storage speed &capacity (in a single node) if you combine it with a PCIe expansion box. (And Potentially other single-node performance metrics for accelerator cards supporting PCIe 4, which NVIDIA doesn't yet.)

<comment><USER25> And the lanes are cheap.

[https://www.avadirect.com/Tomcat-HX-S8030-S8030GM2NE-AMD- SoC...](https://www.avadirect.com/Tomcat-HX-S8030-S8030GM2NE-AMD-SoC- SP3-DDR4-3200-2TB-3DS-LRDIMM-8-VGA-GbLAN-2-ATX-Retail/Product/13225593) this is a $400 standard ATX board with 80 PCIe lanes (+ 16 more via risers). That's the equivalent of 160 3.0 PCIe lanes.

<comment><USER8> The lanes come from the CPU you put into the board, not the board itself. Although yes they are still cheap, at least if you go with something like the EPYC 7252 at ~$500 (which still has the full 128 PCI-E 4.0 lanes)

That said I have no idea how you would actually _feed_ that many PCI-E lanes with an EPYC 7252, but if you can pull it off it's an insane $/lane value.

<comment><USER25> I know it's the CPU but the board I linked is a very rare standard ATX board, almost all boards are proprietary.

I presume you could build an insane fast fileserver with a real lot of M.2 disks and multiple 100GbE ports?

<comment><USER8> Sure but I don't think the 8 core epyc would actually keep up with that many NVME drives. At least not if you tried to actually hit 24+ of them at once.

Linus tech tips tried this and had to upgrade the CPU from the 24 core epyc to the 32 core to get performance up to what they wanted. [https://youtu.be/xWjOh0Ph8uM](https://youtu.be/xWjOh0Ph8uM)

Maybe just a bad deployment but there is overhead in filesystems. Especially with checksums and compression and redundancy and etc...

<comment><USER6> It's possible to bypass the CPU in some cases using NVMe over an RDMA layer with Infiniband. PCIe 4.0 dual-port 200Gbps Infiniband/Ethernet adapters exist[1] which are compatible with this approach: [https://store.mellanox.com/products/mellanox- mcx653106a-hdat...](https://store.mellanox.com/products/mellanox- mcx653106a-hdat-sp-single-pack-connectx-6-vpi-adapter-card-hdr-ib-and-200gbe- dual-port-qsfp56-pcie4-0-x16-tall-bracket.html)

[1]Although you can't saturate both of them through even a 16 lane PCIe 4.0 port which has ~250Gbps of throughput each way.... Which to me means that PCIe 4.0 is not at all too soon.

</comment></comment></comment></comment></comment></comment><comment><USER26> It's just bizarre to watch how once unassailable Intel is totally floundering in multiple aspects of their main business. I wanted to upgrade my aging Core i7 workstation and looked into the current Intel HEDT lineup. Only 14nm, and even without Spectre/Meltdown mitigations the chips are way slower unless you can use AVX512. Ended up buying Threadripper 3970X with a quad-GPU capable board, even though the CPU is _more_ expensive than anything HEDT that Intel currently sells.

<comment><USER27> >It's just bizarre to watch how once unassailable Intel is totally floundering in multiple aspects of their main business.

Isn't this just history repeating itself though? We could easily replace "Intel" with any number of previous market leaders that have fallen by the wayside.

<comment><USER26> I don't remember any company flubbing their unassailable lead quite this badly. I sense there might still be some complacency behind it. Sales are probably doing well enough to not worry about it quite yet. But it's much like C19: if AMD gets the mindshare (which it is in the process of acquiring), with some lag those sales will start to die, and it'll be too late to do much about them then. Any countermeasures have to be preemptive, and I just don't see anything exciting being announced by Intel until at least 2021, whereas AMD keeps releasing bombshell products every quarter like clockwork.

<comment><USER28> > I don't remember any company flubbing their unassailable lead quite this > badly.

I do.

Heck, among other examples, I remember the company being Intel, the market being x86 general purpose desktop/laptop processors, and the firm they blew their long-established unassailable lead to being AMD. I also remember AMD turning around much quicker and flubbing it back...

Actually, unless I'm mistaken, that happened _twice_ before, the first time being the reason the now-universal standard for 64-bit x86 is what used to be "AMD64".

> AMD gets the mindshare (which it is in the process of acquiring), with some > lag those sales will start to die, and it'll be too late to do much about > them then

AMD had the mindshare for quite a while before, but Intel was able to do enough about it that people apparently forget that it even happened. The market is fickle, and AMD is at least at good as flubbing advantaged positions as Intel, judging from history.

<comment><USER29> ...almost as if everytime Jim Keller takes the reins at AMD, they pull away from the competition...

<comment><USER26> He's at Intel now. :-)

</comment></comment></comment></comment></comment></comment><comment><USER30> For someone considering their next build with a usecase of:

\- programming, docker, golang

\- gaming

can anyone recommend a resource for determining the relative performance of processors? With all the new of how well AMD is doing, I'm still not sure how to look at a given task, and determine which processor would perform better.

Does anyone know of such a source?

<comment><USER31> Unless you are compiling massive projects then your best bet will likely be a 3900x. You get more cores then you can likely use to handle all the programming multitasking while also having a cpu that's 5-10% off of the best gaming cpu available. All while keeping within a reasonable budget.

<comment><USER32> Without question, get the 3900x. It's a _bit_ behind Intel in single-threaded performance, but only barely, and the embarrassment of cores you get compared to the i9-9900K more than makes up for it. Microcenter currently has it on sale for $379 if you buy it together with a compatible mobo, which is the deal of the century.

<comment><USER33> I think Ryzen 3 is coming this year, so it might be better to wait a bit.

<comment><USER34> It's out and the darling of most tech news.

There is some confusion in their naming. Zen is the architecture name, and so far we've had Zen, Zen+, and Zen 2. The consumer processor line is branded Ryzen (and Ryzen Mobile for laptop parts). The HEDT processor line is branded Threadripper, and the server line is branded Epyc.

Ryzen and Threadripper 1000-series are Zen.

Ryzen Mobile 2000-series is Zen.

Epyc 7001-series is Zen.

Ryzen and Threadripper 2000-series are Zen+

Ryzen Mobile 3000-series is Zen+.

Ryzen and Threadripper 3000-series are Zen 2.

Ryzen Mobile 4000-series is Zen 2.

Epyc 7002-series is Zen 2 (Epyc skipped Zen+).

Zen 3 is expected in 2020, based on AMD guidance. Asssuming they follow their part numbering scheme, we should expect this to appear in Ryzen and Threadripper 4000-series, Ryzen Mobile 5000-series, and Epyc 7003-series.

</comment></comment></comment></comment></comment><comment><USER35> Has the rise of AMD led to a shift in talent going their way as well? Not sure how the loyalty dynamics are in the chip engineering industry.

<comment><USER36> It already sounds like the environment in Intel isn't great, and a lot of the staff dynamics are very driven by cost-cutting. Great video on youtube posted in the last week with a bunch of leaks from Intel employees: [https://youtu.be/agxSclh27uo](https://youtu.be/agxSclh27uo)

<comment><USER37> Pretty standard fare for monopoly/cartel in all segments in America. Pump stock, hit options, golden parachute.

I will say the last time AMD had a brief lead on Intel with Athlon, they laid on their laurels and started milking customers in record time. I think that was Hector Ruiz.

The last time, it was pretty clear from the mobile processors that the core engineering talent was somewhere in the company, I think the Core processor was from an Israeli team rather than the one pushing out the high-frequency pipeline-stalls-be-damned stuff.

But I get the feeling with the stunning, STUNNING process lead collapse that the engineering talent is fundamentally gone.

Intel had a two or three year lead it was thought at one point.

</comment></comment></comment><comment><USER38> 256MB of L3 cache is incredible. There must be useful classes of application that can fit entirely within that, OS and data included.

<comment><USER39> remember that with ryzen that is split up between chunks of cores, so its not entirely flexible.

that gets better with the upcoming generation though, its more unified.

<comment><USER40> Can you disable cores to get more cache per (actually running) core?

<comment><USER41> Yes. That is what AMD is doing with these chips; e.g. the 32-core version has 64 cores with half disabled and you can disable more if you want.

<comment><USER42> I thought the chiplets were binned before getting placed onto the carrier silicon, so they wouldn't need to do the core fusing that Intel does?

<comment><USER41> There's no carrier silicon and I'm not sure what distinction you're making between binning and fusing. The only way to get 256 MB of cache is to also have 64 cores, the only way to get 192 MB is to have 48, etc.

</comment></comment></comment></comment></comment></comment><comment><USER43> Anandtech Link: [https://www.anandtech.com/show/15715/amds-new- epyc-7f52-revi...](https://www.anandtech.com/show/15715/amds-new- epyc-7f52-reviewed-the-f-is-for-frequency)

</comment><comment><USER44> Could someone comment on how this compares with Ryzen Threadripper (e.g. 3990X)?

<comment><USER45> More Ram and PCIe, lower clocks/heat.

</comment></comment><comment><USER46> I thought it is worth pointing out, Intel already sell a HEDT CPU that is faster and cheaper than these AMD Counterpart, the 10980xe with 18 Core and higher Clock speed.

All it takes is Intel to bin them with ECC Memory and renamed them to Xeon to compete.

And it seems AMD is in no hurry to release their Zen 3. Giving plenty of time for he market to digest their Zen 2. I just hope their Enterprise and Server Sales Department do better. Because right now, while on paper / benchmarks they are doing great, their sales figure aren't showing all the enthusiasm many sites and comments are claiming.

And that is speaking from an AMD shareholders.

<comment><USER47> BigCo's move slowly. It'll take some time before sales cycles close. I'd give a quarter or two lag between now and really promising sales numbers to account for how slowly things in a large data-center change. A human, somewhere, has to rack each of those things :P

</comment></comment><comment><USER48> Yet, there's no official, ready to use BLAS/LAPACK.</comment>


Looking to build a small talented team for Facebook app - <AUTHOR>

As the title says I'm looking to build a small team of "hackers" to work on a facebook app/widget. The application is called officebook and it a series off little applications that can be collaboratively worked on by friends. applications include basic clones of word,excel ,powerpoint. It will be hard given the restrictions, but thats what makes it fun. More details avialable, e-mail me if you are interested. <p>Also any feedback would great. <comment><USER2> Just curious, what's the ultimate value here? I feel like I can already do that sort of collaborative editing through a number of existing services. And I can't see what being inside of Facebook adds to that experience, since editing documents together isn't something friends casually happen upon.

<comment><AUTHOR> The added value is that users don't have to subscribe to a new service. It's easily accessible, there is no real way for your friends to know about your writely, With our service they can see all the files on you profile page and be able to edit them if they have the permissions.This application is still most useful than 80% of the apps on facebook.

<comment><USER2> All of my friends already have Gmail accounts. If we're gonna make up percentages, I bet 80% of Facebook users do, too.

<comment><AUTHOR> I have yet to see an original idea from any facebook app. They are all rehashing old ideas.

My app is pretty solid. It's not intended to replace over take Google apps but rather to target the people that do not use/know about Googles office products.

Google audience tends to be tech savvy, which is a direct contrast to facebooks members.</comment></comment></comment></comment>


Ireland to enact SOPA-like legislation - <AUTHOR> http://www.tjmcintyre.com/2012/01/adrian-weckler-confims-that-irelands.html

<comment><USER2> No. This is not "SOPA-like" and the author should know this. The article is inaccurate and borderline linkbait. It's ISPs being forced to block sites. It's already happened with the main Irish ISP Eircom and the Pirate Bay, and it's becoming the norm in many Euorpean counties. While this is bad it is not like SOPA. SOPA targeted advertising and payment processors and would have made circumvention tools illegal. Nothing like this is happening in Ireland.</comment>


When a WordPress Plugin Goes Bad - <AUTHOR> https://blog.sucuri.net/2016/03/when-wordpress-plugin-goes-bad.html <comment><USER2> Wow, excellent write-up. Appreciate the in-depth analysis. Google scans play store apps for security issues and misses them often, it's no surprise that the WP Plugin directory also does.</comment>


Students think the College Board is running a Reddit sting - <AUTHOR> https://www.vulture.com/2020/05/college-board-fake-reddit-account-ap-test-cheaters.html <comment><USER2> I took the AP Chem exam last Thursday, fortunately without incident. One of my friends was unable to submit his AP Literature assessment, facing the same error popup that has plagued so many of the other students. I've heard from several other students in my district that have had a similar problem. My brother had an AWS Lambda error message when he tried to access his exam the first time; CollegeBoard had surpassed their Lambda service limits (Fortunately he was able to access his exam after trying again).

Their online tooling has never been great–AP Classroom takes at least 3 tries for me to access, one to log in again which then redirects back to AP Central, one that just redirects back to AP Central, then finally one that takes me to my assignments page.

This certainly isn't an easy problem to solve. CollegeBoard definitely should have designed a more stable system to host their exams on, but as with anything digital, there's always an opportunity for error–even moreso since everyone takes the exam at the same time (which is an entirely different can of worms, with students in Guam taking exams at 1a, 3a, and 5a).

If I were to design these assessments, I'd have it be an untimed, synthesis- based assessment, more similar to AP Computer Science Principles[0], with their Digital Portfolio. Simply having a deadline for all students to upload to a basic tool (which already exists as CB's Digital Portfolio system). Like the current exam, have the submissions sent back to teachers for validation (there's nothing on the current system that validates your identity, simply paste in your AP ID and enter your name/dob, and you're in the system).

I think if a student can write a well-formed essay over a topic, they can get college credit. In science classes, they could design an experiment and simulate a lab report. CS classes can create a program, etc.

[0]: [https://apcentral.collegeboard.org/courses/ap-computer- scien...](https://apcentral.collegeboard.org/courses/ap-computer-science- principles/exam)

<comment><USER3> I still have yet to hear anyone propose a workable solution for the ultimate problem of remote assessment in CS: hiring someone to just do your work for you. Everyone keeps saying "oh just make it project-based" like I _didn 't_ have a student last fall who hired someone to do his final project. I only detected him cause the person he hired sucked and left bread-crumbs; how many students did I not detect because they hired competent people?

<comment><USER4> > I still have yet to hear anyone propose a workable solution for the ultimate > problem of remote assessment in CS

What about 1-on-1 interviews? Ask people the questions face-to-face, ask them to talk you through their answers. That's how advanced degrees like PhDs are assessed.

<comment><USER3> I'm 1-on-1 interviewing my 59 Algorithms students this semester. 20 minute interviews, and I have 2.5 TAs to help offset the workload. Starts on Wednesday, I'm absolutely dreading it. This would never scale to my _180_ Intro students that I'll be getting this fall.

<comment><USER5> What are the 59 algorithms?

<comment><USER4> 59 students of algorithms, not students of 59 algorithms, I would guess.

<comment><USER6> I would definitely take a course entitled "59 Algorithms". What a fantastic idea for a second course in algorithms! Looking at 59 of the most important algorithms (in the opinion of the professor). It's even more intriguing since it's not a round number, so you know the prof didn't add a bunch of filler just to get a nice number.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> On a related note, I've seen multiple posts online about technical difficulties with online AP tests like videos from students trying to press the submit button as the countdown timer is almost to zero and nothing happening. Some claimed they contacted College Board and were told they'd have to troubleshoot their computers during the makeup exam. That seems unreasonable for such an expensive test.

<comment><USER8> They should have Amazon run the exams. They are the one tech company committed to their services actually working when needed.

<comment><USER9> They actually did, many of the errors students have been experienced are with Amazon's Lambda product.

<comment><USER10> They mean "Amazon should run" the exams, not "they should have built their exam submission infrastructure using AWS."

Lambda is part of Amazon's Cloud Computing subsidiary Amazon Web Services (AWS). AWS is a utility like DigitalOcean or any hosting provider. It's not some kind of guaranteed success strategy.

<comment><USER11> This made me smile. AWS is now the new Microsoft in the sense that "nobody got fired for picking AWS" or like the gold plated cables at Big Box Store to the less informed. MoAr BeTtAR.

</comment></comment></comment></comment></comment><comment><USER12> The college board was in a tough spot this year. They couldn't really cancel the exams -- Juniors need them for college admissions, and Seniors need them for college credit.

But they also have to instill trust in the system.

Which led them to them having claims on their website that the test was "uncheatable" and had "the highest level of integrity" while on other parts of their website claiming they had deployed extreme security measures to thwart cheating.

At the end of the day I suspect the colleges will just accept the scores under the assumption that it would be poor form on their part to give the students a hard time about something they had no control over.

<comment><USER13> > Juniors need them for college admissions, and Seniors need them for college > credit.

A position which the College Board has fought tooth and nail to be in for the last few decades!

<comment><USER14> College Board was a primary scourge of my education. How a single private company could get its dirty fingers into public education beats me to this day.

And please, don't come at me with "they're a non-profit", last I looked in 2014 they had made $750 million, and I'm sure they pay their top executives _very well_ to say the least.

</comment></comment></comment><comment><USER15> Are colleges even going to accept high scores on these exams for credit / advanced placement?

It's a shame the college board decided to go through all this instead of refunding the fees they collected from students, especially when the value proposition on the students' side is uncertain.

Add in behavior like "posting content to confuse and deter those who attempt to cheat" when internet research during the exam is not actually a violation of their rules, and the organization starts to look fairly predatory.

<comment><USER8> Do universities have a choice?

My local school system is guaranteeing students that their grade will not be lower than when they closed schools. Many classes had not yet had any kind of exam, so they have 95% averages.

Universities obviously believe that any grades from the semester are now worthless and some have said so. But what are they going to do? Not accept any local students?

Every metric you might use to admit students has been tainted by this COVID business.

<comment><USER16> I think universities are necessarily going to rely more on the "soft" aspects of applications to select students. It won't be a problem for top colleges - they could probably toss out the entire admitted class twice over and still select a world-class pool of students from the application pool.

I think it might be problematic for T2-T3 schools and state schools that are generally lenient when accepting AP credit. As for graduate and professional schools... that's going to be a mess. Harvard Medical School will only consider COVID Pass/Fail grades if colleges make those grading schemes mandatory for students; otherwise, students will have to submit letter grades. That's (1) completely heartless and (2) an arbitrary advantage for students who went to schools where P/F is mandatory.

<comment><USER17> Presumably a lot of admittance decisions have already been made. These are about AP exams--basically placing out of college courses--so not a huge deal overall (especially at more selective schools).

Honestly, the bigger issue for a lot of students at the moment is the uncertainty over the degree to which schools will open up for physical classes in the fall. What makes sense under those circumstances? And, of course, a lot of the usual gap year options aren't going to be available either.

<comment><USER8> The issue is for applications next year when these courses should have been at the centre of applications.

<comment><USER18> Those kids could retake normal proctored tests November, assuming the world stops burning and CB seta up testing.

</comment></comment></comment></comment></comment></comment><comment><USER19> At what point do we stop wasting time and energy trying to build better tools to catch cheaters and start focusing on building a better system of education and assessment?

If a kid can cheat, pass, get a degree and go out and not fail in the real world, what does that say about the validity of the tests? Even futher, what does that say about the world we live in?

<comment><USER20> > If a kid can cheat, pass, get a degree and go out and not fail in the real > world

I've known many cheaters (they tend to brag about it). The ones that do good work don't need to cheat, and the cheaters don't stop cheating once they graduate.

Who'd you rather work for / hire / trust with your money:

1\. a cheater

2\. not a cheater

?

<comment><USER21> In some countries it's pretty normal and expected for students to cheat in school, but after they find a job where they are treated with trust and respect and given real-world problems to solve, absolute majority will stop playing tricks.

<comment><USER20> If they have to cheat to solve the toy academic problems, how are they going to solve real problems?

<comment><USER13> Well, toy academic problems often have no relevance to real problems.

<comment><USER20> Yeah, they're a lot simpler.

<comment><USER13> Model planes are a lot simpler than real ones, often to the point where they are completely different to work with.

<comment><USER20> Model airplanes have Center of Gravity, Center of Pressure, stability, lift, drag, weight and thrust - just like real ones.

If you have to cheat to design model airplanes, you have no business designing real ones.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER22> Looks like they're not preparing for it well, but I'm sure there's going to be more cheating than usual this time around. I bet there will be some oddities in score distribution and students with unimpressive SAT score who suddenly nailed AP Calculus.

<comment><USER17> AP Calculus would probably be one of the least productive tests to cheat on. So you place out of the first semester of Calculus at college in spite of not really knowing the subject. Now it's the second semester calculus class. How's that going to go? To say nothing of other STEM classes that depend on math.

<comment><USER23> Plenty of majors only require one semester of calculus.

<comment><USER24> At my alma mater passing AP Calc is enough to test you out of your math requirements entirely for Architecture, for example.

</comment></comment></comment></comment><comment><USER25> [https://www.reddit.com/u/dinosauce313](https://www.reddit.com/u/dinosauce313) for reference.

</comment><comment><USER8> In the information age, we are going to need an alternative to testing merely information in an easy to grade way.

</comment><comment><USER26> Even if they are, so what? Sure, time would probably be better spent making their online testing actually work. However, anti-cheating is always something these types of tests prepare for whether that's exam room monitoring or trying to protect their online exams. Setting up a honeypot to get students seems exactly like the lazy method these people would attempt.

<comment><USER12> Why is setting up a honeypot lazy? If they had been good at it it would have worked flawlessly.

Just disqualify anyone who copy/pastes answers from the known shared workspace.

</comment></comment><comment><USER27> I'm more curious how well the 'we made a whole new batch of tests under emergency time pressures so that students won't benefit from googling' claim holds up, I mean google certainly did its part here during the last decade by becoming less and less useful for finding answers to non SEOed questions and yet...

<comment><USER28> As a student who took 3 AP tests this week, it holds up well. The main weapon CollegeBoard leveraged is that these exams were only 45 minutes long.

For example, AP Calculus had two questions: A 25-minute, and a 15-minute question, each with 9 or 10 parts. There simply just isn't enough time to Google anything. If you look at Google Trends data [0] you can see hilarious spikes in related terms during the exams, but if you didn't have a good handle on the material then you would just run of out time.

[0]: [https://trends.google.com/trends/explore?date=now%207-d&geo=...](https://trends.google.com/trends/explore?date=now%207-d&geo=US&q=derivative)

<comment><USER27> Is there a sample questionnaire online ? What about someone using Wolfram Alpha etc. ?

<comment><USER28> [https://apcentral.collegeboard.org/pdf/ap-2020exam-sample- qu...](https://apcentral.collegeboard.org/pdf/ap-2020exam-sample-questions- calculus-ab.pdf)

The exams are designed with algebraic solvers in mind and typically, you don't actually find derivatives and integrals. Instead, they'll show you a graph or table instead of the equation itself. Typically students are allowed to use a TI N-spire CAS CX on their exams, which has a lot of the same capabilities as WolframAlpha.

</comment></comment></comment></comment><comment><USER29> Why does the exam throw out all the student's answers if they fail to click the final button? It should just record each answer as they go. Then, if their computer dies or their Internet connection fails, at least they can get graded for the questions they successfully answered so far.

The UX design is broken.

</comment><comment><USER30> Found the below on the CollegeBoard website today [1]. Only effective for the second week of AP exams.

> Students with an unsuccessful submission will see instructions about how to > email their response on the page that says, "We Did Not Receive Your > Response." The email address that appears will be unique to each student.

[1]: [https://apcoronavirusupdates.collegeboard.org/faqs](https://apcoronavirusupdates.collegeboard.org/faqs)

</comment><comment><USER31> If you think abstractly about pedagogy as a social science, it's very obvious from seeing how much education is struggling with cheating that the field has had zero progress in the past century. We need to stop conflating social development, socialized childcare, and education systems.

Here's my shitlist:

* Children should attempt hard problems that they can make progress on, but probably cannot solve. It is wrong that schools give nearly zero exposure to truly hard problems, and plenty of exposure to trivilally solvable problems. And no, making them tease out the meaning of a word-problem doesn't qualify as difficulty. I mean give them a problem that makes them find a wikipedia page and learn on their own.

* Computers are here to stay. I remember when I was little, I was told that I wouldn't always have a calculator on me. That is demonstrably false, I literally do not go anywhere without a computer in my pocket. Furthermore, that computer has a WolframAlpha app that can interface with server clusters running the most advanced computer algebra systems in existence. Why did I learn stoichiometry? _There is something deeply wrong with education if students could easily pass an AP Physics exam with access to WolframAlpha, and will (probably) have access to WolframAlpha in every practical application of their AP physics education, but are artificially prevented from having access during the exam._ Why don't the tests correspond to real-world application of the subject? Oh, it's more convenient for you to evaluate it this way? That's tough shit, figure it out.

* Students should have an entire day dedicated to math, and then they should have an entire day dedicated to English, etc. Some students might get bored and tired, sure, because sometimes learning isn't pleasant. But over and over on this site we hear that successful developers are the people who are able to maintain focus for long periods of time on difficult problems. Why do students waste 35 minutes a day switching classrooms?

* There is not enough differentiation of students. Advanced students have so much of their time wasted. The advanced 3rd graders should be hanging out with advanced 6th graders.

The way that the education system is collapsing from cheating and going online-only is nothing short of exciting to me. A lot had to go wrong for us to get to this point -- answer banks exist because everyone uses the same textbook and the same curriculum. Cheating with other students exists because group-work is the natural state of humans. Students aren't excited about the work they do because they sense that there's a magical oracle on the internet with the solution to the simple problems they're solving.

It's all going to fall apart and that's something to celebrate. The thing that I'm most afraid of is that Americans have lost the ability to take risks at aggregate and think radically about redesigning institutions. All of these problems that I'm talking about are just as bad in every other country in the world. Some country is going to figure it out and they're going to reap the rewards, and I'm afraid that America isn't brave enough anymore to be the first.

<comment><USER32> _I remember when I was little, I was told that I wouldn 't always have a calculator on me._

This turned out to be false, but being able to do mental arithmetic is still an extremely valuable skill. The usability of your pocket calculator is really bad in comparison, and what the mental arithmetic gives you is a general automatic numeracy where you can ballpark the answer to numerical problems much faster than using a tool.

This becomes a qualitative difference because you'll do more of those mental checks as a matter of course that you would never pull out a calculator for. Kind of like how git made merges so painless that they're now a standard part of most people's development flow. That's the kind of qualitative impact that mental arithmetic can give you.

I admit that this is a point that's difficult to get across, and schools generally don't do a great job of it...

<comment><USER26> yes, being able to calculate the tip for your bar tab without needing to dig into a purse to find your "calculator" is a nicety. Being able to calculate the savings from the 20% sales price is also a useful trick. My favorite is just being able to round up the prices of items at the grocery store, and keep a running total in my head. I know I'm a nerd, but the concept calculating the tip by doubling the value after moving the decimal place one position to the right of the total flabbergasts me on how difficult it is for others to grasp. That's like 6th grade level math (at least it was when I learned it).

</comment></comment></comment><comment><USER33> Honeypotting minors is so unethical I don't know where to begin. These kids' futures could've been completely fucked

<comment><USER34> It also bothers me that they cancelled exams of students they said had planned to cheat. The College Board should have given them an opportunity to take the exam and see if they participated in the cheat chats before cancelling their score. In my mind thinking about cheating, researching ways to cheat, and even planning on cheating isn't the same as actually cheating. Anxious kids who are studying do all kinds of dumb stuff and joining a subreddit of potential cheaters doesn't necessarily mean the student is a cheater. You have to give someone - especially a kid - the opportunity to do the right thing.

<comment><USER30> Yeah. What if those kids just joined the subreddit for fun, and didn't actually plan on using it?

</comment></comment></comment><comment><USER35> Tests should have been stretched in time and spread across classrooms to have smaller groups of people to practice social distancing, not be administered online; it is a cheatfest.

</comment><comment><USER36> r/entrapment

<comment><USER37> No, making something available isn't entrapment.</comment></comment>


Mailchimp Kicks Out TorrentFreak Because We're 'Too Risky' - <AUTHOR> https://torrentfreak.com/mailchimp-kicks-out-torrentfreak-because-too-risky-191020/ <comment><USER2> I can respect Mailchimp wanting to protect the whole of their service, and I am glad TorrentFreak saw that and pointed it out as well -- basic good candor from TF.

What I cannot understand and what makes Mailchimp look bad in this case is their lack of answers on legitimate questions & concerns. Mailchimp probably feels they are protecting the system's logic to prevent people from gaming it. In reality all they are doing is upsetting the exact group of people whom are the ones which select which service to integrate generally. But they have kinda moved towards tailoring their service for the ready made sites and not so much for enterprise or developer level anymore.

The questions asked were fair, legitimate and Mailchimp should have discussed ways to work with TF or at least been more forth right with why it doesn't feel they can work together. Mailchimp has hosed a ton of people over the past few years. Seems like they are on the path to turn into the Paypal of email with their hidden reasons and lack of candor with clients.

</comment><comment><USER3> This is a really bad look for MailChimp. I hope this costs them a lot of business; and encourages to revisit their policy here.</comment>