HNHacker News
TopNewBestAskShowJobs

hamasho

787 karma · joined December 1, 2021

submissionscomments
hamasho··on Meta to pay Texas $1.4B for using facial recognition without users' permission
I think GP meant no harm for those corporations.
hamasho··on Why doesn't advice work?

   > 1. Unsolicited advice is always criticism.
This is important to me. Especially when I become a senior, my opinion without much thought can be taken as a criticism and make others irritated or insecure.
hamasho··on Show HN: Haystack – an IDE for exploring and editing code on an infinite canvas
Yes, but it's also nice to edit the callee immediately after editing a caller. I sometimes edit the caller first. Following the flow of caller -> callee -> other callers makes editing code easier.
hamasho··on Show HN: Haystack – an IDE for exploring and editing code on an infinite canvas
Wow, this looks wonderful!

I want this to integrate well with type checkers. For example, if I edit a TypeScript function and it causes several type errors, it's nice to open all files and jump to the errors. If more edits cause other errors, open those files again. This would make code changes much easier!

hamasho··on Let's stop counting centuries
You may get the point. My background as a Japanese in my 30s may affect how I perceive those periods. I have feelings for the 40s because WWII is mentioned often. For the 80s, even though I wasn't born yet, many people talk about it as the best period for Japan, so I have a concrete image of that too. And the 90s and 00s are when I was a kid/teenager so I have an emotional connection with the period. Other than these, I have weak connections and just think of the current or near-past periods.
hamasho··on Let's stop counting centuries
It's funny that for me it feels right to associate the 20s with 2020 and the 40s with 1940, but somehow, the 30s is very foreign, and I can't think of 1930 or 2030 either.
hamasho··on Anatomy of a cryptocurrency scam
I recently watched John Oliver's video[1] about the "pig butchering" scam. It's a brutal scheme where scammers invest months in building fake relationships, gain a ton of trust, and then rob all of their money.

Even though I'm pretty tech-savvy, I'm not sure I could totally avoid falling for this. These scammers don't ask for money directly; they casually mention how they're making big bucks through crypto trading on some app. Naturally, you get curious about the app, but you're still cautious. Then you see it's got a ton of good reviews on the app store, so your trust increases a little.

You install the app, and it looks legit - like it was made by a solid dev team. It offers some limited-time crypto deals where you can't withdraw for a while. The victim invests a little, watches the crypto value climb, and sees their "money" grow on paper. So they put in more. When they finally try to cash out, they realize they can't. They panic and turn to their "romantic partner" for help. That's when the scammers and the fake app squeeze out the last bit of cash, claiming it's for taxes or fees, and they need to put some money. And the victim loses everything.

It's not unreasonable for the victim to think the relationship is real if they've spent months chatting and calling, sharing really personal stuff. Plus, the app seems totally legit, both from the store reviews and how it looks and works. I really hope these scams will disappear soon.

[1] https://youtu.be/pLPpl2ISKTg?si=15RzmtRGMpptF-Dv&t=539

hamasho··on Panama Papers: Court acquits all 28 charged with money laundering
I've been trying to stop my nihilistic and pessimistic views, cause they don't actually help improve things, but help me cope with injustice without getting hurt. But events like this really hit me.

I don't need to be unrealistically optimistic, but it's possible that the situation can be improved a bit and maybe I can play a part in that. Well, if the cost of tax evasion increases by 1%, I can say it's a big win.

hamasho··on It's not just you, Next.js is getting harder to use
Yet another JS framework, and it looks great. I've only skimmed the doc, but I already like its simplicity.

