The Linux kernel hidden inside Windows 10 - <AUTHOR> https://github.com/ionescu007/lxss <comment><USER2> Fun tidbit is it seems the original reason behind this was Android support in WinPhone10 but when that was axed they migrated it to Ubuntu on desktop.

If true that's a pretty nifty pivot.

<comment><USER3> Indeed, and the rumours are that Project Astoria worked _too_ well which scared Microsoft. If Android apps "just worked" on Windows then why would developers bother using their new Universal Windows Platform.

<comment><USER4> Which is really unfortunate.

I can't blame Microsoft for it, but the app-gap between WP/WinMo 10 and Android is getting untenable for me. I'm thinking about switching back, not because I think Android is _better_ (I don't think it is at all), but simply because I'm starting to feel left out when all my family and friends are using, e.g., SnapChat to keep in touch and I...can't.

It particularly riles me up that there _were_ perfectly functional third-party Windows Phone Snapchat apps, but Snapchat demanded that they be removed and still (evidently) declined to make a WP app.

Not to pick on Snapchat, it's not an uncommon story.

If I could even just download the Snapchat APK and sideload it on my Windows phone, that'd be enough for me. But I can't, since Astoria got killed.

<comment><USER5> Honestly I use the app-gap as a feature. Not having the fluff is great because snapchat is making people illiterate. We went from real words to abbreviations to no words and minimal attention span.

On the other hand now that Uber and bank of america have a universal app it feels more complete.

<comment><USER6> Why the downvote? This is a legit and conscious comment

<comment><USER7> Some person doesn't like Snapchat. Their dislike of Snapchat and inability to install it on their phone due to choice of platform has absolutely nothing to do with, and absolutely no influence on what phones other people buy or what apps they install on it.

I have an Android phone and it doesn't have Snapchat on it. I also have friends with varieties of phones, and Snapchat, and they're very intelligent. It's donwvoted because it's a pointless "get off my lawn comment" that says nothing other than "I look down on all Snapchat users".

</comment></comment></comment></comment></comment></comment><comment><USER8> Microsoft has actually been doing Unix related stuff from way back - a fact that might not be known to some.

Xenix, then SFU (Services For Unix - for interop - on Win NT or 2K), plus they had (part of?) a POSIX subsystem around then or earlier- I used it a bit for C utility dev work on WinNT), etc.

<comment><USER9> Of course Microsoft then licensed XENIX to the Santa Cruz Operation which after several years renamed it to SCO Unix. SCO eventually split apart, but the piece that ended up with SCO Unix renamed themselves the SCO Group. The SCO Group with (possibly indirect) financial backing from Microsoft, attempted to use XENIX in a number of copyright infringement lawsuits to attack Linux vendors.

<comment><USER10> Hmm, there are a variety of inaccuracies in your short statement. Please carefully read the below so that you can be protected from propagating these errors in the future.

· SCO Unix, although it incorporated some Xenix code, was very different from Xenix; it derived a lot from SVR4.

· SCO basically went out of business, because their value proposition was "Unix, but on a regular PC so you don't have to buy an expensive RISC workstation." This stopped being a useful value proposition around 1997 because they couldn't keep up with Linux. So they sold the SCO Unix product line to Caldera, a Linux distributor, in 2001. I'm not 100% sure but I don't think any employees moved from SCO in Santa Cruz, California, to Caldera, which was in Utah. Maybe someone stuck around to smooth the transition?

· Microsoft's backing of SCO was direct; they "bought a license" in 2003. Maybe they also did some indirect backing that I don't know about.

· Caldera basically failed in the Linux distribution space in 2002, and the investors booted out CEO Ransom Love and replaced him with Darl McBride, formerly of Novell, IKON, a couple of startups, and Franklin Covey (!).

· The copyright infringement lawsuits weren't based on Xenix. Nobody claimed Linux had copied from Xenix. Rather, they were based on Bell Labs Unix, from the 1970s, and AT&T Unix System Labs System V Unix. SCO had supposedly acquired the copyrights to these sometime in the 1990s, and in fact them giving permission is how the Lions book was legally republished in 1996 or 1997, but it turned out that in fact what they had acquired was not the copyright ownership, but a sublicenseable license to the copyright. The actual copyright rested with some company Novell had bought up at some point, so the lawsuit got thrown out of court.

· The SCO Group sued not only Linux vendors, notably IBM, but also Linux users, notably AutoZone and DaimlerChrysler. This is an error of omission, but it's crucially important.

<comment><USER9> I appreciate your critique, but stand by my original statement. Let me address the items you bring up point by point. Please excuse my brevity.

1\. Xenix was based on Bell Labs V7 and then AT&T SVR2, SCO Unix was based on SVR4. Xenix and SCO Unix shared code in addition to that derived from their common ancestry. Claiming that they were "very different" is obviously a matter of opinion. In my opinion, they were pretty similar.

2\. SCO split into two pieces: one was sold to Caldera, the other became Tarantella. As far as your hypotheses about why SCO failed, I'm not seeing why it is relevant to the discussion.

3\. Microsoft indirectly backed SCO Group through BayStar capital. Please verify this for yourself with a quick web search so you will be protected from propagating your misinformation in the future.

4\. Not relevant.

5\. Both XENIX and SCO Unix were derived from the same original codebase. SCO Unix would not exist if it were not for XENIX.

6\. Actually, I think the AutoZone and DaimlerChrysler lawsuits are fairly unimportant within the context of the original discussion. To me, the interesting point is that MS had the foresight in 1979 to see that Unix would become a big thing and as a result created Xenix. Decades later, when Unix (Linux) was indeed a big thing, by proxy, it attempted to use XENIX to fight back at Unix (Linux) proponents.

<comment><USER11> Regarding #1 that is mashing together two separate products into 1. (I worked for SCO.)

The history is that Microsoft were producing Xenix - a port from AT&T. Eventually they decided to stop doing that work themselves as DOS, OS/2, Lan Manager and similar were of interest. (Note though that they ran their email infrastructure on Xenix - it was part of their operational business.) Xenix was handed over to a father and son company in Santa Cruz. They called the company Santa Cruz Operation so that in phone calls to Microsoft, the Microsoft folks would think SCO was a branch office not a different company.

Xenix was updated, ported etc, eventually being called SCO OpenServer. That "SCO Unix" did not have SVR4 in it. Heck it could barely do multi-processor and similar. In 1995 Novell (owners of the AT&T Unix at that point) then "handed" SVR4 over to SCO, with the result being called SCO UnixWare. That was the SVR4 derivative. SCO did this to get into the enterprise space, and couldn't do the engineering to bring the Xenix derivative there.

Later in the 90s there was a game of musical chairs as Intel announced the Itanium, and all the Risc chip and Unix vendors formed consortiums. SCO was part of one with IBM named Project Monterey. It was supposed to have some Linux compatibility, but as time progressed IBM cared more about Linux (and AIX) while SCO couldn't keep up with the engineering commitments.

In 2000 all the Unix stuff (OpenServer and UnixWare) went to Caldera. Well it would have but the deal was so complicated (it was pseudo licensing with money and royalties going back and forth). Heck Caldera only really wanted OpenServer. The SEC went "huh" a while later, so a new deal happened in 2001. There was also a tech downturn, so a simpler deal was done. All that was left of SCO was Tarantella hence the company rename.

Caldera renamed themselves to The SCO Group a while later. The grounds for suing IBM were around Project Monterey, although as far as I know neither side did all they should have. And then since IBM had gone in on Linux, SCO Group decided to sue claiming IBM had put Unix code into Linux. Novell got involved because the details of "handing" over mattered.

<comment><USER10> Thank you for clarifying!

Were you around when stuff moved over to Caldera? Were there SCO people who moved to Utah, or who became Caldera employees in California?

My condolences on having had such a shitty thing happen to such a beautiful company. I don't ever remember SCO Unix being a particularly great Unix, but it was pretty solid, and the company was awesome; it's a place I would have been proud to work if I'd had a chance.

<comment><USER11> I was around during the transition but I'd always been on the Tarantella side (I was an architect of the product) and so didn't work on the Unix side directly. Heck our division customers were overwhelmingly running Solaris with Linux picking up in the 2000's.

