HNHacker News
TopNewBestAskShowJobs

davidscolgan

723 karma · joined October 3, 2017

Enlightened website builder for the benefit of all beings.

Long time user of Vim->Neovim, Arch Linux, and Dvorak.

I most enjoy using Django/TailwindCSS/HTMX to create contentful websites with minimal Javascript. Started using Django back in version 1.6.

Getting back into freelancing after recovering from burnout at a monastery. Now a practicing Buddhist.

Full service content website building available for beings who are positively polarizing and desire to see the world a better place.

I identify as autistic and nonbinary genderfluid. My nails are painted silver. :)

Feel free to email me about any of the above or anything else at dharma@recursivegarden.com

Toots at https://tech.lgbt/@dharmapurebuddha

submissionscomments
davidscolgan··on Show HN: I built a handful of Bootstrap 4 themes with an interactive code picker
This is a great idea - lots of sites can make great use of Bootstrap and having ways to reskin it easily greatly increases the available looks and feels.

Something I'd personally pay for is an in-depth guide for how to go about reskinning Bootstrap myself, as my current approach is just to add one-off styles as needed or customize a few of the Sass variables but nothing fancier.

davidscolgan··on Show HN: I built a handful of Bootstrap 4 themes with an interactive code picker
It changed a lot during the alpha phases but it's in beta now and I believe they said they would not make major changes to the api so I'm using it currently in new projects.
davidscolgan··on A Comprehensive Super Mario Bros. Disassembly
I actually wonder if a version of Smash Bros could have worked on NES with lookup tables for physics? The existing games are 3d but the physics are all 2d.
davidscolgan··on A Comprehensive Super Mario Bros. Disassembly
That is, instead of using y velocity = acceleration * time and then adding in gravity, they made something like this, as I understand it:

speeds = [0, 1, 2, 4, 8, 4, 2, 1, 0]

And then you keep track of how many frames it's been since you jumped, and then just do

yVelocity = speeds[ticksSinceJump]

No math needed at all.

davidscolgan··on A Comprehensive Super Mario Bros. Disassembly
I once read that the way SMB was able to pull off the physics engine on such limited hardware was that it used lookup tables for physics instead of actually calculating velocity. My assembly-fu is weak but it looks like your link is to the section that contains all the lookup tables. I think JumpMForceData for example is a series of offsets for each successive frame after you hit the jump button.

https://gist.github.com/1wErt3r/4048722#file-smbdis-asm-L611...

This line shows the calculation that makes use of the JumpMForceData.

davidscolgan··on F.lux v4
Haha, no problem! And yeah, candles would definitely then work. Some people I've read suggest that if you can don't use any artificial lights at night (obviously kind of difficult), and if you do you'll naturally start getting tired at sunset. Then you get to wake up at 5am! Hard to have a social life though.
davidscolgan··on F.lux v4
So interestingly enough, wearing the orange goggles or using the rubylith on a device that lights itself can get less blue light into your eyes than reading a book with a lamp on next to you (or of course, wear the goggles with a lamp on works too). Could be a further way to fall asleep faster. I've been fascinated by this phenomenon for a while - the theory I've heard is that humans evolved during a time when the sun was the only source of light besides maybe fire, and so darkness or light the color of fire signaled the time for being sleepy. When you get the blue colored light into your eyes at night the brain gets confused and doesn't know what time it is.
davidscolgan··on F.lux v4
I once was a regular streamer on Twitch.tv and would regularly plug the use of blue light reducing tools. Another fun thing you can do is wear orange safety goggles to completely block all blue light from the room. You look pretty silly, and I'd wear them on stream sometimes. And people would always ask me, "what's with the orange goggles?" There were a few times when I'd get someone to install F.lux, they'd use it for a bit, and then turn it off, and they'd instantly get it. If you try this experiment for yourself, the difference is incredibly jarring.

If you have any trouble sleeping at night, I'd highly recommend trying one of these strategies. My orange goggles made their way into my digital nomad one bag, they were so useful for my sleep. Occasionally I'd actually sleep in them.

If you want to get really crazy, you can order a bit of a material called "rubylith" (just do a Google search for it) and put it over your laptop or phone screen. It makes things really red, but if you are just reading your Kindle books in bed it can really help prevent staying up until 2am on accident.

davidscolgan··on Plato Would Have Wanted Us to Unplug
I agree with you - the threshold for what is engaging and what is over-engaging is not really very defined. That's where my thoughts from evolutionary psychology come, since it gives a way to define that threshold. Basically anything that is way beyond what we would have experienced 70k years ago might be best viewed with caution.
davidscolgan··on Is there an upside to having no social life?
I think I do need more human interaction than I've sometimes gotten, but what you described really sounds pretty nice. I seem to get worn out from too much alone time and from too much socializing, but get worn out faster from socializing.

A few years ago I decide to try out the whole digital nomad lifestyle thing. I was able to see lots of interesting places, but what I didn't account for was how much of an introvert I am. Most of the celebrity nomad travelers seem to be pretty outgoing and I couldn't figure out where they were finding all of these people they met.

