Show HN: Linux sysadmin course, eight years on - <AUTHOR> Almost eight years ago I launched an online "Linux sysadmin course for newbies" here at HN.
It was a side-project that went well, but never generated enough money to allow me to fully commit to leaving the Day Job. After surviving the Big C, and getting made redundant I thought I might improve and relaunch it commercially – but my doctors are a pessimistic bunch, so it looked like I didn't have the time.
Instead, I rejigged/relaunched it via a Reddit forum this February as free and open - and have now gathered a team of helpers to ensure that it keeps going each month even after I can't be involved any longer.
It's a month-long course which restarts each month, so "Day 1" of September is this coming Monday.
It would be great if you could pass the word on to anyone you know who may be the target market of those who: "...aspire to get Linux-related jobs in industry - junior Linux sysadmin, devops-related work and similar".
[0] http://www.linuxupskillchallenge.org/
[1] https://www.reddit.com/r/linuxupskillchallenge/
[2] http://snori74.blogspot.com/2020/04/health-status.html <comment><USER3> I'm speechless, @OP. It ceases to amaze me that people who aren't in a position to generate value for others often generate more of thereof than a regular, healthy individual. I'd like this world to be inhabited with more people like you. I know myself how it's like to live with a deliberating illness, so let me just say that I'll be praying for your recovery (and if that's not possible at least less pain and a better "reinstatiation" prospects in the future if a reincarnation is a thing).

It seems that I'm going to make it regarding my health challenges, so I promise to make a good use of the Linux skills that your course is going to help me to systematize. Thank you. I'd not get into tech without what have happened to me. Being forced to be on a "lock-down" for 2,5 years I got myself step by step into an amazing world of technology which with my skills getting more polished made me feel I might be actually able to transcendent my body's limitation. I can only hope that something similar could still happen to you regardless of the discipline involved (I know that there's probably nothing worse than not being able fully commit to one's life).

Take care, buddy.

<comment><AUTHOR> Ha, ha, my original goal was to make a tidy pile of $$, but _also_ a desire to teach and share. The feedback I get is certainly bouying me up as I go forward toward that big unknown. Thanks for your thoughts.

</comment></comment><comment><USER4> Hi Steve. I took your original course 8 years ago. I wasn't aiming for a sys admin career - just wanted to be comfortable maintaining a server for my site. It worked well for that.

I emailed you a few times, and you seemed like a genuinely nice guy. I just wanted to chime in and say thanks and wish you the best of luck for both your health and the legacy of this project.

<comment><AUTHOR> Thanks, I did dig through my emails and got in touch with a few of The Originals. You guys were willing to buy a "pig in a poke" \- I gave out no outline or Table of Content (still don't!), and you paid Real Money to get content into you email each day for a month. These youngsters are getting it all for free! Thanks again. - <USER2>

</comment></comment><comment><USER5> Good stuff. Thanks for all the effort you've put into it.

One suggestion: Make it more obvious that the courses are on GitHub.

I make a point to avoid reddit as much as possible, which means I don't know how to interact with reddit's interface. When I tried to view the course via reddit, I had a lot of trouble locating the actual lessons. They were out of order, and I had to shift through other users' threats ('I missed day X!' 'Here's my journal on my progress...').

Honestly, had I not randomly clicked on the GitHub repo, I would've moved onto something else. I'm glad I didn't, but yeah... pushing people onto reddit limits your audience.

<comment><AUTHOR> Thanks, and I appreciate your comment. Things do get a little messy, but overall I've been happy with Reddit as a platform - once I figured out to pin a big FAQ ("How This Works") posting. Noone seems to read the sidebar :-(

<comment><USER6> The sidebar might not be loading for everyone. Mine doesn't unless I browse old.reddit.com on a computer, for some reason.

Reddit also cripples their mobile experience on web, so unless your audience is existing redditors on computers or with the app, they're likely getting a poorer or more inconsistent experience than you see.

Thanks for the great work, I hope to revisit it without the hurdles someday.

</comment></comment></comment><comment><USER7> Clickable subreddit link using the old reddit interface that lets you see the content on mobile even if you aren't logged into reddit:

