HNHacker News
TopNewBestAskShowJobs

tompark

522 karma · joined May 22, 2010

my gmail is gtompark
submissionscomments
tompark··on Fairphone 5: Keeping it 10/10?
Not truly "out of support for a while" -- it was fully supported right up until a couple months ago.

I was worried that Apple was going to discontinue support for my early-2015 13" MBP after their new Mac announcements in the late Oct 2023 event, so I took it to the Apple Store in Sept and had them replace the battery which had been needing service for a while.

It's stuck on macOS 12 Monterey, but got a macOS security update in Oct (possibly its last) and a Safari update just over a week ago.

tompark··on Why Apple's weather app is so bad
I used Dark Sky for years before the acquisition (my iTunes receipt says I bought it Apr 2015). I loved its UI, and while it gave very precise predictions, its accuracy was not great. When it came to rain prediction of start/stop times, I repeatedly found that other apps were more accurate, and the reason I know this is because my gf and I walk outside everyday, and during the winter rain season we'd compare forecasts from our phones. Hers was more accurate most of the time, and Dark Sky was outright wrong very often.

But I continued to use Dark Sky because the UI was great at showing the hourly sun/temp conditions (accurate enough) at a glance, and it doesn't rain often in SF so the accuracy of rain predictions wasn't important to me. Also I'd paid for it: no adverts, no subscription.

It seemed weird to me that Apple acquired Dark Sky's poor rain prediction but didn't use the best part of Dark Sky's UI. Worst of both worlds.

tompark··on Ask HN: Project Management for Side Projects?
For side projects I don't bother with tickets, but keep a plain markdown journal with todo lists. Every project directory (that contains the git repo) will also have a "meta" subdirectory that contains journal/logs/notes, and that folder name is prefixed with `_` so it's at the top.

Writing a project journal might seem onerous to some people, but if you get into a habit of writing, it gets easier. Eventually the cognitive load becomes trivial. And it's so valuable when you're returning to a project that you dropped for a year.

I started a daily journal writing habit a long time ago (~15 yrs), and it has evolved a lot since then. Specifically, now I write a work journal for every dayjob, and an individual one for each side project. My system has gotten more complex over time, so there are other notes files, but basically you just have to get into the habit and evolve your own system that makes sense to you as you go.

I probably shouldn't even mention this because it sounds crazy, but another thing that really helps me is that I arrange my source code based on each major feature, with scripts that can assemble/build/test the app at that stage. For example, it's nice to be able to get a version of the app that has no user accounts, and another version with account authentication. Yes, you could rely on `git checkout <hash>` to go back to an earlier stage of development in the code base, but that doesn't include subsequent iterations+refactoring that you might have done for that feature. Well, I'm not recommending that you do this, so I'm not going to say any more.

tompark··on Ask HN: Why did Nim not catch on like Rust did?
The main reason IMO:

Nim isn't really known for anything other than being a good general-purpose language. In that sense, it's sorta like Haxe lang.

Other popular languages are T- or M-shaped generalists -- i.e. good enough as a general purpose language but also excelling at 1-3 specialties. You can use these languages for anything but in practice you use them in specific contexts.

* If you're working on a game in Unity3D, you're almost certainly using C#.

* If you're working on ML stuff using Jupyter notebooks, you likely use Python w Pandas etc.

* If you're doing big data processing with Hadoop then it's likely Scala w Spark.

* If you want a very high concurrency messaging backend, then Elixir or Erlang on OTP/BEAM is a good choice.

* If you're making a native iOS app, you don't have to use Swift but you probably will. Same with Kotlin for native Android. If you decide on Flutter instead of native mobile, then you'll use Dart.

However, my boss is never going to make me use Nim, because there aren't any particular use-cases where Nim is known as The Language To Use For That Situation. AFAIK Nim isn't known for any particular libs/frameworks/tools like Django, Rails, numpy/scipy/pandas, PyTorch, Hadoop, OTP, etc.

