Show HN: Makesite – A static site generator in 125 lines of Python - <AUTHOR> https://github.com/sunainapai/makesite <comment><USER2> A while ago I had written a tool called PySiteCreator.

It lets you create simple web sites (I originally thought of it for creating wikis, but later realized it was more general) by writing them purely in Python, using Python function calls to generate various HTML elements.

It uses a make-like approach (file timestamp checking between input and output files) and relies on a simple convention that users have to follow, of defining a Python function called create() in each .py file they write, where each .py file will be used by the tool to generate a corresponding .html file. Other than that, it places no restrictions on the user, and any arbitrary Python code can be used to generate or pull in data from anywhere, to be included in the web pages it creates.

Blog post about PySiteCreator here:

[https://jugad2.blogspot.in/2009/11/early-release-of- pysitecr...](https://jugad2.blogspot.in/2009/11/early-release-of- pysitecreator-v01.html)

Source code here:

[https://bitbucket.org/vasudevram/pysitecreator](https://bitbucket.org/vasudevram/pysitecreator)

</comment><comment><USER3> Personally, I used Jekyll for a while before switching to a simple Makefile based approach. I write everything in Markdown, which gets compiled via Pandoc, concatenated with a header and footer. I also recently started using pygments to generate colorized inline HTML to syntax highlight code blocks.

If anyone is interested, I wrote up the process[1], although I have not updated the post with the pygments script yet.

[1] - [http://cdaniels.net//2017-11-22_make-static- site.html](http://cdaniels.net//2017-11-22_make-static-site.html)

<comment><USER4> Fellow Jekyll refugee here. I also switched to the Makefile SSG approach for the much faster incremental rebuilds. Parallel speedup with make -j is also nice.

My SSG is called tinysite [1] [2]. Templates are jinja2. Posts are written in markdown with Pygments highlighting for fenced code blocks. Posts also have JSON frontmatter which can #include other JSON data files, and this is where it gets Make-y: all affected pages get rebuilt when a data file changes with the help of a `gcc -M`-style file dependency scanner. I use these frontmatter "data includes" for site wide metadata and for data driven pages like post indexes. There's also a dev server so you can quickly preview changes.

The biggest frustration I have with the Makefile + interpreted language approach is the slow startup time of interpreters these days. When every page requires a new interpreter process it really starts to add up, if not in incremental builds, then definitely in full rebuilds of larger sites. Some quick tests I did recently of `time $INTERPRETER -[c|e] ""`:

      node 6   ... 70ms
      ruby 2   ... 58ms
      python 2 ... 27ms
      perl 5   ...  5ms
      sh       ...  3ms

Perl compares quite favorably here, but I just can't bring myself to go back to it. I wish these other interpreters would get their startup time act together! I guess this is an argument for go / Hugo?

[1] [https://github.com/acg/tinysite](https://github.com/acg/tinysite)

[2] [https://github.com/acg/alangrow.com](https://github.com/acg/alangrow.com)

<comment><USER3> This is very impressive, and definitely more elegant than my approach. Getting make -j for free was definitely a major plus; before I started using a Python script to syntax highlight inline code, my site built in under a second... now it takes around 3.

I am honestly surprised to find Python is so slow in terms of start up time. This made me wonder if it was generating / searching for .pyc files, but a quick test revealed this is not the case:

      sh-4.3$ ls
      nop.py	nop.sh
      sh-4.3$ hexdump -C nop.py
      sh-4.3$ hexdump -C nop.sh
      sh-4.3$ time python3 nop.py

      real	0m0.064s
      user	0m0.048s
      sys	0m0.016s
      sh-4.3$ time sh nop.sh

      real	0m0.002s
      user	0m0.002s
      sys	0m0.000s
      sh-4.3$ python3 -m compileall .
      Listing '.'...
      Compiling './nop.py'...
      sh-4.3$ time python3 nop.py

      real	0m0.062s
      user	0m0.057s
      sys	0m0.004s

      sh-4.3$ python3 __pycache__/nop.cpython-35.pyc
      sh-4.3$ time python3 __pycache__/nop.cpython-35.pyc

      real	0m0.060s
      user	0m0.048s
      sys	0m0.012s

I would add that shell can be surprisingly fast for certain tasks when used correctly. It's very easy to write slow (ba)sh code though, so most shell scripts wind up being fairly non-performent.

Edit: formatting.

</comment></comment></comment><comment><USER5> This is cool, and if I had the time I'd want to do something like this for automatically generating a google-photos style site from my Pictures directory.

Also, if you're looking for a stable Python-based static site generator... I've been pretty happy with Pelican ([https://blog.getpelican.com/](https://blog.getpelican.com/)).

<comment><USER6> Agree, Pelican is easy to use and configure using Python.

</comment></comment><comment><USER7> Practically speaking, flask + jinja2 + wget [0] seems like a much more robust and approachable solution.

[0] [http://www.dheinemann.com/2011/archiving-with- wget/](http://www.dheinemann.com/2011/archiving-with-wget/)

</comment><comment><USER8> After using several different blogging platforms/tools, I finally decided to use instead a GitHub repo for my notes. Something really simple that lets me 1) create a note in plain Markdown, and 2) run a publi.sh script. That's all. After that, the note is already in my GitHub repo ready to be ctrl-f'ed when I'm looking for something I know I documented. In case anyone is interested I used this tool [0], but it was first time in my life creating a Bash script, so fairly assume the code is, well... you know :)

[0]: [https://github.com/almata/BlogGit/blob/master/README.md](https://github.com/almata/BlogGit/blob/master/README.md)

<comment><USER9> I'd recommend shellcheck[1] to help avoid common pitfalls with bash/sh, particularly in regards to word splitting.

[1] [https://www.shellcheck.net/](https://www.shellcheck.net/)

<comment><USER8> Many thanks, I'll do.

</comment></comment></comment><comment><USER10> Maybe browsers should just understand Markdown. Cut out the middleman.

</comment><comment><USER11> Writing static site generators is my favourite way of learning a language. Usually covers all the basics, libraries, FS, error checking and so on

<comment><USER12> Do you have an good example for this, yours or someone else's? I've never thought of that as a learning-a-language project.

<comment><USER13> Conveniently there seems to be a dozen or more static site generators written for every popular language, often with varying levels of complexity to learn from.

For example, Go: [https://gohugo.io/](https://gohugo.io/)

List: [https://github.com/myles/awesome-static- generators](https://github.com/myles/awesome-static-generators)

<comment><USER14> Additional resource: [https://www.staticgen.com/](https://www.staticgen.com/)

</comment></comment></comment></comment><comment><USER15> Shameless plug, I have been a little upset about how convoluted the static site offerings have been. So I have been building [https://www.gabrielcsapo.com/sweeney/](https://www.gabrielcsapo.com/sweeney/) in my free time. It needs a ton of work, but trying to keep it compact and 100% tested. The main source of inspiration is making static sites configurable enough for people to stop using Wordpress and making their clients lives incredible difficult. Really cool project @makesite!

</comment><comment><USER16> Hugo is still most convenient, at least for me and my workflow. I just pull it with homebrew, created my theme/template, write blogposts in Emacs org-mode (using ox-hugo), host it on GH pages for free, and use custom domain and free tier cloudflare.

I am really enjoying bare essentials I got, very streamlined process that does the job for me. This looks interesting, I really like minimalist aspects of software, but what ain't broken don't fix it.

<comment><USER17> Alright - I like your website layout: [https://defphil.com/](https://defphil.com/)

But to be fair, some people may want different features than the bare minimum. Also, even if Hugo is the most convenient as an org-mode user, I highly doubt it'd be the most convenient for others (who don't use org-mode lol).

Also, you should write more posts!

<comment><USER18> The Hugo generated site features can vary with the theme used (I believe there are 200+ options), and the features can get as detailed as a user wants if they just template their own site.

Ox-hugo that the OP mentioned is just an Emacs package that exports Org to Markdown + front-matter ( __without having to manually specify many of be front matter data in the Org source.. most of it is auto derived. __).

</comment></comment></comment><comment><USER19> I use Jinja2 to template all my static sites -- it helps me host compellingsciencefiction.com straight from AWS S3 very, very cheaply.

</comment><comment><USER20> generate static site with 1 line of shell command

        echo "<html>" > index.html

<comment><USER21> Is this a valid HTML? [https://validator.w3.org/](https://validator.w3.org/) seems to require this as minimal HTML to validate successfully.

        <!DOCTYPE html><html><title>0</title>

I would thus fix your 1 line shell static site generator like this.

        echo '<!DOCTYPE html><html><title>0</title>' > index.html

<comment><USER22> You can trim <html> tag and still get valid html: <!DOCTYPE html><title>0</title>

</comment></comment></comment><comment><USER23> This seems to use the commonmark library to render Markdown? Can it render Pandoc flavour of Markdown?

How widespread commonmark really is? Any popular sites using it? If I write my blog posts in commonmark is it safe to assume site generation tools 10 years from now will correctly render commonmark?

<comment><USER24> The main competitor to CommonMark is GFM, which is now based on CommonMark.

[https://githubengineering.com/a-formal-spec-for-github- markd...](https://githubengineering.com/a-formal-spec-for-github-markdown/)

<comment><USER2> I had checked out CommonMark a bit and blogged about it here, including an example of using it, and a bit about their goals:

CommonMark, a pure Python Markdown parser and renderer:

[https://jugad2.blogspot.in/2014/09/commonmark-pure-python- ma...](https://jugad2.blogspot.in/2014/09/commonmark-pure-python-markdown- parser.html)

One interesting point from them was this:

[ Reddit user bracewel, who seems to be a CommonMark team member, said on the Py Reddit thread:

eventually we'd like to add a few more renderers, PDF/RTF being the first.... ]

<comment><USER24> Interesting, I have a little sideproject at work that would _really_ benefit from markdown -> rtf.

</comment></comment></comment></comment><comment><USER25> I absolutely love Pelican with M.CSS[1], automatically deployed by my already existing TeamCity instance that triggers a rebuild on git repository changes.

[1] [http://mcss.mosra.cz](http://mcss.mosra.cz)

</comment><comment><USER26> Can't speak to the usefulness of the code but really admire the style. Very clean, concise and lots of composition. Love it.

</comment><comment><USER27> I did something similar in C++ way back in high school. Even called it makeSite too: [http://www.cydeweys.com/archive/makeSite3.cpp](http://www.cydeweys.com/archive/makeSite3.cpp)

Funny how they're fundamentally not that different.

</comment><comment><USER28> how stupid is to measure code in terms of lines?

Make all that a library then you can claim:

A static site generator in only 3 lines of Python

Measuring lines of codes is completely wrong. See the Scala trend were people race to find the shortest way to express something generating hard to understand code. 1) Code has to be written to be maintenable. 2) Code has to be written to be read by your coworkers. 3) The bottleneck while coding is not the keyboard.

<comment><USER29> Unless you have put effort into squeezing as much logic as possible into each line, the less code the easier it is to maintain. With more code, more stuff can go wrong. It's not just because we are bad at writing code, we have probability against us. If the bug average is 1 bug per 100 LOC then 100 LOC will have less bugs then 10k LOC. We also have physics against us, reading and comprehending 10k LOC of code will take much longer then reading 100 LOC. With that said I do agree with you that LOC don't say much about anything. It's a stupid metric. With higher level languages, a 100 LOC file might actually be millions LOC if you include all the libraries. Them being libraries means they are mostly decoupled, which makes things better, because coupling is the root of most complexity.

<comment><USER28> That's not the point. Trying to squeeze the code in less lines as much possible is not the way to go if you loose clarity. Python coders keep repeting the mantra "less line of code" but in the mean time they keep typing: self. self. self.

</comment></comment></comment><comment><USER30> Please don't use the number of lines as a metric for simplicity, it really doesn't mean anything

<comment><USER31> For two programs that do the same thing coded in the same language, I would pick the one with the least amount of lines but that doesn't mean that less work went into it... Probably the opposite</comment></comment>


New App Lets You 'Assassinate' People in Real Life - <AUTHOR> http://business.time.com/2014/01/03/new-app-lets-you-assassinate-people-in-real-life-2/ <comment><USER2> 5 cents per bullet?

What ever happened to just paying $40 for a game and getting to use it forever? (This killed Candy Crush for me. I love the gameplay dynamic and the graphics, but the constant upselling just makes me want me smash my phone into a fine paste and then feed the paste to the game's developers.)

<comment><USER3> If you are good you can keep getting bullets by killing people and stealing their bullets.

If they charge $40, nobody is going to play the game.

Not a supporter of the app, but it's pretty obvious the pay for bullet business model is the correct decision. It's hardly much at all considering the potential entertainment value for those who play it. Consider how much you would have to pay for paintball.

It's strange, it seems like on every single topic, nobody on HN wants anybody else to make any money at all.

<comment><USER2> Doesn't every serious video game cost like $60?

<comment><USER4> I guess it depends on the game. Starcraft 1 "Broodwars" is pretty cheap, but only super-serious gamers play it.

</comment></comment></comment></comment><comment> vezzy-fnord This appears to be a digital variation of an already famous and commonly played game called Assassin: [https://en.wikipedia.org/wiki/Assassin_%28game%29](https://en.wikipedia.org/wiki/Assassin_%28game%29)

That said, considering the negative attention received by the latter, which is remarkably benign, I don't know how Dustcloud will fair with authorities.

<comment><USER5> Yes! And the old creative way was so GREAT - all these new "toys" seem very unnecessary.

This had to be one of the most fun role-playing games we did in my first year of college. Looking over my shoulder going into the Library for Nerf packing friends, then having to scan the dorm room for watches with timers or booby traps. Or the worst - making sure my soda didn't have a blob of Tobasco at the bottom of it at lunch :)

Awesome memories.

Can kids these days still play this type of game in college? Or do they end up getting expelled or arrested or something? I was in college a couple years shy of kids having cell phones, and South Park and Jerry Springer were the world's worst (and best) evils. It was a great time.

<comment><USER6> There is a similar version that I know a friend plays at a large university. It's Humans vs. Zombies. If you get "bit", you are a zombie and have to wear something that identifies you as such (normally a bandanna tied around an arm). If you're a human, you carry a nerf gun with you. If you hit a zombie with a nerf bullet, they can't bite you for a while (next time you see them, or such).

<comment><USER7> Yea, this is a popular game. For a while (at least at a big state school), the rules were similar to "Assassin", but have since been changed. At my university, the game is only 'on' during defined sessions, typically after classes have ended. So people aren't sprinting through large groups of students waving fake guns, and campus police know when the game is being played. It works out because the people with Nerf guns are in large groups, and the people hiding and sneaking around don't have guns.

</comment></comment></comment></comment><comment><USER8> Whoa whoa whoa. You have to pay for the gear, and _also_ for each bullet?

<comment><USER9> Just like an actual gun, only virtual!

</comment></comment><comment><USER10> Given the prevalence of gun ownership and concealed carry permits in the US, this is a tragedy waiting to happen.

<comment><USER11> I have several rifles, including an AR-15 "assault" rifle and an Yugoslavian SKS with a bayonet and primer-fired grenade launcher on it[1]. I also have several handguns which I very often carry concealed.

I have no desire to shoot someone. I don't fantasize about power trip, fatalistic shooting sprees. I'm not afraid of being out in society. I don't pose in the mirror with my guns. I don't buy all the latest accessories I see in Call of Duty. I score _way below_ average on all those psychopathy tests floating around the Internet.

So what's the catch? Nothing. I'm the same as the next dude.

1\. Disclosure: I may end up using the grenade launcher some day. They have some great aftermarket grenade cages that happen to be compatible with tennis balls.

<comment><USER12> "I also have several handguns which I very often carry concealed."

I'm curious - why?

I don't generally carry around stuff that I don't think I'll need, particularly if those things have to go on my person (e.g. in my pockets) rather than in a bag that I can put down when I'm stationary.

<comment><USER11> It's good to have, "just in case". Carrying in comfort is an art form (aka "hard"). I live in an area where we have one law enforcement office, and law enforcement response times are ~20 minutes for violent crimes (I know this because I'm working on a data research project that produces statistics for local crimes, and it includes report vs response times).

<comment><USER13> That sounds like you're fantasizing about a power trip.

<comment><USER14> How do you square that with the fact that there are roughly 8 million concealed carry permit holders in America today?

Are they all on power trips?

[http://www.gao.gov/assets/600/592552.pdf](http://www.gao.gov/assets/600/592552.pdf)

<comment><USER12> permit to do something != doing it

However, I agree that's a LOT of people. Even if only half are holding at any given time, it's 1% of the population... Scary.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> It seems like the "guns and bullets" aspect of this are a) going to be a problem with the authorities, and b) an unnecessary cost.

Why not just an app that lets you play spy vs spy or zombie vs human based on proximity? Shaking your phone at another player within 3m counts as a kill.

</comment><comment><USER16> Amusing concept until the cops show up with real guns and the wrong idea.

<comment><USER17> Yeah, that's what I thought. These days you can't even carry a rice cooker around without people freaking out. Imagine the chaos that would ensure from people carrying around concealable "guns" and "shooting" each other.

<comment><USER18> Maybe make them look more like Star Trek Phasers palm phaser (TNG,DS9, Voyager) and less like a gun.

</comment></comment></comment><comment><USER19> My shallow Google search seems to indicate smart phones with IR are not common (though clearly I'm a smart phone ignoramus).

If phones with IR were common, you could just download an Assassin app or any of a variety of other apps for impromptu game playing.

Custom made IR toys clearly are a step backward in any case.

</comment><comment><USER20> Here's their kickstarter: [http://www.kickstarter.com/projects/enter-the- dustcloud/dust...](http://www.kickstarter.com/projects/enter-the- dustcloud/dustcloud-turn-your-street-into-a-battlefield)

</comment><comment><USER21> So they basically made a real [http://en.wikipedia.org/wiki/Gotcha!_(1985_film)](http://en.wikipedia.org/wiki/Gotcha!_\(1985_film\)) app and stuff. I wonder how many developers of the app watched the film when they were kids... I mean, if they're that old :-)

</comment><comment><USER22> Will wait for new news headlines where some poor chump gets shot by the authorities because of aiming a device at someone else (like James Bond).

As with kids with toy guns in the past. Just google for "officer shot 13 year old with toy gun"

</comment><comment><USER23> Clever, but it will never take off. These real world type games always tank. Why? Because no one wants to go running off randomly looking for a stranger whilst looking like a complete twat. And making actually pay for this? pfft

</comment><comment><USER24> If you want to know where they stole the basic idea from, my friend Yutai Liao created [http://www.streetwars.net/](http://www.streetwars.net/) years and years ago.

<comment><USER25> I doubt this idea was ever "stolen". It's such a simple game that I'm sure there have been hundreds of variants ever since the start of the computer revolution.

<comment><USER24> Can you point me to some evidence to support your claims?

</comment></comment></comment><comment><USER26> ok, sorry but if you can't "shoot" with the app but require a custom tool, it will never ever reach saturation in any area (outside New York) for it being fun to play against strangers.

<comment><USER27> It doesn't need saturation if, say, someone buys them for their entire office/fraternity/club as a team-building exercise.

</comment></comment><comment><USER28> Cops are going to shoot these people.</comment>


Ask HN: How was your experience using gig marketplaces s.a upwork, fiverr etc.? - <AUTHOR> Were you able to find quality customers (as sellers) or quality contractors (as buyers)? <comment><USER2> \- I have completed about ~150 programming gigs on fiverr as a seller. Most of them are small tasks related to python/ google app scripts. \- My average selling price is ~50$. Buyers on fiverr are moslty looking for short-term projects or get some very specific things done. \- It highly competitive, especially if you are just getting started. Building a reputation through reviews is very important for potential buyers to find you. \- Best advice would be to get around 10 reviews by pricing the service around $5-$25(easy to get gigs in the range). Once you have some good reviews, you will rank better in their search and have the leverage to charge buyers more. \- Nice thing about fiverr is you don't have to bid for work as a seller. Potential buyers will contact you if they find out what you offer through your gig description. Experience so far has been good- buyers are straightforward and happy if you give them quality service.

</comment><comment><USER3> I used voicebunny and that went really well! I'm kind of amazed how cheap it is to get great voice talent on there.

</comment><comment><USER3> I used fiverr and it didn't work out. Can't really complain because it was so cheap but I'm reminded of you get what you pay for.

<comment><USER3> Forgot to mention, I used it to get an illustration made that I wanted to put on my surfboard just for fun. They didn't make what I asked for, not even close and never replied when I tried to get a revision.

</comment></comment><comment><USER4> Basically: no. Found better luck with Toptal.

</comment><comment><USER5> I only currently use these services as a buyer (e.g. I pay someone for service)

\- Fiverr

\- Upwork

\- Hackhands

\- 99designs

\</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>

Horror stories with fiverr:

\- Fiverr is some of the worst service I've ever experienced. I had to get someone to do a vector trace. There's only ONE way to interpret a vector trace, you make a vector off an image. Literally, verbatim copy. It took me almost 2 weeks to clarify all the details because the guy didn't speak English. He had good fiverr ratings too... pricing wasn't the lowest nor highest. I wasted 5 hours explaining something that didn't even need an explanation

\- I gave someone $200 to make a marketing catalog. I had made a 92 pager and needed to condense it down to 20 pages. Just need to copy paste files I've made, etc. I gave him my .indb fill, full assets, everything, annotated markings of which things to copy paste. One of the highest rated as well. Gave expectations, design guidelines, reference documents to get my point across. Results were so disappointing that I ended up doing the work myself

Good things about fiverr

\- Photoshop work. Works wonderfully, I pay someone from UK $5 to $10 an image for high quality work. He tells me how difficult the work will be based on how awful my images are, but its within expectations.

\</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>

Good things about 99 designs

\- Logo design outsourcing is not bad. I might use it again. Pretty decent for graphics / illustration work. Can't attest to anything else here

\</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>

Good things about Hackhands

\- Good place for needing quick mentor / technical help on a number of issues I have on projects. Get help within 5 minutes. I have a great guy from India who I pay $1/minute to resolve technical issues I have with MERN stack.

\</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>

Good things about Upwork

\- Upwork is really nice for the buyer. For sellers _(freelancers - I can see why it sucks, its a bidding war)_. But this is why its so great as a buyer, you can't have the best of both worlds.

\- If you know how to spec out a job in upwork _(e.g. you know how to do the project yourself, but inefficiently)_ , it makes things miles easier to find good contractors. I usually try to have exact design specifications. I put a short executive summary _(one paragraph)_ , followed by a dropbox link with full blown design spec details, reasoning for project, timelines, etc _(set expired link to 30 days)_. The reason I do this is b/c upwork has terrible privacy policies, I never use the attachment button until someone has been hired

\- Upwork is fantastic for finding past experience of a seller. I can look through their past projects, and what the design specifications were for that project. Its ripe full of unbiased case studies to learn how many companies operate. Most people don't bother to delete their design specifications from attached dropbox / google doc links

\- For an additional $29, you can sponsor the job, it gives you twice the amount of candidates. Not really necessary... but good to know all the same

\- As a buyer, I can set the payment schedule, by milestone, etc. So I don't get screwed over, upwork escrow has been great thus far.

\- The feedback I get from freelancers is great. Assuming you make a good design specification _(e.g. videos, links, .docx files, input /output files)_. You learn a lot about how a solution can be implemented. You get free consulting service as well... if you are smart you can use feedback from one developer, to ask a question to another. Its such a terrible thing to do, but when you have a job that needs to be fulfilled crowdsourcing answers from experts is not a bad idea. Getting so much feedback lets you effectively estimate how long projects take, with confidence. Because you use statistics to your advantage. Even if you know nothing about the technology stack.

\- Example project - I needed to do local batch processing of some files. I was given at least 5 or 6 implementations, various advantages and disadvantages of each method. I paid $50 to get an executable file made via c# and .NET. Another implementation with python.

\</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>

There are other services I may try later, or take a hand at becoming a seller. I usually scope things fairly small so I don't get disappointed by the results, and generally don't outsource things I don't know how to do myself though _(albeit, inefficiently)_.</comment>


Python Textbook as a Jupyter Notebook - <AUTHOR> https://github.com/blobcity/python-for-data-science <comment><USER2> The perfect example of a textbook as a collection of Jupyter notebooks may be the Deep Learning for Coders book: [https://github.com/fastai/fastbook](https://github.com/fastai/fastbook)

<comment><AUTHOR> I totally agree. It is time we build the same for everyone to learn Python programming as well.

</comment></comment><comment><USER3> I like the concept of Jupyter Notebooks and I do use them extensively, but I can't use my emacs shortcuts which makes writing anything more than a few lines really annoying.

Especially, writing Latex Math without Auctex (emacs package) is very tedious. What's the solution?

<comment><USER4> Org Babel with emacs jupyter if desired. [https://youtube.com/watch?v=dljNabciEGg](https://youtube.com/watch?v=dljNabciEGg) [https://github.com/nnicandro/emacs-jupyter#org-mode- source-b...](https://github.com/nnicandro/emacs-jupyter#org-mode-source- blocks)

<comment><USER3> I have tried it. It works. But there is too much syntax surrounding code blocks that is annoying. And I need to enable inline Math display and inline image display to get a seamless interface.

<comment><USER4> It is emacs, it is easy to eliminate the boiler-plate e.g., by using global/per file/per org sub tree defaults, templates.

</comment></comment></comment></comment><comment><USER5> See also "Python Data Science Handbook" by Jake VanderPlas, which uses Jupyter notebooks too.

[0] [https://jakevdp.github.io/PythonDataScienceHandbook/](https://jakevdp.github.io/PythonDataScienceHandbook/)

<comment><AUTHOR> I really like this, but I find it too exhaustive. It is too much to read. Wanted to create something that is short and to the point for programmers of other languages to quickly learn basics of Python for Data Science.

<comment><USER6> Have you seen Whirlwind Tour of Python by the same author? - [https://jakevdp.github.io/WhirlwindTourOfPython/](https://jakevdp.github.io/WhirlwindTourOfPython/)

> A Whirlwind Tour of Python is a fast-paced introduction to essential > features of the Python language, aimed at researchers and developers who are > already familiar with programming in another language. The material is > particularly designed for those who wish to use Python for data science > and/or scientific programming

</comment></comment></comment><comment><AUTHOR> I have prepared a few lessons on getting started with Python. It is basically a Python Textbook for those wanting to start learning Python for Data Science. In a unique twist, the textbook is a Jupyter Notebook in itself. Code and explanation all in one. You can directly run the code while you read the textbook, and master your Python skills. Currently includes Hello World, Language Semantics, Tuples and Lists. More lessons coming up.

<comment><USER7> I just started an ML course, and while I've been a developer for about a decade I've never used Python professionally. This will be a great help!

<comment><AUTHOR> Awesome. Great to know. This is really encouraging.

</comment></comment></comment><comment><USER6> Is the mention of data science in the readme an indicator of future work that you want to add? Because as far as I can see there's no data science anywhere in the project so far.

<comment><AUTHOR> I agree. Adding it in

</comment></comment><comment><USER8> Jupyter Book seems to be a good fit for this.

<comment><USER9> what's the real difference between that vs Jupyter notebook vs Jupyter labs?

<comment><AUTHOR> Jupyter Labs is an extension to Jupyter Notebook. Functionally the same, but Labs offers a much better coding interface. In it's simplest form, Jupyter Labs feels like a proper IDE, while just Jupyter feels like a pretty notebook offering an interface worthy of reading, but not worthy enough to used as a full time coding environment.

</comment></comment></comment><comment><USER10> @moderators: This should be a show HN.</comment>


Why Most Blockchain Applications Are Dumb - <AUTHOR> https://medium.com/@karti/2-reasons-why-most-blockchain-applications-are-dumb-8e44627234af <comment> dane-pgp > For example, someone proposed an Uber-like site that's operated on a > blockchain rather than having one company control the platform. But I want a > minimum standard that I can expect from a taxi, and I want a central party > to enforce it.

Why does it have to be a central party? Why not have multiple parties competing for how well they vet the quality of taxis and drivers, as well as reviews from the people who actually use the service?

<comment><AUTHOR> Author here. Interesting idea.</comment></comment>


What Causes Resistance to Science? (2007) - <AUTHOR> http://scienceblogs.com/clock/2007/05/31/more-than-just-resistance-of-s/ <comment><USER2> Scientism, for one. People often see it as BS and may go overboard on the other direction.</comment>


Fragmentation Is Why Desktop Linux Failed [video] - <AUTHOR> https://www.youtube.com/watch?v=e8oeN9AF4G8 <comment><USER2> Actual quote from Linus as opposed to the click-bait title:

> I still wish we were better at having a standardized desktop that goes > across all the distributions. There's been some progress there. I mean, this > is not a kernel issue, so this is just more of a personal annoyance how the > fragmentation of the different vendors have, I think, held the desktop back > a bit. But there has been some progress on that front too with Flatpak and > things like that, so I'm still optimistic, but it's been 25 years. It's > going to be another few years at least.

<comment> VvR-Ox He is right with that. There is a few desktop environments that are quite good like: KDE (Plasma), Gnome (with enough options tuning & customizing) and maybe pantheon (see elementary OS)

We'd need something more smoove and better over-all integration because there is still too many shortcomings and tiny bugs that could annoy a day-to-day user that doesn't want to know anything about config files or extended menus with special settings. It should be a great thing out of the box with sane defaults. That includes the icon set as well as a decent file browser and terminal emulator experience (iTerm2 on mac is THE REFERENCE here, I wouldn't want anything less).

Next comes workflows like office /graphics /audio stuff. I like how OSX handles PDFs etc and would love to see that on linux as well.

But I'm afraid this scattering is one of the biggest enemies of adoption and maturity of open source software. There is so many OSes and tools that you often have to research stuff for hours before you start off with a shitty tool that get's the job half done and then you recognize you can start from scratch because it doesn't work as you expected.

Instead many open source projects could live up to their potential if they'd combine efforts to merge the best they did and create ONE super awesome tool.

The reallity is that very often projects are just abandoned because adoption / donations etc. are too low or the 2 maintainers are tired after years of working on a project only 100 ppl on the globe are using.

Unite! At least converge to 2 big streams: Pro-Users (the ppl making jokes about shellscripts) and People (your mom)

Just focus on delivering for these 2 groups and I think most ppl would be glad about the end product. I for myself will try to do my best in putting efforts into projects I hope will have the biggest adoption.

<comment><USER3> > There is a few desktop environments that are quite good ... Unite!

This is happening. The web is becoming the de-facto desktop environment.

<comment><USER4> Thing is, the Web as de-facto desktop environment is one reason less to even care about Linux's existence.

A browser could run bare metal for what I care.

<comment> VvR-Ox How exactly do you think you'll get your drivers working?

What do you do when the internet is crashed / your app is down?

I like the data-sync & backup part of web apps - you don't have to save etc. and your whole machine can just fall into a river but you still have your work. But I'd rather do this with a seperate solution and keep stuff on my PC so I can access it without a network.

<comment><USER4> The same way that webOS, ChromeOS, FireFox OS and a couple of other attempts do.

By providing a minimal kernel for juggling browser instances, local file system and browser specific "native" APIs.

Welcome back to the timesharing days, just with prettier UIs.

<comment><USER5> Um...well...can't say I'm overjoyed about that - the Good Old Times, whenever invoked, were rarely _good_ if you happened to actually live in them^$#%$#NO CARRIER

<comment><USER4> I should have placed a sarcastic remark.

It is however the pace how things are going, even most mobile apps are modern versions of those 2-tier apps during the 90s.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> Very heavy headline for a very nuanced position by Linus.

It's an open secret that the ideal of choice fragments the focus of creating a tight UX on the desktop. You have to understand when you watch this video though that all Linus and the kernel team can do is make the kernel itself. The community is what will end up driving the desktop UX, and they haven't done a great job creating something that can capture the average PC user.

I am not sure if this is even a bad thing. My daily driver is a Dell laptop running Fedora and I don't think I'd change a thing aside from some minor UX gripes about Cinnamon. ChromeOS really is the best hope for mass Linux adoption, and I personally know people who hate the Linux desktop experience but use a Chromebook daily.

I'm not sure what I'm trying to say here other than my personal opinion that desktop Linux has found a local maximum and I think only the distros themselves can push DE volunteers to find something that has wider appeal (I'm not sure if that is even desirable, because again, I'm personally very happy with my experience).

<comment><USER7> _all Linus and the kernel team can do is make the kernel itself_

In some sense that's a self-imposed limitation. Linus could have chosen to create an OS (like BSD) instead of a kernel.

<comment><USER8> > Linus could have chosen to create an OS (like BSD) instead of a kernel.

The BSD people also don't make a GUI.

<comment><USER9> On the contrary, they have. Lumina, for starters.

* [https://lumina-desktop.org/](https://lumina-desktop.org/) ([https://news.ycombinator.com/item?id=14282349](https://news.ycombinator.com/item?id=14282349))

</comment></comment></comment></comment><comment> d--b Fragmentation is one thing, but I don't think it's the main point. I've tried Desktop Linux many times. Mostly to avoid paying for Windows. And every time, there is something that I would like to do that I can't do, and then I'm back to Windows.

Whether it's some kind of website addin (things like video conferencing, or offline video player with DRM that require you to download an app), or some development tool (Visual Studio!), or some game, or my printer.

The issue is a catch 22: because Desktop Linux is not well adopted, companies don't develop for it. If companies don't develop for it, then there are things you can do on other systems that you can't do on Linux. And so Desktop Linux does not get more adoption...

<comment><USER10> This experience is very common. Eventually, people have had to essentially decide to either "burn the ships" and live without the thing they need or give up and live with the pain of Windows.

The good part is that over the past couple decades, the things that require Windows has become vanishingly small. Almost everything can be done on Linux these days.

</comment></comment><comment><USER11> The amusing thing is that Microsoft blew it. Windows 7 was generally considered good, but Windows 8 and 10 are widely acknowledged to be awful. Windows 8 tried to make a desktop work like a tablet. Windows 10 has intrusive ads and data collection. Most of corporate America would rather stay on Windows 7.

Linux on the desktop works just fine. I've been using it almost exclusively for five years now. I also have several notebooks using it. It's less trouble than Windows. This should be Linux's moment on the desktop.

<comment><USER12> Some of my friends ended up trying Linux in the Vista era. What happened was interesting.

I don't think any of them became full-on Linux users, but some of them continued to use Linux alongside Windows. What this signifies to me is that Linux has some strengths that people really want, but it doesn't do a great job of replacing Windows in its current state.

I find this to be my exact problem, too. Windows does a lot of things right that Linux may never, and the app library on Windows is probably going to be the best on the desktop for at least another 10 years if not longer. Linux, however, has a beautiful experience for developers and sometimes even for power users. You can turn on and off almost any feature you want, there's a ton of alternative setups. You can even run a different libc if you really want to.

I still use a Linux desktop as my primary, but I have never managed to escape dual booting or virtual machines entirely, and I'm not sure when it might be possible.

<comment><USER13> >the app library on Windows is probably going to be the best on the desktop for at least another 10 years if not longer.

The app market will very quick shift if linux really starts to get the ball rolling.

Just look how quickly developers jump on the mobile train.

<comment><USER12> >Just look how quickly developers jump on the mobile train.

Interesting. I don't feel similarly about the progress of mobile apps.

Like sure, there's a lot of mobile apps, but I feel like they are a lot less mature and developed than desktop apps are. I would guess by development effort spent, desktop apps still outpace mobile apps.

Don't get me wrong, I get that games and apps must be adapted for the amount of system resources and for the input devices users will be using. But that doesn't mean PS Touch is the same as Photoshop. It feels like a toy version of Photoshop that you can use in a pinch between having access to real Photoshop. I doubt the same number of people hours went into both.

Linux ports couldn't work that way. You would want the same thing you have on Windows.

<comment><USER14> People used to pay a lot of money for desktop apps on windows - a lot of businesses used "enterprise software" since web apps were not a thing.

There are still companies / labs across the world that are clinging to older windows versions since they rely on them for desktop apps.

Mobile apps? In-app purchases and subscriptions are the saving grace there.

You get what you pay for.

</comment></comment></comment></comment></comment><comment><USER15> Maybe $YEAR_OF_THE_LINUX_DESKTOP isn't 2018, but I don't think the clickbait title saying that desktop Linux has failed is fair. We're light-years ahead of where we were in 2011, let alone 2007. The majority of users who now try Linux desktops do so without any real workflow-breaking issues. Graphics card drivers and printer drivers often work out of the box for me. All things considered, I think desktop Linux is doing very well.

<comment><USER16> Not only that. I'd venture to say no desktop is near as good as the Linux desktop. (For a certain type of user, I should qualify.)

Don't get me wrong; there are issues. X is a system from a different era. (Graphics) Performance is pretty bad, the effects are janky, the primitives disparate.

But! As a "power user" I dread having to use any other system. On Linux, there is an incredible variety of window managers, file navigators, terminal emulators, etc. The whole gamut.

My workflow revolves around i3 and my i3 configuration. I have sworn off macs, and when I use windows, I have learned to press Super+1 for Firefox and Super+2 for Steam. Beyond that is a dark forest which I refuse to explore!

<comment><USER17> I don't think anyone here is talking about power users when discussing the failure of Linux on the desktop.

<comment><USER18> I'm a power user, and developer, and I certainly do think the Linux Desktop is an utter failure. I cite as evidence how awful Windows has become and how few people, power users included, have switched to Linux because of it.

</comment></comment></comment></comment><comment><USER19> As has been already pointed out, this isn't really what Linus said.

And, in any event, fragmentation has nothing to do with it.

Ordinary users (and even many advanced users) don't install operating systems. And one has to go out of their way to buy a machine with Linux pre-installed (and ordinary users don't go out of their way, certainly not for something that they know little or nothing about).

If real (decent) machine with Linux on them were sold in Best Buy etc. there would be substantially more users of desktop Linux. Let's not pretend that multiple distributions is the reason.

<comment><USER18> I think that's a convenient ego-saving scapegoat for the Linux Desktop. Chrome was never pre-installed and people went out of their way to get it because it was a better product.

<comment><USER19> I never said users don't install _software_ , I said they don't install _OS_ 's. Of course users install _software_ , you can't keep them from installing nearly every weird thing they come across online, that's why a quarter of the machines running desktop Windows are part of botnets.

And of course part of the reason people installed Chrome is because Google owns half of the web and they kept popping up messages telling people to install Chrome. (If it was really about installing _better_ software, we would see Firefox dominance: even privacy and openness etc. aside, Firefox has been an objectively better browser than Chrom{e|ium} since at least version 56.)

<comment><USER18> Operating Systems are software. They aren't even really that much harder to install than Windows or Linux applications.

Consider that part of the reason Linux Desktop has failed to gain any traction is people like you who would rather imagine that everyone not using their favorite software is just too inept to do so.

<comment><USER19> Ok, they install _applications_. I thought the context was clear enough that _software_ would be understood in the intended way. And yes, you're right that installing, say, Ubuntu isn't particularly difficult. It does entail more 'risk' than installing Chrome, since you could wipe out your existing OS and/or data/home-directory unintentionally if you're not careful.

> Consider that part of the reason Linux Desktop has failed to gain any > traction is people like you who would rather imagine that everyone not using > their favorite software is just too inept to do so.

I never said that they were too inept to do so (I think we agree that it's really not that difficult even for a non-techy person), just that they don't. I think it's fairly clear that ordinary people don't install OSes (again, not that it would actually be difficult for them to do so, just that they don't).

</comment></comment></comment></comment></comment><comment><USER20> The whole concept that "Linux is just a kernel" sounds like some kind of whining pedantic hair splitting, unless you understand that almost all the stuff that ships in a Linux distribution including all the FOSS stuff we call "the desktop" runs perfectly well on all modern Unix-like systems like FreeBSD et al. xorg, Firefox, Gnome/KDE/foo/bar, yada yada. Admittedly there are fewer and fewer Unix-like systems left (I cut my teeth on OSes that are now dead and buried), but it's a massive disservice to all these wonderful projects that we don't have a better ways to describe this stuff so that we don't have people talking about "the Linux desktop". Get off my lawn, etc.

<comment><USER21> It's worse, things like the Gimp and most most other major user facing linux applications have a history of also being built for windows and mac os. E.g. I regularly use Darktable on my mac and with the last release they also started supporting windows builds. Why not? The more users the better from their point of view.

Linux has a software packaging issue. There are several so-called package managers and they basically have overlapping goals and they all suck from an end user perspective. On Ubuntu when you do an apt-get install darktable, you pull in a gazillion of packages. Everything and the kitchen sink, basically. On a mac, I drag the darktable.app file to the applications after I download it. And it runs. Exact same software. It's a 217MB self contained package. There are no software conflicts. Apple designed the way that stuff works last century when they were designing OS X and wanted to keep the simplicity of how software installations worked on OS 9. The disk usage is a non issue There are no dependencies to manage. This stuff works across major versions of OS X even. Package managers don't solve a problem real users have.

The existence of package managers led to what we now call distributions, which made a lot of sense in the early nineties when slackware came in the form of 27 disks (been there, done that) but not this century. No two distributions are the same. They each need to test and integrate the same software to work in their ecosystem. Even major versions of the same distribution tend to be very different. I personally think Ubuntu, Fedora, etc. have no business whatsoever acting as a gatekeeper here and I tend to think of them more as an obstacle then as an enabler. E.g. I know the Darktable people are preparing a 2.6 release (awesome stuff). I'd like to get a binary package from them as soon as they release it. I don't see what value Ubuntu doing the same months (optimistic?) later adds. Why wait? Their need to test before they can integrate is self inflicted. It's a problem they have yet to solve.

Flatpak and similar solutions are sort of aiming to solve this for linux. But standards are lacking, progress is slow, and this stuff is nowhere close to being standardized. So, again fragmentation. Compare that to the docker eco system. Most custom stuff you deploy to a server comes as a docker image. And you can run those on many different operating systems. This kind of OS neutral way of packaging software needs to start extending to desktop software. We need Docker for end user applications.

</comment></comment><comment><USER22> I am missing an important part in this discussion: The absolute lack of a stable API for GUIs.

Command line tools, web servers, ... are easy: Take POSIX and be a bit conservative with the edge cases. It will work with a recompile for most linux distros,BSDs, OSX and if you're willing to look at e.g. cygwin, even windows. I had to compile an ancient linux 1.x program last month, and it works.

The GUI world however is a different beast. There is X11 which only offers the most basic of primitives for drawing and pointing, nothing decent for text, and the API designers want to take away even that with wayland. There is GTK that actively does not want to provide any form of stability. There is QT which has a hard-to-interop C++ API and every major version breaks everything once more. And i haven't said anything of the licenses

This means no community investment can be made in Linux GUI's: Every year or so, you have to do serious upgrades or a GUI application simply perishes. Which is basically insane. It means that whatever Linux GUI exists today is temporary for everything but the biggest applications.

Ironically, win32 is the only reasonable option on Linux: wine will provide a good enough environment, and as they are anchored API-wise to microsoft, they can guarantee they'r there for the long term.

But how I dream for a posix-like API that both GTK and QT could provide.

</comment><comment><USER23> Android shows how you do it. You get a big company with tons of money that wants to seriously build a working platform from end to end. If a company with pockets deep enough had stepped up to create a 3rd viable platform for consumers based on Linux, we'd have it. Mark Shuttleworth's pockets were not deep enough. System76's pockets aren't deep enough. It would have to have been a company like HP or Dell. Dell played with consumer side Linux but never found it lucrative to go all in.

<comment><USER24> Isn't android heavily fragmented? There are hopes they will get better, for sure, but there is a marked difference between Samsung and other phones. I don't see that going away anytime soon, sadly.

<comment><USER25> It is. It has the same problems with everyone having different UI tweaks, but at least the base Android comes with _some_ UI. Fragmentation isn't that big of a problem for users, because there's only so much you can do on a phone - between your photo album, contacts app, web browser and social media, any kind of UI will do. It also helps that most popular apps ship their own UI.

<comment><USER26> Android took off when we had HTC sense, Samsung touchwiz and others, almost no one was running the stock UI. But if KDE and GNOME and others were all running on GTK you'd still probably call it fragmented.

There's no consistency between apps on android so you don't notice it as much.

</comment></comment></comment></comment><comment><USER27> Linux desktop has not failed and desktop environments competition is a major reason why it is getting better and better. Many people love GNOME3 (and it is a de-facto standardized desktop) but I hate it and love KDE5 (and so do many other people). I hated Unity at the beginning and switched to XFCE when it was introduced but once Unity got improved I've began considering it a perfect desktop. Tiling WMs are awesome (pun intended) for particular tasks on particular display configurations. I also hope somebody is going to implement a Haiku-like WM on Linux or invent something entirely new. Diversity is good!

<comment><USER28> For existing Linux users, the situation is indeed fantastic. We have lots of choices and we're aware of this.

But if you think of "Year of the Linux Desktop" as the point in time where you can get the Windows-using masses to switch, diversity is a big problem. People don't want to be told that they have to make umpteen choices about what software to use if they want to use a different OS, they want a cookie cutter experience.

This is why "Windows like" is a selling point for many DEs/distros. It's the McDonald's principle: everywhere you go a Big Mac is a Big Mac. You don't have to worry about figuring out what appeals to you in the local cuisine.

<comment><USER19> > People don't want to be told that they have to make umpteen choices about > what software to use if they want to use a different OS, they want a cookie > cutter

So they install Ubuntu. How is that any different from Windows or Mac (where one still can go onto the internet and download a multitude of choices of software).

The real answer is that ordinary users don't install OSes. 'Fragmentation' (real or imagined) is a red herring.

<comment><USER4> Ordinary users install software, and then their beloved software only works in Ubuntu, but they got XYZ distribution with their computer, which just happens to have other package format, additional paths, .so versions, startup scripts and then everything falls apart without technical help.

<comment><USER19> But why would they have XYZ distro? Whoever sells machines with Linux pre- installed sells them with Ubuntu. Ok, so you turn the argument around and say, "Fine, but their beloved software only works on Fedora. So what then?" Then someone packages up that software in a Snap, an Appimage, or a Flatpak and they install that software (in a not dissimilar fashion to what they might be used to from other OSes).

<comment><USER4> The large majority of the time that someone doesn't exist for anything outside distribution repos.

<comment><USER27> IIRC it only takes a click to add a PPA (a 3rd-party repo) in Ubuntu.

<comment><USER4> The theme is about ordinary users, not power users.

And even then, the software needs to be available from such PPA source and the specific user is required to be running Ubuntu.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER29> Really, the reason desktop Linux isn't popular is:

1) A few things still don't work. Vanishingly few now but still a few.

2) Linux can't be simply as good as Windows or MacOs, it would have to be better for people to make the effort. And it's not going to be better. I don't think "better" is possible now (not in a fundamental, decisive way. Lots of little ways sure but, again, I don't think that's what people care so much about). An Os is just a way to launch apps and we've kind of a limit on such goodness. My desktop Linux launches my apps, especially my browser and that's about it. I like being independent of the corporate megamachine but most people would not spend the hard two hours required for this.

<comment><USER25> > _I like being independent of the corporate megamachine_

You aren't, and you won't be. Companies did an end run around user freedoms by turning everything into a service. You neither own nor control the software you run in the browser, and neither do you own the data. Replacing an OS won't help you if it's only serving as a bootloader for Google Chrome; if you want independence, you need to prefer locally executable software (which is becoming harder by the day).

<comment><USER29> Meh, I like being independent in this particular dimension. I use Firefox but that's another aspect. Obviously, Linux is "the revolution" but that doesn't mean it doesn't change on particular aspect of my existence.

</comment></comment></comment><comment><USER30> A good start would be implementing flicker-free boot on Linux. Windows and macOS had it for a long time. On Linux, it takes 5-6 mode changes before the system actually boots. It doesn't make a good impression on users, especially ones unfamiliar with Linux to see the system constantly go dark, make some noises and switch from text mode to graphics mode constantly. Same thing for shut down, most Linuxes when shutting down flash text mode for a bit with lots of messages like "trying to kill xxx unsuccessful". To an average user that screams "this software is unfinished and can break any moment", which doesn't inspire confidence.

I think the best chance for unification was Ubuntu and Unity. I use Unity on Ubuntu 18.10 because I don't like the GNOME interface (and it's much slower on my low-end laptop too). Unfortunately, the community seems to enjoy reinventing things. Implementing new stuff is exciting, fixing bugs isn't :(

<comment><USER18> To me this sounds like the rough equivelent of "users aren't buying our product, it must be because it is the wrong color".

</comment></comment><comment><USER31> In my experience the real barrier to regular users adopting Linux has been Microsoft Office. The UI is not a big impediment but when it comes to "How do I send and receive word/excell documents?" That's where the wheels fall off.

Sure there are work arounds and other formats etc but for most people that is just too much hassle.

<comment><USER17> This is mostly a non-issue with LibreOffice, unless you work with the advanced features of the Office programs (most people don't). Sure, the UI isn't as good, but I don't think that's the biggest barrier to adoption, or even close to it.

<comment><USER32> Umm, no.

The only time I use W10 is reading ppts by profs because Impress really messes the rendering.

<comment><USER17> I admit I have never actually used Impress, so I'll take your word for it. But I have never had an issue opening ppts in Google Slides. The point being, there exist solutions for opening Microsoft Office documents on Linux that are good enough for average/casual users.

</comment></comment></comment></comment><comment><USER33> The idea of a Linux Desktop is about 10 years too late now and fading fast.

I'm using Windows 7 on a desktop built in 2012 and I have no impetus to change. My wife has abandoned her desktop for an iPad Pro, which she uses at work extensively. The only thing she needs a desktop for is Excel, which she uses hardcore.

The only application I run on my desktop these days is Chrome/Firefox. Other than that I'll run Sublime because I'm a programmer, but there's nothing else I really need. Everything else is on my iPhone.

</comment><comment><USER34> Failed? I got rid of windows back in the windows 98 blue screen days. I've been using Linux desktops ever since

<comment><USER35> No offence, but the success of desktop Linux isn't measured by the adoption of 1 person.

</comment></comment><comment><USER36> My view on the topic:

I have used Linux Desktops for about ~15years and involved in the Development community it astonished me how frequent the APIs break specially at Desktop Application/libraries level. I remember several libraries, like GTK+ deprecating often APIs even during stable releases. The consequence of this is that the main application developer spends a big part of its time constantly updating its application instead of developing new features and make it feature rich.

The same can be said in order parts of the Desktop like the transition from X11 to Wayland/Weston and all the Desktop Environments that some years ago fragmented and decreased their quality. Unity, KDE and GNOME all failed in producing a Desktop that really appealed to all users.

Finally for me another failure is the package management. For the App developer he needs to get his app packages for all major distributions and imagine the effort of the App developer and App maintainer to support different libc and userspace tool versions.

All in all the Application developer has such a huge burden that he is most of the time updating his app to new apis/tools than actually developing new features.

</comment><comment><USER37> And one of the biggest reasons here is package management - the rpm, Deb , Pacman split is one of the biggest divides. I don't know if I should add APK to this list.

We had a chance to fix it in the new world, but it's gone back to a zeroinstall versus flatpak versus snap vs Deb vs rpm vs Pacman ecosystem.

Lets see if Docker CNAB and systemd push this ecosystem forward.

Reposting [http://0pointer.net/blog/revisiting-how-we-put-together- linu...](http://0pointer.net/blog/revisiting-how-we-put-together-linux- systems.html)

<comment><USER38> I think Nix and Guix are going to solve this problem better than snaps and flatpaks. Not only are they really good package managers, but they were made to work on other distros.

</comment></comment><comment><USER39> The average professional website /web application looks more visually consistent and appealing than any Linux desktop, ever. No matter what desktop they always end up feeling weird and like the spacing is wrong or the fonts don't match or something.

Put another way, it's no longer hard to design brautfinand consistent User interfaces but for some reason that's never been possible on a Linux desktop.

Linux desktops have always had a sort of Frankenstein feeling to them, clearly made up of a hodgepodge of boys that just don't quite fit together.

</comment><comment><USER40> I think it failed not because of some wrong technical setup or fragmentation but because nerds generally don't care about the novice user experience, it's near the bottom of the list of priorities. For profit companies don't care either but are instantly rewarded for it financially so those that get it done increase their market share. It's a sad dilemma that I have no idea how or if it can be fixed because I would love not having to use a mac and use Linux as a desktop instead.

<comment><USER18> Nerds don't even care about the nerd user experience. If you complain about anything then you should fix it yourself, or you're doing it wrong, or it isn't actually a problem because they've never encountered it.

</comment></comment><comment><USER41> I don't think the Linux desktop has failed. If popular adoption is the standard then MacOS is also a failure of sorts. At the end of the day, there was just no reason for anyone except enthusiasts to end up with linux on their machine since with rare exceptions you literally couldn't buy it anywhere. If you don't build software, you have pretty much zero incentive to use a linux desktop, especially when factoring in the monumental software compatibility hurdles for non-technical users.

<comment><USER38> >If you don't build software, you have pretty much zero incentive to use a linux desktop

I've heard this before, but I never really understood why people think it. I've always had an interest in computers, but I think there's a huge jump in difficult and complexity from using a less popular operating system to creating your own software. I consider programming to be extremely difficult. Using GNU/Linux is just something new. Once you overcome the initial discomfort of it not being like whatever you're used to, it's just fine. It's fun, even.

<comment><USER41> I agree with everything you've stated here. I'm not saying _there are no reasons_ to switch, I'm saying that the typical user _has no incentive_ to switch. The linux desktop is just as capable and IMO superior to a Windows or Mac desktop, but the story for the user is "buy a Windows machine" or "buy a Mac machine" and linux simply never comes into the equation unless they are an atypical tinkerer type or someone technical guides them to using linux.

</comment></comment></comment><comment><USER42> It's amazing how so many smart people can be so blind.

I've been using unix and linux for about a quarter of a century. I cut my teeth on proper X Window terminals and Motif Window Manager (and NeXTSTEP and SGI IRIX workstations, etc, etc.) I was using firefox on linux before it was even named firefox. I've used a variety of desktop linux distros over the years, but I've never felt compelled to actually make the jump for good.

In theory I'm the perfect candidate for switching to a linux desktop but for me it's never been worth it. Yes, desktop linux can be a perfectly fine experience, but is it a superior experience? Every time I've made a serious effort to try out a desktop linux OS it's always felt like a bit of a downgrade. Not just because of all the stuff I miss out on like being able to run games and other software I like, but even well beyond that. Despite most desktop linux distros being pretty decently polished there are inevitably a few dozen little completely unfinished and often completely buggy or broken parts of the OS lurking around. It's like opening a door in a house and finding everything ripped down to the studs with an excitable nest of raccoons roosting where a bedroom should be.

The fact is, it's pretty common to have to do some rather serious "IT department self-service" when you try to use desktop linux, just in the course of dealing with ordinary trivial stuff like power management, connecting to wifi, watching video, etc. I remember the bad old days of X Window config nightmares: type in the correct horizontal sync frequency in kilohertz to avoid blowing up your monitor. Things are light-years better than those days but they still aren't at the "install off a usb drive and everything basic mostly works with at best some annoyances" level.

The value proposition of a linux desktop has to have a lot more to it than "you can have a kind of ok experience with it if you don't ask for too much" if it's going to get any sort of adoption. Especially in a world where the competition isn't just windows/macos computers but android/ios tablets and smartphones as well as chromebooks. Linux has such a compelling story in the server space, but people need to really stop pretending that they can just tweak that story a bit and push it into the desktop space, it still needs a ton more work to get there.

<comment><USER18> The fact that you are being downvoted is a pretty good data point for why the Linux Desktop sucks and continues to suck.

Rather than develop something good, the people who work on and evangelize the Linux Desktop would rather stick their fingers in their ears and pretend that everyone who doesn't use it is just too stupid to see how obviously superior it is.

</comment></comment><comment><USER43> Is there anything preventing the Linux Foundation jumping in and officially supporting a desktop environment? Is it because the two main DE's are already more-or-less backed by a foundation and the LF hopping in would fragment it even further?

Ubuntu tried for a while to lead their own efforts (MIR/Unity) and in the end, they pulled the plug and decided to just adopt Wayland/Gnome. Do people consider this a good change for the linux desktop landscape?

<comment><USER19> > Is there anything preventing the Linux Foundation jumping in and officially > supporting a desktop environment?

How would it change anything? Stock Ubuntu, Stock Fedora, Stock Red Hat, Suse Enterprise Linux at least all ship Gnome Shell as the default desktop. If the LF said "Gnome Shell is the default 'official' Linux desktop", what would change? I don't think Best Buy would immediately begin stocking Linux desktops.

</comment></comment><comment><USER44> Sadly, this is the nature of open source and decentralization. If your code can be easily forked, if consumers have freedom and control instead of an authoritarian entity gatekeeping what can be done with their software, then fragmentation will occur.

As users tweak and change systems and software to meet their needs, a variety of options and choices become available. Each branch on the tree results in further fragmentation. For the standard user this is a bad thing as it means they can't just learn one widespread system. For users like me this is a boon, because it gives variety. If I don't like how Gnome works, I can use KDE, if I don't like APT I can use YUM. If I don't like SystemD, I can use another INIT system.

</comment><comment><USER45> Desktop Linux is like the Hogworts limit of academic incentives: wonderful baubbles to play with appear constantly, as if from thin air, but you're never getting an Air Force or intercontinental shipping system out of it.

</comment><comment><USER46> Linux not gaining majority maindshare on the desktop may have something in common with why Chrome _has_ gained just that in browser space, i.e., getting bundled in or preinstalled. The vast majority of PC/laptop users will not have a compelling reason to change the OS that comes preinstalled with their computer, and that is almost always Windows. If Linux can find an OEM to massively push it out on a range of machines (not just targetted at developers), then we'll see the tide turn, but I suspect OEM will fear the wrath of the behemoth...

<comment><USER47> > Linux can find an OEM to massively push it out on a range of machines

Who is Linux?

I feel like the Linux Foundation won't do much to dethrone Windows, with Microsoft as a platinum dollar bag on board.

</comment></comment><comment><USER48> It's as if Linus is oblivious to Google's Fuchsia effort. Before Linux conquers the desktop via ChromeOS, ChromeOS will have pivoted away from even running it on bare metal.

</comment><comment><USER49> It's not that. It's that if I create and want to sell desktop software I would not loose substantial user base by NOT supporting Linux. I would concentrate my investments on Windows and/or maybe macOS and Linux is third and only nice to have. Nearly nobody makes big money with Linux desktop programs. Companies like e.g. Adobe know that.

<comment><USER50> On the other side of things, if I wanted to support _only_ Windows, I would need to use Windows as a development machine, which would be a substantial loss to productivity for me.

I don't feel like Windows in its current state is a platform that I would recommend to anyone who uses computers as a professional.

So when I get to which platforms I support, if it's something personal for me, I only support Linux. If it's something that I plan to sell, I support Windows because that's where the money is, and Linux because, well, I've got this build sitting here, so I might as well throw it out as an experimental build (see Spotify, Unity, Reaper, etc...). Even if I'm developing a game that will rely on Windows specific APIs, I prefer to put those parts in last and do the majority of development on Linux.

The exception to that is if I know I'm going to be doing a lot of support. I feel like handling support for Linux users is worse than handling support for Windows users, and will often cost me more time and money in the long run.

So when I think about much bigger environments like Adobe, I'm sure they have Linux builds internally, because I just don't believe that their entire development staff would be content to use Windows. I would be willing to bet pretty heavily that there's a subset of Adobe engineers who have internal builds of Photoshop compiling on Linux.

But compiling Photoshop for Linux is not the only challenge to actually releasing it on Linux. Linux fragmentation means you never know when something is going to go terribly wrong because somebody swapped out a random part of the host OS. It means another testing environment, and another set of internal documents about production deployments.

I feel Linux is currently hands down the best engineering environment out there. But engineers don't handle support calls. So I would hazard that a lot more software is out there that _could_ already run on Linux, but just hasn't been released.

<comment><USER4> Usually engineers at companies like Adobe use whatever the IT department allows their computer images to be.

Normally rogue installs aren't well seen from security point of view.

</comment></comment></comment><comment><USER51> That opinion has been around for a while; see: One Frickin' User Interface for Linux (2003)

[http://web.archive.org/web/20070830173313/https://cs.anu.edu...](http://web.archive.org/web/20070830173313/https://cs.anu.edu.au/people/Hugh.Fisher/writing/1fui.html)

<comment><USER52> No friggin way. Only having one user interface is what drove me away from Windows.

I'm not alone in my desire to have things my way, and to meddle with everything. Every time someone rolls out a new distro, a new package manager, or just a new DE, Its because someone wasn't satisfied with following someone else's lead.

All of us, you, me, the author of that article, Linus, and Stallman, have one unifying trait: "Not satisfied with the menu".

Collectively, Linux is never going to be satisfied with any menu.

The linux community exists as a perpetual diaspora. It was born from people wandering away from fiat design. The vast disjointed ecosystem happened because of this adventuresome spirit, and its delusion to think that any sort of 'one size should fit all' paradigm is going to quell that.

Or that it could be enforced.

"The 1FUI will require the backing of a major vendor as champion and enforcer to succeed."

I don't know what that author thinks, fifteen years later. I'd tell him that "Fewer options is never a solution to people who went looking for more options".

The Linux community has spent 27 years persistently solving a problem: Not enough options. 'One Frickin User Interface' is like trying to make a river flow uphill.

</comment></comment><comment><USER53> For me, the weakness in Linux on the desktop is laptop battery is generally poor compared to running Microsoft or Mac OS X. Second is multiple monitor support is such a hassle in Linux. For Microsoft it is an excellent experience and OS X isn't too bad either.

A couple of data points to ponder.

</comment><comment><USER54> Well, you just wait - Microsoft is going to come to our rescue: [https://www.zdnet.com/article/ms-linux-lindows-could- microso...](https://www.zdnet.com/article/ms-linux-lindows-could-microsoft- release-a-desktop-linux/)

</comment><comment><USER55> Impressive content, keep doing more [https://www.fita.in/big-data-hadoop- training-in-chennai/](https://www.fita.in/big-data-hadoop-training-in- chennai/)

</comment><comment><USER56> The title is not just click-bait, it's flat-out wrong. Instead of failing it's become even more successful over the years, because of the efforts of thousands of maintainers and developers. The recent support/endorsement from Valve is just another success story. And Linus is not the only one who's identified several competing major software projects as the main culprit for Linux desktop lacking traction in the past years.

I'm surprised though, that systemd was adopted unanimously almost immediately on every major distribution over classic Init despite lots criticism and protests. But they can't agree on which GUI is best for a Linux desktop? Why is that I wonder?

<comment><USER57> > Why is that I wonder?

Maybe because"configuring" packages and services (main job of init system "users") is lot easier than writing gui applications. App developers use so many languages and frameworks (often with failing cross platforms abstractions) that it would be really hard to "force" them to use a common standard.

</comment></comment><comment><USER58> Mixing music over the voice did not work for this video.

</comment><comment><USER59> OT: I wish Youtube / technology in general had an option to filter out noisy background music.

</comment><comment><USER60> Which is what a lot of people have been saying for a very long time.

</comment><comment><USER61> Every desktop distro needs to have a "Home User" GUI configuration option either as a default or an option during the setup. This should emulate the UX of either Windows or MacOS as closely and as shamelessly as possible.

<comment><USER18> Linux Desktop's failure isn't, and never has been, that it just doesn't look enough like Windows. People have been saying variations of that idea for decades now and look where it has gotten us. Stop looking down on users as stupid people who don't have good reasons for the choices they make and need to be fooled into using your system!

</comment></comment><comment><USER62> Poor sleep or suspend support is much worse.

</comment><comment><USER63> I'm so glad I come to the comments.

</comment><comment><USER64> As someone who recently used a Linux laptop for a week before punting and going back to Mac, finding this talk right now is a cool coincidence.

<comment> VvR-Ox interesting. What where the reasons if I may ask and what about OSX/macOS did you miss on linux?

<comment><USER64> I love Linux for servers but I have a lot tools that work a certain way for work and it would have taken more time than I had to get my Linux set up that way. Part of it was frankly the Linux laptop I ordered was made of cheap plastic, and the track pad didn't work very well. I was disappointed I spent all that money and they skimped on things that really affect the user experience.

So it could be I ordered a Linux laptop from the wrong company. Of course, I won't name names.

I was behind on my work, stressed out, and having trouble sleeping so I sent the laptop back and bought a MacBook.

So in thinking about it, if the laptop had been made of higher quality material and the track pad had worked well, I ay well have had a different experience. It also fell in a week where I head very limited time.

</comment></comment></comment><comment><USER65> I doubt there's a single reason why desktop linux failed. I do know why I stopped using it: driver support, lack of some of the commercial apps I wanted (and no good open source alternatives), constant rewriting of things that were fine as they were. The former two are indirectly caused by the lack of an ABI, the latter due to the nature of volunteer development work (maintaining is less fun than rewriting).

<comment><USER38> What sort of commercial apps weren't available that you needed? Is it something like Photoshop where you found the alternatives lacking, or something more niche where there was nothing like it at all?</comment></comment>


Where do disruptive ideas come from? (2012) - <AUTHOR> https://graphics.stanford.edu/~levoy/unc-commencement.html <comment><USER2> I think disruption is a very nice and simple concept, very powerful, and so overused… Its not a synonym for "new and successful". How Instagram is a disruptive innovation? Its a real question, maybe it is, and I am just too old to figure it out.

<comment><USER3> The linked speech says "A disruptive idea means it also upsets current ways of thinking, or current values, or current markets"

It explains why Instagram fits this definition: "Nikon and Canon have spent 80 years refining their cameras to produce good pictures. Instagram gives you a hundred ways to turn a good picture into a bad picture. The art world is built on a tradition of curation - by schools, museums, galleries, and critics. Instagram lets you upload every picture you take, to the public, within 5 seconds of taking it. Curation is done by "liking" a picture someone else has posted. And Instagram is free."

To me that seems reasonable enough. It's not implying anything about the value of the disruption.

<comment><USER2> Disruption talks more about "what the thing did to everything" than about the "what the thing does to whoever use it". Bicycle is considered a disruption because everyone had one as soon as it was invented, supersonic privet jet are not. Maybe Instagram does new things, but that's not what would make it disruptive, only the impact it had, would. That impact is not obvious to me.</comment></comment></comment>


Show HN: Caoutchouc - A LaTeX alternative based on markdown and asciimath - <AUTHOR> https://github.com/corollari/caoutchouc <comment><USER2> I've been looking for a plaintext format for formulas that is both a markup language and a logical encoding that can be evaluated. AsciiMath seems focused on the markup part, but I had never heard of it before and it looks promising for those purposes.

Combining it with Markdown to replace LaTeX is a great idea. I love LaTeX but there are many pain points.

Needing both latex and pandox installed for this to work does seem like it kind of goes against the idea of a simple format to replace the bloat of latex.

<comment><AUTHOR> Asciimath-formatted math can be evaluated just fine in most calculators or languages, after all mimicking the patterns used in other math systems is one of its design goals.

It's true that caou's installation is cumbersome but the idea is that most users will use caoutchouc through sharecaou, which is just a web interface (it's a fork of sharelatex/overleaf).</comment></comment>


Why women write about being women in tech - <AUTHOR> https://code.likeagirl.io/why-women-write-about-being-women-in-tech-ddbd17699a6 <comment><USER2> _We don't want to always have to be talking about this._

So, then, just stop. You have posted six articles to HN so far and they all appear to be about this same subject. I would be thrilled if you wrote about something else and posted that.

I get it: The door has been opened and this stuff is getting a certain amount of sympathy here on HN and not merely being completely pissed all over for a change. So, you and a few other women are all excited as hell that you can feel heard for a change.

But being heard as _just a victim_ is not real progress. It actually helps keep this problem alive. While you have a little bit of attention, why not talk about cool tech or something so that the world can see you as something other than _a whiny bitch_?

I like talking about this subject at times myself. When I do comment on it, it gets vastly more attention than most other things I do. So, I fully understand how the behavior of other people contributes to this cycle of only talking about being a woman in tech because it is the most positive experience you have had all day. Everything else you have said on any other subject has probably been largely ignored or completely shot down.

But, ultimately, it is on us women to decide to put the focus on other things.

It's fine if you find it cathartic to blog about this. I do plenty of blogging to process stuff. But, if this is the ONLY thing you blog about and/or the ONLY thing you post to HN, you are part of the problem, not part of the solution.

</comment><comment><USER3> Ubiquitous sexism is certainly one of the biggest problems of modern society but as a man I don't think that collectively blaming all men with some universal gender sin will ever achieve anything.

<comment><USER4> Please cite the section of the article that "collectively blames all men with some universal gender sin".

<comment><USER5> I think this is an interesting question, and I was curious if there was any substance to your OP's takeaway, so I went and looked again:

> _shaming girls for having visible bodies and prioritizing the education of > boys over girls, rather than teaching boys to pay attention and not > objectify girls._

... implies that boys specifically do not pay attention to girls, and instead objectify them.

> _in an industry that continues to raise up and pat the most historically > powerful and privileged amongst us — white men — on the back_

... constructs white men as a group who is generously risen up and patted on the back

> _Instead of being recognized for the complex, multi-dimensional individuals > we are — a privilege white men are afforded at birth_

... constructs white men as collectively understood as complex and multidimensional.

These all strike me as somewhat accurate, to a degree. However I somewhat agree with your OP that this kind of essentialism, when used to fight sexism is counterproductive.

I would prefer we try to stop essentializing altogether. We don't need to say "men are X" in order say "I would like to make sure women are afforded opportunity Y". I think there's a path here where we can talk about the specific behaviors we want to discourage, without constructing those behaviors as typical of men.

Not because they are atypical of men, but because we are trying to construct men who are not doing those behaviors, and we need a definition of manhood that works for those men too. Unless the plan is for men to disavow manhood entirely, but I don't see a lot of feminists advocating for that yet.

<comment><USER4> And my position is that the effort needed to move past those implications is so miniscule, especially in comparison to the problems they address, that we can afford to suck it up.

Tone arguments are so often used for concern trolling around women's issues (and doubly so on HN) that I don't have much patience for them. Frankly, there is no way these problems can be phrased that will both make everyone happy and _not_ omit crucial facts of the scenario (i.e., that women cannot achieve equality without men who are both aware of these problems and willing to act on them).

<comment><USER5> Sadly, I've been hurt in conversations like this and a couple things you did make me feel unsafe, so I'm going to stop. I appreciate your feedback though, I will do some soul searching on the places where I am concern trolling and tone policing.</comment></comment></comment></comment></comment>


Boeing's 737 MAX software outsourced to $12.80-an-hour engineers - <AUTHOR> https://www.brisbanetimes.com.au/business/companies/boeing-s-737-max-software-outsourced-to-12-80-an-hour-engineers-20190629-p522h4.html <comment><USER2> [https://news.ycombinator.com/item?id=20309052](https://news.ycombinator.com/item?id=20309052)

</comment><comment><USER3> What's interesting to me is that no matter how much bad news comes out about Boeing--and it hasn't stopped at all since the second 737 Max crash--stocks haven't really dropped much. They're still higher than they were a year ago.

Laymen have been led to think stock prices are linked to company performance. But witnessing this, I realize I have zero clue how the stock market works. I can't imagine anything Boeing could do that could actually cause their value to dip. I'm not sure if this is a flaw or a feature of the market.

<comment><USER4> The price is based on the future earnings of the company from now until forever which is one reason why companies have wildly different PE ratios. This is a short term problem but the commercial jet market is still basically a duopoly with a huge moat around it. Most carriers try to have a roughly half-half split between Airbus and Boeing in case any fleet gets grounded so, in the long term, Boeing will be fine.

</comment></comment><comment><USER5> What did you expect? Why do you think 80% of the software developed on this planet in the last 10 years sucks?

And this is not problem of India. Humans are greedy by nature. "Look we can do it in FILL_RANDOM_CHEAP_LABOR_COUNTRY_NAME_HERE for just couple of bucks per hour!!!" Cut cost cut cost they say. But ladies and gentleman - software is STICKY! Once you put crap in, it is hard to fix/replace it.

</comment><comment><USER6> The problem is not the low price of the outsourced developer but the outsourcing managers.

Most managers do not control outsourced IT projects because they don't want to or - if business managers - they can't because of a lack of knowledge. I've seen that dozens of time.

<comment><USER7> Cheap outsourcing itself is kind of a problem in this case. The best Indian engineers just don't work in cheap outsourcing places, they work for proper companies with better salaries. You just get the worst developers who can't find any better by using these methods.

</comment></comment><comment><USER8> Geez man. This isn't good. Not only do you have a code base that kept having to go back and forth for corrections; you also have another country that can do whatever it wants with that code. Steal it, sell it to the highest bidder, etc.

<comment><USER9> How much is the value of code for MCAS or other airplane component? It is not like you can plug it in your Airbus and get more performance?

My opinion is that this could could be open sourced, similar for driving assist code, if the code is open and all companies contribute you get more safety at lower costs.

</comment></comment><comment><USER10> Seems to be a dupe of similar post that is also "trending" on HN at the moment:

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

</comment><comment><USER11> So what they are saying there were no issues found in 13 dollar per hour engineers code. But the 40 dollars per hour engineers made the plane dive. Interesting. I would rather bet my money on the former.

</comment><comment><USER12> (Aus$12.80) = about US$9

<comment><USER13> It says in the article they were paid $US9 or $AUS12.5

</comment></comment><comment><USER14> Looks like hiring enterprise architects payed out.

</comment><comment><USER15> Next thing we'll learn is that the entertainment system is actually just a WordPress theme.</comment>