Show HN: Intuitive nutrition information - <AUTHOR> http://spe.lt/ <comment><USER2> Wow--I really clicked with this immediately--super intuitive. Also, holy crap is it fast--instant results.

Some initial reactions/suggestions:

\- I want to be able to edit entries in a list in-line. When I looked at it on my Android phone, each word's link was separated which made me think I could click each element individually to change it in place vs. having to re-enter it on the right panel. Think of it like Google or Pinterest's search interface where you modify individual words in place vs. doing it somewhere separate. For modifying integers, you could even use a dropdown or scroll menu on mobile since numbers would likely be relatively low.

\- When I have the input field selected, pause the animation. In fact, maybe make it stop looping once I've entered one or a couple things. It is distracting and I've shown I understand how to use the box. Instead, consider putting static text examples somewhere below--an input key if you will.

\- You have an engaging hook--let me take the next step of engagement. Add user accounts and the ability to save lists as recipe's or shopping lists, share them, and list the most popular ones based on shares. Instant boost to k-factor.

\- In the list below the bar graph, I'd love to see line-item nutritional stats (perhaps marked by corresponding graph series color) for contribution of total calories of that type. For example, I have a smoothie recipe with 1C almond milk in it. Without clicking on it, I should be able to see displayed both the absolute values as well as the percentage of total recipe calories, carbs, fat and protein the line item is adding.

\- Let me make lists of lists, list of lists of lists, etc.--ie. menu planning. A list is a recipe, a list of lists is the menu, a list of lists of lists is a weekly meal plan that would be awesome to plug into Amazon Fresh or something of the sort (if it had an API). Let me buy n-deep lists with a click.

\- Consider showing the source of the data for users to verify or investigate further. If I am substituting something for one of your entries though that you don't have, I should be able to enter my own custom items as well as their nutritional information. This obviously is easier to implement for individual users and their shared recipes vs. incorporating in to your master lookup data.

\- The mobile interface is slick, but I'd love a native app down the line as well.

\- Let me upload a photo(s)--particularly on mobile where I might have made something, want to snap a photo, toss together the recipe quickly, and share it out. Think Instagram for recipes.

Would love to know more details about the project.

1\. What did you use for building the front/back ends?

2\. How did you make it so blazing fast?

3\. What's your data source?

4\. What made you decide to launch this? Consider adding an "About" page.

Awesome stuff.

<comment><USER3> For how fast this is: Websockets! I was playing around with it, watching the network traffic. You'll see you get 101'd (Switching Protocols) to spe.lt:8080. If you hit that URL, you'll get a default page that says:

      AutobahnPython 0.10.4
      I am not Web server, but a WebSocket Endpoint.
      You can talk to me using the WebSocket protocol.

You can see a little bit more in main.js as well. As for the backend, it's looking like Python, considering the WS page. I am curious about 3 and 4 as well, and as the actual frameworks used for 1.

Very nice work to the person who made this.

Edit: I'd also love to know if this ever is open sourced. Understandable if not. Very cool tool.

<comment><AUTHOR> Thank you! Websockets speed it up a little, about ~20-50 ms. I am a fan of open source, I would consider open sourcing part of the backend if I can turn it into a library that is useable.

</comment></comment></comment><comment><USER4> SI unit prefix are supported; I amused myself by asking for "3 yottatons of bacon". Not numbers though -- I wasn't able to add a million quadrillion eggs to complete the recipe that would feed the entire Milky Way.

</comment><comment><USER5> Searching "Red Wine" -> "1 serving Vinegar"... how dare you, Sir

</comment><comment> white-flame What about the vitamin & mineral content?

Having carbs/fat/protein/calories seems to be more focused on people avoiding getting too much of "bad" stuff, as opposed to ensuring they do get proper nutrition in terms of "good" stuff.

However, the interface would seem to get pretty cluttered if it was a more complete nutritional profile.

<comment><AUTHOR> Yes, I want to include that. There are a couple problems — incomplete nutrition profiles for certain foods, and slightly different foods having very different micronutrients (vitamins and minerals). For example, while a homemade cheeseburger and a cheeseburger from McDonald's have very similar macronutrients, they may have completely different micronutrients.

That said, general guidelines can still be given. It's important to remember that, in general, the amount of calories consumed matters the most. Other information is important too, though.

</comment></comment><comment><USER6> Worked for a few items I tested, but failed for "soylent 1.5". That gave me "1.5 pouches Soylent", but what I wanted was "1 pouch Soylent v1.5". But otherwise, I enjoy the simplicity and interface.

I currently use My Fitness Pal on my phone to track calories during bulking and cutting. For the most part, the app is great, especially its database, but it has several quirks that make using it more difficult than it has to be. Putting the Add Food button directly over the advertisements, for example... But more importantly, inputting certain food items can be tedious. For example, logging "204 grams of milk" is difficult, but spe.lt handled that gracefully.

I feel like spe.lt combined with My Fitness Pal's database and a speech-to- text interface would be splendid.

<comment><USER7> Not sure Siri (Wolfram) has Soylent, but you can ask her about "calories in a slice of pizza" or "calories in a cheeseburger" :)

Does anyone know if there is a js-lib where you can subtract units and <subject> from written text like this does?

I have my own database of values I want to try this on.

</comment></comment><comment><USER8> This could be the seed of something fantastic, IMHO. I'm trying to gain some bulk, and was using the "leading" product (MFP), but stopped because their data is: absolutely filthy via redundant user-submitted info, oriented towards companies rather than simple fresh home-cooking, poor handling of units (should be agnostic with internal conversion), and has friction at every layer of the experience.

Even with basically no features, this is probably easier to adapt into something that I might use.

Part of the problem with calorie/nutrition tracking is that use-cases conflict. I guess this could either become more opinionated, have multiple opinionated structures built on top of it, or just stay lean.

Interested in seeing where this goes, would follow a dev blog.

<comment><AUTHOR> Thanks! I am pondering how I want to take this, but I want it to stay pretty lean because I like it more and it's faster to develop. I'll consider a dev blog, probably just in the form of a more comprehensive about page.

<comment><USER8> Well, anything with an RSS feed would be great. I don't know about others, but it's my preferred way to keep up to date on software that I use/am interested in. I do have recurring "check on [url] tasks" but eh.

</comment></comment></comment><comment><USER9> 100g white rice - 8% protein (2g).

I assume the reason for this is because its cooked and its taking into account water content but it feels unintuitive. Also it then doesnt tell me specifically how much carbs/fat there is, just a percentage. If people are going to use this for quick checks for specific diets it won't be all that useful.

In fact it's probably worth just using the percentages for the colour bars and only having pure values in grams shown as numbers. You could add a toggle to show percentages so that people planning a days worth of food could have a percentage split for their macros.

Aside from this I love this idea and the way its presented and would definitely use it if it had enough information.

<comment><AUTHOR> The percentage bar is % energy content. Maybe there is a way to make that more clear. Displaying things in terms of weight percentages is misleading because the body burns a set amount of calories, not a set amount of food.

</comment></comment><comment><USER10> So close to being amazing! Please make the length of the bar relative to the calories, right now they're all the same width. And maybe allow comparison between x and y. Say, 2 eggs vs 1 chicken breast.

</comment><comment><USER11> Amazing! The important thing to have a breakdown for is dietary carbs though. Most vegetables work for keto diets due to the carbs being mostly dietary. From this that isn't completely clear however.

</comment><comment><USER12> This is very cool. I spend way too much time consulting nutrition tables to plan my meals - I would use this all the time. Great UI too.

I see you have grams for protein but not the other two macros. Could you add them?

<comment><USER13> Not that it matters if it is added, I can see the rationale behind this. Generally when people are following a program, depending on the program and the cycle (bulking or cutting), there is a set amount of proteins one should consume (1.5g/lb of body weight, 1g/lb of body weight etc.) and the remaining calories are to be attained from carbs/fats in some ratio (which in some cases might not even be defined, but left to preference).

<comment><USER12> True.

But often I'm concerned with a specific macro, as in, "hey I need 20g more carbs today."

The macro ratios of individual food items doesn't really help when calculating the total day ratios.

<comment><AUTHOR> Thanks for the suggestion. I agree, I think I could improve how details are displayed more effectively anyways.

</comment></comment></comment></comment><comment><USER14> Ok, I wasn't sure if it should say calories or kilocalories so I tried to look up which is the right one. Then for my surprise this is widely misused and now it's generally accepted to use Calories (with capital C) when you actually mean kilocalories. In Hungary every nutrition listing is in "kcal" (AFAIK) so this is the first time I encountered with this.

<comment><USER15> But... The correct one IS kcal. Or kilojoule, if you want to be even more universal.

<comment><USER14> Yeah, that's my point.

</comment></comment></comment><comment><USER16> No weight information? Just search for Mango and it just said 135 kcal without any indication of what the weight or size of the mango was.

</comment><comment><USER17> Frustrating. I didn't even find a way to enter "1 pizza" (or "1 whole pizza" or "1 entire pizza" or "1 pizza pie", it keeps coming up with "1 serving of pizza" or "1 slice of pizza" \- either of which are completely fluffy measurements that could mean anything from 1/12 to a whole pizza.

<comment><USER18> 12 slices pizza:

1649 Calories

64% carbs22% fat14% (58 g) protein

12 slices Pizzax