(full disclosure: I had a hard time finding a good language to replace my Bash scripts and settled on Nimscript, https://news.ycombinator.com/item?id=35756090)

Also *Timing*

Nim came out right after a number of other well-known languages caught on. There are too many other decent and popular languages to choose from. I like Nim, but not a single one of my programmer friends or acquaintances uses it. Whenever I mention it, the reaction is like: "Better to stick with a proven language I know (usually Go/Python/Ruby/Java)" / "Is that like Zig?" / "I'd rather learn Haskell, Rust, or a dependently typed language."

And finally...

I think Mojo is going to hurt Nim adoption.

tompark··on Ask HN: Why is bash a popular scripting language?
I've written a fair number of long bash/zsh scripts for text file manipulation and I loathe to maintain them. They got extra complicated bc they would handle whether you called them directly vs in a subshell, and I always have to refer to a cheatsheet to get the right syntax for anything, since bash is so "powerful" (sensitive to variable expansion or not, etc etc).

I tried Ruby instead and it's nice but not enough of an improvement over bash for me. I tried Julia which has nice support for shell but the JIT compilation was annoying so I dropped it.

Currently I'm trying Nimscript, which is ok but example code is sparse, docs unfriendly, and the language is hostile to tabs and it has noisy output that you have to disable. Overall it's not pretty but workable so far.

Before you downvote me for insulting your fave language, he asked for opinions, and that's what I wrote.

tompark··on Ask HN: Any good GitHub Copilot alternatives?
https://codeium.com/ individual plan is "free forever"

I use it sometimes and it's pretty good. Haven't done a direct comparison with Copilot though.

tompark··on Ask HN: Advice for a 25 yr old moving to SF?
* FiDi or SoMa got kinda seedy during the pandemic, so you might want to avoid living there. Since you're young, you might like the vibe in the Mission or Marina/Cow Hollow. My favorite neighborhoods are the ones with Victorians/flats west of Hayes Valley (Duboce Tri, Lower Haight, Castro, Divis/Nopa, etc).

* When I first moved to SF I got a 1br apartment, but later rented a very nice 2br2ba flat as the "master tenant" and got a "subtenant" roommate. Maybe you wouldn't consider having a roommate, but it's nice to have someone else around. If you set the rent price relatively low for a high-end apartment where each person has a private bathrm, you'll get more roommate applications than you can handle. Winnow the emails down to dozen or so. When you interview a dozen candidates, there's almost always one person who stands out as someone who would make for a great flatmate. (Warning: if you rent a 3br place and get 2 roommates, it's a lot more complicated. Difficult to know who did what, e.g. left food in the frig, etc)

* You might consider joining a lot of meetup.com groups. I joined literally over 100 SF-based groups and during the 2010's would go to at least 2-3 per month. I stopped going to meetups during the pandemic but it seems like in-person meetups are ramping up again.

* You run a mobile game studio? Join the Stanford Games/Entrepreneurs list. https://mailman.stanford.edu/mailman/listinfo/gsb-videogames It doesn't have as much chatter as it used to, but every once in a while there's some insider discussion. I used to be in the game industry, so I'd offer to connect you with people, but it's been some years so my contacts are kinda old.

* Your main goals are mostly professional, but consider the opportunity for other things. When I first moved here, it was supposed to be temporary for maybe 3 years max, so I tried to take advantage of things here that I couldn't do back in Atlanta. I did things like: every winter I joined a shared ski house in Tahoe, I volunteered as a National Park Service docent at the Point Bonita Lighthouse, and did more biking/hiking/outdoor stuff that I rarely did in Atlanta bc it was too hot there. This mindset turned out to be a nice forcing function to push me to do things that I wouldn't have done otherwise. Like, you're right by the ocean so you might consider taking up scuba, surfing, kayaking.

* Feel free to contact me. My email is in my profile.

tompark··on Learning Jai via Advent of Code
Day 01 example >

    // sum weight of items carried by elf
    elf_weight := 0;
    for weight : elf {
        elf_weight += weight;
    }
I'm not familiar with Jai syntax. I'm curious, does Jai have fold/reduce? e.g. smtg like: `elf_weight := elf.reduce(0, +)`

I apologize if this is already covered in the article, I've only read about half of it. Also I'm sorry if this comes off as criticism of the code or of Jai, I'm just wondering what kind of iteration and array/list ops exist (without watching dozens of videos).

tompark··on Flat white lie: why people use an alias to order coffee
Lots of cafes in San Francisco do that. I use my middle name bc my first name is too common.

Also when I was in college we used to use a friend's last name on restaurant waitlists. Her name was very unusual and it was funny amongst those of us who knew her.

tompark··on Ask HN: Sites like Hacker News but in other languages
Great idea. I'd be interested in a similar site in Brazilian Portuguese or Korean.
tompark··on Ask HN: Best alternative to BuyMeACoffee?
Maybe see if https://ko-fi.com/ works for you
tompark··on Staying warm: What does an unheated room do to your body?
He's wearing shorts and an open shirt (see pic), starts off at 21C/70F and the temp drops to 10C/50F. It's no surprise his body and blood flow reacts to maintain core body temp.

(Edit: my own experience mirrors the article experiment.)

I never heat my house in San Francisco, and it frequently gets down to/below 10C/50F in the winter, and below 13C/55F at other times of the year. If I'm not moving around, just standing at my (standing) desk, then yeah I get cold, so I put on extra layers, a knit cap, and/or fingerless knit wool gloves. Often I'll already have wool socks on.

Btw a knit wool cap gets very hot especially if you have a full head of hair. Someone taught me that you can roll up the edges of the cap to dial down the heat. My partner smirks at me when I do this - she says I'm wearing a yamaka - but it works great, and you can fine-tune your temperature very well this way.

tompark··on Ask HN: Could you help me find a not-so-old HN top story?
I've had that same problem before -- yeah, the title doesn't have the keywords and searching comments and browsing history doesn't help, so I know the frustration. Often when I have trouble finding a link and finally find it later, it turns out that I had an associated issue where I remembered the wrong keywords or was fixated on a slightly different idea. Sometimes it helped to ask myself why I wanted to find this article in the first place, do google searches for what I thought I was looking for, see alternative wording or related ideas, then doing a HN site search with the new keywords.
tompark··on Ask HN: Could you help me find a not-so-old HN top story?
Try this: https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...

There are several that match your description on the first few pages of results.

If you change the query to "100 days" then you get more, but "90" fit your description better.

tompark··on Ask HN: How can we lay people off without cruelty?
I can speak in the context of SW eng teams, but not other kinds of teams within tech companies.

I've had to layoff direct reports during multiple layoff waves at a couple different companies. (Moreover, I myself have been laid off when a small company went out of business or when a business unit was eliminated.) I don't think it's difficult to avoid cruelty during a layoff, you just have to be very honest and make it clear that it is not personal. The announcement should be company-wide, but then talk to each person individually or in small teams if possible, and afterward go together offsite to a bar/restaurant and hang out with everyone who can join.

Honestly in many cases it's better for them to move on rather than go down with a sinking ship. In tech over the past couple decades there's always been jobs elsewhere for engineers, even after the dotcom bust. I have tried to help place people elsewhere using my network and told them I'd give them a good reference if they needed one. HR tends to discourage you from making an extra effort like this -- e.g. "you should only acknowledge that they worked at the company, don't give a recommendation" -- because a recommendation can become a liability, but I feel it's my recommendation as their direct manager and I am taking personal liability for it.

---

There's something else I'd add -- not about layoffs but related to firing people. Even if you're firing someone for performance reasons, IT DOESN'T HAVE TO BE CRUEL. I've seen so many people get fired in such a cruel manner, and it's totally unnecessary. There's absolutely no need for the manager to have any sense of anger or betrayal over a person's poor performance in a role.

Someone's performance in a particular role in a particular company has nothing to do with that person's worth as an employee. It was always just a bad fit, or a bad situation -- it doesn't mean that this is a bad person or even a bad worker, and should not reflect upon their self-worth. In my career, I've had to fire two people for performance reasons, and both times I made this difference clear, and thankfully we were able to actually maintain a friendship afterwards.

tompark··on Ask HN: Name a startup that got acquired before launching their product
Great example.

Another one is Oculus -- acq by FB in 2014, first consumer release in 2016. (Although you could argue that the 2012 kickstarter was a launch.)

Also, wasn't Vine prelaunch when it was acquired by Twitter?

A recent example this year is Qualcomm's acquisition of Nuvia.

tompark··on Is 400k/yr overpaid for a SWE?
He clarified later: https://twitter.com/typesfast/status/1537151707141918720

   My point was not that engineers are overpaid. That's not for me to judge. Only that many business models won't support those rates. That's the CEO's fault not the engineers. See for example: https://twitter.com/typesfast/status/1537151707141918720/photo/1 
His original statement ("It might be that many software business models don't work when engineers cost $400k/year.") is pretty obvious.

Suppose you have a website that caters to competitive Mahjong players, and earn revenue based on a combination of pro subscriptions, micropayments, adverts, and sponsorships. If your Trailing Twelve Month revenue is $120K, you couldn't afford an engineer who costs $100k/yr, much less $400k.

tompark··on Ask HN: I am lost in life. How do I fix this?
I love that you use the EBC trek as an example for breaking out of a rut. I completely agree with your point about "work to live and not the opposite". However, I did Salkantay, Laugavegur, and EBC, and all these treks simply made me want to do more travel. Going traveling did not teach me how to consistently work a few hours every day on a side project. It did not teach me how to work whole days, month after month, on my own projects where I was my own boss during a sabbatical. Travel is good advice, but it can be distracting too.
tompark··on Ask HN: I am lost in life. How do I fix this?
I know exactly what you are talking about. Before I say any further, how about if you listen to a story from Ian Cheng, a successful artist, who talks about how he got out of this same situation. It's the 2 min 15 sec starting at 8m30s (transcript below):

https://www.youtube.com/watch?v=tRHJkKTt0mY#t=8m30s

   > After I graduated Berkeley as an undergrad in 2006 I worked at Industrial Light and Magic for about a year and a half. I met so many amazing, super talented, literally genius people there, but after a year at ILM, where they were doing movies like _Transformers_ and _Pirates of the Caribbean_, and doing all kinds of innovative motion capture research and simulation research, I found I was meeting too many people who were there since _Return of the Jedi_, who still wanted to make their feature film or wanted to make a sculpture, and that the creative burden of being at such a creative place took something out of them.

   > I made a very seemingly irrational decision at the time -- it seems rational now -- that I really wanted to find a way to choose *my own problems*. And so I moved to New York - I went to Columbia for grad school - and for those of you who are in grad school here, I can tell you now that I didn't do *anything* in grad school. I was totally lost, I checked my email for two years. I didn't make anything and there were people who were making prolific amounts of work -- so much work that it filled the hallways, I couldn't get into my own studio. My studio at Columbia had black mold in it, so I was kinda getting drowsy all the time.

   > It was only afterwards where I encountered a second set of mentors - I started working for two artists, one called Paul Chan, another called Pierre Huyghe, who both -- besides me -- really loving their work, I really learned what it felt like to live and be an artist, because I was around them so often and I really understood their "metabolism" -- that sounds weird -- but I understood, like, when they ate, when they exercised, how they needed the time in the morning to be away from people, that that was a really fertile time to make creative decisions. And I came to admire how they structured their time and their day. This became a real cornerstone and model for me for figuring out how it is I would want to make work myself. 
There are a few super interesting points about this story, but the bit we're focusing on now is that he was able to internalize a self-driven "artist's schedule" by working for other artists who were doing the same sort of thing that he wanted to do. I'm not suggesting that you necessarily find a mentor and imitate their schedule -- that's just cargo culting -- but that you have to find a way to internalize what they do.

You mention that a job provides a "framework that exists and you purely have to execute". And that is exactly what we're talking about here but for personal work not a job. It's a common message -- see Twyla Tharp's "The Creative Habit" or Stephen King's "On Writing" or even Steven Pressfield's "The War of Art" -- a personal work routine provides the framework.

However, even when I understood this consciously, for a long time I didn't have enough exemplars to internalize it.

Eventually what did the trick were other routines that I had been able to incorporate into my life: writing in a journal, cooking, and daily training for long-distance treks. Every time I had a question, I just had to look at those examples for analogous answers.

There were other steps involved too. Feel free to email me (contact info in profile) and/or read other comments I've made on similar AskHN posts.

tompark··on Ask HN: What can I do today to prepare for anti-aging tech of the future?
Since life extending technologies may or may not yield ways to repair serious body damage, you should make sure to maintain parts that may not be fully repairable, like gums/teeth, knees/joints, neck/posture (vertebrae fusing), etc. Not sure what maintenance you can do about the eyes though (most people need reading glasses by mid/late-40's).

Let's suppose that real results come out of current research into NAD-boosting and other methods for reducing defects when cells split and for reducing senescence of cells. That would extend your potential lifetime but you can still die from accidents/violence, cancer, and diseases incl heart disease, so you need to take preventative measures for those factors.

David Sinclair suggests that you should cut sugar/desserts from your diet (because it encourages cell splitting), and reduce damage to your body, e.g. use sunscreen (because cell defects arise when repairing cell damage).

If humans could grow biblically old, like 600-900 years, one thing to consider is it's possible they might start looking like Ferengi, since cartilage just keeps growing.

tompark··on Ask HN: Using Web Components in 2022?
Oh BTW, if you do this, there is one nasty Safari bug I ran into which needed a simple workaround. If you have many copies of a particular component on a page, and that web component uses SVG, then the elements within the SVG need to have unique IDs. This is a Safari-only bug that's related to SVG, not the web component API.

For example, say you use a svg button component several times on a page, and there's a filter in the SVG that you use to change the appearance of the button when it's disabled. If the filter tag doesn't have a unique ID, and one of the buttons is disabled while all the other buttons are enabled, then all the buttons will become disabled if you modify just one of them, because they're all referencing the same filter.

It's very easy to make the IDs unique by using a sequence number (as a member of the component class), incrementing the sequence number in the component constructor, and appending that sequence number to the ID every time you call the template function.

After I fixed this problem in my code, I found out that the css-tricks guy had also run into it and he did a whole write-up about it, but he was using React not Web Components: https://css-tricks.com/heres-how-i-solved-a-weird-bug-using-...

tompark··on Ask HN: Using Web Components in 2022?
YES! I liked React components too but wanted something simpler so on my current project I've been using native browser Web Components/Custom Elements without any framework -- in fact, my project has zero dependencies on the client-side. It does need a few globally installed modules (typescript, webpack/webpack-cli, nodemon).

Requiring that javascript is enabled in the browser isn't a factor because my project relies on WebRTC, which requires javascript anyway. Its main value prop wouldn't exist with javascript disabled, so I'm just going to ignore that criticism.

To work across Chrome/Firefox/Safari, I avoided templates/slots by attaching the `ShadowRoot` and setting its `.innerHTML` to the result of a function that returns the html template literal string (where the function can fill variables in that string). I haven't tested this on Edge, but it works fine natively on the other browsers without any polyfills.

I love using Typescript without any client-side framework, but you might have different constraints than I do. Particularly when it comes to job search -- it seems that almost any front-end webdev position requires React/Angular/etc so you might find that it's a career-limiting move to go straight to plain Web Components as I did. I don't care because my main background is in mobile not web.

tompark··on Ask HN: Any other self taught devs terrified of interviewing these days?
It's normal to feel fear of rejection and failure. I'm interviewing again now for the first time in several years, and I can totally empathize.

Your lack of a degree is not as much as an issue as the coding screen test. If you can ace those tests then you'll be able to get a job. I hate the idea of these coding tests -- I have decades of coding experience and even I must practice these coding test problems. It's the reality we must face, and we must deal with it. For those of us who enjoy coding for the joy of it, we can self-study data structures, algorithms, and system design for the joy of it too.

I know from previous job searches that I'll fail some coding tests at first, but as I get more practice then I'll start passing the interviews. Like everything else, it takes iteration.

Luckily there are lots of open job positions to apply for. You just need to believe that you can will get better with practice, and you can keep interviewing over and over until you beat the tests. You taught yourself to code; you can teach yourself to pass these interviews.

P.S.: These tech interview coding tests have been around for a long time. I remember going through some tough ones back in the 90's, even before Joel Spolsky promoted writing code during interviews in The Joel Test.

tompark··on Ask HN: People who once struggled with severe procrastination, how’d you solve
Chiming in late, in case you're still monitoring this thread.

Once someone tried to convince me that "The Procrastination Equation" described the problem exactly, but to me it seemed to ignore key factors, although I admit that it was nice that it recognized that different people have different issues, so there's not a single trick that works for everyone.

I'd suggest that you try the first exercise from "The Now Habit" (Neil Fiore, 1989):

   "The first step is easier than anything a book on procrastination has ever asked of you before: simply procrastinate at your normal level for another week. I will teach you to become aware of how and when you procrastinate. Just observe yourself objectively, like an anthropologist who records the behavior and rituals of a foreign culture without making judgments. Don’t judge yourself or analyze your behavior. For now, just concentrate on becoming aware of your current behavior patterns."
It turns out that it's possible to self-diagnose the problem.

For me, this exercise was fairly easy because for years I had been logging my activities in a daily journal every couple hours, so I increased the frequency to every 15 min. What I discovered during this exercise was astonishing to me.

Knowing what the problem was, then I could address it. In my case, the issue was described fairly accurately in chapter 1 of Eckhart Tolle's "The Power of Now".

tompark··on Ask HN: Am I too late for a software engineering career?
Agreed. I'm wondering if there's some missing context in the original post, e.g. his intention is to work on-site w/ high-CoL at FAANG/MAMAA only.

(I've been looking around at SWE manager jobs, and it seems fewer than half of them have a salary range that rise above $200K. I have decades of serious product development experience as a programmer, several years of experience as an engineering manager/director, AND I live in the city of San Francisco. Maybe I'm not looking hard enough.)

tompark··on Ask HN: What does it mean to learn a new programming language?
Over the last several years I've been switching languages a lot and tend google very basic coding syntax, so I often see questions on Stack Overflow asking for the idiomatic way to do a task in a language. I think it's a pretty typical attitude that you could say a programmer hasn't truly "learned a language" without learning its idiomatic usage and performance characteristics but you'd still say you learned a language after using it for a year or so even if you haven't "truly" learned it.

I find talking about languages with other programmers can be challenging, because there's a class of coders who seem to have a belief that all programming languages are similar to mainstream imperative languages and therefore their strong opinion about all of them is valid and it's as if there's no point in learning more. Paul Graham mentions this in his Blub Paradox essay (http://www.paulgraham.com/avg.html): "You can't trust the opinions of the others, because of the Blub paradox: they're satisfied with whatever language they happen to use, because it dictates the way they think about programs.". In discussions with other devs in 30+ years as a professional coder, I've seen that over and over and it's kinda shocking to someone like me who partitions knowledge into the ol' known-knowns, known-unknowns, and unknown-unknowns.

Your question mentions carrying over a coding style from Python to C. True, you can do that and not really learn the new language. But for some languages, the compiler can force you to use a certain kind of programming style.

For example, in a lot of languages (say, Python, Ruby, Typescript) you can use higher order functions (like map, filter, reduce, zip, etc) but you can also write large codebases without ever using them. They're like an optional language feature that you can adopt depending on your preferred coding style. In Swift I noticed that there's no real difference in conciseness when comparing the syntax for map() or forEach against an equivalent loop, so that's not even a compelling reason to switch styles. But in a language that prohibits loops and early returns (e.g. ML-based langs like Ocaml, Elixir) then you're forced use those higher order functions to avoid having to write loops as custom recursive functions. It wasn't until the compiler forced me to code this way that I truly learned it.

Likewise, if your language enforces Option/Optional/Maybe (e.g. Swift, Scala, Rust) then you're forced to write code to deal with nulls. (Typescript is also like this, but you can bypass it by setting the type to `any` or using the `as` operator.) I worked through some chapters in an old tech interview book (Leetcode-style problems) in Swift and compared the functions to their equivalent in C, and was a little surprised at how many lines of code were dedicated to optionals. However, it was just a line or two more than the equivalent in C if it checked for null pointers. (Swift has a lot of nice syntax sugar for dealing with it; I wasn't as pleased with how Rust does it.)

You've probably heard of people talking about "fighting the borrow checker" in Rust. But the borrow checker struck me just like the above language features. You had to give up a style of coding and adopt a new one.

tompark··on How to build a second brain as a software developer
You have a better filter than I do. :) I went through a phase where I gobbled up anything productivity related, and eventually had to stop myself because it was too distracting. I still want to believe someone can tell me a valuable trick that I don't know about. Often even just the headline or title of a productivity-oriented article or Kindle book seems to evoke an appealing idea that I'm curious about, and after reading the text it's not always clear to me that the idea would work or not without trying it. But now I've developed a system that I'm happy with, it's much easier for me to filter.
tompark··on How to build a second brain as a software developer
Articles like this are nice for picking out ideas to incorporate into your own system. I try to avoid reading much "productivity porn" because it gets repetitive and what captures your attention is the novelty of an idea rather than its effectiveness.

There's no system that works for everyone. You have to develop your own, and it will evolve because you change. I started journaling over 10 years ago - it was a simple "daily log" that I only wrote in occasionally. Over time I got more prolific and proficient at it. The structure of that journal became more complex, with different journals for day-job vs personal, multiple levels of summary vs detail planning/notes/ideas, and links between them. I've had to refactor that structure and the taxonomy of tags many times. And much like he describes here, I ended up adding cheatsheets and Q&A and dev templates. *There's no way I'd recommend this system to a beginner.* You have to build your own system according to where you're at in your journey.

tompark··on Ask HN: Former Video Game Developer wannabies, where are you now?
Let me pose an alternative universe where you got a job in the games industry early in your career. You'd be on a team so you'd work only on some piece of the game. Until you got a lot more experience, you'd be working on "junior" stuff like UI, tools, gameplay scripts, or something like that. Over a decade could go by and you might never build the majority of a game yourself.

I had a career in the game industry, and it was just like that for me. When mobile games became a thing, I quit my job at EA and built a whole game by myself for the first time.

If you want to build games, give yourself permission to just do it. I suggest you start on something really super simple and small that you can do by yourself, and finish it. Then keep iterating, or start on something else slightly more ambitious, and do that over and over. Force yourself to finish each one, even if you have to cut scope.

Recently I've been building a multiplayer online turn-based game. It's nothing fancy, just a card game with video conferencing, but developing it myself is way more satisfying than a job at a game company.

tompark··on The BYTE magazine covers by Robert Tinney
Nice. I ordered prints of a pair of my favorite covers back in 1984. Unfortunately I left one of them in a large manilla envelope for decades, and it got stained and yellowed. The other was under glass and it fared better, but still got a few yellow spots. https://tom-park-share.s3.amazonaws.com/img/tinney_prints.jp...
← PreviousPage 3 of 5Next →