News for hackers. Stuff that matters.

shiohime

Re:Are cryptocurrencies to blame for high GPU prices? on Saturday January 01, 2022 @02:12PM (#29761577)
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.
Re:Why Web3? on Thursday December 30, 2021 @01:05AM (#29734123)
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.

Re:Why Web3? on Wednesday December 29, 2021 @07:24PM (#29731950)
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.
Re:Ask HN: What's Your Opinion on Web3? on Friday December 24, 2021 @04:56PM (#29678147)
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.
Re:Ask HN: What's Your Opinion on Web3? on Friday December 24, 2021 @04:32PM (#29677943)
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.

Re:That's My Ape - A blockchain-free chain of custody tool on Thursday December 23, 2021 @07:40PM (#29668467)
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

Re:That's My Ape - A blockchain-free chain of custody tool on Thursday December 23, 2021 @06:27PM (#29667799)
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.

Re:That's My Ape - A blockchain-free chain of custody tool on Thursday December 23, 2021 @05:19PM (#29667150)
Yes, thanks for the clarification.
Re:That's My Ape - A blockchain-free chain of custody tool on Thursday December 23, 2021 @05:11PM (#29667087)
NFTs are only expensive on Ethereum. You can mint for cents or less on other chains.
Re:That's My Ape - A blockchain-free chain of custody tool on Thursday December 23, 2021 @04:37PM (#29666787)
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.
Re:That's My Ape - A blockchain-free chain of custody tool on Thursday December 23, 2021 @04:34PM (#29666762)
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.
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).

Re:Ask HN: Working with large code base for the first time on Wednesday December 22, 2021 @01:15PM (#29653016)
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?
Re:Ask HN: Working with large code base for the first time on Wednesday December 22, 2021 @04:42AM (#29647287)
- 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.

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.

It's not too much different than most other ventures, most failed, a couple have built out successful products.
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.
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.
That's like saying every java developer since the beginning of time is not talented because they decided to pull in log4j.
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.

Minting is just essentially purchasing something with a couple of extra steps behind the scene.

What pretty much happens when you are minting an NFT is:

1. The owner of the collection uses a program that controls everything around the NFT sales, like the start date, the price, the order of art that is distributed, the owners of the collection where the funds get transferred, and other settings.

This happens before users can mint.

2. User wants to buy art, they launch a webpage that interacts with the above program. They pay the amount of money that the art is configured to sale for, and the program will process these payments in the order they are received and distribute art based off of the order the art is to be distributed. The above program also has safeguards that prevent users from being charged in the case that the art is out of stock at the time the user attempts to pay for it.

3. The 'minting' process is taking the art that was configured from this program, creating (minting) a token for it, and creating any underlying token accounts that are needed to store the art in the user's wallet, and transferring ownership.

NOTE - there are definitely other ways to distribute NFTs, such as generative art that is created at the time of the transaction based off of the block hash. The above example is how this particular NFT collection was to be distributed, it's a common model used by probably the majority of NFT projects. The actual 'minting' step (#3) is pretty much the same though, the process of creating the token and associating the metadata and transferring ownership.

This is the thing that stands out most to me here - how did the phisher possibly post in the announcements channel?? This exploit seems like it could have further reaching impacts assuming the announcements channel and server roles / permissions was configured properly. Otherwise this is no different from like almost any other phishing attack since the beginning of time... .
Re:Ask HN: ELI5 – Crypto, Blockchain and Web3.0 on Monday December 20, 2021 @05:30PM (#29631252)
This is my viewpoint after having been interested in the space for a few years, and working as a dev in the space for most of this year -

1. Blockchains can essentially serve as a decentralized database, and for some chains decentralized computations, such as Ethereum chains. It is possible to build web applications using data from the chain efficiently using a variety of technologies, and you can build some pretty slick applications effectively replacing a traditional backend with these kinds of technologies. Also it gets a lot of heat in general, because Ethereum is absurdly expensive and it's financially impossible to use, and the current scaling solution is quite complex and they have a lot of work to mask the complexities before it has any hope of achieving widescale longterm adoption. In short you literally cannot use Ethereum if you only have $20 because it's impossible to move due to fees, unless you are using one of their sidechains or layer 2 solutions. It's quite convoluted.

However you can use other chains like Solana, which gets a lot of hate from people on HN because it's more centralized than ETH. However, if you use both it's quite clear which is working better right now as an end user - SOL costs a fraction of a cent to transact and finishes within seconds, ETH costs $50 to multiple hundreds of dollars for a transaction and takes like 45 seconds to even multiple hours if you paid just slightly too little gas. I strongly recommend checking out other chains than ETH, Solana has a growing ecosystem and a lot of exciting projects being worked on in the space. (disclaimer - I own almost no SOL, about $20, but am developing projects in the SOL ecosystem because of the above end user experiences I have had using both ETH chains and SOL)

2. I don't know if it's the future of money, but it is a cool emerging field. It gets a lot of heat because it is ripe for scamming as it's nearly impossible to regulate, and also for reasons mentioned above. I've seen a bunch of people upset because they tried out web3 apps and buying NFTs and the like, but on ETH only to realize it cost them hundreds of dollars in gas.

There's a lot of value imo especially if you look past the get rich quick types and try out more financially practical chains. But back on whether it's the future of money - I think we'll have to see how countries that are adopting crypto play out by example. I wouldn't be surprised if we have more official government fiat tokenized on some of these platforms in the coming years.

3. From my viewpoint, Web3 focuses on technologies that allow for decentralization and verified ownership of content. It's possible right now to create apps that are hosted on decentralized permaweb hosting solutions such as Arweave. Whether or not this is going to be a successful model, it is a very interesting field to work in and there are some really slick things that you can do that may not be obvious at first glance. I think that there is a lot of value in a hybridized model myself of centralized services that leverage a decentralized database to verify identity / authorize access. There's quite a lot of possibilities that I can think of in such a model and think that some people get hung up on things like "how can we replace twitter/facebook/youtube/your favorite silicon valley company web site in a decentralized model" instead of trying to create completely different experiences (of who knows whether they will be successful). Web3 relates to the above 2 since the underlying idea is using a blockchain as a decentralized database, as well as having decentralized computation as well. Currently the computations allowed on chains like ETH are quite simple but there are projects that could allow for off-chain computations whose results get published back to the chain to allow for more complex applications.

I am generally a pretty hard worker - I've worked in startups and major corporations, in high stress fields under constant time constraints. I could have usually gotten away with doing less I think, but I like to try and learn what I can and I'm miserable if I spend too much time doing nothing at work, so if I have time I go pick up old bugs off the neverending backlog. I've had a non engineering job that basically required me to find something to do for 5 hours of my 8 hour day because I had nothing else to do and it was hell.

That being said, it depends on my burnout. My burnout rate seems to be 3-4 years at a company. I worked hard at one of my previous jobs and climbed actually pretty high up the engineering ladder from a normal non junior engineering position, but got too burnt out with all of the additional responsibility. At that point, I noticed I stopped being as busy, taking more time away from doing basically nonwork things outside of meetings, and becoming a bit apathetic, too much that I was uncomfortable with it and quit because I needed to move on. During that time sometimes I was much less busy than I appeared but it made me feel bad over time.

I've been doing independent ventures lately and got a bit of that fire back but lately feel like I'm falling into the same trap and not being as productive as I'd like, wasting too much time on social media or other timesinks. I really need to kick myself out of this slump, I think I can but really I guess my productivity is linked directly to deadlines which I've been lax on setting for myself lately.

Anyways, long story short I usually don't pretend to be busy unless I'm burnt out, then I quit and do something else.

Re:Web3 is going just great on Wednesday December 15, 2021 @09:05PM (#29574001)
You can use the technology to make products that are quite unique. I used a game engine to generate art and also provide a bunch of ways to interact with the art, and tokenized the generated pieces. Owners of the pieces will be able to load their art into this game and interact with it directly. Yes, I could have done this with traditional web infra, however it would rely on me managing certs to prove ownership, and there is not an easy way to transfer ownership to other users on a secondary market. There's a lot of parts of the web3 tech that I've been interested in and think it's just a pretty unique ecosystem.

The way I look at it is that this is a tool. The way it is used is up to the creativity of the engineer(s) working with it. I think that using NFTs in this manner is a lot easier for me to manage than other approaches, and it's pretty fun. Practical use? Idk it's a fun art project that I hope people enjoy, but yeah I do think it was easier for me to implement in this method than a traditional web app.

But I do think there are plenty of practical use cases that you could leverage this technology for in terms of access based on ownership of the digital assets.

Re:Web3 is going just great on Wednesday December 15, 2021 @08:57PM (#29573960)
NFTs do not have to be links to pictures on cloud / decentralized storage. That is just their primary implementation right now, but they can quite literally be a token to represent anything, not simply a jpg. But even in this case, yeah it's easy to make copies of the pictures. However, there is intrinsic value in owning something that is legitimate.

However, I want to focus on the other possibilities for NFTs - I am making an NFT project that does have the art aspect, however the tokens also provide access to unique services like hooking into a video game engine to allow users to interact with their art. Since it's trivial to detect forgeries and ownership, even if someone was to create an NFT pointing to even the exact same piece of art, they would be denied access to the service as it is a forgery.

Right now proof of ownership is usually in the form of discord bots allowing access to servers, but there's much more you can actually do with this concept than we are seeing now, like the example above.

Re:Web3 is going just great on Wednesday December 15, 2021 @08:45PM (#29573873)
You can use NFTs for proof of digital ownership though? Not sure what you're even saying lol. I've heard more lies from people claiming everything in the space is a scam (when their own knowledge is obviously lacking) than scammers in the space trying to get rich quick.

You can literally make a project that has tokenized assets in the form of NFTs, and provide services based on ownership of that collection. It's trivial to detect whether an NFT is a forgery, and also trivial to detect if a user actually owns the NFT they claim to own. So when you are making claims that this is a lie, I have no idea where you are even coming from. It's literally proof of digital ownership for essentially a ticket/token into a service.

Re:Goodbye Gas Fees on Wednesday December 15, 2021 @08:32PM (#29573793)
Phantom wallet is great! It's currently primary a solana wallet, but I believe that they are in beta for Ethereum support, but if you are curious to try out web3 stuff Solana is great for it. I strongly prefer the UI over this wallet compared to Metamask for instance, and think it is a very user friendly wallet.

It's also quite easy to integrate with webapps.

Re:Ask HN: Eight Months in and this job is unbearable on Wednesday December 15, 2021 @12:34AM (#29562471)
If you have that much savings you really should just leave and look for other opportunities or explore spaces you are interested in imo. Usually I hear it is best to look for other jobs while you are employed, however from my experience it is really hard to pull off looking for jobs while being simultaneously employed if you have a heavy workload.

I left my job of 5 years earlier this year because I was purely burnt out, with only around a year of savings but don't regret it at all. I've had the opportunity to explore spaces I'd never have the chance to do while working at a traditional job, and even if my individual entrepreneurial efforts don't work out, the skills I've picked up while technically unemployed are very attractive to the field that I'm actually working in. Think of it as a full stop pivot in my professional career.

But really, working a job you hate only gets worse and worse. Your productivity will start dropping and you'll start to increasingly feel like crap. Burnout is really rough, and you are almost certainly more valuable than you are being treated at a company like that.

That's what I'd do at least, but yeah your call of course.

Re:About Three-in-Ten U.S. Adults Are Now Religiously Unaffiliated on Wednesday December 15, 2021 @12:16AM (#29562369)
I'm not overly religious but am Christian, and feel like many these behaviors you're describing are also shown by ardent atheists. I feel like the key to many problems lies in moderation and in general not harassing people instead of being a zealot for your personal beliefs.

Older »