Titles, Titles Everywhere But Not a Page to Turn - <AUTHOR> http://query.nytimes.com/gst/fullpage.html?res=9C04E5D71238F931A3575AC0A960958260&sec=&spon=&pagewanted=all <comment><USER2> Am I an idiot for scanning almost halfway through the article before realizing it's 12 years old? Methinks I am.</comment>


Java for iPhone - <AUTHOR> http://www.codenameone.com/ Ex Oracle/Sun Engineers build this tool that Java developers can use to run their code on multiple platforms including iOS. Beta version is free, so download and check it out! <comment><USER2> This isn't "running Java on iOS". This is cross-compiling Java to Objective C, the exact same way that other toolkits like MonoTouch, Titanium and RubyMotion do it.

The difference is important.

You can use this toolkit to target iOS from Java, but that doesn't mean that you get that language's infrastructure with it. I'd argue that's probably a good thing, but either way it's a far cry from "running Java on iOS".

<comment><USER3> MonoTouch does not compile to Objective-C. It compiles to native code, just like Objective-C, very much like Mono, CLR, or JVM do on other platforms. The real difference is running the compiler ahead of time, versus JIT. That, and disabling some functions that Apple deems bad, like keeping the ability to modify or emit code on-the-fly.

In the case of MonoTouch, you do get the infrastructure; they have the runtime ported over, and other libraries get compiled in as needed. So, in Mono's case, it IS "running .NET on iOS".

I see no intrinsic reason this could not be done for Java, although I don't know what this specific implementation is doing.

</comment></comment><comment><USER4> This just looks... Wrong :) Doesn't look or feel like iOS at all...

<comment><USER5> Of course not. Like so many desktop Java apps, it will look and feel like Java, no matter where it's running.

<comment><USER6> To be fair, it's hard to know how much of that sluggishness is the app itself and how much is just a video-encoding artefact.

Certainly the API has some interesting inclusions -- Facebook and analytics built-in.

<comment><USER7> Also note that the demo video is from the Simulator, not an actual device.

<comment><USER8> Which is probably worse - the Simulator consistently outperforms any real device.

</comment></comment></comment></comment></comment><comment><USER9> So much negativity here. IMO the themes alone could be worth it. However the whole thing seems a bit laggy in the simulator he shows. 3GS is still on sale and I find that even with native iOS 5 it feels slow - I wouldn't want to run such a heavy handed framework on there.

</comment><comment><USER10> Did any of you really use it or only look at the video? I agree that the UI needs much more work (the entire Swing programming is really old - and not really convenient). I really didn't like the resource-ui tool. However, being able to write once and compile on the cloud (not needing to open 2 environments - eclipse & xcode ide like in PhoneGap is a huge plus). If they will get their act together regarding the UI (html and css for example)they might be the winner in cross-platform development world... Also I wonder their future support in Scala.

<comment><USER11> It seems that you are talking about something like RhoMobile Rhodes open source Framework[1] and the RhoHub hosting solution[2]. Rhodes uses HTML5 and ruby to target multiple OSes and RhoHub allows you to build this apps in the cloud.

[1] <https://github.com/rhomobile/rhodes>

[2] <https://app.rhohub.com/>

disclaimer: I work for Motorola Solution, the parent company of RhoMobile.

<comment><USER10> I prefer native or html5 for fast deployment - how are the performance in Rhodes (from yours experiences not from "Google Result") vs native?

</comment></comment></comment><comment><USER12> I've used this in the past to get something across Android, J2ME and iOS -- even with the best of intentions an app turns out like a ugly mutant frankenstein.

</comment><comment><USER13> I think this is a little too heavyweight. Since platform-consistent UX is so important, I'd prefer to stick with Apple's tools--at least for UI development. It's usually easy to tell when an app is faking the native look- and-feel in a webview, for example, and I doubt that this will be much different.

<comment><USER14> _It's usually easy to tell when an app is faking the native look-and-feel in a webview, for example, and I doubt that this will be much different_

It looks like this uses native peer controls; ie it will appear identical to a platform specific app because the compiled version _is_ platform specific.

</comment></comment><comment><USER15> Why is it so hard for Java programmers to learn anything other than Java?!

<comment><USER16> Citation?

<comment><USER15> Original post. iOS in Java?! Why?! GWT! Why. Just learn ObjC, Javascript, whatever the local language is... It's not that hard really...

<comment><USER17> The advertised benefit is reusing your code across platforms.

<comment><USER18> yes, write once, lag everywhere.

</comment></comment></comment></comment></comment><comment><USER19> the video looks really really strange</comment>


Question: What do you use to keep your work and freelance calendars in sync? - <AUTHOR> I have a few clients, and email / calendars for each.  It gets old having to manually look to see when I'm free and coordinate meetings, "Yes, Thursday at 3 PM should work for me..." type stuff.
Of course I already shared access so I could see my schedule, but that's not ideal either as it forces me to make all of my accounts known to each of my accounts... if I forget to disable it after a job, then whoever takes over my account would see all that information.  I don't love the idea of sharing my client list.
Ideally what I would like is to have a 3rd party service I could tie into... and it would manage all of my accounts and keep them in sync.  When I was busy on one calendar, it would create a "BUSY" event (with no other details) on all of the other calendars.
What are other people using, does anyone have anything like this or any suggestions for how to manage multiple calendars?  I want every client to just be able to look at my calendar in their system and know if I'm free for a meeting or not, and be able to book it without manual communication. <comment><USER2> [https://calendly.com/](https://calendly.com/)</comment>


Has Apple Really Ever Invented Anything?[video] - <AUTHOR> http://www.youtube.com/watch?v=wFeC25BM9E0

<comment><USER2> This has been posted here before.

If you applied this standard to everyone, nobody would have invented anything. E.g. Apple may not have invented bitmapped displays or the mouse, but they invented drop-down menus, overlapping windows, drag-and-drop, etc, etc. Where do you draw the line?</comment>


American Cheese Surplus Reaches Record High - <AUTHOR> https://www.npr.org/2019/01/09/683339929/nobody-is-moving-our-cheese-american-surplus-reaches-record-high <comment><USER2> The shifting preference patterns around cheese type are very tangible. In my own case, my kids have never had the kind of individually plastic-wrapped processed orange cheese slices that I grew up with. No Velveeta style either (unless it was on nachos at a fair).

And we mostly buy domestic cheeses, of which there are many suppliers who make higher quality varieties. Tillamook, Cabot come to mind, and one of my favorites, Milton Creamery's Prairie Breeze Cheddar.

Apart from these cheeses being objectively tastier than the cheese of my childhood, the power of social trends is strong, and people across the country have taken on to the "whole" foods trope in the past several years, no doubt urged along by the influence of celebrity chefs and new cuisines that have entered the US via immigration.

Interest in higher quality food is one of things that, despite polarization in other spheres, has become fairly consistent between the coasts and the middle of the country.

<comment><USER3> The american processed cheese has it's place. It's on hamburgers. There aren't a lot of cheese that work well for that.

There are a lot of domestic cheeses that are good. You can find nearly every type of cheese being made by at least one cheese maker in Wisconsin. (Distribution is a completely different story)

<comment><USER4> I find cheddar and pepper jack work as well or better on a homemade burger, but Kraft "cheese" slices are still irreplaceable on one thing, which is the grilled cheese sandwich. The ideal grilled cheese is made with American cheese, mass-produced white bread, and lots of butter. You can use better ingredients to try to make it fancier, but hit diminishing returns pretty much immediately.

<comment><USER5> Barf.

As someone who cooks grilled cheese sandwiches for a family twice a week, and likes to experiment, I can tell you that cheddar or gruyere, mass-produced white bread, and lots of mayonnaise, is preferred by some.

And someone else will chime in with something else. I don't know what the 'ideal' grilled cheese sandwich is, but I'm willing to wager a lot of people think it isn't made with American cheese.

<comment><USER6> > mayonnaise

Never tried that. My ideal is bechamel sauce with cheese on top - shredded for the added surface area when browning. This is based on a typical croque monsieur recipe. It's very easy to make bechamel in about 10 minutes and it keeps for a week or more in the fridge without issues.

</comment></comment></comment></comment></comment><comment><USER7> >Support, in its various forms, equaled 73 percent of U.S. dairy farmers' market returns in 2015. [1]

For the other commenters and viewers who were wondering about subsides.

