HNHacker News
TopNewBestAskShowJobs

mhotchen

294 karma · joined September 22, 2009

I build software and talk to people. Sometimes I make money from doing these things.

https://mhn.me hello@mhn.me

submissionscomments
mhotchen··on Crush: A command line shell that is also a powerful modern programming language
Yeah I've just installed it and seen eg. the autocompletion on ls isn't how I'm used to. I will keep playing around and watch for progress because I really like the idea.

I especially see this being useful in my CI environment which has a handful of functions, some json and yaml parsing (using jq and python respectively), etc. It's a little cumbersome at the minute but not so much to switch from bash and the rest of the project is JS anyway so it would be good to be consistent.

mhotchen··on Crush: A command line shell that is also a powerful modern programming language
This is a very interesting project. I really like the combination of languages and the way you've implemented it. I already see some opportunities to use it.
mhotchen··on Advanced SQL and database books and resources
This book has easily been one of the most influential on my career. Having excellent SQL skills has been my secret weapon for a while now.
mhotchen··on Ask HN: How to rediscover the joy of programming?
I am in the same position. I also wish I'd gone to university, taken my education seriously, and done something other than CS (all easy to say in retrospect). There's still time :)

There are plenty of careers out there that are open to smart but unqualified people though. Once I looked around I realised my options aren't so bad (and some of the options I found may tempt me yet).

mhotchen··on Mongolia to restore traditional alphabet
Mongolia adopted Cyrillic during its early communist years which saw heavy influence from the USSR. They started adopting their traditional script in schools again a few years ago, but the older people didn't know how to read or write it unfortunately. I saw the traditional script being used sparingly in Ulaanbator around 2017 but as for the rest of the country I don't think I saw it at all, except in Buddhist temples (which were also mostly destroyed during the communist era unfortunately).
mhotchen··on Ask HN: How to rediscover the joy of programming?
I'm only at around 13 years of professional programming, but I went through a period of 4-5 years where I stopped enjoying it (actually, I hated it).

What resolved it for me was pretty simple in the end: I joined a company where I really believe in the mission, and I'm surrounded by like-minded people. This has given me a great amount of motivation and reminded me that programming is a superpower. I was simply lost on where to apply this superpower.

Solving important (to me) problems has re-ignited my love of programming, and now even writing yet another piece of CRUD is fun because I believe it will make a difference in the world. I'm looking beyond just the code I'm writing down and thinking about how it helps our users, effective communication, how growth will be affected, how malleable it is, how quickly I can achieve the goal, and so on.

Another thing that helped me was researching other careers. I found a couple of things I think I would get a great deal of satisfaction from. I felt very trapped in a career I hated, and looking at another 30+ years of this was like a dark cloud over me. Giving myself an escape route gave me a lot of clarity and lifted that cloud. I can walk away at any time, if I want to.

mhotchen··on Ask HN: Programs that saved you 100 hours?
After well over a decade of using vim and trying to use it as an IDE (which I did for a few years full time), I opted to use an actual IDE with a vim plugin instead. I currently use the Jetbrains tools which have an excellent vim plugin developed for them that is only annoying sometimes.

It supports macros, and as far as I can tell most of the actual navigation and text manipulation stuff works, even stuff that I didn't find in spacemacs. Even relative line numbers work which has been a godsend. I can navigate tabs using gt/gp, and split windows with :split/:vsplit, but I use the built in file search/navigator for opening files which is far superior to anything I managed to get set up in vim (and I played around a lot).

Then I have a simple .vimrc with only a handful of modifications (100 lines or so) and I drop down to real vim for writing small scripts, and any other text composition and refactoring, like comments on HN ;)

I hear VSCode has an excellent vim plugin, although having briefly played with VSCode a few months ago I don't think it's the tool for me. I'm happy with something heavyweight for developing projects, and something simpler for quick scripts, slack messages, etc.

YMMV of course but this was the route I ultimately ended up taking and I'm happy with my decision.

mhotchen··on For 40 Years, This Russian Family Was Cut Off from All Human Contact (2013)
Not to say there isn't nutritional benefits to wild wheat and carrots and whatever (I've no idea to be honest), but I don't think the nutritional value was at the front of their mind when our ancestors began understanding agriculture. If it stopped them being hungry I think that's all that mattered, because it was the wilderness and that's basically all wild animals think about. I can definitely see it being a supplement to hunting initially, in order to reduce the number of hunts required, and only afterwards as we made improvements to our techniques and crops would the nutritional requirements from the crops become a focus point.

I don't know shit about this topic though, I'm just trying to put myself in their shoes (or feet as the case would be).

mhotchen··on UK government to pay up to 80% of wages for employees not working
Why does anyone do anything at all? Mate, if everyone sat on their arses all day we wouldn't have been the species that we are.

> The above is slightly less than the risk of death from any cause.

