HNHacker News
TopNewBestAskShowJobs

jake_morrison

1,254 karma · joined February 17, 2008

I help startups and entrepreneurs build products, serving as fractional CTO and managing the team at https://www.cogini.com/

Contact me at sales@cogini.com or https://www.linkedin.com/in/jakemorrison/

submissionscomments
jake_morrison··on Why should I do production support?
A lot of the pain around production support is easily solved by having staff in multiple time zones.

A good structure is to have first line support be relatively generic ops people. They can handle problems related to infrastructure, e.g. hardware failures, network problems, or issues that can be handled by adding resources. The deployment process should be consistent enough across applications that they can e.g. roll back to a previous release.

This covers the majority of production problems. After that, it's time to bring in someone who understands the details of how the application works. If the dev team is geographically distributed, then someone is available during working hours. Otherwise, we have to get someone out of bed.

If the dev team has done their job right, this should be a rare occasion. Making the dev team fully responsible for the reliability of the application means that they are motivated to make it reliable. Otherwise there is a tendency to have an underclass of ops people who get abused.

A fundamental mindset here is taking responsibility for the user experience, including reliability. If this is not owned by the product development team, then who?

jake_morrison··on Things we learned running Postgres 13
There is this special biologist word we use for 'stable'. It is 'dead'.

-- Jack Cohen

jake_morrison··on Chrome Web Store payments deprecation
My guess is that Google promotes people based on creating a new service, but not taking over an old service and running it / improving it. So when a manager leaves the organization, their service is orphaned: there is nobody to run it, and nobody to fight for it, so they shut it down. Customers and revenue are more or less irrelevant to this calculation.
jake_morrison··on Ask HN: Job prospects for pure C and C++ programmers?
It's more important to focus on the problem domain than the specific tools. Figure out where you would like to work and the kinds of problems you would like to solve, then evolve your technical skills with them.

C is mostly used these days for embedded systems. C++ for high performance network services. Higher level and more sophisticated languages are coming for those domains, e.g. Rust. Lua is interesting for embedded systems, and the Erlang VM for network services.

jake_morrison··on Disrespectful Design – Users aren’t stupid or lazy
Years ago I was switching my father from DOS to Windows. He was resisting learning about the computer. Not because he was stupid, he has a PhD from Harvard. He was busy trying to consolidate his understanding of 1000 years of English literature and move the field forward. He needed the computer to write with, and was willing to learn how to do that. Everything else was a distraction.
jake_morrison··on State of Self-Serve Website Building in 2020
It was a new AWS account for the client, which includes 50gb of CloudFront as part of the AWS Free Tier, so I guess it used that. I didn’t look into it a lot. As I joked with the client, it is cheaper to leave it running than pay us to turn it off.
jake_morrison··on State of Self-Serve Website Building in 2020
We built a website for a film festival using a static site generator, deploying to AWS S3 + CloudFront Content Delivery Network. A few months later, the client asked about shutting it down to save money. Turns out it cost $0.05 for the month it was active, and $0.01 in the previous month.
jake_morrison··on Is anybody still using Windows 95?
I used WordPerfect in my first job as a tech writer. It was beneficial to have a separation between writing and the layout done by desktop publishing systems.

As a programmer building websites, I do the same thing, writing in vim. Learning how to make your editor work for you is a great investment.

jake_morrison··on A bank security check that leaves you guessing your own name
I have the same problems. I am an American who has lived overseas for many years. These questions about my credit history are full of things that I guess are connected with other people. Very frustrating.
jake_morrison··on Elixir Is Erlang, not Ruby
Instead of "lack of encapsulation", it's more "lack of private state". In an object oriented language, you have private instance variables and methods to manipulate them. In a functional language, you have functions which manipulate data structures.

If possible, the data structure would have straightforward fields which are public and documented. If necessary, you might make it opaque, expecting only the library which manages the data structure to manipulate it.

One way to think about this is that in functional programming, the "verbs" (functions and manipulation patterns like map) are more generic and the "nouns" (data structures) are less important than in OO languages. See http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom...

jake_morrison··on San Francisco Troubles – 19,000 Highly Paid City Employees Earned $150k
The biggest problem here is the overtime. Instead of employing full time people, they milk the system to generate more overtime hours.
jake_morrison··on An overview of the science on function length
This post describes a process of decomposing code into very simple functions: http://www.gar1t.com/blog/solving-embarrassingly-obvious-pro...

This results in functions which are, I feel, a bit too small for comfort. On the other hand, Erlang's pattern matching on function parameters has an effect similar to Eiffel design by contract. It has the potential to reduce the number of tests that need to be written (many of which are often very short functions).

Ideomatic Erlang/Elixir code tends toward smaller functions and pattern matching on multiple function heads instead of if/then/else logic.

jake_morrison··on A joke about the difference between mathematicians and physicists
Physics is mathematics with the constraint of reality.

Engineering is physics with the constraint of money.

jake_morrison··on The best Parts of Visual Studio Code are proprietary
The tech giants leverage the profits they get from dominating one area to compete in another. You can't build a hyperscale cloud without being able to spend billions. Amazon subsidizes AWS using their e-commerce business, Google with advertising, Microsoft with Windows/Office/etc.

Microsoft has a long history of giving things away for free in order to hamstring their competitors. Netscape is the prime example. MS is very good at developer tools. How can any commercial editor compete with the amount of resources they are putting into making VS Code and giving it away for free?

MS fundamentally needs their remote editing tools to support developing for Linux-based containers on Windows. Then they leverage it to debug containers running in the cloud from VS Code. But then they keep competitors from using the server side extensions. We need an open source server for this.

Anti-trust needs to look at more than the monetary cost to consumers. It should consider the long term health of the ecosystem.

jake_morrison··on It’s easier to manage four people than one person
A friend came from a very large family. I asked him how his parents coped. He said once you get beyond the first number of kids, it basically runs itself.

The first kid requires X attention. The second kid adds 0.7X. Then the third is like 0.3X, for a total of 2X. As you have more kids, the older ones can look after the younger ones. The amount of work actually goes down. You are basically the supervisor / police.

jake_morrison··on Intel ousts its chief engineer, shakes up technical group after delays
This deindustrialization was driven by Wall Street. The important metric is return on invested capital.

Manufacturing companies use a lot of capital for their factories. Shut down the factory and outsource to China, and you have the same sales with a lot less capital, so the stock goes up. Great success.

Maybe repeat by having your suppliers do more and more of the engineering. At a certain point, you are just a brand, with no actual engineering capability.

You can't compete with the people who actually know how to make the things. Then you die. See Hewlett Packard.

The US taxing companies on global income at high rates also has an effect. Say you have 50% of your sales outside the US. You pay taxes in the country where you sell the product. Then you have profits overseas. If you bring that cash back to the US, you pay the difference between the corporate rate in country X and the US, which can be a lot, say 15%. Might as well take that money and use it to pay for manufacturing at e.g. Foxconn. So it's 15% better to invest in manufacturing capacity outside the US.

The poor health care system in the US drives up costs as well, twice what it is in other industrialized countries for worse outcome. Same for cost of housing because zoning laws won't allow building. Google was allowed to build offices in Mountain View but not residential property for the employees to live in. So everyone has to commute from somewhere else, and cost of rent is driven by how much misery you can handle.

Failures in government policy make US workers much more expensive without creating any more value or improving the quality of life for the employees.

jake_morrison··on Old-School Disk Partitions
I have worked on embedded Linux systems recently enough where I had to change the driver and recompile the kernel to repartition the disk. It was just a chunk of Flash memory, and it was up to the driver to tell it what to be.
jake_morrison··on Japan plans to invite TSMC to build joint chip plant: Yomiuri
I feel like we are going to see an announcement out of left field like TSMC buying a fab from Intel, funded by Apple.
jake_morrison··on I Don't Want to Be a Founder
I had a funny experience where a friend was trying to recruit me to be part of some venture.

We met up and got in a car with another lady who he was trying to recruit as well, and he kept talking about it as if it was already a done deal that we were in.

At one point, she and I looked at each other and were like "Excuse me. No offense, but I don't know who the hell you are." We didn't join his thing, but ended up starting three companies together, so we were compatible business partners.

You need some time to get to know each other. I find it's better if you don't consider it like marriage, investing a lot of emotion in it. It either works or it doesn't, and you can leave as friends.

jake_morrison··on The Zen of Erlang (2016)
The "specific problem domain" for Erlang is scalable, reliable network services.

The problem with GUIs is that making a simple UI is relatively easy, but making a really world class native UI is practically almost impossible. Witness the fact that even Microsoft is using Electron instead of writing native GUI code.

One of the really fundamental problems is that GUIs need to be done in the native language of the OS (e.g. C++), so any scripting language either needs glue like pyqt or to talk over a socket to a GUI, which limits performance.

