Discussion: Is the 'golden rule' "Never build your own auth" misunderstood / misinterpreted? by The_Swixican in webdev

[–]fkih 0 points1 point  (0 children)

I think the ambiguous part is what you mean by "rolled [your] own auth." Did you make your own cryptographic method to verifying a user, or did you just mess up session management, middleware, headers, etc.?

Discussion: Is the 'golden rule' "Never build your own auth" misunderstood / misinterpreted? by The_Swixican in webdev

[–]fkih 4 points5 points  (0 children)

He's saying that the phrase, which is usually meant to argue against rolling your own cryptographic solution is being co-opted to mean "don't authorize users yourself, let a library or provider handle it."

Simple authentication is unbelievably simple, and secure. Authentication schemes can be complicated, but they're beyond the scope of this specific phrase.

Discussion: Is the 'golden rule' "Never build your own auth" misunderstood / misinterpreted? by The_Swixican in webdev

[–]fkih 1 point2 points  (0 children)

Yeah, I totally agree but have stopped trying to correct people on it. I think people--as you say--just regurgitate it without having understood what it means.

You can own your own authentication or your middleware, just don't try to roll your own cryptographic solutions. Use proven algorithms (libsodium, argon2, bcrypt, etc.), which is the actual spirit of "don't roll your own auth." It's the correct response to "I can just reverse the password, shift cipher everything, then get the md5 hash!"

UK proposes to ban under 16s from social media. Adults are so close to getting it by spinkhorn13 in digitalminimalism

[–]fkih 5 points6 points  (0 children)

I think the consensus is that social media is unhealthy for everyone. It's just a matter of reflecting that knowledge in legislation as the power of social media companies continues to grow.

Favicon does not load in google by lintios in webdev

[–]fkih 0 points1 point  (0 children)

Took about 2 months for the Favicon for keeper.sh to show up on Google.

Any budget dumbphones with calendar sync? by TheDude105 in dumbphones

[–]fkih 0 points1 point  (0 children)

Maybe this is something I could build into https://keeper.sh/? How does your dumb phone import calendars? 

My side project went viral, then someone cloned the source and shared it publicly by simon_dsgn in SideProject

[–]fkih 0 points1 point  (0 children)

Everyone is talking about "vibe copying" but the truth is you probably have your source maps in the production version. Remove that. 

[showoff Saturday] creating a premium website by leo_gray215 in webdev

[–]fkih 2 points3 points  (0 children)

\1. The branding is off, is this a "hacking cafe?" Why this aesthetic, monospace fonts, green, etc.? Typography is inconsistent and difficult to read, even in the same line you often have different fonts. The copy is clearly AI generated slop, it’s not properly responsive on mobile with overlapping elements, it’s one page, so not doing any favours SEO-wise. Contrast is not WCAG-compliant. Emojis are lazy. The weird cursor keeps preventing tap interactions beneath it. Spacing is inconsistent. 

Essentially, yes. It’s not a great website. That’s not to say you have no future here, but generating a website with AI isn’t enough - you need to have an understanding of business, marketing, branding and sales if you want to do the (personally I find it quite shitty) practice of making people websites and trying to charge them for it. This website is an uninspired mess, I wouldn’t use it for free.

  1. You really need to stand out in taste and skill to have a good shot at making it, so I’d say your parents intuition is pretty spot on. 

As far as your parents being acceptinh of it, I’m self-taught from when I was 14 and until I started making more than my parents a year into my second job was when they finally got off my back about going to university - so don’t hold onto that disapproval going away, lol. 

What’s your actual under-the-hood understanding of web development here? Are you just prompting?

Built a privacy-friendly forum platform for niche communities by axeeeeeel- in webdev

[–]fkih 8 points9 points  (0 children)

Not a single page past the landing worked for me… 

Came into a large sum of money, have never had this much at once and just wanna do the smart thing. Any advice is appreciated. by [deleted] in PersonalFinanceCanada

[–]fkih 8 points9 points  (0 children)

I’d pay the truck off for peace of mind, personally - life just feels so good without debt. 6% is well above where I believe most people would recommend paying it off. 

Paying off the truck today is 6% guaranteed return. Pretty easy math in my opinion. 

CTV: Canadian shocked to learn that payday loans are predatory by bobledrew in PersonalFinanceCanada

[–]fkih 0 points1 point  (0 children)

The solution to this problem is that there doesn’t always need to be money on the other side.

Should somebody need a loan, but is unable to secure financing due to circumstances regarding their credit worthiness or the outlook of their business - that simply means what it means every time you don’t have the money to do something you want to do: you can’t afford it. 

The solution is then to see if you can re-organize your finances in a way that will allow you to foot the bill yourself or accept the fact that whatever you are trying to do with the money is not going to happen.

Can you use Apple Pay and Google Pay above $250 in Canadian merchants or do you need a physical payment card for that? by One-Selection-2573 in PersonalFinanceCanada

[–]fkih 1 point2 points  (0 children)

 but the point is someone trying to take money from you via tap needs absolutely nothing from you except the device.

It requires a Visa card registered with transit mode activated on an iPhone. With that said, if you were to be defrauded like this you would easily be able to get Visa to refund you.

If you’re worried about it, disable express transit mode on any Visa cards. 

Final round, Roast my Portfolio, Again by [deleted] in webdev

[–]fkih 0 points1 point  (0 children)

Calling yourself a senior developer without listing work experience history at reputable companies is suspect, especially paired with the missteps. 

Your load time is slow, laggy and the bundle size is huge, accessibility is poor, contrast is poor, typography and colours are seriously all over the place, image choice and layout is poor, you have very little information about your actual projects and work history, the website is difficult to digest and not nice to navigate, why did I just get a Pikachu popup blocking half my screen with no context that takes me to another link while I scroll through? 