But I have a mixed opinion on the big Context object. It may help to write less verbose code, but it can also cause OOP's antipattern God Object[1], even though the context is more of a namespace rather than a big object.

  // Not
  app.get('/hello', (c) => { return c.json({ greet: `Hello ${c.req.params('id')}`)
  // But
  import { jsonResponse } from 'library'
  app.get('/hello', (req) => { return jsonResponse({ greet: `Hello ${req.params('id')}`)
[1] https://www.wikiwand.com/en/God_object

Fix: format

hamasho··on It's not just you, Next.js is getting harder to use
Do people use Next.js as an API server too? In all the projects I've joined, we've only used Next.js as a static frontend framework and dev tool built on top of React. We never touched the SSR feature, just used it as a static site generator, and didn't bother implementing any APIs in Next.js. I can't imagine someone can implement a robust code base while mixing frontend and backend code in that messy folder structure.
hamasho··on How I overcame my addiction to sugar
What I learned from my weight loss journey is that good sleep does wonders for my brain. It helps me remember my long-term goals and resist those pesky urges for sugary, fatty snacks.

Plus, when I'm well-rested, my brain seems to actually register when my stomach isn't empty, so it doesn't send out those annoying craving signals.

And after all that health talk, I'll probably still end up scrolling through Reddit for a couple of hours before bed.

hamasho··on A bunch of programming advice I'd give to myself 15 years ago
Most of this advice has already clicked with me, but this part:

> If you can't easily explain why something is difficult, then it's incidental complexity, which is probably worth addressing

That's a real eye-opener. Hope I remember this next time I implement something complex. The thing is, I don't think this stuff would've helped me much when I was a junior dev. A lot of them are just too nuanced.

hamasho··on Supreme Court overturns 40-year-old "Chevron deference" doctrine
> What does that even mean? Supposedly these agencies already know what they're tasked with, no? If not... well I mean that's straight up irresponsible.

It's unrealistic to expect agencies to implement flawless regulations, especially when they're often underfunded. Complex situations will always have loopholes, but letting corporations exploit them freely doesn't benefit society. Sure, agency overreach can be a problem, but in this case, I think the lack of regulation is more concerning.

> The problem with a lot of the called "progressives" is that they've adhered to a different kind of conservatism, where while the ideals are progressive, every single instance of actually implementing those ideals are conservative and play to old power structure.

I agree with your point about the conservative/progressive labels. People's views are nuanced - they might want to maintain the status quo on some issues, push for progressive change on others, or even revert to past practices. It's not black and white, even though we feel that way cause our society is getting more polarized.

hamasho··on Show HN: Agentpanel – Universal LLM API Written in Rust
Interesting! And it looks much sane compared to LangChain.

Question: do almost all LLM APIs have the same roles "user", "assistant", and "system"?

hamasho··on Figma AI
What happened to MS Office and copilot integration? They gave impressive demos[1] showing users create high-quality PowerPoint with good design and content just by prompting a few sentences more than one year ago. I don't have Copilot license so I don't use it by myself. If someone uses it daily, how good is it?

[1] https://www.youtube.com/watch?v=S7xTBa93TX8

hamasho··on Show HN: From dotenv to dotenvx – better config management
I want an option to manage all env in a single file using a TOML like format like this.

  [local]
  API_KEY=local-key
  API_SECRET=local-secret
  DB=postgresql://username:password@localhost:5432/database_name
  [production]
  API_KEY=prod-key
  API_SECRET=prod-secret
  DB=postgresql://username:password@prod-db:5432/database_name
  [staging]
  API_KEY=stg-key
  API_SECRET=stg-secret
  DB=$(production.DB)
It makes it easier to update all env at once, compare, and share. It's not much help, but it helps me avoid a few annoyances.

On an unrelated note, I always find it a real headache to keep the naming convention of the environments throughout the project. It always ends up like a mixed bag:

  * Juggling production/prod, staging/stg, and develop/dev,
  * Inconsistent placement of env, e.g. prod-myproject or myproject-stg,
  * Skipping env name sometimes, e.g. myproject-bucket for dev S3 bucket but prod-myproject-bucket for prod (though it's okay to emit env name for user facing places like URL),
  * Inconsistent resource sharing between envs, e.g. same S3 bucket for local and dev but different DB, or same Kubernetes cluster with different labels for dev/stg but different cluster without a label for prod.
These inconsistencies often result from quick decisions without much thought or out of necessities, and everyone is too scared to fix them anyway. But it bothers me a lot and sometimes causes serious bugs in production.

Fix: format

hamasho··on Anthropic Introduces Claude Projects
Thanks, I was a bit confused about what Project means. It's funny that they don't organize the document, instead they just put what it is[1] and how to use it[2] on the entire Claude FAQ page[3] which is also not categorized. It's like they don't need to organize the document cause they can just ask it to LLM.

[1] https://support.anthropic.com/en/articles/9517075-what-are-p... [2] https://support.anthropic.com/en/articles/9519177-how-can-i-... [3] https://support.anthropic.com/en/collections/4078531-claude-...

hamasho··on Google no longer developing Material Web Components
> Material Design is focusing on support for Google's large-scale internal Wiz framework, and has reassigned the engineers working on Material Web Components. This places MWC into maintenance mode.

This shows that even widely used open-source projects aren't immune to being abandoned by the companies. I'm currently enjoying VS Code, but I wonder if it will face a similar fate. There's a risk Microsoft could prioritize VisualStudio or move important features behind a paywall. It may be one or two board members away from abusing their market power to push for full monetization of the product.

hamasho··on Microfeatures I love in blogs and personal websites
It's not a feature, but I like websites without sticky headers or footers. I hate seeing it on mobile, but I don't like it even on desktop.

The worst is the sticky side button overlapping the main content. A few years ago, I sometimes saw "share on social media" buttons obscuring the article, and that was so annoying.

hamasho··on Group chats rule the world
Your comment reminds me of the video "All My Homies Hate Skrillex - A Story About What Happened with Dubstep (Reupload)". It's a rant about how the original Dubstep was created and developed from the passion and use of a minimalistic approach in the underground London club scene. Then it became the mainstream phenomenon, and people who didn't care about the original ideas got all the population and credit.

[0] https://www.youtube.com/watch?v=DQHQhNq5Tek The original creator seems to have removed their account and this is reupload.

hamasho··on Group chats rule the world
Well, coffee shops and restaurants haven't quite figured out how to manipulate customers for maximum profit like social media has. They might play fast music to get people to eat quicker or put some pricey items on the menu to make everything else seem cheaper. But they haven't gone as far as placing MLM sellers next to lonely customers to pitch sales and making them come to the shop every week, or causing couples to break up so one starts drinking a lot out of stress and brings short-term profit.
hamasho··on Please maintain eye contact for the duration of the ad
Yeah, but they can force the click and use conversion rate to measure the effectiveness of the ad campaign
hamasho··on Please maintain eye contact for the duration of the ad
This might be satire, but I'm genuinely surprised that clicking the ad links is not yet mandatory to keep using services.
hamasho··on Japan enacts law to promote competition in smartphone app stores
I'm not familiar with that era, but I think cell phones back then were more focused on hardware and brute-force style development than sophisticated software. It's unbelievable how tough it was to survive the NTT Docomo's R&D center, YRP. Depression and suicides were sadly common, which caused a lot of Japanese to avoid the IT industry for years...
hamasho··on Japan enacts law to promote competition in smartphone app stores
There are some sweet spots where local tech companies can compete in markets even though their products are worse.

But there's nothing close to Google Search or iPhone.

hamasho··on Japan enacts law to promote competition in smartphone app stores
As a Japanese, I hope this will challenge the dominance of those IT giants. They should be subject to anti-trust regulations in the first place, but I think it won't happen soon, so I'm glad they are taking action.

That said, I'm not particularly sure Japanese politicians can handle those complicated matters efficiently. I mean, our "cyber-security minister" was accused of never using a PC and not knowing what a USB memory stick is [0]. I can't help but think that this will end in disaster and IT giants will use these examples as evidence of how bad it is to make strict regulations against them...

[0] https://www.theguardian.com/world/2018/nov/15/japan-cyber-se...

hamasho··on Self-Serve Dashboards
I think sometimes encouraging business people to make SQL queries themselves can be beneficial if the database schema is well-defined.

When I worked for an ad-tech company, we built an ETL system to convert our messy, complex, and technical debt-ridden application database into a well-organized analytical database. The main purpose was to make the jobs of data scientists and machine learning engineers easier.

However, it also helped business people with some technical knowledge create the dashboards they wanted. Although some queries were a bit messy, it made it easier for them to organize their requirements and communicate effectively with the tech team. Unfortunately, it also resulted in a lot of half-baked and unused dashboards, but overall, it brought positive change to the company.

That said, I don't think it's worth developing an ETL system just for business people. It requires multiple dedicated devs, whereas writing SQL for dashboards occasionally only takes a few days per month for a single dev. I agree that the most important part is fostering a good relationship between tech and business people. If business people have a mental barrier, it becomes challenging to create new dashboards and update or fix existing ones.

hamasho··on Show HN: Thread – AI-powered Jupyter Notebook built using React
This is very interesting!

One thing I really want but missing in Jupyter is a straightforward auto-completion integrated with something like Copilot. I'm spoiled by the "just-mashing-Tab development", where I just type a few words and let auto-complete do the rest.

The lack of auto-completion is the main reason I prefer using VS Code or Neovim recently over Jupyter even for experiments.

hamasho··on Germany trials the four-day workweek: "Free time is invaluable"
I hope this experiment turns out great. But honestly, I think we should win this just because we want, not because it boosts productivity. AFAIK, when the five-day workweek became the norm, it was partly because of labor shortage and powerful unions Now labor shortage seems to be a problem too but we don't know if generative AI can solve this, and unions are declining. I wonder why unions have lost their popularity. I know some downsides of unions and companies' hard work for union busting, but I thought social media could have outweighed them.
hamasho··on A ChatGPT mistake cost us $10k
I wonder are there linters to detect those types of mistakes for SQLAlchemy. Even though I'm aware of such pitfalls, it's nice if linters can catch them cause I'm not confident to cache them all the time during code review.

Some linters like pyright can identify dangerous defaults in function call, like `def hello(x=[]): pass` (mutable values shouldn't be a default). Linter plugins for widely-used and critical libraries like SQLAlchemy are nice to have.

← PreviousPage 4 of 7Next →