HNHacker News
TopNewBestAskShowJobs

dougk16

1,211 karma · joined September 26, 2012

My most recent project: https://aytwit.com/thoughter

Hello, my name is Doug. You probably just read a witty yet insightful comment of mine and want more...

BLOG: https://aytwit.com/blog

I also make cool educational Engineering/DIY videos...

YOUTUBE: https://www.youtube.com/channel/UCBgtpu1QDRAAA8QvsL68E1A

Here's a crazy personal portfolio site I made. The engine is reusable for other sites if you're interested...

PORTFOLIO: https://dougkoellmer.com

Contact me anytime about anything, but especially to be of service...

EMAIL: doug@aytwit.com

nttjbxmv9trm

submissionscomments
dougk16··on YouTube removed a viral video of two doctors calling for an end to quarantine
Hello fellow seeker! Seriously it's always refreshing to find people who don't KNOW things. And despair not, this crisis is making our numbers grow faster than any virus. We will soon take back the world. :)
dougk16··on YouTube removed a viral video of two doctors calling for an end to quarantine
Of all the "facts" flying around, this one is not only one of the most powerful by itself, but is also (even if it is in some way false) a great distilled example of all the unimaginably strong incentives pulling at the world right now, which I hope gives people an appreciation of how little they can actually know for sure.

Even with such a fact slapping you in the face, I mentioned this to someone and the response was basically "hospitals and doctors exist to help people, they would never take advantage of the system like that". There was no continuing the conversation from there. Who knows how reality works, but at the least we've had radically different life experiences if you don't think this could cause the case count to be pulled strongly in the upwards direction away from the actual number. And I'm sure there are other influences pulling it back down, so maybe all the forces are balancing themselves out.

dougk16··on Ask HN: What are some examples of good database schema designs?
Not to be too self-promoty, but I spent a ton of time thinking about the schema for my site, and have gotten some compliments on the detail and documentation: https://aytwit.com/sql

I hope that helps spark some ideas for you.

dougk16··on Silicon Valley IT Administrator and Friends Charged in Insider Trading Ring
Profiting 70% of the time is pretty exceptional. Even with insider info like that I can't imagine anyone being able to consistently do much better. The few trading strategies I'm familiar with, you have an expectation that you probably won't even take profits 50% of the time, but that the risk/reward ratio for every given trade is at least 2:1, ideally higher. So you can profit even around 30% of the time as long you're cutting losses intelligently and only trading high-reward plays.
dougk16··on Generating a Java program with 90% less code
"...they've developed a way of writing maintainable code, but the language knows nothing about it, and is not expressive enough to describe it succintly."

Good quote. I used to struggle with this feeling when I got to roughly the ten year mark professionally and finally started to feel like I knew what I was doing. But, with the help of a little Stockholm Syndrome perhaps, I've learned to embrace the boilerplate as part of my workflow and use it to an advantage. I came up with a saying "write twice, debug once", from the old carpenter's saying "measure twice, cut once". The idea is that if you're writing sort of the same thing twice, the compiler and/or PR reviewers can at least check if those two things are consistent with each other, and debugging is more straightforward instead of a long slog. You may still write the same thing wrong twice, but that's much harder to do than writing it wrong once. I think this is a hidden value of automated testing as well. I could talk for hours about whether automated testing is "worth it" depending on the project/language/team/etc., but one thing most people don't consider is the value in the mere act of writing out some logic that must be consistent with other logic, and the inconsistencies you can find without even having to run the test. Essentially another "write twice, debug once" scenario.

I know that's all kind of vague, and I don't have time to get into specific examples, but this encapsulates the feeling I have now working with Java. The feeling that I'm sort of fact-checking myself, even though it's tedious. Sort of a "show your work" thing.

dougk16··on Show HN: My first iOS app to track Net Worth. How do you track your net worth?
I agree SQL is way too hardcore for the average person, but the CLI wrapper makes it a little more approachable. Still a little too hardcore for most people but one cool part is that I can generate spreadsheets easily as well.

Anyway no I don't use a mobile app since this is more for long-term tracking and not something I need to update or query on the go, so mobile wouldn't make sense for my use cases. I'm probably a bad example though since I don't use mobile apps at all really.

dougk16··on Show HN: My first iOS app to track Net Worth. How do you track your net worth?
I know a lot of people use spreadsheets, but I figure why not take it to the next level? So I'm starting to use a SQLite database with a simple bash CLI front-end for prompting new entries, generating reports, and simplifying some SQL queries. Anytime I find myself dropping down to raw SQL I try to wrap it behind a simple command for the next time.

