HNHacker News
TopNewBestAskShowJobs

wegs

1,911 karma · joined August 28, 2018

submissionscomments
wegs··on Your DS18B20 temperature sensor is likely a fake, counterfeit, clone
Let's work through this example. You're a manufacturer of devices using FTDI chips. You make an emergency system for airplanes which e.g. releases breathing equipment, or life rafts, or similar. Or a backup avionics system. Due to a supply chain slip-up, a small number of counterfeit devices slipped in.

An emergency comes up, and the instant the emergency system comes up, it turns out to have been bricked. People die. Is this a good outcome?

If I were a manufacturer, I'd want to know about this ASAP. Would I want devices to stop working? Especially the examples you gave where people's lives are on the line? Absolutely not. I'd want them to work as well as possible until a replacement can go out.

Pro-consumer would be a pop-up letting the user know they received a counterfeit devices. I can then contact whoever sold me the device, and ask for a replacement. During cross-shipping, I can keep working. Anti-consumer is having my business trip and fall on its face when all the pen tablets which allow people to work from home are bricked during a pandemic.

Of course the counterfeit manufacturers are the bad guys. But FTDI is a company I'd never do business with either. If I'm an FTDI partner, and I got the wrong product, we were both cheated. I'm no more at fault than FTDI.

Should FTDI smack me and my customers upside the head for it? Well, that means we're not really partners.

wegs··on EDEX-UI: science fiction terminal emulator
Neat!

In contrast to previous toys I've seen like this, EDEX-UI seems to have a bunch of good ideas. It's not something I'd use yet, but it's close. The idea of showing files in my current working directory is good. There's a bunch of other stuff that's good. And then there's a bunch of stuff that's a useless waste of screenspace.

But I could totally see myself replacing the useless stuff with things I care about:

* System status (computer thermals, connected USB devices, Bluetooth, Wifi, audio devices, etc.)

* Weather and time across places I interact with

Etc.

Key thing would be a simple extension API, where I can add the things I care about with a 5 minute learning curve.

I'd be glad to toss something like that up on one monitor.

I use a tiling window manager, but it doesn't support general tiling of the type needed to make everything an appropriate size, like this thing does.

Keep pushing. I think you're onto something.

wegs··on Decision for 2020-21 Academic Year
All the execs make for-profit salaries, and profits flow back as investments of the MIT/Harvard endowments. They qualify as a not-for-profit on paper, but they're no different than any other investment of the MIT/Harvard endowments.

Virtually everyone at edX who was mission-driven left in the great purge of 2017 (or was it 16? or 18? I might be off by a year). More than a third of the organization, including the author of the platform, left around that time.

The CEO walked around, publicly announcing he'd switch to paid models as soon as Coursera did. If that's not an attempt at market collusion, I don't know what is.

wegs··on Decision for 2020-21 Academic Year
Plenty of other schools in the area offer better, more rigorous instruction. If that were central to the value offering, no one would go to HBS.
wegs··on Boeing communications boss resigns over sexist article he wrote in 1987
I'm not close enough to this situation, but the evidence I have is:

(1) He said so. (2) There weren't any allegations of improprieties in the past decade or two in the articles I've read. (3) 30 years ago, likely a majority (and certainly a near-majority) of people had at least some level of discomfort with women serving equally in the military. Today, it's an extremist view held by a tiny minority. Most people who held those views 30 years ago did, in fact, change views, not closet them up.

What you're describing is a symptom of exactly this cancel culture. People DO learn to hold their more objectionable views close to the vest, and that's a problem. People can't actually change views without open and critical conversations.

I live in an extremely progressive city with a lot of racism and bigotry simmering just below the surface. It's bad -- many people in positions of power hold extremely bigoted views. That never plays out in the open, but those people act on those views, either without articulating them, or articulating them as abstractions.

I see no way to address any of that without honest and open conversations, which we can't have. Saying the wrong thing leads to career death, so everyone says the PC thing.

