< Back to the archive

Like what you see? Subscribe here and get it every week in your inbox!

Issue #14 - June 9, 2019

If you are looking for work, check out this month's Who is hiring?, Who wants to be hired? and Freelancer? Seeking Freelancer? threads.

Here are the top threads of the week, happy reading!

Top comment by boulos

Disclosure: I work on Google Cloud (but disclaimer, I'm on vacation and so not much use to you!).

We're having what appears to be a serious networking outage. It's disrupting everything, including unfortunately the tooling we usually use to communicate across the company about outages.

There are backup plans, of course, but I wanted to at least come here to say: you're not crazy, nothing is lost (to those concerns downthread), but there is serious packet loss at the least. You'll have to wait for someone actually involved in the incident to say more.

Top comment by garrettr_

I was recently asked by a friend who teaches 5th graders to do something similar for their school's "career month." I tried a few different things, and found the most successful was showing them how to use a web browser's built-in developer tools to inspect the source of and make live modifications to web pages.

My reasoning behind this exercise was:

- I checked in with their teacher ahead of time and confirmed that all of these kids had a least some experience using a web browser. Generally it seems like a likely "lowest common denominator" of tech experience for kids.

- Most web browsers have powerful developer tools that can be used to inspect and modify source and will display the results of many types of changes in real time. It is easy to get kids to understand the relationship between HTML/CSS code and the webpage that results from rendering it when you can make live changes to the code and see it immediately reflected in the rendered page.

- Web browsers are freely available. I gave them a handout with instructions on how to access the developer tools in web browsers that are either free (Chrome, Firefox) or readily available to them (Safari, since their school computer lab had a few Macs). I specifically wanted them to be inspired and continue experimenting after I left.

I concluded by spending 10 minutes taking student's requests for the modifications to nytimes.com. It ended up with a bizarro color scheme, comic sans on all the things, and pictures of dinosaurs and Pixar characters at the top of every article. Everyone had a blast, myself included!

I think the demonstration tickled the kid's innate predisposition towards mischief. An immediate question was "can everyone in the world see this changes? are you hacking right now?," which allowed me to naturally give a high-level explanation of the server-client architecture of the web. A few kids came up to me afterwards and asked me to specifically walk them through finding and opening the developer tools so they could continue experimenting at home, and that was the best outcome I could've hoped for!

Top comment by dvtrn

You want to see one of the most fascinating uses of IRC in a focused, dedicated community let me introduce you to the player group known as the "Fuel Rats" of Elite:Dangerous[1]. They use IRC for far more than just a hub to congregate and socialize, 100% of their actual dispatch operations are planned, coordinated and excuted on IRC.

If you run out of "fuel" in game, and you need a Fuel Rat to come rescue you, you do it in IRC. Dispatch talks to you in their IRC channel, other dispatchers are communicating in NOTAM[2] like notation with pilots out 'rescuing' other players.

It's amazing to behold.

[1] https://confluence.fuelrats.com/display/FRKB/Rescue+Standard...

[2] https://en.wikipedia.org/wiki/NOTAM

Disclosure: Fuel Rat 2010-2013, Retired.

Top comment by namelosw

In short, yes.

The database is the bottleneck because it's much harder to scale than applications.

The path of evolution in the industry:

1. Stateful application - usually only 1 server, not distributed at all. It's very hard to scale.

2. An obvious solution is to make application stateless and having a centralized state. Then the application is very easy to scale and operate. And databases slowly became the bottleneck because there are much more applications than databases.

3. Then not so obvious solution is to split your problem domain into solution contexts, where every context become an application and each application have a database to talk to. So the databases are still not really distributed but it's sort of distributed by your sub-domain of business. (I think it's the industry mainstream or becoming mainstream now)

4. Then the non-obvious solution is to have truly distributed states split across your application. Basically, the goal is you can distribute any object across a whole lot cluster, in a more or less transparency way which lets you treat the cluster as a whole without concern about individual machines. (There are some cutting edge stuff yet to become mainstream, like Orleans / Lasp-lang or just cluster/shared actor like Akka, or just distributed Erlang, etc)

It's an interesting example that short-term solution is in a totally different direction from the powerful solution. To address this in short-term is to extract and centralize the state, while to address this in the long-term is to truly distribute the state.

Top comment by ksahin

There is no "best" method for passive income. And I don't think "passive" income really is that passive either.

But, my experience: I made a really niche eBook, about Web scraping with Java: https://www.javawebscrapinghandbook.com

Writing the book was the easy part, I've been doing scraping for years. The most challenging part was ... marketing of course!