I want to start adding some REST calls, e.g. to get the current spot price of gold, so I can compare it to my original buy prices.

Good luck with the app, it looks really sleek. And I like how you included a question in your Show HN title to lure me in. :)

dougk16··on In Defense of Comic Sans
If anyone's interested, I wrote a blog post on some purely technical reasons that Comic Sans is probably not a good idea, at least for a website. This is coming from someone who really tried to make it work, but my hand was finally forced.

https://aytwit.com/blog/goodbye_comic_sans

dougk16··on Show HN: Privacy Focused, Secure Chat Rooms for Secure Chatting
Nice little idea and implementation. Since privacy/security is a goal, it might make sense to dive into one or more of the following, even if they're not on the main page:

- The tech behind the encryption/privacy. One thing in particular is how is the "my room" feature being saved. I'm sure I could dig in myself but the average visitor may want to be assured that it's saved locally only. EDIT: Hmm nevermind it seems the chatroom name isn't being persisted. Could have sworn I left the main page and came back to the same chatroom but probably imagining things.

- How you intend to keep the site running over the long term, funding, etc. Assure visitors that your incentives align with visitors' over the long term as much as possible.

- Open sourcing would be another good trust signal.

I do like the XKCD-style chat room names. I don't think I've seen that before. It's usually random alpha-numeric. Also love the minimalism, single-use aspect of it.

Keep it up!

dougk16··on Show HN: Zapmarks
Nice! I do the same thing with custom aliases in my .bash_profile for all kinds of things, including opening various webpages, opening meditation videos on youtube and such to certain timestamps, so I think the idea has some legs. One thing I do with my aliases is have custom arguments, so like if I want to open a stock ticker on yahoo it's `yah goog` from the command line. So being able to add custom arguments might be a cool additional feature.

Good luck!

dougk16··on Templates for Cutting Gears from Wood
I didn't even really consider holes since my goal was to prove an idea I had of using "lincoln log joints" with "impact-tightened constrictor knot lashing". I'm put quotes around those terms since I made them up.

Check out https://www.youtube.com/watch?v=Mn0m104NVAY for how I tied and tightened all the knots.

If I did use holes though, assuming I kept the lincoln log joints as well, then I reckon that would weaken the joints too much, e.g. crack the pipe on hard impacts. Also all the weight of all the bolts would add up quick. Hmm I suppose I could use plastic bolts of some kind, but then they'd have to be thicker, thus making the holes bigger, thus weakening structure further. Just thinking out loud. There could be a way, but yea I was proving the lashing concept first and foremost.

Thanks for the question. :)

dougk16··on Templates for Cutting Gears from Wood
Wow nice links, thank you! No I didn't run across those. I was attempting it mainly with AutoCAD and its SDK since that's what I knew best. Will definitely be using OpenSCAD now for...something!
dougk16··on Templates for Cutting Gears from Wood
Sort of related tool I made a year or two ago: http://dougkoellmer.com/front_rack

I used this tool to make a PVC front rack for my bike: http://dougkoellmer.com/front_rack/attached_side.jpg

I tried to do all the calculations by hand, but eventually realized I needed to make a little custom CAD program like this to help me. I tried more general-purpose CAD programs but couldn't figure out how to set up the constraints I needed.

Anyway I think there's a lot of usefulness in purpose-built online tools like this for generating templates and plans. Such programs are pretty easy to whip up too using the Canvas API and a basic geometric primitives library.

dougk16··on Uber lays off 435 people
Yup I gotcha, I wasn't really disagreeing with you, just adding the obligatory "well actually it depends" comment. ;)
dougk16··on Uber lays off 435 people
> It doesn't really cost anything...