So let's slightly less than double the death rate for anyone that catches this _highly_ contagious disease? Get real mate, come on.

mhotchen··on UK government to pay up to 80% of wages for employees not working
I can assure you if tomorrow we woke up and the world was 2 degrees hotter and people were dying left right and centre from it, the same thing would have happened with climate change.

> Average age lets say 79 as the virus progresses

No idea what you're on about. Most people in the UK don't even make it to 79 as is, nevermind with a highly contagious and dangerous virus floating about.

> Instead the Uk seems to be willing to throw its entire GDP at this problem, 3 trillion pounds

Again, what are you on about? The British government has definitely invested (invested, think about that word) a huge sum of our GDP at this problem, but everyone I've spoken to here has been more than happy with this decision even though we're all the fortunate ones that have managed to keep our jobs.

Thousands of people are already dying from this in one small concentrated area in Italy, in a matter of weeks. Shall we just say fuck it and let thousands more die here too? Should the whole world say the same thing? Shall we let the entire economy hit the sort of fucked levels we haven't seen since like WW2?

There are many problems in the world, sure. Not so many of them are as simple as a deadly virus plaguing the planet. You think we can just spend 15% of our GDP in a single year and solve obesity, climate change, and air pollution?

Also shouldn't you be celebrating since this has massively cut down on CO2 emissions and is already changing many people's commuting/working habits, possibly permanently?

> Is it just because Coronavirus does it spectacularly in 3 months and all of those other things take decades?

Yeah something that can fuck humanity in 3 months is definitely worth putting some more thought in to than something that won't be felt for decades away. How can you write a sentence like that and not understand it at the same time?

mhotchen··on Requirements volatility is the core problem of software engineering
This has less to do with agile and more to do with the company culture, processes, and probably the people involved. Agile isn't a cure to these problems, it's a tool used by people who "get it" to communicate effectively and to empower everyone to do their jobs.

Thanks to agile I am directly involved in evolving the product I work on and providing information back to the product owner and anyone else involved. I regularly make suggestions that are listened to and I get feedback on my work several times a week. The changes I make are released to users rapidly and regularly and we gain insight from that to make our next decisions.

I also openly discuss the compromises I make in terms of technical debt and I'm given the freedom to clean it up when it makes sense for the business.

The business would not be able to innovate as quickly if it weren't for agile. I would be less empowered and performing suboptimal work if it weren't for agile.

Tech debt "just get it done" style management with egos too sensitive for candid feedback will always exist and the way the work is defined will have little effect. It's unfortunate that you work for such managers, but please don't blame it on agile.

mhotchen··on DuckDuckGo Traffic
I've been using DDG for a few years and I find it superior to google.

I used to often use the !g bang to google a result if I didn't find what I was after, but over time the results on DDG and google have ended up roughly on par. And now I could never go back to using a search engine that lacks a bang-like interface.

I also like that my results aren't region specific unless I actually ask for a region specific result set. I had a lot of issues using google because it was constantly finding local things when I'm looking for something more global.

The way I see it is DDG doesn't assume to know best and gives you the tools to find the answer you're seeking. Google thinks they know best and if you're not after their "happy path" you won't be able to find what you're looking for no matter what. Look at how much they degraded the ability of things like quotes and pluses to affect the search.

It's awesome to see that DDG is continuing to grow. They're an awesome example of a product carving a niche against giants in a competitive field and it's inspirational to see.