</comment></comment><comment><USER19> Does this use the USDA Nutrition Database? It is a useful source of nutrient data that I have used for many years on my [http://cookingspace.com](http://cookingspace.com) site (parden the plug).

I really like the user interface on spe.lt - nicely done!

<comment><USER20> This is really needed! I'm on a renal diet and I have to watch every number like protein, sodium, phosphorus, potassium, fat, etc. I struggle day by day cobbling things in google docs online because the tools online don't suffice.

<comment><USER19> I originally wrote cookingspace because I need to track how much vitamin K is in my diet.

<comment><USER20> I've been also exploring to see if I can teach myself web development skills to create my own app based on my needs. I see some good ideas I can learn from yours...

</comment></comment></comment></comment><comment><USER21> Congrats. I love when someone build a clean, simple product that it works fast, and do its job!! Maybe a lot of web developer should learn from such simples, right to the point, products!

(Do you consider to open source it?)

</comment><comment><USER22> Feedback from my diabetic neighbor: this is useless to him without gram values for all the macronutrients, because he needs to calculate his insulin dosages. Percentages aren't enough.

</comment><comment><USER23> Seems down to me, I'm seeing:

      WebSocket connection to 'ws://spe.lt:8080/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED

</comment><comment><USER24> Good job!

What about showing sugar / carbs ratio and saturated fat / fat ratio?

Minor annoyance: the floating "Terms - Contact" overlaps with content on small screens (eg. my Galaxy S4 mini).

</comment><comment><USER25> Really simple and quick to use.

As many others have stated, it _needs_ the weight for carbohydrate as many of us are ensuring a daily limit rather than worrying too much about ratios.

</comment><comment><USER26> "1 bowl of rice" gets interpreted as 1 cup of Sake?

<comment><USER27> Specifying raw or cooked rice gets you the right answer. Given that it gives you the info to correct instantly, this isn't too bad. NLP is hard.

We had a similar idea, but for automatic handling of whole recipes that you can adjust to your dietary needs ([http://www.tweakeats.com](http://www.tweakeats.com)). I have to say I prefer the feedback for individual ingredients that spelt has though, given the ambiguity of a lot of ingredients (raw vs cooked, chopped ingredients measured before or after chopping, red peppers, etc.). Seeing quickly how is was interpreted is helpful.

</comment></comment><comment> bmir-alum-007 The natural language processing is awesome. Good work, guys.

</comment><comment><USER28> Nice, I even found a dutch entry (Boterham ham en kaa (trailing s is missing?)), which makes me wonder, where do you get the info? Is it reliable?

<comment><AUTHOR> Thanks, the trailing s is missing because it's trying to singularize "kaas" :)

The information is from USDA, and scraped from a bunch of other various sources. The info should be vastly correct, "correctness" is also a heuristic taken into account when returning results.

</comment></comment><comment><USER29> awesome! -sugar would be a great info to know -what API database are u using ? is this information public or you generated it yourself ?

</comment><comment> Dorian-Marie Thanks, perfect for making DIY Soylent recipes.

See [https://diy.soylent.com](https://diy.soylent.com).

</comment><comment><USER30> I would be nice if this worked at all on earlier versions of Firefox.

</comment><comment><USER31> getting: Uncaught InvalidStateError: Failed to execute 'send' on 'WebSocket': Still in CONNECTING state.(anonymous function) @ main.js:23

</comment><comment><USER32> really cool! Are you planning to turn this into an API or app for tracking nutrition?

<comment><AUTHOR> Thanks! I do plan on expanding it, not sure how yet. Right now, you can create a list and each list will have a unique URL. If you want to save a list, you can save the URL.

</comment></comment><comment><USER33> very cool, excited to use it when it has myfitnesspal.com features

</comment><comment><USER34> cool.

what source did you use... AUSNUT, USDA Nut DB?

</comment><comment><USER35> Completely useless; mildly entertaining. . . De ja vu ?</comment>


The Structure of Stand-Up Comedy - <AUTHOR> https://pudding.cool/2018/02/stand-up/ <comment><USER2> I started to appreciate stand-up comedy a lot more after realizing just how much effort goes into delivery. It's almost uncanny to watch a comedian perform the same routine twice, because their timing is so consistent.

Here's a good breakdown of a Louis CK joke: [https://www.youtube.com/watch?v=ufdvYrTeTuU](https://www.youtube.com/watch?v=ufdvYrTeTuU)

Jerry Seinfeld also gave an interview with the NYT about the process — I think Jerry is a good example because so much of his comedy depends on the delivery.

[https://www.youtube.com/watch?v=itWxXyCfW5s](https://www.youtube.com/watch?v=itWxXyCfW5s)

<comment><USER3> It's interesting watching comedians in cars getting coffee as obviously they're always telling each other jokes and he'll often pick out bits of the other comedian's joke that he thinks really makes the joke, and it's not always what you'd first think.

<comment><USER4> It was one of those episodes that made it click for me. I can't remember which episode it was but Jerry and the other guy were discussing what it was like on stage and Jerry mentioned during the periods the audience is laughing he isn't thinking about the laughter or the crowd. Instead he's thinking about how he's going to continue the joke or transition to another one. I have found the whole series to be really insightful into the lives of comedians. I think it was one of the earlier episodes in the latest season.

<comment><USER5> Check out Pete Holmes' You Made It Weird podcast for more comedians talking about comedy academically

</comment></comment></comment></comment><comment><USER6> If you have a serious interest in stand-up, I would _highly_ recommend Stuart Goldsmith's podcast _The Comedian 's Comedian_. He interviews a broad range of (mainly British) comedians, taking a deep dive into their writing process and stagecraft. The interviews with Jimmy Carr and Gary Delaney stand out as highlights for me, providing some absolutely revelatory insights into the art of making something funny. It can be a bit inside baseball at times, but that's not necessarily a bad thing.

[http://www.comedianscomedian.com/podcasts/](http://www.comedianscomedian.com/podcasts/)

[http://www.comedianscomedian.com/164-jimmy-carr-part-one- of-...](http://www.comedianscomedian.com/164-jimmy-carr-part-one-of-two/)

[http://www.comedianscomedian.com/67-gary-delaney- live/](http://www.comedianscomedian.com/67-gary-delaney-live/)

<comment><USER7> I was hoping there'd a be a Dylan Moran one... No luck there. Thanks for the link though, this is getting added to my regular podcast rotation.

<comment><USER8> Moran is famously press-shy. He's been on Marc Maron and Scroobius Pip's distraction pieces and is excellent in both, so I'd recommend listening to those.

<comment><USER7> I've read/watched quite a few breakdowns of his acts, but haven't been able to find anything by/with him discussing his act, so I'll definitely look into those.

Now that you mention it all of the preroll interviews in his recorded acts do seem really forced... I could never tell if that was me reading him wrong, or if he was keeping up the "I don't care" character.

</comment></comment></comment></comment><comment><USER9> Well done to the authors! This is a really compelling analysis, fun to "read". It's a great use of the medium, pretty much the picture my imagination painted when (one of the whens) "multimedia books" were a thing of the future.

On stand-up comedy... I've heard more about the "making of" in recent years too, as comedians invaded podcasting. It's very interesting, how a joke or set evolves in the telling. I guess certain jokes and bits don't make the cut, but moreso, they are refined for timing, cadence and the stuff this article points out (kreshendo?).

A curious paralel is (perhaps) speech-making. There is someone on stage, live audience. They do the same talk/set over and over, to different crowds. Each time, the punches are fuunnier. The misdirections get more subtle. The impacts are better. The crowd cohesion grows.

Orration is ancient, and I suspect that stand up comedians have a lot in common with orators of the past, before mass media existed.

If you listen to (for example) a recorded malcolm X speech (I think he was exceptionally talented), you are probably listening to the 100th delivery of the speech. It didn't just pop out of his mouth with that much impact on day 1.

<comment><USER10> (it's "crescendo", an Italian word I believe)

<comment><USER11> Yep, it literally means "growing". Very similar to the Spanish "creciendo".

</comment></comment></comment><comment><USER12> This was nicely done. And since it's Hacker News let me immedy shift focus to tech ... this was fantastically usable on my mobile phone. It was laid out perfectly and very responsive. I've seen plain text articles jump and stutter so I wasn't expecting this to work. Good job to the dev team.

<comment><USER13> How does one even render a page like this? I have minimal HTML and CSS knowledge and this as far as I can tell is magic

<comment><USER14> I'm very curious about this as well. What JavaScript framework(s) enable this? How does it integrate with certain CSS frameworks or HTML templating languages?

<comment><USER15> This uses D3.js [1], and waud [2] for audio. The Pudding have their own library for scrollytelling (Scrollama.js [3]), but I don't think it's used in this project.

[1]: [https://d3js.org/](https://d3js.org/)

[2]: [http://www.waudjs.com/](http://www.waudjs.com/)

[3]: [https://pudding.cool/process/introducing- scrollama/](https://pudding.cool/process/introducing-scrollama/)

</comment></comment></comment></comment><comment><USER16> I've been to see a few comedians playing small theatres whilst they are developing their acts. Sometimes you get big names who are polishing their show for an imminent TV appearance, sometime they've not been on stage for a few years and are just starting to get back into it for a tour the following year. They will often play with stories, making notes how the audience react as perhaps they've gone too far or just missed the point.

I think I prefer seeing them working in the small venues like this when their act is quite raw and not just seeing the highly polished finished routine. They are incredibly talented and getting an insight into their thoughts is wonderful.

<comment><USER17> Dave Chappelle tells a story somewhere about his all-time favorite comedy being an old tape of Richard Pryor bombing terribly, early in his career. Apparently Pryor goes on for 30-40 minutes, doing a bunch of different bizarre routines, none of them working at all. Then Chappelle's punch line is that when you watch this tape knowing Pryor's later material, you can see how every bit is the raw initial form of what would eventually become his best, most famous routines.

</comment></comment><comment><USER18> Referencing previous material like this is commonly called a callback (just like programming :-). It's extremely common to end with at least one call back.. if not multiple.

[https://en.wikipedia.org/wiki/Callback_(comedy)](https://en.wikipedia.org/wiki/Callback_\(comedy\))

</comment><comment><USER19> That was a great analysis. If anyone is interesting on this topic, I highly recommend Talking Funny. Four comedic greats talk about comedy - of course there's lots of laughing but it's just fascinating.

Full video on youtube, too: [https://www.youtube.com/watch?v=JrqkP1JpBRY](https://www.youtube.com/watch?v=JrqkP1JpBRY)

</comment><comment><USER20> I got lost and ended up at the opening page 5 slides in. Also the 'tap to continue' was half off the screen in iPhone X. This feels like a new version of those scroll jacking sites from 2010.

<comment><USER21> It works on so many other devices, though!

It's crazy how complicated design is since there are so many form factors to get right. Miss one, and you lose part of your audience.

I have so much respect for front end engineers and designers, because this stuff is not easy.

<comment><USER22> A shame that having plain paragraphs and pictures does not work (Android dropped support since N).

Commenting on the design, as a slow reader and non-native English speaker I felt annoyed at having to read against the clock ticking away for each slide (or alternatively, having to click 'pause' again for each slide individually). I hope whatever package this page is based on changes their default settings in future releases.

</comment></comment></comment><comment><USER23> I'd be interesting in seeing something like this breakdown for someone like Mitch Hedberg, who is generally considered to be one of the greatest stand-ups of all time (especially among other stand-up comedians. You'll often hear other comedians include his name in lists with Carlin, Pryor and other all- time greats.) Hedberg's style is definitely not narrative, not explicitly. It's about as far to the one-liner one-joke-after-another end of the spectrum as you can get.

<comment><USER24> Stephen Wright is kinda like that also.

<comment><USER25> Jimmy Carr too.

<comment><USER26> Jimmy Carr himself would probably disagree with you and instead cite Harry Hill, as would most UK comedians.

</comment></comment></comment></comment><comment><USER27> The site is great, the tools of analysis and presentation are amazing but the title is a bit grandiose.

Imagine writing an article titled "The Structure of Software" and using code from one application to define the structure of all software.

I once watched 100 videos of top 100 comedians of the decade. I realized that no two comedians were alike.

I like to think that comedy is a place of anti-logic or no logic or beyond logic with room for non-sequitur and absurdism and hence no structure.

<comment><USER28> Actually, not quite so. There's structure, otherwise it would be incomprehensible and people would not resonate so much with it.

William James said that philosophy "sees the familiar as if it were strange, and the strange as if it were familiar." The same is true of standup comedy. Simon Critchley has written that both ask us to "look at things as if you had just landed from another planet". [1]

[1] [https://plato.stanford.edu/entries/humor/](https://plato.stanford.edu/entries/humor/)

<comment><USER27> "strange as if it were familiar"

Don't you see the paradox you have introduced. What came first the strangeness or the familiarity?

We are all very good at meaning/structure making post hoc.

</comment></comment></comment><comment><USER29> The Marvelous Mrs. Maisel explores the the development of a "set" in the first season. It isn't a big part, but in the context of the overall story it is well done.

[https://en.wikipedia.org/wiki/The_Marvelous_Mrs._Maisel](https://en.wikipedia.org/wiki/The_Marvelous_Mrs._Maisel)

</comment><comment><USER30> While we're dissecting humour, this reminds me of Dennett's book about it - the core idea seems to be that we find things funny because we're trying to 'debug' them:

 _The main thesis of "Inside Jokes" is that humor is an evolved adaptation used by humans to "debug" mental representations, i.e. find tacit incongruities and contradictions within representations and bring them to light._

[https://rosehendricks.com/2013/06/13/review-of-inside- jokes/](https://rosehendricks.com/2013/06/13/review-of-inside-jokes/)

</comment><comment><USER31> I really want to read this but the design of the site is unbearable. Hoping for a plain ascii version.

<comment><USER32> Sorry but a plain ascii version wouldn't have conveyed the same story.

<comment><USER33> You could reduce the content to a couple of short paragraphs and not lose anything essential.

The animations are decorative, not informative. Run through the piece again and you'll see they convey no independent actionable or memorable content that isn't already conveyed in the text, and/or couldn't be illustrated just as effectively with static diagrams.

This is an absolute monster load of development work for what's really just a one page magazine article.

And if you know a little about dramatic form, you'll note that it doesn't explain the design of the structure in any detail - certainly not any kind of detail you could repurpose if you were interested in writing or stand-up.

It's just "Stand-up has structure" \- which you could get across in a single sentence, and which is probably a thought a lot of readers will already have had.

<comment><USER34> The graphics are clearly critical - a plain ascii version wouldn't convey the information as successfully.

Personally, the animations drew me in. Basically all things can be reduced to a single sentence explanation, but that doesn't mean a single sentence has all the impact of the original.

</comment></comment></comment></comment><comment><USER35> I honestly think the graphical gizmos implemented for this piece do not support the message AT ALL. In fact, I didn't find any message. There is form in an hour long stand-up routine? That's not news.

</comment><comment><USER36> Crazy beautiful website.

A few thoughts on comedy:

\- In "Step by Step to Stand-up Comedy" (great book about doing standup), the author describes the process of writing a standup routine. Basically, first you write _a lot_ of jokes on random topics, and tag them by categories (like "driving", "postal service", "marriage", etc). Once you have a few dozen jokes, you organize the ones that can belong to a similar topic together, and then figure out how to string them together into a coherent routine, where one joke leads to another. So routines are written "bottom-up" from jokes, first you have jokes, then you find a way to put them together in a way that makes sense, but doesn't need much meaning or structure beyond that.

\- Movies or sictcoms, on the other hand, are written "top-down". First you have a story structure, which can, but doesn't have to be that funny(laws for comedy and drama are the same), and then you brainstorm jokes using your scenes as topics. If you came up with some good jokes or scenes separately, that don't necessarily fit, you can find a way to "shoehorn" them into the script, nothing wrong with that, but generally it goes structure first, jokes second.

\- Jokes are "absurd associations". Our brain thinks in patterns. When you put together two patterns(ideas) that don't belong together, it creates the feeling of absurdity, the less patterns belong together, the less they fit together, the more absurd they will feel. ("A man on a bicycle" is not absurd, "a man on a unicycle" is a little bit absurd, "Hitler riding a unicycle" is very absurd, "Hitler riding a unicycle while wearing a white dress and juggling fish" is absurd as fuck). Comedy is the art of finding connections between patterns. You "connect the dots" between two ideas, find an overlap(an association) between two patterns that are far apart, and you put them together. The more absurd(less compatible) the two ideas are, and the stronger the connection(the more it makes sense), the funnier the joke will be.

<comment><USER37> Somebody who was fantastic at picking _exactly_ the right word for a joke was the British comedienne Victoria Wood.

"During a stand-up routine from 1996, Victoria says the word "bollocks" then comments on the scandal inherent in this. "It will be in the paper on Monday. 'Woman says bollocks near Cheadle'.'' As Rebecca Front states in the documentary: "Cheadle being the absolute perfect near-Manchester town. It just falls in the right way." Victoria could have said "Sale" or "Hyde" or "Droylsden", but they wouldn't have been as funny as "Cheadle". She had an unerring instinct for the mot juste."

[1] [http://www.bbc.co.uk/programmes/articles/bbbRrf2hng7ddQ7HVH6...](http://www.bbc.co.uk/programmes/articles/bbbRrf2hng7ddQ7HVH6lDQ/victoria- woods-rules-of-comedy)

</comment></comment><comment><USER38> Very nice presentation. The analysis is just complete overanalysis with them working backwards from their biased preconcieved conclusion trying to back it up through argument rather than doing actual analysis and dissecting the subject matter. But the presentation is nice. Great visualizations and effective at arguing their hypothesis even though they don't actual do any critical evaluation of it.

I'd propose she repeat the show but leave out the physical comedy that goes along with the specific point they are obsessed with and if their hypothesis holds the laughs will be just as big, since they postulate that it's the structure of the preceding jokes tying in it that causes the laughs and not the joke itself.

</comment><comment><USER39> Cool presentation.

This reminded me of Hannah Gadsby's "Nanette" because, like Ali Wong's show, it has a strong narrative arc, and because, like this presentation itself, it analyzes the structure of comedy.

<comment><USER40> It reminded me of that too, especially since Nanette goes in-depth about how tension and release are tapped into to shape humour.

</comment></comment><comment><USER41> If you are interested in the craft of comedy then you might like British comedian Stewart Lee, he's liberal/socialist and gets pretty political but he clearly revels in the craft and is quite meta about it. He "explains" to the audience when and why they should laugh, and appears to revel in getting laughs out of stuff that just shouldn't be at all funny -- murdered babies for example. When I was younger I find him boring ("this isn't comedy, where are the jokes").

Latest tour "Content Provider" \-- [https://www.bbc.co.uk/iplayer/episode/b0bdcnwq/stewart- lee-c...](https://www.bbc.co.uk/iplayer/episode/b0bdcnwq/stewart-lee-content- provider)

<comment><USER17> Stewart Lee is phenomenal - he very much straddles the line between comedy and avant-garde theater, but he does things no other comic can.

Relevant to the article, he also wrote a book that deconstructs some of his routines. There are a few brilliant youtube clips somewhere, where someone has taken video of those routines and added annotations of what he said about each joke, as the joke comes up. I'd link them but I can't find the damn things.

<comment><USER42> A great example (but unannotated) of his off-beat delivery is this segment of one of his shows [https://www.youtube.com/watch?v=ngGdtqd71d0](https://www.youtube.com/watch?v=ngGdtqd71d0)

</comment></comment></comment><comment><USER43> TJ Miller "One Crazy Night - This is not happening" is a great example of this type of structure.

</comment><comment><USER44> Louis CK is master of story telling. Ali Wong is to d but I don't think her jokes are smart funny.

</comment><comment><USER45> This would be more interesting if it was about something that was more of a quality comedy.

I don't understand why jokes about vaginas, being fat, being gross or sex are funny to so many people.

Something is ultimately funny cause it is unexpected and true in a certain perspective.

My guess is that people think it is unexpected that people talk about these things and that is why they laugh and think it is funny. To me the concept of using such a simple idiotic picture of what a human is, is cringe. It is sort of embarrassing that people find it funny.

<comment><USER46> Define quality?

IMO, comedy is a great vehicle to help people realize taboo topics should not be taboo. Are Chris Rock and Eddie Murphy not quality comics? Do you also have an issue with cussing? George Carlins famous bit showed how absurd it is to ban _words_ from TV.

<comment><USER45> Quality can't be defined.

But in this specific case it is about the amount of quality work that went in to the material.

</comment></comment></comment><comment><USER47> This is stupid and only means that the editor knows what they are doing. Like most comedy specials this was filmed twice and sweetened in editing

[https://imgur.com/JtOb4fJ](https://imgur.com/JtOb4fJ)

[https://imgur.com/0QwEnEZ](https://imgur.com/0QwEnEZ)

<comment><USER48> I understand the point to be that a standup routine is generally a crafted product, designed to create a 'laugh climax'; that editing would be used to support this structure for the video seems to only reinforce the argument in the article.

<comment><USER47> > that editing would be used to support this structure for the video seems to > only reinforce the argument in the article

The article measures the time between big laughs. That timing is not what happened in the auditorium. It's not worth measuring. The data was edited and cannot tell you anything about precise timing. Why doesn't the author of the article acknowledge this?

</comment></comment></comment><comment><USER49> Ali Wong is at best mediocre, but the website is nice.

<comment><USER50> Feels odd why they would not pick one of the really great comedians but some niche personality with not even 500k Google results.

<comment><USER51> I think we all know exactly why this comedian was chosen, and it has nothing to do with popularity or talent.

<comment><USER40> Perhaps for some people, but I don't think that sort of sentiment about Ali Wong is universally true.

I genuinely enjoyed the material and found it very fresh, especially as someone that didn't really think standup comedy was for me before that.

</comment></comment></comment></comment><comment><USER52> Out of habit I skipped straight into reader mode and got to read the monologue.

... the delivery better do some magic 'cause I was depressed after couple of sentences and not in a mood for laughs at all...</comment>


Ask HN: Who had the idea to 'delete all code in 1 yr' to stop over-optimisation? - <AUTHOR> <comment><AUTHOR> I believe I heard this from Astro Teller of Google X... However, I can't find a trace of it online. Anyone heard of this and can provide a source?</comment>


Talent Partner - <AUTHOR> Leading the recruitment efforts here at Memrise <comment><USER2> I'm still confused by your comment, but I'll make a guess:

There are official monthly threads for jobs offers and freelance work. There are more details in the FAQ: [https://news.ycombinator.com/newsfaq.html](https://news.ycombinator.com/newsfaq.html)

For the latest post, see [https://news.ycombinator.com/submitted?id=whoishiring](https://news.ycombinator.com/submitted?id=whoishiring)</comment>


Ask HN:Review my Startup site - <AUTHOR>

i am Johnpaul Elias and i have a startup named reematch need help on user acquisition. Please give me feed back on what you think of my Technology reematch.com <comment><USER2> User acquisition will be greatly helped if you can provide evidence. Specifically, have some friends or people you know use the service and document the results. Show that the service works.

Overall, good idea (assuming everything works effortlessly).

<comment><AUTHOR> wow slipped my mind great idea. i might try to show how many jobs we matched per different user

</comment></comment><comment><AUTHOR> auto job matching based on users linkedin profile with relevancy scores on each job buit in with an adaptive learning engine that knows wich jobs you like and dislike as you use the web app!</comment>


Agile Paging for Efficient Memory Virtualization [pdf] - <AUTHOR> http://research.cs.wisc.edu/multifacet/papers/ieeemicro17_agile_paging_preprint.pdf <comment><USER2> "Even the TLBs in the recent Intel Skylake processor architecture, cover only 9% of a 256 GB memory."

Isn't that sort of a lot since the TLB is per context anyways?

<comment><USER3> The TLB is shared for the whole system. They added ASIDs so you can keep multiple contexts around without flushing the TLB.

It's still not a great comparison though since TLBs are essentially cache. You only need to keep your working set in them.</comment></comment>


We value your privacy now, but maybe not later - <AUTHOR> https://raimue.blog/2019/01/26/we-value-your-privacy-now-but-maybe-not-later/ <comment><USER2> You go to the local baker and buy a loaf of bread.

After you leave, he writes down, on a piece of paper, your name (he knows you, after all), when you arrived, how long you took to choose what to buy, what you bought, and how you paid - bills, credit card, etc. He also writes down if you looked happy, nervous, what you were wearing, if you were with someone, and anything else he can see.

He then seals this paper in an envelope, and at night, when no-one is around to see, sells a whole bag of such envelopes to the mining/merchant/transportation conglomerate from the neighboring town, for little more than pocket-change.

Would you consider such a person a good neighbor?

<comment><USER3> No, but someone giving bread away for free and doing that wouldn't be so clearly bad. I think the difference is the obvious exchange of value (money for bread) in the first case suggests that's the entirety of the transaction. So the baker additionally "taking" the customer's data feels like stealing. But in the second case, it feels more acceptable that the exchange is (data for bread) since we all know there's no free lunch. There's a reason when you give someone something for free they ask "what's the catch?".

<comment><USER4> > No, but someone giving bread away for free and doing that wouldn't be so > clearly bad.

I would say that's even worse. By giving bread away for free, he's making it impossible for other bakeries to compete unless they do the same thing.

This is why there are no serious competitors to services like Facebook or GMail. It's impossible to compete with free unless you monetize the data.

I say this as someone who pays for ProtonMail. Do you think it's possible to convince friends and family to start paying for email as well when they already get it for free?

<comment><USER5> If your privacy is important to you, then you would go to the baker that does not sell your private information and charges money for bread.

If there are enough people who are ready to pay for their bread and prevent selling out their private information -- then it would allow such privacy respecting bakeries to exist.

<comment><USER6> Because auditing is garbage and there's no way to know who isn't collecting this information.

<comment><USER5> Collecting information is not really a concern for the vast majority of users.

But some users start to worry when that information is getting sold to third- party providers. Information sales are easier to audit.

<comment><USER6> Collected information almost always turns into transferred information at some point. Knowing they don't sell anything now doesn't help you in five years when the company has a change of heart or a change of ownership.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> From the HN privacy policy:

Changes to Y Combinator's Privacy Policy:

The Site and our operations may change from time to time. As a result, at times it may be necessary for Y Combinator to make changes to this Privacy Policy. Y Combinator reserves the right to update or modify this Privacy Policy at any time and from time to time without prior notice. Please review this policy periodically, and especially before you provide any Personal Data. This Privacy Policy was last updated on the date indicated above. Your continued use of the Site after any changes or revisions to this Privacy Policy shall indicate your agreement with the terms of such revised Privacy Policy.

<comment><USER8> Speaking of HN, how do you delete your account from it?

<comment><USER9> What do you want to achieve by deleting your account? I can see basically two options:

1\. prevent you (or anyone else) using your handle to post submissions or comments

2\. delete all posted submissions and comments in addition to option 1 above; this is a little futile as HN has been indexed and replicated elsewhere

EDIT: the following is incorrect, as pointed out by jacobsheehy.

I will note that both are possible without any assistance from HN, though perhaps option 2 could be made easier.

<comment><USER10> Deleting content does not seem possible on HN, but you're implying that it is? Once you have posted something and walked away, you cannot delete it from HN.

<comment><USER9> You're absolutely right, I had never noticed this before. The delete link disappears after some time.

</comment></comment></comment></comment></comment><comment><USER11> I can understand that quite a few companies' commercial product is your personal information (e.g. Facebook, Twitter, and even news media nowadays).

What is scaring me is companies that have a different business model using the same techniques to sell your information. Today I noticed that Dropbox.com login does not work with the Ghostery ad blocker enabled. Ghostery blocked a total of 48 items on Dropbox.com, including 22 trackers. For a company that I pay $100/yr and trust with all my personal files, that number should be 0, everything else is a breach of my trust.

<comment><USER12> Yeah, unfortunately, spying on people is the norm. I have little confidence these business models will work in the long-run. Hopefully.

</comment></comment><comment><USER13> When I see "We value your privacy" I know instantly something shady is going on. The only thing I'll accept is a "Accept" and "Reject all" button next to each other without further clicks.

My list of web sites that I actually visit gets smaller and smaller. I have a shortlist and for most of them I pay to remove ads if they have the option and I have all kinds of ad-blocking installed both on the network level and browser level.

<comment><USER14> You are absolutely right, but the sad reality is that we are a small minority. Perhaps we can influence the world by education though.

<comment><USER15> Well education is a lost cause due to the masses being overworked/ overstressed / overwhelmed/undereducated /etc. I have seen people who write down their password in paper and carry them around. If people can't remover secure passwords, how are they gonna protect their privacy?

</comment></comment></comment><comment><USER16> It really seems like the only good privacy policy is

"We just don't collect X data, ever."

I don't know if I would trust it, but it would be the only one that I would have even a tidbit of faith in / think that it represents a good faith offer.

If they do collect it, I just assume it is being stored in the name of selling it. At this point it seems to be a foregone conclusion.

</comment><comment><USER17> A contract which allows one party to change the terms may not be a valid contract at all. There's a legal truism, "an agreement to agree is not an agreement."[1] This comes up regularly in "letter of intent" cases. The rules vary by state. New York is very negative on "agreements to agree".[2] Putting a phrase like that in a contract may weaken the position of the party putting it there.

Any comments from lawyers?

[1] [https://www.blaney.com/articles/agreements-to-agree-do- they-...](https://www.blaney.com/articles/agreements-to-agree-do-they-bind- you-or-not-court-decisions-resting-on-specific-provisions-1) [2] [https://scarincihollenbeck.com/law-firm- insights/agreement-t...](https://scarincihollenbeck.com/law-firm- insights/agreement-to-agree-ny/)

</comment><comment><USER18> Privacy policies can change at any time, but that's not the only problem. Companies that hold your private data can be hacked. They can be acquired by new owners who don't care about privacy.

Even if you trust a company with your private data, and even if you are fully informed about the data that they collect and what they use it for, you will have no control over what happens to that data eventually.

</comment><comment> phoe-krk Of course we value your privacy.

In US dollars.

</comment><comment><USER19> I really want to see companies getting fined for breaking the GDPR. Even better would be if they got a few companies to a bankruptcy lvl. Mainly so we get rid of the dark patterns. Just have 3 options: Accept All, Reject All, Custom

I hate it when the only option is accept or when I get redirected to a 3rd party website which tells me I need to enable 3rd party cookies for them to not track me... well fuck you guys, I don't want to enable them.

My solution so far is: Ghostery + DuckDuckGo + uBlock Origins + PiHole. Any other suggestions are welcomed.

</comment><comment><USER20> I noticed that some of these often-used cookie accept overlays take an awful long time to apply my choice (up to a minute) when I opt out of all non- required cookies.

I guess that is on purpose to annoy me to click "Accept all" anyway. I don't expect that they value my choice either.

</comment><comment><USER21> Serious question -- how can this be legal?

Think about it. For all I know tomorrow the policy could say "You agree to pay the site all your savings?" This sort of prior blank-check consent seems to lead to absurd scenarios when thought about.

<comment><USER22> I'm willing to bet it's not enforceable, and in court it would not hold up for a company to claim their new privacy policy was intrinsically consented to by virtue of site usage alone.

The purpose is probably just to add legal obfuscation and extra cost burdens in the process of suing a company over privacy issues. It costs them little to add legalese like this to their policy, and may possibly create some gargantuan burden of effort in the future to argue that it's not enforceable, just further reducing the number of would-be lawsuits to challenge them.

</comment></comment><comment><USER23> the last time i've seen such a drive for privacy was during the USSR, where the state wiuld actually kill or at least torture you. so you had to hide everything from them. this led to a broken society, where everyone lied to eachother over the most basic things (e.g. going out, eating a loaf of bread etc). that's one of the reasons i escaped to the western world, where transparency was the norm, where no one cared what you had for breakfast, where there was no real threat to your life due to over exposure.

fast forward to today, and it feels like the west is developing into the USSR, but without the threats to life, just the "hide everything about you" part. it also feels like a partly nativist europe vs the rest of the world.

now it seems i have to escape yet again to parts of asia where they don't worry about stuff like this.

edit: at the last minute i'm reminded that this is just the HN bubble, and outside Europe people still act normal and don't care about this stuff.

</comment><comment><USER24> As someone who recently put together a privacy policy myself, I can assure you that an updating clause is standard practice for both privacy policies and terms of service. The documents are really mostly for minimizing liability.

You can object to that, sure, but no sane company is going to open themselves up to lawsuits just because a few users are upset about it.

</comment><comment><USER7> The other thing that is driving me crazy is the dark patterns employed to get you to click accept. Sometimes the reject button has deliberately had the onclick/hover changes removed so it doesn't feel like a working button, other times it's buried 3 levels deep etc.

What are we supposed to do about these? They have been added to comply with GDPR but clearly don't.

<comment><USER16> What is funny is that time and again we've found that ... companies will still do what they want it even if "accidentally".

</comment></comment><comment><USER25> > Would you agree to a contract that can be changed by the other party at any > time in any way?

A privacy policy is not a contract.

Of course it has to be (and should be) updatable. The privacy landscape changes over time.

The way these things are, is actually perfect. It means, you can ignore it entirely because the company has complete discretion on whether to abide or not. The only thing you have to go by, is reputational considerations (which doesn't recover your lost privacy), and absolute legal requirements that exist outside of any policy statement, eg GDPR, COPPA, HIPAA.

<comment><USER26> > A privacy policy is not a contract

Exactly. Why Atlas Obscura even uses language about "agreement" ("[...], you are agreeing to such modifications.") is beyond me. It might even result in more legal exposure and restrict their freedom to move within the limits of the GDPR to rely on user consent (provided they even want to comply with the GDPR as a Delaware Corp).

</comment></comment><comment><USER27> I guessed that the title was about startups that value privacy but still collect too much data. When they get acquired by a typical giant corporation, they don't value privacy but still have lots of data. The modification clause is what enables them to misuse peoples' data.

</comment><comment><USER28> this is illegal under GDPR for two reasons: opt-in gained with privacy policy v1 are not valid if gets updated. and you need to opt in by choice not because is the only option

<comment><USER29> Is it just my limited understanding, or are a majority of companies blatantly violating GDPR?

I was reading through Vox's privacy policy the other day, on a whim. (I'm in the US, but I was connected to a UK VPN at the time--so if the policy does explicitly change depending on country, they should have thought I was in the EU.) The cookie policy can be summarized as: "We use cookies to track you. If you don't want us to use cookies to track you, you can opt out by setting your browser to block all cookies." Never mind that this would cause a wide range of functionality to not work.

And then there's Amazon. I desperately want Amazon to stop showing me personalized recommendations--I don't actually mind the tracking, but I feel as though recommendations push me into a filter bubble. As far as I can tell, there is zero way to do this whatsoever.

</comment></comment><comment><USER5> I just opened atlasobscura.com

There is no privacy popup for me. I am in the US, so EU laws are not applicable here.

I blame EU GDPR laws for the popup that Rainer Müller suffered from.

<comment><USER30> IOW you don't even get notice they're tracking you. Is that an improvement?

</comment></comment><comment><USER31> GDPR execution has been a dumpster fire of usability dark patterns and user hostile design.

The web has not had this many pop-ups since the 1990s.

<comment><USER32> The problem is not with the pop-ups, but with how many dark patterns are involved in getting your consent.

They could have made a simple pop-up, in simple language with two clear options and an optional dropdown showing all the "providers" but then again that would have been too user friendly.

Maybe GDPR should be revised to address these things, maybe even provide a template with 5 different color schemes that everyone should be forced to use.

<comment><USER33> The problem for the majority of the visitors are pop-ups. Everyone just clicks the green button. No time to read two clear options or bother with dropdowns. That's how people behave.

These pop-ups are required by GDPR. If your site doesn't have a pop-up you risk losing 20M Euro.</comment></comment></comment>


Ask HN: I've burnt out at a megacorp and don't know what to do next - <AUTHOR>

(This is a throwaway account)
I've been working for a megacorp for the past 3 years, with some time at other megacorps and a startup before that.  I've had my own company on the side but recently sunsetted my products as they were not going to scale.
I've been working on a VERY prominent part of a VERY large product.  In my short time at the company I've secured a niche position where I'm on point for a large component that is critical for the product.  I think there was a misunderstanding about the complexity and relative size of the area when I was assigned the role.  Over the past year I've really stepped up to own the area and contribute across my team in substantial ways which have directly led to the success of my product and team.  I worked 100hr weeks for months on end, ensuring that we were able to deliver the right features.  Obviously working this much was the wrong choice, but passion drove me to the "the right thing."
But this role and this work, it has damaged my passion.  I've become something of a machine—problems in and solutions out.  I see where our product engineers created designs that were arrogant and inflexible.  I replaced "caring" with raw engineering.
In the process of working 100hr weeks, I've optimized out the rest of "life."  I have roughly ten years of experience and while I am a junior engineer, I know that I am very rapidly approaching the senior level.  I know how analyze the larger problem and look past the problem at hand.  The role I'm in now has provided me the opportunity to debug very challenging problems not at just the program level but at the operating system level.
I've always dreamed of starting a company.  I don't have any plan and don't know how to get there, but at the high level I believe that's where I want to go.  I'm not ready for that just yet, though.
What can I do next?  I'm very much a "systems guy." <comment><USER2> Take five weeks off and don't engage with work in any way. Don't program, don't read technical books, no nothing. Slow down and let yourself feel the toll the amount of work you've done has taken on you.

If you give yourself a lot of space and maybe try something new and different (kayaking, mountain biking, running, painting, music, whatever) an inspiration will come to you. You've obviously gained a lot of experience and are ready for something new. But you have to give yourself a healthy amount of room for the real creative energy to return.

Good luck!

<comment><AUTHOR> Thanks for commenting!

I've been thinking about a sabbatical type deal, though I'm concerned if I don't have focus, that'll be very challenging (and potentially put me into a depressive spiral if I'm not programming). I have a strong desire to build something, so perhaps painting or some other constructive hobby would help.

<comment><USER3> I have found a "happy place" for me in programming _very_ small systems – most powerfully from a personal satisfaction/joy point of view, stuff without an OS. Arduino, Teensy, bare ATmega168s and ATtinys – coded in either the Arduino "java-alike" language, bare (no libraries) C, or actual raw assembler. Current projects include hacking on the Ardupilot quadcopter control code, a data logger for my coffee grinder ([http://www.flickr.com/photos/bigiain/6722839301/](http://www.flickr.com/photos/bigiain/6722839301/)) and an Arduino driving a pair of cameras on pan tilt mounts to feed into some Processing/OpenCV code.

I find once I jump up to a RaspberryPi/BeagleBoard scale device with a whole Linux OS onboard, it starts to seem a little too much like "work".

From a "making things" perspective, I get _heaps_ of inspiration from the Arduino forums, my local hackerspace (both in-person at the space, as well as via the mailing list), and my local DorkBot group (again, both meetings and mailing list).

What works for me might not be what you need – but if you've got a drive to code and make stuff, tinkering on the borders of the tech and art worlds is fun…

<comment><AUTHOR> Thanks bigiain. I have been mainly a Windows engineer for a while now, though I'm feeling increasingly uncomfortable about my skill level on Windows (very high, imho) against my skill level on Linux (I can't hack Linux with the best of them unfortunately) is off balance. I've spent some time hacking on Android (recently) and have a history with embedded systems, but again not at a level I'm comfortable with. I've also been thinking a lot about 3d printing and how that intersection can yield new opportunities.

Totally think the intersection of tech and art or tech & other fields is a good way to reach some balance, maybe it's time to pick up a Pi...

</comment></comment></comment></comment><comment><USER4> Ten years experience and programmed a critical feature of a large program? I'd say you're a senior.

I don't know the culture of your company, but one thing to consider is just telling your manager that you're near burning out (I wouldn't say burned out), celebrate what you've achieved and ask for your next assignment to be a little more laid back while you recharge for the next big push. Get something you can really switch off of when you walk out the door.

At most places just starting an honest conversation and telling them why something is in their best interest will get you what you want. If they really want a revolving door of burned out engineers you're better off leaving anyway.

<comment><AUTHOR> Thanks for commenting coopdog!

I'm concerned that as soon as I bring this up in any shape, I'll be labeled as a flight risk (and rightfully so). Right now based on the conversations I've had with peers on my team, others are planning to leave at the end of the release. If I am to stay on, my role will widen greatly and I'll need to (again) train others on the area. It'll be very very difficult for me to "run away" from my feature area given that I am the resident expert and probably one of the only people who has a coherent understanding of the end to end working of the system.

This is especially scary since due to my level, I don't believe I can be compensated appropriately for the amount of work and stress this situation would bring on. I've been rejected for promotion due to "length in level" before, so it is a long way uphill.

I appreciate your optimism about me being senior already (:)) but not all of those 10 years are post-undergrad experience, so I believe it counts for less in the eyes of an interviewer. I've been undergoing rigorous introspection trying to determine how my skills really stack up, but perhaps I just need to begin interviewing for different levels.

<comment><USER5> Without knowing anything else more, I'd say with others leaving that puts you in a strong position to negotiate.

</comment></comment></comment><comment><USER6> Where are you based? If you are in the north east US, we should start a support group :-p

<comment><AUTHOR> Seattle. I hail from the northeast though, thinking about moving back if the opportunity arose.

</comment></comment><comment><USER7> You are asking strangers the question you alone must figure out. Give yourself some time away to figure out an answer. There are no shortcuts here. You need time away and only you can do this.</comment>


It appears that Mozilla removed all classic extensions from Firefox Add-ons - <AUTHOR> https://www.ghacks.net/2018/11/29/it-appears-that-mozilla-removed-all-classic-extensions-from-firefox-add-ons/ <comment><USER2> Why would anyone want to lose their accustomed & much appreciated extensions for versions > 56? Some compelling reason I've missed?</comment>


Darpa Subterranean Challenge - <AUTHOR> https://www.subtchallenge.com/ <comment><USER2> I know that this isn't what they are going for, but I couldn't help but think of one of my favorite pieces of fictional millitary equipment [http://cnc.wikia.com/wiki/Subterranean_APC](http://cnc.wikia.com/wiki/Subterranean_APC).

On a more practical note, here is a link to the announcment for those who can't get the page to load. [https://www.darpa.mil/news- events/2017-12-21](https://www.darpa.mil/news-events/2017-12-21)

<comment><USER3> My first thought was also fictional tech - the mapping drones in Prometheus [https://www.youtube.com/watch?v=yO- eduvo904](https://www.youtube.com/watch?v=yO-eduvo904)

</comment></comment><comment><USER4> I normally imagine tunnel warfare as a World War I thing, but it actually played a huge factor in the Syrian Civil War: [https://www.bbc.com/news/av/world-middle- east-36961912/syria...](https://www.bbc.com/news/av/world-middle- east-36961912/syria-conflict-huge-tunnel-bomb-rocks-aleppo)

</comment><comment><USER5> Not directly related to the content, but as a frontend engineer, I'm always curious about the decisions that go into making a complicated web page.

In this case, my devtools reports the following as I load the page with uBlock on with good internet:

> 60 requests | 71.3 MB transferred | Finish: 13.63s | DOMContentLoaded: 1.33 > s

Sorting by size shows that it's largely the background images taking up most of the load, with the background header/mountain picture [0] making up 11.8MB of the load. On a similar note, clicking into the tab from a different tab makes Chrome freeze for ~1s on my 2017 MacbookPro. Not quite the most user- friendly experience!

[0] [https://www.subtchallenge.com/img/header/SubT_Header_Mountai...](https://www.subtchallenge.com/img/header/SubT_Header_Mountain2.png)

<comment><USER6> Yeah, nearly 12MB for a single hero image is kinda silly.

Added: One trick I have used for large photographic cutouts is to use svg for the mask, and either embed or reference the lossy image (jpg) from there (gzip settings to undo the expansion factor of base64 are not too slow, so sometimes embedding is okay).

</comment></comment><comment><USER7> FYI - I had to turn off UBlock for this site to load.

<comment><USER8> Loaded fine for me, though it did take a bit to get going.

</comment></comment><comment><USER9> Was this challenge specifically made for the Boring Company? Not that I'm being all conspiracy theory.

<comment><USER10> Not at all, the challenge isn't about digging tunnels, rather operating in an existing subterranean environment.</comment></comment>


Huawei savaged by Brit code review board over pisspoor dev practices - <AUTHOR> https://www.theregister.co.uk/2019/03/28/hcsec_huawei_oversight_board_savaging_annual_report/ <comment><USER2> With a product portfolio this big it is not surprising some parts are poor. Until anyone has looked with the same level of scrutiny at the competing companies it is not sure Huawei is the worst.

<comment><USER3> It's irrelevant if Huawei is the worse. What's relevant is Huawei's abismal incompetence.

<comment><USER2> Selection of vendors is a rigorous process in these multi billion deals. The products they are selling are extremely complex. They would not be winning these deals and billions of calls would not complete if they were as incompetent as your writing implies.

</comment></comment></comment><comment><USER4> No different of a mess from firmware from any OEM or ODM's. Just look at the recent Cisco user-agent "patch" for curl.

</comment><comment><USER5> Incompetence or plausible deniability? Or both?</comment>


Marie Kondo's Advice Praised by Scientists: "Clutter Is Not a Good Thing" - <AUTHOR> https://www.inverse.com/article/52319-marie-kondo-tidying-up-clutter <comment><USER3> I always liked Anthony Bourdain's take on "Meez" from Kitchen Confidential:

 _Mise-en-place is the religion of all good line cooks. Do not fuck with a line cook's 'meez' — meaning his setup, his carefully arranged supplies of sea salt, rough-cracked pepper, softened butter, cooking oil, wine, backups, and so on. As a cook, your station, and its condition, its state of readiness, is an extension of your nervous system... The universe is in order when your station is set up the way you like it: you know where to find everything with your eyes closed, everything you need during the course of the shift is at the ready at arm's reach, your defenses are deployed. If you let your mise-en- place run down, get dirty and disorganized, you'll quickly find yourself spinning in place and calling for backup. I worked with a chef who used to step behind the line to a dirty cook's station in the middle of a rush to explain why the offending cook was falling behind. He'd press his palm down on the cutting board, which was littered with peppercorns, spattered sauce, bits of parsley, bread crumbs and the usual flotsam and jetsam that accumulates quickly on a station if not constantly wiped away with a moist side towel. "You see this?" he'd inquire, raising his palm so that the cook could see the bits of dirt and scraps sticking to his chef's palm. "That's what the inside of your head looks like now."_

I imagine most developers will recognize the obvious parallels with our craft.

The full passage:

[https://books.google.com/books?id=XAsRYpsX9dEC&lpg=PA65&ots=...](https://books.google.com/books?id=XAsRYpsX9dEC&lpg=PA65&ots=dOy2B3EFxH&pg=PA65#v=onepage&q&f=false)

<comment><USER4> Totally OT but: Of course I can see this chef's point but why does it look like they are psychopaths on loose in the kitchen ? When I talk with chefs or people running cuisine they are very aggressive and ready to burst out at any thing with a confrontational and "I am always right" attitude.

<comment><USER5> I worked as a chef for 8 years. I might have some ideas about this.

In the below, I will use the pronoun 'he' purely for convenience and may swear a bit.

When you're in a brigade, you're called 'a chef', but there's only one chef called 'the chef' and you are cooking his food. If he had 30 arms he'd do it himself, but he doesn't, so he employs 14 wastrels to make up the deficit. Make no mistake: you are an extension of the chef's body, your hands are his hands, your garnishes are his garnishes, and your mistakes are his mistakes. (Indeed, in the trade, you don't say 'I'm going to work at Noma' , you say 'I'm going to cook for Redzepi').

The chef probably sacrificed the best years of his life toiling on his feet for 70 hours a week, saving, learning, forming opinions and dreaming of the day he can cook his own food. Most people cave in, change careers or hit 50 and can't keep up any more. Chef is balancing years of agony and reverie on the improbable fulcrum of his restaurant, which he genuinely believes could come toppling down if his peppers aren't julienned properly. Except he doesn't julienne them. You do.

'What the fuck is this?' 'Peppers, chef.' 'Don't fuck with me. I wrote the menu. Read it. READ IT!' 'Raw scallop and peppers julienne.' 'Well, these are diced, we're behind on checks already, there's no peppers left and now the most important critic in the country is going to think I don't know what a fucking julienne looks like. Get in the prep kitchen and get Robbie on the pass. Fuck sake.' 'Yes, chef.'

What's the first thing that commis is going to do when he gets home, exhausted and aching? Crack open his Larousse and learn his damn cuts.

Chef made it through one of the most brutal industries in the world and is wagering his life savings on the bullshit odds of running a kitchen not for fame, not for money, but for the all-consuming joy of seeing his food, on his plates, being served to his customers. It is pure, beautiful, passionate narcissism. And fuck me if he won't let it all slide way because your sorry ass never learned how to properly julienne a fucking pepper.

Add that to the sincere hell of standing tooth by jowl with your sweaty, tired comrades in immense heat and pressure serving your last grilled octopus at 11:15pm, adrenaline dumping as you put your section back together to get ready for the breakfast shift in 7 hours and, yes, things get a little tense.

Not all kitchens are like this, but it is the default setting in those environments and preventing it takes conscious effort.

<comment><USER4> Thanks for your answer ! Nice writing.

Do you think it also applies to smaller brigade ? (as in 1 chef and 1 commis) ? I have seen and heard some commis displaying that behavior when talking with new apprentices in a school context. It seemed to come with the job even when they hadn't "skin in the game" (yet?).

<comment><USER5> The alloy of anger and passion has become a bit of a trope in cuisine so I think some people just ham it up. There's also a trickle down effect (if an assistant does something wrong and passes it to a commis chef who doesn't notice who passes it to his chef-de-partie who doesn't notice who plates it for chef who notices, the cdp gets chewed out, who gives it raw to the commis, who kicks the assistant's ass).

I did work in a 1-1 environment for a little while with a chef who went into retirement and came back out to do a lovely little diner with food way better than it needed to be. It was probably the best cooking experience of my short career and nary a heated word was exchanged. The chef was a good guy, but it definitely helped that it was just two of us.

I don't think it's healthy, but I can see how rage can occur in the mania of a busy kitchen that takes itself seriously. In a school, however, I can't see how that helps. Maybe the commis thought that accepting harsh criticism was part of the lesson; maybe he's just parroting the way his superiors treated him; maybe he's just a douche.

</comment></comment></comment></comment></comment><comment><USER6> Going through Marie Kondo's process was amazing for me. I've tried so many times to get organized, and her book seemed to address the exact reasons why each of my previous attempts has failed. And it really, really, worked.

I would encourage anyone trying it to actually give the stupid sounding stuff in it a try. For instance, I found with items I was having a hard time letting go of, verbally thanking them for their service and saying goodbye, as she suggests, actually worked. Somehow it seems to satisfy whatever part of your brain is reticent to part with a particular thing.

<comment><USER7> I find that taking a picture of something also makes it much easier to let go of.

<comment><USER8> Or—if your momento _is_ a physical picture (e.g. an old photo album, or a scrapbook, or childhood drawings left on the fridge for years)—try digitizing it.

<comment><USER9> That's a really great idea for kids drawings. I'll always keep a select few special ones, but any parent knows you'll end up with an art gallery if you keep everything. Making a digital art gallery of that stuff is a really good approach to letting go.

<comment><USER10> I wouldn't go that far. No digital gallery will keep the physicality of your kids' art and you'll really cherish that part when they're older, and throwing away what your kid makes is really going to squash any interest in making more of it.

</comment></comment></comment></comment></comment><comment><USER11> "People ask me about the positive side of clutter and I say, 'There isn't any positive side.'"

This is incorrect, of course.

I dislike clutter and I personally maintain a relatively clutter-free existence but of course there is a trade-off to be made between short term expediency and lack of clutter.

Understanding this trade-off has been helpful to me - especially in designing and acquiring living spaces.

Here is an example:

My current office space requires two rooms. However, I went out of my way to find a suite with _three_ rooms - the third of which was not, and continues to not, be necessary. What this "buffer space" allows me to do is stage, or cache, incoming items and/or projects while allowing me to make full (clutter- free) use of the necessary two rooms without interruption.

Running my office without a third room would be like running a CPU without a cache - it is perfectly workable and there's no reason it can't be done - <USER2> it requires immediate, real-time interruption of work to maintain the empty (clutter-free) pipeline (really stretching the CPU analogy here, but you get the idea).

<comment><USER8> If an item has a reason to be sitting there; and then you actually _do_ engage with it the way you were planning to; and then when the reason goes away, the item goes away; then it's not clutter. It's just prep.

"Clutter" is the result of a broken mental model of physical "cache eviction": it's stuff that you have _in the way_ of projects you're doing _now_ , even though the stuff that's in the way is for a project you're planning for _later_ (and might never even get to.) It's stuff whose presence _slows down_ your life, rather than speeding it up, when measured over the long term.

<comment><USER12> Reason can come and go. That's the problematic part with clutter. Something may have lost it's purpose for now, but someday in the future a new purpose can appear and then it's not clutter anymore. Instead of comparing that 3rd room with a cache, I would call it an archive, a bank for items or just your "uselater"-room, where you collect items similar to how people collect bookmarks which they plan to readlater.

The relevant part is that clutter should not stand in your way, hinder you in your progress. Thus it must stored away and trimmed down from time to time if space is raching it's capacity. But besides that? If you have the space, who cares. As long as it's out of the way it's not a hindrace.

</comment></comment></comment><comment><USER13> Throwing stuff out is hard to do if you are poor or were raised poor. Everything you save now does not have to be bought later. There is a potential use for anything and everything, so you might as well keep it. Granted, at a certain point the cost of the storage facility exceeds the amount saved, but the mindset is still there.

Even now, as well off as I am, I tend to collect things (and by extension, clutter) because I can see the potential need for something in the future. I've been trying to overcome this mindset and slim down my possessions to the things I need and the few sentimental items I have, but it's not easy at all. If someone else came into my house and started trying to clean up, I'd probably lose my mind (admittedly for a few unrelated reasons as well, but largely because of this mindset)

<comment><USER14> Might be worth watching an episode of the show to better understand what Kondo's process is. She doesn't clean or work some one off magic. She teaches 5(?) core lessons to help maintain tidiness. She doesn't excavate their piles of stuff for them.

<comment><USER15> I've found that 80% of the Kondo process has been discarding items. That's just my personal take.

<comment><USER14> Perhaps, but it is the individual who throws things out, not her. That's the distinction I was making.

</comment></comment></comment></comment><comment><USER16> As an obsessive organizer at home, almost to the point of my family's dismay until they cackle at how easy it is to find things now, I feel like I need to binge watch the whole series and hone my skills.

As well as the initial discard phase, organizational part (loads of plastic boxes, label printer connected to a computer), the piece most people don't mention is how to keep it tidy afterwards. In my experience the key to this is making it absurdly easy to put something away - this means easy to access storage, clear, easy to read labels and perhaps most importantly, plenty of capacity to grow. It's no good putting all your widgets in a box that's only just big enough to hold them. Later on when you acquire more, there will be nowhere to put them so you'll likely leave them out or dump them in a different box. I've used this approach in my garage, my home-office and our medicine cupboard (closet) to great effect. Next up is the pantry..

<comment><USER17> > It's no good putting all your widgets in a box that's only just big enough > to hold them.

One of my personal organizing rules is that if a box / container is over 80% full, it's time to split it and get a second box.

</comment></comment><comment><USER18> I've always dismissed her stuff as one of those pseudo-spiritual neo- philosophies that mix a bit of Eastern wisdom with platitudes and sell it to affluent Westerners in search of meaning.

Talk about Baader-Meinhof effect: Just yesterday I spontaneously picked up the book on Kindle, and I'm blown away.

It is so much more. Yes, there is a lot of marketing behind it, of course. But I also sense an honesty in it that has already semi-convinced me to actually do it!

And just a second ago I peeked into the Google Talk video and saw that she doesn't speak English? If this was a marketing stunt, she would have learned English (or the publisher would have found another figurehead).

I actually admire Marie Kondo quite a bit.

<comment><USER14> I really liked how the book comes with no strings attached. Everything you need is in that one small book. No subscription, no rich dad poor dad XVII: buy a cheap house and flip it trash. Just one book to help simplify life.

Might come across as a Kondo shill, the type of which I have called out elsewhere on HN, so I accept any berating due. I do recommend getting it from a local Library, watching the show, or just find a recap online!

</comment></comment><comment><USER19> Odd that the article includes some weird non-Kondo advice about "don't touch it", probably contrary even, given that her approach is very intimate/fluffy.

I guess the overall idea is to think more objectively about something's value, using your own sense of "joy" as a proxy for that value function.

For a while now I've been thinking about writing a "Marie Kondo's approach distilled for engineers"...

<comment><USER20> Well, /I/ think her approach is very marketing-oriented. For example she asks whether an item sparks "joy". Joy is kind transient, very subjective, etc. But it fits within her "shtick" and it works. For me, I'd ask whether it provides utility, but that sounds very boring and isn't a term which would fit well in marketing.

<comment><USER21> My parents have a basement overflowing of stuff that is full of potential utility, so I think that the joy aspect is to provide a different view point so people let go more easily.

<comment><USER20> True. But the same qualifier could be used for joy. Things could have potential for providing joy, they're just not providing joy right now.

I guess, if I had "too many things", I'd probably set some parameters and get rid of unnecessary duplicates, broken things unlikely to get repaired and things unlikely to be used in any significant capacity in the foreseeable future -knowing that one may possibly have to reacquire something one disposed of.

</comment></comment></comment></comment><comment><USER22> Fair warning for people with ADD/ADHD or otherwise struggle with organization: removing clutter is a different thing than hiding away everything so that the room is magazine-photograph ready. Being able to use your environment to give you visual reminders of various outstanding tasks and statuses is an incredibly important coping technique for people with executive function issues. Like, I have a bunch of open wire shelves for storing the bulk of my groceries - otherwise, I tend to literally forget that I have something, and I won't notice when I get low or run out of things. It's ugly as hell, but it's a _functional_ ugly, and dropping functionality to make things pretty is not really a good idea IMO.

<comment><USER23> This also highlights _why_ it's so helpful to eliminate clutter; the things you see are the things that matter.

When I open my fridge, I don't see amorphous 'stuff'; I've got leftovers one and two here, extra ingredients that need to be used there and there, and the rest is staples that remain there and get replaced as needed.

Anything that doesn't fit that gets tossed. If I can't pick it up and come up with a plan for it, it goes in the bin. If it's a longer-term plan, it gets noted on a list stuck to the door. ezpz

I waste less food now, and have less stress about meal planning. Pantry is similar; at this point I can just glance at a shelf and sense whether I'm low on something.

<comment><USER22> Oh nice, sticking the note on the door is really useful for that sort of thing. But yeah, the key insight is to make your environment as useful as possible for the goals and life you want to have.

</comment></comment></comment><comment><USER24> Given the housing prices in the Bay Area, comparing the joy you get from something with the cost to store it, can really help with decluttering. I live in a smallish apartment, and was tempted to rent some extra storage for stuff like holiday decorations and other stuff used seasonally. Then I realized at $100/month for the extra storage, it is cheaper for me to buy the seasonal stuff every year and then when I am done with it to throw away/recycle it.

</comment><comment><USER25> I own an English version of her book and recently bought a German copy to give as a gift for Christmas. Strange as it may sound, even though I don't really like the "style of the method" it's very efficient. Thanking the items and the whole sparking of joy are a bit over the top for me and chapter 5 is by and large too spiritual for my taste. I toss the stuff away without any parting words and joy for me is more a "is it useful" or "do I really need this" (which is pretty much what she has in mind anyways).

What I consider pure gold is:

* Dumping everything on the floor and going through that mountain because it shows you very clearly how much stuff you have

* All the advice on folding. I actually enjoy the folding and storing now because I know it's more neat overall. I vastly prefer the vertical shirts to a stack now. I probably wouldn't have considered rethinking the old stack of stuff if it wasn't for the book

* Giving items a home of sorts is also a good overall concepts. I have caught myself thinking "this item is out of place, let me quickly return it to its home"

* Going by category instead of location...really helps me get started/keep tidying

On a related note, I found the Netflix series surprisingly underwhelming/repetitive. The most useful parts were the folding explanations.

tl;dr: MK's stuff is great, I'd recommend the book to everyone :)

</comment><comment><USER26> (somewhat related) Still my favorite essay by Paul Graham:

[http://www.paulgraham.com/stuff.html](http://www.paulgraham.com/stuff.html)

<comment><USER27> > Books are more like a fluid than individual objects.

Hm, this is an interesting idea.

<comment><USER28> It actually stands out to me as odd, given the rest of the article. The same could be said about movies, games, toy cars, etc. Any 1 thing is easy to own a lot of, so long as it's small.

It's when you have multiple collections, or even 1 collection that's too large, that it's a problem.

I have a lot of hobbies that I do only occasionally, and the stuff from them is a little overwhelming. And when combined with all my wife and I have kept because we might need it some day, the hobby room is a disaster area.

We've even gone over our limit on books. To store more books, we'd have to get rid of other things at this point. And most of those books just sit on shelves and never get read. Some _might_ , but overall they're just not actually being read.

To make it worse, books are one of the things that could be digital instead of physical and they could take no space at all. I even prefer reading on my Kindle over a physical book.

In the end, I just can't agree with him on books. (And I don't think Marie Kondo does, either, based on watching a few episodes of the TV show.)

</comment></comment></comment><comment><USER29> Marie's process is basically Map, then Reduce - for your home.

</comment><comment><USER30> Messiness is highly correlated with creativity. People greatly preferred convention in the tidy room and novelty in the messy room. [1]

[1] [https://www.nytimes.com/2013/09/15/opinion/sunday/its-not- me...](https://www.nytimes.com/2013/09/15/opinion/sunday/its-not-mess-its- creativity.html?_r=0)

<comment><USER31> Did you read the research paper?

> Three experiments tested the novel hypotheses that orderly environments lead > people toward tradition and convention, whereas disorderly environments > encourage breaking with tradition and convention—and that both settings can > alter preferences, choice, and behavior

Drawing conclusions from a single research paper referenced from an _opinion_ piece correlating messiness to alterations in choice and behavior in no way discounts the benefits of a clutter-free environment.

</comment></comment><comment><USER32> On the flipside

"If a cluttered desk is a sign of a cluttered mind, of what, then, is an empty desk a sign?" – Albert Einstein

<comment><USER33> Though I agree that there's a reductionist aspect to this declutter thinking, I've always thought the answer to this question is "an ordered mind", which is very different from an empty mind of course.

<comment><USER8> I think the implication _was_ "an empty mind." Picture not a cleared-off tabletop, but an office desk with drawers where both the desktop and the drawers are empty.

</comment></comment></comment><comment><USER34> > Decisional procrastinators report that they have too much clutter, which > interferes with their quality of life, and clutter, in turn, is the best > predictor of procrastination.

Hmm... n=1 anecdote, but I hate clutter and lead a minimalist lifestyle yet procrastinate quite a bit.

</comment><comment><USER35> Is the video not playing for anyone else?

<comment><USER36> It's just a trailer for the show. This small japanese woman walks in people's homes with a huge smile and helps them organize their stuff. Houses are mostly full of piles of unneeded things and there are many cutscenes of people crying over getting rid of some things with sentimental value (deceased husband's clothes for example).

Most of the conversation in this thread is about the content of the article. The video was just for context.

</comment></comment><comment><USER37> got to love that intrusive fullpage ad that needs to be scrolled down to be closed. It was probably not worth reading anyway.

<comment><USER38> The interstitial did not spark joy.

</comment></comment><comment><USER39> I think I'll just buy another flat and move. I'll bring stuff from the old one only after I need it.</comment>


Tesla is about to suffer the same fate as Ford - <AUTHOR> http://www.businessinsider.com/tesla-will-suffer-same-fate-as-ford-2018-1 <comment><USER2> Really? I can buy Power-Walls and Power-Packs from GM? I can get solar tiles from GM?

But more important, where is that fast charger network across the continent for the GM cars?

It is interesting that at the bottom of this article that says GM is going to take over the electric car market that is a link to another article saying there will not be any big increase in electric car sales.

<comment><USER3> Funny, you say that.

Once upon a time, you could buy satellites, satellite dishes (DirecTV), IT services, and armaments from GM.

[0] [http://www.nytimes.com/2001/10/30/business/with-hughes- sale-...](http://www.nytimes.com/2001/10/30/business/with-hughes-sale-gm- buries-a-discarded-strategy.html)

[1] [https://www.washingtonpost.com/archive/business/1997/01/17/r...](https://www.washingtonpost.com/archive/business/1997/01/17/raytheon- to-buy-hughes-from-gm- for-95-billion/bbfa92aa-06d0-49c1-9076-82984cbf521a/?utm_term=.3c6c944719a1)

</comment></comment><comment><USER4> This was basically Musk's plan. In the long term, Tesla is going to end up making more money by selling batteries to other car companies than by selling cars.

<comment><USER5> Panasonic must be very happy about this plan

</comment></comment><comment><USER6> This post is just another in a long line of Tesla click bait posts that contain nothing but wild speculation pulled out of somebody's nether region. Ok "wild speculation" might be too generous.</comment>


Finite State Machines in Forth (1995) - <AUTHOR> http://galileo.phys.virginia.edu/classes/551.jvn.fall01/fsm.html <comment><AUTHOR> With the veritable flurry of state machine posts today[0,1] I thought I'd (re)submit[2] one of my favorite posts on finite state machines in Forth.

The specific example is of _number input routine allows signed decimal numbers without power-of-10 exponents (fixed-point, in FORTRAN parlance)_ and comes from the author's book Scientific Forth, where a fuller example is used _... to determine whether a piece of text is a proper identifier (that is, the name of a variable, subroutine or function) according to the rules of FORTRAN._

I originally heard of Scientific Forth from _Programming in the Twenty First Century_ where it made a list of "Five Memorable Books about Programming"[3] with the following description:

 _Dr. Noble demonstrates how he uses Forth for hardcore matrix work and, when he realizes that RPN notation isn 't ideal in all circumstances, develops a translator from infix expressions to Forth._

[0]: [https://news.ycombinator.com/item?id=22746708](https://news.ycombinator.com/item?id=22746708)

[1]: [https://news.ycombinator.com/item?id=22748785](https://news.ycombinator.com/item?id=22748785)

[2]: previously 3, 6 and 8 years ago, never any comments: [https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...](https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=%22finite%20state%20machines%20in%20forth%22&sort=byPopularity&type=story)

[3]: [https://prog21.dadgum.com/19.html](https://prog21.dadgum.com/19.html)

<comment><USER2> A project to create a Creative Commons version of Dr. Noble's book was started, but doesn't seem very active lately [0]. The lead even received permission from Dr. Noble's widow [1].

[0] [https://github.com/Josefg/Scientific_FORTH](https://github.com/Josefg/Scientific_FORTH) [1] [https://github.com/Josefg/Scientific_FORTH/blob/master/Conse...](https://github.com/Josefg/Scientific_FORTH/blob/master/Consent.txt)

<comment><AUTHOR> I've helped out with a few chapters! I'm actually very excited about it due to the relative scarcity of physical copies of the book.

While it isn't too active, the most recent activity was in the last week or so, I think all that remains are some figures and tables for a couple chapters, the index and proof-reading[0]. It's very nearly there due to a lot of work on Josef's part.

[0]: [https://github.com/Josefg/Scientific_FORTH/wiki](https://github.com/Josefg/Scientific_FORTH/wiki)

</comment></comment></comment><comment><USER3> FSM is something I've always been curious about but I can't seem to find any good intro on. Does anyone have a good recommendations? I sort of don't want one tied to a specific language but rather one that helps me understand it from a conceptual level.

Thanks!

<comment><USER4> Hopcroft Ullman's _Introduction to Automata Theory, Languages and Computation_ has good section on state machines and their connection to Regular Expressions

<comment><USER3> Thank you!!! Its relationship to regex is actually precisely the part that piqued my interest.

<comment><USER5> With automata theory it's useful to be pedantic. What people ordinarily mean by "regex" are in different classes of automata from regular expressions as equivalent to finite state machines. For example Perl capture groups, look ahead, and backtracking are beyond what a finite state machine or its equivalent regular expression is capable of. Though for me the simplicity of the FSM is a big part its intellectual appeal.

</comment></comment></comment></comment><comment><USER6> I always thought Go Corporation should have made a mathematically focused FORTH dialect called "GoFORTH&*", to bring FORTH abundantly in the earth.

</comment><comment><USER7> I'm trying to follow the code in "The Best FSM so far", and I can't see the moment where offset-to-action is added to the base address of the FSM like in the previous examples. Shouldn't there be a `R@ +` after `CELLS`?

</comment><comment><USER8> This is great! (but maybe put a (1995) on the title?)

<comment><USER9> Forth is mentioned in the title, do you really need to add that it's before the 2000's if that's the case? ;)

<comment><USER4> Forth is still alive and kicking!

<comment><USER9> Of course! Have friends who work with it on a daily basis. My comment was mostly tongue in cheek, didn't mean that Forth is completely dead. Usually when seeing Forth though, it's bit older stuff than say PHP. My friends for example, are stuck trying to refactor very old code, written in Forth.

Didn't mean no harm :)

<comment><USER10> What do your friends do with it? It's very high on my priority list for new languages to learn, and finding a job with it someday would be very interesting.

<comment><USER8> Be sure to read "Thinking Forth". Even if you don't wind up doing a lot with Forth it will still improve your abilities as a programmer.

[http://thinking-forth.sourceforge.net/](http://thinking- forth.sourceforge.net/)

<comment><USER10> It's in my pile o' papers. I've broken it out a couple of times but haven't gotten far yet.</comment></comment></comment></comment></comment></comment></comment>