Having said that, you can make ok GUIs in Erlang with the wx libraries, and there is Scenic for making custom UIs for e.g. embedded systems https://github.com/boydm/scenic

jake_morrison··on Estonia is launching a new Digital Nomad Visa for remote workers
I am hoping North Asian countries loosen up about visas.

Right now it's easy to be a digital nomad or retiree in Thailand. Malaysia has My Second Home: https://en.wikipedia.org/wiki/Malaysia_My_Second_Home

I expect things will get easier in North Asia as the effects of the aging population hit.

I would love to be able to move to a small town in Japan to live the Totoro life with fast Internet. And no virus problems.

jake_morrison··on African tech workers push back on U.S. startup built to help them
I do see the value in interpersonal and teaching skills. The best developers have them and are interested in helping others. In my experience, though, programmers tend to be introverted. One definition of introversion is that interacting with people drains them of energy. So being a teacher is harder work than just writing code and probably pays less money. That's why I said especially that it needs to be explicitly paid for in this scenario. Otherwise the developers will go elsewhere.

A similar problem exists in consulting companies. It's hard to find people who are great at programming, great at managing people, great at doing sales, and great at running the business. The rare person can do it all, but you can't hire for it. Everyone like that is running their own business.

So you end up with a split between the technical part of the team and non-technical managers. In this case it's usually the non-technical managers who make all the money :-)

jake_morrison··on Major Proposed Changes to Linux From Scratch
I have mixed feelings about make. On one hand, it's horrible. On the other hand, it's outlived all the competition, and will certainly be around in decades. And if you are a C programmer, you need to understand make anyway.

I have used Yocto quite a bit and it's nice. But embedded systems tend to be pretty simple.

What I would actually like to see is a modern scripting language like lua or Scheme embedded in the make binary.

I like the idea of an embedded OS for running containers. There is actually quite a bit of support in systemd for that. So it might be as simple as Buildroot with systemd init plus a mechanism for managing system updates.

Nerves is another nice approach: https://www.nerves-project.org/

jake_morrison··on African tech workers push back on U.S. startup built to help them
Ratio of bill rate to salary of 2.5 to 3.5 is pretty typical in consulting companies. Billing has to cover lots of things, e.g. training, utilization, supervisors, sales, office, computers, accounting, etc. I expect they have particularly high overhead relative to the costs of labor in Africa.
jake_morrison··on U.S. Supreme Court deems half of Oklahoma a Native American reservation
Those who benefit from the the current situation are responsible.
jake_morrison··on Major Proposed Changes to Linux From Scratch
I ran Gentoo for a few years, and it was a great balance of being low level and customizable but practical for day to day use. When you have set things up from scratch, you can fix it when it breaks. The Gentoo install disk helped me recover many a server. I got tired of the endless compilation, though.
jake_morrison··on U.S. Supreme Court deems half of Oklahoma a Native American reservation
https://en.wikipedia.org/wiki/Trail_of_Tears
jake_morrison··on U.S. Supreme Court deems half of Oklahoma a Native American reservation
I grew up in Norman, so I am familiar.

It's not as good as the prime real estate they had, and the life they had there. Why do you think the government chose Oklahoma for the reservations?

jake_morrison··on Major Proposed Changes to Linux From Scratch
I find Linux From Scratch a bit masochistic. Embedded Linux development is equally educational while actually being useful. There are good frameworks like Buildroot: https://buildroot.org/
jake_morrison··on U.S. Supreme Court deems half of Oklahoma a Native American reservation
We have to recognize how much we screwed over the Native Americans. We took away their prime land on the East coast. We gave them some shitty land in Oklahoma that we didn't think we would ever want. We made them walk there in the "Trail of Tears", and lots of them died along the way. Then we decided to screw them out of the land in Oklahoma after all, but didn't go though the process properly because we didn't think it mattered.

It's insulting to hear people talk about them as not having "initiative" or being somehow responsible for being poor. When they resisted being screwed, we sent in the US Army to kill them, then kept them under control.

Reconciling this after all these years is going to be tough, but acknowledging it is a first step. Giving them back the land is disruptive, but giving them a few billion dollars is pretty easy. It would be interesting to see a VC fund focused on Native Americans building businesses. Or some real educational funding in Oklahoma. It would be a lot better than what the Republicans are doing to the state. All they want to is protect the rich and the oil industry.

← PreviousPage 4 of 7Next →