HNHacker News
TopNewBestAskShowJobs

earlz

1,017 karma · joined June 27, 2012

I do programming and electronics stuff. My blog is at http://earlz.net My email address is earlz -at- my-blog's-domain-name
submissionscomments
earlz··on The simple cult camera that inspired Instagram
So how hard is it to DIY development? It seems like every couple of years I read an article like this one that gets me curious, because if I'm going to use physical rolls of film, I'd might as well develop it myself without waiting/paying a lab and to get that sense of pride when you do finally get a good photo.

I'm not someone that takes pictures much on my phone or anything, but reading this makes me want a cheap film camera like this where pictures aren't just throw away, you have to go through a process to even find that the picture turned out crappy.

earlz··on Ask HN: Who is hiring? (November 2017)
Qtum (https://qtum.org) | Global | Remote | Full-time | Software Engineer

Qtum is a smart contract platform built on a blockchain model similar to Bitcoin. We aim to drive the entire smart contract space forward with this project. Qtum is still young, and has been around for around 1.5 years. We use a fully remote workflow but typically try to all meetup in Shanghai once a year or so. We have team members based around the world, including China, USA, Canada, Sweden, Morocco, Colombia, and many others.

We are currently looking to expand our engineering team by 1 or 2 well experienced people. First of all, no blockchain experience is necessary (though it is always helpful). Qtum is aiming to implement an x86 virtual machine on which smart contracts can be executed. So, we need people to help us build the virtual machine, and test it to make sure it is correct (since fixing mistakes is very hard). We are also looking not just for engineers to build the virtual machine, but also to craft an operating system-like environment in which smart contracts can run. So, this may provide common necessities like memory allocation, string manipulation, etc... along with porting languages like C++, Rust, and Go to be easily used within the smart contract environment.

So, in summary we are looking for someone that loves working at the low level, bare metal level. If you have operating system development experience, that's a plus. If you live and breathe assembler, we'd like to speak with you. No matter if your preferred architecture is x86, ARM, or whatever. Even if you made a cool Z80 assembly program for your TI-84. It's all good stuff. We will be implementing most of the core logic in C++, but Rust and Go experience is a plus, especially with low level experience porting or dealing with the low-level details of the compilers and operating environment.

We take testing and code reviews seriously, being a blockchain project where mistakes can cost millions or more. We use a pull-request model, where each PR must be approved, and we have an always growing set of automated tests. Attention to detail and experience with working on security critical software is a plus. We'd prefer highly experienced senior people at this point, but we are accepting of anyone with experience in bare metal or assembly development. (Yes, we include open source hobby projects as experience)

I'm the Lead Developer and one of three Co-founders of Qtum, Jordan Earls. Email me with your resume or CV at earlz@qtum.org, and make sure to include a brief description of why this sounds interesting to you, and what makes you qualified for it.

PS: Unlike the common misconception, we do not require that you accept Bitcoin for your salary despite being a blockchain project.

earlz··on Blockchains Considered Harmful: Is Brute-Force Processing Replacing Good Design?
I agree, there are much better consensus methods than Proof of Work. It's just that PoW is by far the most simple to implement. If you just take a peak at the ecosystem, especially around 2013-2015, it seems like every "altcoin" project had created their own consensus system. Of course, many of these were terrible.. but it's a good sign that this space has been trying to get away from regular ol' PoW since people started really finding out about Bitcoin.

Peercoin invented the core basis of the PoS algorithm in 2012 that was used throughout the 2013 and 2014 altcoin craze. This is still being used today in various projects, in augmented forms. Some projects tried to incentivize not just holding coins, but also making transactions (PoSV/proof of stake velocity, IIRC). Some projects tried making it so that you must burn coins to create blocks (proof of burn). And some projects tried doing genuinely useful computations instead of plain proof of work, such as doing protein unfolding (I think this was Curecoin?)... And then Dash invented the dBPF algorithm which is used by numerous coins today beyond just Dash and is similar to PoS but with a set number of stakers. (usually elected through an election on the blockchain)

If you look beyond Bitcoin there is a ton of innovation taking place in this space, and there has been for some time now. A lot of it is mired in scams, trolls, shills, and FUD.. but there is some genuinely awesome innovation happening in this space to drive forward consensus algorithms.

(source: co-founder of Qtum, a project in this space)

earlz··on Things cryptocurrency enthusiasts probably won't tell you
Heh, you don't need to tell me about it. If you like reading rants, I wrote one a while back over why the Ethereum Virtual Machine's core design is flawed to the very core http://earlz.net/view/2017/08/13/0451/the-faults-and-shortco...
earlz··on Things cryptocurrency enthusiasts probably won't tell you
Did it though? Sure, the base protocol (TCP/IP) has mostly been unchanged up until IPv6, but the early implementations had plenty of bugs and limitations. And the goals solved were less clear back then as well, especially when BBS etc somewhat directly solved the problem of "get some data from another party without leaving your house" quite simply. Remember, there was once a time where there was no standardized image format on the internet. Hence, why Gopher was a contender to replace HTTP. It really took until the late 90s that most people realized how much it could be used for.. and it took until the late 2000s before most of those radical uses could be realized into something practical (ie, online shopping once seemed like a strange thing you'd only want for niche items... but now Amazon exists).

And beyond that, when the internet first became a real thing outside of researchers, it required pretty intimate knowledge of the technology to properly connect to it and get it to work. Remember that operating systems use to not include a TCP/IP stack for instance. It would be a long complicated process to get your computer to actually connect to the internet... but now, in 2017, for the most part all you do is say "connect to <accesspoint> with password XXXX" and it magically works. Right now I think this is parallel to blockchains. It takes a lot of technical knowledge to really use smart contracts and blockchain tech right now, but I imagine a future where it is no more difficult than logging into your bank account, or writing an Excel macro.

earlz··on Things cryptocurrency enthusiasts probably won't tell you
I'm involved, in this space and agree. Though to play devil's advocate, smart contracts (especially since Ethereum is soon adding zk-snarks) also allow for more sophisticated ways to commit crimes. But yes, I definitely think that smart contracts are the next move forward for this space. Dumb money transfer is a really awesome thing, but it's also quite small. Bitcoin does have some smart contract-ish functionality, but it's incredibly difficult to use, and so is for the most part useless outside of niche applications.
earlz··on Things cryptocurrency enthusiasts probably won't tell you
I think that the cryptocurrency/blockchain space is the next big thing in the world on-par with the internet. But it still has a long way to go. In the late 90s you could say "X on the internet" and get tons of investment. Now it's the same but with "X on the blockchain". We are going through growing pains now, and there definitely needs to be some regulation introduced to curb the many scams. My personal hope though is that the regulators work, not to try to stop this industry, but rather to shape it. I mean, why do I need to make $1M/year in order to prove to the US government that I'm worthy of investing into a startup. This is why ICOs are such a big thing right now for westerners, it circumvents that (and internationally, it allows people that would have otherwise not had any route to do such a thing). But there definitely needs to be some regulation behind that, because it's ridiculously easy to make a sleek marketing page that says "buy now and the price will go up later"... and people will buy into it.

Also, this quote:

> using cryptocurrency networks are cheaper to send money overseas than Western Union. No, it probably is not

Uhh, maybe not in some narrow cases (especially as pointed out in the source, for people that need to use cash agents or are unbankable), but for many people I know including myself, it is significantly cheaper to use bitcoin rather than Western Union (source: I receive my salary in bitcoin based on spot price tied to USD)

(disclaimer: co-founder of a blockchain project)

earlz··on Things cryptocurrency enthusiasts probably won't tell you
protip: Ethereum can be used by criminals too, not just Bitcoin. Though, I'm curious (not trolling), why is Ethereum's model a better way forward? Are you talking about smart contracts or what?
earlz··on Ethereum Proof of Stake FAQ
Just for an other-side perspective, people that enjoy this might enjoy my technical deep dive into PoSv3: http://earlz.net/view/2017/07/27/1904/the-missing-explanatio...

It is a much older implementation that works on Bitcoin's UTXO model (rather than the account model in Ethereum) and without smart contracts. It doesn't have a solution to the nothing at stake long-term attack, but it thwarts all known short-term attacks. Personally, CASPER's solution to the nothing at stake problem is concerning. In an ideal world, it is ideal, but in a more practical world, I can definitely foresee someone doing something wrong or making a mistake (either developer bugs, or consumer running two wallets, etc), unintentionally making a block on another chain, and losing their $1M worth of ETH as a result. It only takes that happening once, maybe twice, to get people to think twice about staking, and when less people are staking with less coins, the network is much easier to attack

(disclaimer: I work on a blockchain project that is somewhat a competitor to Ethereum)

earlz··on 153k Ether Stolen in Parity Multi-Sig Attack
In the rationale document they explain that arbitrary length integers were too difficult to determine a reasonable gas cost around for math etc.
earlz··on 153k Ether Stolen in Parity Multi-Sig Attack
My favorite critique of Solidity is this guy on hacker news from a few days back https://news.ycombinator.com/item?id=14691212
earlz··on 153k Ether Stolen in Parity Multi-Sig Attack
Here's the root error I believe: https://github.com/paritytech/parity/blob/master/js/src/cont...

The initWallet function should have been marked internal, but was instead not marked. Unmarked functions default to public in Solidity, so anyone can call that function and reinitialize the wallet to be under their control

earlz··on Circuit building: stop using antique parts (2014)
I'm a noob builder (constructed my first pedal a week ago, woo) but I can kinda understand this. Most effects tend to overdrive their components. This by definition means that they operate beyond what a datasheet and the manufacturer specifies. Tiny differences that aren't noticeable when going by the specs can become much more obvious when hearing it overdriven.

Yes, the community is really based in "older is always better" kind of mentality, but there is a reason some old components are so valued, and why respected pedal manufacturers commonly hand-pick parts that meet their designed specs best (especially fuzz and overdrive effects), and this includes everything from picking transistors with ideal leakage etc, to hand picking resistors (though the resistor bit I'm not sure on why they don't just buy high precision ones for a few cents more)

earlz··on Zcash begins
LOL not for more than the first 30 minutes of trading at least
earlz··on ZCash Will Be a Truly Anonymous Blockchain-Based Currency
If I recall correctly, it's not 10% of the entire supply, but rather 10% of the first 2 years worth of supply. After that, the 10% cut from miners is stopped and their 10% of the supply will slowly decrease as the overall supply increases
earlz··on ZCash Will Be a Truly Anonymous Blockchain-Based Currency
Given how complicated the technology is that they will be working with (as someone who has attempted to read the zcash whitepaper), I find this extremely unlikely. Sure there will be clones, but no altcoin "developer" will be able to properly maintain this, so bugs won't get fixed, or it'll always be lagging behind Zcash, or worse, they introduce unintentional bugs and completely wreck their blockchain and lose the money of the few fools who thought that the developers/company running it getting some money is bad
earlz··on The “432 Hz vs. 440 Hz” conspiracy theory
When I first heard of this I was really messing around with different tunings and such for writing music on guitar/bass. I didn't buy the whole new science schtick, but I did give it a try and I believe recorded and "produced" (as a hobbyist) an entire song in 432 hz to see if it'd be more interesting to work it. The only real noticeable thing to me was my strings were a bit more floppy than usual (due to it being in between E and Eflat tuning). It was an interesting experiment, but I've stuck to 440hz ever since, except for one time when I tried to do a rock cover/adaptation of a song from the 1920s that was in some crazy mystery temperament that I could never properly match (probably because every instrument section was different, horns were like 435+, double bass was 432, some strings were flat at like 430 or 431.. it was a difficult thing I never accomplished)
earlz··on Wal-Mart Proves Open Source Is Big Business
I have a CS friend who just recently got hired for walmart (not sure on terminology, but he does some analytics stuff). Your account sounds pretty accurate to what he described, but add in a dollop of basically every technology that's ever existed and was ever popular at any point. He's been there a short time and already had to look into systems running on cobol, hadoop, oracle database, SQL Server, MySQL, Firebase, C, C++... Pretty much they hire contractors to implement any new project, and then hire H1-Bs to maintain it afterwards. He said his job is mostly managing H1-Bs, rather than actually writing code.
earlz··on Ask HN: Is it difficult for non-Chinese to work in China?
I actually just accepted a job offer working remotely for a cryptocurrency related startup. I'm in the US and they're based out of Shanghai. So far it's been pretty nice, but since I'm going to be working remote (though I intend to visit) I don't have any advice to give heh
earlz··on Google will use Chrome browsing data for ad tailoring
You can! Go to youtube, then History, and there should be an option in there to have it stop tracking your history. I'm sure they still track it, but at least they don't give me recommendations anymore. This was especially annoying for me when I would step outside of my normal youtube zone by clicking on some youtube video from reddit or some such, and for the next week I'd have all sorts of crazy weird and at times NSFW recommendations from it.
earlz··on Identifying North American Phone Switches
Just for context, that's about $1.50/min in 2016 dollars
earlz··on Police use new device to seize money in bank accounts or on prepaid cards
Yep, grew up and have friends/family in Oklahoma. Disability and unemployment benefits come on prepaid cards, as well as tax refunds.

Most ATMs charge a fee to check balance, and a separate fee to withdraw money as cash. These cards do usually have a free phone number you can call to check balance, but you almost always have to pay a fee for withdrawal. And if you have, say, $19 on the card, it's effectively impossible to get that out as cash, because no ATM lets you withdraw in less than $20 increments.

Also, most blue-collar and minimum wage jobs use prepaid cards. At least companies like McDonald's as well as various factory jobs do. For McDonald's, according to friends at least, there is no option for anything else. Even if you have a bank account, you can't do direct deposit, you still get a prepaid debit card that your paycheck goes to.

earlz··on Please check my quantum physics browser game for accuracy
Yea, I'm not taking that risk.. much less the inconvenience of installing a different browser and getting Java enabled
earlz··on Mars may be emerging from an ice age, according to a new study
Except for Mar's climate change happens on the course of hundreds of thousands of years, and yet here on Earth the biggest climate change has happened in the past 100-200 years, and just so happens to perfectly coincide with humans discovering industry etc.

I assume if humans didn't exist Earth would still have climate change, see also: ice ages etc.. but that kind of thing doesn't happen over the course of 100 years, not without some external influence anyway (such as an asteroid impact etc)

earlz··on How a Diode Changed My Life
I had one of these are a kid, around 10 or 11 years old. I did a few of the experiments, soaked up all the knowledge I could get out of the limited documentation, and then didn't touch it for a long time. When I got into electronics again (and for real this time) at around age 17, all of that knowledge amazingly still stuck to me. I had to look up how to actually wire transistors to be useful, but I remembered how they operated, and what they were capable of (except for the book didn't cover amplification). This is one of the reasons why I think kids should be exposed to as much as possible. Even if they drop it later, if they ever pick it back up, they will be significantly more prepared, and hopefully can learn the rest on their own
earlz··on San Francisco Home Prices Fell for the First Time in Four Years in March
Even without all of the financial aspects everyone else has mentioned, if you own the home you can do whatever (well, with approval from the local homeowner committee if applicable). Don't like a wall separating the kitchen and living room? Tear it down. Want to rip up your yard and install new grass and a garden? Go ahead.

My current landlord allows pretty much no modifications to anything, just recently cut down the only 2 (40+ year old) trees around the house (for insurance purposes apparently), and won't allow anything to be planted in the yard except for flowers in a garden. I want an actual vegetable garden, and I would've never cut down those two trees. All of this is on top of the financial aspects of actually owning the house and paying rent to contribute to an asset (which at least in my area is about 40% cheaper, sans maintenance and taxes) and when it's paid off, I don't have any more rent...

earlz··on A music programming language for musicians
I actually saw that when I was first researching making this project, but I like Ruby a lot more than Javascript so I went with Ruby
earlz··on A music programming language for musicians
Regardless of the complications of real-time audio with Ruby, I wasn't intending that. I was talking about generating MIDI files (with very fine resolution timing) and then playing back the already generated MIDI files, so I had no worries about that. I was only trying to figure out an easier way than drawing on a piano roll
earlz··on TIS-100: the Programming Game You Never Asked For
I'm there with you. I can enjoy some programming games, but it's typically short lived. What I enjoy in programming is creating real and at least semi-useful stuff, not getting more points on a scoreboard.
earlz··on A music programming language for musicians
Sadly I don't see MIDI exporting support. I looked at making one of these music generation programming languages before, but just ran out of time for it. My goal was quite ambitious though:

1. Support MIDI exporting (so you could get it into a DAW)

2. Support timing nudges and randomization (ie, with drums it's common to play slightly ahead or behind the beat, and somewhat random timing for humanness factor)

3. Be easier to write than it is to manually do on a piano roll

So far though, this is a pretty hard set of things to do all at once. I have a design while using Ruby as a DSL, but it's just difficult to make it all come together

edit:

To elaborate a bit more on timing nudges, I mean play on beat for measures 1-4, then on measures 5 and 6 play slightly ahead of beat (but using the same actual playing pattern etc).. Most of my ideas were focused on drums rather than general instruments because drums are the only thing I've had to use MIDI for so far

← PreviousPage 2 of 8Next →