Part of it might have been my strange preference for colder climates, but I spent an entire month in Vilnius Lithuania without talking to hardly anyone. The language barrier probably didn't help either. My time was spent riding the bus, wandering the city, and working in coffee shops.

I've read accounts of other people who had experiences like this and how much they hated it, and while it was sometimes lonely, I do think I learned quite a bit about myself from the experience. Spending so much time alone meant a lot of time to think and reflect, and I think I was able to figure out some things about myself and work on bad habits that people who have lots of other people in their lives might not get a chance to or might not think about.

Some people just need more or less human interaction than others. There is a really good book called Quiet by Susan Cain that is a defense of introversion that was really helpful for me.

davidscolgan··on Starting a Web Design Firm from Scratch
There are many business owners who would look at the SquareSpace interface and be completely lost. We as technical people have thousands of hours put into understanding how the web works, but many people just haven't, and don't have the desire to learn (because they are doing something else). That, or they don't have time to it, and it makes sense to delegate. You can make a good living using tech for other people.
davidscolgan··on Show HN: Vue-Model – Models with HTTP Actions for Vue.js
Oh, I guess that's true in the sense that it doesn't map to objects but it accomplishes the same goal in a functional style. Maybe call it a Struct-Relational Mapper.
davidscolgan··on Plato Would Have Wanted Us to Unplug
Something that I've been thinking a lot about lately is the idea that due to the way humans evolved, we've spent most of the ~100k years of our species existence in an environment we evolved to be adapted to. Humans have spent most of our history as hunter-gatherers, and only in the last 6k years or so have we had civilization and only in the last 100 years have we invented abnormally pleasurable experiences (crack cocaine, Doritos, World of Warcraft, etc).

Milkshakes cannot compete with broccoli because milkshakes are far beyond the tastiness of anything we would have found in the savannas of Africa. But so my wonderance is - would life 70k years ago be as fulfilling and enjoyable as World of Warcraft, since that was the environment we were adapted to do well in?

Modern schools ask children to sit still for hours and do mental work. The savannas had us outside all the time, living with close family and friends, exercising a lot, etc.

I'm not trying to romanticize living in the jungle, just makes me wonder how our ancestors felt day to day.

davidscolgan··on Plato Would Have Wanted Us to Unplug
I am optimistic that that will turn out to be true. Some are pessimistic about, say, how there are so many different prescription drugs out there that now no doctor can realistically know how all of the interactions work. But, in the case of something like the IBM Watson computer, it (at least theoretically as it is pitched) can examine literally all the combinations and make it work.

My current running theory is that the world will become really great if we can just get to that point before everything explodes.

davidscolgan··on Show HN: Vue-Model – Models with HTTP Actions for Vue.js
Haha, to each their own. There is such a thing as the object-relational impedance mismatch for a reason. I'm currently learning Elixir and Phoenix and it's ORM Ecto has some really interesting ideas. Functional programming seems to map to relational databases better than object oriented does.
davidscolgan··on Plato Would Have Wanted Us to Unplug
In the book "Reality is Broken" by Jane McGonigal, she argues that instead of video games being something that are a corrupting influence, real life is not nearly as engaging as it could be compared to video games.

Consider how some people get much more satisfaction out of being in a World of Warcraft guild compared to going to their public school. There is nothing that would make it impossible for a job or a school system to be as engaging as a video game, and there are actually people I once met at the Game Developers Conference (GDC) who are trying to do that.

On the other hand, from the perspective of evolution, the human brain did not evolve in the presence of things like high fructose corn syrup and infinite Facebook feeds, and so it can require unnatural efforts to use moderation, especially if someone is predisposed to be particularly addicted to something.

So, maybe like most things, the issue is more nuanced than just "video games are horrible" and "video games are completely good."

davidscolgan··on Show HN: Vue-Model – Models with HTTP Actions for Vue.js
I'm usually a Django backend developer doing the whole server-rendered static html type sites, but I've attempted to venture into the world of single page apps a few times. The thing that always tripped me up was figuring out the frontend model layer. Nothing I've used, whether Redux or Vuex or Mobx or whatever else seemed as elegant and simple as say the Django ORM is on the backend. There were always missing pieces that I couldn't quite get working cleanly, like validation, or loading indicators, etc.

This looks like it has the potential to be what I was hoping someone would make. Looks excellent so far, thanks for sharing!

davidscolgan··on My essential django package list
Django definitely has top tier documentation. I'd recommend first reading the official tutorial, then trying to make something with it and referring to the different sections as needed. For people wanting to go to the next level Two Scoops of Django is a fantastic book on best practices, and even more opinionated than Django, which I consider to be a great thing.
davidscolgan··on My essential django package list
A definite downside of Django is learning curve. I'd argue Django is harder at first but easier in the long term.
davidscolgan··on My essential django package list
Some reasons you might pick Django over Flask:

You want to be productive out of the gate - Django has the batteries included philosophy, so there's less time spent wiring together different libraries.

Fewer architectural decisions - Django is fairly opinionated about where to put things (less than Rails, but more than Flask). For some people who have problems with bikeshedding, this is a big win. Having all of the pieces tightly integrated means less time fiddling. As a sidenote this can really help when onboarding new developers. A complaint I've heard with Node/ReactJS apps is that they can be organized in any number of ways, and so knowledge doesn't carry over from one project to the next as well.

