• 0 Posts
  • 5 Comments
Joined 2 years ago
cake
Cake day: June 12th, 2023

help-circle

  • Android app dev here, i cant tell you what governments are capable of, but i can describe for you some of the complicating factors preventing them from doing this.

    For one, to prevent impersonation, apps are cryptographically signed by the developer using a private key they never share with anyone (like a password), and the public key is sent to Google Play and the App Store so that they can verify the identity of the uploader. This prevents app store listings from being hijacked by rivals, competetors, hackers, pirates, foreign governments, and yes, their own government. So, any goverment cant just walk up and push a rogue update to the store.

    For two, deploying app updates isn’t my job, it’s Google’s and Apple’s. In my opinion if the government wanted to hijack the supply chain, going directly to Apple or Google would be the way to do it. The narrowest group of people I can push updates to are the people who opted into alpha or beta versions. To target an individual, youd have to do it through Google or Apple.

    For three, my boss barely gives me enough time and resources to meet the company’s own goals, let alone letting me clean up tech debt. The idea of a government that twists my boss’s arm to force me to work for the government instead of the shareholders is kinda funny and nonsensical. I live in the USA, where shareholders are king. I bet that even if we went full toltalitarian this would never happen because of rich people backlash. So i dont think the hacking coming from inside a company would happen. Then again, i perhaps dont work for a juicy enough place to see how a government could solve this problem, *or maybe they would be stupid enough to incur the political expense anyway.

    And last, money money money. Programmers are not cheap. Designing and dedicating and selecting targets for an attack isnt cheap. Hacking into a company to steal their private key isnt cheap, and could also be expensive in a political sense if the wrong people get pissed off aboit it… If paranoia is what drives your question, then ask yourself, are you a high profile politician? A billionaire? A high profile leader of a movement like Martin Luther King Jr? Someone actually worth spending several millions of dollars on to spy on? If you’re a simple petty theif or protestor than i wouldn’t bother worrying about this.

    *If you’re worred about your personal data getting taken and spied on., your bigger worry is the browser you use and what data gets stored on servers for services you use. Those are waaaaaaaay less expensive to get into.

    Tl;dr

    So basically, id only worry about relying on apps owned by the government. Or the services you use that take your data to sell it to advertisers, because theyll give it to the government directly as well.



  • Oh, I just got back from there.

    For a vacation less than 90 days, you only need a passport from your home country, and proof of your return flight in less than 90 days. Drugs were covered in another comment, but dont bring veggies or meat products into Japan, even if its like a Slim Jim thing you got at the airport, they’ll give you a hard time over it. The trip can be long, so its worth planning it out to give your future tired self less things to think about. Expect to be sleep deprived your first 2 days.

    Travel agencies are good for booking hotels in advance, which i highly reccomend to do 1 month before. I stayed 2 weeks and that I think was a great amount of time. I booked the hotels and plane in advance, then had $2000 in savings to convert to cash yen for the actual trip. Use cash, Japan is very cash heavy. That was way more than enough spending money actually, i probably could have done it with half that amount. Fall time has great weather, and I avoided the more expensive spring season / cherry blossom bloom. That sounds nice, but tickets are more expensive that time of year.

    Travelling in Japan, there’s the fast way and there’s the cheap way. For trains, they have the shinkansen and the regular regional trains, and for roads theres the side streets and the expressway. Beware expressway tolls. Getting out of Osaka wasnt too bad but getting back in beaned my wallet for ~$90 USD. Theres toll gates less than 5 minutes apart there. If you have 4 or more people in a car the expressway might be cheaper than the shinkansen, which you need individual tickets for each person. Using the expressway isn’t required, you can take side streets the whole way.

    I had local friends who knew the language and could drive. They made my trip amazing. I tried to study some japanese language but when it really came time to interact with people i could not cut it. I really needed my friends to do anything more than sightsee and shop outside of tourist traps. My appearance and dress alone indicated me as an Obvious Foreigner and so people were quick to help and give me menus to point at. Even if your speaking skills were terrible, manners make up for it. Learn the local customs and formal etiquette, and people should forgive awful broken sentences and be patient with you. If you remember only one phrase: sumimasen. It’s excuse me / sorry / can i have your attention all rolled into one phrase.


  • A lot of the time its impatient management who want the fastest solution right now, demanding their jenga tower built from hollowing out the middle and never allowing time to fill in the gaps with any new blocks.

    But i’ve also seen just plain inexperience from devs who have never seen a project become technically bankrupt. Some people just carry the expectations for a short lived app into a constantly iterated long lived app, not realizing that is the way to crunch and missed deadlines.

    Compounding the inexperience issue is the use of bad architecture. Architecture is a bigger picture thing, not something to bang together a bunch of use cases and a bunch of factories. The purpose of architecture is to keep development easy and smooth for now and the future. If it doesnt feel nice to work in, it’s not doing its job. If devs keep trying to cheat it, its time to add convienience tools to encourage them to do it right.

    Clean Architecture for example is very nice, it really shines in projects intended to be iterated continuously on for over 5 years and many more. It mitigates the pain of replacing and upgrading old obsolete stuff. Using it for one marketing campaign app that’s going to live for only 3 months is overkill though. For very short projects, you can see how its the wrong tool for the job.

    Selecting the right architecture involves understanding the patterns used and knowing what problems those patterns were meant to solve. Thats the way to know if those problems are relevant to your project.