mhotchen··on Terraform 0.12
I personally would solve this issue with a local module (very easy to set up, just a subfolder with a main.tf that defines the resources[0] then it's called as here[1]) with two input variables[2]: a required ami variable, and an optional count variable which has a default of 3. I hope that helps.

[0] https://www.terraform.io/docs/modules/index.html

[1] https://www.terraform.io/docs/modules/sources.html#local-pat...

[2] https://www.terraform.io/docs/configuration/variables.html

mhotchen··on Joins In Steps
Good news! Many database systems support indexes on functions, including on user-defined functions. The only one I've used is Postgres[0] but apparently MySQL added support recently as well[1]

[0] https://www.postgresql.org/docs/current/indexes-expressional...

[1] https://dev.mysql.com/doc/refman/8.0/en/create-index.html#cr...

mhotchen··on Redis Turns 10 – How it started with a single post on Hacker News
Yeah for sure the language definitely makes it easy to build something that won't last. I misunderstood your comment so sorry about that.
mhotchen··on Redis Turns 10 – How it started with a single post on Hacker News
I have to be honest I do believe Node.js will be around for a long time. The improvements over the past few years have been vast thanks to the ever improving standards and all the major cloud companies are heavily invested. It has the world's largest public package registry as well (not that the sheer quantity means you can always find a high quality library).

I've only recently switched after years of scepticism but for the sort of stuff I do it's more than good enough. It has its warts but so does every language that's stuck around.

mhotchen··on Payments on the Solid Framework
Heh we obviously have very different groups of friends. Everyone I know complains about Insta and existing payment methods all the time.

On top of the people complaining there are those the market hasn't appealed to yet. I'm a very social person but I'm not on any social networks. My mum is (wisely) a bit scared of sharing her data on the internet and also using the internet in general. I've taught her some of the basics so she can eg. receive photos from my by email but she doesn't want to use social networks because she doesn't trust them. I feel the same way. She has plenty of friends she could be keeping in contact with regularly too.

I've seen people wishing they had a Solid-like concept for years, asking for ownership of their data with fine-grained control over who/what gets access to it. And I think that those who haven't wished for this (eg. the general population) will see the benefits once they actually try to use it.

Whether Solid can pull this off is another question but I think this is an area that is driven by demand and it's only through ignorance that people aren't generally asking for this.

mhotchen··on Facebook open-sources LogDevice, a distributed storage for sequential data
You can configure it to output to S3 and the mechanism for that is easy to configure and has fault tolerance.
mhotchen··on Venezuela devalues the bolivar by 95% and pegs it to ‘oil-linked’ cryptocurrency
I mean in theory there are a lot of people who trade in oil or precious metals who aren't interested in actually acquiring the resource physically. There are plenty of people that are looking to arbitrage that don't necessarily want the raw resource. The same goes for the FX market. You're right in asking if you can even get it though. I don't actually have the answer to your questions.

I'm sure this is just a story, but it's relevant to your comment: https://thedailywtf.com/articles/Special-Delivery

Also note: I don't disagree with you, there's no way I'd be touching a pretrodollar.

mhotchen··on Command-line Tools can be 235x Faster than a Hadoop Cluster (2014)
For every programmer like you there's ten more at places where I've been employed trying to claim they need big data tools for a few million (or in some cases a few hundred thousand) rows in mysql. I get why you could feel attacked when this message is repeated so often, but apparently it still isn't repeated anywhere near enough.
mhotchen··on Unlearning toxic behaviors in a code review culture
Another I've noticed is not reading the ticket. I've seen a lot of reviewers not take the time to look any deeper than the code at face value so the feedback they provide is low hanging fruit stuff. My favorite feedback is when someone helps me understand the ticket better, or spots potential risks that I hadn't seen.
mhotchen··on Unlearning toxic behaviors in a code review culture
I think it depends on your environment. I've been in situations where code styles have progressed and changed over the years, faster than the file does, so you end up with a hodgepodge of different styles.
mhotchen··on HTTP 103 – An HTTP Status Code for Indicating Hints
With the article yesterday about the Trinet[1] I can see this optimization being used in the majority of HTTP traffic, even if it won't be used by a majority of companies/websites.

[1] https://news.ycombinator.com/item?id=15584456

mhotchen··on How to Be a C.E.O., From a Decade’s Worth of Them
I think 'power' here sounds negative (probably not intentionally), but remember with power comes the ability to make meaningful change and have a real impact.
mhotchen··on Reason 3
I won't be switching to Reason, it's a small greenfield project :) The security model of Mirage will really suit this small app and Reason has piqued my interest for being a little more productive with dev tools and stuff. Also being able to build a frontend in the same language is appealing.

Thanks for the answer; the other comment alluding to support being recent and the lack of information had me a bit worried. I guess the lack of information is because it just works ;)

mhotchen··on Reason 3
Since Reason compiles to native Ocaml binaries I'm assuming there would be no problems using it with MirageOS? Google doesn't bring up any answers other than an older HN comment[1] suggesting support will come soon.

https://news.ycombinator.com/item?id=11717213

mhotchen··on Ask HN: What are the most epic startup fails you know?
https://en.wikipedia.org/wiki/Cuil
mhotchen··on How People Use Bike-Share Spaces vs. Parking Spots
That's interesting. Maybe it's a perceived fear of them being stolen, rather than something based on evidence (well I mean they are a target of theft already and sent to other parts of the UK and central/eastern Europe, but docking them might not be much of a deterrent).
mhotchen··on How People Use Bike-Share Spaces vs. Parking Spots
I thought China's version was incredibly interesting, although yes I agree it's a pain when they're blocking your path (and there's so many of them that it is actually a problem).

For anyone that hasn't been to China: the bike share bikes don't have a docking area. People can park them wherever they finish with them. They have a little lock on the frame that stops the back wheel from moving until you scan a QR code on the bike with an app, then it unlocks.

Given the huge bike theft problem where I'm from (London) I don't think that system would work because thieves would just pick the bike up, put it in a van, and break the lock later. It probably happens in China too, but apparently not enough to deter the companies from doing it that way.

mhotchen··on Show HN: Monica, an open-source CRM to manage friends and family
I've had good fortune setting up existing laravel apps using phpdocker.io
← PreviousPage 2 of 4Next →