AI 资讯
How I Travel for Work
Almost every time I'm working out of a coffee shop, and sometimes at the airport, someone spots the stand my laptop is sitting on and asks, "What is that? Where'd you get it?" It happens enough that I figured I'd just write down what I actually travel with, for conferences or any time I'm not working out of my home office. Some links in this post are affiliate or referral links, which means I may earn a small commission or credit at no additional cost to you. My work travel gear list Roost Laptop Stand . This is the one that starts the conversation. It folds down into something small enough to slide into a bag pocket, and it raises my laptop screen to a much more comfortable height, so I'm not hunched over it all day. Apple Magic Trackpad (White) . I used to use this at my desk too, but work gave me an MX Master 3, and I've since moved on to the MX Master 4. The Magic Trackpad is strictly a travel tool these days. A tiny, folding Bluetooth keyboard. I bought a Jelly Comb Ultra Slim Folding Bluetooth Keyboard years ago and I don't think that exact model is even sold anymore, but the category is the takeaway here: a folding keyboard that fits in a jacket pocket is genuinely great to have on hand. An Anker 25,000mAh laptop power bank with three USB-C ports capable of delivering up to 100W. This one's big enough to actually charge my MacBook when I'm away from an outlet, rather than just topping up my phone. An Anker 727 Charging Station . This is basically my travel power hub: two USB-C ports, two USB-A ports, two AC outlets, and a detachable five-foot extension cord, all in something about the size of a phone. It can charge up to six devices at once and delivers up to 100W, so when I have access to an outlet, I use it for my MacBook, phone, watch, AirPods, and anything else that needs power. I leave the regular Mac power brick at home and bring this, the power bank, and my MagSafe cable instead. It looks like this exact model is currently unavailable, but it's worth s
AI 资讯
9 PM Teams Call Layoffs: The Offshore Kill‑Switch
The 9 PM Teams call layoffs that vaporized an entire India engineering office aren't merely a cautionary tale—they are a case study in remote-first management rot. Around 150 employees were invited to a surprise Microsoft Teams call late in the evening and informed, without any prior warning, that their team was being shut down and the company was closing its India operations 1 [^2]. No severance. No transition. Just a kill switch flipped from a different timezone. This isn't a single rogue employer. It’s a playbook. The late-night call exploits the timezone gap to avoid in-person confrontation and suppress immediate collective response. It’s a clean, cowardly sever for a leadership class that has confused “remote” with “disposable.” How the 9 PM Teams call layoffs became a remote-first weapon The mechanics are always the same: a sudden, mandatory all-hands drops on calendars minutes before it starts. The meeting is short. An HR representative or a pre-recorded executive message delivers the news. Access is cut before anyone can ask a real question[^1:0][^2:0]. A former employee detailed the sequence in a viral social media post: “Around 150 members of our engineering team were invited to a 9 PM Microsoft Teams call, where we were informed that our team was being shut down”[^3]. The shock isn't accidental—it’s functional. Surprise prevents organizing. It prevents screen-recording. It prevents the kind of immediate, unified pushback that might force a negotiation on severance or notice periods. Red flag: When your office is “the offshore office” The structural vulnerability is clear. In many global firms, India operations function as a cost center rather than a strategic core. The moment a CFO runs a spreadsheet and sees a quick path to positive EBITDA by zeroing out a foreign subsidiary, the engineers there become a line item. The 9 PM Teams call layoffs are the logical endpoint of this relationship: the timezone isn't just a scheduling inconvenience, it’s a control
AI 资讯
When code becomes cheaper, what still makes an engineer valuable?
When code becomes cheaper, what still makes an engineer valuable? Recently, while writing my cover letter for remote roles and Upwork projects, I asked myself a very direct question: Why should a remote team or client choose me, especially in the AI era? I do not think the answer should be: “Because I am the strongest engineer technically.” That is not how I want to position myself. What I want to become is this: A backend engineer who can turn unclear business problems into reliable, maintainable systems. AI is making implementation faster. It can generate code, explain technologies, and provide alternatives. At the same time, remote work and platforms like Upwork make competition more global. We are not only competing with engineers nearby, but also with engineers from everywhere. If the only question is “Who knows more frameworks, patterns, or tools?”, many ordinary engineers may feel hopeless. But I believe there is another path. In real systems, code is only part of the work. Someone still needs to understand the business workflow. Someone still needs to define what “correct” means. Someone still needs to identify risks, edge cases, performance concerns, and reliability boundaries. My usual way of working starts from these questions: What is the real requirement? What does correctness mean in this workflow? What data must stay consistent? What edge cases could break the process? What performance or reliability signals should be protected? Where should the module boundary be? Who should orchestrate the main flow, and who should act as collaborators? This “orchestrator + collaborators” thinking helps me keep the main business process clear. The orchestrator owns the workflow. The collaborators handle specific responsibilities such as validation, translation, persistence, messaging, or external integration. I also use AI in this process, but not only to generate code. I use it to challenge my assumptions, explore alternatives, find missing cases, improve naming, r
AI 资讯
I Wrote 40 Lines of Python to Beat Tokyo Salaries from Rural Japan: Furusato Nozei + Utility Defense for Remote Side-Hustlers (2
⚠️ この記事はアフィリエイト広告(プロモーション)を含みます。リンク先で発生した収益の一部が運営者に支払われますが、読者の購入価格には一切影響ありません。 If you work remote from rural Japan, by the end of this article you'll have two runnable Python scripts: one that computes your exact furusato-nozei (hometown tax) ceiling from your real side-income, and one that scores your electricity contract against your actual kWh log so you stop overpaying. No spreadsheets, no "consult a tax accountant" hand-waving. Copy, run, save money tonight. Result from my own 2025 numbers: ¥41,000 of furusato-nozei reward goods for a net cost of ¥2,000, plus ¥28,400/year shaved off my power bill after switching plans. Total ≈ ¥67,400 recovered, and because I work from home in Niigata, my commute cost to earn it was literally ¥0. The trap: side income breaks the "simple" furusato nozei calculator Every portal (Satofuru, Rakuten Furusato, Furunavi) shows a slider that estimates your ceiling from salary alone. The moment you add freelance/blog/ Kindle income, that slider lies to you. In 2024 I trusted it, donated ¥52,000, and ¥9,000 of it fell outside the deductible ceiling because my side income pushed me into a different residual-tax bracket. That ¥9,000 was just a donation — no tax back. The real ceiling depends on your total taxable income (salary + side hustle minus expenses) and the resident-tax (juminzei) cap of roughly 20% of your income-based resident tax. Here's a calculator that actually folds in side income. It uses Japan's 2026 progressive income-tax brackets. # furusato_ceiling.py — Python 3.9+ from dataclasses import dataclass # 2026 national income tax brackets: (upper_bound_yen, rate, deduction_yen) BRACKETS = [ ( 1_950_000 , 0.05 , 0 ), ( 3_300_000 , 0.10 , 97_500 ), ( 6_950_000 , 0.20 , 427_500 ), ( 9_000_000 , 0.23 , 636_000 ), ( 18_000_000 , 0.33 , 1_536_000 ), ( 40_000_000 , 0.40 , 2_796_000 ), ( float ( " inf " ), 0.45 , 4_796_000 ), ] @dataclass class Taxpayer : salary_income : int # after salary-income deduction (給与所得) side_profit : int #