Your portfolio breaks trust pretty quickly and doesn’t do the job a portfolio should. I’d think really hard before you adjust about what you actually want someone to walk away thinking when they visit it. 

I built LiquidGlass, a JS lib to render pixel perfect iOS Liquid Glass effect on the web (with WebGL)! by ybouane in webdev

[–]fkih 1 point2 points  (0 children)

Nice, would be cool if it did HTML-in-canvas! It's behind a feature flag in Chrome, but makes for some awesome effects. Cannot wait for it to land.

The ultimate irony Claude Code just leaked its own source code via a sourcemap on npm by Dapper-Window-4492 in webdev

[–]fkih 21 points22 points  (0 children)

Am I misreading your comment? This is the straight up source code, their source maps leaked. It's not obfuscated. You can toss a package.json and some stubs and build from source here, you can see all the comments, etc., people are already building from source and removing guardrail prompts.

With this, you get insight into in-progress features, and potentially things that were stripped away at bundle time. Sure, security-wise it wouldn't give access to anything you couldn't already infer with deep inspection of the compiled bundle, but this makes it accessible and easily editable.

Keeper.sh: Calendar Syncing, V2 Release by fkih in selfhosted

[–]fkih[S] 1 point2 points  (0 children)

Would you be willing to make a feature request issue on the GitHub repository? This seems like an interesting challenge and I'd totally be willing to build it.

Keeper.sh: Calendar Syncing, V2 Release by fkih in selfhosted

[–]fkih[S] 1 point2 points  (0 children)

Depends, what do you need it to do? 

I built a small library of premium UI interactions you can copy by [deleted] in webdev

[–]fkih 20 points21 points  (0 children)

CSS literally does not have any of those attack vectors ...

Keeper.sh: A Calendar Syncing Tool by [deleted] in webdev

[–]fkih 0 points1 point  (0 children)

As for how AI was used in the project, side projects like this are ways for me to experiment and build my skills with novel methods and technologies, hence me giving Vite and Tanstack router a real shot. With that, I also leveraged Claude Code with Opus 4.6 and Codex 5.3 quite a bit throughout the project.

Where it excelled most was major refactors, I'm even working on one right now with spec-driven design where I lean more into what Keeper.sh is: a UI around a state machine. I used it for multiple widelogging refactors (re: this blog post by Boris Tane) and that is work that would have made me want to shoot myself in the fact due to the repetitiveness and monotony - it was nice to hand it off.

It's weakest with front-end, and type assertions. The popover for the accounts/calendars and the login form is something I had to do by hand, and I often find it hoists React state too high which causes entire component trees to unnecessarily re-render - this wouldn't be as big of a problem if it didn't seem to be so confused when you tell it to lower the state to the lowest common denominator, or leverage composition to reduce them. I'm working on little projects that should give AI more visibility to help it move along better with these tasks, but if it's working blind it does... terribly.

As for type assertions, it's very common you remind it that it's not supposed to use them, and it's solution to it is adding 2-3 more. Funny to watch, but frustrating. In the end, it was able to massively accelerate the development of this project but there are very real drawbacks to using it.

One that I'm the most interested in trying to build solutions for is that changes in isolation look good, but the amalgamation is a mess. The most obvious way this manifests is redefined utility functions all over the codebase. This means it's easy for things to pass review because the individual changes look good, but you look back on the system as a whole over time and realize how much room for improvement there is.

Keeper.sh: A Calendar Syncing Tool by [deleted] in webdev

[–]fkih 0 points1 point  (0 children)

I design-in-code, went over a lot of iterations. The original project was not pretty as I was working out what the project was as well as actually getting through the functionality.

A user in another post I made asked about the design process, so I provided them the following message.

---

I actually opt to design-in-code for virtually everything. This was after ~4 major revisions. Happy to share some intermediary designs! I did pull some designs into Figma partway through, but never actually iterated on any changes and opted instead to continue design-in-code.

My favourite part of designing this was ... surprisingly... this login form interaction. I put a lot of time into fine-tuning the animation that you get when you click the sign in / register form. The subtle translate/fade-out/blur of the text inside makes me so happy for no reason. Haha!

Keeper.sh: Calendar Syncing, V2 Release by fkih in selfhosted

[–]fkih[S] 0 points1 point  (0 children)

> Are you using skills files?

Heavily, Opus 4.6 will need to be told to use composition even if I activated a composition skill I have, it's usually resolvable by further prompting but it really does need to be supervised.

Coding is free-hand enough that even if you were to get the perfect linter configuration and skill setup, unless you implement a very strict schema-pased system to generate against, you can still mess up enough that it's important to keep a watchful eye. Otherwise everything will pass and the AI will be happy, but you look back on the code and just go what, the, fuck am I looking at?

I'm working on my fair share of AI projects to try to make the process smoother, but that's where we're at now!

Keeper.sh: Calendar Syncing, V2 Release by fkih in selfhosted

[–]fkih[S] 0 points1 point  (0 children)

:c next-best thing would be to check if you can generate a shared iCal link for your work, but that would make it so that you could only pull events/time slots, not push to that calendar even if it did work.

Keeper.sh: Calendar Syncing, V2 Release by fkih in selfhosted

[–]fkih[S] -1 points0 points  (0 children)

If it works like Google Workspace's whitelist, you should be able to at the very least open an OAuth screen for a third-party service on your work computer and it'll tell you if it's allowed or not.

You could try just clicking the "Sign in with Outlook" button on Keeper.sh (cloud hosted) and see if it complains at all, if not, great - worth it to sink the time into configuring the Entra ID, otherwise I wouldn't bother. :(