[https://old.reddit.com/r/linuxupskillchallenge](https://old.reddit.com/r/linuxupskillchallenge)

The other two links in clickable form as well:

[http://www.linuxupskillchallenge.org/](http://www.linuxupskillchallenge.org/)

[http://snori74.blogspot.com/2020/04/health- status.html](http://snori74.blogspot.com/2020/04/health-status.html)

<comment><AUTHOR> Thanks, that old interface really was much nicer...

</comment></comment><comment><USER8> As the author of 14 college Linux administration textbooks since 2001, and someone who has taught IT in the college space for 22 years, I must say that I thoroughly enjoyed going through this resource!

I think it will benefit many who have basic Linux knowledge but need to refine and further apply it, as well as students who are currently taking a course on Linux, or a course that requires Linux knowledge (development, Cybersecurity, devops, etc.).

<comment><AUTHOR> Wow, thanks Jason!

</comment></comment><comment><USER9> Great work I've seen while doing my regular github foss browsing (by most recently updated), and thank you for putting CC4 on it. I also want to say I like the general format at least on github (not a reddit fan these days).

Constructive criticism: to me, this is a bit too barebones. There are quite a few extremely similar ones out there with essentially the same content but not as nice a format. You might consider doing the next tier course for those who aren't completely green but are trying to get past that initial hurdle which what many of them are trying to do.

As for what exactly, I would say an extensive focus on the entire systemd ecosystem would be a great starting point for example. Go ahead and go into nf/iptables, etc.

One other thing, I think a proper table of contents would be a good simple addition.

<comment><AUTHOR> Yes, I've commented in a number of places that this is essentially Part I of a two part intro to the absolute minimum I'd like a newbie sysadmin to know.

It's likely that I'll put a tentative ToC for Part II into somewhere like /r/linux of /r/sysadmin for comment and discussion.

</comment></comment><comment><USER10> Thank you very much for this! I am sorry that I did not know about it sooner.

Anyway the question for HN - is it too "late" for a person to consider career change in 33? To clarify, I am not in IT business, my formal education (and job) is in business administration, however with recent and important changes in my private and work life, I am considering to bite the bullet. Initially, I considered back-end development, but actually Linux sysadmin might be more appropriate for me.

<comment><USER5> I made the decision to change careers into IT when I was 32-ish. Did self- study for a year, and then worked as a junior sysadmin at a SaaS company for a year. Now I work at AWS.

It's definitely doable, and becoming more and more common (at least from the candidates and initiatives I see at AWS).

<comment><USER11> Do you mind briefly discussing how you made the switch? What courses did you take etc? I am considering switching into IT and would love to hear how others did it. I am currently enrolled in the Google IT course.

</comment></comment></comment><comment><USER12> Seems very interesting. I checked out the site and I want to find out why lessons need to be dished out weekly via Reddit. I'm curious. What is the rationale/history behind this? And why Reddit?

When I learn a new subject I prefer having everything available so I could go through it at my own pace. I understand people learn differently so I wonder if this kind of approach works well for other people who learn differently from me.

Wish this project the best.

<comment><AUTHOR> Although I say repeatedly that each 'lesson' has about two hours work in it I worry that were lessons available, students will just skim though the whole lot "in one go".

I also believe that 'forcing' students to ssh in daily for a month gets a bit of muscle-memory working, and proves that they have the required stickability. (The initial paid version reported such things back to their employer!)

In fact, all lessons _are_ available via Github, but I try to avoid pointing this out :-)

I really wanted a good discussion forum, and I'm not a great fan of much of the classic forum software. While Reddit gets a good bit of stick for some of it's subreddits, if you pick those you visit well the content can be very good - and the upvoting etc works pretty well imho.

[Edit: added comment on stickability]

<comment><USER13> > I worry that were lessons available, students will just skim though the > whole lot "in one go".

I think this is a common pitfall of a number of beginner courses. Personally, I view it as kind of an arrogance of "I know better what you need than you do".

As a user, I think you have no say in how I consume any content.

> The initial paid version reported such things back to their employer!

The employer has no right to know anything about me other than what I do during my 8h of paid time. I can share whatever I want of course, but a feature like this seems like it supports an unhealthy work relationship.

<comment><AUTHOR> Well in a sense, I do "know better". There is a real benefit to setting up a VPS "fully exposed to the Internet (another thing that some struggle with); A real benefit to taking a day to investigate each day's lesson; A real benefit to getting into the habit of ssh-ing daily.

But hey, having run this for a long while, I'm well aware people are coming from all sorts of backgrounds, having all sorts of crazy things going on in their lives etc - so however they do it is fine by me.

So, those that simply read it through - OK. Those that run it in a VM on their laptop - OK.

Peace,

<comment><USER13> I disagree that you know better. Research shows doing something daily and habitually is beneficial, but you shouldn't dictate that I need to do _your_ content daily.

For example, in the past, I have often gone through coursera courses that were supposed to run for months within weeks, because I had a lot of time to dedicate to the courses.

I made going finishing courses a habitual activity, but I personally have designed it to suit my needs. In other words, I have tweaked the pace greatly.

You're consciously crippling your content with the idea that someone will benefit from slow pace. If a user wants to refresh some things, fill some knowledge gaps, or just take a look what the subject matter is about without the need for deep learning, you're adding friction to the process (and they'll likely not return the next day).

Now, don't get me wrong. If you get something out of it, e.g. Netflix releasing an episode a week for whatever gains they get, that's fine. But, if someone told me "read this book, you get 10 pages a day," I'd consider it a waste of my time.

My 2c.

<comment><USER14> I get your point, but this sounds like you didn't read the post you're replying to.

At least the way I read their post, _snori74_ isn't presenting some absolute position of authority, but rather is describing their experience from running the course (and I assume working as a sysadmin) as to what is effective for the students.

Putting forward what works best for most students doesn't exclude other ways of consuming the content. A student motivated to consume the content more quickly can easily discover the github themselves, or ask the question on reddit.

Your preference for consuming the content all-at-once is a valid one, however it's right for the content creator to set up the course in a way that maximises the outcomes for student - especially when there is an easy fallback to the all-at-once model.

I'll also add that having a 'class' of students doing the course with you is something that a lot of people would appreciate, as they can discuss the challenges and successes they see with people experiencing the same things at the same time.

</comment></comment></comment></comment></comment></comment><comment><USER15> I'm a regular user but having been around for a while (and done some web dev) this course doesn't seem to go further (except in a few extensions) than my current knowledge/experience. I've written bash scripts, configured Apache/Nginx, setup a mail server with spam filtering, used git to a basic level, all that kinda stuff ... what's the next step for a taste of what being a sysadmin is like?

<comment> jon-wood The next step is setting it up to randomly wake you up in the middle of the night with obscure messages.

<comment><USER15> What sort of obscure messages though? Are there gru? ;o)

</comment></comment></comment><comment><USER16> Thank for building and making it available for everyone for free. Sorry about your health. I hope you feel better.

</comment><comment><USER17> well, that's awesome. sorry to hear about your condition though.

<comment><AUTHOR> Well it is what it is. One of the "odd" things is not really knowing how long you've got. Doctors hate to put a date on it, and clearly everyone's trying to push things out - but it makes planning difficult :-)

For this course I now have a small team of helpers authorised to look after the subreddit, the GitHub and the domain name. So hopefully it'll keep going strong after I bow out.

I've also changed the licensing to CC by SA 4.0, so if you think this is a good base you're welcome to develop it as you see fit, including commercially.

<comment><USER17> I know Linux enough to get by. a little bit more then that, perhaps. but I'll make sure to take a look at the course. if see something I can help with, I'll do it. pretty sure I will learn from it, for sure

besides that, keep a positive attitude. this thing here we call life is just a journey. eventually it will end for all of us. just make sure to enjoy your journey as much as you can doing the things you enjoy doing. sure it would be nice if we could all get paid to do the things we like, but that's not always the case. never fear though, making money is not and will never be a good measure for success. glad to learn that your side project was to perpetuate knowledge.

<comment><AUTHOR> Thanks for your kind words.

</comment></comment></comment></comment><comment><USER18> Is Linux admin suitable for women with disabilities? I have a friend who would like this, but I hesitate to recommend it if she would be discriminated against as a job candidate.

<comment><AUTHOR> Yes! This is techy and certainly not everyone "cup of tea" \- most people would run a mile. But everyone is learning to remotely control a powerful server on the Internet ...which I think is cool and empowering.

We're covering the basic Linux skills to do that, and have a vague "junior sysadmin role in big company" in mind.... But nothing stops you using these same skills to create your own website, security scanning service, or get into robotics.

While discrimination unfortunately exists in some places, just avoid those and go forward. As for disablement, you just do what you can at the speed you can. (You're reading this fine, and have no idea what a hassle it was for me to write!)

</comment></comment><comment><USER19> Thank you for your work. Can I suggest to add a ToC? (I know this is framed as a daily challenge but it will help to see contents at a glance, even naming the chapters).

</comment><comment><AUTHOR> Thanks for those that got the word out. Looks like we have a "class" of about 1,300 for this month, and its humming along nicely. (There are 5,630 sub'd, but that includes all those from previous classes who've not unsub'd - its an imprecise art!)

</comment><comment><USER20> What is _Big C_ in this context?

<comment><USER21> Cancer

</comment></comment><comment><USER22> Any reason why the course recommends AWS/DO vs. running something locally with Docker?

<comment><AUTHOR> The "How This Works" post covers this

</comment></comment><comment><USER23> Thanks for putting this out there. As an amateur developer who has picked up just enough linux skills to get by over the years, this looks like a great way to fill in some of the gaps in my knowledge without getting too deep in the weeds.

<comment><AUTHOR> Yup. No way of knowing exactly, but I'd guess that quite a lot of the "students" are in the same boat...

</comment></comment><comment><USER24> Great work! Was hoping though that you could view the course from the landing page - have you considered moving the course to a simple static website where it could be browsed like www.domain.com/day1/ or something similar?

<comment><AUTHOR> [https://github.com/snori74/linuxupskillchallenge](https://github.com/snori74/linuxupskillchallenge) ?

</comment></comment><comment><USER25> I don't normally comprehend most of what is posted on HN. They are too advanced for me. Probably this one too. But, will try this for you, Sir. This post is not going to let me sleep tonight.

</comment><comment><USER26> This is great. And I wish this hadn't happened to you. I just started a new position overseeing our Linux based Oracle databases and this will be a great asset. I'll do my best to contribute where I can.

</comment><comment><USER27> Hello,

just wanted to you to thank for this fellow myeloma warrior. Happy your asct worked out and with loads of new treatments available hopefully we'll grow old with this :)

</comment><comment><USER28> Thanks Steve for sharing this. I am sorry to hear about your condition. I am sure as you survived Big C, you will survive the small C as well. Take care and thanks.

</comment><comment><USER29> I wanted to point out that Linode has quality Linux hosting for as low as $5 per month. We've used them reliably for years.

</comment><comment><USER30> Take care! My dad is going through the same shit.

</comment><comment><USER31> Very generous of you, thank you! You've helped a lot of people out with this I'm sure. Wishing you the best.

</comment><comment><USER32> The links to linuxacademy.com are broken, since it was rebranded to acloudguru.com

<comment><AUTHOR> Thanks, fixed in Github now, all ready for Monday!

</comment></comment><comment><USER33> I've lurked your subreddit for a while...might finally do it. Thank you!

</comment><comment><USER34> this is great! thanks for all your hard work and for sharing, snori74!

</comment><comment><USER35> Definitely going to check this out. Thank you!

</comment><comment><USER36> There are a number of resources that may be useful for your curriculum for this project listed in "Is there a program like codeacademy but for learning sysadmin?" [https://news.ycombinator.com/item?id=19469266](https://news.ycombinator.com/item?id=19469266) :

> [ _[http://www.opsschool.org/](http://www.opsschool.org/) , > [https://github.com/kahun/awesome- > sysadmin/blob/master/README...](https://github.com/kahun/awesome- > sysadmin/blob/master/README.md#configuration-management) , > [https://github.com/stack72/ops-books](https://github.com/stack72/ops-books) > , > [https://landing.google.com/sre/books/](https://landing.google.com/sre/books/) > , [https://response.pagerduty.com/](https://response.pagerduty.com/) > (Incident Response training)]_

To that I'd add that K3D (based on K3S, which is now a CNCF project) runs Kubernetes (k8s) in Docker containers. [https://github.com/rancher/k3d](https://github.com/rancher/k3d)

For zero-downtime (HA: High availability) deployments, "Zero-Downtime Deployments To a Docker Swarm Cluster" describes Rolling Updates and Blue- Green Deployments; with illustrations: [https://github.com/vfarcic/vfarcic.github.io/blob/master/doc...](https://github.com/vfarcic/vfarcic.github.io/blob/master/docker- swarm/docker-swarm-updates.md#rolling-updates)

For git-push style deployment with more of a least privileges approach (which also has more moving parts) you could take a look at: [https://github.com/dokku/dokku-scheduler- kubernetes#function...](https://github.com/dokku/dokku-scheduler- kubernetes#functionality)

And also reference ansible molecule and _testinfra_ for writing sysadmin _tests_ and the molecule vagrant driver for testing docker configurations. [https://www.jeffgeerling.com/blog/2018/testing-your- ansible-...](https://www.jeffgeerling.com/blog/2018/testing-your-ansible- roles-molecule)

[https://molecule.readthedocs.io/en/latest/](https://molecule.readthedocs.io/en/latest/)

[https://testinfra.readthedocs.io/en/latest/](https://testinfra.readthedocs.io/en/latest/) :

> _With Testinfra you can write unit tests in Python to test actual state of > your servers configured by management tools like Salt, Ansible, Puppet, Chef > and so on._

> _Testinfra aims to be a Serverspec equivalent in python and is written as a > plugin to the powerful Pytest test engine._

I wasn't able to find a syllabus or a list of all of the daily posts? Are you focusing on DevOps and/or DevSecOps skills?

EDIT: The lessons are Markdown files in a Git repo: [https://github.com/snori74/linuxupskillchallenge](https://github.com/snori74/linuxupskillchallenge)

Links to each lesson, the title and/or subjects of the lesson, and the associated reddit posts might be useful in a Table of Contents in the README.md.

<comment><AUTHOR> Thanks, but most of that would be way over the top for my "newbies".

However, You must be the third or fourth person today to suggest that I add a TOC - so that is something I think I'll need to look at!

<comment><USER36> Maybe most useful as resources for further study.

Looks like Day 20 covers shell scripting. A few things worth mentioning:

You can write tests for shell scripts and write TAP (Test Anything Protocol) -formatted output: [https://testanything.org/producers.html#shell](https://testanything.org/producers.html#shell)

Quoting in shell scripts is something to be really careful about:

> _This and this do different things:_

      # prints a newline
      echo $(echo "-e a\nb")

      # prints "-e a\nb"
      echo "$(echo "-e a\nb")"

Shellcheck can identify some of those types of (security) bugs/errors/vulns in shell scripts: [https://www.shellcheck.net/](https://www.shellcheck.net/)

LearnXinYminutes has a good bash reference: [https://learnxinyminutes.com/docs/bash/](https://learnxinyminutes.com/docs/bash/)

And an okay Ansible reference, which (like Ops School) we should contribute to: [https://learnxinyminutes.com/docs/ansible/](https://learnxinyminutes.com/docs/ansible/)

Why do so many pros avoid maintaining shell scripts and writing one-off commands that they'll never remember to run again later?

...

It may be helpful to format these as Jupyter notebooks with input and output cells.

\- Ctrl-Shift-Minus splits a cell at the cursor

\- M and Y toggle a cell between Markdown and code

If you don't want to prefix every code cell line with a '!' so that the ipykernel Jupyter python kernel (the default kernel) executes the line with $SHELL, you can instead install and select bash_kernel; though users attempting to run the notebooks interactively would then need to also have bash_kernel installed: [https://github.com/takluyver/bash_kernel](https://github.com/takluyver/bash_kernel)

You can save a notebook .ipynb to any of a number of Markdown and non-Markdown formats [https://jupytext.readthedocs.io/en/latest/formats.html#markd...](https://jupytext.readthedocs.io/en/latest/formats.html#markdown- formats) ; unfortunately jupytext only auto-saves to md without output cell content for now: [https://github.com/mwouts/jupytext/issues/220](https://github.com/mwouts/jupytext/issues/220)

You can make reveal.js slides (that do include outputs) from a notebook: [https://gist.github.com/mwouts/04a6dfa571bda5cc59fa1429d1309...](https://gist.github.com/mwouts/04a6dfa571bda5cc59fa1429d130998f)

With nbconvert, you can manually save an .ipynb Jupyter notebook as Markdown which includes the cell outputs w/ File > "Download as / Export Notebook as" > "Export notebook to Markdown" or with the CLI: [https://nbconvert.readthedocs.io/en/latest/usage.html#conver...](https://nbconvert.readthedocs.io/en/latest/usage.html#convert- markdown)

        jupyter convert --to markdown
        jupyter convert --help

With Jupyter Book, you can build an [interactive] book as HTML and/or PDF from multiple Jupyter notebooks as e.g. Markdown documents [https://jupyterbook.org/intro.html](https://jupyterbook.org/intro.html) :

        jupyter-book build mybook/

...

From [https://westurner.github.io/tools/#bash](https://westurner.github.io/tools/#bash) :

        type bash
        bash --help
        help help
        help type
        apropos bash
        info bash
        man bash

        man man
        info info

From [https://news.ycombinator.com/item?id=22980353](https://news.ycombinator.com/item?id=22980353) ; this is how dotfiles work:

        info bash -n "Bash Startup Files"

> _[https://www.gnu.org/software/bash/manual/html_node/Bash- > Star...](https://www.gnu.org/software/bash/manual/html_node/Bash-Startup- > Files.html) _

...

Re: dotfiles, losing commands that should've been logged to HISTFILE when running multiple bash sessions and why I wrote usrlog.sh: [https://westurner.github.io/hnlog/#comment-20671184](https://westurner.github.io/hnlog/#comment-20671184) (Ctrl-F for: "dotfiles", "usrlog.sh", "inputrc")

[https://dotfiles.github.io/](https://dotfiles.github.io/)

[https://github.com/webpro/awesome- dotfiles](https://github.com/webpro/awesome-dotfiles)

...

awesome-sysadmin > resources: [https://github.com/kahun/awesome- sysadmin#resources](https://github.com/kahun/awesome-sysadmin#resources)

</comment></comment></comment><comment><USER37> Thank you, incredible.

</comment><comment><USER38> tell those doctors to learn all of the options for tar or gtfo

</comment><comment><USER39> That's awesome dude!

</comment><comment><USER40> Thanks for this.

</comment><comment><USER41> thank you!</comment>


On Binary Search - claes-magnus http://unfolding-programming.net/essays/2019-10-30-on-binary-search <comment><AUTHOR> Is this machine-generated text? That or it's badly translated. Either way, it's strangely incoherent and subtly flawed.

Take just the first section. It talks about a bubble sort of ints. Then provides code for bubble sorting strings [1]. Then talks about "sign position in the ASCII table". "linking to the native sort function" is... not the right term (what happened to "call"?). And then we suddenly talk about "the element to be found" (weren't we just sorting?). The rest of the article is in the same vein.

I hope I'm not coming across as just picking on someone's English skills - even with perfect English I would find it hard to follow the train of thought.

[1] This is subtly different because (naive) string comparison is not constant-time, unlike comparing ints in most languages. I was half expecting the article to go there but it didn't.

PS: If not for the discussion here, I would've skipped the read because the site has no HTTPS. Please get a cert, it's free: [https://letsencrypt.org/](https://letsencrypt.org/)

<comment><USER2> I was wondering the same thing. It's either a horrible human-written article, or an impressive machine-written one.

<comment><USER3> It could be a non-native speaker of English trying his or her best.

</comment></comment></comment><comment><USER4> > _The problem with linearity is that the time to return the correct position > grows exponentiality with the size of the dataset and of the position of the > value to be found_

No, the time required for linear search does not grow exponentially. It doesn't even grow quadratically. It grows linearly.

<comment><USER5> Agreed. It's such a strange statement I suspect he meant something else but I can't see what.

<comment><USER6> Could they have meant exponentially with respect to using binary search? That is, using linear search is exponentially worse than using binary search on a sorted data set.

<comment><USER4> That's an interesting theory. It is indeed exponentially worse then. Binary search is O(log N), and linear search is O(N).

If you let M=log N, then binary search is O(M) and linear search is O(e^(log N)) = O(e^M). So viewed that way, it's O(M) vs. O(e^M), an exponential relationship.

But the blog would still not be 100% right because it adds a qualifier. It says "grows exponentiality _with the size of the dataset_ ".

<comment><USER7> Trivial nitpick: since this is binary search, the base for the logarithm is 2, not e. So it would be 2^M.

<comment><USER5> Nitpick upon nitpick, the base may be 2 rather than e but IIRC the difference between lg(n) and log2(n) is a constant, and the log/lg term dominates, so it still is 0(log). I think.

Big fleas have little fleas upon their backs to bite 'em \ And little fleas have lesser fleas, and so, ad infinitum.

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

<comment><USER8> Nitpick on Nitpick on Nitpick, it is indeed O(2^m) and not O(e^m). Those are not the same complexity.

Logs get to not care, but when we exponentiate it matters.

</comment></comment></comment></comment></comment></comment></comment><comment> claes-magnus Thanks for comments! I will attempt to fix the flaws. Fixing the english will be harder though, for the time being my english is flawed (period). :)

I should provide some background. I don't have any education in CS. This is an antempt on my behalf to fill gaps of knowledge. Being a junior frontend dev they are plenty, and I am thankful for your criticism (thanks again! You'll make me better).

Anyway, I have changed the blog post! Mostly by erasing text. But if there are no good, clear red thread this is the best way. :) Thanks again!

<comment><USER9> Thank you for exploring algorithmic concepts as a front-end developer! Keep that up and you'll get very far in your career.

I say this because we have interviewed nearly 150 front-end candidates and had to reject all but one due to their lack of very basic algorithm/data structure skills. I encourage anything that makes that pool less depressing!

<comment> claes-magnus I am not saying you are guilty of this, by I think this is sad in a way. My prejudice is that many frontend developers are interested in CS for the wrong reasons; I don't know if it's true though.

But CS as a career boost is very instrumental. I think it's better to focus on the good parts:

a) CS is fascinating, b) I also think there is an ethical side of CS. For each year, more 'logic' ends up in the frontend - I think. If this is true, there is an ethical dimension to it; not everyone have a new computer with the latest browser - performance has a ethical dimension.

Also, I for one hates when web sites are slow (so I guess there also is a business/economical side as well). But my main point is that - and no, I am not saying you're guilty of this, you clearly like CS (why comment otherwise), but the reasons you provide would gain from adding the perspective I am trying to provide, I think - is that CS should be studied because it is important, and fascinating. :)

I will never be good with CS. But if my own take on CS were only instrumental (career boost), I would most likely end up with less knowledge in comparison with reasons related to fascination (and ethics). I think this is an important point. Sure, it is perhaps made often. But in that case, I think it is important to repeat it. I see ads for many CS courses on i.e. Udemy with titles like CS for interviews and so on. I am not saying those course are bad (don't know); all I am saying is this is an instrumental view and that we (developers as a community) sometimes should be better at finding the right reasons.

Sorry, this was a long reply. :( :)

</comment></comment></comment><comment> j-pb Pretty blog, but though the title suggests some "insight" into binary search, there is not more than what would be taught in the first two weeks of an undergrad CS curriculum.

<comment> claes-magnus Thank you. CS is what I am trying to learn. :) I have not studied CS, only some vocational education in programming, and I am into front-end. However, I think this is important for someone like me, and it is really fascinating. :)

</comment></comment><comment><USER10> Each time I see an implementation of binary search like this I can't help but recall:

[https://ai.googleblog.com/2006/06/extra-extra-read-all- about...](https://ai.googleblog.com/2006/06/extra-extra-read-all-about-it- nearly.html?m=1)

Which reminds me just how young the field of computer science is and how even the ^well known^, fundamental algorithms might have buggy implementations.

<comment><USER11> Why does this implementation used signed integers for indices at all?

<comment><AUTHOR> Java. There are no unsigned integers in Java. Many would consider that a benefit (although opinions vary on signed vs unsigned bytes). FWIW, the creators of C++ have stated that they'd go with signed integers for e.g. indexes in the library interfaces nowadays (but it's way too late to change that).

Popular problem with using unsigned : Write a reverse for loop from n (exclusive) to 0 (inclusive). See if you can do it without discarding your two most intuitive (but wrong) approaches.

<comment><USER12> Its the opposite. Its easy to write such a loop with unsigned ints: for(x=top;x<=top;x--). However you can't reliably write a loop spanning the whole space with signed ints without breaking the no-overflow rules. With unsigned you can do x=0;do{stuff(x);}while(++x); Good luck doing this with signed ints.

</comment></comment></comment></comment><comment><USER13> "The problem with linearity is that the time to return the correct position grows exponentiality with the size of the dataset and of the position of the value to be found"

Eh...what? Linear = Exponential growth?

</comment><comment><USER14> Your loop body looks incorrect. You're both adding 1 when updating low and subtracting 1 when updating high -- but you let the high index start at array.length. It's possible that your additional || clause before the high update mitigates the effects of this, but it's at best inefficient. To implement binary search effectively, it's useful to think about invariants. [https://zhu45.org/posts/2018/Jan/12/how-to-write-binary- sear...](https://zhu45.org/posts/2018/Jan/12/how-to-write-binary-search- correctly/) looks like a decent post on this topic. Searching for "binary search loop invariant" or similar will find many similar articles. I recommend giving them a look, it's a useful thought framework for this algorithm :)

<comment><USER14> The highest-rated comment on [https://stackoverflow.com/questions/504335/what- are-the-pitf...](https://stackoverflow.com/questions/504335/what-are-the- pitfalls-in-implementing-binary-search) is also good.

</comment></comment><comment><USER15> > The problem with linearity is that the time to return the correct position > grows exponentiality with the size of the dataset and of the position of the > value to be found;

I don't this is quite true.

</comment><comment><USER16> This TopCoder article [1] on binary search is the most comprehensive one I've read on the topic so far. It covers the discrete and continuous variants and mentions some common pitfalls too.

[1]: [https://www.topcoder.com/community/competitive- programming/t...](https://www.topcoder.com/community/competitive- programming/tutorials/binary-search)

</comment><comment><USER17> Just read your article. Something about the way you write made me look at your archives. Now I am coding a maze generator using prim's algorithm. For fun.

Yes, you should get a certificate for your site, yes there is room for improvement for your english and yes you have a long long way to go to just get a grasp of CS fundamentals.

But don't stop trying man. You just inspired me :)

<comment> claes-magnus Great! That's why we have communities such as this one?! :) To inspire each other; even when we are wrong... Curiosity is contagious, I guess. :)

</comment></comment><comment><USER18>
        let mid = Math.floor((low + high) / 2);

I don't know if JS has the same problem with overflow, but seeing that expression always reminds me of [https://news.ycombinator.com/item?id=14906429](https://news.ycombinator.com/item?id=14906429)

<comment><USER19> JS only has 64-bit floats.

</comment></comment><comment><USER20> a fun exercise is to write this in Dafny [https://github.com/dafny- lang/dafny](https://github.com/dafny-lang/dafny)

It's simple enough to be attempted with a limited knowledge of Dafny, but subtle enough that you will need to think about what you are doing

[https://www.youtube.com/watch?v=-_tx3lk7yn4](https://www.youtube.com/watch?v=-_tx3lk7yn4)</comment>


A Crypto Social-Robot to Spend $95M Daily on Urgent, Neglected Worldneeds - <AUTHOR> https://wayout.world/index.php/a-social-robot-to-spend-95m-daily-on-urgent-neglected-solvable-worldneeds <comment><AUTHOR> I'm hoping for your support especially critic to test & validate, nurture the above idea.</comment>


How to Create More Women and Minority Tech Founders - <AUTHOR> I'm the head of development for a venture capital studio and I've been thinking about how I can use my skills to make more of an impact. I came up with building tech companies for women and minority founders for equity only (i.e. it wouldn't cost any out of pocket money ).
Is this a worthwhile effort? Here are a few of my concerns...
- I'm white. I don't know if this matters but I thought I'd mention it.
- Taking equity. This will be a business. The primary reason for making it a business and not a non profit, is that I think I can raise money for it if I can show how it can make money. This means more companies will be built that otherwise would not have been and it also proves to investors that they have been ignoring a hugely talented group of people. Also, it would be an amazing company to run.
I've built a site and am accepting submissions at www.sturdyfalcon.com ( funny name, I know ) , but really do want help shaping the mission / purpose of this project.
Thanks,
Andrew <comment><USER2> If you're selecting projects based on the gender/race of the owner instead of the merits of the project and the team's skills / compatibility, you're going to lose in long term.

<comment><AUTHOR> I agree completely. I will be selecting based on merit, it's just that this will only be open to that group of people.

<comment><USER2> So not on merit. That's like saying "I will create The Olympics for black people only to fight racism".

<comment><USER3> He just stated that he will be selecting based on merit. Other requirements will not necessarily negate that.

</comment></comment></comment></comment><comment><USER4> We minorities have always made top engineers. For example, here's my latest product: www.enrad.io (and no, we don't want your money.)

If you really want diversity in the startup ecosystem, simply fund and hire minorities...and stop merely talking about it. Seriously, stop moving your lips and just hire some people. We're everywhere. And we're very good.

<comment><USER5> Something I like about working in Sydney, Australia is that the teams I have been in are very ethnically diverse - people from all continents, countless countries. Also age diversity is good. Although still not as many women in tech roles unfortunately.

I have worked for established companies though not startups but I am sure it is the same.

</comment></comment><comment><USER5> Invest in startups in foreign countries, particularly 'non-western' countries.

Find a way to help funnel some of that Silicon Valley investment money over to other countries. Whether that is your own money or other funds. Also politically - make other countries create a good startup environment. One thing that springs to mind is the tax treatment of startups should be special.

</comment><comment><USER6> Just a few questions. Are you doing this because of white guilt? Do you come from a wealthy white background? Do you/did you have a trust fund? What about the tens of millions of dirt poor non-minorities in the country? Do you think there should be more women and minority tech founders than the proportion of their respective population?

</comment><comment><USER7> Not sure how to feel about this, are there any laws that prevent minorities and women to become tech founders? Just don't discriminate people and that should be enough. As accepting only white males into certain programs would be considered racist, so is this IMO.

</comment><comment><USER3> I'm not a founder, but I am a minority/female developer in New York. I have a couple of ideas for web apps, but I don't know the first thing about business. Anyway, if I could be of any assistance feel free to let me know. www.tanwill.nyc

Good luck to you!

<comment><AUTHOR> Awesome, thank you!

</comment></comment><comment><USER8> I don't think it's a worthwhile effort in the slightest. You don't see people as individuals, rather as categories. "I'm making an impact by helping minority/women" "I'm white" Nothing will get better by doing this. Instead, judge each human by their unique characteristics. People don't want to be recognized because of these attributes, but instead because they really accomplished something worthwhile, or did something extraordinary. Not be born with X genatalia or Y skin colour.</comment>


A dying America is raging against the capitalist machine - <AUTHOR> http://www.salon.com/2016/06/03/neoliberalism_gave_us_trump_a_dying_white_america_is_raging_against_the_capitalist_machine_partner/ <comment><USER2> This article was a dense read that seemed to ramble through several different points. I'm not sure I wrapped my head around the author's intent (especially with the Nazi references), but I really liked the last two paragraphs:

>Trump is, of course, a conscienceless demagogue, serial liar, and nihilist with a belief in nothing save himself. Sanders, on the other hand, means what he says. On the issue of economic justice, he has been a broken record for more than a quarter-century, even if no one beyond the boundaries of Vermont paid much attention until recently. He is now widely trusted and applauded for his views.

>Hillary Clinton is broadly distrusted. Sanders has consistently outpolled her against potential Republican opponents for president because she is indeed a limousine liberal whose career has burned through trust at an astonishing rate. And more important than that, the rebellion that has carried Sanders aloft is not afraid to put capitalism in the dock. Trump is hardly about to do that, but the diseased state of the neoliberal status quo has made him, too, a force to be reckoned with. However you look at it, the age of acquiescence is passing away.

</comment><comment><USER3> The author seems to be arguing for socialism. As he explains, liberalism is based on the idea of preserving capitalism through social and economic reforms. However, for decades now American capitalism has done fine, enriching the %1, but the general population has done poorly, and that has lead to a situation where much of the public, both Republican and Democratic, is revolting.

I agree with this analysis, but I don't see where socialism, at least in its classic sense of having the government own the means of production, would be a solution.

</comment><comment><USER4> I started skimming, then gave up. Anybody got a TL;DR on this?

<comment><USER5> My (biased) interpretation:

The author previously wrote a book about how Limousine Liberal vs Populist Conservative is a false dichotomy that has polarized political perspectives ever since Nixon invented the term. Back then, the progressive/socialist left opposed liberalism for it being intimately connected to the war machine (where war in Korea was engineered to serve aggregate demand for American goods). As we entered into the bold new (Post-Nixon Shock) era of the 1970s where the failure to replicate the "success" in Korea caused economic turmoil, liberalism co-opted the efforts & reforms of the left when it came to social equality, and then liberalism and the progressive left became conflated under assault from the resurgent right for decades to come.

Around the time of the 1990s, the Clintons realized that you can form a bulwork against many forms of discrimination without "disturbing the equanimity of the 1%." Until both the Occupy Movement and Tea Parties arose, as responses to the damage of neoliberalism, whereas the former was motivated by similar ideals as the 1960s left, the latter was motivated by "fantasy of older capitalism, one friendlier to the way they think America used to be".

Later in the article it talks about how Trump and Sanders camps have been damaged by neoliberalism, where Sanders is a New-Deal style social democrat, whereas Trump is a "conscienceless demagogue, serial liar, and nihilist".

(By "biased" I mean that I would prefer to bring more attention to the economic paradigm shift precipitated by the Nixon shock rather than the particular propaganda method of the concept of "Limousine Liberal")

<comment><USER4> > war in Korea was engineered to serve aggregate demand for American goods

What The Flatulence? Did people actually believe that? Do they still?

<comment><USER5> I guess I was over-simplifying in the interest of brevity. I only meant to say that after the Chinese Communist Revolution, the western world lost a huge market when it came to revitalizing Japan's economy, so many saw the opportunity to invest in Japanese factories that built things for the US war effort.

</comment></comment></comment></comment><comment><USER6> Who represents Capitalism in this country? No one.

<comment><USER7> What do you mean by "represent"?</comment></comment>


You shouldn't record Clubhouse calls - <AUTHOR> https://prestonbyrne.com/2020/07/02/you-really-shouldnt-record-clubhouse-calls/ <comment><USER2> I'm sorry, these guys want guaranteed privacy for all their secret underground calls that they have with other CEOs so that can plot against politicians and others with impunity, and yet these same companies are actively working to remove any privacy that normal citizens have?

I don't think I have any pity for them.

</comment><comment><USER3> >These laws exist to promote free thought. They punish those who seek to pry into our most private spaces and turn America into a place like East Germany.

If you're going to argue that journalists blowing the whistle on the private conversations of the ultra-rich and powerful _about how to reign in journalism_ with the Stasi, that's a great recipe for getting people sold on the idea that privacy itself is a tool used by the powerful to escape scrutiny.

It reminds me of that bit in the Silicon valley TV show ([https://www.youtube.com/watch?v=t5zQpN28xa4](https://www.youtube.com/watch?v=t5zQpN28xa4))</comment>


Distributed Hash Tables and the Postage Stamp Problem - <AUTHOR> http://alexmohr.com/papers/dht-postage-stamp-podc2005-extended.pdf <comment><USER2> Interesting. I was working on the PSP problem for the "Son Of Darts" contest (<http://www.azspcs.net/Contest/SonOfDarts/>). The contest asks solution for the third case (h << k) where the paper is slim.

<comment><AUTHOR> That's what got me onto this paper: doing an online literature search for ideas for "Son of Darts" after frying my brain solving a few cases by hand.</comment></comment>


US attorney for Mass. won't rule out crackdown on legal pot - <AUTHOR> https://www.bostonglobe.com/metro/2018/01/08/will-feds-crack-down-marijuana-not-campaign-wants-answers-from-attorney/ESFSOneZK2FKF2WtBWyQkL/story.html?s_campaign=breakingnews:newsletter <comment><AUTHOR> I live in Massachusetts; there's been tons of entrepreneurial activity and excitement regarding the legal marijuana business.

It's been estimated that this could become a $1.1 billion industry is MA, which means employment for many people here: [https://www.bostonglobe.com/business/2016/03/27/legal- mariju...](https://www.bostonglobe.com/business/2016/03/27/legal-marijuana- could-billion-industry-mass-researchers- forecast/kNXpuKl0k4LKrLUTlaqfXL/story.html)</comment>


Show HN: Website to help those with higher risk of COVID19 - <AUTHOR> https://covid19helpusa.com <comment><AUTHOR> Hello. Me and a friend have developed a website meant to facilitate volunteering during these times. This is concerning COVID19 high risk and low risk individuals. Our match service offers an opportunity for low risk volunteers to help their neighbors who are at high risk (elderly and underlying medical conditions) with daily chores such as: picking up groceries, prescriptions or simply checking in every couple of days.

<comment><USER2> what's the privacy policy? Storing vulnerable people's personal information might have some issues in EU countries.

<comment><AUTHOR> We mainly target the US, whe are working on a EU version that will address those issues.</comment></comment></comment>


Peruvian Inca Wind Instruments - <AUTHOR> https://www.youtube.com/watch?v=ZzoiL7x56Eo <comment><AUTHOR> While speculative in parts, here is one description I found of the background and basic functioning of these instruments:

[https://whyyouhearwhatyouhear.com/chapterfiles/chpt13/other/...](https://whyyouhearwhatyouhear.com/chapterfiles/chpt13/other/THE%20ENIGMA%20OF%20WHISTLING%20WATER%20JARS.pdf)</comment>


Ask HN: What are the challenges for funding programming languages? - open-source-ux Some languages have a large company or organisation behind them and the resources to support those languages well. For example, Google with Go, Apple with Swift, Microsoft with C# (and others), Mozilla with Rust.
But what about the myriad other languages out there? How do these programming languages - without large benefactor support - survive or thrive?
What are the challenges? Is it getting sponsorship or funding to hire full-time developers? How do these languages get comprehensive documentation written so users can understand the potential of the language? How do they get libraries out that will attract users and save them time?
Much has been written recently about the challenges of funding open source applications. What can be done to support the funding of open source programming languages? <comment><AUTHOR> How about IssueHunt? [https://issuehunt.io/](https://issuehunt.io/)</comment>


Why Loneliness Matters in the Social Age - <AUTHOR> http://wikichen.is/writing/forever-alone/ <comment><USER2> There was an interesting article recently about teens and social networking, and insight of the article was that teens want to socialize IRL, but there is nowhere for them to go without parental supervision.

I would argue that this approximately true for adults, American cities don't have pedestrian-only town squares, the public transit is abysmal (because long ago they ripped out all the streetcars, which led to the destruction of many social places, like Excelsior Amusement Park and Wonderland Amusement Park),

[warning anecdotal evidence]

The few dynamic social spaces I've known have been

Paved (Hidden Beach),

Pushed out due to rent increases (Loring Bar, Little Nikkis Cafe, CyberX),

Turned into a Bank of America (Filter in Wicker Park),

Out of business due to the smoking ban (The tobacco shop next to Filter in Wicker Park)

Purposefully destroyed by fake art to prevent gatherings (That little area next to the Subway on State Street in Madison, WI (where I used to play hackeysack))

Not to mention that we destroyed all the beer gardens during WW2 (this really happened), because that was too German, you can't drink a bottle of wine in a park like the French do, because I guess the drunks would abuse it, and the parks we do have generally don't also have any commercial activity _whatsoever_ , not even a little kiosk where you can buy a coffee.

That's not even considering the destruction of ethnic neighborhoods by intersecting them with freeways (the old Catholic neighborhood [that no longer exists] that used to surround the Basilica in Minneapolis)

You know we're doing something wrong with urban design (which I argue is directly related to loneliness), when you see statues of children playing and not actual children playing.

Further reading/viewing:

James Howard Kunstler: The ghastly tragedy of the suburbs

James Howard Kunstler: Geography of Nowhere

The Slaughter of Cities: Urban Renewal as Ethnic Cleansing

Streets for People: A Primer for Americans

Bowling Alone: The Collapse and Revival of American Community

The Great Good Place: Cafes, Coffee Shops, Bookstores, Bars, Hair Salons, and Other Hangouts at the Heart of a Community

<comment><USER3> Could you link the article?

I spent most of my youth "ruled" under extremely restrictive parents in a suburb that offered nowhere to go without a car, that my parents would never let me use. I was very lonely as a kid and even after I got to college, it took me a while to develop the social skills I needed to make myself happy. I ended up developing a strong hatred for the suburbs in my youth and have embraced the urban city. Wherever I end up living when I have kids, I'll never subject them to the loneliness that I grew up with. I want my kids to be able to have peers as a refuge away _from me_ as a parent.

(Using a throwaway for anonymity.)

<comment><USER2> Don't Blame Social Media if Your Teen Is Unsocial. It's Your Fault

If kids can't socialize, who should parents blame? Simple: They should blame themselves. This is the argument advanced in It's Complicated: The Social Lives of Networked Teens, by Microsoft researcher Danah Boyd. Boyd—full disclosure, a friend of mine—has spent a decade interviewing hundreds of teens about their online lives.

What she has found, over and over, is that teenagers would love to socialize face-to-face with their friends. But adult society won't let them. "Teens aren't addicted to social media. They're addicted to each other," Boyd says. "They're not allowed to hang out the way you and I did, so they've moved it online."

[http://www.wired.com/opinion/2013/12/ap_thompson-2/](http://www.wired.com/opinion/2013/12/ap_thompson-2/)

<comment><USER4> It's a relevant point she brings forth - albeit a false one. Microsoft just as Google is much too biased in this debate and so is Danah Boyd. It is not just the parents fault, the upbringing and social life of a child is composed of many factors. It is not unreasonable to assume that most regular children at the age of ten are in possession of a smartphone and have working parents. At least half of the kids' days will be spent outside of parental jurisdiction and under the influence of other players. These players are - from most real to most virtual: Geolocation, Government, School, Teacher, Classmates/Clique, [...], Mobile device, Software company (Google, Microsoft et al). It is not just a mistake to blame parents, it is the deliberate attempt to throw off any kind of debate that needs to be had about the responsibility of tech companies. If kids learn that likes matter, they will behave accordingly.

<comment><USER5> I haven't read the book yet, but based on my knowledge of what boyd has said over the past decade, I'd hazard a guess that she actually means that parents should stop trying to defend their kids from nebulous external threats and recognize that their own behavior is a significant part of the issue.

Last I checked, Google wasn't a daycare service. I'm not really sure why you're trying to insist that it is.

</comment></comment></comment></comment></comment><comment><USER6> Interesting article, but I can't help feeling that for the author the feeling of loneliness is a _symptom_ of something underlying. Which makes the loneliness itself much less interesting.

The reason I say this is, because it affects reaction and treatment. If someone complains of persistent leg pain, you don't delve too deeply into the nature of the pain and whether society is sufficiently kind to leg-pain- sufferers, if it turns out their leg is caught in a bear trap.

The Stephen Fry quote makes that particularly clear. If a well-loved public figure, by his own admission possessed of good friends and many social engagements, can feel tremendously lonely - and if the post author, who can discuss feelings of tremendous loneliness with friends and counsellors yet still feel lonely, then it doesn't seem worthwhile discussing "public discourse on the cultural ramifications of technology" or "our growing dependence on technology to communicate" as the article does. Because the author, actually being in a state of depression, might well feel just as lonely if those things were totally different.

<comment><USER7> There is no 'right way round' for so-called symptoms or so-called 'underlying' conditions, because these things are subject to feedback. Positioning in social contexts affects brain chemistry, brain chemistry affects behavior, behavior affects positioning in social contexts. To name only a few of the causal lines that can be drawn. As a long time sufferer of all of these things, I've found the illness model of depression to be very nearly useless, sometimes harmful, except during short-lived acute manifestations. I'm aware that the mileage of others varies.

Comparing the brain to other parts of the body doesn't work. It's like trying to reason about a CPU by studying a USB port. With other organs, it's relatively easy to understand function and dysfunction. With the brain, it's not as clear cut what constitutes normal functioning. Is it normal to be happy or content in a world where, objectively, there is a lot to feel hopeless about? What if this brain has been in solitary confinement for eight months? Do we still expect it to be functioning normally, or look to the chemistry of the brain to fix the situation? A human is embedded in a society and culture, and it's very hard to treat the organ that is so profoundly affected by that embedding in isolation. Not that it is never appropriate to treat it that way, but I do think the current prevailing attitude does that too much.

<comment><USER8> I am a bit confused about terms. It seems like the discussion is about two related but separate things.

First, there is lonelyness, the social state. This involves not talking to people, not going to meet new people, and not talking about things you find meaningful with those people. This is a set of actions: it is either done by choice (not a problem) or due to some other underlying problem, like a lack of time/effort, depression, fear of social vulnerability, anxiety, or a lack of interpersonal skills. The reason we call these things underlying is because they represent tangible actions that can be taken by the victim of loneliness or someone else to fix the problem

Then there is loneliness the emotion, which might exist separate of the actual lack of socialization described above... existential loneliness perhaps... but most often is cause by the above.

</comment></comment></comment><comment><USER9> Related but an off-shoot question, people who are "settled down," in your late 20's/30's/40's/50's/60's, have families and various obligations, how do you deal with loneliness?

As someone who is on the precipice of turning 30 (27 currently), speaking strictly for myself - I've found that loneliness for me and my older peers is different from the angst of adolescence a la Holden. Tbh, younger people tend to think in more black and white terms and very ambitious but most haven't gone through the "test" of one's vulnerability and limitation. Unfortunately, we also live in a marketing society that sells products and dreams on the Fear of Missing Out (FOMO) that exploit the impressionable young people (e.g., the "MTV" high school memories with the "Coke" concert experience with friends; the "Ivy League" class room experience, the "Liberal Arts" self-exploration, the "Sexy-Times" with la-femme-de-Zooey Deschanel and "Peter Thiel/Steve Jobs entrepreneur" iconoclasm).

Whereas I was a jack-ass when I was 21, thinking I was special and therefore deserved and expected external tokens of accomplishments at every stage in my life (I was crestfallen at age 21 after being rejected by YC because I couldn't post a smug post on FB to snub all of my classmates and friends; and most importantly, have that as a validation to my insecure self-worth; a loneliness stemming out of FOMO). My loneliness nowadays is more centered around the splintering of between mine and my friends and acquaintances' goals and vision.

Some of my friends are still going at it with early twenties vision of grad school, startups and traveling, albeit with some bruises and splints. Some of my friends have fully "embraced" adulthood, complete with jumbo mortgage loans and X month into pregnancy and parenting books and diapers. Friendships/liasons have changed from one-on-one interaction to couples or single "dating" another couple or single. But most alarmingly, how much less I care and am affected by my peers' ideas and vision because how much I've fully embraced my own vulnerabilities/personality and focused fully to vest on my own ideas.

People who have past their 20's, how do you deal with loneliness? Do you focus on your family or really close friends after twenties, or do you focus on pursuing your own ideas with a community of likely-minded people, or do you come up with some kind of philosophical reconciliation?

<comment><USER10> I'm 31. I was 25 when I got married, which was also the same year the company I co-founded hit the skids and eventually a brick wall. That first year was really rough on us (we started with 1 child and had another in the middle of that year), but we survived and watching that company burn was one of the most valuable life lessons I've ever had. We've had another two kids since then, and I've learned a few other things along the way.

Before I was married, all of those fears and anxieties ruled my life. I think that's partly what attracted me to the startup world and ultimately to starting that company. I wanted to chase my ambitions and fight that feeling of loneliness. However, the great lesson I learned from that company, and ultimately from the last few years of marriage and kids is that you won't be alone when you choose to value the people you love over achievements you earn, stuff you buy, or even just stuff you work really hard on. I poured it on with the 90 and 100 hour weeks the last 6 months of that company and in the end the company crumbled and my hard work left me with nothing but bitterness toward my creation (I eventually got past the bitterness). Today I invest that time in my wife and my kids, and they are my world to me. They're my best friends. There's no earning their love, but the time I spend with them is never wasted. I don't get through the week, having prioritized them over other things, and think to myself "man, I really wish I'd spent an extra 20 hours on that personal project" that will never do anything for my personal fulfillment beyond some temporary ego boost.

Now. That's not to say I don't still love the startup and technology world. I do. And I still have those personal projects. And that professional community. I also love working hard on stuff that pushes the envelope. But the funny thing is that ever since I put that part of myself in a bounded box I've enjoyed it more and been more productive. There isn't the sense of having to keep up, and yet I'm still able to. Consequently I'm happier at work and since I don't draw my personal worth from it, I can take setbacks and move on and still enjoy it.

I don't know that everyone should get married, but it seems to me that, based on everyone I've ever known, that you best fight loneliness by surrounding yourself with people who will stick by you regardless of job, religion, social status , health, or anything else. To me, the question to ask is - if the world fell apart right now, would the people you prioritize still be with you?

<comment><USER11> Thanks so much for sharing your perspective. You've put words to some half- formed thoughts I've been having since a recently failed relationship. Live and learn

</comment></comment></comment><comment><USER12> My first year or two of university were somewhat similar, with periods of significant loneliness, which I can now, many years later, compare to grief in its intensity and debilitating effect (knowing full well that my recollections of those affects is hazy at best).

Part of this was the feeling of isolation caused by being in a new place without the "support network" I had in high school.

"Putting myself out there" didn't help much (I was involved in several groups, including drama productions, where one literally puts one's self out there).

What helped immensely were one or two intimate relationships, in one case a summer romance (yeah, I know how cliché that sounds) between second and third year and in the other a sometimes rocky and difficult two year relationship over my last two years (fourth and fifth).

Thinking about these relationships Vs friendships Vs acquaintancies prompts me to speculate that there is a strong positive correlation between the amount of time one spends with another person and one's sense of well being: Acquaintances were little blips of goodness that drained away quickly when the other left (minutes, say?), the feeling of goodness from being with a friend could last hours or even a day or two, but with highs and lows, but living together had me feeling good about myself all the time, even after a bad fight, with amount of time spent with the person directly related to the depth of the relationship: You don't spend as much time with your acquaintances, even if you want to, because they have other acquaintances and friends and lovers, and they want to spend time with them; you spend more time with friends, because you are their friend too; and you spend so much more time with lovers because that is the choice you have both made.

In 20/20 hindsight, I am quite glad we didn't have the Internet (it would one year after leaving U that I learned to spell TCP/IP and another year before I got my first email address) and that phones calls were so expensive: If I had had "anchors" elsewhere that I could easily reach and hold on to, I don't know that I would have stayed where I was.

As it was, I had to "bear down" and "barrel through" until better times came by. Sure, a different path could have led to just as good a life, but I'd hate to travel back and take that chance: Things are good, very good.

</comment><comment><USER13> Because nothing could be accomplished without avoiding constant distractions which comes from society. When Sartre said his famous "the hell is other people" he probably meant this too. Others, like Mishima, Rand, Nabokov, Hesse also emphasized if not loneliness but certain safe distance from so-called society. It is perfectly ok to be alone from all that socially constructed reality they created for themselves. Like Tibetans said "the hell is a not a place, but a consequence of behavior of inhabitants".

So loneliness is required, at least it is more bearable and natiral condition for those who is labeled as by society as "introvert" or "autist" or other words they cannot understand. Introversion is an effect, not a cause, and with good books, like "Catcher" cited by OP one is never alone, and it is a better condition than being "social animal" before TV set, or with a bottle on the street.

<comment><USER14> or just view things as a spectrum rather than a two-state decision. even tibetan people who have to live in remote areas in order to farm can still get together with friends and race horses and so on every year. similarly, software development might require extended periods of focused time, but that doesn't mean you ought to be socially isolated _all_ the time.

<comment><USER13> All generalizations are wrong, this one is no exception. Let's say that it is more correct for "individualism" centered Western cultures and makes less sense for "community" centerd cultures, such as Tibetan's and most of Asian's. I difenitely could survive without a bunch of selfish assholes, maintaining a minimal enough interaction with society, while in Tibet, where they live in clans of relatives and tribes, so you have to be part of your small, isolated community. But in a broad sense the idea to isolate oneself from pop-culture and media and construed by it shared social reality, to see things as they are (to very limited extent, of course) is good one, and all the good writers, like Pamuk or Marques told us how good it is.

</comment></comment></comment><comment><USER15> This is an interesting article. I found myself agreeing with it most of the time. At the same time, as someone who has overcome a lonely path, I can't help but put a lot more emphasis on culture than on the others.

American culture is a lonely culture, as my wife is always pointing out. We send our kids to college alone. We retire alone. We look at social problems like poverty as if they are held by the individual alone. Loneliness is the price of freedom but it is also the price includes lack of real social and physical support.

When I moved to Indonesia two years ago, things went downhill with my marriage fast. My wife was always threatening to send me back to the States (every couple weeks) and I couldn't develop a sense of place in the midst of the uncertainty. I felt like I was half-way around the world from anyone who cared about me except for the kids. It was a very dark, depressing, and crippling place to be (business-wise, personally, and more). And so things continued for most of two years. Eventually we did overcome our problems (in no small part due to me eventually deciding I had to ignore her threats).

Here's the basic thing. It doesn't take many people to combat loneliness. Quality matters far more than quantity. Getting out there and meeting people is a smallish part of the battle. A much larger issue is building real friendships with a small number of people.

Having two or three close friends makes a world of difference.

<comment><USER16> Sounds like if your spouse is threatening to "send" you out of the country a more significant problem than loneliness might be an emotionally abusive and dysfunctional relationship. I only say this (as a reality check) because I've been there, and one can become so numb and codependent that you cease to be aware that this type of behavior is not loving, not normal, and not what you deserve.

<comment><USER15> One thing one has to learn in an intercultural relationship is how culturally defined abuse actually is. Additionally one has to understand that far from what we like to think, patterns in interpersonal relationships are more cybernetic in nature (i.e. arising from feedback systems) than anything else and when you cross cultural barriers it takes a lot of work and effort to make things work.

Was it dysfunctional? Absolutely. Is that a good idea to break up the family where there are three kids and separate everyone by the diameter of the planet? Not so much.

What I can also say though is that for all the problems I have learned so much I could not have learned otherwise by being willing to work on understanding a perspective of another culture. The cost has been great but the rewards have as well.

</comment></comment></comment><comment><USER17> I think we're mainly lonely because we learn to value sex as the primary goal in interpersonal relationships, thereby devaluing everything else. There is a linear relationship in western culture between the rise of emphasis on sex, which at first seemed "liberating", and the decline in feelings of connectedness with other people. Read some of the older literature which seems "repressed" by today's standards, and you will see that people had a better appreciation for life's other blessings, placed a higher value on friendship, and had more substantial friendships with other people. I don't think it has much at all to do with technology or the "pace of life", or even materialism; it's mainly about sex and where it lives in our value system. We don't want to go back to being repressed, but our current value system needs some adjustment, which will be difficult because it is a form of addiction. Like other addictions, it gradually drains meaning from the rest of life. Ironically the epic glut of pornography could help turn the tide, as people just overdose and realize how empty the whole thing really is. The recent rise of mainstream sadistic fantasies like 30 Shades suggests the end of the line for this kind of thing; what would be next?

</comment><comment><USER18> Loneliness can't be addressed easily via social networks as you are not really authentic self when you are on them. When you are on Facebook, you want to project a positive image of yourself so you can get more Likes as a 'way to go'. On LinkedIn it is professional you and you have to be careful how you brand yourself there to be viewed by potential employers or customers. Twitter is not expansive enough to form meaningful connections though it can be done over time with a small group of people. The best way is still connecting in person seeing the person's face and body language. 'Find better people' is the advice to live by.

</comment><comment><USER19> I think it's a very interesting and well-documented article. Everything is actually summarized in the 4 minute video half-way through the article, if you're short on time. Basically our need for self-actualization and the lens that our social platforms offer (idealized)is killing our social experience, by emphasizing quantity (connections and likes) over quality (content)and an easy excuse not to admit you're lonely: but I have x-amount of friends on...

Nice post :D

</comment><comment><USER20> Louis C.K. had some good points on this: [http://youtu.be/5HbYScltf1c](http://youtu.be/5HbYScltf1c)

</comment><comment><USER21> This advice is far better than it sounds:

> "Find better people," he replied.

I began feeling very much like the author describes in my late high school years. I was nothing like the unpopular guy stereotype though. Yes, between my passion for programming and my introversion I was not exactly a lollypop, but I wasn't the nerd that everyone hated. I was a drummer trying to start a band, occasionally rebellious towards the teachers, and while I wasn't quite the most popular person in the school, my girlfriend _was_. I went out regularly and thought I had a lot of friends.

Truth is, though, I didn't. I felt increasingly lonely and trapped and misunderstood. My passion for programming was regularly getting at odds with my social life and I felt stigmatized for not giving my friends the attention they needed. Instead of talking to them, I gradually moved my coding sprints later and later in the night which, coupled with some problems I had with my parents, destroyed my sleep schedule (which has actually been messed up ever since).

I gradually shut every door I could shut, in everyone's face, until the loneliness I felt was matched by the lack of human contact; my social life became bleak, my love life pretty much ended as I gave up fighting for a five- year relationship that I was, by then, considering hopeless, and got stuck in a complicated relationship with someone who was about as mentally disturbed as I was (and, to some degree, still am).

Professionally, things weren't bad, but intellectually, I thought they were. Initial good results made me hopeful towards a career in academia, which contributed even more to my reclusiveness, as I spent most of the time I didn't spend on my undergrad courses doing hopelessly narrow-topic research. However, I felt my mind degrading every day, perpetually trailing what I _could_ have achieved if I'd have been, you know, like every normal person. Having your line of thought interrupted by suicide plans every couple of hours is not exactly conducive to steady intellectual improvement. About five years into this, I was battling depression first-hand, and my aversion to therapy meant I avoided seeking help like the plague. I started smoking and began drinking more and more heavily every day. I gave up heavy drinking, but I'm still stuck with the nasty pipe smoking as an occasional relief. I still went out a lot, but almost always alone, to the extent that the owner of the bar I became a regular client of got a small table in a corner, with a single chair, only for me.

"Better people" doesn't sound cliche to me now. Most of my then-friends haven't spoken to me in a long, long time now, but some of them stayed, even as I was shutting doors in their faces. Some of them felt powerless to help me and kept a polite distance from me, and I was hearing from them only on anniversaries or the occasional gathering when I felt strong enough to bear human presence. But they never got away, and stuck by, even though they did all the friendship work by themselves. I never asked them out, rarely asked how they felt and never called them to see how they were doing (so yeah, in retrospect I was an asshole!); but somehow, every few months, I'd still see them for a drink. I still got invited to New Year's Eve parties and, when things were going really rough, someone who I hadn't seen in months popped up with a good word.

My love for programming also brought me close to good people. Between my low self-esteem and my disdain for flipped meritocracy, I was sure I could never get a job (low self-esteem) in a large, well-established company, and I was sure I'd end up hating it even if I somehow managed to trick them into hiring me. I got my first real job in a startup; my programming and electronics skills were, apparently, good enough for my colleagues to respect me professionally, and their kindness and good-temper also meant we ended up getting along as friends -- to the extent that, a long time after the company got disbanded and we no longer work together, we still go out for drinks.

I don't think I will ever come back to my pre-depression self. I always feel it lurking in the back of my head, like a shadow that dangles over me, and it tainted so many things that I no longer see the world like I saw it before. On the other hand, I'm pretty much a functioning individual now. Some things are still hard for me, like going to large parties with people I don't know, but I can do it without breaking down when I get home and spending the rest of the week hugging the pillow and crying myself to sleep on and off. A lot of things helped me here; getting back to my old hobbies again, getting a job I loved, but none of these were as incredibly important as being surrounded by honest friends was.

What's most incredible is that many of these guys didn't even think they did anything grand. They were genuinely surprised when I told them how much they helped me. Many of them felt somewhere along the lines of "I actually felt bad for calling you so rarely and thought you didn't want to hear too much from me because I'd been kind of an asshole". To "normal" people, it probably feels this way, but to someone whose phone rings for weeks at a time only because of SMS spam and payment reminders from the operator, an SMS with "so what's up dude?" is incredibly important.

<comment><USER22> A whole lot of what you said resonates with my experience. The whole workplace being the place where you find genuinely honest "friends" seems to be a paradox. But its really true. Socializing on the other hand is a hit and miss thing. Its like random sampling. You may get a bunch of honest friends but a whole lot of the people at gatherings are busy doing their own piece in the grander social dance. On a sidenote, social networks as they exist are flawed. But there are certain micro-interactions out of the realm of a regular social network that sometimes have more meaning. Take for example your comment. Striking the same chord at the least makes me feel its not just me :) I have been lucky enough to have interacted virtually with a bunch of people online (irc,quora, HN) which has turned into fruitful friendships. There is no pressure of constant communication but whenever we interact, it starts from the point where we left last time. Its almost like a breath of fresh air. So i wouldn't outrightly saw virtual interactions are futile. BTW that SMS bit is so true. you hit a nerve there :)

</comment></comment><comment><USER23> [http://psychology.uchicago.edu/people/faculty/cacioppo/jtcre...](http://psychology.uchicago.edu/people/faculty/cacioppo/jtcreprints/hc09.pdf)

</comment><comment><USER24> This is a wonderful discussion thread. Keep it coming!

</comment><comment><USER25> I'm quite lonely day in and out. My manners and Way are generally nonconformist/self-deprecating.

Thank goodness for childhood schizophrenia, or else I'd have not one singleton of a friend.

Oh, and thanks Zermelo-Fraenkel Set Theory too, I guess..</comment>


The Art of Rendering (2012) - <AUTHOR> http://www.fxguide.com/featured/the-art-of-rendering/

<comment><USER2> And the followups to do with actual production renderers:

[http://www.fxguide.com/featured/the-state-of- rendering/](http://www.fxguide.com/featured/the-state-of-rendering/)

[http://www.fxguide.com/featured/the-state-of-rendering- part-...](http://www.fxguide.com/featured/the-state-of-rendering-part-2/)

What's interesting is how far Pixar's PRMan has fallen within 2-3 years, despite PRMan 19 (current in alpha) going to provide BDPT with vertex connection and merging (state of the art lighting equation).

The problem is, despite providing the above, they're still getting some of the basics wrong, and Geometric lights _still_ aren't being sampled correctly, in addition to:

Even with fully raytraced (i.e. no REYES) setups in it, its instancing support is still fairly pathetic, and its texture paging support is shockingly bad, even with Pixar-proprietary pixar format for images.

Once by far the dominant renderer in VFX, Arnold has come along and knocked PRMan off its perch (although Arnold still has a few issues as well).

<comment><USER3> Similarly, watch Vray closely. I have a feeling that in the next few years, Corona is going to eat Vray's lunch much in the same way that Arnold is eating PRMan's right now.

<comment><USER2> Yeah, maybe, but Chaos Group seem to be fighting back a bit with Vray 3 (much faster MC GI and BDPT support)... - they still need to sort their GPU side of things out though...

It's great that there's so much competition and so many renderers out there at the moment. This is partly due to the fact that it's not _that_ difficult to write a "close to production" raytracer (ignoring asset paging, recursive procedural and curve support, which is where the big boys really shine).

<comment><USER4> Trust me, it's not _that_ simple :). (I'm working @ ChaosGroup on vray).

<comment><USER2> I've written my own over the past 2.5 years, mostly on the Train to and from work...

Ignoring geometry and texture paging, curve support and volumetrics (all of which I'm slowly working on), it _could_ be used in production.

But then I guess any renderer can produce a pretty picture with physically- based shading - but speed-wise (it's a brute force GI renderer only, no irradiance caching) it's competitive with the other CPU renders out there with similar settings. The harder stuff is memory-efficiency - Arnold's amazing at this, and numeric stability over all different types of data.

Given the amount of research out there, it's really not _that_ difficult - most of the hard stuff I found was decoupling the GUI (I've written my own context-creation / scene editor as well which hosts the renderer) from the renderer - that involved a lot of re-writes...

<comment><USER4> Even if you ignore volumetrics and splines, a production renderer still needs tons of features. Gradually adding those increases overall system complexity exponentially as of course new features should not break old ones, and need to be backward compatible (scene format wise) as well. Consider f.e. different sampling types for indoors/outdoors/material wise, handling millions of triangles with limited RAM, subdivision surfaces and sub-surface scattering, many many types of materials your users expect you to support (and precompiled combinations there of), speed expectations etc. That's really just scratching the surface about what's in a production renderer. As they say, the devil is in the details :). Of course if you render two spheres on a plane, yeah you can write a tracer for that in 10 minutes and even compete with others.

<comment><USER2> Working in the VFX industry, I'm well aware of what a production renderer needs :)

I wouldn't say adding features increases complexity exponentially - I guess it depends on the design of the system, but that hasn't been my experience with my stuff...

I assume by "different sampling types..." you mean BSDF importance sampling for outgoing direction and sampling the Solid Angle or pdf of taking that direction? If so, I'm not sure I'd call that especially difficult...

Building up ready-to-go materials (certainly as many as Vray ships with) undoubtedly takes time, but in the VFX industry, generally everyone writes their own shaders anyway...

Anyway, my focus is on VFX so I can concentrate on those type of issues, whereas I guess Vray needs to work well across different domains as well (product design, archviz, etc) - that'd be where things start getting difficult to balance out the different requirements I'd assume:

e.g. you can save quite a bit of memory by not storing vertex normals as vec3 floats, but as two 16-bit ushort numbers which can then be mapped via a LUT to the spherical coords of the normal. This is acceptable for VFX, and even in worst-case situations (very zoomed in on a very dense mesh with lots of crinkly displacement), it's barely noticeable, but for archviz people rendering at 10k x 10k, they might spot the issues at that size...

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> Very good article! I remember I became obsessed with 3D rendering in high school 6 years ago and actually wrote a little photon mapper myself (I also remembering re-writing the Wikipedia article on photon mapping at one point).

I always had the goal to turn it into something really useful but once college started that project kind of ground to a halt. Nowadays if I were to do it again, I'd just do Metropolis light sampling because I much prefer the unbiased nature of that global illumination solution than photon mapping's approximation (meaning if you average thousands of results from a MLS render it will converge on the exact solution to the rendering equation; this is not the case with photon mapping).

I've always wondered though if someone has found a solution to the pinhole problem: imagine you have a scene that contains a box. Inside the box is a very bright light, and outside of the box it is pitch black. Your camera is pointing at the box. If you rendered the scene, your resulting image would be completely black. Now imagine you poke a small "pinhole" in the box. In real- life, your resulting image would be well-lit because of the very bright light now bleeding out of the box. But none of the rendering techniques I know of would be able to "find" this pinhole in a reasonable amount of time without manually provided additional information. Any rendering experts know the solution to this?

<comment><USER3> Metropolis light transport with manifold exploration should be able to handle that case.

</comment></comment><comment><USER6> Something I've been meaning to do for a while is to write an analytic renderer that evaluates the light equation. Basically, it would be a program that takes in analytic geometric data and spits out an equation (or a system of equations) that can be evaluated in Mathematica / Maxima. The runtime complexity would be horrible, but at least it would give mathematically perfect, noiseless results. Or a hybrid approach could work, too (get the equations, do a series approximation, sample the polynomial or whatever else you end up with).

To anyone looking to get into graphics - I strongly recommend writing a toy scanline raytracer - it's a great learning experience.

<comment><USER3> I have a feeling that this is one of those ideas that is going to be far far harder than you think it will be.

<comment><USER6> So far I've tried doing it on paper for a infinite plane with a single step and uniform lighting. I ended up with a scaled atan(x) as the function of light depending on the distance from the step. I haven't figured out how to handle complex occluding geometry in a nice way.

<comment><USER3> That's exactly what I mean; the simple sanity check case is easy, but once you start layering on things like complex geometry and surface models and volume data, the problem grows in difficulty absurdly quickly.

</comment></comment></comment></comment><comment><USER7> I wonder why they didn't mention the Cycles engine for Blender, even in it's early stages it already provides reliable power.

</comment><comment><USER8> Are there any rendering tools that automate creating say tens or hundrends of Amazon AWS instances to partition the work for large animations?

<comment><USER3> Considering that a single frame can require potentially hundreds of gigs of data at professional studios, the bottleneck with using AWS as a renderfarm isn't in provisioning instances but rather is in just sheer bandwidth.

</comment></comment><comment><USER9> CGTalk (now CGsociety) doesn't seem as active and lush as it was back in 2002 - 2007 or so. Has everyone moved to some other community?

Can anyone shed some light on other communities?

</comment><comment><USER10> Scott Metzger is a religion. His deity is Vray.

Having worked with the haircut himself, he does do some wonderful things with mari/maya. He also requires super beefy machines.

</comment><comment><USER11> what is this considered image processing or 3d graphics? there seems to be a lot of math+physics involved which is great

<comment><USER12> It's both.

It's literally the transition phase from 3 dimensional models (vector-based curves, points, and polygons) to final pixel-based raster images.

Rendering transforms the wireframe models into images.

3D graphics always involve a renderer of some kind. There are different classes of rendering. The kind that video games use are optimized for speed and interactivity, they are still rasterizing the 3D models into images, but the images are dumped to the video buffer and disposed of, with each new frame, at 30 frames per second.

This article discusses renderers that are not concerned with speed or interactivity. The finished frames are retained and polished with compositing and photo editing software, including photoshop. In this case, the renderer is permitted to crunch numbers on a frame for minutes, hours or days, rather than 30 disposable frames per second.</comment></comment>


Rishi Sunak plans to raise £3bn by scrapping 'entrepreneurs' relief' - <AUTHOR> https://www.theguardian.com/uk-news/2020/mar/01/rishi-sunak-plans-to-raise-3bn-by-scrapping-entrepreneurs-relief <comment><USER2> The current Tory government seems hell bent on alienating their core support.

Not all EMI schemes are for founders our small company has EMI options for all of the company excluding the directors.

And one of Dominic Cummings fellow travellers recently commented fuck the farmers we can just be like Singapore and import every thing.

And that's not counting the loss of faith in the current HS by the Security Service, Police and Judiciary</comment>