And when racism happens, in most cases, people depart quietly, and move into a similar position at another company / school / police department / etc. It's pretty rare that anything goes public. But if it did -- someone was closed out of the economy because of a perception that they were racist -- what do you think the result of that on racial tensions would be?

It's important to have systems to address and resolve problems. If you have a racist, the desired outcome should be that in a few years, they're not racist anymore. Start there, and work backwards to how to build out systems to do that.

There's also a longer post about the value of due process, and of innocent-until-proven-guilty (which is not the same as NO process, which is what we often have right now).

As a footnote, your discomfort is not the paramount issue here. We have laws to protect former felons, people with bad credit records, etc. from employment discrimination. Even if I might rather not hire a former felon, or someone who can't manage their finances well, I'm not allowed to ask those questions in a job interview. That allows people who've made mistakes -- often much bigger than this one -- to return as contributing members of society. That's a good thing. Otherwise, we end up with revolving doors to jails. Indeed, I'd argue those are the laws which ought to be expanded -- they're not nearly strong enough, and that disproportionately impacts vulnerable populations. We want paths to remediation for everyone, rather than for no one.

wegs··on Boeing communications boss resigns over sexist article he wrote in 1987
I think key in my post was "and reformed."

There were plenty of, for example, KKK members who then became anti-KKK activists. If you were born in 1915, and your parents were a member of the KKK, odds are pretty good you might have written something like that in the 1930's. It's how you were brought up. We don't have permanent digital records of everything that happened, but I'd say it's almost guaranteed you would have expressed such views.

If by the 1950s and 1960's, you had renounced those views, and wanted to be a civil rights activist, it's important you can do that. If anything, familiarity with the opposition would make you more effective.

Without the ability to do that, the civil rights movement would have needed to wait for a lot of people to die (or at least retire). It happened when it did in part because people could and did change their minds.

So to answer your question: In all of the cases you listed, it's possible for people to grow and reform. It's a question of what evidence is available that they have, in fact, reformed. To go with the KKK example, sharing KKK secrets with the FBI, taking the large personal risk of publicly denouncing the organization, and joining the civil rights movement would be pretty darned good evidence.

wegs··on Boeing communications boss resigns over sexist article he wrote in 1987
Core to any sort of social progress is the belief that people can change, and people changing.

I sure as heck wouldn't want anyone judged for views they held 30 years ago. I don't want to be judged for the views I hold today in 30 years either.

That goes for most actions too: Even if you murdered someone 30 years ago, if you served your time and reformed, you ought to be able to have a normal life now.

I'm a different person now than I was in college, and I'll be a different person in another 30 years. I may be a better person or a worse person -- I don't know yet -- but I definitely will not the same person I am today. I can think of few things a person might have done in 1987 which ought to affect their lives now.

This does not reflect well upon Boeing at all.

There is also an element of ageism here. Virtually anyone beyond some age will have held currently-unacceptable views at some point in their lives.

wegs··on Microfinance Is Mostly a Scam (2015)
Mostly, because all that would do is cause is random inflation and inequity.

When donating money, you are reallocating resources. That can lead to improved economic growth, if for example you are allowing people to go to school, start businesses, or otherwise helping build such bridges.

More times than not, donations cause long-term harm. Look at oil in Nigeria to see how a massive simple influx of cash was not good for the population.

If you really want to help in Nigeria, you can help mentor a university student there. Your time will count for a lot more than your money. Or if you are willing to spend money too, hire a university student from there as an intern (likely remotely). That helps align a lot of incentives.

wegs··on Microfinance Is Mostly a Scam (2015)
I think one of the questions is whether microfinance works as a bank, to make a profit, or works in lieu of donations, where loans are subsidized and act as a force multiplier on donor money.

If I had my druthers, I'd set up a VC firm in the developing world, which funded businesses on reasonable terms, knowing I'd lose money, but:

1) Generating a stream of occasional successful enterprises.

2) Even for failures, giving people an opportunity to go through the learning experience of launching a startup.

wegs··on To restore American leadership in semiconductor manufacturing
What do you mean by advanced nodes? If you're talking about nanometers, you've got TI, Micron, and a few others.

Where you have deep voodoo are some of the MEMS and analog manufacturing processes (e.g. ADI). Those aren't necessarily small feature sizes, but they are hyper-advanced. It take massive R&D to replicate them. But they're not large volume either. A few years back, I think car airbags might have been the biggest application.

wegs··on Inside eBay’s bizarre campaign against a blog critic
I'd say it's much more willingness to be a bit psychopathic. Most people wouldn't compromise their integrity to move into the C-suite. The competition is fierce, so the people who make it to the top are the people who /are/ willing to do anything to move into the C-suite.

I've also done work at that level, and some people outwardly appeared as sleazeballs, some almost radiated charisma and integrity, but when you got down to it, at the organization i was at, all were evil, backstabbing bastards.

Middle managers saw a lot of that, but tended to be decent people. And line employees never saw that -- middle management shielded them.

Good books to understand these dynamics better:

* Dictator's Handbook.

* Power, by Pfeffer.

Disclaimer, since I got jumped on this before: This refers to big organizations. If you're the CEO of a 5-person startup, this doesn't apply to you.

wegs··on Goldman Sans
Because it's not protecting itself from a risk. A badly-written license or contract exposes Goldman to significant and unknown risks.

This is why you should always either (a) Use a standard license (b) Hire a good lawyer to draft a license. Don't draft one yourself, and don't get a bad lawyer.

The most basic bar I would have before doing honest business with a bank is that they can do competent legal due diligence. They don't need clever or brilliant lawyers, but at the very least, banks lawyers need to be able to handle routine work without errors. Goldman just flunked that very low bar.

Perhaps they'll fix this, so we have a backup for posterity's sake (and this is okay to post -- legal documents are generally not copyrightable).

If this is too long, please feel free to downvote so it's hidden. I'm not a karma collector. :)

----

Goldman Sachs Restricted Font License A. Background Goldman Sachs & Co. LLC (“Goldman Sachs”) owns the copyright interests in and to a font style entitled “Goldman Sans” (“Licensed Font”). Goldman Sachs is providing this license of the Licensed Font software (the “License”) free of charge as long as it is used in compliance with this License.

B. Definitions A “Font” is a typeface that can be used for text, character display, HTML, style sheets, and the like.; it includes the normal character set, as well as additional font styles such as underlined, bold, and italicized. “Licensed Font Software” refers to the set of files released by Goldman Sachs under this License to the Goldman Sans Font, and may include source files, build scripts and documentation.

C. Grant and Scope of License By reproducing, distributing, publicly displaying or otherwise using the Licensed Font Software, you agree to abide by this License. Anyone who uses the Licensed Font Software is a “User,” regardless of how, where, or from whom the Licensed Font Software is obtained.

Permission is hereby granted to the User, a limited, royalty-free, nonexclusive, and revocable license to use, reproduce, and distribute unmodified copies of the Licensed Font Software, subject to the following conditions:

a. The User may not modify or make derivative works of or sell (by itself or with any other item or software), sub-license, bundle, or embed copies of the Licensed Font Software.

b. The User may not use the Licensed Font Software in any “open source” or other code that would create any obligation for Goldman Sachs to: (i) grant to any third party any intellectual property or other proprietary rights; (ii) disclose or make any source code or any part or derivative work thereof available to third parties under any circumstances; or (iii) otherwise subject Goldman Sachs to any obligations not expressly set forth in this License.

c. The User may not use the Licensed Font Software to disparage or suggest any affiliation with or endorsement by Goldman Sachs.

d. If a User distributes a copy of the Licensed Font Software, each copy shall bear an appropriate copyright notice in substantially the form of “© 2020 Goldman Sachs & Co. LLC. All rights reserved.” and a copy of this License. The Licensed Font Software must be distributed entirely under this License and must not be distributed under any other license. The requirement for the Licensed Font Software to remain under this License does not apply to any document created using the Licensed Font Software.

e. The License is subject to other prior or future licenses that Goldman Sachs may grant to other parties.

User expressly agrees that all proprietary right, title, and interest in and to and control of the Licensed Font Software are and shall at all times be solely owned by Goldman Sachs and hereby acknowledges that nothing contained in this License shall give User any right, title. or interest in or to the ownership or use of the Licensed Font Software, except the restricted use provided herein.

D. Trademarks “GOLDMAN,” “GOLDMAN SACHS,” and “GOLDMAN SANS” (collectively the “Trademarks”) are trademarks of Goldman Sachs or its affiliates. “GOLDMAN SANS” may be used by licensed Users only to identify the Licensed Font or Licensed Font Software. The name(s) of Goldman Sachs or the Trademarks shall not be used to promote, endorse or advertise any User, or to suggest any affiliation with or endorsement by Goldman Sachs. Users shall not otherwise use or attempt to register the Trademarks or any confusingly similar marks.

E. Term and Termination of the License The term of the License is for the unexpired term of, and for so long as Goldman Sachs owns, the copyright on the Licensed Font Software, or any renewal thereof. This License shall terminate and become null and void for any use that does not comply with any of the conditions in this License. Further, Goldman Sachs may terminate this License, without notice to the User, for any reason or no reason at all and at any time, completely at Goldman Sachs’s sole discretion. Goldman Sachs’s exercise of any right of termination does not constitute a waiver of other rights and remedies available to Goldman Sachs. F. Disclaimer of Warranties; Limitation of Liability THE LICENSED FONT SOFTWARE IS PROVIDED “AS IS” AND “WITH ALL FAULTS,” WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF QUALITY, ACCURACY, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL GOLDMAN SACHS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY DIRECT, LOST PROFIT, LOST REVENUE, INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE, EXEMPLARY OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT, UNDER ANY WARRANTY OR ANY OTHER THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THIS LICENSE, THE USE OR INABILITY TO USE THE LICENSED FONT SOFTWARE OR FROM OTHER DEALINGS IN THE LICENSED FONT SOFTWARE, EVEN IF IT HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THE RISK OF THE PERFORMANCE AND QUALITY OF LICENSED FONT SOFTWARE IS STRICTLY ON THE USER AND THE USER MUST REPAIR THE LICENSED FONT SOFTWARE AT THEIR OWN EXPENSE.

G. Governing Law This License shall be governed by and construed under the laws of the State of New York. The User and Goldman Sachs hereby waive any right to a trial by jury and consent to exclusive jurisdiction of the U.S. District Court for the Southern District of New York or, if federal jurisdiction is lacking, New York Supreme Court, New York County, for the resolution of any dispute regarding this License or the parties’ relationship arising therefrom.

H. Entire Agreement; Amendment Without Notice This is the entire agreement with respect to its subject matter. This License may be amended at any time by Goldman Sachs without notice.

wegs··on Goldman Sans
Fair enough. The original 4-clause license is also in the hall-of-fame of bad licenses. I believe you can also find bad legal code in a lot of the NC licenses, WTFPL, and the Hypocratic/ethical licenses in the same hall-of-fame. I wouldn't use any of those as examplars.

If it makes you feel better, I found a link written by an actual JD:

https://www.legalzoom.com/articles/the-term-all-rights-reser...

Remind me of why we're still having this discussion. Unless you can post a link supporting your assertion, I think I've provided ample evidence at this point.

wegs··on Goldman Sans
The BSD license does NOT contain "All Rights Reserved." See:

https://opensource.org/licenses/BSD-3-Clause

https://opensource.org/licenses/BSD-2-Clause

That would contradict the license text.

wegs··on Goldman Sans
I am not a lawyer, but I have taken law classes focused on business and IP law. I've also worked with a lot of lawyers around licensing issues.

My understanding is that copyright ownership grants a specific set of exclusive rights:

(1) to reproduce the copyrighted work; (2) to prepare derivative works; (3) to distribute copies of the copyrighted work; (4) to perform the copyrighted work publicly; (5) to display the copyrighted work publicly; and (6) to perform the copyrighted work publicly by means of a digital audio transmission.

"All rights reserved" is (a now obsolete) notice which says exactly what it means: these rights remain with the owner. You get a physical copy of a book, and that's all. You have only the rights granted to you under fair use doctrine, first sale doctrine, etc. In contrast, a license is a grant of some of those rights to other parties. It doesn't assign away copyright ownership, but it does says that you may, for example, make a copy of my program under the terms defined in the license.

It's worth referencing the difference between a license and a contract here, but that's a whole legal essay in itself, so I'll point to Moglen's writing here, as well as the discussion around the recent Artifex Software, Inc. v. Hancom, Inc.

But yes, I was sloppy on the printed document example. I apologize. Take emailing my mom a PDF instead, which embeds a version of the font program rather than rendering the typeface. Thank you for pointing that out.

I was intentionally giving examples which fell into a legal gray zone, though -- things which a judge would likely rule were okay, but which fell outside of the scope of the license as written. Those are the sorts of things which tend to blow up into expensive litigation. When drafting legal text, you want to leave nothing to being misinterpreted by a user or a judge, and you definitely don't want clauses which go against established law. If I'm a judge reading a contract or a license which has a clause which goes against the law, I can (1) restrict the scope of the clause to what's permissible under the law (2) toss out the clause, (3) toss out the whole license/contract, or (4) do something completely unpredictable. At the very least, if I have a contract or license which falls into a gray zone, I want a severability clause (and key clauses repeated with different scopes, some version clearly within the law, to make sure /something/ is left standing).

Disclaimer: Nothing here constitutes legal advice.

wegs··on Goldman Sans
Absolutely correct.

And that's just the tip of the iceberg...

"grant to any third party any intellectual property or other proprietary rights;"

If I've used this on a web page, a third-party has the rights to view and make local cached copies of the web page.

"disclose or make any source code or any part or derivative work thereof available to third parties under any circumstances;"

If I put this into a document, printed it, and handed it to my mom, I've just made a derivative work available to third-parties (and yes, the compiled font is a derivative of the source code, if you parse the 'therefore' that way).

... and so on.

I'm giving intentionally absurd examples, but legal language like this is just absurdly poorly-written and stupid. Whatever you want legal language to say, you want it to be clear and unambiguous. That protects everyone involved; there are clear limits, and nothing for courts to argue about. In this case, even the basic grammar is ambiguous (pronouns pointing into voids, chains of ambiguous and/or clauses, etc.)

Here's another gem:

"each copy shall bear an appropriate copyright notice in substantially the form of '© 2020 Goldman Sachs & Co. LLC. All rights reserved.' and a copy of this License" -- well which is it: Are all rights reserved, or do I have additional rights as defined by this license?

Virtually /any/ use of this font falls into a legal gray zone, and so creates a massive liability for everyone involved in using this, ironically including Goldman Sachs itself. Many clauses are bad enough a judge would just toss them out, and that leaves a legal document that looks a lot like Swiss cheese.

Most first-year law students would be embarrassed to draft legal text like this, and most lawyers would be concerned about legal malpractice if they let a document like this slip out.

That's just in the legal language is written. One level up, we run into fundamental misconceptions of how open source works, of how copyright works, as well as a slew of missing standard license boilerplate.