Depending on context, sure this could be true. Like if you're comparing the cost of releasing some small OSS module of Uber's to Uber's annual revenue, sure, it's going to be a negligible cost. But if you compare against the cost of developing the module in the first place, it can easily be an equal expense. For example I spent several months on a BLE library for Android (https://github.com/iDevicesInc/SweetBlue) and asked my company to open source it. It took several more months to get the library to a point that was suitable for a proper OSS release. So cleaning up code, making sure no sensitive info, swear words and such, documentation, lawyery stuff, icons, PR copy, blog post, basic website, wiki, and much more nitty gritty I'm glossing over.

I mean a company can just throw code over the wall into GitHub and call it OSS, but I associate a basic level of polish with a proper OSS release that does indeed take a good amount of effort. And that's just initial effort! If it becomes at all popular then you have further ongoing overhead.

I'd say a general rule is that open-sourcing something is at least 50% of overall cost of the project.

dougk16··on The Impact of Meditating Every Day
Second this. I've never binge watched anything on Youtube like Sadhguru videos. You can search for "Sadhguru <just about any kind of difficult life problem>" and he has a take on it that brings you deeper than the one dimensional way you were thinking about it in the first place.
dougk16··on The not so hidden cost of sharing code between iOS and Android
Xamarin is indeed the closest there is to the holy grail of cross-mobile development. I too had some success with it for a small project at first, but just like the theme of the blog post, the challenge is in the long-term maintenance being cost-effective, not just the initial development. Especially in the face of these adversarial platforms constantly changing things underfoot. For example in Android recently I've been forced to switch to the AndroidX library, and iOS has Dark Mode coming out. Will Xamarin support both of those platform changes cleanly? Maybe, but it's a risk.

I'd be happy to hear if the project you worked on has been cost-effective to maintain in the long term. Then at least someone has seen the mountain top!

dougk16··on The not so hidden cost of sharing code between iOS and Android
Ha beat me to it!
dougk16··on The not so hidden cost of sharing code between iOS and Android
Basically the same process as when you first started. Implement the changes on Platform A, get it stable, port it over to Platform B, get it stable, port back any refinements to platform A. Platform changes themselves should ideally be quarantined behind said abstractions/injections, so your actual ported code is very simple and "timeless": no fancy language features, no preprocessor magic, no annotations, no excessive syntactic sugar.
dougk16··on The not so hidden cost of sharing code between iOS and Android
I have come to this same conclusion after many years. It's not cost-effective to have any bespoke business logic (models, controllers, etc.) shared between the two mobile platforms (don't get me started on sharing UI code). If you have some incredibly tricky low-level algorithm/library and/or need for speed, think database, crypto, intense graphics, etc., then fine, you may be able to swing a shared module in C++ or something. Other than that, it's almost like the collective consciousnesses of Google and Apple conspire to make cost-effective code-sharing of typical CRUD apps almost impossible.

Here's a fine alternative to code-sharing: well first and foremost you need to have a good requirements spec. After that, implement it on one platform first in a platform agnostic way. So heavy use of delegates/interfaces/injections to handle platform-specific functionality, even for one-liners like getting current system time. So the code should be pure, boring, plain old Java, Kotlin, Swift, whatever. Minimal use of fancy language features that may not port cleanly. After one platform has the module in place and well-tested, do a copy/paste port to the other platform. You will find that the copy/paste port will actually uncover bugs, optimizations, edge cases, etc., that can then be ported back to the original platform. Things you would not have found if you were only writing the code once. It's like the most intense kind of PR code review you can get.

So I've found that copy/paste-port-based code sharing between platforms is not just a lesser evil, but actually a strategy that has its own unique benefits. If you get into a groove you can build up a set of regexes to give you a sloppy transpiler that does most of the tedious porting for you.

dougk16··on When a rewrite isn’t: rebuilding Slack on the desktop
I've done several huge rewrites over my sordid career, and a strategy that works well is to abstract your bad data design behind a good one. This involves some kind of transformer layer between your bad data design spec and your abstracted better one. There's of course performance hits of some kind no matter what, but the hope is that they're worth the benefits of the cleaner code/architecture that the better data design spec affords. It's difficult I'll grant, much harder than abstracting simply bad code, but it's possible, and also makes it that much easier to replace the actual data design at some point in the future, and remove the transformer layer. Hope that makes sense!
dougk16··on The forgotten joy of soap
Probably made from basically just olive oil, something like https://www.amazon.com/Pack-Pure-Traditional-Olive-Soap/dp/B...
dougk16··on Stop and Shop now has big, goofy-looking robots patrolling its aisles
Not sure what you mean. Emergency Stop? I know it's bumped/tripped my kids on a few occasions, but they were asking for it. :)
dougk16··on Stop and Shop now has big, goofy-looking robots patrolling its aisles
We have one in our local Stop and Shop. It has a creepy smiley face plastered on it. It's easy to say that it's super weird and suspicious, gets in your way, likely not cost-effective (at least for its ostensible purposes, who knows what slimey face tracking or whatever it might be doing), which is all true.

But on a slightly positive note, my kids 5 and 7 love it. They pretend like it's a killer robot chasing us, which it oddly does seem to do. No matter where we go in the store it's always popping up around the corner. They play hide and seek with it, try to surprise it, hunt it down. Good training for Judgement Day. ;)

