Hacker Newsnew | past | comments | ask | show | jobs | submit | somada141's commentslogin

Currently working on a 7-8yr old Python monolith with 500k LOC and overall it’s been far less painful than it would be if it hadn’t been for the gradual adoption of typing and strict mypy configuration. The introduction of types has supercharged PyCharm which is already rather powerful at inference so refactoring and exploration has been rather easy. The villain of the story here was not dynamic typing as much as it was the usage of Python dictionaries as a data interchange format where no amount of typing or IDE smartness can untangle that mess. We’ve been slowly replacing dictionaries with models, eg pydantic, which brings a massive quality of life improvement but it’s been arduous and error-prone. All in all Python gives you all the tools needed to create a coherent codebase regardless of size but that requires disciplined engineering and a commitment to incremental improvements.


Agree very much with this. I work with 50k per repository and around 10 repositories for the last 4 years. Strict mypy rules do the trick, linting flake, pylint do wonders to the quality, no re-using the same variable for different things, no generic types in the interfaces (dicts, pandas dataframe).. There's no additional pain compared to our go code bases except not accounting for the compiling part.


Thank you for that, it’s encouraging to hear others can get statically-typed-like quality of life following sound practices


Personally I’ve been using a similar approach for over a decade where I have 9 desktops on my Mac most of which have fixed windows on them eg 1 for a file explorer, 2 for mail, 3 for browser, 4 and 5 for IDEs, 6 for related tooling, 7 for notes and maybe another browser window, 8 for music, and 9 for chat windows and I switch between them with Ctrl+<number>. On top of all of them desktops I can Ctrl+Space the terminal (Quake style, Warp now, used to be iTerm) and Alt+Space for Raycast (used to be Alfred). This was I rarely if ever need to Cmd+Tab since everything is fixed in place most of the time.


Really like it and kudos on launching. Copying GH permalinks to sections of code is something I do about 30 times a day to augment my Slack posts, GH issues, personal notes, Confluence documentation, etc.

I gotta say though, I don't know that I'd trust CodeLink to be around 1-2 years down the track and if it's not then all that work will be far less valuable without the code being accessible through links that will no longer function. I truly hope this project gets traction and becomes a mainstay but until it does I couldn't see myself adopting it.


Hey, thanks so much for the kudos. This is a solid point. I'm going to talk with the team about prioritising an export function.

Each CodeNote is essentially a node of links to that code (and conversations about that code) in other places: VCS Hosts, editors, Slack etc. The generated VCS Host and Slack permalinks are not dependant on us. So we can, at least, create a dump of those in short order.

We use websockets to locate the code in editors, but could easily downgrade these to protocol links (e.g. `vscode:`) that are independent of us also.

What format would be most useful for the dump to be in? JSON, CSV, markdown ...? I'm thinking JSON just from a data organisation perspective?


Thanks for the reply! I think any canonical export format would be valuable and would give users some peace of mind :)


Admittedly poor performance has been my primary gripe in the 7mos I’ve been using LogSeq on a near-daily basis. I dunno whether the issue stems from the usage of Electron or if text-graphs are really so heavy even an M1 can’t cope but personally I’d gladly pay for a freaking subscription if it meant I could navigate between pages without a very noticeable lag


Rendering is very poorly implemented, and there's also a complete cljs runtime underneath.


Strongly doubt it's Electron. Opening a Logseq vault in Obsidian feels faster, and Obsidian too is Electron.


I suppose if you never revisit your own notes then yes, there’s no value in these systems.

Personally I find myself revisiting old notes rather often for a variety of reasons: - writing annual feedback reports on my peers: by taking brief notes in LogSeq journals tagged with their names I can quickly accumulate feedback on how they did over the year or things they could improve - the above applies to self-assessments which are often required when asking for a raise or promotion in a “ok why? What did you achieve this year?” - solving issues specific to my workplace and workflows: while Google and StackOverflow will likely cover 90% of issues you have an arguably there’s no much value in writing about those solutions I often encounter problems specific to my workplace’s infrastructure or services. Taking notes and writing snippets on those is something I often revisit

Top of my head the above reasons make the process worth it for me


I used Alfred for years and never thought I’d find a viable replacement for it but Raycast has completely replaced it for me in the past year. The ‘Schedule’ integration with the single-key to launch the video conference functionality is top notch. Other dev-targeting integrations like GitHub are also fantastic and unlike with Alfred I don’t have to use a dozen extensions with forgettable shorthand commands so unless the other shoe drops and Raycast ends up introducing some over the top subscription-based pricing model I don’t see me ever going back to Alfred


I had this idea a couple years back for an app that allows eg a parent to write a short story and have some sort of GAN generate the illustrations for it (hopefully with the ability to include images of a child that would be used to include them as a character in the story). Monetisation would come from charging to create a hardcover print of the book.

Some research at the time showed that the publicly available models just weren’t there so I was very excited to hear about DALL-E 2 a couple months back as the idea was suddenly far more feasible but it seems someone else will beat me to it long before I even get access to DALL-E 2


I’ve been evaluating the Warp terminal emulator as an alternative to iTerm on macOS for a couple months now and they have included a very similar feature to turn an NLP input to a shell command [0].

While for most of my work I’ll shamelessly fall back to Python scripts, basic operations that don’t warrant a script but still require tools like awk, sed, etc that I never learned have greatly benefited from this little tool. I found it far faster than combing through 3-4 StackOverflow answers and hodgepodging my solution together

[0]: https://docs.warp.dev/features/ai-command-search


I honestly feel that whoever complains about MyGov never had to perform these bureaucratic operations in a country like Greece. The fact that one can interact with some of the biggest and slowest-moving agencies in the Australian government from the comfort of their home was mind-blowing to me when living in Aus.

Maybe having to queue up for 3h in the cold to be greeted by a grouchy underpaid public servant that would have you queue up again next week (the Greek experience) until you have to call some person you know to do basic things like renewing your passport has lowered the bar too much for me.

Let’s not forget software is hard in the best of environments and archaic governmental offices and processes aren’t exactly conducive to development velocity and quality


At the same time, it's easy to think Australia's doing a good job if you've never experienced well-run government services (like Singapore). What's more, Australia's online services have somehow managed to get worse every year since around 2010.

Last I checked, there's still no way for me to lodge a corporate tax return electronically, it needs to be via paper or an agent. SASIC failed to notify me - by either physical mail or e-mail - that an annual fee was due, slugged me with a late penalty, then refused to reverse it when I complained and showed that their own online system had no trace of an invoice. MyGovID (or whatever its latest incarnation is) literally took an hour to validate a passport scan. My mother just returned from overseas and was required to download an (Android/iOS only) app, create an account and fill out a whole range of personal details simply for a health declaration.

It truly feels like public service management keep handing blank cheques to (probably Big 4) 'digital transformation consultants' to charge millions for project after shitty half-baked project, with no regard for whether actual improvements are being made.


Excellent writeup indeed. At work we’ve heavily invested in the circuit-breaker pattern [0] following a cascading failure from last year and since then we’ve managed to avoid many large-scale outages. Very interesting to see other solutions to this problem.

[0]: https://martinfowler.com/bliki/CircuitBreaker.html


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: