• 1 Post
  • 121 Comments
Joined 2 年前
cake
Cake day: 2023年7月10日

help-circle
  • I’ve taught a few developers and have pretty extensive experience on the topic

    Tutorials are fine, but don’t get stuck on the idea that you need guidance through the whole process, it’s better to avoid tutorials entirely than it is to follow a bunch of tutorials.

    For example, when I started out my most recent student we began with some challenges that I knew would provide some context for future projects, then immediately jumped into those projects. Depending on what you’re passionate about, the best project for you can differ, but we did the following projects:

    1. A lemmy face wizard page, literally just a list of lemmy faces that clicking on will copy to your clipboard
    2. An invoice maker, since they needed to send me invoices because I was paying them for their time
    3. a react native sudoku app, this one was challenging and took them a couple months, but when they were done they took over one of my contracts for mobile development

    And the challenges that led to these projects? Everything from basic algorithms to api interaction puzzles.

    My advice would be to pick something that you love and come up with the tiniest project you can possibly think of, then cut the scope a little more.

    For example, love pokemon? Maybe make a website that you can click on one of the types and it will highlight the strengths/weaknesses of that type. Love golf? Maybe make a golf score tracker mobile app, a big button to add a stroke and another to move to the next hole.

    If you are passionate about something it gets a lot easier to get better at programming because the stuff you’re missing will become obvious and you’ll need to look it up to finish your project.

    My very first project nearly 30 years ago was a windows 95 app that moved your mouse to draw in mspaint automatically.

    I’d say starting a new language is a pretty big mistake until about 4-5 months after you feel proficient with your first language. Starting over with new syntax has actually caused more than one of my students to quit


  • Then next I would examine the redirect and check your stack, is it a 302, 304, etc, is there a service identifying header with the redirect?

    After that I would try to completely change your setup for testing purposes, greatly simplify things removing as many variables as possible, maybe setup an api server with a single route on express or something and see if that can be faithfully served

    If you can’t serve with even a simple setup then you need to go back to the drawing board and try a different option


  • You set the A record to your internal ip address from within your router?

    Nginx configs have a lot of options, you can route differently depending on the source context

    So a couple questions:

    1. Do you only want to access this from your local network? If so setting up a domain name in the broader internet makes no sense, you’re telling the whole world what local ip within your switch/router is your server. Make your own dns or something if you just want an easier way to hit your local resources
    2. do you want to access this from the internet, like when you’re away from home? Then the ip address you add to your a record should be your isp’s public ip address you were assigned, it will not start with 192.168, then you have your modem forward the port to your local system (nginx)

    If you don’t know what you are doing and have a good firewall setup do not make this service public, you will receive tons and tons of attacks just for making a public a record.






  • 0x01@lemmy.mltoTechnology@programming.dev*Permanently Deleted*
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    1
    ·
    3 个月前

    Unfortunately correct, I’ve seen this strategy work already. I wonder if it will end up being a veritable race to the wage floor for workers.

    I’ve seen others go the “grass fed, free range, human made, artisan software” route as well, utterly opposing ai assistance.

    At some point there must have somebody out there making sweaters and swearing up and down that machines could never do their job as well, but at the end of the day the employee who makes the shirt doesn’t decide if their job will be automated. The boss cares about the economics and even if the product is inferior they will choose the cheaper option.


  • 0x01@lemmy.mltoTechnology@lemmy.worldWhy LLMs can't really build software
    link
    fedilink
    English
    arrow-up
    11
    arrow-down
    7
    ·
    4 个月前

    I use it extensively daily.

    It cannot step through code right now, so true debugging is not something you use it for. Most of the time the llm will take the junior engineer approach of “guess and check” unless you explicitly give it better guidance.

    My process is generally to start with unit tests and type definitions, then a large multipage prompt for every segment of the app the llm will be tasked with. Then I’ll make a snapshot of the code, give the tool access to the markdown prompt, and validate its work. When there are failures and the project has extensive unit tests it generally follows the same pattern of “I see that this failure should be added to the unit tests” which it does and then re-executes them during iterative development.

    If tests are not available or if it is not something directly accessible to the tool then it will generally rely on logs either directly generated or provided by the user.

    My role these days is to provide long well thought out prompts, verify the integrity of the code after every commit, and generally just kind of treat the llm as a reckless junior dev. Sometimes junior devs can surprise you, like yesterday I was very surprised by a one shot result: asking for a mobile rn app for taking my rambling voice recordings and summarize them into prompts, it was immediately remarkably successful and now I’ve been walking around mic’d up to generate prompts.





  • 0x01@lemmy.mltolinuxmemes@lemmy.worldWhich git branch are you on?
    link
    fedilink
    arrow-up
    36
    arrow-down
    2
    ·
    5 个月前

    The default branch for some projects is “production” since CD deploys on pushing to that branch

    For new projects, main. My thought is that even if master is not offensive, since the industry has generally made the change, the only reason to stick with master is stubbornness or hating political correctness, neither of which aligns with my self-view so I’ll use main and move on.

    In general if people are genuinely hurt by the use of some words, I’m not sadistic so I’ll avoid using them. From my perspective morality is the pursuit of the reduction of suffering, even if that suffering is internal.







  • Ngl I love tailwind, I’ve been through so many different css paradigms

    • separate css files: why did we ever do this, if you’ve ever used kendo’s css stuff you’ll understand how unfathomable hundreds of thousands of lines of css with complex rules is. Identifying all the things that affect a single component is the work of dozens of minutes at minimum, sometimes hours, you have to understand every nook and cranny of the css spec.
    • inline styles: fine, but verbose and requires object spreading, harder to compose, theming is tough and requires discipline to be consistent in your theme conventions, almost impossible to also theme imported library components
    • module.css with imported classes: my go to outside of tailwind
    • scss: I actually really like scss but it exacerbates the complexity and mystery of css, great for small projects but terrible as projects bloat
    • bootstrap: basically just worse tailwind, providing only components and colors

    That’s all I can think of right now, but tailwind is my preferred way to style a new project, I love how easy theming and style consistency is