And on top of that, we have the basic strategic issue: Except for exceptional cases, it makes sense to use an existing, vetted license; it's usually stupid to draft your own unless there's a darned good reason (and in that case, you'd better find a qualified lawyer). Even if you do draft your own, you should start with an existing, vetted license, and modify the parts which don't fit, and find a competent lawyer to do it.

I've met elementary school students who wrote better legal language than this. This makes Goldman look incompetent. It's not a good look for an investment bank.

wegs··on Goldman Sans
The license was written by idiots. E.g.:

b. The User may not use the Licensed Font Software in any “open source” or other code that would create any obligation for Goldman Sachs to: (i) grant to any third party any intellectual property or other proprietary rights; (ii) disclose or make any source code or any part or derivative work thereof available to third parties under any circumstances; or (iii) otherwise subject Goldman Sachs to any obligations not expressly set forth in this License.

Ambiguous legal language grounded in a likely misunderstanding of what "open source" means. And of course, you have to flip through a dozen screens to make it to the download page to find the license.

This is a project to make a positive impression which fails to do that. So close -- we need more good open types -- and yet clueless.

wegs··on Forking HTML into a static language doesn't make sense
It was before your time, kid. (1) I think you underestimate the early web by quite a bit. It had a lot more awesome than you give it credit for, and if not for dot-com bubble + bust, it would have evolved in a much more thoughtful way (2) And dot-com boom and growing developers 1000x didn't need to involve Netscape, Microsoft/IE, or the W3C implosions of the time. Those were a question of management decisions and personalities.

But my original comment was 100% unambiguous: "I liked HTML2. I hated basically everything which went into HTML3 and HTML4."

Y'all responded by citing bad examples from the HTML3 / HTML4 era as examples of things going wrong...

---

Note: Before I get jumped on for "kid," it's the username.

wegs··on Forking HTML into a static language doesn't make sense
Much as an argument confusing World War II Germany with the Holy Roman Empire might be called 'well-said.' You're confusing the early web era with the dot-com boost/bust period.

The early web were the era of dozens, perhaps hundreds of competing web browsers which were made possible by simple, well-engineered web standards. Pages were served statically, or with CGI scripts. You had a whole swarm of generic spiders, crawlers, and bots which automated things on the web for you. Anyone could write a web browser, so many people did.

The dot-com boom/bust had companies doubling in size every few months, people who could barely code HTML making 6-figure salaries, Netscape imploding, early JavaScript (which, at the time, looked like a high schooler's attempt at a programming language), and web standards with every conceivable ill-thought-out idea grafted in.

If one of the first programs you ever wrote was a scraper for an ASPX site, you never saw the elegance of the early days. ASPX came out not just after HTML3, but after HTML4.

wegs··on Forking HTML into a static language doesn't make sense
Your timeline is completely confused. ASPX came out in 2002, after HTML4. HTML2 was the era when CGI scripts were dominant.

Next, HTML2+SGML were also well-designed, and people weren't just doing regexp. The mess didn't come in until HTML3 and even more so, HTML4.

Today, it's easy to parse /specific/ pages. If I want to automate one web page, and it's well-formed, HTML5+AJAX makes that easy.

However, in contrast to HTML2, it's very hard to parse pages /generically/. That's why I gave the example of Altavista and a11y tools, which need to work with any web site.

Try to make something like that today: a generic search spider, a web browser, or an a11y tool. See how far you get talking to JSON endpoints. They're often easy enough to reverse-engineer for a specific web site, but you need a human-in-the-loop for each web site. With HTML2, one would build tools which could work with /any/ web site.

And boy were there a lot of tools. Look at all the web browsers of the nineties, and the innovation there.

wegs··on Forking HTML into a static language doesn't make sense
Well, no. As much as I liked SGML back in the days for human-readability, having an SGML/XML/etc. parser is not the problem. The problem is understanding what the document is.

Today, much of the web consists of an empty DIV, populated with JavaScript from JSON objects. I can't do anything with that.

One step down, I have a structured, semantic document, but the semantics are defined as `class` elements. I can do more with that, but not a lot.

With HTML2.0, I couldn't keep much on the web, but it was semantic. I knew what body text was, what a header was, etc. Semantics are defined in the DTD, which is super-nice.

HTML5 points a path forward, with elements like `article` and what-not, but it's still got a ways to go before I can understand the content of a page in the way I could with HTML2.0.

There's a deep anti-pattern in there, wrapping things in wrappers, but that's a longer story.

wegs··on Forking HTML into a static language doesn't make sense
From my perspective, the reason to have a language for static documents is parsability. With HTML5+CSS+JS, there are few organizations at the scale which can sustain making something like a web browser, a general-purpose web crawler, a11y tools, or similar.

Could it be a common language? Perhaps. I liked HTML2. I hated basically everything which went into HTML3 and HTML4. HTML5 has made a lot of good progress on rolling this back, but we're not there yet. It's possible to write parsable HTML5, but most organizations don't do it, and the ones which do don't have common ways to do it.

It's hard to remember, but back in the HTML2 days, the web had a certain type of client-side programmatic experimentation which is absent today. Anyone could write a tool which would grab things from the web and do meaningful things with them, and many people did. Google evolved from Altavista, which was a tech demo at DEC.

To be clear: The web is a lot more programmatic today in a general sense (client-side browser extensions, AJAX APIs, embedding webkit, etc. etc. etc.), but one part of that flexibility is gone, and it was important.

wegs··on Open-source, DRM-free Kindle alternative
I'm not complaining about what you're doing. I'm describing what I want. You can accuse me of being unreasonable, but people said the same thing about remote controls. Who'd be lazy to not just want to walk over and switch a channel on the TV? And countless other conveniences.

I'm also not asking YOU to do anything differently. You have a day job, and with however many kits you've made, no way in heck this would compete with YOUR day job. I also want a blueberry plant in my back yard. Neither you, nor this ereader guy, nor even the local garden store have any obligation to give me that. It's a free market.

But yes, I do think there's a pretty good business in providing that last little bit of service. I'd pay for it, and I suspect many others would as well. You can view this as an integration of Digikey+Shapeways+PCB. Or you can view this as an expansion of AdaFruit/SEEED/etc. to be more open. Or you can view this as moving cheap Chinese manufacturing up-market.

And I'd buy an open source Kobo too, for that matter. There's a world of difference between a rootable device and an open source device too. Most rootable devices I have are now sitting in storage somewhere, unused, when the fun ran out and the maintenance overhead kicked in. One or two were never used, as rooting became a pain-in-the-butt, some feature I needed was missing, or there was some hardware change between the rooted version and the one I bought. Most open source devices I have are in active use, some with a few tweaks.

I'm glad to support open. I value my freedom. I also like having things which keep working, and open mitigates risks (if the manufacturer goes under, the community sometimes takes over). I'm glad to pay for that.

However, I'm busy, and I'm not glad to buy a headache. That goes double for people less technical than you or me, ones who want projects for kids, etc.

wegs··on Updating the Git protocol for SHA-256
That's a !@#$ good idea for avoiding swear words :)
wegs··on Open-source, DRM-free Kindle alternative
One big difference is that if I order a parts list and PCB based on your web site, if you've made an error or have a part missing, I'm stuck debugging. If you're putting together a kit, you've (presumably) gone through and made sure it's all there and all works together. That includes the auxiliary stuff, like firmware, or having a case.

Another big difference is if I place three orders, and one comes up out-of-stuck or delayed by months, I get stuck with a useless 2/3 of a kit. I can't return the useless 2/3, since those vendors didn't mess up. If you're selling me a kit, you're doing logistics for me.

Even with things with standard parts, like putting a computer or bicycle together from standardized parts, I've had issues. With DIY, this thing can explode.

wegs··on Open-source, DRM-free Kindle alternative
I'd buy one if:

1) It was prebuilt, plug-and-play.

2) It comes as a kit. I can do it as a project with my kid. Once assembled, it's as above. Kit is consumer-friendly.