I wrote 6/7 blog posts about this subject. In each blog post, there is a paragraph that talks about the book. I shared those blog post to my mailing list and on Reddit/HN (I didn't get any upvotes on HN...).

Now I have ~10 000 visits a month on the blog, 80% comes from search engines. Out of these 10k visits, about 200 visit the book sales page, and I sell 10-15 copies a month for ~ $400-$500.

It is not that passive because I have to fight to stay on the first 3 links for terms like "java web scraping" so this mean regularly upgrading my content etc. If I don't do this, my rank will slowly decrease on SERP and the sales too.

I was 24 when I wrote the book, I'm not even a native English speaker, you can do it :)

If you go this way, test your idea by blogging around a subject, and you will quickly see if people are interested by this subject or not.

Good luck!

Top comment by jandrewrogers

The most interesting question is why do Americans dominate software technology specifically? It is the most level playing field of all technologies. The skills to develop a state-of-the-art next-generation software technology are readily available and learnable globally while requiring negligible capital. On paper, you would expect this to be an area where Americans have the smallest advantage instead of one of the biggest.

Having worked with software engineering teams around the world over the years, and also done a lot of software tech M&A diligence, I've come to appreciate the massive impact that local culture has on being effective at advanced software development. This goes beyond the culture of the company itself; the level of ambition and optimistic self-belief required to be effective at developing very advanced software isn't terribly compatible with environments where Tall Poppy Syndrome/Law of Jante/etc is a real social dynamic, and that is very much the rule rather than the exception.

Top comment by arethuza

I'm a strong supporter of the Scottish Government line on immigration:

Migration is crucial to the development of Scotland as an inclusive, fair, prosperous, innovative country ready and willing to embrace the future. It is essential to our economic prospects and our demographic sustainability that Scotland continues to attract the level and nature of migration it needs. Migration is not just about economic prosperity. It has helped to shape Scotland – just as people born in Scotland have helped to shape nations across the world so people migrating to Scotland have shaped and changed our own country. People from overseas who come to Scotland to live, to study or work, or to raise their families are our friends and neighbours. They strengthen our society and we welcome them.

I can, of course, also recommend Edinburgh - surely one of the worlds great wee cities: "But Edinburgh is a mad god's dream"

https://www.buzzfeed.com/hilarywardle/edinburgh-is-the-best

The rest of Scotland is mostly pretty nice as well ;-)

Top comment by fathead_glacier

Org-mode. Once you get hooked and comfortable there is hardly going back.

Org-mode support todo lists, agendas, scheduling, recording time per task, latex export, references (with org-tef) and executing code in the document (with babel) and more.

To give you an idea of what the workflow is while I am working on my PhD thesis. I write text with references in sections with todo tags, add my python code, execute it and export to latex. Now I can track how much work I did today in what section and I can also see other files in a common agenda. All of this is in plain text files so git work as well and if you decide to migrate a python script can parse it.

All of this in a free and open source solution if you are happy to work with Emacs. In my opinion it is worth it even if you keep a running Emacs version only for this.

Top comment by lkrubner

What I learned is that these jobs are only really fun if you are the founder. Over 20 years, I was the technical co-founder at 3 different startups, and I had crazy fun at each of those jobs, even when we were working 70 hours a week. Because when you are a founder, you're really only under the pressure that you yourself set for yourself. Yes, I worked very hard, but I was working on my ideas, I was meeting cool people, I had absolute freedom to set my own hours. It was fun.

I then made the mistake of thinking that I would also have the same kind of fun as an employee. I became the tech lead at a startup, thinking I would have the kind of freedom that I previously had. This was a mistake. I was very excited about the technology that this startup was working on, but in the end I found, these jobs are much less fun, if you are not the founder, because there is a lot of pressure that comes from up above you, and when you come up with what you think is a great idea, you don't get to implement it. And there are additional frustrations: for instance, on this project I came to believe that it was crucial that we fire our initial data scientist, but the top leadership refused to fire him. This was a major roadblock that I would not have faced if I was the founder, as I would have had the authority to fire someone if I was the founder.

For anyone interested, I wrote in great detail about the experience here:

https://www.amazon.com/Destroy-Tech-Startup-Easy-Steps/dp/09...

Top comment by natalyarostova

My two cents as someone who interviews tons of data scientists is that most portfolio projects are way too easy, and amount to getting generally clean data, then just calling some API from sklearn or tensorflow.

I'd like to see either more non trivial software/coding skills in getting the data and setting up a good data infrastructure or more depth on a innovative science solution.