Haven’t posted in a while so thought I’d give a personal update for those curious.
- Returned to the U.S (Nova/Washington D.C area) for Thanksgiving (also because my Schengen visa expired). Currently thinking to go to Miami this weekend possibly followed by NYC
- Started a new job as engineer hire #2 for a seed stage database UI tech startup that’s about to go into YCombinator (the new website that I rebuilt for them should be live in a week or so).
- Worked on various side projects, though nothing ready to show right now (the new job definitely took some focus away). I was initially working on a podcast player (pantherplayer.com) before shifting focus to building an open source Notion clone web builder because I want this for myself (instead of being reliant on some Saas that could shut down anytime) + and also think this would be a useful technical problem to solve.
- Bought the latest LG Gram 17 with 12th gen i7 CPU and 32gb RAM for ~$1500-1600 from Costco (had to buy a membership). Has been a massive improvement from my 2020 LG Gram 17 (my review of the older model) which somehow got outrageously slow with very poor battery life. Beyond the drastic performance improvement, the screen is far superior being matte and anti-glare, the keyboard is better (keys fell off multiple times on my old one), and the webcam and speakers are better. I need to measure the performance of this laptop though because I swear the previous laptop degraded significantly over time.
- Initially I installed Ubuntu on the new laptop, but uninstalled it and switched back to Windows (with Windows Subsystem for Linux) after I found out there’s no way to get 2-finger back/forward swipe in Chrome, and it doesn’t seem to be possible to connect Airpod Pros with the microphone. I really wanted to use an open source OS, but Ubuntu was just a pain in the ass (eg. scrolling was off on Chrome and required me to download some random Chrome extension). Ultimately those two things were dealbreakers though. Hopefully in the future Linux gets to parity with Windows and Mac OSX).
Some things on my mind:
- Recoiljs is a ridiculously complicated state management library (or I’m an idiot). Atoms/atomfamilies/selectors/writable selectors/selector families/loadables/snapshots, wtf? I posted this question regarding designing the state for an application who’s data should sync to an API but also work offline. It seems that this will not be simple to accomplish. I’ll figure it out – I’m just ranting here. IT always amazes me how shitty documentation is with tutorials so basic and contrived (the “todo app”) that they’re useless for anything other than the most trivial applications.
- Contenteditable is an absolute nightmare to work with. I started off building my Notion clone using this, but quickly ran into a wall when it came to markdown -> HTML element conversion and cursor selection (there’s no way to select an empty text node except by adding an invisible character, but then you need to keep track of the cursor position of that character to know when to delete it). If you try to keep an internal state model and map that to the contenteditable div in React, then you’ll need to manually keep track of the cursor position on every single change and f*** that.
- Ultimately I found the library Lexical by Facebook which is by far the best contenteditable library I’ve found (mainly because you can highlight across blocks without issue, markdown autotransforms work, and no weird issues). Unfortunately it’s not the easiest to work with (eg. onChange gets called on load, wasn’t able to simply modify the code block transformer to create a new code block on enter key instead of space), but after the nightmare of working with contenteditable I’m extremely grateful that this library exists because nothing else really came close in terms of Notion parity.
ChatGPT is all the rage and everyone is praising how amazing it is. I agree that some things it can do are amazing like writing random song lyrics. But that being said, and I hate to be the cynic, but I personally don’t see how this thing can benefit me beyond what Google already does. ChatGPT doesn’t do product comparisons. The responses are generic and Wikipedia-esque. The code it returns is no better than what you’d get from a Google search and clicking on the first StackOverflow result. When the code works it does feel amazing, but I also received straight erroneous code – a reminder of the fact that it’s just guessing and doesn’t actually know – fine when it comes to art, but code cannot have flaws.
I tried GitHub Copilot on VSCode recently, and wanted to love it except for the major flaw that it removes VSCode’s native autosuggest, which is way more useful (specifically the auto-import). On top of that, it was only suggesting one line at a time.
That being said I do think something like GitHub Copilot will be the norm within the next couple years, and I’d certainly reinstall it once they fixed the flaws above. ChatGPT of course is groundbreaking and most definitely has enormous applications. I guess I just get bothered with all the nonstop outrageously positive chatter about it from people who had it write some crappy code for an ugly landing page when for me personally it has been utterly useless and less efficient than Google (even despite the crappiness of Google search now). Of course this is just the first inning, a preview of the singularity that is to come.
On a more personal note – I hate American suburbs with a passion. Don’t get me wrong I like seeing family and friends, but the suburbs are boring as hell. Houses, highways, and ugly strip malls. Need a car to do anything because there’s no public transportation. Even with a car I find the northern Virginia / Washington D.C area very boring. To be fair I never actually lived in Washington D.C (I moved to NYC straight after university) so I don’t know D.C well. But the other day I went to Adams Morgan, an apparently hip area in D.C that everyone was telling me I have to check out, and was very unimpressed. Sure it was a nice area, but it’s like 3 blocks on one side of the street and you can see it in 5 minutes. It’s literally just like a random avenue in downtown Manhattan, and this is what DCers get excited about? But sure, I’ll withhold judgement I guess until I see the rest of D.C, but I’m certainly not holding my breath.
Things I need to do
- Change to eSIM for my mobile. The bastards at Google Fi shut down my international data because I was abroad for “too long”, told me they can’t reinstate my international data because some computer gets to decide when that’s appropriate, and to top it off their data speeds are absolute shit here (3-6 Mbps d/l, 0.1-0.5 u/l, it took me a minute to send a picture). eSIM is only supported on newer phones, so I guess I need to buy a new phone even though I’m perfectly content with my Samsung Galaxy Note 10+. I will probably buy the Samsung Galaxy S22 Ultra because I’ve come to like bigger phones, though I don’t want to pay $1200 for it. Was also debating the Galaxy Fold and the Galaxy Flip, but the Fold is too large and expensive for my tastes, and the Flip too small and not good enough in other regards like camera and battery (still researching though so could change my mind).
- Buying other travel stuff before I leave (new suitcase, maybe new backpack, power bank for laptop, etc.)
- Get out an MVP for my Notion web builder clone
- Consider changing state residency to a state with no income tax (eg. Florida, Texas, Washington). Comes down to what would be the easiest to switch to.
Other random notes:
- There are no cities in the U.S I’m excited about nomading in. Miami weather will be great and the place could be interesting, but I’m not sure it’s a place I’d want to live in longer term. Let me know if there are other places I should consider (doesn’t have to be in the U.S). Puerto Rico is also on my list of places to check out, though I’d probably be even less inclined to live there because it’s so remote.
- I kind of want a home base somewhere. Doesn’t even need to be an apartment/house, but a city that I base myself out of. NYC is fun but too expensive and cold in winter. I like much of the Schengen zone, but the 90 days in / 90 days out rule is way too restrictive so I’d need a visa – but at this point I’d want a visa that would actually work me towards getting permanent residency somewhere (I think Portugal is easiest at 5 years). Bali and Asia would be great and was my plan until this job, but unfortunately the time zone difference makes it difficult/inconvenient for those working with colleagues in U.S hours.
- If I’m going somewhere solo to work as a digital nomad, I prefer places where I know someone or that have good communities. I’m pretty driven right now and it would be nice to meet others on the same wavelength. I was living in a hostel in Rome for a bit, and although it was a lot of fun, most of the people in hostels are broke 20 year old backpackers, and that’s not the stage of life I’m in anymore.
- I don’t spend money on much other than housing, followed by food. If I could get housing covered, I could live off of so little…
I’m more driven now than I’ve ever been now at the age of 32. Funny how that works. A lot of it is just because I got totally bored with what I call the “hedonistic” life. Once you’ve traveled the world and achieved your fantasies, you start to just want out of more of life. Like I’ve said over and over again, life without challenge is boring.
I summarized my life story in the following tweet:
The Pokemon trainer reference is obviously a metaphor to achieving greatness.
My goal is to build successful tech startups.
Before I was posting a lot of content such as making videos and such. I don’t regret it because my priorities were different then. But now I’m more focused with my time as it’s hard enough to excel at one thing, let alone multiple.. I think the smarter path is to build, become successful, and then create content as then you’ll be a lot more interesting (eg. what Justin Kan has done). Of course I think people should do what they want and pursue whatever path they desire,, I just want to really focus and excel at the startup thing, and so that is my frame of mind right now.
I think it’s incredibly important to have goals and a 5-year plan, otherwise it’s too easy for 5 years to fly by only for you to basically still be in the same position you were in before. Humans are naturally lazy creatures that conserve energy, and so achieving greatness requires a concerted effort to push ourselves outside of our boundaries.
I’d also like to build a community of like-minded tech founders and engineers. We could use my website https://zsync.xyz/t/startups, or another platform – doesn’t really matter to me. Again my focus now is on building my own stuff and this blog is too small to have much of a community, I guess I’m just sowing the seeds of the idea now, and will follow up on that later.
Best of luck, and until next time,
Jeremy