Digikey parts list and PCB is a little over my laziness tolerance.

People confuse free-as-in-freedom with free-as-in-not-making-a-profit. I've done free-as-in-freedom businesses, successfully. I wish others did too.

A lot of manufacturers underestimate the power of 100% open. I'm not price-sensitive. I'll pay for it. If my cheap Chinese [tablet/keyboard/mouse/webcam/etc.] comes with a PCB schematic, parts list, and open source firmware, I'll probably pay triple and prefer it to a Logitech/Razor/etc. I'll give nice online reviews too.

And the designs are simple enough no competitive edge is lost.

On the other side, projects like this, lacking a business model, rarely get mature enough for me to use. Make 'em nice and sell 'em, I say.

And yes, there will be cheaper clones, so profit margins can't be insane, but people will pay extra for the original branded version, AND profit margins can't be insane in competitive markets either way.

wegs··on Why Apple ditched PowerPC, and what it says about Apple ditching Intel
Those are kind of fundamental to multicore / multithreaded CPUs, not just Intel. If I have many tasks running on the same CPU, tasks can interact in complex ways. That can leak traces of information, and a clever enough person can pry that tincan open.

Not much one can do about it, other than running untrusted tasks in a sandbox with very well-controlled performance. That means slow performance.

wegs··on Updating the Git protocol for SHA-256
Good idea!

