HackerTrans
TopNewTrendsCommentsPastAskShowJobs

shiohime

no profile record

comments

shiohime
·vor 5 Jahren·discuss
You haven't been able to GPU mine bitcoin in like a decade, every miner uses dedicated ASICs specifically for mining btc. It's been impossible to compete without ASICs for a very long time.
shiohime
·vor 5 Jahren·discuss
I'm creating an NFT project that's doing something I've never really seen other projects doing in any capacity, and can confirm it's pretty hard doing something against the current perception of what is possible with the tech. It's been disheartening sometimes tbh because of the stigma the tech has currently, and I've been called a scammer more than a few times simply because I'm creating a project that utilizes NFTs, by people who only know of the current "link to png on cloud storage and nothing else" model that is most common.

Oh well, I just hope that when I release my project next month that I can prove that it's an incredibly unique experience that some group of people find it to be an exciting product.
shiohime
·vor 5 Jahren·discuss
It's honestly difficult to discuss ideas in the space outside of specialized discord channels given how divisive people on social media like twitter have been on the subject. Wallet based authentication is amazingly simple to work with and provides a great developer and end user experience, but you only really hear about it in passing and it gets overshadowed by the noise. Same with using NFTs for novel purposes; you can use them as essentially authz tokens for specialized services. I've been working on an NFT project exploring these concepts and am quite happy with the end results.
shiohime
·vor 5 Jahren·discuss
You can easily create as many wallets as you'd like, and keep your funds isolated from a wallet you use as an identity, if you wanted. There are multi-key wallets out there as well to retain control of your wallet in the event that one of the keys are compromised. I haven't used any of those personally myself so I can't really elaborate more on those types of wallets, but it feels like being able to lower risk is a solvable problem.
shiohime
·vor 5 Jahren·discuss
I think it's a really neat space to explore and love the idea of provable digital ownership. There's a lot of projects in the space that are interesting ideas, and it is fascinating to see parts of the web stack increasingly decentralized. Whether or not it will be a long term success, who knows. It's a fascinating field to work in, and has given me motivation to run some creative independent ventures that I wouldn't have otherwise. For NFTs there's much more you can do with them than in the current model, and we'll see more increasingly complex and unique usecases from NFT projects in the coming year I'm certain.

Although it is fascinating to see more parts of the webstack increasingly decentralized, I also do not fully buy into the "decentralize everything" ideology that some people in the space have. Some people may not call projects "web3" if they run on traditional infra like AWS, but there is absolutely value in a hybrid model in my mind that leverages a decentralized ledger for proof of digital ownership on top of more traditional infra. I don't think for instance that making a platform to replace existing web2 websites like twitter / FB / your favorite website is the way to look at it, but rather to figure out new ideas and products, maybe fully decentralized, maybe not. To me it doesn't matter, I just want unique, streamlined user experiences that provide value to users who want to participate in the ecosystem. Even if it is just a small community, it's fun.
shiohime
·vor 5 Jahren·discuss
The best examples right now are honestly NFT marketplaces or DeFi, however you can authenticate with these services without needing to have any funds available on your wallet.

If you're curious and want to try out the flow, you can download a web3 wallet like MetaMask - https://metamask.io/ - this is a popular web wallet extension for Ethereum and EVM platforms. If you want to try out Solana, I recommend https://phantom.app/

I personally like Solana more than EVM chains at the moment but it doesn't cost anything for you to try either.

Once you have the extension and create your wallet, you can navigate to an NFT marketplace, and connect your wallet.

Ethereum: https://opensea.io/ - The most popular Ethereum NFT marketplace

Solana: https://solanart.io/ - One of the most popular Solana NFT marketplaces

You can then click on the connect / select wallet button, and it will allow for you to connect your wallet to the website. This will authenticate you into their website, there's some additional steps on Opensea IIRC if you want to construct a full profile, but the base authentication only requires this. And like I mentioned, you can authenticate in this manner without owning a single dollar worth of crypto.

For the projects that allow for you to interface with chains / wallets, I've used these:

For ethereum: https://github.com/ChainSafe/web3.js

For solana: https://github.com/solana-labs/solana-web3.js