dougk16··on Privacy Policies Are an Incomprehensible Disaster
I spent a ton of time on making my site's privacy policy easy to read, while also discussing philosophy and some technical aspects, meant to be read by anyone who can understand simple English.

https://aytwit.com/about#privacy

Feedback welcome! It's time to come up with solutions! So post yours below as well!

dougk16··on Ask HN: Good tech talks on how analytics systems are implemented?
Typically you have a separate database just for analytics, exactly for the reason you described. You don't want to hold up actual business logic.

And yes typically you also have a job queue for the same reason. So e.g. API calls don't take longer due to database event writes.

If your needs are similar to the original questioner (still starting out, few thousand users), I'd say even the separate database isn't necessary, just the job queue. Heck even the job queue is probably optional at that scale, but most hosting platforms make job queues easy enough to integrate so I say why not.

dougk16··on Show HN: One Dollar Feedback
I haven't decided if it really matters to me (if it would really affect the decision to purchase a review), but one thing I was looking for on the page was the background/qualifications/experience/etc. of the reviewer(s). Again I want to emphasize that I don't even know yet if I really care. It could be a five-year-old doing the reviews and maybe I'd still purchase. In fact that could be a good option!

I like that you have actual reviews that you did at the bottom. It means that exposure of some kind is included in the price of the service, which you may want to emphasize as a free perk.

For the 20 eyes and 40 eyes option, it would especially be nice if you could guarantee that the "eyes" are from lots of different cultures, backgrounds, ages, professions, etc., and not just a circle of friends or something. Or kinda the opposite actually, that the eyes are from people in an industry/culture/segment/whatever relevant to the website being reviewed. Maybe have further options here for "eye type". :)

Anyway cool idea. I especially like that you have actual video review samples on the page.

dougk16··on Show HN: Bloom – A free and open source 'Google'
Wow, ambitious! Your sheer nerve is enough to click on the link and check it out. :)

As a potential early adopter that has seen countless would-be world-changing technology efforts come and go, in order to personally get me on the bandwagon, it would help to know a few things that didn't stand out to me at first, even after visiting the https://bloom.sh website.

(1) When I think Google I think "search" first and foremost, and I didn't see a search demo or anything. I think your average visitor is going to be thinking the same. If you're not involved in search, then branding yourself up as a Google alternative seems a bit off.

(2) How do you intend to sustain the project? Funding, grants, donations, paid plans, etc. More light on the team behind it as well perhaps, their incentives, skills, etc. I want to know that you have a reasonable chance of existing long enough to grind Google to the ground. :)

(3) A past version of myself would like to know more about "What's in it for me, like right now"? Saving the planet is all well and good, but I was a selfish short-term thinker.

(4) A future version of myself would like to know (assuming points (2) and (3) are answered to satisfaction) more about what I can do for you, but just in small ways, i.e. I don't/won't have the time to help with an iOS app. Practically speaking, this may just mean placing your donation links or "Subscribe for updates" buttons somewhere more prominent. I know some of this is included in your peer comment here on HN, so speaking about the websites only.

Anyway, good on you for releasing, and good luck! I'll be following the project!

dougk16··on Show HN: Lyticus – Entry-level web analytics
Good description. I get a good sense of what/who this is for and how to use it, the problem you're solving, etc. One question I have is if it can be self-hosted, even if that means just the initial Javascript payload.
dougk16··on Show HN: Shoutable – The app for everyday grand gestures
Interesting idea. Are you trying to tap into the same psychological drive or whatever that has people buy a message on the big screen at sporting events? Do you have a "Will you marry me?" option? :)

It would be nice to see more of the available designs and functionality without having to download the app. Like do I need to have my phone out to prompt the message on the screen to appear? Or can I do it real sneaky-like with my phone in my pocket and nudge my fiance to look at the screen to see the "Will you marry me?" message? In general I guess as a potential customer it seems weird that the promo pictures all have the person's phone out showing the same thing as the screen. Like it takes the magic away or something, I dunno.

I think a video that pulls at heartstrings would help. Also being able to see all current locations on the website would be nice. Regardless it seems pretty impressive that you have random screens spattered throughout NYC.

I'm more technical but a lower level "how it works" (bluetooth, etc.) would be nice, address privacy concerns, etc.

Just some random internet feedback for you, good luck!

EDIT: Read the app store description which answers some questions.

← PreviousPage 3 of 13Next →