Your downside is a major concern, but it would take all of 5 minutes to patch sha256sum to have a new output format, and another 3 months to have a PR approved. Ditto for most libraries, except where written into standards (and I'm not sure if that's anywhere). I'd expect Python 3.9 to not be a problem either. So it's not a big deal to address the concern.

If you want to do this well, though, the trick would be to come up with a human-friendly format. You can't use both '0' and 'O.' You can't use '1,' 'l,' and 'I.' Invest the time to do HCI work.

And, ideally, you'd have some form of internal check-summing, so you can easily flag most typos.

Performance is NOT a concern. Some folks here mentioned the some encoding formats are table lookups. In most cases, generating or verifying a cryptographically-secure hash is many orders of magnitude slower than an encode/decode of the key into any format. And if you're not generating/verifying, in most cases, it doesn't make any sense to encode/decode (just pass around the encoded key).

wegs··on Ask HN: What are some good resources to learn how electricity works?
This book ruined many hours of my childhood, when I was in high school. I read it. I didn't understand it. I reread it. I still didn't understand it. At the time, I didn't realize I needed to know basic differential equations, and I just felt dumb.

Then I went to college.

When I looked at it as a more mature engineer, I found it imprecise, sloppy, and also not very helpful. It doesn't embody good design practice, give a proper theoretical basis, and the choice of topics is random.

Many people love it, but I hate it.

wegs··on Do Not Follow JavaScript Trends
I agree that well-designed type systems can be helpful, and in an ideal case, I'd have a mix. It's just that TypeScript is not that. The gap between the types of type systems you're describing and TypeScript is the Grand Canyon.

re: type inference

Inferential type systems fall into a fuzzy zone between statically and dynamically typed. For example, many JITs for dynamically typed languages do type inference, and generate compiled code optimized to the types actually being used. That's a very obviously good idea. And many linters look at inferred types as well to do compile-time checks. That's also an obviously good idea. But I wouldn't call a JavaScript JIT a statically-typed system (or Python code that's been through Pylint).

re: Apples versus oranges

They're not unitless. In the first case, the units are apples. In the second case, they're oranges. You shouldn't compare or add those types. If I do have a type system, that's something I should be able to specify.

Not to mention implicit conversions, if I want them (12 inches + 1 foot = 24 inches).

← PreviousPage 10 of 19Next →