The Unix side of the business was rapidly shrinking. 1999 was a banner year because everyone had to go out and upgrade their operating systems so they could claim y2k compliance. 2000 was the end of a tech bubble, and also saw a tech downturn. This lead to drastically reduced sales. Throw in Linux getting increased adoption (remember that IBM promised to spend $1 billion on it which gave a lot of credibility), and that SCO's UNIX products no longer had particularly relevant sweet spots in the market.

I don't know of anyone who moved to Utah. The people in California became part of Caldera but I don't know exactly how that was legally structured. Also SCO had folks all over the US and world. At the peak it was ~1,100 employees and $250m annual revenue.

SCO was a good company and many people liked working at the company because they liked many of their colleagues. Employee turnover was quite low because of that. It also had bad points, but what doesn't?

SCO Unix (OpenServer specifically) was great but not from a technological viewpoint. However the vast majority of users were not techies - they were dentists, receptionists, pet cemetery workers etc. OpenServer came by default with a gui that let those regular folk get things done in a friendly way. See my sibling comment about why Caldera wanted OpenServer.

And SCO did have some firsts. It was also very good at snatching defeat from the jaws of victory. It was the first company to offer Internet in a Box. You installed the system, and now were on the Internet (as a server). We were the first to ship a browser (licensed Mosaic). We shipped by far the most copies of Netscape. At one point Pizza Hut started allowing orders over the Internet. It was more of a proof of concept rather than massively used and widespread. But SCO was behind that too.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> Honest question: What's the deal with this stuff? I'm not interested in the reasoning that it's done just because they can do it. I mean... Why not just ... _use Linux_? I suspect it's a comfort zone thing, and most people really don't want to move out of their comfort zone (and especially programmers have a hard time admitting this). I understand people developing for the platform, but I don't understand people developing for Linux on Windows. I hear some people talk about Visual Studio being a great IDE, but I know _tons_ of people that don't use VS. They use ST3 on Windows to develop for Linux, and they're happy about this stuff, and I just don't understand why people wouldn't just migrate to Linux in the first place.

<comment><USER13> Unfortunately Windows has much better hardware support (e.g. Skylake laptops, multi monitors via displayport MST).

<comment><USER12> Does it, though? I use four monitors with Linux Mint at work while my laptop is docked. The 'Optimus' dual-GPU thing works out of the box. But I have a Windows 10 gaming rig at home for Star Citizen, and when I installed Windows, it didn't recognize the onboard NIC _or_ the AMD 9790 GPU with default drivers. And as it just so happens, late last night, this same Windows 10 box mysteriously lost network functionality, and I had to reinstall network protocol drivers (!). I hear "hardware support" a lot, but I haven't had problems with hardware support on Linux for a few years at least, and _every_ time I try to use Windows, I have hardware problems. The Windows users on our dev team seem to have problems regularly. You're right that it _used_ to be a thing. But I just don't buy it anymore.

<comment><USER14> > Does it, though?

Unless you live in a very special bubble, yes.

<comment><USER15> My desktop, my brother's laptop, and a printer work well with Linux, perhaps because they aren't high-end.

On the other hand my mother's friend had a mysterious driver problem (screen glitching) with his NVidia card after upgrading to Windows 10.

<comment><USER16> >> perhaps because they aren't high-end

Or because they are not new. I had a bad experience after i bought, in January 2016, Intel NUC with Skylake processor and Iris 530 graphics card.

I had few months of struggle, like:

\- problem with installation (installer won't boot without some cryptic kernel parameters passed),

\- lack of graphics driver

\- random crashes (like Google Maps causing the whole system to hang, requiring hard reset)

\- processor not running at full speed

\- system seeing only one logical core instead of 4 (2 cores x HT)

\- "shutdown" system button causing reboot instead of power off

Most of those were fixed only after Ubuntu 16.04 came out, at the end of April. Some issues however, persist.

So, my impression is that Linux is good choice only if your hardware is quite old (like, say, two years, or at least one processor / graphic card generation behind)

For people like me, who want latest and greatest hardware Linux is not an option.

</comment></comment></comment></comment></comment></comment><comment><USER17> Open PDF on iPhone: [https://raw.githubusercontent.com/ionescu007/lxss/master/The...](https://raw.githubusercontent.com/ionescu007/lxss/master/The%20Linux%20kernel%20hidden%20inside%20windows%2010.pdf)

</comment><comment><USER18> I'd love to see a video of the demo session for this; really curious how ProcMon and AV tools will deal with ELF binaries in this release.

<comment><USER19> Screenshot: [http://imgur.com/a/5Fcr9](http://imgur.com/a/5Fcr9)

Short summary:

* Ubuntu, and all children apps run under current user's credentials, but are launched under an Lxssmanager servicehost process (as opposed to explorer.exe)

* ProcMon can interact (send sigterm / etc to) unix processes; but as shown on htop, unix processes are not aware of windows ones; nor have I found any ways to send signals backwards

* API compatibility is excellent. Last 2 days, I have re-compiled a full python & elasticsearch & mysql stack into this. Overhead is significantly lower, than any of the virtualization stacks

* I don't use AV tools; however, I suspect they don't check for ELF files. Host system is mounted in /mnt/c , /mnt/d ,etc in LXSS, with current-windows-user creds

* 2-command Sandbox reset: lxrun /uninstall & lxrun /install <\- will restore the linux subsystem to factory default

* LXSS root dir (/usr /var, etc) is in c:\Users\$username$\AppData\Local\lxss\rootfs\ ; home is mounted into c:\Users\$username$\AppData\Local\lxss\home\$username$\

And some caveats:

* Filewatching (specifically, inotify_add_watch ) does not (yet) work

* Manipulating files from the host occasionally makes it _disappear_ (??!) from visibility in the linux subsystem. Specifically, git pull from bash, then git update from host makes git update from bash impossible (index file open failed). Same problems with other types of host file-manipulation. This might be due to permissions, or somethings I haven't figured out yet.

<comment><USER20> And there is some strange behaviour with the keys. Actually using LXSS become far lees powerfull to the users of Conemu thanks to this. Vim and NeoVim does weird things with the arrows, on mc I can't navigate on the filesytem with the cursors, and htop does weird things.

<comment><USER19> I suspect that might be conemu, and compatibility thereof. Specifically, running the bog-standard bash prompt (with conhost.exe) makes this a no-repro; all keys / arrows works in MC & htop

<comment><USER21> Unfortunately, it appears to be a design problem on the Microsoft side: [https://github.com/Microsoft/BashOnWindows/issues/111#issuec...](https://github.com/Microsoft/BashOnWindows/issues/111#issuecomment-232733125)

</comment></comment></comment></comment></comment><comment><USER22> I can't help but think this is all towards an end which is Docker containers running on Azure's core infrastructure. Having the tooling show up earlier in Windows 10 as it's being flushed out is just a really nice bonus.

I've been mostly using bash in windows (installed with git tooling) for a couple years now.

<comment><USER23> That is not Bash on Windows, it's a totally different thing.

<comment><USER22> I know it's not bash for windows... I was just making a side comment that I already have been using bash...

</comment></comment></comment><comment><USER24> So far, this has been fantastic. Our team has been seriously considering converting from Windows to Linux for embedded development. (we run Linux VM when needed) Up and running and cross compiling for ARM without issue. Really surprised how it has just worked so far. This came at a great time for us.

<comment><USER25> So far it's been very bad for us. The always-on telemetry in Win10 draws a big question mark if we can depend on Windows in future. While Windows 7 is great and around until at least 2020, an expensive move to Linux, FreeBSD or Android seems like the better option.

<comment><USER26> If you are trying to escape telemetry Linux or FreeBSD make sense, but not Android. Between the Android OS and the apps, Android collects much more data on you than Windows 10.

</comment></comment></comment><comment><USER27> Obligatory: Maybe we finally have the year of Linux on the Desktop?

</comment><comment><USER28> Direct link to the slides for the impatient>

[https://rawgit.com/ionescu007/lxss/master/The%20Linux%20kern...](https://rawgit.com/ionescu007/lxss/master/The%20Linux%20kernel%20hidden%20inside%20windows%2010.pdf)

</comment><comment><USER29> Link shortcut: [https://raw.githubusercontent.com/ionescu007/lxss/master/The...](https://raw.githubusercontent.com/ionescu007/lxss/master/The%20Linux%20kernel%20hidden%20inside%20windows%2010.pdf)

</comment><comment><USER30> Anyone know if it's possible to somehow port the linux subsystem to windows 7 and 8?

<comment><USER31> No. The Linux subsystem is dependent on new kernel features introduced in Windows 10 (pico processes, which were introduced with 8.1 and improved in 10, improved fork support, file system case sensitivity improvements, memory management changes, etc.).

<comment> iso-8859-1 How has the fork support improved?

</comment></comment></comment><comment><USER32> I am kinda hesitant to download and open a PDF file coming out of Black Hat 2016.

EDIT: See child comment, GitHub preview is fantastic! Slides have a ton of great info.

<comment><USER33> GitHub will actually render a full preview on the website, no download required.

[https://github.com/ionescu007/lxss/blob/master/The%20Linux%2...](https://github.com/ionescu007/lxss/blob/master/The%20Linux%20kernel%20hidden%20inside%20windows%2010.pdf)

<comment><USER32> Ah, that's quite pleasant. And it doesn't even appear to use the browser's PDF renderer or anything.

<comment><USER34> Guys, how do you think Black Hat 2017 is going to be funded if you dont download and open the PDF ? ;)

<comment><USER35> If they're not able to make it silently download and execute remotely without me interacting or being aware, I feel they're not doing their jobs as black hats.

<comment><USER36> The people who know how to do that are pulling down the big bucks on the Windows 10 team at Microsoft.

</comment></comment></comment></comment></comment></comment><comment><USER37> is there any more information on this custom init they are having?

</comment><comment><USER38> How do we get linex

<comment><USER39> this looks like it-

[http://www.walkingrandomly.com/?p=6187](http://www.walkingrandomly.com/?p=6187)

</comment></comment><comment><USER40> Excellent preso. Thank you.

</comment><comment><USER41> I must complain the slides are chalk full of text with very few visuals. It becomes a paper reading instead of a talk at this point.

</comment><comment><USER42> I wonder how much further humankind would have progressed by now if "because it can be done" were not such a big motivation for intelligent people.

Edit: Since everybody took this post seriously, I will, too: We would be closer to some local maxima, but would have no chance to progress beyond them.

<comment><USER43> The biggest motivation for me is when people tell me that it can't be done.

<comment><USER39> Not a motivator for me, but not a deterrent. Some of my best accomplishments were regarded as less than possible by the majority of other operators.

Sometimes the intersection of "because it can be done" & "the most that can be done with the resources within reach" can be applied in the most problem- solving of ways.

Haven't tried the Linux in W10 yet, but at least have gotten DOS to boot to bare metal on a modern PC from a GPT-structured HDD reliably with less monkey business than ever.</comment></comment></comment>


Being an asshole does not make you awesome - <AUTHOR> https://devandpencil.herokuapp.com/blog/2013/10/09/being-an-asshole-does-not-make-you-awesome/

<comment><USER2> From the Facebook post:

"However, I really don't appreciate the co-opting of male spaces (i.e. software engineering) in to some politically correct thought police "safe space"."

I'm amazed that someone would say this.

I don't know about you guys, but I don't want software engineering to be a "male space." I didn't start programming because I wanted to spend the rest of my life being surrounded by mostly dudes.

This just really struck me because a lot of people say things like "I don't think software engineering is hostile to women." This guy, on the other hand, says "software engineering _is_ unfriendly to women and I like it that way."

<comment><USER3> You are misrepresenting what he said. Programming is primarily a male activity. That is fact. He is pointing to the attempts to co-opt the programming landscape "out-of-band" by activism - as opposed to simply taking control of and starting new projects. Your post is a perfect illustration of this sort of activism; you have put words right into the guy's mouth because you don't want to be surrounded by men.

<comment><USER4> No I'm pretty sure the guy just hates women.

[https://www.facebook.com/aaron.a78/posts/635104079844426](https://www.facebook.com/aaron.a78/posts/635104079844426)

<comment><USER3> It turns out he might be a bit of a jerk after all. Nonetheless that is not the post the GGP was responding to. And your tactic of discrediting the guy rather than looking at what he actually said in the current thread is reactive behavior.

<comment><USER5> What he said about women trying to make a progressive movement all about their vagina? What is that even supposed to mean? How is the ruby community a "progressive movement" (yes, he was just quoting someone, but it doesn't even make sense in that context).

This was in response to a man asking that people not act like assholes and name things immature sexual names.

There was no point here. He was just lashing out at something he's afraid of and frustrated by. Asking that people act nicer does not make something a "politically correct thought police 'safe space'". And claiming that asking that people act nicer is "co-opting of male spaces" is a pretty pathetic attempt to play the victim card while simultaneously trying to exclude and marginalize women who have contributed tons to the tech industry.

<comment><USER6> I don't defend the guy, but here's a hint: what are some of the basic differences between men and women?

The whole concept of 'male space' is a big troll

<comment><USER5> Yes, I'm familiar with basic anatomy.

Dismissing someone by comparing a man who is asking for there to be less sexualized and derogatory language in a community to "women who want to make it all about their vagina" is nonsense on several axes. For one, the person he was attacking is a man. For another, the whole point of the argument is for it to be less about vaginas, or other sexual differences. Bringing up sex (and especially in violent and derogatory terms, like rape-me and recursive_pimp_slap) can make an environment uncomfortable for people who already feel marginalized in a community.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Some of those aren't even bad words like "therapist" and "hoe", and "ASS" appears to just be a poorly chosen acronym. "childlabor" doesn't offend any specific group and the name makes sense in context ("ChildLabor is a gem that helps manage child processes.")

Some of the other links don't even lead to anything. And I'm not sure why it's considered an issue that a few people name things after cuss words, but that's just me. And inappropriateness aside, since when are words like "fuck" or "sex" offensive to women, specifically?

And yet he freely uses the word "asshole". Which is a bit excessive to say the least for people merely using inappropriate words.

And then the whole "Oh no he said 'porn star', he must hate women!" What on Earth?

<comment><USER8> Hoe is a garden implement. I'm really surprised that the author included it in the group. Specifically, the hoe gem is a tool for building gems. The utility uses other farming/hoeing metaphors like sow.

I can't get behind you on the 'porn star' debacle. The vast majority of non- gay, male-oriented porn is horrifically misogynistic. I have a lot of respect for Matt as a Rubyist, but that choice was a poor one. I'm not suggesting we put him up on the cross here, but we should all be prepared to acknowledge the truths about pornography and what it means to incorporate that in to what is supposed to be a professional education experience.

<comment><USER7> You can say the name was inappropriate, to suggest it was sexist is ridiculous though. And the world is moving beyond the whole "porn is a sin" garbage.

</comment></comment></comment><comment><AUTHOR> Mostly posted to highlight the response of the Ruby facebook admin. Who, while in a position of completely unofficial power, is still de facto representing part of the Ruby community on the internet and whose comments are, quite frankly, part of the problem of misogyny in tech.

<comment><USER3> It is extremely dishonest of you to accuse this person of _hating women_ based upon his dislike of particular kinds of activism within the programming field.

<comment><USER9> Here's some more evidence for you, from his public facebook posts[0]: "Fuck women, they are coddled and have their needs met their entire lives so they never see past their own needs to empathize with others."

[0]: [https://www.facebook.com/aaron.a78/posts/635104079844426](https://www.facebook.com/aaron.a78/posts/635104079844426) [1]: imgur version for non-facebookers [http://imgur.com/kKVmGKm](http://imgur.com/kKVmGKm)

<comment><USER3> I guess I was wrong to give him the benefit of the doubt after all. Nonetheless his post from the OP makes a perfectly valid point.

</comment></comment></comment></comment><comment><USER10> I think this article radically blurs the line between personal and professional space. Is the entire gem repository a professional space or a personal space? To my mind it's a bit of both. If you believe that self- expression is allowed in software development then I see no reason to constrict the entire space of gem names to those allowed in the author's conception of the professional realm. That's just silly.

To further extrapolate from the a small sample of the gem names to an overall problem in the software community is again a problem. I don't think gem names are the reason women are uncomfortable in tech - I don't even necessarily believe that sexism is an endemic problem. I do believe there's a gender bias in technology - the numbers are undeniable. However, I still don't necessarily buy that this is due to sexism. There are plenty of other potential reasons there are fewer women in tech than just sexism - social conditioning, selection bias, people in tech are perceived/portrayed as socially awkward, etc.

<comment><USER11> I completely agree that it's the combination of social conditioning, selection bias, etc that contribute to gender bias. But you can't just throw up your hands and accept the status quo because it's ingrained in our society.

The sad thing is women have been talking about this for decades, and no one wants to listen ([http://en.wikipedia.org/wiki/Patriarchy#Biological_vs._socia...](http://en.wikipedia.org/wiki/Patriarchy#Biological_vs._social_theories)).

<comment><USER10> Well aware of the concept of patriarchy and the literature on the topic. No one's throwing their hands up. I just thought the article was terribly reductionist. All we can really say is "the activity of software development mirrors trends in the society it occurs within". Not really something earth shattering or sensational.

</comment></comment></comment><comment><USER12> That's pretty funny from the admin guy. He describes the person who posted the piece as "politically correct thought police", and then right afterwards threatens to ban them if they post anything else "like this", i.e., anything whose politics he disagrees with.

<comment><USER13> Instead of "funny" you could also say "hypocritical"

<comment><USER12> Yes, I could.

I don't like the word "hypocritical" though, because it implies that contradicting oneself like that is the moral failing of an individual. But really, we all contradict ourselves all the time, and we don't even realise it. These types of contradictions are interesting not because they show that the person who makes them is bad or stupid, but because they reveal the ideologies that structure their thoughts, behaviours and actions, and the contradictions embedded therein. In fact "ideology" itself can be thought of as a kind of blindness to contradictions.

In this particular case, the admin guy is probably not stupid. I'm sure he sees the contradiction in (p ^ ¬p). But he also is a man, and obviously feels threatened by feminism because it seeks to take away his male privilege (in this case, the right to be misogynist without anybody else complaining^), and thus is motivated by ideology to defend his male privilege. This ideology is powerful enough that he can blatantly contradict himself and not even see that he's done so.

^ I know the admin guy wasn't misogynist himself, or at least the original article wasn't about _his_ misogyny, I am just saying that male privilege generally grants men the right to be misogynist without anybody else complaining (certainly in the "male spaces" that the admin guy is talking about), and feminism threatens to take that right away from him.

</comment></comment></comment><comment><USER14> This article is more than a little hyperbolic. The "perform like a porn star" deck was the "only time someone reacted to the fact that women are generally treated differently in the Rails / Ruby world"? Really?

It seems to me that there's generally about one very high profile incident every other month or so involving sexism within the developer (generally specifically web-dev, and primarily RoR) community.

The fact that so many high-profile incidents exist is a sign that there's plenty of work to be done, but a lack of attention is hardly the problem.

</comment><comment><USER15> It's not clear that sexual or vulgar language (not sexist, generally, just sexual) is really the most important thing at stake for women in the profession. Probably they're more concerned with sub/unconscious bias, impostor syndrome, or, you know, actual outright abuse. Just a guess.

</comment><comment><USER16> This entire post is absurd.

It's almost entirely analogous in my mind to the idea that because there are books that perhaps feature words like "sex" and "miniskirts" that this is offensive, the entire author community is broken, and this is why women don't read books! GUYS GUYS, we absolutely need to start censoring what people can write about! FYI, I think we should all base our moral code on the American christian values...just sayin'!

Here's an idea - women aren't all delicate flowers you need to white-knight on the internet. They can handle seeing words like "bj" and "shag".

</comment><comment><USER17> Wow, what an idiotic response by the FB group admin at the end of the post.

</comment><comment><USER18> Hoe is a gardening implement. Like rake.

<comment><USER19> Where I come from, the word "hoe" is a verb, meaning, "to paddle," as in a canoe.

</comment></comment><comment><USER20> A few months back, while sitting in another company-wide, mandatory sexual harassment seminar, I figured that, for 90% of the audience, the entire presentation could be replaced with a single side: "Don't be an asshole."

However, as I read about more and more of these type of incidents, 90% might be somewhat high.

</comment><comment><USER21> Official downloads from official websites probably should have a filter. I don't see those names as useful. They are a dark pattern, forcing you to click on the package because the name gives you no hint as to their function. If a cop plants evidence why discuss his choice of cocaine over heroin?

Peer pressure = bullying.

I think the best strategy for raising the bar of acceptable behavior is the same as fighting vandalism. Create wide open spaces, keep them clean and orderly, make positive improvements and point people to those places. Spray painting a neon star around every broken window (these blog posts lately) does the opposite of help. From what i understand, RailsGirls has the right idea.

</comment><comment><USER22> Foul language!???!? SOMEONE WRITE A BLOG POST TO PROTECT THE HELPLESS WOMEN!

<comment><USER11> So you don't think there's any merit to the argument that women might not want to work with a piece of software called rape-me?

<comment><USER23> Why would anyone want to work with a piece of software called rape-me?

<comment><USER11> Ask the man who wrote it.

<comment><USER6> Ask the person who wrote it. Whether he was a man is irrelevant. Men are also raped. Any person's motivations for naming their software something offensive are personal and not representative of an entire gender.

</comment></comment></comment></comment></comment><comment><USER24> Jesus, seriously? Rubygems has 64,000 gems and as far as I know, there's no policy to give gems prior review. So the fact that a few people over the years have decided to troll Rubygems lack of Apple-like barrier means that the Ruby community has a sexism problem? That, and something that happened in 2008?

Yes, and of course the horrible incident that was blogged about this weekend. But that was not a Ruby thing...that was an alcohol-fueled bar scene with a supervisor who egregiously abused his power. But what about that situation makes it specifically a Ruby thing? That it doesn't happen at any other kind of conference? Talk about being isolated in your own world...

This is not to say that sexism and sexual harassment isn't a problem. No, in fact, I believe they continue to be a much more massive problem than the oP's incidents can begin to describe. But it's not about Ruby or the Ruby community in particular, and by viewing it as such, you narrow the range of social action and awareness needed to combat the problem.

</comment><comment> vezzy-fnord Can we please go at least one week without being hypersensitive postmodernists about everything?

It seems that men complain about the lack of women in computing more than women do.

When did trolling become a social justice issue suddenly?

</comment><comment><AUTHOR> oh look! flagged off the front page as per usual on hacker news.

</comment><comment><USER25> Yes. Filter gem names to block terrible, woman-hating names like _retarded_ , _therapist_ , _hoe_ , and _sex_. A rake is an immoral pleasure seeker[1], better get rid of that one too! That will fix your community's problems, Ruby, because that's totally what the problem is! You nailed it!

Or rather than a bunch of dudes blogging about how to fix the problem, we listen to the women for once and not treat them like a tiny snowflake, ready to melt if they read the word _fuck_. Christ almighty. Nothing perpetuates this sort of shit more than male voices of authority saying "women can't handle a gem named 'bj'! We're assholes if we let it stand!"

[1]: [http://www.youtube.com/watch?v=_5H5r4_CoJo](http://www.youtube.com/watch?v=_5H5r4_CoJo)

Edit: Good, this pile of shit got flagged off HN.

<comment><USER26> To be fair, rape-me is over the top. Sex being bad though? Do women hate sex? When did sex become misogyny? :(

<comment><USER27> I'd add bitch and recursive_pimp_slap to the clearly over the top list.

<comment><USER26> Oh yeah, I don't mean there were not more that were over the top, I just thought the point was better made in brief.</comment></comment></comment></comment>


Show HN: Scar – Static websites with HTTPS, a global CDN, and custom domains - <AUTHOR> https://github.com/cloudkj/scar <comment><USER2> Looks very similar to my project [https://github.com/kkuchta/scarr](https://github.com/kkuchta/scarr) from a while back. It even uses the same acronym (I assume that's just a coincidence, since we both just picked a cool-sounding english-language word using the initials from S3, Cloudfront, ACM, and ACM.

At a glance: \- Mine handles domain registration + ACM verification automatically \- This one wisely uses clioudformation instead of api calls \- This one does apex->ww redirects, whereas mine uses the apex and has no redirect

Seems pretty cool!

<comment><AUTHOR> Wow, that is a fun coincidence! Indeed, I was going for a catchy four-letter acronym in the same vein as popular stacks like LAMP or MEAN. Perhaps the fact that we both landed on the same components and permutation of components means that there's something there :)

I also started off in the same manner of implementation - bash scripts wrapping AWS CLI calls - then stumbled upon the more straightforward, template based approach.

<comment><USER3> Ha, so cool that you both ended up in the same end of the Sphinx! =)

</comment></comment></comment><comment><USER4> GitHub pages [0] gives you static sites with HTTPS and a custom domain without nearly as much complexity as this if you're looking for an alternative to Netlify.

[0] [https://pages.github.com/](https://pages.github.com/)

<comment><USER5> I feel like Netlify has set the standard in this area now so I'm curious to learn what's _different_ when I see these projects mentioned here.

<comment><USER6> I had honestly never heard of Netlify. I thought GitHub Pages was the standard, with S3 static hosting a second (more involved) option.

EDIT: Googling suggests Netlify offers a build, deploy, hosting pipeline all- in-one box. Which is substantially more than any of the projects mentioned here. These serve a single purpose - simple hosting of static websites.

<comment><USER7> Also, github pages require a public repository (or a pro account), Netlify + github doesn't

<comment><USER8> that's a bummer. I thought now that we have private free repos, websites could be hosted there. Still nice feature. I guess, the public nature definitely generates some trust and also is a good way of showing your work as Github works like a project showcase platform too.

</comment></comment></comment></comment></comment><comment><USER9> Am I the only one who still hosts my own static sites on a plain old virtual machine?

It's pretty simple to configure nginx for static sites, and by doing it yourself you reduce vendor lockin to just about nil.

Even if S3 is massively cheaper, $5/month for a tiny VM seems like a small price to pay for being vendor-abstract.

I suppose S3 is way less likely to suffer a meaningful outage than my little VM, but how many 9s do my personal websites actually need?

<comment><USER10> Maintenance is my primary concern. I deal with software for a living. I want my blog to just work without me having to worry about maintaining the VM. Netlify makes this dead simple.

I used to host Wordpress sites for myself and family members. I've now moved nearly all of those sites to Netlify (for hosting) and Forestry (for editing/CMS). I no longer have to worry about malicious hacking attempts, Wordpress updates, or anything else outside of the site content.

Here is my post on this transition for those interested: [https://dev.clintonblackburn.com/2019/03/31/wordpress-to- jek...](https://dev.clintonblackburn.com/2019/03/31/wordpress-to-jekyll/).

<comment><USER11> apt-get install nginx goaccess

cd website

cp * /var/www/html

Yearly maintenance required: apt-get update, apt-get upgrade

View traffic stats: goaccess -f /var/log/nginx/access.log

I'd say its just as easy and seamless to do it yourself on a cheap VPS for a static website. HTTPS isn't that much extra work either.

<comment><USER12> Maybe I'm just a security nut, but I would probably also relegate ssh to a non-default port, allow key-only authentication, narrow ciphers, close all other ports (except 80, 443, and 53). Also fail2ban, sysctl tweaks (networking, disable coredumps), and a whole bunch of other things I have in a script.

I've seen way too many people get their boxes trashed to leave an internet- accessible one exposed and unsecured.

<comment><USER13> What are your thoughts on sharing your script? I have a few VPS and would love some new tools / proper setup. I have been learning as I go, learned a few day 1 things not to do, but would like to learn more about networking/coredumps. Cheers!

<comment><USER12> I'd have to clean it up first. I wrote it for a competition, and it does its job well; I may clean it up and improve it soon. Right now, it's a mess of a monolithic script.

<comment><USER13> Excellent, well if you get around it to I would love to scope it out. Autodidact after being fedup with shared servers like, GoDaddy/HostGator/Inmotion, they were easy to use since I had no idea what I was doing, I moved to Digital Ocean and its been a fun learning experience. I love using command line and solving problems. Would love to be as tight on security as you are! Cheers

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> Nice project.

As an aside, I genuinely wonder under which circumstances a CDN will be useful for a static website nowadays. I have a static website that has been on the HN homepage a few times and got picked up by the Chrome mobile recommendations and a nginx/https with slightly tweaked configuration never had a problem handling the traffic even on the smallest DO droplet.

Edit: Thanks for these replies.

<comment><USER15> What I like about static sites is that you can serve the site in its entirety from a CDN. So you can literally just CNAME www.yoursite.com to yoursite.gitlab.io (or w/e static site host you use). This dramatically cuts down on latency worldwide. It also removes your web server as a single point of failure for short-term outages.

<comment><USER16> > you can literally just CNAME www.yoursite.com to yoursite.gitlab.io

After so many years I still can't really understand how easily people hand over almost complete control over their site to someone else, just because everyone else does. It's like handing over your e-mail account passwords when LinkedIn started. Yes, CloudFlare, Google and others are helping you, but there is a price to pay that might not be immediately visible.

<comment><USER17> It seems pretty different from a password because you're not giving control of your domain: if they broke their contract, you could take it back at any time.

That's the other odd part about this complaint: you're trusting a company like GitLab not to break their terms of service, which is a potential factor to consider but also one where they'd have severe negative outcomes to their business if they went rogue. Since you're already trusting a number of other parties, why is this one so much scarier?

<comment><USER18> > It seems pretty different from a password because you're not giving control > of your domain: if they broke their contract, you could take it back at any > time.

You _are_ giving them everything they'd need to obtain a DV certificate for your domain, though. You can stop them from using it at any time just by changing the DNS records, but you'd need to wait at least two years (825 days for maximum TLS certificate duration) before you could be certain any certificates they had been issued before that point had expired.

</comment></comment></comment></comment></comment><comment><USER19> We use a combination of Netlify + Webflow + Hugo for our website (www.facetdev.com). With that we get a global CDN and our website will never go down.

Netlify has been awesome and it made it stupid easy to combine our www site on Webflow with a hugo static blog in a subfolder (/blog). This might be my favorite web publishing workflow ever.

If you haven't tried Netlify yet, definitely give it a look.

<comment><USER20> Does the webflow save to a git repo?

<comment><USER19> Yes. It also provides a really nice UI for building our www site which we like to rev frequently. Webflow is the bomb if you are familiar with HTML and CSS. Super clean HTML, total control over all the css attributes, drag and drop builder.

<comment><USER21> Is it a completely hosted service? It looks cool, but I'd be reluctant to use it if it's a subscription to an online tool where I have to pay forever. Is there a standalone version of that editor?

<comment><USER19> It is hosted, but you can use it free forever if you have Netlify in front of it and use your free sitename.webflow.io URL as your origin server. You can also export your site as static html if you want.

</comment></comment></comment></comment></comment><comment><USER22> I wrote a tutorial for how to do all this setup manually, if you prefer: [https://www.davidbaumgold.com/tutorials/host-static-site- aws...](https://www.davidbaumgold.com/tutorials/host-static-site- aws-s3-cloudfront/)

Sometimes it's nice to understand how all the pieces fit together, instead of using an automated system!

</comment><comment><USER23> How much does this cost? I put in some more effort to setup my HAProxy and nginx containers on a Vultr node, but I get LetsEncrypt for free, so I'm just paying for a Vultr node (or DO droplet) and the price of the domain name:

[https://github.com/sumdog/bee2](https://github.com/sumdog/bee2)

<comment><USER24> My estimate is about $1.5 a month, so definitely less than a full VPS, but it depends on the traffic and how much data you store.

</comment></comment><comment><USER25> I have a two-line Makefile that with one target that sync's my website with an S3 bucket. Deploys are instant. The rest is handled by Cloudflare an AWS. The sheer number of moving parts in this system is outrageous for a static website. A fun project for sure, though.

<comment><AUTHOR> I think the complexity for this setup is about the same. Once the different AWS services are provisioned during the initial setup, subsequent deploys are quite straightforward. For example, I have a three-line Makefile target for Jekyll sites that looks something like this (using Docker with a local `aws- cli` image wrapping the CLI):

        docker run --rm -e "JEKYLL_ENV=production" -v $(PWD)/src:/srv/jekyll -it jekyll/jekyll:3.8.5 jekyll build
        docker run --rm -itv $(HOME)/.aws:/root/.aws aws-cli aws s3 sync src/_site s3://www.<mydomain>
        docker run --rm -itv $(HOME)/.aws:/root/.aws aws-cli aws cloudfront create-invalidation --distribution-id <mydistribution> --paths "/*"

</comment></comment><comment><USER26> Bundling service config and launch makes the whole process easier, for sure. There's also more than one way to configure this depending on what your needs are, so it'd be cool to have a few different versions of SCAR.

I started with a setup similar to your diagram and tweaked it when I realized S3 didn't serve index.html when the URL was just the parent "directory", i.e. example.com/foo/ doesn't resolve to s3://example.com/foo/index.html. To get this working I had to write a bit of JS in a Lambda function and deploy it at the edge of my CloudFront distribution to do some URL rewriting.

Given that's the behavior most people expect, might be worth considering?

<comment><USER27> I think that behaviour should be handled with index documents in S3, without the need for lambda: [https://docs.aws.amazon.com/AmazonS3/latest/dev/IndexDocumen...](https://docs.aws.amazon.com/AmazonS3/latest/dev/IndexDocumentSupport.html)

<comment><USER28> I've always used it this way and it works fine indeed.

</comment></comment></comment><comment><USER29> Recently moved some static sites from S3 to AWS Amplify Console. Super easy setup and even easier maintenance with the Git-based workflow: [https://aws.amazon.com/amplify/console/](https://aws.amazon.com/amplify/console/)

</comment><comment><USER30> Anyone have an a average monthly fee for using these as hosting solution? last time i ran the numbers using all that services go from 5 to 10 USD per month and was better to use amazon lightsail (3.5 per month) or other cheaper alternatives at lowendbox

</comment><comment><USER31> For anyone looking for a hosted solution, [https://surge.sh/](https://surge.sh/) is super nice and simple without any of the complexity of managing the stack yourself. Deploying uses one simple command, and you get hosting and custom domains for free, though I believe SSL is paid for custom domains. (I'm not affiliated with Surge at all, just a happy user.)

<comment><AUTHOR> I was actually wondering that myself: Is there interest in a hosted service? It'd be quite similar to (as many comments have suggested) Netlify and the one you linked to.

I was mostly going for a DIY solution since I wanted to "own" the bits being deployed while remaining as close to the infrastructure as possible. Providing a hosted service somewhat moves away from the DIY spirit; I suppose additional tools/UIs could be offered to simplify setup and deployment and still run everything directly on AWS, but at that point one might be inclined to just move to one of the other hosted solutions for the simplicity.

</comment></comment><comment><USER32> Same feature set - plus a few extras like Basic Auth support, custom headers, preventing direct access to the underlying S3 bucket - implemented as a reusable Terraform module: [https://github.com/futurice/terraform- utils/tree/master/aws_...](https://github.com/futurice/terraform- utils/tree/master/aws_static_site)

</comment><comment><USER33> How is this any different from Firebase hosting? We have been using it for a while with no problem. Also comes with a very generous free tier.

</comment><comment><USER34> Sorry to nitpick, but "Copyright © 2019" isn't a "license". It's not even a full copyright declaration without listing an owner.

<comment><USER35> Sorry to nitpick, but copyright declarations are a thing of the past in many nations with copyright protections automatically conveyed upon creation, registration only necessary within a short time after infringement was detected, with registration serving to only maximize the monetary sanction the government will levy on your behalf.

and regarding license, they have the MIT license added to the repository

<comment><USER34> That's fine, but this is purporting to be a copyright declaration. I know they're unnecessary, but if you are got to add one, you should do it properly.

<comment><USER35> It is inconsequential

</comment></comment></comment></comment><comment><USER36> great job! I wish more projects have 1-click deploy to Heroku, aws, gcp or azure. This is a good habit more people should get into.

Running this project on aws can give a cloud beginner an interesting way to expose them to many concepts. Now I just have to figure out what static website I want to run in this!

Please do the same for running your own scalable wordpress install!

<comment><USER21> The technology is awesome, but I won't use Cloudformation, Azure Resource Manager templates, etc. until AWS, Azure, etc. support spending limits. Getting into the habit of clicking "Deploy Stack" when you're credit card is attached to an account that allows unlimited spending seems risky to me.

</comment></comment><comment><USER37> What benefit does this have over Netlify?

<comment><USER20> You can put AWS Engineer on your resume.

<comment><USER38> Gives you substance to attend AWS Global summits.

</comment></comment></comment><comment><USER39> you lost me at GoDaddy

</comment><comment><USER40> TL;DR this is an AWS stack with _10 AWS services_ required to build/deploy a static site with HTTPS/CDN

I will be staying with netlify

<comment> d-sc I just built my first static page since middle school this last weekend using netlify and a static site generator [Publii]. I was amazed at how simple and fast netlify is.

I'm confident I could figure out how how to do something much more complicated. But I want to focus on other things and it's nice to not have to think about it.

</comment></comment><comment><USER41> Off topic, but what did you use to draw the flow diagram?

<comment><AUTHOR> The AWS CloudFormation console has a "Designer" tool that allows drag-and-drop creation of template files, and also visualizes existing JSON or YAML template files with these diagrams.

<comment><USER41> Thanks!

</comment></comment></comment><comment><USER42> You've only taken care of the surface-level complexity with AWS. Want to do something more like add a header to the response? Well then, create a lambda, deploy it to the edge, and pay per page view. This is something Firebase is much more elegant at - the initial deploy, and then evolution and addition of features geared to static site deployment.

</comment><comment><USER43> Try out [https://freepage.io](https://freepage.io) is much easier to use than github pages. You don't even have to create an account, verify email and all that nonsense to use it. And it has social media built in to get your page out there in to the world.

</comment><comment><USER44> The lambda stuff is there just to upload the welcome.html?

Also, maybe consider configuring a logs bucket for the cloudfront logs?

</comment><comment><USER45> This is cool, I'm glad somebody built this! I love netlify but I worry about vendor lock-in.

<comment><USER46> I'm usually paranoid about vendor lock in, but I can't join you on this one.

Netlify assumes a version control repository that you can pull from, run a build step, and then host static files from. The build tools are open source, the output is static and trivial to download and rehost, and the repository is git meaning one clone is all you need to port to any other service.

Where exactly is the vendor lock in?

<comment><USER45> It's not so much my code that is locked in, as that netlify has spoiled me by making deployment so streamlined that it would be hard to go back to manual deployment. This gives me another option, which I appreciate. That's all I meant.

<comment><USER46> Netlify makes things _easier_ , but S3 + Cloudfront + Route53 (Or insert favorite cloud vendor here) for a static site is not that far behind.

</comment></comment></comment></comment><comment><USER47> How much should this cost per month in AWS billing for a small static website?

<comment><USER48> Of course that depends on what kinds of assets you serve and how many hits you get, but to provide a ballpark, I had a small personal site with few media assets on S3, and it consistently cost me US$0.12 per month. I think once it cost me 14 cents and I thought, "Wow, I must've been popular last month!"

I didn't run analytics so I can't say how many hits it got, but traffic was probably fairly average for a personal site.

</comment></comment><comment><USER49> This is highly complex for no reason. GitHubPages, Netify provide you with easy to use custom static page hosting.

Your abstraction is nice, but the learning curve for someone is incredibly high for such a setup.

</comment><comment><USER50> This seems like a nightmare to setup and maintain for a new comer. Netlify lets us setup things in a whiff. This is a nice project but not for anyone below intermediate.

</comment><comment><USER51> Yeah, super cool! Thanks, this was the only part I was unclear about in connecting the domain to the bucket easily..

</comment><comment><USER52> I did the same on azure a few days ago and it was much much easier.

</comment><comment><USER53> Just use Netlify.

<comment><USER54> Netlify requires your entire domain moved over for custom hostname/ssl. a deal breaker for most.

<comment><USER55> mmm, no? You can just CNAME a any subdomain, etc?

<comment><USER54> with ssl? really? I'd love to see an example

</comment></comment></comment></comment><comment><USER56> Other than the notion that all traffic should be served over HTTPs, if you have purely static site, why the big fuss?

<comment><USER57> Without HTTPs links could be replaced and executable file downloads could be replaced with malware.

<comment><USER56> Right, I wasn't thinking about mitm concerns.

</comment></comment></comment><comment><USER58> Ha I just did the exact same thing yesterday evening... Funny how stuff like this hits place one in HackerNews these days.

</comment><comment><USER59> How to host static website with HTTPS, a global CDN and custom domains for free:

1\. Setup public repo with Hugo project

2\. Add Travis CI integration with GH Pages

3\. Use CloudFlare for free SSL + other goodies

Why would anyone need this?

<comment><USER60> Totally agree! Only thing is GH pages might limit your size at some point... Wish they would introduce a per GB pricing and allow you to scale. That would make it a permanent solution.</comment></comment>


The World of Linux System Calls - <AUTHOR> http://sysdigcloud.com/fascinating-world-linux-system-calls/ <comment><USER2> For anyone craving more on syscalls, I can't recommend "The Linux Programming Interface" enough.

<comment><USER3> Ditto. I love this book. It's full of all sorts of wonderful knowledge about how Linux works. It has also served as a great way to prop my monitor up higher from time to time!

Here's a link: [http://man7.org/tlpi/](http://man7.org/tlpi/)

</comment></comment><comment><USER4> I wrote Linux kernel code years ago. I was struck with how similar the APIs were for compiled-in drivers, loadable drivers and applications. They were almost identical, with small variations in spelling and parameters. It seemed to me that, with only a little more effort, they could have been nearly identical. That would have greatly helped make code portable and reusable e.g. write a library that could be used by apps and drivers both.

<comment><USER5> IMHO, portable code is the reason for the different nomenclature. There is also something to be said for the cognizant development of those API's in such a manner .. new words control ownership.

</comment></comment><comment><USER6> Learning the general idea of system calls was a revelation to me since it implied that, in a sense, every language was ultimately a scripting language for the kernel.

</comment><comment><USER7> If you want to explore system calls without C or assembler, I wrote a LuaJIT library [1]. You could port it to another language too.

[1] [https://github.com/justincormack/ljsyscall](https://github.com/justincormack/ljsyscall)

<comment><USER8> Is this comparable to Erlang on Xen and OpenMirage (ocaml)?

Are there any examples of network-facing services which use this library to execute on a minimal Linux kernel+userspace? What do you think of supporting MiniOS in the future?

<comment><USER7> It runs on Xen via the rump kernel [http://rumpkernel.org](http://rumpkernel.org). it should run on OSv too but will need some work as that uses the glibc ABI not the kernel ABI which differ slightly.

<comment><USER5> Wow, thank you for this work - I'm very interested in using LuaJIT and kernel services in this way, so I will spend some research hours this week reading it and running it .. and using it for things. I guess I'll PM you with a report from the field at some point ..

<comment><USER7> Get in touch if you need help or to let me know what you get up to with it - email is in profile, or via github...

</comment></comment></comment></comment></comment><comment><USER9> Nitpick:

> For example, x86 processors usually call interrupt 80, while x64 processors > use the syscall processor instruction.

It's 0x80, or 128 in decimal.

<comment><USER10> Further Nitpick:

Nowdays they don't use INT 0x80 for syscalls anymore. It's faster to use something called "virtual system calls" from what I understand (I am not a kernel dev, so don't quote me). It's just what it sounds like. If you ldd a linux binary, you'll see a shared object called `linux-gate.so` or `linux- vdso.so` (it's been renamed a few times). This file doesn't actually exist. It's an imaginary library that exists as the doorway into the kernel for making these calls.

I tried to dig up something I read on this. This is what I found if anyone is interested: [http://www.trilithium.com/johan/2005/08/linux- gate/](http://www.trilithium.com/johan/2005/08/linux-gate/)</comment></comment>


Requesting C like SIMD intrinsics for Rust lang - <AUTHOR> https://github.com/rust-lang/rfcs/issues/1639 <comment><USER2> Everything requested is already in Rust. For rationale behind current design, read RFC 1199.

[https://github.com/rust- lang/rfcs/blob/master/text/1199-simd...](https://github.com/rust- lang/rfcs/blob/master/text/1199-simd-infrastructure.md)

Rust SIMD support tries to be type safe, so there are some subtleties involved for comparison and shuffling. (C SIMD support is not type safe.) I can imagine people disagreeing with decisions here. For example, one may have better type safe design, or one may opine it should not be type safe. But the linked issue lacks any details and is not very useful.

<comment><USER3> I am new to Rust, and RFC 1199 answered most of the questions I had in relation to the original OP link.

I understand the decision not to tie vendor-specific SIMD labels and such, but are the data types for SIMD, not vendor-specific headers, available in Rust std, or do you need to use crate?

If it needs to be brought in via a crate, and not std, I think the OP link may have a point, since SIMD is so crucial and becoming standard to many fields of computing.

For instance, for over 2-1/2 years, Dart has had SIMD types available in the DART SDK through dart:typed_data [1]

Again, I am a Rust noob, so pardon any holes in my reasoning here, but it would flavor my evaluation of Rust being a general systems programming language.

[1] [https://www.dartlang.org/articles/simd/](https://www.dartlang.org/articles/simd/)

<comment><USER2> Data types for SIMD are part of the language and you do not need any external crate. On the other hand, this is an unstable feature, and can't be used on stable release of Rust.

I am actually in favor of stablizing current Rust SIMD as-is. But as you can read on the issue, other people are not. That's why it's not yet stable.

<comment><USER3> Thanks for explaining that aspect of it to me!

I'll do some homework, and keep plugging along on learning Rust.

My interest would be in Cuda programming with Rust instead of C.

</comment></comment></comment></comment><comment><USER4> It's worth noting that this is an issue in the RFC repo, not a pull request. Which means it's not an RFC, so much as its a wishlist item. There are some simd items available with a feature on nightly, and there has been a little movement towards stabilization, but it's not there yet. On nightly there's also a helper crate for simd and multiple for cpuid feature detection, for example:

[https://crates.io/crates/simd](https://crates.io/crates/simd)

[https://crates.io/crates/x86](https://crates.io/crates/x86)

[https://crates.io/crates/raw-cpuid](https://crates.io/crates/raw-cpuid)

Edit: also rust nightly has inline assembly which is slowly moving towards stabilization, so when compiler intrinsics and the crate don't cover the use case, it's inconvenient but technically possible to do simd work in asm.

Edit 2: And _as mentioned by the issue author themselves_ , there's the llvmint crate ([https://crates.io/crates/llvmint](https://crates.io/crates/llvmint)) for LLVM intrinsics if you don't want to use the simd crate or roll your own with assembly. I don't get what's happening here.

<comment><AUTHOR> Inline assembly is bad. Compiler will go nuts and cancel out a lot of possible optimizations.

</comment></comment><comment><USER5> The SIMD crate doesn't uses fast load intrinsics for loads instead it falls back on derviving clone/copy. Honestly it should have a manual derefence trait as well. Also now that naked functions are implemented it should use these to (?).

I can't patch this because I don't understand rust-macro's well enough to submit a PR against Huown's (sp?) crate. Which because these are repetitive traits/functions it abstracts away.

So I go to write my own and find out __m128 load (either alligned or un- alligned) LLVM intrinsic isn't part of the rust-compiler. (Or __m256, or __m512)

Soooo

When I submitted a PR with changes for these LLVM intrinsics I was told that I was editing an auto generated Rust file. Instead I need to modify a series of JSON files+Python script.

I gave up at that point.

If we could just modify the intrinsic file directly that'd be helpful. Yes it'll be big and ugly, but so is every compilers SIMD source section. The current JSON based approach is annoying. Also a lot more JSOn files are needed for things that aren't SSE/AVX like MPX and Crypto extensions. Lastly the JSOn syntax feels bloated and ugly compared to Rust syntax so it is easier to understand args/typing requirements.

<comment><USER6> The JSON file exists because there's more than one place that needs to know about the intrinsics---they allow generating the corresponding `extern` blocks ---and because there's classes of very similar functions that can be factored out into a single definition. Keeping things in sync manually is error prone and exceedingly annoying. However, I agree that the JSON syntax is a... slightly complicated.

In any case, I'm not sure why you think you need a separate load intrinsic: the compiler knows how to generate code for loading data. E.g. if you know data is aligned, casting to a `*const i32x4` and loading that does the right thing. The unaligned case is a little more subtle but it also can be made to work via #[repr(packed)].

<comment><USER5> >They allow generating the corresponding `extern` blocks

Really? I was able to call the intrinsic I sloppy patched into the auto generated files fine via extern platform.

>In any case, I'm not sure why you think you need a separate load intrinsic

Because it's a systems programming language?

<comment><USER6> > Really? I was able to call the intrinsic I sloppy patched into the auto > generated files fine via extern platform.

Err... yes, that is exactly my point. You needed an `extern` block to call the functions. It is much nicer if the `extern` block is written down once (just like the _mmintrn.h files for gcc/clang) so that there's no risk of mistakes or mismatches. The JSON files make this easy: both the compiler internals and the external `extern` block are guaranteed to match. Note that this is particularly important on a platform like AArch64, where there are hundreds of intrinsics: hand-transcribing them twice (once for the compiler, once for the libraries) is time consuming and error-prone.

> Because it's a systems programming language?

This is meaningless: being a systems language doesn't mean having intrinsics for every possible operation, it just means being able to do everything; these are not the same. The remainder of the paragraph you quoted explained how the functionality already exists. The only benefit of having an intrinsic function to call is that there is a function instead of built-in syntax, it doesn't add _any_ new power: Rust is just as systems-y with or without the intrinsic.</comment></comment></comment></comment>


Who I think Satoshi Nakamoto is - <AUTHOR> https://markessien.com/who-i-think-satoshi-nakamoto-is/ <comment><USER2> I don't buy it. Satoshi Nakamoto was most likely Hal Finney.

1) Finney lived in very close to Dorian Satoshi Nakamoto (who happened to be unrelated to Bitcoin) - it's possible that he used his name.

2) Finney was the first person to perform a bitcoin transaction with Satoshi Nakamoto

3) Satoshi Nakamoto stopped writing messages after Finney died

There are a few other reasons I'm forgetting, but the coincidences are too many.

Interestingly, Hal Finney had himself cryopreserved. He may have invented Bitcoin, to get resurrected 150 years later...

<comment><USER3> *Hal Finney had himself cryopreserved.

I read that as: cryptopreserved.

<comment><USER4> I read it as AL Finney who played a character in Dennis Potter's Cold Lazarus who had himself cryopreserved.

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

</comment></comment></comment><comment><USER5> Have we had the conversation yet about the politeness of not trying to hunt down someone who quite apparently does not want to be found?

I feel that there's no value to trying to figure out his/her identity other than personal gain at his/her expense. It doesn't help us collectively.

<comment><USER6> > Have we had the conversation yet about the politeness of not trying to hunt > down someone who quite apparently does not want to be found?

I'm going to take the con or anti position here.

1\. People who commit crimes should be exposed. (Not saying Satoshi has, but answering your question generally)

2\. People who engage in public discourse, should not be expected to have their identities remain private.

3\. People who potentially have billions of dollars (whether realized or not) should also not expect privacy.

> I feel that there's no value to trying to figure out his/her identity other > than personal gain at his/her expense.

Factually incorrect. If I can find out who Satoshi is, I can create a web page and sell ad space on the web page. That's value -- in the best kind -- economic value. And economic value can be more than just personal gain, it can create jobs for others.

> It doesn't help us collectively.

We can ask if he thought about the side effects of Bitcoin while developing his algorithm. E.g. money laundering, increased energy demand for little economic gain, etc.

And interestingly, Bram Cohen has also recently came out with another version of Bitcoin with an algorithm better than PoW.

[Edited to clarify economic value]

<comment><USER7> _People who engage in public discourse, should not be expected to have their identities remain private_

Public Discourse? Like online? Please do tell me the story of how your parents settled on "bb88" as your name. Very quirky, do tell...

 _People who potentially have billions of dollars_

Why? Yes, I read your argument in the other post that they _may_ have committed some crime. No. This is why we no longer burn witches, and now have boring things like judges and courts.

<comment><USER6> > Public Discourse? Like online? Please do tell me the story of how your > parents settled on "bb88" as your name. Very quirky, do tell...

Wow, you're not snarky at all, are ya bud?

But, uh yeah I do believe that, even for me. I don't expect my identity to remain private. Someone just needs a lawyer to sue "John Doe" known as "bb88" and get my IP address from ycombinator.com.

> Yes, I read your argument in the other post that they may have committed > some crime.

Apparently, not carefully enough. It's not that "may have", it's that they "might".

E.g. Many states like having concealed gun owners register with the state. Again, not because they "may have" committed a crime, but because they might.

<comment><USER7> _Wow, you 're not snarky at all, are ya bud?_

And? How does your comment contribute to the discussion? Your position that billionaires are all criminals because you personally cannot conceive of anybody making that kind of money the legal way is bullshit, however you wish to dress it up.

</comment></comment></comment></comment></comment><comment><USER8> You shouldn't publish something like that without at least reaching out to the person for comment.

<comment><USER9> I doubt he would answer "Yeah I'm Satoshi, please don't publish it."

</comment></comment><comment><USER10> Regarding point A:

How can you really date a person's writing style to be from pre-2010? Is there really a way to prove this? And why does that necessarily date the person writing it as a 35-50-year-old?

<comment><USER6> The book "Primary Colors" penned by Anonymous was statistically tied to be Joe Klein before he admitted to doing it:

[https://en.wikipedia.org/wiki/Primary_Colors_(novel)](https://en.wikipedia.org/wiki/Primary_Colors_\(novel\))

Also, if you're curious about the man you discovered it, he went on to work on famous cases trying to unmask anonymous writers, including work for the FBI.

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

</comment></comment><comment><USER11> I'm not a professional programmer, but I'd imagine the amount of code available for both BitTorrent and Bitcoin might be enough for someone with a lot of experience coding to say whether or not this is likely to be true based on coding style.

My bet is it's not.

Also, agree with the other comments here that these sort of articles are both dangerous and disrespectful.

</comment><comment><USER12> What not leave that person alone?

They have not come forward and may dislike the publicity.

Maybe they just want a normal happy life?

They haven't cashed a single bitcoin in almost 10 years. They would have every right to do that: They gave humanity a wonderful new tool, a technological solution to a social problem!!

It may also be safer for them to never come forward, even if they destroyed their own keys and bitcoins. Criminals and government would never believe that, and still attempt to attack that person.

</comment><comment><USER13> Is it really so hard to give someone the anonymity they want?

</comment><comment><USER14> This is a very good hypothesis, I only see one big counter-point. He announced a Bitcoin alternative [https://techcrunch.com/2017/11/08/chia-network- cryptocurrenc...](https://techcrunch.com/2017/11/08/chia-network- cryptocurrency/)

<comment><USER15> It's pretty clear that bitcoin will only allow very conservative upgrades, it's entirely possible that the creator of bitcoin isn't interested in the development of modern bitcoin.

</comment></comment><comment><USER16> There needs to be a #NotMe movement.

<comment><USER17> I get that most of the comments here are joking BUT [https://en.wikipedia.org/wiki/Right_to_be_forgotten](https://en.wikipedia.org/wiki/Right_to_be_forgotten) is a related and important thing :)

</comment></comment><comment><USER18> Was this killed because it's dox-ish?

</comment><comment><USER6> Why are the topics critical of bitcoin more likely being flagged than not?</comment>