[1][https://amp-realagriculture- com.cdn.ampproject.org/c/s/amp.r...](https://amp-realagriculture- com.cdn.ampproject.org/c/s/amp.realagriculture.com/2018/02/u-s-dairy- subsidies-equal-73-percent-of-producer-returns-says-new-report/)

<comment><USER8> It's worse than that; that study only counts things that benefit American producers vis-a-vis Canadian ones. For example, American corn subsidies depress the global price of corn, benefiting both American and Canadian milk producers.

</comment></comment><comment><USER9> Tangential story, who remembers when the US government "accidentally created a cheese surplus so large it had to be stored in a ginormous cave."

Great podcast on it from Planet Money: [https://www.npr.org/sections/money/2018/08/31/643486297/epis...](https://www.npr.org/sections/money/2018/08/31/643486297/episode-862-big- government-cheese)

<comment><USER10> I remember in the late 70's, or early 80's (I was a kid so don't remember exactly), when my grandmother went on Social Security she got cheese and butter regularly from the government. It was actually quality stuff. I believe it was possibly due to what you're talking about.

<comment><USER9> Yes, they call that "government cheese". I can't speak to the quality but there are people out there that still try to find things that are close to the government cheese quality they loved as kids.

<comment><USER11> My family had government cheese growing up. Was very very soft, only lightly more dense than cream cheese. Was hard to cut because was too hard for a butter knife but too soft for a carving knife. Taste was like a blander Velveeta. Was not terribly tasty in cold sandwiches but it made THE BEST toasted cheese and grilled cheese sandwiches. Melted very well and tested best melted.

</comment></comment></comment></comment><comment><USER12> We could start stacking it up along the southern border :-) More seriously though it seems to me that we could use with more cheese factories that make "exotic european" cheese, I much prefer a Camembert after dinner than slices of American. The Marin Cheese Factory[1] is a good example, more of those would be nice.

[1] [https://marinfrenchcheese.com/about-us/visit- us/](https://marinfrenchcheese.com/about-us/visit-us/)

<comment><USER13> Would definitely be nice to have more local producers. Cowgirl creamery makes some really good cheese, but it's stupidly overpriced, and they could use some more competition.

I was excited to try Marin's Camembert based on the idea of it being a local producer of real French-style cheese, but I've actually been very disappointed in the couple wheels I've tried. Tasted really dull and dry compared to d'Affinois (which is pretty commonly available and pretty reasonably priced) or real French Camembert (which is pungent enough that you should never cut it in a public enclosed space, but I've found it harder to find the good stuff).

<comment><USER14> You can't find real Camembert in the US, it has to be unpasteurized and it's aged less than 60 days which doesn't pass agricultural rules.

<comment><USER13> Ah, well, that explains the difficulty :-)

</comment></comment></comment></comment><comment><USER15> Reading between the lines here: the American cheese "product" isn't very good, and consumer tastes have shifted. Also, I assume the dairy industry is heavily subsidized by the US govnerment?

<comment><USER8> American cheese is cheap. And when you have an oversupply of milk, you have to either dump it or turn it into something that can be stored for later sale. Thus cheap cheese.

<comment><USER16> So what you're saying is that blocks of cheese are milk batteries. I like it.

<comment><USER17> Not at all. Once milk is turned into cheese, it's not really possible to turn it back, or into other dairy products

<comment><USER18> Are you sure about that? Has anyone tried? I mean, there was that one time that guy accidentally figured out how to uncook eggs: [https://www.smh.com.au/technology/australian-scientist- wins-...](https://www.smh.com.au/technology/australian-scientist-wins-ig- nobel-prize-for-uncooking-an-egg-20150918-gjpq12.html)

<comment><USER17> Now that sure is an interesting development! However, in cheesemaking, some of the ingredients and byproducts are discarded as part of the process, so you could not recover that for the original milk

</comment></comment></comment></comment></comment></comment><comment><USER19> This is like the EU butter mountains of the 90s.

Except I found no mention of subsidies. Is that not a (the) factor?

</comment><comment><USER20> Oh, by "American Cheese" they don't just mean cheese made in America, they mean the actual rectangular blocks of processed yellow cheddar-like stuff with mild flavor?

Seems like a waste to just store it as yellow tasteless bricks, can't the industry branch out into more interesting and varied cheeses the people will actually buy?

</comment><comment><USER21> Some of the best cheese I've ever had was decades ago when there was another cheese surplus and the government was giving it away. My grandparents got some from some senior citizen group, and it was delicious. I remember it being some kind of cheddar cheese. They had more cheese than they could handle -- they had like 4 5 pound blocks of cheese, so they gave most of it to my parents.

Though I was in my teens at the time and prior to that my idea of fine cheese was individually wrapped slices, so I'm not sure what I'd think of it now when I barely consider processed cheese slices to be "cheese".

[https://www.history.com/news/government-cheese-dairy- farmers...](https://www.history.com/news/government-cheese-dairy-farmers- reagan)

</comment><comment><USER22> We had grilled cheese for dinner last night - just doing our part to use up the surplus.

</comment><comment><USER23> I remember when the US government distributed cheese to low-income families. It was a good move-- it moved product from farmers, and it fed the hungry. The cheese was good, too. My family had some.

</comment><comment><USER24> HN is making me hungry tonight. Mmmm I need a grilled cheese sandwich now.

</comment><comment><USER25> The great american cheese debt bubble.

</comment><comment><USER26> So that's what they do with all the harvested oceanic plastic.

</comment><comment><USER27> Had cheese for lunch. Doing my part. How about you?

</comment><comment><USER28> Go Vegan!

<comment><USER29> Heck yeah. Best thing I've ever done

<comment><USER30> Hope your taking your supplements and keeping an eye on your biochemistry

</comment></comment></comment><comment><USER29> Perhaps a lot of folks are starting to wake up and go vegan, too, which would contribute to the "cheese surplus" (opting for cashew cheeses and other cruelty-free, delicious options.)

<comment><USER31> Perhaps some real-world data could support or refute that hypothesis. Though if Veganism is every going to be a proper religion, that sort of rationalism may undermine it.</comment></comment>


DEFCon24 Talks (all published so far) - <AUTHOR> https://www.youtube.com/watch?v=orWqKWvIW_0&index=1&list=PL7gTU7vlLWKN-ca2ha0cYJBpR_pQKvMfa <comment><AUTHOR> I'll add all new talks to the playlist and review the good ones here: [https://theduke.at/blog/develop/defcon24-2016-watch-all- talk...](https://theduke.at/blog/develop/defcon24-2016-watch-all-talks- playlist/).</comment>


Ask HN: Have you tried out the Tokbox API? - <AUTHOR>

Just wondering how long it took you to get it up and running on your site?<p>Our use case: give a user the ability to video chat directly from the browser. <comment><USER2> I built a live, weekly web show using it at overloadshow.com. It didn't take me very long to get up and running. The main work for me was making it so that random people couldn't fire up their video. Once permissions are added to the API (I hear it's a priority), a lot of that won't be necessary. I have plans to make it so I can let people start video long enough to ask a question, then kick them out again but I haven't yet implemented it. While there are a few places I think the API could be cleaned up and some features I'd like to see added, overall though I'm very pleased with how easy it was to get started working from the many examples provided.

<comment><USER3> Yes, indeedy, permissions in the OpenTok API are coming _very_ soon. Also, in our release 10 days ago we made it easier for sites that want to let people "ask a question, then kick them out ago" using forceUnpublish().

And thanks to a whole bunch of default event handling we've been adding over the last 4-6 weeks, we will soon publish a new "super simple" piece of sample code that gets a basic everyone-sees-everyone implementation of OpenTok down to about 30 lines of sample JavaScript code. This will make for an even simpler starting point for incremental code development.

<comment><AUTHOR> Ian, thanks for the direct response. Any timeline on when you're going to be releasing this next update?

<comment><USER3> Fingers crossed, late this week to our developer staging environment, next week to production. But we have a bunch of stuff going on this week with partner site launches that creates some (welcome) distraction for us and makes it necessary to keep those fingers crossed...

If you're in the opentok-developer google group, you will see the release update message in real-time.

<comment><USER3> And it's there, in v0.91.5, pushed to staging today.

For topline information, look here: [http://groups.google.com/group/opentok- developers/browse_thr...](http://groups.google.com/group/opentok- developers/browse_thread/thread/abea1a5a3a18a1c)

Happy coding.</comment></comment></comment></comment></comment>


Ask HN: Joomla vs Wordpress for website Migration - <AUTHOR>

I am looking to have someone migrate my website to a better CMS like Joomla or Wordpress, I currently have no CMS system set up and I am looking to use the website to generate leads.
What would be the best bet?  I am tired of having to log into Dreamweaver every-time I need to change some content.
Thanks <comment><USER2> WordPress is much more user-friendly for a beginner. I've used it for tons of sites, and it's almost always been a good experience.

<comment><AUTHOR> Could a website be re-designed from HTML into a Wordpress Platform?</comment></comment>


XKCD Substitutions Extension - <AUTHOR> https://github.com/bahlo/xkcd-substitutions <comment><AUTHOR> This is not mine, I just found it.

Relevant comics: [http://xkcd.com/1004/](http://xkcd.com/1004/) [http://xkcd.com/1031/](http://xkcd.com/1031/) [http://xkcd.com/1288/](http://xkcd.com/1288/) [http://xkcd.com/1418/](http://xkcd.com/1418/) [http://xkcd.com/1625/](http://xkcd.com/1625/)</comment>


Users' Reference to B (1972) - <AUTHOR> https://www.bell-labs.com/usr/dmr/www/kbman.html <comment><USER2> Many many moons ago, we were taught in school that the "C" language got its name because it was the successor to the "B" language, and the next big language would be "P" because the computer industry was iterating through "BCPL."

Can anyone confirm that was true at the time? (Obviously that's not how things worked out.)

<comment><USER3> Pascal came out in 1970; C in 1972...

<comment><USER4> C dates to 1969. It was used to write Unix, the first release of which was 1969.

[http://www.bell-labs.com/usr/dmr/www/chist.html](http://www.bell- labs.com/usr/dmr/www/chist.html)

EDIT: I'm guessing you're getting this factoid from Wikipedia? Looks like an error. The quote it references as justification of the origin of C is misinterpreted. Thompson tried to write an operating system ONLY in C prior to 1972, but failed. Very early Unix was a mixture of C and assembly. Later versions, which Ritchie is referencing, used assembly only for the parts you really can't specify in C -- the boot loader and interrupt handlers. C was kinda a work in progress between 1969 and 1973 (see above link), and still after as it transitioned from K&R C to ANSI C. But there were releases accompanying Unix before it stopped drastically changing circa 1973.

<comment><USER5> > C dates to 1969. It was used to write Unix, the first release of which was > 1969.

Wrong. Early Unix was written in assembly, the machine was too small for anything else and moreover C didn't exist then. From the DMR's chist link (1) that you also refer to:

"Dennis Ritchie turned B into C during 1971-73"

Even B was definitely _not used_ to write the Unix of 1969-1973, but only run on it:

"On the PDP-7 Unix system, only a few things were written in B except B itself, because the machine was too small and too slow to do more than experiment; rewriting the operating system and the utilities wholly into B was too expensive a step to seem feasible."

Unix kernel was rewritten from assembly to C only in 1973:

"By early 1973, the essentials of modern C were complete. The language and compiler were strong enough to permit us to rewrite the Unix kernel for the PDP-11 in C during the summer of that year. "

The first Pascal compiler existed in 1970 which was inspired by Algol 60. Wirth was in its "Working Group 2.1" in 1964. (2) Wirth published an article about Pascal in ACM in 1971.

Finally, in the Go language (from 2009), in which Thompson was also involved, the declarations follow more the Pascal spirit than the C spirit.

1) [http://www.bell-labs.com/usr/dmr/www/chist.html](http://www.bell- labs.com/usr/dmr/www/chist.html)

2) [http://pascal.hansotten.com/niklaus-wirth/recollections- abou...](http://pascal.hansotten.com/niklaus-wirth/recollections-about-the- development-of-pascal/)

</comment></comment></comment></comment><comment><USER6> Check out his latest language: [https://golang.org/ref/spec](https://golang.org/ref/spec)

<comment><USER7> What percentage of involvement was him in the language design?

</comment></comment><comment><USER8> You might also like Rich Wareham's B compiler (written in Python with llvm) [https://github.com/rjw57/rbc](https://github.com/rjw57/rbc)

</comment><comment><USER9> B was typeless but C is now the very definition of a typed language. B had BCD (Binary coded decimal) constants with backticks. Of course that out of fashion. B had semicolons separating statements.

</comment><comment><USER10> I wrote a compiler for B some years ago. The code generation is horrible but it was a fun project: [https://github.com/aap/abc/](https://github.com/aap/abc/) Still mean to port that to the PDP-10 eventually.

</comment><comment><USER11> The title says "(1996)", but the document itself says "This is a rendition, after scanning, OCR, and editing, of an internal Bell Labs Technical Memorandum dated January 7, 1972."

<comment><USER12> OK we've rolled it back to 1972. Thanks!</comment></comment>


Why does the sum 7x8 catch people out? - <AUTHOR> http://www.bbc.com/news/blogs-magazine-monitor-28143553 <comment><USER2> I honestly have not bothered memorizing times table. I always found it easier to compute correct answer each time I need it. I just memorized few anchors: any number times 10 is easy to compute, from that it is easy to compute any number times 5, so only thing I memorized is number times itself. After that you can turn almost any multiplication into simple subtraction or addition.

For example 7 * 8 = 7*7 + 7 = 49 + 7 = 56

<comment><USER3> How on earth did you manage to get out of grade school without having everything up to 12*12 burned into your brain? Where did you go to school?

Oh, how I envy you.

<comment><USER4> Nobody ever taught me the number of days in each month. I was well into my 20s before I had it nailed

<comment><USER5> 30 days hath September, April, June and November

<comment><USER6> That's pretty useless as a mnemonic. "30 days hath September, August, March and December" fits the pattern equally well.

<comment><USER7> Not if you remember the whole rhyme:

        Thirty days have September,
        April, June, and November.
        All the rest have 31,
        Except February alone,
        And that has 28 days clear,
        And 29 in a leap year.

<comment><USER6> My substitution works without contradictions there too.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> As a non-native speaker, is "sum 7x8" an error? Shouldn't it be "product 7x8"?

<comment><USER9> In (British) English, equations are sometimes called 'sums'. It's a confusing colloquialism, and you're right to be confused by it.

</comment></comment><comment><USER10> I spent the last year tutoring math full time (approximately 28 fourth grade students per day in small groups).

At one point we did an exercise with a blank 12x12 multiplication table. I had students fill in what they already knew. Ones, fives, tens, elevens up to 11x10, and twos were easiest. Most of them could figure out threes and fours pretty quickly. I taught them the finger trick for nines (9x6... hold up your fingers, drop the 6th finger, you have 5 on the left and 4 on the right for 54.) Most of them also had 6x6, 7x7, and 8x8 memorized.

This left 6x8, 7x8, 12x6 through 12x9, 11x11, 11x12, and 12x12. Not surprisingly, these are also the products adults tend to have the most trouble with. I had students select some problems they didn't have memorized, and commit to memorize them over the coming week.

Lest you think it was all about memorization, I also taught a number of techniques for quick computation -- often taking the form of number splitting (6x8 = 5x8 + 1x8) or quick drawings (draw 6 horizontal lines, cross them with 8 vertical lines, count the intersections for 6x8 -- this can be combined with the previous technique by counting by 5s and then counting the remaining intersections.)

Those students who gained proficiency in multiplication also improved quickly in division, fractions, and various other parts of the curriculum.

</comment><comment><USER11> The "times table difficulty chart" is sort of fascinating.

I've always thought that 7x8 would be the hardest, but their sample set says 6x8 is.

Looks like these kids hadn't been taught the 9s-table trick, nor the "6-times even-X always ends in X mod 10" trick. OK, I made that last one up...but 6-times even-X often rhymes, which I remember finding quite useful for memorization.

Separately, I was always taught that multiplication produces "products", and addition produces "sums". Perhaps the Brits disagree.

<comment><USER12> The word "sum" is used here to mean an arithmetic expression or math in general. For example, a parent might ask their child, "Have you done your sums?" to mean "Have you done your maths homework?"

</comment></comment><comment><USER13> > "It's those numbers near the middle that kids find the hardest - the sixes, > sevens, eights and nines," says Flurrish's director

One problem with getting kids to memorize times table the English way is that those numbers _are_ near in the middle, not at the top. The 11 and 12 times tables can be worked out by the same process as for multiplying by 13, so why memorize for 12 but not for 13 ? Children should finish memorizing at the easy 10 times, so they have a sense of having nailed the numbers, instead of a sense of dangling at the difficult 12 times tables and it can only get harder.

Also, when reciting tables, why should children recite both 7 x 8 and 8 x 7 when they could be practising the commutative rule. They should only memorize multiplying when, say, the second number is higher than the first, so memorize 7 x 8 but not 8 x 7. Children would then feel like there's less needing to be tackled, the only really hard ones being 4 x 8, 6 x 7, 6 x 8, 7 x 8, and some squares.

I suggested the second number being _higher_ than the first for memorizing multiplication instead of vice versa because children also need to memorize addition tables up to 9 + 8, and because they'd do that before times tables, it's better to for the second number to be _lower_ than the first for that. Another benefit is kids wouldn't even need to say "plus" or "times" when reciting, just the two single-digit numbers because whether it's addition or multiplication is implied by which number is greater, e.g. "3, 2 is 5", "7, 4 is 11", "2, 7 is 14", "7, 8 is 56", "6, 6 is 36".

<comment><USER14> I was with you up to the last sentence. Dropping the operator just seems to obfuscate things unnecessarily.

<comment><USER13> You're right, perhaps...

      3 and 2 is 5

      7 and 4 is 11

      2 seven's are 14

      7 eight's are 56

      6 by 6 is 36

to get rid of mathy words "plus" and "times".

</comment></comment></comment><comment><USER15> The trick is to remember the product of every number multiplied by itself and go from there.

It's easier for me to know that 7x7 is 49 or that 8x8 is 64. Then I either go up or go down. If asked what the sum of 7x8 is I remember that 7x7 is 49 and add 7 to it or remember that 8x8 is 64 and substract 8 from 64.

</comment><comment><USER16> I thought I was the only one. Since grade school, I've pre-cached that as "The one I always get wrong is 56."

<comment><USER17> Me as well! Amazing.

</comment></comment><comment><USER18> Alternative reading: Why the hell is an Eton educated Chancellor of the Exchequer so unable to field questions on primary school arithmetic, that the news is now seriously trying to float the possibility that 7x8 is in some way particularly tricky?

</comment><comment><USER19> This is hilarious and brings back memories.

Being lazy, I didn't actually memorize times tables combos knowing I could just figure it out. For example, the 9x series is just 10 times minus the number (9x4? just 10x4 = 40-4= 36). Or I would just sum up the numbers in my head. To this day I still haven't memorized the full times tables and I'm not sorry. Although, it retrospect it might have actually been faster to memorize, it probably contributed to mental development thinking about the problem each time rather than spitting out a burned in answer.

But there was one combo that didn't have a quick cheat and I couldn't do easily by simply adding. 7*8. So I flat out memorized that one because I didn't have an option. I think it's one of only a few table combos I actually have "memorized".

The teachers were never the wiser or if they were they didn't let on.

</comment><comment><USER20> I find 7x8 one of the easiest to remember, because I was taught to remember 56=7x8 (5-6-7-8)

<comment><USER21> As a homework problem (University), we once had to find all such equations, in all possible bases. Turns out there is only two, and they are both in the decimal system: 56=7x8, and 12=3x4.

</comment></comment><comment><USER22> I think there are patterns that help for most of the facts; the 2s, 5s, 9s, and 10s are dead easy. Then there are facts involving powers of twos, squares, the 3s are easy too, really 7 is the first prime that isn't hard at all, and 8 is the hardest fact.

After coaching my kid through Common Core, It recently hit me to think of the progression

14 x 2 -> 28 x 2 -> 56

</comment><comment><USER23> When I was in middle school, I had a book (in Chinese), teaching children how to carry out some simple calculations fast. It had a back story, with village boys trying to help out the adults when they're stuck with such simple calculations.

It mentioned some interesting facts and I can still remember them today. Like when you divide anything by 7, you get a permutation of the string 142857 as the fractional part. Also notice how 14, 28 and 57 (yes, I mean it) are multiples of 7.

<comment><USER24> 57 isn't a multiple of 7?

</comment></comment><comment><USER25> One of my grade school teachers taught me a trick for 7x8. She would tell us to think of the grades one would have to pass before reaching the 7th and 8th grades of school... 5th and 6th. Thus, I will always remember that 7x8=56.

</comment><comment><USER26> I am glad I learned my times tables and would encourage everyone to do it. It's not that hard and it pays dividends for life. Having complete familiarity with human-scale numbers is part of being a numerate human.

</comment><comment><USER27> As I read the headline the answer popped into my head instantly. Mind you, I'm only good at multiplicating one digit numbers. If it's more than 12*12, I'm toast.

</comment><comment><USER28> I hopefully read the article to finally learn why some products are harder to remember than others...but no why in there.

</comment><comment><USER29> Why does the word "product" catch people out?</comment>


The New InfluxDB Storage Engine: A Time Structured Merge Tree - <AUTHOR> https://influxdb.com/blog/2015/10/07/the_new_influxdb_storage_engine_a_time_structured_merge_tree.html <comment><USER2> > It's not for production use at this point. ...you should plan to blow away > all your data between nightly build installs.

I hope they will provide a proper migration path and docs this time from current storage to this new one. Got burned once with the 0.9.x RC series where they changed storage system with no way to migrate earlier RC data.

</comment><comment><USER3> sustained writes of several hundred thousand, with a 25x decrease in database size?!

I knew it was the future today when I woke up.

</comment><comment><USER4> When will it be GA?

</comment><comment><USER5> reinventing KDB+ ?</comment>


Ask HN: What are good books on leading and managing team? - <AUTHOR> <comment><USER2> Books are a good source. But if you want to learn how to become a real leader the best two things you can do are, have always been and will ever be these two: \- understand yourself. Become aware of your internal system and what moves you in life. You have an entire ecosystem and forces inside of you that you're not aware of. Learn how to master them and people will follow you. They will follow you cause most of them are clueless and aimless and just go through the motions. And when they meet someone that even slightly resembles a person that figured something out in life and for him/herself, they will follow. \- dive into social relationships. No amount of self-help books can benefit you like real life experience. Go out and talk to people, mess up, embarrass yourself, look like a fool and then mess up again. Only in this way, you will actually learn something of value that will stick with you until the day you die and that will make you a true leader. Hope it helps and good luck!

</comment><comment><USER3> High output management. Andy grove. Not a page turner as the mainstream airport management books but useful, unlike those fluffy pastries.

</comment><comment><USER4> The Corner Office: Indispensable and Unexpected Lessons from Ceos on How to Lead and Succeed by Adam Bryant > [https://www.goodreads.com/book/show/10626176-the-corner- offi...](https://www.goodreads.com/book/show/10626176-the-corner-office)

</comment><comment><USER5> Leading and managing the team

<comment><AUTHOR> Is it book name?</comment></comment>


Ask HN: Ghost vs. Wordpress - <AUTHOR> I'm creating a new blog and wondering if I should make the jump from WP to Ghost. I've done some node development before, but I'm by no means an expert.<p>I like the looks and speed of Ghost, but is it stable and reliable enough for production? <comment><USER2> I've been using Ghost for about a year to host my blog. I'm paying for Ghost Pro, which is their hosting and I'm using the default theme (called Casper). The only modifications I've made is to add Disqus comments to the end of my posts.

So far I'd say it works great and is only getting better as they release more and more features. That being said it still isn't as feature rich as other blogging platforms (like not having a post scheduling feature), but it's getting there.

I like their philosophy and how beautiful they make things by default.

You can check out what the default theme looks like on my blog: [http://www.samuelmandell.com](http://www.samuelmandell.com)

</comment><comment><USER3> My blog [http://blog.higg.im/](http://blog.higg.im/) sits on a private NGINX server and is proxied with a CDN to address traffic spikes. I used to think my blog didn't get that much traffc and a CDN seemed like overkill. I never liked serving a site from the raw Apex IP because it's too easy to boot offline (DDOS'd).

I wrote about this setup on the blog:

"Why I run this blog on MaxCDN and Ghost"

[http://blog.higg.im/2015/02/10/why-i-run-this-blog-on- maxcdn...](http://blog.higg.im/2015/02/10/why-i-run-this-blog-on-maxcdn/)

And very worth it getting a site off the apex too:

[http://blog.higg.im/2014/03/10/getting-jque-re-off-the- apex/](http://blog.higg.im/2014/03/10/getting-jque-re-off-the-apex/)

</comment><comment><USER4> It depends greatly on what you want your blog to do.

If you just want to publish articles (no comments or any other dynamic features), use something like Jekyll. Otherwise, just use whichever you're most comfortable with, either WP or Ghost. It really won't make any technical difference to you. The major differences will be how easy it is for you to use, so pick the one that seems easiest.

</comment><comment><USER5> Ghost seems to work very well. I've never used it on a super high traffic site, but there's no reason to think it would fall over. It's definitely not as CPU or memory efficient as WordPress can be, but that just means you'll need a bigger server for the equivalent site.

</comment><comment><USER6> Given the fact you're asking this question, I'm thinking you're probably not ready to move to Ghost for your blog. Stay with what you're familiar with until you get a chance to tinker with ghost in a sandbox environment.

</comment><comment><USER7> Wordpress has a larger ecosystem. Ghost's been around for quite a while now, I think they're both reliable. They're probably the two best choices, so either one of them is fine.</comment>


Show HN: Relearning to code after 20 years - <AUTHOR> http://weather-explorer.com/

<comment><AUTHOR> OP here - FYI - I was a software engineer at Novell over 20 years ago, then went to the business side. Last January for some crazy reason I decided to build a website. I couldn't write HTML last January, and though this is a pretty tame site by HN standards, I'm pretty proud of it. I've had to learn HTML, CSS, Javascript, Jquery, Angular, D3, Require, Node, Apache, Bootstrap, noSQL DB (Cloudant/Couch), linux system management - the works. It's been fun.

<comment><USER2> Out of curiosity, are the tools, languages, and techniques any better now, versus what you worked with previously?

<comment><AUTHOR> Interestingly the python experience has been incredibly different from 20 years ago. Back then I was hunting memory leaks in C. In python I program at a much higher and more efficient level. The Web side, however,is much more like the old days. Instead of memory leaks I hunt obtuse bugs in angular that make me want to pull my hair out. The biggest positive change is stack overflow, which is really so amazing. And the whole open source community - creating all these great frameworks, and even responding to the occasional plea for help.

<comment><AUTHOR> Make that "obscure" angular bugs :)

<comment><USER3> I liked the first version better! :-)

</comment></comment></comment></comment></comment><comment><USER4> Excellent work. I enjoyed the visualizations.

On a somewhat tangential note, I've always been curious about sentences like this: "Contact me at ross underscore rosen at revelision dot com"

Are sentences like the one above an effective way to prevent spam? Or are most spambots sophisticated enough to account for slightly obscured spellings of email addresses?

</comment><comment><USER5> Bravo! This resonates with me on a couple of levels.

While I'm still active in software development, I haven't done web development in 10+ years. I'm currently working on a side-project which is also teaching me "the works" when it comes to web development and deployment. Of course, I will still be a n00b by the time I'm done, but I'll soon have written and deployed my own RoR, data-driven website.

My side-project also shares a similar motivation as yours: _First, it 's my belief that most data isn't taken advantage of because most people suck at data. I wanted to see if I could take an existing, well-picked-through data set and extract value, just by sucking less_. This could also describe my side project, which is in the sports domain.

You reaching this point is extremely inspiring. Thank you for sharing!

<comment><AUTHOR> Hey man - Thanks a lot. I really appreciate that.

</comment></comment><comment><USER6> Which tools/languages/techniques did you enjoy learning and employing the most? It all sounds fun, but some of it sounds more fun than others (for example, I really love Python's legibility, and am impressed by D3's power but find it to have a pretty steep learning curve).

<comment><AUTHOR> Yes on both of those- I really love python and find myself way more productive in it. D3 is undoubtedly powerful and if you are an expert I'm sure you can be efficient at it. But as a novice it takes a while. I do my analysis onipython/ matplotlib and then implementa public chart using d3. And I havea love hate relationship with angular. When you are using stock or already made directives, it's magic. But it can take FOREVER to solve the obscure bugs you create when you are doing something new.

<comment><USER6> The D3.js google group is chock-full of excellent advice, especially around reusability etc. NVD3 is a great way to put D3 in play with less hand-coding, too.

Check out Flask! I am no Python expert, but Flask is an excellent micro framework that makes (especially simple web) app building a simple(r) process. It's also fun.

<comment><USER7> I second Flask.

<comment><AUTHOR> I thought about doing flask, because I love Python and it would be way easier than monkeying around with Angular. But most of my code is D3, so it's a lot of javascript anyway. And by doing angular, I basically upload one page to the user, and then from there out, they never touch my server. (Data is served by Cloudant - a YC comp). So even though I've had > 10k page views, my server is hardly touched. And everyone gets really responsive interaction since it is all done in the browser, occasionally waiting for new data to serve. So, while this was painful to build, I can really see the allure of client-side single- page apps.

<comment><USER6> Maybe next time around you can harness them both: [https://github.com/rxl/angular-flask](https://github.com/rxl/angular-flask)

""" An AngularJS (frontend) + Flask / Python (backend) Boilerplate Application """

</comment></comment></comment></comment></comment></comment><comment><USER8> Very cool. I like the way that you show 'means vs time' on the left panel and then you can dig into the actual distribution on the right panel. FYI, I think that, e.g., [http://weather- explorer.com/history/country/US/state/WA/city...](http://weather- explorer.com/history/country/US/state/WA/city/Seattle- Tacoma?USAF=727930&WBAN=24233&period=0) should read "Daily High Distribution", not "Average Daily High" or something. The mean trend line is on the left panel, and the right shows the the entire distribution. I'd be curious to see also what the 2nd and 3rd moments look like vs time, to see if the weather has an equal 'spread' month over month or if it tightens up for certain periods of the year.

Also, you need to drop in a full post with commentary, analogous to what you did with your "learning python" post. More feedback about tools, resources, learning sites, etc.

</comment><comment><USER9> Very nice and useful to boot!

While you might have forgotten some programming, and quite a bit has changed over the last couple of decades, what is quite interesting to me is the efficacy of the result. Although I don't know what your word looked like 20 years ago, this probably shows that over the last couple of decades your sense of how to do something useful and present it has developed.

I would have guessed that a "what I did to catch up after 20 years of non- programming" project would have had a lousy UI (presentation), which yours does not. And while the presentation tools are better, the decision of _what_ to present and _how_ are still up the programmer.

So the 20 years weren't wasted :-).

</comment><comment><USER10> I really like this.

The data on sunshine seems off to me. Surely San Antonio, TX has more sunshine than Lexington, KY.

<comment><USER11> Yes... something is wrong with sunshine data. Go to comparison tool and look at Miami and Key West. They're only 100 miles away and Miami shows significantly less sunshine... and shows very low overall sunshine which is clearly wrong.

<comment><AUTHOR> Though I should point out there are definitely weird things with the raw NSA data. For instance, their precipitation data at one and 6 hour increments do not match at all.

<comment><USER12> Had to check that: it is NOAA data ([http://www.ncdc.noaa.gov/oa/climate/isd/](http://www.ncdc.noaa.gov/oa/climate/isd/)), not NSA data. The NSA tries hard to be a one way street; it reads a lot, but does not publish much.

<comment><AUTHOR> Ha - sorry - it was a phone typo!

yes - NOAA.

</comment></comment></comment></comment></comment><comment><USER13> Very cool site...with your background, it shouldn't be too hard to grok the concepts that you used to build the site...it's just that there are a _lot_ of them, and joining them together (efficiently, and attractively) takes experience...if this is your first (or fiftieth) web project, it's one to be proud of.

(that said, you probably could've gotten away with just HTML, CSS, JS, jQuery, D3, and Bootstrap, as the site could probably run off of flat static files...but even sussing out that architecture is its own skill)</comment>


Video.js 4.0 released - lighter, prettier, more stable - <AUTHOR> http://blog.videojs.com/post/50021214078/video-js-4-0-now-available

<comment><USER2> Awesome! Any plans to support RTMP streams? If it did it would be _perfect_.

<comment><AUTHOR> Not in 4.0, but it's in the works.</comment></comment>


Quantitative and Social Theories for Programming Language Adoption - <AUTHOR> https://www.youtube.com/watch?v=v2ITaI4y7_0

<comment><AUTHOR> Paper: [http://lmeyerov.github.io/projects/socioplt/papers/oopsla201...](http://lmeyerov.github.io/projects/socioplt/papers/oopsla2013.pdf)</comment>


3d printed ice cubes used in campaign for Japanese whiskey brand - <AUTHOR> http://www.adweek.com/adfreak/suntory-whisky-3-d-printed-worlds-most-incredible-ice-cubes-163782

<comment><USER2> To clarify, these are CNC milled, not 3D printed. They are opposites.</comment>


Show HN: Voxxcast - my first web app - <AUTHOR>

Long time lurker, first time poster here. I have been teaching myself web and app development and I just built my first web app in my spare time.
It's called Voxxcast, and it allows you to leave voice messages on Facebook via your phone.
I'm definitely interested in any feedback you can give me. I plan on creating a lot more apps and developing this one even further.
http://www.voxxcast.com <comment><USER2> Interesting idea.

I'd work on the design a little. The not-in-use buttons (by default, 'Login' and 'Register') look a little bare. How about putting an arrow frame or light green square over them (when not in use). That will help to break up the giant green block.

The text itself could also use a little work.

I would probably cut out the ads too -- I can't imagine _that_ many people would click on them, and their presence drags down the rest of the design. You probably won't make a ton of money from this, so think of it as a marketing tool to advertise yourself, not a way to make a few bucks a month.

 __Other question: I'm curious as to how long you've been teaching yourself, and what previous programming experience you have? I'm currently teaching myself Ruby (with little-to-no programming experience) in order to launch a start up.

</comment><comment><USER3> Are you planning to support Twitter or email ? Can I post links of short voice messages on my stream or send them to my friends through email?

</comment><comment><USER4> Clickable <http://www.voxxcast.com>

</comment><comment><USER5> What are you using for voice on the backend?</comment>


Ask HN: ISO Women in Tech - <AUTHOR> Hello fellow women in tech! I've been struggling lately with the lack of representation in our field - are you a woman in tech? Can you share your experiences, wisdom, struggles and solutions to being "rare" in this field? Why do you think there are very few women in tech and what can we do to encourage more young women to enter STEM fields? <comment><USER2> If you're looking for more women in tech communities, there's a number of Facebook groups like Female founders community, Tech Ladies, Women in AR/VR, and more. Leap is an amazing community too.

There's also meetups in nyc at least like Women Who Code or Pyladies.

The Grace Hopper conference is dedicated to women in tech.

<comment><USER3> This is where I find most women though they vary in experience and expertise. What type of ladies are you looking for OP?

</comment></comment><comment><USER4> There is an active community at [https://leap.ycombinator.com/](https://leap.ycombinator.com/)

<comment><AUTHOR> Thanks for sharing - I didn't know this was a thing!

</comment></comment><comment><USER5> Strong, adept hackers in movies -- SciFi, dramas, and otherwise -- who just happen to be female.</comment>


Crayons + Physics Engine = Award Winning Game - <AUTHOR> http://www.msnbc.msn.com/id/28628780/ <comment><USER2> Really nice game. Reminds me a lot of The Incredible Machine. I think I will get one for my kid.</comment>


I have some time to spare, let me help you in your project - <AUTHOR> I'm doing professionally Cloud/Pipeline/DevOps/Node stuff. But since I'm currently not working (voluntarily) I've got some time to spare.
If there are any FOSS or similar projects out there, who need a helping hand within my field of expertise, I would like to get in contact.
I neither do it for fame, nor for my CV. Just for fun about tech. Mail: email@example.com <comment><USER2> Hello !

Thank you for offer your time.

Do you have anything on github/gilab/... to show some work you've already done ?

This way would be easier for other people evaluate how you could help then.

Cheers !

</comment><comment><USER3> [http://github.com/neokeld/deliverat](http://github.com/neokeld/deliverat)</comment>


Watch "Shark Tank" judges reject the idea Amazon just spent $1B on - <AUTHOR> https://qz.com/1217898/watch-shark-tank-judges-reject-jamie-siminoffs-idea-for-ring-that-amazon-just-spent-1-billion-on/ <comment><USER2> Whatever. Investing is a probabilistic game. A mistake in either direction is no evidence of a bad approach to investing.</comment>


100 Prisoners, 100 lines of code - <AUTHOR> http://www.r-bloggers.com/100-prisoners-100-lines-of-code/

<comment><USER2> Here's a new brain teaser. The warden is a mathematician, and instead of arranging them randomly, he ensures that there is a cycle of at least 51. However he's not too cruel, so he tells the prisoners that he has done this.

I'm pretty sure that since this is less random than the original version the survival rate would go up, but I haven't figured out how to do this.

<comment><USER3> Well, you can parameterize this strategy with an arbitrary permutation P of {1, .. 100} in the following way. If you open box containing N, instead of next opening box N, you open box P(N). If the warden's placement of numbers defines permutation Q (box N contains Q(N)), then this new scheme will have each prisoner find his number if P composed with Q has no cycles of length greater than 50.

Now, if you randomly picked a permutation P, then by symmetry since you don't know anything about the placement of numbers, you'd do just as well as with the original strategy. On the other hand, what you've proposed is that the warden has told you that choosing P to be identity results in failure. So if you exclude identity and pick one of the other permutations for your strategy, you'll fare a little tiny bit better on average.

You can do even better than this by picking from a more specialized class of permutations for P. I'll leave the problem of finding the best class for P as a follow up.

</comment></comment><comment><USER4> If the boxes are in a random jumble when the prisoner enters, there may be no practical way of having 100 prisoners consistently assign an ordering from 1 to 100 for the boxes. The approach outlined will then fail.

Were I a particularly evil warden, I could meticulously place all the boxes in the same such "jumble" after each prisoner left. One of the prisoners would certainly derive a different ordering of the boxes than one of the other prisoners. The approach might still have a better than random chance of succeeding, but it would be lower than that outlined in the article, since there are now two (or more) chances for a cycle of length greater than 50.

<comment><USER2> Cartesian coordinates seem to provide a very practical way of assigning an ordering.

<comment><USER4> In a real-world setting, it's hard for 100 prisoners to consistently assign the same ordering to a jumble of 100 boxes.

</comment></comment></comment><comment><USER5> For the people who would go for an analytical solution rather then monte- carlo: for a large number of prisoners the probability that they all find their numbers tends to 1 - ln(2) ~= 0.3069

<comment><USER6> Look for the link "this excellent explanation" in the article for more on the analytical solution.

</comment></comment><comment><USER7> I'm not seeing any obvious trick here. Trying it with just two prisoners, two boxes and one look, I can't see a way to do better than chance. I'm just wondering if it's something like the two envelopes problem, where you can on average do better by switching based on a monotonic function of the amount in the first envelope. Perhaps there is a way of picking the boxes based on your number that does better than average, even if its just a little bit. Any hints?

<comment><USER8> with 2 prisoners the probability of success is 0.5, so you are correct.

with 4 prisoners the probability of success is about 0.37, which is better than chance. (the probability of success turns out to be one minus the difference of two harmonic numbers.)

it's hard to give a hint without giving the answer. the best i can do is that it has to do with the structure of cycles in permutations.

<comment><USER9> I don't know the answer, but I think I know the general direction. And unless I'm mistaken, you're wrong about the "2 prisoners".

 _Semi-Spoiler alert_

As I interepreted the parent post, he hasn't found a way, with 2 prisoners, to do better than the strategy of every prisoner picking a random box. Under _that_ strategy, your chance of success is 0.25 - 0.5 * 0.5 (each has a 0.5 chance of being right).

So if, as you say, you can get the probability to 0.5 for 2 prisoners, you _are_ doing better than chance. (And this I already know how to do, I'm assuming for more prisoners it's the same idea, but generalized).

Am I making sense at all?

<comment><USER5> There does exists a strategy to get %50 for two people (hint below). But the case of two people does not help much to solve the more general case (imho).

HINT: Suppose each prisoner picks a box at random. They can (randomly) decide what box to open _before_ they enter the room with the boxes, at a time when they can still communicate. In some cases they will then be able to determine that they have no chance of both finding their number. So there must be a better strategy.

</comment></comment></comment></comment><comment> D-Coder So the key idea is, if you get arrested, take a mathematician with you...</comment>


Ham Sandwich Nation: Due Process When Everything Is a Crime - <AUTHOR> http://columbialawreview.org/ham-sandwich-nation_reynolds/ <comment><USER2> "It is also worth considering whether mere regulatory violations—malum prohibitum rather than malum in se—should bear criminal sanctions at all. Traditionally, of course, citizens have been expected to know the law. Yet traditionally, regulatory crimes usually applied only to citizens in specialty occupations, who might be expected to be familiar with applicable regulatory law."

This is a particular peeve of mine. Throwing someone in prison should require demonstrable harm worthy of the state swinging its hammer. Fraud is already a crime, so is theft, so is deception in its various forms. Failure to fill out a form or making a mistake in light of a rule should not carry the risk of a criminal record.

By the way, "The Illustrated Guide to Law"[0] has an outstanding section on the concept of regulatory breaches as crimes and why they shouldn't be the cause of someone being thrown into jail.

0 - [http://lawcomic.net](http://lawcomic.net)

<comment><USER2> Now that I'm on a regular computer, this is the section that goes into detail about strict liability: [http://lawcomic.net/guide/?p=1008](http://lawcomic.net/guide/?p=1008)

It describes, as an example, someone who picks up a feather that a bird discarded in the ordinary course of its life and someone else whose supplier delivered product in violation of a state rule. Both examples happen to deal with permutations of endangered species acts but the chapter discusses the broader concept of "overcriminalization."

(Hat tip to author Nathan Burney.)

</comment></comment><comment><USER3> In some of my not-entirely-sober states of mind I have sometimes thought of ways to eliminate prosecutorial overreach. (It's a problem outside US too.)

A very simple approach would be that for each count that the defense can strike off as irrelevant or spurious, they would also get to strike off _any_ other charge of their choosing. That alone would make prosecutors extremely wary of bringing up random charges in hopes of seeing which they can make stick. They would need to have solid evidence for each charge or risk having the most serious ones nullified.

On the other hand, I'm not naive enough. The cure could well be worse than the poison it was meant to address.

<comment><USER4> Your idea is already addressed by standard criminal procedure, except for the bizarre part about letting the defense strike off any charge of its choosing.

In a nutshell: after the arraignment but before trial, they have a court hearing (the "preliminary hearing" aka "probable cause hearing", see [http://en.wikipedia.org/wiki/Preliminary_hearing](http://en.wikipedia.org/wiki/Preliminary_hearing) for a layman's description) in which the prosecution is required to lay out sufficient evidence to justify each charge. They don't have to provide evidence sufficient to prove guilt (yet, because that is the jury's function) but they have to show sufficient evidence that a jury _could_ find guilt. Charges which do not satisfy even this basic level of substantiation are dropped by the court.

Edit: You can downvote this comment all you want; it doesn't change the fact that preliminary hearings have been a basic part of US criminal jurisprudence for decades, functioning more or less exactly as described above.

<comment><USER5> I'm not sure you grasped the parent comment's point. The idea was that there would be a penalty to include charges that could be struck out at a preliminary hearing.

As it stands, there is incentive to threaten a defendant with onerous charges that would never stand up in court. Most cases are settled by plea bargains. I'm not clear on the statistics, but I think this means they never reach preliminary.

Under the parent's proposal, the prosecution could not introduce spurious charges without risking losing their actual legitimate charges.

I don't know what the unintended consequences would be, but striking off the charges is not a "bizarre" part of the proposal. It's the point of the proposal.

</comment></comment></comment><comment><USER6> It is kind of shocking to me that the state isn't liable for defendants' legal fees in the face of an acquittal. If I sue someone in civil court on frivolous grounds, they can countersue me yet no parallel exists in the criminal realm. Perhaps more than just an acquittal is necessary and you'd have to show some sort of prosecutorial overreach to collect. But, in that case, the damages should include compensatory and punitive damages.

<comment><USER7> The incentives don't line up properly if the state pays because the lawyer is the decision maker in these cases. Unfortunately DAs are rather underpaid and so it would probably be a nonstarter to to make them pay the defendant's legal fees.

<comment><USER8> Why not make the jurisdiction that the prosecutor works for responsible for paying attorney fees if the person is acquitted?

They were sure enough to seriously upset and damage a person's life when they pressed charges, and they better be willing to at least cover the cost of a defense when they're wrong.

<comment><USER9> I totally agree - but this does have downsides too, prosecutors will be fired if their loose rate (i.e. cost) is too high, which will lead to only prosecuting guaranteed wins.

I still think that's a better system though...

<comment><USER10> It would also ramp up the already absurd focus on quick, cheap plea bargains.

<comment><USER8> One thing to think about is that it lowers the cost of a defense if you're relatively sure you'll win.

Under the current system, a plea bargain is something like "Take 2 years in jail and pay $50-100k less or face 10 years in jail at trial, where you probably can't even afford a real defense."

Under the new system, a plea bargain would have to offer considerably more to the point it's obviously problematic, because acquitted defendants wouldn't still be out the money required to beat the system. Further, it's likely poor people will have better access to top notch lawyers if the lawyer can expect to recoup their cost from the state (rather than just not being paid by the poor person).

<comment><USER11> The other nice thing: you could actually get lawyers to work on the grounds of "you only pay if we win" for criminal cases. This would, presumably, mean "state-provided" defense lawyers would be the best available, as opposed to whoever they can scrounge up as a public defender.

Also, presumably, the cost of good legal defense should be less than the $20,000 cost/year for incarceration.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> _If you give me six lines written by the hand of the most honest of men, I will find something in them which will hang him._

Attributed to Cardinal Richelieu, or possibly one of his agents.

edit - I think if Richelieu could see today's security apparatus he would be very pleased with how far we have managed to move forward his ideas.

<comment><USER13>
        > I think if Richelieu could see today's security
        > apparatus he would be very pleased with how far we
        > have managed to move forward his ideas.

Yes. American centralization of power under royalty and French world dominance are clearly in ascendancy.

<comment><USER12> If they made missing the point an Olympic sport, you would get lost on your way to the podium to collect the gold medal.

</comment></comment></comment><comment><USER14> Many interesting solutions are posited throughout the comments section. I've no doubt that many of them would help at least a bit.

But the most important change must come from within the hearts of the voters that control western governments: Voters _like_ prosecutorial overreach, as they consider every person dragged into court "guilty of something."

Until that attitude changes, meaningful change will be difficult.

<comment><USER15> I wonder how much of that is a result of the TV Cop Show effect? For decades now, we've had shows that portray suspects as certainly guilty, just in need of the proving. If the suspect gets away, it's due to "technicalities", and particularly "edgy" shows will paint cops as heroes who frame/murder such people. Confessions coerced out of suspects through intimidation or physical torture are portrayed as "walking a moral line", rather than being COMPLETELY over into FLIPPING ILLEGAL.

<comment><USER16> We used to have Perry Mason and Matlock, where the defense attorneys were the heroes of the show.

What happened?

<comment><USER17> Even law enforcement characters were upright:

[http://www.youtube.com/watch?v=0wL9Li0f1Po](http://www.youtube.com/watch?v=0wL9Li0f1Po)

</comment></comment></comment></comment><comment><USER18> "There's no way to rule innocent men. The only power any government has is the power to crack down on criminals. Well, when there aren't enough criminals, one makes them. One declares so many things to be a crime that it becomes impossible for men to live without breaking laws. Who wants a nation of law- abiding citizens? What's there in that for anyone? But just pass the kind of laws that can neither be observed nor enforced nor objectively interpreted-and you create a nation of lawbreakers-and then you cash in on guilt." -Atlas Shrugged

<comment><USER19> I generally shy away from endorsing things from Atlas Shrugged, but that rather hits the nail on the head.

</comment></comment><comment><USER20> There are a bunch of things which (IMO) are in this family of problems. Prosecutors discretion , everything is a crime is certainly one problem that seems to exist to a scary degree in every modern law system. Sodomy remained a crime long after it stopped being prosecuted. It had always been prosecuted selectively anyway.

A related issue of selective investigation and arrest by police. Perhaps more scary because of the Polices' greater exposure to the public. This comes into play a lot with discrimination and political oppression.

Then we have judicial discrepency. That might be the trickiest one. Among its many effects, it allows plea bargaining to create a very big gap between a negotiated plea and the potential outcome of a court case. Take one year or risk five. Just confess and take the reduced sentence. A defining feature of show trials is forced confessions. Confess. Beg forgiveness and mercy. That is using incredible pressure to deny accused their day in court and a trial where both sides present their case.

Then after a sentence is passed, the actual length and severity of prison sentences is in practice determined by the prison system which has its own arbitrary and/or discretionary powers.

Rule of law is hard, genuinely. Could courts even handle a system without plea bargains?

<comment><USER21> > Rule of law is hard, genuinely.

Rule of law is _impossibly_ hard. The idea is that we are a government of laws, not a government of men, but someone has to decide what to prosecute and so in the end at most it is a plausible fiction and rule of law ends up reducing to "rule by prosecutor."

This is one of the insidious aspects of mandatory sentencing guidelines for example is that they shift power from judges to prosecutors.

<comment><USER20> Is it? One thing that puts what could be called inappropriate power in the hands of prosecutors is the discretionary sentencing. If you could go to jail for one year or ten for the same crime, and the prosecutor promises to ask for one if you confess and apologise, they have a lot of leverage. It makes claiming innocence punishable itself.

I suppose they bypass anyway by selecting the charge/law that you are going to be prosecuted under. Hard.

</comment></comment></comment><comment><USER22> It's only getting worse. Some DA offices are asking for DNA samples from minor offenses ( Misdemeanors ) for a decent plea or no time. When your only job is to win and put people away you're going to do whatever you can to accomplish this. It's the same as any company trying to dominate a particular industry or become the best. Our Justice system needs another change similar to the change from punishment to rehabilitation.

<comment><USER23> It's _even_ worse than that, actually. In Pittsburgh, PA, police were taking DNA samples at roadblocked checkpoints. Not sobriety checkpoints, mind you -- roadblocks established solely for the purpose of collecting DNA from the citizenry.

<comment><USER24> That's shocking.

How long are the DNA samples kept for?

It's a bit scary that "they" seem to want everyone on their DNA databases, rather than realising the database is more effective if they try to only include the criminals.

<comment><USER25> I can bet that no matter what is on the books, the real answer is close to forever about how long they are kept. The huge funneling of money into law enforcement from war on drugs and terror creates the mentality.

</comment></comment></comment></comment><comment><USER26> In my limited experience the notion that you can "indict a ham sandwich" is simply not true. I sat on a grand jury once for 2 weeks. Most cases brought to us were patently guilty and the ones that weren't were met with extreme scepticism. We declined to indict at least a few defendants where the evidence was weak.

<comment><USER27> If I'm not mistaken, if the prosecution can't get a grand jury to indict, they can try again later (perhaps with a slightly modified set of charges). In other words, there is no "double jeopardy" for trying to indict someone. Maybe someone who knows for sure can confirm whether this is accurate.

<comment><USER26> That's correct. But the cards are stacked heavily in favor of the prosecution in a grand jury so if you fail to indict, you're never going to get a conviction.

</comment></comment></comment><comment><USER28> Due Process in US is a parody. California makes it even worse with stuff like recent law about drunken sex consent. Add astronomical prices and you get toxic environment.

I have plenty of job offers, but I would never move to California.

<comment><USER21> It is not criminal law, but you should see the vagueness in the Unruh (anti- discrimination) Act.

California is the only state I know of where the ACLU has been successfully sued for discrimination.

</comment></comment><comment><USER29> The US has an insanely outsize prison population. It didn't get that way without people being arrested by a growing army of militarized police, and, in most cases, plea bargaining with an aggressive prosecutor.

<comment><USER30> That doesn't really have anything to do with the proliferation of laws. Almost all prisoners are in prison for a narrow range of offense classes: violence, theft, and drugs. At the federal level there's also a lot of immigration violators.

The explosion in prison population is not related to an increase in the rate of arrest and conviction. It's related to a huge increase in the number of years of incarceration per offense.

<comment><USER31> One encourages the other. But yes, it's "throw 'em away forever."

</comment></comment></comment><comment><USER32> I'm very sympathetic to this point of view, but the author starts inauspiciously when he asserts that a news anchor should have been prosecuted for using a high-capacity gun magazine as a visual aid in his newscast. Perhaps he's had his mind made up about prosecutorial discretion too long to see this episode as an example of discretion done right.

<comment><USER33> Exactly. Reynolds deliberately lies about the what the prosecutor said _in his first paragraph_. The prosecutor _did not_ state that the on-air violation was clear. What he said was that the device "meets the definition" of the statute.

Gregory was displaying the "device" during a newscast.

bran·dish verb gerund or present participle: brandishing 1\. wave or flourish (something, esp. a weapon) as a threat or in anger or excitement.

Did he "brandish" the device? No. Reynolds knows that, but he decides to draw a false equivalence anyway.

<comment><USER34> So you would be willing to "displaying the device" on a street in a poor DC neighborhood since you are certain that you would be within the law?

<comment><USER33> Of course not. In a public space, without appropriate context? You know this already. Keep looking for some way to find that Reynolds is right.

If the law meant to say "display", it would have said "display". The law says "brandish". That has a meaning.

Did Gregory brandish the device with anger, or intent to threaten?

<comment><USER34> Why would the public setting, or even context matter? If you are only "displaying" and not "brandishing," you'll be fine.

</comment></comment></comment></comment></comment><comment><USER35> This goes hand in hand with the "3 felonies a day" Americans are committing:

[http://online.wsj.com/news/articles/SB1000142405274870447150...](http://online.wsj.com/news/articles/SB10001424052748704471504574438900830760842)

<comment><USER36> This was mentioned in the article, along with Gene Healy's "Go Directly to Jail: The Criminalization of Almost Everything".

</comment></comment><comment><USER37> From the essay: "Despite the problems described above, most of us remain safe. Prosecutors have limited resource [...]"

This reminds me of the issue with warrants and GPS tracking devices on cars. Police have argued that attaching a GPS tracker is no different than assigning a patrol car (or unmarked car) to tail a person. But there's a huge difference. Up until recently, our expectation was that assigning a tail was an investment of rather limited resources, thus giving us some assurance that police would be precluded from tailing anyone but bona fide suspects. With the proliferation of GPS devices -- the cost of which will most certainly continue to come down -- the number of people police can track approaches everybody. That's living in a very different world.

Wait until prosecutors have the computing power to track people's activities and flag "crimes." The "Mother Teresa" parlor game will be made automatic and expand to include everyone. That will be a very different world, too.

</comment><comment><USER38> The end result if nothing changes is likely that everything we do is a crime; the only question is whether there is room to incarcerate.

</comment><comment><USER39> _most dangerous power of the prosecutor: that he will pick people he thinks he should get, rather than pick cases that need to be prosecuted." Prosecutors could easily fall prey to the temptation of "picking the man, and then searching the law books...to pin some offense on him." In short, prosecutors' discretion to charge—or not to charge—individuals with crimes is a tremendous power, amplified by the large number of laws on the books._

The messy state of US law, with many preposterous and outdated laws on the books, encourages this kind of discretionary enforcement. Even police officers can often "pick the man, then figure out the crime."

<comment><USER36> Is this a problem in the US specifically? Has there been some kind of international comparison on legal "messiness"? Just curious, by the way, and I can't think up a good search query for that.

<comment><USER39> Search for "Blue Laws." We have lots of WTF laws on the books that are clearly leftovers from the 1800s.

</comment></comment></comment><comment><USER40> InclinedPlane wrote a fantastic post on this exact topic a while back: [https://news.ycombinator.com/item?id=4753117](https://news.ycombinator.com/item?id=4753117)

</comment><comment><USER41> There was an excellent New Yorker article about how we got here, due process vs principles:

[http://www.newyorker.com/arts/critics/atlarge/2012/01/30/120...](http://www.newyorker.com/arts/critics/atlarge/2012/01/30/120130crat_atlarge_gopnik?currentPage=all)

</comment><comment><USER42> How soon before the author of this is indicted?</comment>


Introduction to High-Performance Scientific Computing (2014) - <AUTHOR> http://pages.tacc.utexas.edu/~eijkhout/istc/html/index.html <comment><USER2> Damn, I would have loved to have this book during my studies in Compuational Science and Engineering [CSE] (especially the chapters on Molecular Dynamics and the N-Body Problem, since these topics are great examples for the introduction of high-performance computing on a bigger scale or computational physics in general).

Quite a few equations and pictures are not rendered correctly online; I found the PDF version of the book from Mr. Eijkhout's official site: [http://pages.tacc.utexas.edu/~eijkhout/Articles/EijkhoutIntr...](http://pages.tacc.utexas.edu/~eijkhout/Articles/EijkhoutIntroToHPC.pdf)

PS: In case some people are interested in these kind of topics (high- performance computing, simulations, and computational physics) and live in Switzerland (or plan to study there), the CSE major at ETH Zürich covers almost all the presented topics in Mr. Eijkhout's book: [http://www.rw.ethz.ch/](http://www.rw.ethz.ch/) Disclaimer: Got my degree in CSE from there.

</comment><comment><USER3> This guy also had a series on OpenMP and MPI. Had some very good exercises. The numerical linear algebra part looks interesting.

<comment><USER4> Could you link it? I'm having a class on both of those and could use some help.

</comment></comment><comment><USER5> Just out of curiosity, since it is ~5 years old, how much of this is still current?

<comment><USER6> Since it does not treat technologies but rather concepts, it is very much up to date. Everybody in HPC does Monte Carlo and parallel processing, these concepts are still fundamental to working in scientific computing.</comment></comment>


Leslie Lamport: Thinking for Programmers [video] - <AUTHOR> http://channel9.msdn.com/Events/Build/2014/3-642

<comment><USER2> I wish he talked about specification's real problem.

There are many ways out there to write specifications. Some are good, some are bad. Let's assume we got a very good one. Then let's say I actually implement the specification correctly. So now I have a program and a spec it matches.

But then comes the problem: My application needs to change. Along with it, we need to change the specifications. If said specifications are too high level, then we start changing code without changing spec, and it doesn't take long before the spec is a dead document. If the spec is too low level, then change is hard, because the specification's friction becomes unbearable quickly.

So the problem quickly becomes the fact that writing specifications isn't really any easier than writing the code. It's the same problem that plagues many testing suites in practice: They either test too little, or test so much they increase the cost of development way past their value.

I am not saying we should not write tests, or specs. But what I really want to know is how to write a good spec, or a good test suite, because if those are bad quality, they actually become detrimental. At work, I just spent a solid two weeks trying to fix extremely overspecified tests: Hundreds of them that should have never been affected by the code changes. The people that write such tests will probably write terrible specifications that are just as brittle.

So don't show me a new specification language: Show me how said language makes it easy to write good specifications, and hard to write bad ones.

<comment><USER3> Writing a formal specification using something like TLA+ is actually very much like writing unit tests. Therefore, many of the same problems apply. The main difference is that you are testing your design, not the implementation. You are trying to work at a much higher level than the actual code.

That's why it is most useful for checking concurrency. It is hard for humans to mentally think about all possible interleavings of events, hard for fuzz testing to catch rare interleavings, but very easy for a computer to check all possibilities with breadth-first search.

By no means are specifications a complete answer, even making sure your implementation implements the spec is hard. But it is another useful tool in the arsenal.

</comment></comment><comment><USER4> This is very interesting - I'm eager to start using it... Does anyone know a quick way to start in a business domain?

At my job, I maintain a well established (read: old) product for moving money. There are a lot of business rules. Formal specification for it all is out of question.

There are though, certain well encapsulated modules which play only a support role -- there is a very faint connection to the core domain, which in this case could easily ignored. One module is a version of "personal task management".

Let's say, the personal task management domain is just being specified. Normally, we'd write in the spec:

* any user has a list of tasks

* any task can have a number of steps

* any step can be started or finished

* user can mark any step as finished or started

* if all steps are finished, the task is closed.

Can anyone help me in expressing these kind of rules in the TLA, please? How could the TLA spec be useful for me?

I find it very interesting to play with, because those "supportive domains" in our product tend to grow quickly and more often than not there comes a change request such as this one:

* the step can have a type (other words: there are two kinds of steps now): manual and automatic.

* all "old" steps are manual steps

* the automatic step is being managed by the application (user cannot change whether it's finished or started)

* the automatic step is executed by some external actor, let's say a process running once a month.

Now, does TLA allow me to "grow the spec" as the requirements come in? Does anyone has this real world, business experience with it (or any other formal specification method) and found it really useful? The example Leslie gave in it's talk (XBox memory bug) seems to be found only by the careful thinking phase and not by TLA directly. Other examples where sorting and finding GCD...

I have no idea how to start using it in my domain. Anyone has the experience (not necessarily with TLA/PlusCalc)?

\--- Update

I thought a little bit more to make it closer to what kind of problems we are facing (it's still fictional, so it might not be too coherent).

There comes another change request - the client demands more security! A rule is added:

* any step within the task can be executed only by the same user which added the task to the system.

Now, we have a problem! Automatic processes run with a fake user id ("batch_user_001") and cannot finish the required steps. The user also cannot, since the step is automatic one.

What could we do now? OK, first possibility to explore: use the roles and delegation. Maybe the user should have a role the same as the process? Now the rule could be:

* any step withing the task can be executed only by the user with a role the same as the user adding the task.

Yeah, the tasks can now be processed. OK, but is this the best solution or more of a workaround?

Maybe the process shouldn't run with any user id at all? If I change this part of system how can I check if something else breaks? Like the GUI which assumes "there always IS a user id".

Enough with the fictional scenario. Some conclusions follow.

I believe the formal spec is exactly the tool which would allow to test the interactions of changes more quickly than guessing and/or relying on the expert knowledge (maybe on a sick leave). I be it must be used exactly for the purpose! I considered finding it on my own, but maybe someone here already does it. If yes, kindly please speak up about your experience. :)

</comment><comment><USER5> I've read a number of papers recently discussing various software design techniques for improving the ease with which bug-free code can be reduced. Most of these papers are infeasible in practice because they rely on new language features that aren't found in any mainstream language. For example, the paper "Out of the Tar Pit" suggests "Functional Relational Programming" as a method of reducing complexity in software. Unfortunately, I can't evaluate the efficacy of FRP in practice because there is no language allowing for it, and even if there were, it wouldn't be a language anyone would use since there would be no support for it.

In contrast to those approaches, Lamport's ideas seem quite reasonable and have the benefit of being language agnostic. He definitely has a lot of interesting ideas here!

<comment><USER6> FRP is implemented in Haskell, Scala, Java, C#, and JavaScript off the top of my head.

<comment><USER7> I suspect you are confusing Functional Relational Programming with Functional Reactive Programming. The latter revolves around programming with time-varying streams of values and has been implemented many times. There is an interesting discussion of related problems at [http://lambda-the- ultimate.org/node/4900#comment-78949](http://lambda-the- ultimate.org/node/4900#comment-78949).

Functional Relational Programming is defined by using relational constructs to model data and manage change and using pure functions to express computation. The only serious implementation I'm aware of is [http://boom.cs.berkeley.edu/](http://boom.cs.berkeley.edu/)

<comment><USER6> Oh, you are absolutely correct. My mistake!

</comment></comment></comment></comment><comment><USER8> I think the way they choose to introduce him in the blurb below the video is funny: "inventor of Paxos and developer of LaTeX." But Leslie Lamport has a Turing Award!

<comment><USER9> Everybody knows Lamport, LaTex, and/or Paxos.

But I don't think I could name the organization that gives out these so-called 'Turing Awards' or any other recipients.

<comment><USER10> The Turing Award is a fairly significant award, as awards go. It's kind of like the Fields Medal or the Nobel. So it means enough to make Lamport getting it a big deal.

<comment><USER9> I'm not saying the Turing Award isn't a big deal.

I'm saying the Turing Award is less famous than LaTeX.

[EDIT] Downvoters: Just out of curiosity, are you more unhappy with me pointing out the incredible practical contributions that Lamport has made, or that I might be somehow questioning the relevance of the Association for Computing Machinery?

</comment></comment></comment></comment><comment><USER11> My favorite bits from the video:

\- Why should you think? Because it helps you do things.

\- When should you think? Before you write any code.

\- How should you think? By writing. "Writing is nature's way of letting you know how sloppy your thinking is". To think, you have to write. If you think without writing, you only _think_ you're thinking.

\- What to write? Write a specification. It can be simple or "mathematical prose" or a fully formal specification. A spec is simply whatever you write before coding.

\- (00:44) Why write the spec? To be sure _what_ the code should do before you write it.

\- What code should you specify? Any code that someone else might use or modify. That someone could be future you.

He did talk about his TLA+ tool, but the points above were the thrust of this talk.

</comment><comment><USER12> Can anyone provide a TL;DW? The video's an hour long, without any kind of transcription, and there are only 4 slides which don't explain anything...

<comment><USER4> At the beginning, Leslie explains why specification is important. He gave few convincing (me) examples and then introduced the idea of formal specifications.

The formal specification allows you to find design bugs, before writing any code. An anecdote about XBox memory model is given: a certain hardware bug (in the memory unit) once made it's way into production would stop any XBox after 4 hours of using it. The bug wouldn't be found using any methods the hardware manufacturer was using.

The bug was found due to an engineer who was formally specifying the memory model. He provided a bug description and the response was: "Invalid, the system cannot come into this state". The engineer than responded with a scenario leading to the state using the rules which governed the memory model. Eventually the bug was fixed.

Leslie moved to more down to earth examples: finding greatest common divisor (Euclid's algorithm) and QuickSort. They were expressed in pseudocode and with minor adjustments as a TLA spec.

In all examples the same conclusion was given: having written only the code it would be very difficult to find the design bugs.

<comment><USER13> The languages Lamport uses:

[http://research.microsoft.com/en- us/um/people/lamport/tla/tl...](http://research.microsoft.com/en- us/um/people/lamport/tla/tla.html)

[http://research.microsoft.com/en- us/um/people/lamport/tla/c-...](http://research.microsoft.com/en- us/um/people/lamport/tla/c-manual.pdf)

</comment></comment></comment><comment><USER14> Is anyone else having issues seeking across the video i.e. moving to a particular time in it ?

<comment><USER8> The video won't play at all in my browser. FF24 on Gentoo.

<comment><USER15> You need silverlight.

<comment><USER16> Ugh. They did this with the feynman lectures, too.

Edit: Jumped the gun. Just downloaded it as an mp4 to watch in vlc.</comment></comment></comment></comment>


As Uber gears up for IPO, many Indian drivers talk of shattered dreams - <AUTHOR> https://www.reuters.com/article/us-uber-ipo-india-drivers/as-uber-gears-up-for-ipo-many-indian-drivers-talk-of-shattered-dreams-idUSKCN1SE0OP <comment><USER2> "To be sure, many drivers from Uber are still earning more than they could get in other blue-collar jobs in India. The national minimum wage in India is only about $2.50 a day."

No substantial article here folks. Just negative sounding clickbait because "Uber" is in the title.

<comment><USER3> "Mounting debt from taxi loans was a key concern. Many drivers took loans to buy cabs, while some leased cars from the companies themselves."

I think this is the aspect the article is trying to point out. The earnings have halved from what they used to be. The drivers went all in based their lives/future on sustainable earnings from Uber and then were all but abandoned by Uber.

<comment><USER4> Why did Uber change the rates? Was it driven by an influx in drivers coupled to a relatively stable demand for rides?

<comment><USER5> It was driven by Uber needing to become profitable and either having to raise ride prices (and lose customers) or lower driver cuts. If there was an abundance of drivers you'd see Ubers/Lyfts waiting around with no one in them constantly, which is not my experience based on wait times in major metropolitan cities (NYC, Boston, SF, LA), where drivers usually are booked for the next ride before they even drop me off.

It's also misinformation and deceptive advertising by Uber and others that don't educate drivers on the real costs of driving for them when it comes to gas, car wear and tear, surge pricing models and how it affects them, etc.

<comment><USER6> It was a similar story in London where people borrowed money for cars, then Uber cut pay stranding people with loans.

Uber seems to use "incentives" and some kind of quest system rather than just paying the drivers the full amount. It's similar to bonus systems on casinos, where the goal is to keep the player hooked.

</comment></comment></comment></comment></comment><comment><USER7> The bias in many of the comments here is towards social darwinism and personal responsibility. But before we blame the drivers for taking out loans on the 'foolish' assumption that their pay would remain constant, remember that Uber benefited from their naivete with having extra drivers on the road. This breed and cull strategy is par for the course in the business world, but you can't say it's 'not immoral', it's just that the business world so rarely has any incentive to be moral. One incentive is that people hold them to account when they do something crappy like this.

</comment><comment><USER8> I like Uber but I'm scratching my head. How do so many people buy into what's clearly an unsustainable business model? I get that right now they have a huge base but isn't it just bought with incentives? I don't really see a huge competitive edge in their app and all the non-core businesses they are competing in are already crowded.

<comment><USER5> But self driving is just around the corner!*

[*] This will be true year after year (and Waymo will beat them to it even if it happens soon)

</comment></comment><comment><USER9> Isn't this largely a case of early adopter Uber drivers planning on, and feeling entitled to, temporary market launch subsidies being made permanent?

It reminds of a friend who put together a few of the first Subway franchises here in NZ.

I suggested he consider selling.

He asked why.

I responded by sharing with him how Subway will not stop adding new franchises until there is one on every corner of every intersection.

Subway makes money on franchise fees and incremental sales,NOT average store sales(which plateau and sometimes collapse depending on cannibalisation).

Uber is not a franchise, but I think the gig economy might require some similar plain language disclosure on how launch market subsidies are temporary and ethereal, not sustainable.

Expecting launch market subsidies to remain indefinitely is dangerously naive and foolish.

But companies like Uber could probably do a better job of communicating that and managing driver expectations in the market they manage.

Trust comes in a lot of flavours.

</comment><comment><USER10> I remember Uber offering $1000-$2000/mo to drivers in India back in 2016-17. Many left their other jobs, bought cars, took a loan.

Then, bait and switch, those same drivers struggle to earn $500-$1000. They can't leave their jobs because of their loans. They sleep in the cabs, shit in public toilets, eat in the roadside stalls, and go home about once a week.

I get reminded of all this every time I take a cab.

I realise I'm ready to pay a bit more for my convenience so that someone doesn't literally suffer despite working all day.

</comment><comment><USER11> How do you know this article is not by Uber to mislead potential investors into thinking they can reduce expenses at will by cutting driver pay?

The examples in it are very selective.</comment>