Class based views - Django has a really cool concept called class based views, where you can compose the "controller" functionality of your app with mixins. See ccbv.co.uk for a nice explanataion. Django is really really good at CRUD apps, and you are probably building something that does mostly CRUD or can be convinced that it is CRUD.

"More popular," and therefore more people use it and therefore more open source 3rd party packages to use and more people to get help from and more people to choose from when hiring. One metric - Stack Overflow has 154k questions on Django, and 18k questions on Flask.

"More mature" - this could be questionable, but Django is 12 years old vs Flask's 7 years, and Django has 25k Git commits vs Flask's 3k. This means more person-hours have gone into Django than Flask.

None of this is to say that Flask is not a capable framework. It looks pretty solid for what it offers. But the choice of framework is a decision that should be informed by the business requirements, unless it is a personal project and then use whatever you want. Hope this is helpful.

davidscolgan··on Ask HN: Weekend project ideas for remote workers?
If you can solve the "help, I'm addicted to the internet" problem that this person posted: https://news.ycombinator.com/item?id=15431208 you could do a whole lot of good. The existing apps out there don't work for a lot of people, but something new might.
davidscolgan··on I program for a living and I'm addicted to the internet. Help
So first of all, I completely sympathize with you. I have been working from home for years and it's been a continual struggle. Some thoughts for you:

The biggest internet timesinks for me have always been those with near infinite novelty and also very occasional strong benefits.

For example, Reddit has clued me in on the Paleo diet and using a tongue scraper for better breath. Those have actively improved my life. I've also spent thousands of hours looking at stupid pictures. Hacker News has been more useful than Reddit, but still has been a large timesink. But we all have our own set of sites.

For me, blocking apps did not work at all, because I can just disable them. Unless I give up root access to my own computer, but that isn't really going to work. Having an "accountability partner" didn't work. I even did money challenges where I had to pay $500 to someone if I browsed Reddit. I did one time pay some money, and after that the group stopped really believing we'd hold each other to it.

Guilting myself has stopped working. But I don't think that's really a solution anyway.

Cold turkey seems to not really help. I'll go for a while without doing the addicting thing, and then get really angsty and then binge. Food can sometimes be this way this too. Yo-yo dieting and yo-yo internet binging both seem harmful.

Some things that have helped me:

First, just becoming aware of what is happening. I've been reading a lot about human psychology lately and came across the idea of "Supernormal Stimuli," the idea that some modern things are incredibly addictive because our brain did not evolve in an environment where it had to deal with things like the internet, Doritos, and internet pornography. This comic sums it up really well: http://www.sparringmind.com/supernormal-stimuli/

If you can in any way limit the sources of infinite novelty, or get rid of the worst offenders that can help. And I think all the sources contribute to make addiction harder to break.

And honestly not having internet at home did solve the problem - I've tried it twice. But I work only from home and kind of need it to do work. If I lived in a place that has better coffee shops, I might stick with that.

Speaking of which, leaving the house helps me. I find I am not as willing to just slack off completely if there are other people around, so I am quite productive in Starbuckses.

No electronics in bed has helped a lot. That alone has helped me not find myself staring at a device at 2am for no real reason.

Humans are creatures of habit and also lazy, and so one advice I've heard is to make the things you want to do as easy as possible and the things you don't want to do as hard as possible. If you can get away with not having internet at home, that might just be a way to solve the problem.

I don't think there is a silver bullet, but continuing to try things has helped me find a few things that have helped me. Also some of the above statements may not be completely accurate and I'm open to correction and further nuance.

Slowly over time I've seen myself become more and more self-controlled, though I'm of course not perfect. I'm convinced that the default today is for people to be addicted and ineffective since humans did not at all evolve in this sort of environment, and so anyone who makes an effort to better themselves can become very effective in life.

Best of luck, and email me if you want to talk more.

davidscolgan··on How to Learn Vim: A Four Week Plan
I had good success by starting with the basics but also learning up front what every unshifted and shifted key on the keyboard does by looking at a cheat sheet. Then review every so often, picking a few to try to remember. Just knowing what is possible is useful, and the more keys you know the more precise your edits can be. Nearly every key on the keyboard is useful in Vim.
davidscolgan··on Google News Showing Las Vegas Shooting News in Entertainment Section
Very much agree.

The less I read the news and the more I read books, the happy and more informed I've felt. Neil Postman's book Amusing Ourselves to Death talks about "news without context," how the Queen of England having a cold does not in any way impact my life and there is nothing I can do about it.

In a way the news lately seems more exciting and terrible, and I definitely don't make light of it, but ultimately I can't really do anything directly to affect it other than voting and donating to causes I believe in. And so I try to do that and feel that that is enough. Humans are not capable of handling a world's worth of information.

Nassim Taleb argues in the book Fooled by Randomness that day to day, the behavior of things like the news and stock market prices are almost completely random. Only when you look at it from a monthly or yearly view do you actually see signal in the noise.

← PreviousPage 5 of 5