Essentially what it comes down to is a user has a wallet, that is typically a web wallet via extension, but you can of course use hardware wallets if you'd like, however those do require you to own one, so if you just want to play around with the ecosystem, these extensions are the easiest to use. These above projects are javascript APIs that allow for interacting with wallets and onchain programs.

Note that both of these are frontend solutions. There are backend solutions for both chains.

EDIT - also there is this provided from solana labs as an adapter for many different wallet types: https://github.com/solana-labs/wallet-adapter
shiohime
·vor 5 Jahren·discuss
Clearly you have a strong dislike for the tech, and that's fine I don't care of course, but do keep in mind that there are ways to isolate risk pretty easily. Even if the technology doesn't result in a huge change in how auth is done to scale in the way that Okta does, there is value in simplifying authentication / authorization workflows for users that decide they want to participate in the web3 ecosystem.

As a solo developer making applications in the ecosystem, it's a breath of fresh air to not deal with Oauth+OIDC workflows and utilize wallet connectivity + token authorization to very elegantly handle these scenarios on smaller projects. End user experiences are pretty great too, I quite enjoy being able to authenticate into a website without needing to associate everything with my email address and/or rely on 3rd parties to provide trust solutions such as SSO via Google/FB/Okta/whatever.

And yes, the risk is higher in a decentralized model because if my private keys are compromised on most wallet types, then I can lose my funds / identity. There are solutions to help lower this risk however.
shiohime
·vor 5 Jahren·discuss
Yes, thanks for the clarification.
shiohime
·vor 5 Jahren·discuss
NFTs are only expensive on Ethereum. You can mint for cents or less on other chains.
shiohime
·vor 5 Jahren·discuss
But you can determine NFT authenticity by only examining onchain data. You can for instance check the program ID that executed the mint and that it is verified (in the case of Solana, at least), it's a pretty simple verification system that is using entirely onchain data for validation.
shiohime
·vor 5 Jahren·discuss
NFTs are simply single issue tokens that can optionally be part of a collection. While most NFTs today take the form of a link to decentralized storage on solutions such as IPFS or Arweave, it is completely possible for an NFT to provide value as a token. For example you can have a project where NFTs provide access to services, as well as optionally have links to art. But you really don't need to have the art aspect at all, you can use them as access tokens or whatever you want really.
shiohime
·vor 5 Jahren·discuss
I can give an example of a proof of concept app I created for a hackathon -

Frontend hosting, I decided to go with a traditional hosting solution (vercel). Nothing changing here.

