elevenbits | 4 years ago | on: Show HN: OldSkool, an old-style forum viewer for Hacker News
elevenbits's comments
elevenbits | 4 years ago | on: Show HN: OldSkool, an old-style forum viewer for Hacker News
elevenbits | 4 years ago | on: Show HN: OldSkool, an old-style forum viewer for Hacker News
I made this as an experiment to see if a older style (PHPBB-alike) format would enhance readability of posts on Hacker News.
To me the present style represents a discussion room in which members form nested cliques, which means that a few comments are well heard while many others are ignored. Voting exacerbates the effect, as disagreeable comments are often pushed down or hard to read (light gray text). Finally, due to the tree-style presentation, it's difficult to determine the context for a reply when there is a lot of nesting levels.
The classic forum style, in contrast, simply shows posts in chronological order, along with the reply-tree visible inline, so context is easy to determine. With no votes or light gray text, I find it significantly easier to follow the conversation; YMMV.
The present implementation is rather slow as the API isn't built for the display format I'm using. Give it a sec to load :)
I'm currently working on adding reply/submit functionality. You'll see dummy replies to this post while I get that working.
Thanks for taking a look!
elevenbits | 5 years ago | on: Barrier Reef doomed as up to 99% of coral at risk, report finds
1) The climate, or really the whole earth, has some background rate of change, that itself changes over time.
2) On top of that, there is change, ranging from significant to insignificant depending on the area, caused by humans.
3) This will cause the earth to change at a rate (potentially much) faster than if humans were not here.
None of this, to me, represents a problem in itself. The earth before humans, or at any other point in our history was not some ideal utopia. Humans have inflicted colossal change upon the world since our first day -- we've decimated pests, built cities over forests and dams over rivers, created lakes and removed others, just to name just a few. The world we live in today is anything but "natural".
My primary point of disagreement with those who consider climate change a grave threat is the approach. Rather than setting "reduction targets" and "cutting back", we will, as humans have always done, build solutions to problems as we grow. Whether that's investing in improved desalination technology to provide large quantities of fresh water (due to a demand for water), electric vehicles to reduce localized emissions (due to a demand for clean air), or plant a trillion trees to store carbon (due to a demand for lower temperatures), the key is that for those to be workable options they must represent the growth of humanity, not the decline. There's also vast amount of land in Canada and Russia that at present is undesirable because it is too _cold_.
Humans have survived in horrendously hostile environments and have built upon that the wonderful and wholly unnatural modern lifestyle. Humans have never in history been THIS well resourced to survive despite environmental changes, and I have the utmost confidence we will do exactly that.
elevenbits | 5 years ago | on: Ask HN: Who's looking for a co-founder?
I'm the founder of AgMaps (https://agmaps.us) -- simple and fast drone mapping software for Agriculture. Map 160 acres in as little as 15 minutes on your iPad while the drone flies, then locate areas of stress or damage and walk out to manually inspect. High resolution visual and thermal imagery lets you see issues quickly without walking thousands of acres, leading to faster and more accurate inspection.
I'm looking for a non-technical co-founder to bring this technology to market, primarily targeting agronomy co-ops, fertilizer, seed, and crop insurance businesses in the midwestern US. Individual crop consultants may be interested as well. If you can sell software to Agribusinesses, lets talk. devin [at] agmaps.us.
elevenbits | 6 years ago | on: The FAA Proposal for Drone Remote ID
elevenbits | 6 years ago | on: Mail Data Loss in macOS 10.15
elevenbits | 6 years ago | on: Microsoft President: Democracy Is At Stake. Regulate Big Tech
No. We don't need "guardrails" at all. We have an existing legal system that works quite well to discourage companies from profiting from ventures we don't like: we simply make those ventures illegal. Companies have been able to make a profitable business out of harvesting personal data, abusing consent, etc., because these things aren't illegal. GDPR et al is the start of laws in this area, but a financial penalty is simply a business cost. If I can make $500B with a 25% chance of a $5B fine, the rational action is of course to proceed.
If there was a law about certain types of consent being legally required for certain types of data, THEN an engineer, manager, or exec can decide to either a) report the violation to authorities or b) become complicit themselves. When breaking these laws comes with real penalties (jail time, not fines), then the business can choose between a) do something illegal and government puts everyone in jail and takes all assets or b) don't do something illegal, which is exactly what we want.
Bottom line: No special regulation is required here. Simply make a law extending the personal data productions afforded by existing regulations and let the system do its job.
elevenbits | 6 years ago | on: The days are long but the decades are short (2015)
As with all of these lists, I always wonder whether this is what the author thinks now, after attaining success, or if these principles are what they relied on during the process? Or perhaps even what they wish they did now that they have more time to think about it?
A commenter below mentions "life is not an optimization problem" -- but isn't it? You're fundamentally making decisions every day that balance your constraints against your goals, interests, and passions. If you just let your life go by without making some real decisions, won't you just regret what you didn't do later?
The reason you have to optimize like this is because a lot of these principles, should you attempt to leverage them to make a decision, provide contradictory advice. Part of this is due to the subjective terms (ie, definitions of extreme vary), but if you're going to use this list as a template or an inspiration, eventually you have to resolve what these things mean to you. I certainly haven't figured that all out and don't expect I ever will; I don't see how anyone could without having experienced all possible things.
All that being said, there are definitely some items that are clearly beneficial and don't put you in decision making paralysis, such as 18 or 24. But there are others that leave me more confused, such as "Don't waste time" or "Don't worry so much". How am I to know if an activity is time wasted until after I do it or if worrying is excessive or warning me about a real issue?
Finally, if you don't identify as neurotypical, what items apply, don't apply, or apply differently? How do you live your life if what everyone else says to do doesn't (seem to) work for you?
Not trashing Sam's thoughts here for sure, but I've read dozens of these things and never came away without having more questions then when I started.
elevenbits | 6 years ago | on: How to do a code review
I was the primary architect and reviewer for a complex real-time mathematical application. When reviewing code, I was pretty much a tyrant: the code had to be correct, well tested, conform to the theory, interface with the rest of the system correctly, etc., in order to be allowed in. I remember leaving some pretty brutal reviews when the proposed design was different than what I thought it needed to be. I thought I was doing the right thing, the project lead thought I was doing the right thing, but maybe I was just making my teammate's lives hell.
In a subsequent job, I was on the receiving end: I was again the primary architect and maintainer, but still needed to seek review from a larger team (my component was part of a larger project they owned). The experience was not enjoyable: reviews sometimes took months (I sure wish I was kidding), sometimes were passthrough "LGTM! I don't understand it at all!", sometimes asking questions like "why is this mutex here" and then I have to spend 3 hours writing up an explanation for how threads and locks work in this case. I found that my mental model shifted: instead of committing small improvements here and there like cleaning up comments or renaming something I just... didn't. I didn't want to deal with a multi-day process of bugging someone to review (they were always busy), dealing with the roulette wheel of comments that might come up, the possibility that I might have to justify some minor thing that I don't even remember the reasoning for. It felt like making a PR opened you up to an uncomfortably invasive inspection, one where the reviewers look down their nose at you and ask you to elucidate why you chose to wear the red shirt today instead of the blue one, as if you're supposed to have some grand unified theory of shirt colors when the actual reasoning is "I thought red would work and it did". How are you supposed to justify why you didn't do all the things you didn't do?
I think an issue is that there's always a different approach that could be used and in a perfect world perhaps we'd iterate endlessly until we found the best one. I've seen plenty of systems that have a design very different than what I think I would do, but as it turns out those systems work too.
I've honestly become less convinced that code reviews are the answer. Is there a possibility for learning reviewer <-> submitter? Of course. Do some teams find code reviews to be hugely beneficial? I would assume so. But I don't know if an organization-wide mandatory absolutely-zero-exceptions is the way to go.
elevenbits | 6 years ago | on: Sites with dumb password rules
I don't get it -- don't the sites want users to use more secure passwords? That should mean encourage password managers, unless they imagine I'm gonna remember a 32 character random unique password for every website?
elevenbits | 6 years ago | on: Samsung Announces Key-Value SSD Prototype
- Currently, SSD controller firmware goes to incredible lengths to present something that is not a contiguous block device (due to the way flash works) as a contiguous block device to the OS. Likely this includes a huge amount of logic for storing and updating the mapping between logical blocks and actual hardware storage location. Since the control APIs currently are very low level, the controller basically has to buffer everything, transform that into what the flash needs to do, and then execute, not unlike how a CPU decodes instructions and converts to uops or reorders. Presumably this is quite difficult as early controllers had all sorts of problems such as performance tanking when the disk got close to full.
- The filesystem then pretends that the very non-uniform storage provided by the SSD is actually a uniform block and introduces a layer of metadata in a bespoke format to determine the actual disk locations of files, directories, and their associated metadata. Along with that, it can include lots of very nice extra features such as encryption, journaling, hashing (for integrity and de-duplication), CoW, symlinks, hardlinks, directory hardlinks, etc.
- It seems likely then that were the storage API to be raised to a higher level (files and metadata, rather than block storage), the SSD controller can implement every one of those features with superior reliability, performance, and power usage. We've already seen where software encryption went to hardware encryption -- the result is that the encryption is mostly transparent to performance. What would happen if a file's extents mapping was simply the physical location mapping the SSD controller is already doing? If if could transparently perform hashing on read/write or keep a proper journal of file operations? Handle CoW transparently?
And all of that implemented in a way that those just become standard storage features rather than requiring a certain OS to run.
elevenbits | 6 years ago | on: Samsung Announces Key-Value SSD Prototype
I want my storage hardware to have a higher level API than "block device". I don't want to format a drive in some OS-specific format, I want a built-in format that I can access from anything. I want this format to be durable, well specced so that I can easily access historical data. I want embedded devices to support richer storage functionality than afforded by FAT32+.
Consider that before S3, we stored files on servers in bespoke ways where we had to worry about permissions and filesystem differences (path too long!) and encryption and durability and a hundred things that we now... don't. Instead we have a simple API with dozens of conforming backend providers, including the ability to do it yourself. Imagine if computer storage experienced a similar revolution?
elevenbits | 6 years ago | on: Samsung Announces Key-Value SSD Prototype
- Apple made APFS, which seems to show roughly the same performance as HFS+ on SSD hardware. Some benchmarks show faster, some show slower, but it's certainly no 5X improvement across the board.
- btrfs and ZFS have some amazing features, but remain niche and don't seem to yet have wide deployment. Linux distros seem locked on EXT4.
- Windows has NTFS (and ReFS for the server)
At a consumer level, I care about: a) reliability b) performance c) power. SSD manufacturers so far have delivered hugely on all three. I'd love to see how much more they could deliver by moving a lot of filesystem functionality onto the device. Sure the first few iterations might suck like early SSDs did, but in a few years?
elevenbits | 6 years ago | on: Samsung Announces Key-Value SSD Prototype
- A cross-platform filesystem that you could read/write from Windows, macOS, Linux, iOS, Android etc. Imagine having a single disk that could boot any computer operating system without having to manage partitions and boot records!
- Significantly improved filesystem performance as it's implemented in hardware.
- Better guarantees of write flushing (as SSD can include RAM + tiny battery) that translate into higher level filesystem objects. You could say, writeFile(key, data, flush_full, completion) and receive a callback when the file is on disk. All independent of the OS or kernel version you're running on.
- Native async support is a huge win
Already the performance is looking insane. Would love to get away from the OS dictating filesystem choice and performance.
elevenbits | 6 years ago | on: Tesla’s Autopilot found partly to blame for 2018 crash on the 405
The failure modes of these systems need to be much more gentle: when I'm confronted with an uncertainty while driving, I slow down and pay more attention. I don't speed up until I'm confident that a higher speed is reasonable. This is far far more sophisticated than simply "can I see something in front of me" -- I'm evaluating the probability that I need to stop based on the events I can see happening. If I see a car in front of me slow down and swerve out of the way of something, that means something much more than "obstacle detected" -> "obstacle removed".
elevenbits | 6 years ago | on: Homebrew removes MongoDB from core formulas
MongoDB Inc's license switch may earn them some hate but I think the bigger issue is what license terms will open source contributors be comfortable with? What license captures the same spirit as the GPL, should that spirit still be desired, as software moves to the cloud? When every piece of functionality, no matter how trivial, can be used by a cloud provider to bolster their closed ecosystem, are the developers that created that software comfortable with a license that allows providers to do so without giving back?
AWS et al. are committing no violation here of course, they are taking advantage of a market opportunity to offer hosted software, some open source and some not. The market is overwhelmingly saying that they value the convenience of having all of these services available at the click of a button and that the closed source nature and potential for Oracle-style vendor lock-in is not a concern.
There's certainly value there and some folks may feel perfectly comfortable contributing to such an ecosystem, as is their right. Others may desire a more reciprocating agreement, and perhaps the AGPL is a first step towards such a license. I think we as software engineers need to recognize just how high we're standing on the giant's shoulders and put some thought towards helping a community that is trying to adjust to the new cloud reality. "Fuck you give me your stuff for free" is unwarranted and not likely to encourage contribution.
elevenbits | 6 years ago | on: Homebrew removes MongoDB from core formulas
Cloud providers have been able to stand on the shoulders of giants, profiting immensely from millions of lines of open source code while giving little of it back, and we seem to be largely fine with this. Will we be fine depending on their services when the cloud providers become the new Oracle, free to raise prices extravagantly when we have no other choice?
If MongoDB Inc can't compete in the enterprise cloud market simply because they are not AWS (as mentioned by threeseed), what should their business model be? Licensing to cloud providers would have been ideal, but the response from AWS in this case wasn't encouraging. By boycotting MongoDB in this case are we telling future innovators that their work will simply be stolen and resold for profit if it gets popular? That scares me a lot more than some project changing their license.
elevenbits | 6 years ago | on: GitHub Actions now supports CI/CD, free for public repositories
elevenbits | 6 years ago | on: Cassettes Are Back, and It’s Not About the Music