Iceland knows how to stop teen substance abuse - <AUTHOR> https://mosaicscience.com/story/iceland-prevent-teen-substance-abuse <comment><USER3> All of the pessimism ("This only worked because Iceland is so small/white/etc, it would never work in the US") in this thread baffles me. Are there a lot of other wildly successful approaches we should try first? Did you not read the bits about the Icelandic approach working well in other cities?

If anything, it sounds like the lesson here is that what worked so well is not just the approach, it's the implementation. (It's not like "build a sports facility" or "pass a curfew" or "encourage parents to spend more time with their kids" haven't been tried in the US) What I took home is that those same approaches which have had limited success when done on a small scale work a lot better when they're well-funded and taken seriously and used consistently for a long time.

<comment> Trill-I-Am Diversity is not the issue, poverty is; serious, chronic poverty the type of which Iceland doesn't have.

<comment><USER4> Reducing non-legal-substance abuse is considerably easier in Iceland as well; comparative to the US, it's quite difficult to find drugs in Iceland -- they don't have an equivalent Mexico[0] (or other similarly unstable country) for which narcotics can trivially flow through as Iceland is an island.

[0] [https://www.cia.gov/library/publications/the-world- factbook/...](https://www.cia.gov/library/publications/the-world- factbook/geos/mx.html) see transnational issues, illicit drugs

<comment><USER5> Where there's demand, there's supply.

Mexico wouldn't be such a drug-trafficking powerhouse if it didn't have the world's biggest consumer market right above.

<comment><USER4> Without getting into a discussion of addiction, the choices of those at risk of addiction, decision making in young adults, or any other aspect of this kerfuffle, even if Iceland had the demand, they wouldn't have the supply -- it's incredibly hard to get high on drugs that aren't physically there. Access is a major factor.

<comment><USER5> Bro, drug-dealing is a multi-billion enterprise. Drug dealers are using 747s, submarines, tunnels, speed-boats, etc to supply.

Trust me, there IS drugs in Iceland. And I can asure you, if there were a spike in demand drug dealers wouldn't fold their arms. Locals would grow weed/cook meth in their backyard and find ways to smuggle foreign product too.

<comment><USER4> > Bro, drug-dealing is a multi-billion enterprise. Drug dealers are using > 747s, submarines, tunnels, speed-boats, etc to supply...Trust me, there IS > drugs in Iceland.

Grammatically, 'there "are" drugs in Iceland', but that's besides the point. Anecdotally, I've been around them in Iceland and they were treated as a rarity and not like they are here (northeast US), where I could find them within 30 minutes of asking.

It's quite difficult to make a tunnel or a submarine that travels from Mexico from Iceland. There are few airports in Iceland and they take smuggling quite seriously as by-air is one of the very few ways to transport illicit goods. Finally, the social mores around production of methamphetamine are far different than hearing someone you know took a pill while partying. Ease of supply chain deeply matters.

edit: Also, please don't call me "bro"

<comment><USER5> > Also, please don't call me "bro"

Sorry, won't do.

> Grammatically, 'there "are" drugs in Iceland', but that's besides the point.

Welp, honest gramatical mistake from a non-native speaker. Even the best of us make mistakes sometimes, thanks for the correction.

Having said that, please don't correct me any more, I personally felt it more pedantic than helpful, and I think you can read over small issues like that to keep conversation centered on what matters (:

> Anecdotally, I've been around them in Iceland and they were treated as a > rarity and not like they are here (northeast US), where I could find them > within 30 minutes of asking.

Anecdotally, I go to school in the northeast US, and I know the density of consumers there is pretty high; I assume higher than Iceland. Unsurprising there's dealers all over too.

\--

I see what debate we're falling into here; does supply create it's own demand? There's plenty of literature on the issue, and I will agree with you in that the easy of supply matters.

Your original comment and subsequent replies make me believe you think drugs is a supply-centered issue, when in fact thats far from true, and I know this for two reasons:

1\. The US has for years been on a "war on drugs", and now they brought Mexico into it. Yet this hasn't been effective at all as a means of stopping drug consumption.

2\. Island tackled drug demand instead, and it had fantastic results.

Is supply in Iceland constrained? For certain drugs perhaps. But this doesn't matter to the main point of the article. We can have a look at a point I made you didn't address; weed. Weed consumption is on the ground in Iceland, yet anyone could grow weed in their backyard to satisfy supply. Alcohol is legal in Iceland too, I suppose there is a lot of supply. 20 years ago, they were trying to cut supply and it didn't work. So now they did something different, and it worked.

Look, if you think the reason the US is in such a bad drug situation all because of Mexico, I can't convince you you're wrong, you'll have to figure that one out on your own. What would convince you of this? What data is needed to convince people like you of the fact the problem is in the demand and so the US should focus on the well-being of its population instead of paying lots of money so Mexicans kill each other?

<comment><USER4> > Having said that, please don't correct me any more, I personally felt it > more pedantic than helpful,

And won't do :)

Didn't mean it to be pedantic -- I spend a lot of time around non-native english speakers and "correct mistakes in passing" without any sort of judgment. Likewise, they correct my grammatical/word-choice issues with non- english languages, but apologies if I offended as that was not the point.

\--

> Your original comment and subsequent replies make me believe you think drugs > is a supply-centered issue

Not entirely, but in first-time users or casual users, it definitely changes the equation of whether or not they get pulled into an evening.

> 1\. The US has for years been on a "war on drugs", and now they brought > Mexico into it. Yet this hasn't been effective at all as a means of stopping > drug consumption.

I think Mexico has always been a part of it -- the US is quite effective in reducing/policing large-scale illicit drug production within its borders, but this doesn't really matter when we have a neighbor with no meaningful interest in doing so as long as the harm is extra-national.

> We can have a look at a point I made you didn't address; weed.

Sorry, I mentioned this in a different comment, but weed is a far different thing than what I consider to be _serious_ drugs. It's still not something you can wildly grow in Icelandic climate or soil though.

> Look, if you think the reason the US is in such a bad drug situation all > because of Mexico, I can't convince you you're wrong, you'll have to figure > that one out on your own.

I didn't say that the US's addiction problems are fully because of Mexico (or other weakly policed nations), near did I think I imply it.

> What data is needed to convince people like you of the fact the problem is > in the demand and so the US should focus on the well-being of its population > instead of paying lots of money so Mexicans kill each other?

Do you really think Americans pay money for Mexicans to kill each other? I'm sorry, but this is absurd. Making something illegal will reduce its supply (drugs, guns) and create a market for criminals. If a country can't control the criminals within its borders, or worse, as is the case with Mexico, lets itself be controlled by crime and corruption, that's a demonstration of a failure of government.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> Interesting report. I wonder how they motivated kids to attend the after- school programs? It doesn't really talk about that extensively. At least for me, I used to attend an after-school program and a major motivator was being able to spend time doing things with girls I liked. The party scene at that time mostly was a proxy for the same thing. Giving teens a chance to socially and romantically interact outside of the structure of school might be all that's needed to get people to show up and participate.

I pretty much agree with their conclusions though from my own personal experiences. The most trouble I've gotten into in my life, even as an adult, was out of boredom more than anything else.

<comment><USER7> I thought that's something that churches try to monopolize.

<comment><USER6> Well, religion and the church have been successfully used for centuries to control people, provide a moral compass, and give teenagers and children a place to interact with each other outside of the rigors of daily life. So, yeah... Basically.

<comment><USER7> Well what I guess I'm saying is that this phenomena of having the government provide such places ... competes with a main focus of churches - and in the US, churches have large political power.

I guess I don't see such a solution being feasible here for that reason.

</comment></comment></comment></comment><comment><USER8> This article says there are only 49 places to buy alcohol in Iceland, which does seem like it could make it much easier to control.

[https://warontherocks.com/2015/09/your-guide-to-drinking- in-...](https://warontherocks.com/2015/09/your-guide-to-drinking-in-iceland/)

<comment><USER9> Oh man. And then they drink 'till comma whenever they get out of the country, because alcohol it's so expensive in Iceland.

How do I know? Married to an Icelandic woman, have seen my fair share of drunk Icelandic people when they come to Portugal on vacation, and do they get wasted...

<comment><USER10> It seems to scale too, when rich Saudis are on vacation...

</comment></comment></comment><comment><USER11> Could you find towns or regions of 300k in the USA with a similar lack of teen substance abuse too?

<comment><USER12> For kicks, I looked for one. I got as far as Anchorage, Alaska. In 2012, ~35% of "youth" have consumed alcohol in the past 30 days

Research: [http://justice.uaa.alaska.edu/research/2010/1010.voa/1010.04...](http://justice.uaa.alaska.edu/research/2010/1010.voa/1010.04.youth_alcohol_access.update.pdf)

List of Cities: [https://ballotpedia.org/Largest_cities_in_the_United_States_...](https://ballotpedia.org/Largest_cities_in_the_United_States_by_population)

</comment></comment><comment><USER13> I'm so glad I had just 6 hours of school per day. While I did play in a music schools ensemble, I'm much more fond of the time I spent in bands and esembles away from schools hierarchy and with people I especially cared about. Same goes for doing art and programming founding a venture for concerts and so much more...

</comment><comment><USER14> I imagine that family-centrism makes it much worse for the minority who have abusive narcissists for parents.

<comment><USER15> This is a problem in every society, and must be addressed in a different way. If the role of government is to provide its children with a fundamental understanding of themselves and how to manage their individual motivations, perhaps the resulting adults will be better equipped to rise above their parents' shortcomings? Strong family and team dynamics will pull how healthier people live into stronger contrast in such a situation.

</comment></comment><comment><USER16> Oy, this thread. I've griped about this before - [https://news.ycombinator.com/item?id=12864151#12865128](https://news.ycombinator.com/item?id=12864151#12865128) \- we really need a snappy name for the "I know it works in every other country, but it can't possibly work in the US" argument-slash-fallacy.

It's not inherently wrong and it can be true, but it's used so reflexively and across so many different domains (drug use, public transit, taxes, guns, health, voting, labor rights) that I have to think it's more of a thought- terminating-cliché to shut down any discussion of the topic than an honest attempt to find a solution. People just don't want to think about it, and it causes a ton of cognitive dissonance to see that a solution they politically dislike can work, so they jump to this.

<comment><USER17> You can probably call it racism...

<comment><USER16> I figured my comment was inflammatory enough as is so I didn't mention it, but yes, that is probably part of it.

</comment></comment></comment><comment><USER18> Doesn't anybody have a problem that the nature of their approach is first and foremost prohibition?

<comment><USER15> It would appear that the nature of their approach is first and foremost to ensure that any change they make is data-driven best practice for the situation at hand. In iceland, it included prohibition of purchase by minors and provision to minors by adults. More importantly, their changes created a situation where children were more likely to spend more of their time with adults who cared about them, in an active and engaged society. Curfews make me uncomfortable, but I can see that this encourages children to be in safe places overnight. Prohibition makes me uncomfortable, but it makes consumption more expensive and difficult, so child users will be less likely to become addicts. Widely available after-school classes and programs... have no downsides other than cost, which (it would seem) are clearly worth it.

Where does best practice lie? If I were to start a civilization from scratch, I think I would use this model as a strong data point when organizing how education and the laws pertaining to youth were concerned.

I have some more libertarian leanings than some of the implementations presented can accommodate, but perhaps if I were an Icelandic teen I would direct my frustrations on a hobby or class I picked up because my government mandated that I have access to it if I wanted to.

</comment></comment><comment><USER19> They cut smoking/drinking by providing facilities for after school programs for kids to sign up for, which presumably a large portion have been told to go by their parents (probably to stop them from smoking/drinking).

I know this observation has zero bearing on the data presented, but I also noticed that not a single child in those photos has anything resembling a smile. NONE of them look happy to be there.

<comment><USER20> The weird requirement that everyone smile at cameras and photographers only take pictures of smiling people is a relatively recent cultural convention, started in the US and then spread around the world by US influence. I think it has something to do with the culture of photography used for advertising/sales.

If you try taking pictures of very young children who haven't yet been indoctrinated into the smile-for-the-camera tradition, they'll make a wide variety of facial expressions for the camera. But American (& al.) children learn very young that the cultural norm is to always make sure to smile when a camera is pointed at you. Even if the children don't figure this out for themselves (and they usually do), parents and other adults are often quick to tell them to smile or scold them for not smiling.

If you look at pictures of people in posed pictures in the 19th century or in parts of the world where there are few cameras/photographs, the standard expression is usually a serious/formal one. And if you look at candid pictures, people will just be making whatever natural expression they had.

<comment><USER21> As a photographer, 80% of my time is consumed with removing the frozen into frigid mask smile from the faces of my subjects.

Natural emotions and thus facial expressions are fluid and involve things beyond our control.

A smile held for the camera accompanied with non-smiling eyes (very rarely can someone create a smile in the eyes and hold it) looks unnatural.

</comment></comment></comment><comment><USER22> TL;DR: Idle kids 'waste' their energy getting into self destructive behaviors. When the youthful energy is focused on a useful and valued skill, the chances of addictive behaviors is significantly lowered.

<comment><USER23> TL;DR 2: Using a continuous and meticulous data-driven approach, Iceland was able to positively exercise large-scale social change.

<comment><USER24> Well, "large scale"... it's a culturally/racially homogeneous country of a little over 300k people. Whatever works there will probably not work anywhere else

<comment><USER25> The exact solution may not work, but the overall approach to finding a solution very well could.

I also somewhat disagree with the notion that systems working in smaller countries cannot work in larger or more diverse countries (esp. regarding free education the US). It may be really, really damn hard, but such is the price of advancement of society.

<comment><USER26> Calling Iceland even a 'smaller country' seems a bit of a leap, even if it were a city it would still be far from being considered a large one.

<comment><USER27> > Calling Iceland even a 'smaller country' seems a bit of a leap, even if it > were a city it would still be far from being considered a large one.

Just a few numbers to put in perspective:

* Iceland's population (as of 2013) was 323,000.

* As of 2015, the US had 58 cities whose population was over 320,000. Combined, these cities account for about 16% of the total population of the US.

Though, even that's a bit misleading, because city populations aren't actually as meaningful as metropolitan populations (since city boundaries are arbitrary, and traveling between a city and the adjacent suburbs is easy). Since Iceland is an island, it's more elucidating to compare it to metropolitan areas:

* The US has 155 metropolitan areas whose population is larger than the 320,000. Together, these cities account for 74.7% of the US population. So, three-quarters of people living in the United States live in a metropolitan area whose population is greater than that of the entire country of Iceland.

<comment><USER28> That's beautifully put. Thank you.

</comment></comment></comment></comment></comment></comment></comment><comment> saiya-jin very contained and rather unique place. very little of their success is transferable elsewhere though.

it's easy to police borders of a super tiny country in the middle of atlantic ocean, not interesting place for smugglers. (been there, and apart from Reykjavik whole island is almost completely empty with tiny closed villages here and there).

> A law was also passed prohibiting children aged between 13 and 16 from being > outside after 10pm in winter and midnight in summer.

totalitarian approach, could be successful but also strapping every kid to the bed would prevent drug consumption. its a question how far will state go to remove freedom to protect citizens.

<comment><USER29> What does border policing have to do with the article?

<comment><USER8> The rest of that sentence indicates it has to do with smuggling. In other words, given the border situation, there should be less contraband availability. And so presumably less abuse of controlled substances.

I'm not sure it really is a major factor, but it's a valid point to raise.

<comment><USER29> Ah, but this is not a comparison study between Iceland and other countries, this is a comparison between Iceland _today_ and Iceland _in 1998_.

So the 'smugglers did it' hypothesis must be that 20 years ago, Iceland was larger and located closer to major continents, making it a better target for smuggling contraband, but that volatile icelanic geology has moved it out into the north atlantic and led to the reported changes in juvenile delinquency and substance abuse. Possible. We should conduct further studies to eliminate this confounding factor.

<comment><USER8> Has snark _ever_ been a convincing tool? I think it must be among the very least effective tactics available.

The point here is that due to having less contraband, any efforts to restrict the substances can be more effective. If there's more contraband floating around, restrictions are harder to enforce.

In other words, you can get more result for your effort if there aren't alternative ways to obtain the substances.

</comment></comment></comment></comment></comment><comment><USER30> The last time I checked Iceland's population was 323,002 mostly homogeneous racially similar people in geographically and economically similar region.

Good for Iceland that their teenagers don't smoke as much. But there is little information for other countries in there.

Smoking is going out of fashion pretty fast in USA too.

[http://www.usatoday.com/story/news/nation/2016/12/13/teens-d...](http://www.usatoday.com/story/news/nation/2016/12/13/teens- drinking-smoking-drugs-study/95349684/)

<comment><USER31> > Smoking is going out of fashion pretty fast in USA too.

Source?

Yes, Smoking traditional tobacco is going out of fashion pretty much around the world. It's been replaced by the increasing popular E-Cigarrettes / "Vaping", which is also Tobacco and poses the same health risks as traditional tobacco.

Especially very prevalent among-st Teenagers and young people. Heavily marketed by Big Tobacco as "Safe".

Sources:

1) CDC: Tobacco Use Among Middle and High School Students — United States, 2011–2015: [https://www.cdc.gov/mmwr/volumes/65/wr/mm6514a1.htm?s_cid=mm...](https://www.cdc.gov/mmwr/volumes/65/wr/mm6514a1.htm?s_cid=mm6514a1_w)

1) England: Smoking rate continues to decrease while vaping gains in popularity [http://www.vapingpost.com/2016/09/22/england-smoking-rate- co...](http://www.vapingpost.com/2016/09/22/england-smoking-rate-continues-to- decrease-while-vaping-gains-in-popularity/)

2) The good news is that cigarettes are out these days. The bad news is that tobacco is still in. [http://www.teenvogue.com/story/vaping-tobacco- popularity](http://www.teenvogue.com/story/vaping-tobacco-popularity)

<comment><USER32> >E-Cigarrettes / "Vaping", which is also Tobacco and poses the same health risks as traditional tobacco.

This is wrong, and absolutely harmful information to spread. Cigarette smoking causes cancer through burning tobacco plant matter, a process that releases a variety of toxic chemicals. Vaporization of e-liquid does not burn tobacco plant matter, and thus doesn't have the same issues.

E-liquid is basically nicotine, glycerol and/or proplyene glycol solute, and flavoring. Nicotine replacement products aren't associated with cancer risk. The solute is much the same stuff as in asthma inhalers. There isn't really good research for the flavoring, but it's generally ingredients that are recognized as safe to put in food.

Overall, vaping is likely at least an order of magnitude safer than smoking. Probably two. That's not anywhere near "the same health risks as traditional tobacco." I'm personally more worried about spending lots of time near busy roads. If a policy causes X more people to vape per person that no longer smokes, X would have to be at least 100 for me to think it's a net negative.

<comment><USER33>
      Nicotine replacement products aren't associated with cancer risk

There is evidence that Nicotine replacement products do increase the risk of cancer. Every source I've read says that the risk is less than smoking cigarettes, but vaping (for example) is still an increased risk over not using nicotine at all.

Current NHS advice puts vaping at 95% less risk than smoking, which is to say an increased risk (5% of the smoking risk), compared to not vaping.

\- [https://www.nhs.uk/smokefree/help-and- advice/e-cigarettes](https://www.nhs.uk/smokefree/help-and- advice/e-cigarettes)

\- [http://scienceblog.cancerresearchuk.org/2009/04/24/can- nicot...](http://scienceblog.cancerresearchuk.org/2009/04/24/can-nicotine-gum- cause-mouth-cancer/)

\- [http://www.nhs.uk/news/2009/04April/Pages/NicotineGumCancer....](http://www.nhs.uk/news/2009/04April/Pages/NicotineGumCancer.aspx)

\- [http://www.cancer.net/navigating-cancer-care/prevention- and-...](http://www.cancer.net/navigating-cancer-care/prevention-and-healthy- living/stopping-tobacco-use-after-cancer-diagnosis/health-risks-e-cigarettes- smokeless-tobacco-and-waterpipes)

<comment><USER32> Yeah, the research on nicotine replacement products isn't very mature. The links you gave are interesting, but more along the lines of "nicotine can do the same sort of things to mouth cells that happens when you have mouth cancer", not "we took a look at X number of people and looked at mouth cancer incident rates".

The NHS advice is interesting, thanks for contributing it. It's a good sign that I'm on the right track - I put it at "one to two orders of magnitude", or to use the same units, 1% to 10% of the cancer risk of cigarettes. The NHS is likely biased towards saying things cause cancer (because incentives - <USER2> causes a ruckus if something they thought causes cancer is safe, but everyone gets way riled up if something the NHS thinks is safe causes cancer). So my updated belief is now that vaping causes less than 1% of the cancer that smoking does, per user.</comment></comment></comment></comment></comment>


Framework 7 – Building native iOS apps in HTML5 - <AUTHOR> http://www.idangero.us/framework7/ <comment><USER2> I'm not knocking this or any particular xxxx-to-mobile platform, but as a native iOS and android developer, I would highly recommend just learning the native languages and frameworks.

First, you have the absolute most control you will ever have over your application. This may not be true when a particular tool becomes popular, say at the release of a new tool, but this definitely shows up as time progresses. Who knows what tools will keep up with the native frameworks terms of functionality?

Another reason that is more qualitative, is that you come into contact different design styles, code styles and paradigms. Objective-C, for instance, is a tricky beast sometimes, but it is an interesting language with a lot to learn both good and bad. The new things you learn will most definitely carry over into your web programming!

The third reason to code natively, and I cannot stress this enough, is third- party library support. Maven and cocoa pods may dependency management much better on the mobile platforms, and using a third-party tool will most likely render all those advancements useless. There are some amazing libraries for both platforms that you definitely don't want to miss. They were reduce the amount of time you spend coding and improve your baseline quality.

<comment><USER3> So if you want a web app, an android app, and an iPhone app, you have to code it up 3 different times in three different languages. The reason why the web exploded in popularity as a development target is precisely because it made it easier to target a larger number of customers. Imagine if Facebook had started out as a Windows XP / Linux / OSX native application. It never would have even got off the ground.

My take on this is that if you absolutely need the performance, go native and pick the platform you'll get the most customers on. If you're app is a glorified CRUD wrapper, though, HTML5 will probably suit your needs and you'll only have to code it up once.

<comment><USER4> I don't buy it. Enterprises definitely buy into that idea and they do have their employees work with these crippled apps because they have no other choice. But the experience for this 'CRUD' app is definitely not good enough. It's by forcing it that it gets used. It depends on how intensively it will be used in reality, but I definitely know quite a few companies who went from BYOD and an HTML5 Cordova app which was very intensely used to just buying Android devices for the employees and making a native app to boost productivity.

If you have to enter / search / whatever information in an app which is horrible to use (a BIT of lag can ruin your day; you tap/swipe; because of the lag it just responds a bit late, the keyboard pops for the wrong field or you submit accidentally; plop seconds lost and so is your good mood) all day, you're not going to want to work with crap. It's not 'good enough' even though management might think so.

<comment><USER3> You don't have to buy it, it's an undeniable reality. Yes, if you're an enterprise and you can afford to write native apps for all platforms, then that's the better choice. If you're a small startup or a single developer, writing the app 3 times is just not cost effective.

<comment><USER5> Most likely you never tried to do what you preach. You will end writing your app only a little bit faster (if you are lucky) and then three times more on debugging.

<comment><USER3> I have. I built an HTML5 hybrid mobile app for Android and iOS. It was about 90% JS/HTML/CSS and 10% native code. Worked very well for our purposes. You can judge for yourself, it's called Kona and in both major app stores.

<comment><USER6> > 90% JS/HTML/CSS and 10% native code.

this was going to be my comment on the original comment: it's not like you have to do _only_ HTML5 or _only_ native, or so i'm given to understand... i'd be interested to hear more about the hybrid approach if anyone has links/blog posts.

<comment><USER4> 10/90 is Phonegap/Cordova; when hybrid _is_ viable (imho) is when you need to show complex documents; what HTML _was_ made for. So the parts in your native app where you need to show documents with nice flowing text, images, charts, etc HTML is a good option, but then the 10/90 is usually not native/html, but the other way around.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> Cross-platform UI is a bad idea on the desktop. Cross-platform UI also is a bad idea on mobile. We need to learn from the past. Cross-platform UI is a conceptual mistake. An app that has an icon on the home screen is perceived by the user as "an app", no matter if it actually launches the browser without the toolbar, if it is a web app wrapped in a PhoneGap shell of if it is a native app. To the user, it's an app. It has an icon, so it's an app. The rest are implementation details that the user doesn't (and shouldn't) care about. So if the user perceives it to be a native app like all the other apps, it has to behave like one. Otherwise the user will be disappointed. Web apps that mimic native apps simply don't behave exactly like native apps: Imitating native UI with web technologies on a mobile device will only disappoint.

<comment><USER8> As someone who spent years building "HTML5" JS mobile apps and then recently spending the time to learn native languages, I 100% agree. There is no way to match the performance and consistency of native with a cross-platform clone. It will always be a half-baked solution.

That being said this only applies to _apps_. A ton of apps shouldn't be apps, they should be well-optimized websites. For ex. content sites.

Side Note: Learning Objective-c and Android java dev isn't nearly as bad as I thought it would be. It takes less time to learn and build native instead of trying to hammer Javascript into a hole it doesnt fit into, and spending hours attempting to optimize it's performance to no end.

<comment><USER9> > Learning Objective-c and Android java dev isn't nearly as bad as I thought > it would be

Where did you start? As a web developer Java and Objective-C seem really complicated and require so much code for the simplest things.

<comment><USER8> The additional code involved in Java/Obj-c is less annoying since they are well integrated in IDEs such Android Studio or Xcode which auto-generate most of the boilerplate. After you develop for a while you depend less on the IDEs.

I always build an app to learn the language/platform. The only way you can really learn it is by building something. Combined with that I usually buy a book.

For Android, I hardly had to invest any time learning Java, since I came from Ruby and it's pretty similar. Most programming languages are all the same under the surface. Especially among OO-heavy ones.

Best android book: [http://www.amazon.com/Android-Programming-Ranch-Guide- Guides...](http://www.amazon.com/Android-Programming-Ranch-Guide- Guides/dp/0321804333/)

Best objective-c book: [http://www.amazon.com/iOS-Programming-Ranch-Edition- Guides/d...](http://www.amazon.com/iOS-Programming-Ranch-Edition- Guides/dp/0321942051/)

Both books assume you know the languages but I jumped in with limited knowledge and learned the language as I went.

</comment></comment></comment></comment><comment><USER10> The limit we've run into with iOS is not getting a good looking UI. Rather it's the performance of Javascript in Safari. We have a fairly large one page webapp that looks great on iOS however the performance is an order of magnitude slower on an iPad than Chrome on an old laptop.

<comment><USER11> My understanding is that only Safari gets access to Nitro (Nitro : Apple :: V8 : Google). Web Views inside native apps don't get access to Nitro. Even web apps that you save to your home screen don't get access to the faster rendering engine. This is apparently for security reasons. I think it's one of the biggest barriers to web apps being competitive on iOS. (The other is that there really isn't a good installation story.)

<comment><USER12> "security reasons" (= [http://bit.ly/1d7p5Tq](http://bit.ly/1d7p5Tq))

it would be interesting if they elaborate on those...

<comment><USER13> More like "job security" reasons as they have less control over webapps than apps.

<comment><USER14> Same reason I think they're dragging their feet on various parts of HTML5 that everyone else has already implemented, such as IndexedDB.

<comment><USER5> You forgot to mention the part where Apple was first to implement features that later become known as HTML5. Also, the story of Web SQL and IndexedDB is not so simple.

<comment><USER14> Can you tell the story that explains why Apple has done nothing with IndexedDB for years while every browser vendor implemented it a while ago? Because the story as I see it is very clear: Apple embraced the web when they had very small market share, and they're doing the opposite now that they have a good chunk of the market. Walled gardens generally aren't very profitable if you have only a tiny fraction of the market.

Of course, it'll be hard for you to tell a convincing story because (AFAIK) Apple hasn't even commented on IndexedDB. Strange, for such a well-established open standard. Even MS has supported it for years!

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> Wow what a tough crowd. So many off topic discussions. The framework is buttery smooth, and very well done. Kudos to the dev! I have never seen any html5 framework (like ionic, jqm, wink etc) nail swipe to delete row so acurately Awesome job!

</comment><comment><USER16> Don't frameworks like this which try and emulate one platform very well get rid of the only advantage of building an app using web technologies, that it's cross platform. Apps using this will feel really out of place on Android and Windows Phone, and you'll end up spending lots of time porting the web app to those platforms if you want to support them properly.

<comment><USER17> > the only advantage of building an app using web technologies, that it's > cross platform

There are other advantages of building an app using web technologies. Maybe you want to link to a store that doesn't pay Apple 30%. Maybe you want to control your own updates. Etc.

<comment><USER18> > Maybe you want to link to a store that doesn't pay Apple 30%

Isn't this explicitly forbidden on AppStore by Apple regardless of technology?

> Maybe you want to control your own updates.

This is what some games do, you don't need HTML/JS for that.

<comment><USER17> Right, that's an app store rule. However, if you've got an HTML 5 app you don't need to install it through the app store. For example, forecast.io.

I'm not sure what you're saying about games controlling their own updates. What I was talking about specifically is that a web app can update at any time, without the vetting process required of apps in the app store. My understanding was that app store apps couldn't download and execute new code.

</comment></comment></comment></comment><comment><USER19> I wanted to enjoy this but I opened it on my phone and was immediately cursed with problems.

\- When I scrolled the list items where my thumb was scrolling started lighting up

\- When I clicked a button nothing happened, I had to click a few times repeatedly before it changed screens and even then it didn't feel like I clicked

\- When I clicked back nothing happened, and after a couple more tries I saw it was working and then changed the page. That might could be solved with something like fastclick.

I would love a tool like this but it has to be damn near perfect for me to be able to consider it with my team.

EDIT: After playing with it a little more I found it gets a little better. The big issue is lag and fluidness for me. It's got to be very responsive to touch and movements and not have any lag or choppiness.

</comment><comment><USER20> The problem with HTML5 is and always will be performance, not because of HTML5 but because of the platform it sits on. The DOM simply can not perform with the efficiency of native applications. I'm more hopeful for companies like famo.us that have basically subverted the DOM renderer for their own Unity- style game engine. You can see demos of their projects at [http://demo.famo.us/](http://demo.famo.us/). Running those on your phone will give you an idea of what a truly native web experience should feel like.

All of these attempts to make a web page run fast on the phone are all bound by one single performance constraint; Document Object Model.

</comment><comment><USER21> Very impressive! One of the best mimics so far. Performance is good and very lightweight. Might use this for prototyping an app.

</comment><comment><USER22> The title should say, mimics native iOS UI in the browser. Nice job though.

<comment><USER23> This. I like the look of it and it's still useful, but we need to stop abusing the word "native." Let's be clear that this is just an html framework that looks like a native app. It's still a website.

This is not the same thing as Phonegap, for example, which lets you build a native app you could install from the app store.

Again, still useful if you want your mobile website to look native, but not the same thing.

</comment></comment><comment><USER24> This is a webview app not a native app.

</comment><comment><USER25> I played with this just now on an IPod Touch and must say that it is incredibly smooth. It could easily be mistaken for a native app.

</comment><comment><USER26> I've had quite a lot of luck developing HTML/JS apps in Sencha Touch (very basic CRUD apps of course). Really noticed a speed improvement running the latest release on an iPhone 5S. Not sure how much room there really is for HTML/JS ports at this stage. Titanum was a let down for me. Am keen to try Xamarin next. Or just go native? Thoughts?...

</comment><comment><USER27> Very impressive. As someone who uses Appcelerator a lot, this makes me rethink the ability to prototype and app quick and wrap it with Phonegap, or a similar strategy.

Colors, spacing, swipe translations are all very solid. While a majority of everyone else here complains about pixels and the right words to use, I'd like to congratulate you on this.

</comment><comment><USER28> Nice work.

Suggestion: Add the new iOS7.1 "minimal-ui" key to the viewport tag.

It makes the top bar a lot smaller and makes it fullscreen in landscape mode. Much nicer for an 'app-like' experience.

<meta name="viewport" content="width=device-width initial-scale=1.0 maximum- scale=1.0 user-scalable=yes, minimal-ui" />

<comment><USER29> minimal-ui is a god-send. Without it, bottom-screen tab bars in web apps are effectively unusable.

</comment></comment><comment><USER30> Native apps in HTML5 is an oxymoron.

<comment><USER31> It's important to add words like "native" to main product description tho. Adds credibility. It's ok that this is completely NOT native.

</comment></comment><comment><USER32> Just tried it on Android (Chrome, Nexus 5, 4.4.2). Very smooth, but the sideways page-to-page transition was incredibly stuttery. It also doesn't handle the "back" button the way I'd expect from something like this.

</comment><comment><USER33> Yeah, this is shiny and cool. But not native.

<comment><USER28> True. This is different to how Appcelerator Titanium does it - which does build native apps with native components, despite the code to build the apps being written in JavaScript.

</comment></comment><comment><USER7> They did a nice job on this framework, but I think it is a fundamentally wrong approach. Here is why: [http://www.springenwerk.com/2011/09/thoughts-on- mobile-ui-de...](http://www.springenwerk.com/2011/09/thoughts-on-mobile-ui- design.html) Or, if you prefer a video: [http://vimeo.com/32256530](http://vimeo.com/32256530)

</comment><comment><USER34> I'm baffled that a technology stack (HTML, JS) that every single web developer think is broken (but still have to deal with) is being considered for iOS development, and being promoted as an easy way to develop native apps.

This is where I think RubyMotion offered the best of both worlds: native APIs and Ruby's flexibility (even if Objective-C is really not that bad or hard to learn).

<comment><USER35> Web Dev here. I don't think the stack is broken.

<comment><USER34> Positioning elements, fighting to implement the support of multiples screen resolutions, dealing with JS quarks, etc. All those topics are mastered in most native frameworks and clearly a hot topic in web dev.

Maybe broken is a little bit exaggerated, but very well deserved IMHO.

After several years in web dev _and_ mobile dev, I can safely say that even in a couple of years, native toolchains won't be relegated to a marginal role and remain the only efficient way of developing native apps.

</comment></comment></comment><comment><USER36> I remember that you built this in the Static Showdown hackathon! Congratulations, and it looks like a really promising project :)

</comment><comment><USER37> I'm very impressed with the page transitions. They're pretty spot on.

Havent got the toggles right though. The stretched out dot is not it moving into another position, it's the result of you tapping it. If you tap and hold, the dot shoud expand out.

</comment><comment><USER38> Correction, "Native look & feel". But well made!

</comment><comment><USER39> So the "Download" button is a regular link to the GitHub repo. Ugh, not a smart move.

Ok, so the technical details are:

* JS file (minimized): 33k * CSS file (minimized): 62k

</comment><comment><USER40> I would say best used as a web app that one can use along side a native app IE Gmail, which has an ok mobile web app and a good native app.

</comment><comment><USER41> Was anyone else disappointed when they opened it on their iPhone and it rendered the same page?

</comment><comment><USER42> Congratulation! You have managed to create a web page where even links no longer work. Okay, that is a bit of an overstatement - open in new window, download and probably also the social media links do work.

</comment><comment><USER43> There is nothing native. Go home and read a books.

</comment><comment><USER44> nice, but where are the docs ?

</comment><comment><USER45> really cool I think !

</comment><comment><USER46> This is honestly so pointless and bad for the community, further dividing up mobile technology. Why not just improve on something that already exists like jQM?

"Building native iOS apps in HTML5". You're building them in HTML5, to look like iOS7, not exactly native now is it? This is the same thing as making a theme for jQuery Mobile.

I clicked on this hoping to download something that converts my HTML5 app to native code, but then I clicked this, and immediately had severe performance issues on iOS7, iPhone 5S.

I really hope this does not take off, and if it does, I hope they fix the performance ASAP.

Not even REMOTELY close to native performance, look, or feel.

<comment><USER4> Did you ever try jQM? My god. I applaud any efforts to move away from it.

<comment><USER46> JQM is so unbelievably terrible. Been working with it for the past year.

<comment><USER4> I'm so sorry... I have seriously not often in my 30 years of being a coder seen something so promising turn out so bad. It doesn't even get the 'hello world' right. Why have you been working for it for the past year?</comment></comment></comment></comment>


Wikileaks' Flawed Answer to a Flawed World - <AUTHOR> http://www.project-syndicate.org/commentary/dyson27/English

<comment><AUTHOR> Esther Dyson is a technologist and VC who participated in the Personal Democracy Forum's symposium on Wikileaks this past weekend. Video archive of the panel is available: <http://www.livestream.com/pdfleaks></comment>


Replicating Beme's Proximity-Record in Swift - <AUTHOR> http://stephenradford.me/replicating-bemes-record-with-the-proximity-sensor/

<comment><USER2> I wish I had a use for this code, it is awesome functionality and coding looks crisp to me. Thanks for the share!

<comment><AUTHOR> Cheers!✌

</comment></comment><comment><USER3> Fun little project(app)! Great Job! Nice work!

I'm going to fork and make a few small changes :)

<comment><AUTHOR> Thanks! Feel free to open an issue/pull-request with changes.</comment></comment>


Ask HN: What are good OSS projects for beginners/students to contribute to? - <AUTHOR> What are some good open source projects for people with less software development experience to contribute to? Specifically junior devs or students with internship experience in software development (people who are experienced writing software but aren't experts). <comment><USER2> My recommendation is to contribute to the projects they use.

* Did they found a bug? Can they fix it?

* What is a pain point? Can they add a feature to solve it?

* Do they need to use the project in another platform/configuration?

* Does the project have some easy bugs/issues that they can solve?

Always start with small changes, perhaps only 1 or 2 days of work (or less, sometimes 2 or 4 hours are enough). You are never sure that the owner/maintainer is going to merge it. Or if they have weird requirements. Or if they don't like the change (for good or bad reasons). Or if they have a better option in development. If you invest less than 2 days, it's not big deal if it isn't merged.

</comment><comment><USER3> The newer or smaller projects will always take in a good pull request. Take a look at any number of "issues" and see if they are legitimate bugs and try and tackle those. What this means is don't expect to submit a PR right away to <insert hottest project we've all heard of>.

When submitting a PR, mention what it's for, it's written in the style conventions of the project and language, and that it's got tests!

Lastly, I realize that these types of questions that a true rookie asks because once they realize how obvious it is and then will move on.

</comment><comment><USER4> Their own!

I often place beginners, very beginners, and maybe some reluctant junior developers into a room and give them some exercises. I like to include some open discussion on side projects, OSS projects they use, the fact that GitHub is also a social network and things like Glitch and Repl.it exist to be shared. OSS is not just "open", it is social. Good open source software to me begins with a discussion of what they consider to be in good taste.

1\. Set up a bunch of accounts on GitHub or GitLab, or whatever. It's better if they have a preference for one and don't use the other - make them use the one they're least familiar with. Get them used to using things they're not familiar or comfortable with doing. Sound familiar?

2\. Divide the group into equal sizes if you can. If the group is prime, then it is also abelian (bad joke). I let groups assimilate and trade with each other. The macrocosm of tech's demographic tends to reify itself in microcosms as well, so you'll notice some groups get larger than others but some reach peak efficiency at specific sizes. This is good for you to know if you're in management. It's okay to let a bunch of beginners be without anyone in their group who has experience, sometimes they end up being the dark horse in the race.

3\. So you have a bunch of groups, give them an exercise that has nothing to do with whatever they're supposed to be doing. Main idea: You're trying to show them how good practices can be interdisciplinary or better, that they know how to think, organize, and collaborate their efforts on new things. If it's a bunch of quants, make them use Figma or Sketch and design a layout. If it's backend, make them do frontend. If they're UI/UX give them a bunch of problems from [https://projecteuler.net/](https://projecteuler.net/)

4\. Now, the task for all groups is to present something by the end of the session whether it is finished or not. A lot of the time is spent teaching other how to set up their account, doing basic version control, picking a language to choose, how they're going to architect the whole thing - a lot of time is wasted trying to optimize their time. This is a good lesson and also shows people how they lack fundamentals. Junior devs tend to try to assert authority and have it backfire almost immediately. That's why they're junior developers still.

5\. So some time rolls by. About the halfway mark I check in on their repositories not their team. I want to see what work they've committed to more than what they plan to do. It's also good for me to know how they catalog their mistakes and what sort of basic documentation they provide themselves out of utility rather than obligation.

6\. Time's up. Let's present. Says a lot about how a team works by who does the presentation. You'll notice some people have become part of projects where they know they'll shine rather than try to struggle with a team where they know they won't succeed, even if there's nothing to risk. This says a lot about the person's appetite for code.

7\. Now, the optional flavor for this exercise is to have them develop a competing app in an hour. This is obviously a questionable and risky thing to ask your team to do. My opinion is that I've hired the right team and I believe in our culture and I already know our competition so its fine. But let's say, we want our team to build a competing app - how would they do it? They already know what they hate about our company or the work they do. This exercises lets them call the shots and give themselves fake titles and lets them dream a bit. Good, I want to foster their growth here, not extract work out of them like some kind of time vampire. I like to have them pitch to each other and just try on the shoes of someone who will be someday more than what they are.

<comment><USER5> Is this a workshop you ran at a company?</comment></comment>


Missing Movies (2018) - <AUTHOR> https://johnaugust.com/2018/missing-movies <comment><USER2> > Piracy isn't an answer to the problem

If the problem is, "me wanting to watch The Flamingo Kid tonight" piracy absolutely does solve that problem.

Also, the reason for this problem is that there is not sufficient commercial incentive to make a legal solution to this problem. There are fixes for this, changes could be made to copyright law, for example, that would make this problem a commercially viable one to resolve; however, there are few incentives to make changes that would allow this problem to be resolved. Piracy is certainly the easiest answer to this problem, and the only answer at the moment.

<comment><USER3> > Piracy is certainly the easiest answer to this problem, and the only answer > at the moment.

The situation with these old films that have gone out of availability due to rights holders going out of business or no longer caring is a bit similar to the arcade machine ROM situation. The MAME community has done a great job of documenting the existence of and preserving the history of the ROMs they can find and highlighting the ROMs still missing while avoiding the legal quagmire by never distributing the ROM media itself. (what other people do on BitTorrent stays on BitTorrent).

Maybe similar techniques can work for these films.

<comment><USER4> Indexing is fine so long as you can still say a copy exists. But eventually it's like finding a medieval card-catalogue, and wondering what became of all of these other books by Euclid.

</comment></comment></comment><comment><USER5> I would love to see an update to copyright law that required a 'renewal' each year after 10 years that started at $10,000 and doubled each year thereafter.

<comment><USER6> >The length of copyright established by the Founding Fathers was short, 14 years, plus the ability to renew it one time, for 14 more.

I would love to go back to the original copyright act of 1790 law. We the people of the United States grant a monopoly with the understanding that society will be compensated for granting that monopoly in 28 years.

<comment><USER7> Same. The original duration of copyright made it tolerable. Although artificial, it's a reasonable social contract that enabled creators to get paid while also giving people free access to their works. People _knew_ that the works they once paid for would enter the public domain within their lifetime. Everything created in the 80s and 90s should be public domain today.

</comment></comment></comment><comment><USER8> Another example that wasn't on the list (and please somebody prove me wrong), I cannot find the 1954 movie "So This is Paris", starring Tony Curtis. No copies available anywhere on amazon, ebay, or searching through internet sites. There was a short clip of one of the songs on Youtube a few years ago, but it was taken down for copyright infringement. I simply cannot find it anywhere.

This also happens to books ([https://www.theatlantic.com/technology/archive/2012/03/the-m...](https://www.theatlantic.com/technology/archive/2012/03/the- missing-20th-century-how-copyright-protection-makes-books-vanish/255282/)), and points even more to the cause. As soon as you go before the 1920s, works are in the public domain, and availability returns.

<comment><USER9> > I cannot find the 1954 movie "So This is Paris"

A search on Google Video seems to pop out a copy. Not great quality and has questionable copyright issues....

[https://www.google.com/search?biw=1366&bih=667&tbm=vid&q=%22...](https://www.google.com/search?biw=1366&bih=667&tbm=vid&q=%22So+This+is+Paris%22+1955&oq=%22So+This+is+Paris%22+1955)

youtube-dl.exe will copy it offline.

It's rare not to find fictional movies if you look at all sources, although many have quite low quality (700 meg rips)

<comment><USER8> Wow. I had mostly been searching through amazon, ebay, archive.org, but hadn't searched google video. Thank you very much.

</comment></comment></comment><comment><USER10> I invented a method that I believed would allow the type of comprehensive library envisioned. I sold the idea to a company called VidAngel, who was sued by major studios and now owes approximately $62M to disney as damages.

Each movie was backed by a physical copy stored in their vault, and streamed only to the owner.

The ruling was a huge blow to fair use, and your rights as the owner of physical media.

</comment><comment><USER11> I'm gonna bet that the music licensing for all of these films is a mess. Only licensed for so long, or for so many kinds of distribution. Some may be easy to deal with. Some may not. But who wants to find out? Who wants to open that can of worms and potentially get embroiled in lengthy, complicated negotiations with music labels?

<comment><USER12> This has happened to TV series too, like "Northern Exposure", where for the DVD release they replaced a lot of the music with public domain "elevator music":

[https://en.wikipedia.org/wiki/Northern_Exposure#DVD_releases](https://en.wikipedia.org/wiki/Northern_Exposure#DVD_releases)

</comment></comment><comment><USER13> I mean, one thing that seems missing from this analysis is that a lot of these titles really wouldn't generate much revenue.

iTunes do not actually want to bother spending money ingesting files et al on films that do not sell, and you have to sell a non-zero amount before you're not making a loss.

It mentions rights are a solvable problem, but solvable by who, and who will pay for it?

</comment><comment><USER14> There was a discussion about a 'dead zone' of media relating to books because of overreaching copyright [1]. Since the economies of providing older copyrighted work aren't in high enough demand aren't incentivized enough, the works effectively become 'lost'.

There's a long tail to exploit, which I think Netflix, at least when it started out, benefited from, but in practice the works become effectively lost.

I've found at least one other example of an article talking about this effect relating to Zora Neale Hurston [2].

[1] [https://www.theatlantic.com/technology/archive/2013/07/the-h...](https://www.theatlantic.com/technology/archive/2013/07/the- hole-in-our-collective-memory-how-copyright-made-mid-century-books- vanish/278209/)

[2] [https://www.washingtonpost.com/news/posteverything/wp/2018/0...](https://www.washingtonpost.com/news/posteverything/wp/2018/05/07/how- copyright-law-hides-work-like-zora-neale-hurstons-new-book-from-the-public/)

</comment><comment><USER15> This isn't going to get solved. The reason that these movies aren't online is basically a lack of clarity on the IP rights to sell the movies as streaming. None of the contracts between the parties in the 70s had any provisions for online streaming, so it's a big unsolved mystery as to who is allowed to do what.

No studio's lawyers are going to open up a can of liability worms for a few thousand $3.99 rentals of some 70s movies.

</comment><comment><USER16> Kind of surprised that he is surprised. It's fairly common that I want to watch a not obscure movie and cannot find it on any online service.

Thank God for libraries.

<comment><USER17> As someone who uses no online video streaming services, I'm surprised that the number of (old) movies available to stream is so _high_.

</comment></comment><comment><USER18> similarly related consumer unfriendly nonsense:

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

<comment> rkuykendall-com I suspect Disney+ will kill this concept.

<comment><USER19> It won't. All it does is make it even easier for Disney to yank content until the next "special edition" which you'll need to pony up for in the shops at an extortionate retail price because of "special director's cut" or some other bollocks.

And then a year later they'll get around to showing that version on Disney+, possibly for a surcharge because "special edition".

See also:

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

</comment></comment></comment><comment><USER20> > including Sleeper

Sleeper rolled by on TV a year ago or so. It was far, far worse than I remember it being :-(

</comment><comment> mark-r I waited nearly forever to find "Real Genius" on DVD.

<comment> rkuykendall-com That's weird, I own or owned Real Genius on DVD. I see it on Amazon? Do you only purchase in-person?

<comment> mark-r At the time I was looking, I had had it for years on VHS and wanted to replace it. I'm sure I looked online but it just wasn't available, anywhere. I don't remember where or when I found it, but I was extremely happy.

<comment><USER20> One of my favorite movies. Not because it was that good, but because the various incidents in the movie are exaggerations of things that actually happened in the 1970s at Caltech. (Caltech wouldn't let them film it on campus, but the film crew hired techers as extras anyway because their costume department could not duplicate their look.)

<comment> mark-r One of my favorites as well, which was why I was unhappy living with only a VHS copy. It was quirky in all the right ways.</comment></comment></comment></comment></comment>


Why can't you repair an iPhone? - <AUTHOR> http://www.bloombergview.com/articles/2016-02-15/why-can-t-you-repair-an-iphone <comment><USER2> Seems pretty reasonable that a phone with contents protected by a fingerprint sensor would have measures to prevent tampering with the fingerprint sensor.

</comment><comment><USER3> The article doesn't offer the answer. Or perhaps it was an open question?</comment>


The IndieWeb needs to believe in itself (2018) - <AUTHOR> https://fogknife.com/2018-05-04-i-believe-in-the-indieweb-it-needs-to-believe-in-itself.html <comment><USER2> My interest was piqued enough by this post to go clicking around the IndieWeb site for more information on Webmentions, and I was amused to see, on the page where they discuss an earlier spec that attempted to do the same thing, TrackBack ([https://indieweb.org/Trackback](https://indieweb.org/Trackback)), a link to an essay I wrote 14 years ago critiquing the thing that ended up killing TrackBack -- its complete lack of spam-proofing. (This one: [http://anthillcommunities.com/archives/001653.html](http://anthillcommunities.com/archives/001653.html))

I guess somebody actually read it! Huh. In unrelated news, now I feel old :-D

I was curious to see how Webmentions sets out to avoid the same problems, since they should be more obvious today than they were when TrackBack was created in 2002. The answer appears to be one of your classic "good news/bad news" situations.

The good news is, it appears some thought has been actually been put into spam-proofing this time around. The Webmentions spec lays out a verification process that incoming Webmentions MUST pass in order to be accepted as valid (see [https://www.w3.org/TR/2017/REC- webmention-20170112/#webmenti...](https://www.w3.org/TR/2017/REC- webmention-20170112/#webmention-verification)), which is good.

The bad news is, assuming I'm reading the spec correctly, that verification process boils down to "do an HTTP GET of the page that supposedly linked to you and parse its HTML to make sure there actually is a link to you in there," which doesn't seem like much of an anti-spam speed bump. All your spammer has to do is send all their Webmentions from the same URL, and then publish an automatically-updated list of links to all the URLs they've spammed over the last six hours at that URL, and boom, they're valid, right? Or is there something I'm missing here that makes this more spam-resistant than it first appears?

<comment><USER3> Just my opinion, but I'm not sure that the antispam should be built into the protocol itself. There's nothing there that say the receiver MUST NOT perform additional checks on the sender. Furthermore section 4.1 says that the receiver MAY moderate webmentions before publishing, so I guess that's the place where the receiver checks the source with some antispam list.

EDIT: I researched a bit more, and noticed that there's an extension to Webmentions, called Vouch[0], which may be a bit complicated to bootstrap, and seems like a web-of-trust-ish mechanism to approve of webmentions.

[0] [https://indieweb.org/Vouch](https://indieweb.org/Vouch)

</comment></comment><comment><USER3> Frankly, thanks but no, thanks.

The moment it becomes a legal entity is the moment bureaucracy starts to kick in, big names join and poison the well, internal politics rips stuff apart.

I know this view is a bit extreme and pessimistic, but I've yet to see anything that _doesn 't_ go like this. I see no reason indieweb would be the exception.

As it is, the indieweb community is agile enough to be able to fork at a moment's notice if things start to go sour. If money and papers start to get involved, that becomes more difficult.

</comment><comment><USER4> If anyone from IndieWeb community is reading this thread:

Stop bikeshedding formats and random features (likes, bookmarks, etc) and focus 100% on getting Webmention and rel="in-reply-to" working smoothly and integrated across the blogosphere.

 _Build on what works_ , instead of rejecting the entire blogosphere because of some guy's pet project. Forget about bikeshedding microformats and micropub/microsub APIs.

IndieWeb talks a lot about "standards" and interoperability and all this crap but at the end of the day the focus is mostly "let's replace Atom with microformats to do the same things, and argue about how to encode likes and bookmarks." The NIH syndrome regarding replacing Atom/RSS with microformats is incredibly counter-productive.

Start with replies to blog articles, build consensus, build software support, make it a success. THEN move onto replicating Facebook. Webmentions/replies can be done _today_ with Atom/RSS. Just think if all that time spent on microformats was spent building support for webmentions/replies in existing tech stacks!

<comment><USER5> If you want to get replies working across the blogosphere, try brid.gy which has support for various blogging platforms. If you want to transform atom/rss to microformats, there's unmung.com If you want conversion between lots of formats there's [https://granary.io/](https://granary.io/)

You're very welcome to spend the time integrating this with your own site or other existing tech stacks.

</comment></comment><comment><USER6> I've been blogging on my personal website, [https://www.jvt.me](https://www.jvt.me) for a good few years, but I've found the scope, functionality and interactions increase since joining the IndieWeb.

I've written some posts about my journey which are tagged and can be found at [https://www.jvt.me/tags/indieweb/](https://www.jvt.me/tags/indieweb/) if you're interested

</comment><comment><USER7> I'm not a coder, merely an artist with a blog and the interest of thumbing the nose at authority by knowing things.

I don't see a place in the article or the comments here that describes how (or frankly, why) this can be used for the layman (of course, I'm assuming indieweb wants to expand to more folks like mastodon did). Can someone enlighten me?

<comment><USER3> As for the why, there's a good list of reasons here[0].

As for the how, first of all it depends on the _what_. The indieweb is a concept like "free software", not a technology like mastodon. You can't just "implement the indieweb". You implement parts of it. And especially you participate in it. A good rundown of fictitious "levels of compliance" can be found here[1].

[0] [https://indieweb.org/why](https://indieweb.org/why)

[1] [https://indieweb.org/IndieMark](https://indieweb.org/IndieMark)

</comment></comment><comment><USER8> The thing is you can setup website and host your own website. It doesn't get more independent than that.

I don't think you can build a public park for everyone.

<comment><USER3> That's not even the main part about the indieweb concept. What really differentiate it from just having your home page is the interaction between indieweb websites. Mainly webmentions, but also profile-sharing across different websites, or using your own website as an authentication method in tandem with third-party identity providers.

</comment></comment><comment><USER9> Regarding webmentions, webmention.io (receiving) and webmention.app (sending) are excellent. If you prefer to manage your own like me, then you may find this glitch helpful: [https://glitch.com/~lean-send- webmentions](https://glitch.com/~lean-send-webmentions).

I've also written a complement to webmention.io which it can use as a callback hook to turn webmentions it receives into GitHub issues (great for if you use a static site generator). [https://glitch.com/~webmention-io-webhook-to- github-issue](https://glitch.com/~webmention-io-webhook-to-github-issue)

</comment><comment><USER10> Sad to see that Bridgy lost support for Facebook:

> Facebook is no longer supported. So long, and thanks for all the fish!

> Bridgy included support Facebook from the very beginning, when it launched > in January 2012. After the Cambridge Analytica scandal broke, Facebook > started limiting its API in a number of ways. Notably, it disabled RSVPing > on April 24, 2018, posting on August 1, 2018, and reading other people's > comments and likes on May 24, 2018, which killed Bridgy for Facebook > entirely.

<comment><USER11> Just to be very clear, this was ALL Facebook's fault...FB clenched their fist, squeezing their grip ever tighter of their walled garden. Bridgy, all users of Bridgy, as well as all the consumers of the content from these bloggers were the victims of FB's actions. You can have whatever opinions you wish about FB's right to do so...but the content that users freely submitted INTO FB has now been locked off by FB. Make of that what you will...But Bridgy isn't the bad guy here, just the victim.

</comment></comment><comment><USER12> If you are curious to know more, I've collected an array of indieweb info on a site built with an Indieweb enabled Hugo theme, and detailed its features:

[https://web-work.tools/indieweb/indigo/features/](https://web- work.tools/indieweb/indigo/features/)

</comment><comment><USER13> As a first step, I'd suggest IndieWeb applies to become a supported project under Software Freedom Conservancy (SFC). SFC provides various services to libre software projects such as fiscal sponsorship, fundraising assistance, legal advice, logistical support for conferences, etc. See [https://sfconservancy.org/projects/services/](https://sfconservancy.org/projects/services/)</comment>


I'm on a deserted island. How can I tell which plants are poisonous?   - <AUTHOR> http://www.straightdope.com/columns/read/2919/im-on-a-deserted-island-how-can-i-tell-which-plants-are-poisonous <comment><USER3> My all time favorite answer for this question is from a book I read in Brazil. It was a jungle-survival guide from a Brazilian military:

First of all, find a monkey. Follow the monkey, and eat everything the monkey eats. If possible, eat the monkey too.

<comment><USER4> There are of course variations of this trick. If you can't find a monkey, either a quail or a toucan will do just fine. I have some friends who were in a military survival training mission in the Amazon.. For many days all they were able to find was swamp cabbage (palmito). Then they found a toucan... The monkey trick didn't work because the trees are very very tall.

<comment><USER5> Energetically, I bet you'd spend more calories following the bird than any calories you'd gain from food you collect. On the other hand, I've been told that toucan is quite tasty.

<comment><USER6> Although, once you found the locations you could remember them or map them and then later trips would be more efficient.

<comment><USER5> Yes, but that probably isn't enough of a savings. We don't have a toucan's digestive system, and can't process large amounts of fruit quickly through our digestive tract like they can. It's a case of starving with a full stomach.

</comment></comment></comment></comment></comment><comment> Tuna-Fish The simple rule I was taught that if you can find anything that moves, cook and eat it before eating unknown plants. Your odds are generally much better with animals than plants -- you can probably find dozens of examples of inedible or poisonous plants on your back yard alone, while poisonous (as opposed to venomous) animals whose poison is still dangerous after being cooked are quite rare.

An even simpler rule is to start with anthills -- ants live almost everywhere, and while many ant species use poison as a weapon, none are poisonous after cooking.

<comment><USER7> A caution here is that some fish, especially in tropical areas, are poisonous. Any mammal or bird can be eaten, some reptiles are poisonous though - <USER2> turtles, for example, can retain poisons absorbed from their food.

<comment><USER8> "Any mammal or bird can be eaten"

<http://en.wikipedia.org/wiki/Venomous_mammals>

...some birds are poisonous to eat or touch, such as the pitohui, the ifrita,

</comment></comment></comment><comment><USER9> I love how this guy clearly has no idea what he's talking about, relies primarily on a single source (US Army Survival Manual) that's based on decades of research and experience in these kinds of life-and-death situations, then proceeds to disagree with the source on multiple points. So much for fighting ignorance...

<comment><USER10> Cecil does know what he's talking about. The Straight Dope is a website based on people submitting questions to Cecil who, in turn, does the research and presents the findings for you along with some of his trademark witticism. It's been a wildly successful website.

The readers know the premise - that Cecil, not an expert but definitely a pretty smart guy - is doing the work for you. And given the wealth of information presented in such a digestible form, I'd say that's fighting ignorance indeed.

<comment><USER9> _The Straight Dope is a website based on people submitting questions to Cecil who, in turn, does the research and presents the findings for you along with some of his trademark witticism. It's been a wildly successful website._

That's exactly my point: he did a little research, found one primary source upon which to rely, and then proceeds to disagree with that source, based solely (as far as I can tell) on his opinion. Why wouldn't I just listen to that source directly, which is based on actual expertise?

And its success is completely irrelevant to whether he knows what he's talking about.

</comment></comment></comment><comment><USER11> There's a show on the Discovery Channel about people who get lost in the wilderness. One thing I've noticed is that they spend all their energy and time trying to get back to civilisation, so they very rapidly get worn down.

I think a good strategy when you are lost in the wild is to immediately start keeping an eye out for shelter, food, and water. The article gives some good tips, but they take time if you want to be reasonably sure of what you are going to eat.

<comment><USER12> There is a saying that, "you can travel across the land or live off the land but not both."

You may be able to improve your chances over the short term by concentrating on finding food but if you want to survive long term your best chance may be to get back to civilisation and get back quick.

Having said that as with most situations the optimal strategy is probably somewhere between the two extremes.

<comment> a-priori If you have no idea how to get back to civilization, your best strategy is to wait for search and rescue. Wandering aimlessly is the worst thing you can do.

<comment><USER13> Also, you want to try and make a signal to any rescuers or passers by.

Try chopping down trees in a pattern so planes can see the pattern. Have a bonfire ready that can be lit in less than a minute if you hear a plane or helicopter, or see a boat. A mirror too can be reflected out to people.

<comment> a-priori Yes, the universal symbol is to make an X in an open area with branches or something. A smoky fire is also a good idea.

</comment></comment></comment></comment></comment><comment><USER14> One thing not mentioned is what you're looking to avoid when you're conducting the UET.

When testing skin contact beware of:

* Rash

* Hypersensitivity (to touch or light)

When testing by contact with the lips and chewing beware of:

* Numbness or pain

* Spicy flavour, heat or burning sensation

* Any hint of a taste of almonds (as mentioned: Cyanide. Not a good idea)

This is by no means complete, the 'SAS Survival Guide' has some good info on this topic, though other parts of that book should be taken with a grain of salt...

<comment><USER15> Don't forget to wait. Poison ivy might not show up till the next day.

</comment></comment><comment><USER16> Okay, someone a bit more intelligent than me should correct me on this:

Are most poisonous plants not bitter or foul tasting? Also, apart from mushrooms, don't they usually signal their poison?

Why does a plant develop poison if not to discourage animals from eating it : and if it does not signal through taste or look, how would an animal know?

I know nothing about this topic, I'm actually curious.

<comment><USER7> Many wild plants are bitter while being perfectly edible - pokeweed, for example, is widely eaten despite being rather bitter without preparation (it is still edible even raw, I've munched on it often when hiking as a teen). Others are perfectly tasty while being poison, some will just make you sick, but wild almonds are supposed to taste like domestic ones, but have enough cyanide to kill a child outright.

<comment><USER17> All other sources I have found suggest that mature poke leaves are poisonous until cooked. I'm not sure if Bill is a troll, wrong, or just of solid constitution, but please do your own research before taking his advice on wild edibles.

ps. I've also seen no one else claim that "wild almonds" taste like domestic almonds: "not even the most ardent nut lover among us will eat wild almonds; their lousy taste keeps us away" <http://discovermagazine.com/1994/sep/biologyandmedici422>

<comment><USER7> I've seen claims both ways on leaves - poisonous and not - I've only eaten them cooked and don't particularly like them. The young stalks are the only part universally agreed not to be poison, that is the part I have eaten often (older stems gain poison later - rule of thumb is not to eat them after they start turning purple, though I have eaten them up until they started getting woody without problems). Some sources claim the berries are poisonous some claim not, but I grew up being told they were poison and have never tried them. And the root is universally agreed to be seriously poison.

</comment></comment></comment></comment><comment><USER18> Even with a survival manual it's easy enough to get one harmless food source mixed up with another look-alike harmful one.

It's widely speculated that this happened to Chris McCandless aka Alexander Supertramp, who hiked into the Alaskan wilderness back in the 90s to get away from it all but ended up dying from either starvation or eating something poisonous which contributed to his starvation..

I guess the point is get ready to kill some small animals and go fishing. The idea that a couple of "Castor bean seeds" could be fatal is enough for me to consider all plant life poisonous unless I'm 99% positive it's a lemon or an apple or something like that, something well known...

<comment><USER19> Wiki page on McCandless: <http://en.wikipedia.org/wiki/Christopher_McCandless> The speculation is that he died either from eating <http://en.wikipedia.org/wiki/Hedysarum> or Hedysarum with "Black Patch Desease" fungus : <http://en.wikipedia.org/wiki/Rhizoctonia_leguminicola>

I just watched the movie about him "Into The Wild" -- pretty interesting.

<comment><USER13> He died in the Denali National Park:

"Wild blueberries and soap berries thrive in this landscape, and provide the bears of Denali with the main part of their diets. Over 450 species of flowering plants fill the park, and can be viewed in bloom throughout summer.

Unfortunately, the spring and summer months are short."

[http://en.wikipedia.org/wiki/Denali_National_Park_and_Preser...](http://en.wikipedia.org/wiki/Denali_National_Park_and_Preserve)

Edit: his journal was called "Beautiful Blueberries."

</comment></comment></comment><comment><USER20> Look for the plants that other animals are eating, use them as bait, eat the other animals.

</comment><comment><USER21> Reminds me of a theory I came up with awhile ago. Why do little humans have such a strong propensity for sticking everything in their mouths? Well, way back when in the stone age, infant mortality was high. Mortality among the newborn is high for many species. As a result, low tech-level human communities don't invest in a little individual until they make it in the world for awhile. In fact, the little buggers haven't really had _that_ many physical resources devoted to them. It takes a lot of food to make a baby. But that's peanuts to the resources invested in an adult over 2 decades of life. So who should be the food taster? Who should try things out to see if they're safe to eat? That's right, all those little ones!

It actually makes evolutionary sense for little humans to want to stick random things in their mouths and so become unwitting food tasters. It's better for the community, overall.

(Also, it puts pressure on mothers to be _attentive_! Another benefit to the community.)

Lots of female friends of mine _absolutely hate_ this theory. I can understand why. But nature isn't always so nice.

(And yes, this theory is actually testable!)

<comment><USER22> The theory may very well be true, but it isn't very helpful. Firstly, you probably won't have an infant around when you get to that deserted island and secondly, if you do, it's probably your own and you'd rather die yourself than watch your child die. Of course the latter is stupid, because the child will die if you die, but humans aren't rational beings.

<comment><USER21> _The theory may very well be true, but it isn't very helpful._

Theory is a tangential discussion of food tasting and not meant to be applied to this specific context. Applying it so would be not too smart. I hope you're not making conclusions by projecting your own thought processes.

</comment></comment></comment><comment><USER5> _Boil it, if you've got the means. The army disparages this practice, saying boiling doesn't destroy all toxins. Maybe not, but it'll destroy some toxins, and at the same time get rid of the tannins that render foods like acorns unpalatable._

Boiling doesn't get rid of tannins. Native Americans poured boiling water over ground acorns to leach out _some_ of the tannins.

</comment><comment><USER23> Another useful rule is that all grasses (and their seeds) are edible. Not particularly tasty or nutritious, but they won't kill you.

</comment><comment><USER24> Hmm, nobody mentions eating the insects or digging for grubs but I've seen this done on "Man vs. Wild".

</comment><comment><USER25> Water is more important than food. A person can go a long time without food, but will die without water in just a few days time.

I would observe what the local animals seem to be eating.

Another trick is to take a sample and rub a bit of it on of your skin. If it causes irritation, its probably bad.

<comment><USER26> Here's an unpleasant thought; what are the rules for drinking your own urine? Some apparently do this for fun, but what about for survival situations?

If you're able to find enough edible plants (via watching other animals), it might also be worth trying to cultivate them, but this depends on your broader circumstances.

<comment><USER27> Don't expect to stave off dehydration by drinking urine. Your body expels salts (and other substances) through urine. Thus you'll die from hypernatremia drinking urine or seawater, just as happens if you don't drink water at all.

Apparently blood and alcohol are also bad. They are processed as food, which requires large amounts of water from your body. Thus while they're both fluids, they result in a net loss of water.

Fish apparently have a column of fresh water near their spine. You can cut them open and drink from this. You can also suck fresh water from their eyes.

Edit: Oh, hey, a citation:

<http://en.wikipedia.org/wiki/Urophagia#Attempting_survival>

Everything else is from "Complete Survival Manual," Michael Sweeney.

</comment></comment></comment><comment><USER28> I got myself a copy of the SAS survival handbook sometime last year. It covers this topic and many others: [http://www.amazon.com/SAS-Survival-Handbook- Revised-Situatio...](http://www.amazon.com/SAS-Survival-Handbook-Revised- Situation/dp/0061733199/ref=sr_1_1?ie=UTF8&s=books&qid=1264167645&sr=1-1)

<comment><USER7> There are a _lot_ of books with this advice in them. It could even have been cribbed from my Boy Scout Handbook from back in the 1970s.

</comment></comment><comment><USER29> I would collect everything an animal might want to eat, place them in distinct piles and watch what comes around and what is eaten. You can then form a strategy based on the animals sited or just eat what they do, working up from very small portions.

</comment><comment><USER30> Not about survival as such, but the "Plants for a Future" project catalogues 7000 "rare and unusual plants, particularly those which have edible, medicinal or other uses."

<http://www.pfaf.org/>

</comment><comment> a-priori One tip I learned for berries was that if the birds don't eat them, you shouldn't either because they're almost certainly poisonous. The reverse is not true: birds can eat things you can't.

<comment><USER31> Bottom line: If there's any there, it's not safe to eat it. If they're all gone, then they would have been safe.

Next chapter, how to test for witches by the flotation method.

<comment><USER7> >If they're all gone, then they would have been safe.

WRONG. Birds can eat a lot of things that would make you very sick.

</comment></comment></comment><comment><USER32> _How do I know what I should eat and what I should feed to my mother-in-law?_

I haven't seen this point addressed, neither in the article nor in this discussion. But does it sound to anyone else like he is implying that he wants to live but would like to poison his mother-in-law? (I know it's cliche, but the phrasing sounded odd to me. Maybe it was intended humorously.)

</comment><comment><USER33> Apparently you have an Internet connection. Look it up on Wikipedia.

</comment><comment><USER34> If you must eat plants and can't watch the animals then:

Spread a bit on your skin, wait a while to see if there's a rash. Touch some to your lips and tongue, again waiting a while to see if there's a reaction. Eat a tiny bit, wait a while. Eat a larger bit and then wait. Continue upping the dose.

This is from memory from the SAS survival guide. Should take days and isn't very safe but may be the best you've got.

<comment><USER35> This sounds vaguely familiar... like I just read an article with this advice, or something...

<comment><USER34> Ah, yeah I should have read the article. Oops.</comment></comment></comment>


The Secret behind the Computational Engine in Wolfram Alpha - <AUTHOR> http://blog.wolframalpha.com/2009/05/01/the-secret-behind-the-computational-engine-in-wolframalpha/

<comment><USER2> > As a result, the five million lines of Mathematica code that make up > Wolfram|Alpha are equivalent to many tens of millions of lines of code in a > lower-level language like C, Java, or Python.

Calling Python a "lower level language" seems quite a bold statement. It makes me want to learn Mathematica just for the sake of understanding why it is higher level than Python.

<comment><AUTHOR> I think it is considered higher level just for the sake of how much work is already done for you similar to a program like matlab with many many already compiled functions and algorithms. It probably isn't so much higher than python when you take into account all the available libraries however it is probably much faster at these tasks.</comment></comment>


Hints for computer system design (1983) - <AUTHOR> http://research.microsoft.com/en-us/um/people/blampson/33-Hints/WebPage.html

<comment><USER2> Here's a talk he gave on this topic, from 2013: [http://www.heidelberg- laureate-forum.org/blog/video/lecture-...](http://www.heidelberg-laureate- forum.org/blog/video/lecture-friday-september-27-butler-w-lampson/)</comment>


[video] Kurzgesagt – Loneliness - <AUTHOR> https://www.youtube.com/watch?v=n3Xv_g3g-mA <comment><USER2> If it's literally killing people I wonder if over a long enough time natural selection would start kicking in and people with less need for others would survive.

The future is tiny psychopaths everywhere!</comment>


Show HN: µFSM – A state chart library for embedded applications - <AUTHOR> https://github.com/jonpe960/ufsm/tree/ufsm-0.1.0 <comment><USER2> Very nice! Anything that allows something more sophisticated than switch:case in embedded systems are welcome! Also, state machines are way too often overlooked as a proper model for embedded systems architecture. My guess is that proper implementation may become hard (specially if you want to nest them), and there are lots of hardware engineers doing firmware.

In my case, when I want to use a state machine for a project, I usually go with Quantum Leaps [1] tools. Nowadays their website seems cluttered and management-focused, but the tech is solid and the tools are very robust.

They also distribute a book [2] on how to use the model using their framework as an example, and I even implemented my version of it as an exercise years ago.

It does not have (or did not, I haven't checked in the last few years) a tool to translate from XMI to their framework, but they have a freeware to draw the chart. Frankly, I have not even used it: I draw the state machine using some editor and it is easy enough to translate to code and maintain. Maybe not the best, but up until now, very nice to deal with the limited complexity of most embedded systems.

[1] [https://www.state-machine.com/doc/concepts#HSM](https://www.state- machine.com/doc/concepts#HSM) [2] [https://www.state- machine.com/psicc2/](https://www.state-machine.com/psicc2/)

<comment><USER3> I second the use of statemachine for embedded systems.

They're particularly ideal for embedded systems. The limited ram in many embedded systems makes a full dynamic language difficult to fit but a state chart interpreter can be very minimal while production runs can be compiled directly to code. Memory management in state charts can often be much easier to handle.

There's also a lot of benefit to describing valid states for your system both in terms of correctness and the ability of algorithmically finding an optimal reduced state machine.

Personally I am fond of SCXML as it's fairly concise, can include code snippets, and has a relatively well documented standard easy to display by converting to Vue/React/WebComponents. XMI with its connection to UML didn't seem appealing to me, but this project seems pretty robust!

<comment><USER4> > They're particularly ideal for embedded systems.

While I agree, I think this promotes the idea that they're only good for embedded systems, especially small ones. State machines are not always the right tool for the job... only most of the time :)

State machines(or DFAs for you CS guys) are used all over. For instance, AFAIK, grep is generally implemented with a state-machine, albeit one which is dynamically constructed at run-time(which is a pretty cool concept if you ask me).

<comment><USER3> True! Statecharts are handy in lots of domains. Embedded happens to be a prime target due to the memory constraints combined with often limited behavioral requirements.

IMHO, most websites / UI's implement half of a poorly understood state machine (to roughly paraphrase the Common Lisp quip). Qt apparently also has an interesting statechart engine as well: [http://blog.qt.io/blog/2017/01/23/qt- scxml-state-chart-suppo...](http://blog.qt.io/blog/2017/01/23/qt-scxml-state- chart-support-qt-creator/)

</comment></comment></comment></comment><comment><USER5> A must read for anyone interested [https://statecharts.github.io/](https://statecharts.github.io/) Also I highly recommend to check out `xstate` TypeScript library. It's a breeze to work with it.

<comment><USER6> Thanks so much for the praise (I created `xstate`)! I'm working hard on making it fully SCXML-compatible.

<comment><USER5> Thank you for your work on it!

</comment></comment></comment><comment><USER7> On the topic of state-machines, there are some really cool typed libraries out there. The ones that stand out are motor[0] for Haskell and ST[1] for Idris.

[0]: [https://hackage.haskell.org/package/motor](https://hackage.haskell.org/package/motor)

[1]: [http://docs.idris-lang.org/en/latest/st/state.html](http://docs.idris- lang.org/en/latest/st/state.html)

</comment><comment><USER8> For Django there's django-fsm[0] and django-viewflow[1]. I've used the former to implement some flow for an ecommerce website.

[0] [https://github.com/kmmbvnr/django- fsm/](https://github.com/kmmbvnr/django-fsm/)

[1] [https://github.com/viewflow/viewflow](https://github.com/viewflow/viewflow)

</comment><comment><USER9> I'm impressed by this and like it a lot.

If you don't mind a 'drive-by' feature request: it would be fantastic if you were to support the PlantUML state DSL:

[http://plantuml.com/state-diagram](http://plantuml.com/state-diagram)

That would push me from "interesting proof of concept" to figuring out how to use it in projects.

<comment><AUTHOR> Thanks =) I had a quick look att plantuml and it seems to support SCXML export, which I will add in a near future which might be useful for you.

<comment><USER9> Great!

This has important consequences for visually impaired programmers, so I'm glad of that as well.

</comment></comment></comment><comment><USER10> Thanks for sharing! I'm working on a device and I've been searching for a good FSM library in C with no dynamic allocation :)

<comment><USER11> Same here, I've started 2 or 3 times and not liked any of my own implementations, this might actually be useful to me _tonight_.

</comment></comment><comment><USER12> I'd like to see a combination of this and [https://en.wikipedia.org/wiki/Subtext_(programming_language)](https://en.wikipedia.org/wiki/Subtext_\(programming_language\)) along with a visualizer debugger that could scrub forwards and backwards in time.

</comment><comment><USER13> There are so many FSM implementations. The problem is when you want to implement something like this in different platforms, one has to "change the engine" along with all the connectors. Why not to use something standard like BPMN as the base?

</comment><comment><USER14> I added it to the growing list of statechart libraries in various languages: [https://statecharts.github.io/resources.html#tools-- librarie...](https://statecharts.github.io/resources.html#tools--libraries)

</comment><comment><USER15> Is there a programming language where FSM are a first class citizen?? And not just a library??

<comment><USER16> Yes. Erlang has [http://erlang.org/doc/man/gen_statem.html](http://erlang.org/doc/man/gen_statem.html)

It is part of the Erlang's standard library. SSH and SSL state and connection management has been re-written recently to use this built-in module.

Here is a video of Raimo Niskanen, the author, describing the module:

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

The title is "The tool that you never knew that you always wanted", which was borrowed from another member of the community (Jesper L. Andersen)

</comment></comment><comment><USER17> Thanks for sharing this. I really like the idea of being able to extract the state machine from a higher-level spec you've included here. The DHCP client example especially is really nice.

</comment><comment><USER18> It requires a paid tool (Staruml) to extract a fsm from a state chart?

Regardless, this looks very cool I will dive in later.

<comment><AUTHOR> I've used the evaluation version

</comment></comment><comment><USER19> What do you recommend as editor? Does Papyrus work?

<comment><AUTHOR> I've only tested with StarUML, but the plan is to support more tools

</comment></comment><comment><USER20> this looks awesome!!

</comment><comment><USER21> Probably worth having a look at this: [https://youtu.be/c9Xt6Me3mJ4?t=4196](https://youtu.be/c9Xt6Me3mJ4?t=4196)

Embedded shouldn't rhyme with "C".

<comment><USER22> It's true that embedded software doesn't _need_ to be written in C but if you're distributing a _library_ that's aimed at embedded systems then C is still a terrific choice for a ton of reasons. The goal of a library should be to embrace the path of least resistance for adoption. And when you're working in the embedded space that means targeting the least common denominator. Are all embedded systems extremely resource constrained? No, but many are. Do all applications running on embedded platforms need to be real-time? No, but many do.

Writing in C means you can get small binaries, with minimal runtimes, easy control over things like memory allocation, and if you want to use the library you don't _have_ to write C because almost any language with any form of FFI is going to target C before it targets C++.</comment></comment>


Maintainers for desktop "critical infrastructure" - <AUTHOR> https://lwn.net/SubscriberLink/711337/2403c8e4a57ae1d0/ <comment><USER2> It's amazing how little the active pulseaudio dev from the article wants

[https://www.patreon.com/tanuk](https://www.patreon.com/tanuk)

I'm amazed at his low cost of living, at the same time for such a widely used bit of software perhaps some of the distro companies could chick him some cash each month too.</comment>


Yik Yak is secretly pivoting to group messaging - <AUTHOR> http://www.theverge.com/2017/2/13/14602798/yik-yak-pivot-hive-group-messaging-college <comment><USER2> I guess the secret's out now.</comment>


Taking advantage of new technology. Insights from spreadsheet inventor danb - <AUTHOR> http://blog.businessofsoftware.org/2011/08/there-is-always-new-technology-when-should-we-care-how-do-we-take-advantage-of-it-dan-bricklin-video.html

<comment><AUTHOR> This is a video & transcript from Dan Bricklin's talk at Business of software 2010. Dan invented Visicalc, the first commercially available spreadsheet programme. Hugely insightful guy with some great pictures and home movies of the young Bill Gates, Steve Ballmer and others.</comment>