Backend APIs - Was able to replace the need for dedicated backend APIs by using RPCs and GraphQL queries using a project that allows for indexing smart contract event data in a GraphQL queryable format (https://thegraph.com/en/). I also created a smart contract which lives on the Ethereum chain and allows for users to achieve the interactivity that I desired for my app (which was essentially an escrow for a scheduling application). The events are indexed by the graph, so I could efficiently query this subgraph to retrieve relevant data to display on my frontend.

Authentication - Just use web3 packages to connect users wallets to the website. No need to use OAuth+OIDC or similar approaches for authentication, just connecting wallets on the frontend works.

If I wanted to take it a step further, I could have hosted my app on permaweb (https://www.arweave.org/) which will host the content in a distributed fashion with a one time charge.

For a different example, I'm creating an NFT project that uses the NFT ownership to grant access to specialized services (launching the user's NFT in a specialized application I created in an open source gaming engine). I use similar techniques as above, still hosting on vercel, but I use the innate ability to use NFTs as proof of ownership to act as an auth token into my service. This allows for me to distribute the interactive art I've created in a way that fully grants users ownership over the art, and also allows for them to access these specialized services only available to owners. Furthermore it's trivial to detect forgeries so even if someone does the horrible act of right click saving the art, they won't actually get any of the actual value from doing so. And if someone attempts to forge the token by minting an exact copy, it still will not grant access as it's easy to detect forgeries.

It's pretty exciting imo and has been a very fun project to work on. So by leveraging the similar approach for authentication (connect wallet), and NFT proof of ownership for authorization, I've been able to create a unique project with a lot less complicated of a stack tbh.

I personally think there's value in mixing centralized services (like traditional hosting of applications) with decentralized services (like using blockchains as a database of ownership, such as with NFTs).
shiohime
·vor 5 Jahren·discuss
Not gonna lie, it really blew my mind when I was onboarding junior engineers that not every engineer knows how to touch-type. Frankly, I had never even heard of the terminology "touch-type" until that moment, and basically thought that if you can't do this (in most cases) you never learned to type. Not trying to be rude in any way, any idea how common this is? Maybe more common internationally than in the US?
shiohime
·vor 5 Jahren·discuss
- Definitely use an IDE like IntelliJ

- Familiarizing yourself with vim is great and one of the best timesaving skills I decided to pick up randomly. You can install vim plugins for most IDEs

- Pick a small feature that you are curious how it works, and focus entirely on how it was implemented. The simpler the better really. Use git history to see the commit that the feature was introduced, and look how that engineer implemented it. It's quite easier for me to learn how something works by just focusing on seeing the Pull Request for the implementation. Just focus on looking how various things were implemented, and you'll (hopefully) see a pattern in code practices & design patterns.

- If you have questions, you should feel free to ask other engineers that work on the project. I was in a pretty senior position at my last job and we had quite a large codebase, and I personally never minded helping out junior and new engineers ever when they were coming up to speed on a new codebase. I always took the viewpoint that it's always in my best interests to help out the newer team members get up to speed quicker and have a better understanding of the product so they are able to effectively contribute. Hopefully engineers on the project you are working on think similarly.

- Absolutely learn how to perform proper debugging if you are not familiar already. Learn how to hook the browser to your IDE, how to troubleshoot things on the backend if you get to the point where you're doing fullstack work. Effective debugging is an incredibly important skill to pick up.

- Learn how to use IDE / other editor tooling such as jump to definition, refactor, inspect, find all occurrences. If this is a react project learn how to use browser extensions like devtools to help with debugging and understanding document structure.
shiohime
·vor 5 Jahren·discuss
I worked at a startup that was acquired by a larger corporation. This echoes my experience as well, everything became so clogged up with processes, documentation, responsibilities so distributed that there were times it became unclear who was responsible for what. I had a bunch of arguments with other departments and upper management over processes that were directly impacting my team of engineers, but eventually just caved in. Meeting glut, passing of responsibilities, nobody stepping up to get stuff done, and a bunch of other things that made me unhappy. They at least treated me well enough all things considered and I had multiple promotions, but eventually I got so burnt out I just left.

I don't think it's necessarily like this at all large companies. I had worked at a much, much, much larger company before and never had to deal with anything like that. It really comes down to the company that acquires the smaller one.

I mean look at Blizzard, who inevitably just became Activision despite years of claiming they would not. The process / culture of the company that acquires the smaller one almost inevitably wins out.

You have to realize that the company you worked for no longer exists. It was acquired and is something else entirely. If you're unhappy, I would suggest to consider looking around for different opportunities.
shiohime
·vor 5 Jahren·discuss
It's not too much different than most other ventures, most failed, a couple have built out successful products.
shiohime
·vor 5 Jahren·discuss
I honestly agree too having worked in enterprise, but see it more as an inevitability as an enterprise product continues to be supported for years and years, as the original talent is churned, and multiple generations of engineers come and go. It's why I don't want to go back into enterprise ever again lol supporting legacy huge overengineered products is rough.
shiohime
·vor 5 Jahren·discuss
This is true, but I think that they really should disable approving the transaction prior to the simulation finishing. Because right now, you can simply approve a transaction blindly without letting this complete and seeing the changes in your account balance, which is probably what the people who got their wallet drained did I'd assume, just blindly click purchase because they are in full FOMO mode for their ape NFT.
shiohime
·vor 5 Jahren·discuss
That's like saying every java developer since the beginning of time is not talented because they decided to pull in log4j.
shiohime
·vor 5 Jahren·discuss
The materials already used in your house may not go up in value, but the value of the raw materials themselves certainly have gone up in value due to 30% inflation or whatever over the past year. Take a look at lumber prices.

In this example I'm sure it wouldn't cost $800k to rebuild the house, but it'd certainly be more than $40k, so it would definitely be a loss.