Learning to code vs. learning to automate - <AUTHOR> https://daedtech.com/dont-learn-to-code-learn-to-automate/ <comment><USER2> The problem often isn't ability to automate. It's that the workers closest to the problem have an overwhelming disincentive to automate.

Suppose I have a low-level job in Peloton operations. Our Phalange Team must ensure that, before a bike's in-home delivery date is confirmed, the delivery technician has placed an internal order for a left phalange. Each of us spends all day navigating between the Sales app and the Internal Order app.

My daughter tells me how I can automate this. But I never do it. Why?

1\. Even if I were 100% sure the coding would be finished in one day, the daily metrics for the Phalange Team would still signal a problem.

2\. It introduces uncertainty. I can tell my manager exactly how long the manual process takes, but I can't tell her how long it takes to write code.

3\. It trades off the mean for the variance. Suppose it handles 99.44% of the cases but there's a rare bug where it never sends a delivery date if the Internal Order backend has a timeout error. On average, scheduling is 90% faster but some customers aren't scheduled at all. Not an acceptable outcome.

4\. If I successfully automate it, all of my coworkers lose their jobs.

<comment><USER3> I worked at a place where coding was not my job (it was technical support) but I wrote some scripts that automated some stuff. It was handy and everyone liked it.

Then someone in the process changed things that the scripts did not understand.

Management came running to me upset that this thing I automated didn't work. Being technical support managers most didn't understand (not all but most) that when you change things you need to tell people before the day of and they were quite upset with me.

I had saved them enormous time over several years ... but the result was I really just kept doing the same job I always was, not rewarded, and then the day they changed their processes without telling anyone they got upset with me.

My incentive to automate anything for them ever again was gone.

<comment><USER4> I have had similar experiences. I've taken very tedious tasks that involved a lot of monotonous paperwork and automated them and that turns everyone's problems into my problem when they don't work the way the user thinks they should. I've also had people use the fact that my tool, which just automates a process that everyone had to do manually in the past anyways, use me and my tool not functioning correctly for them as an excuse to not having the work done on time.

<comment><USER5> > that turns everyone's problems into my problem

I see software as a new form of literacy, and this argument is, for me, a clincher.

Imagine a world where, you were the reader/writer in the company. And if there was a problem with the letters sent from head office, then because you are the reader/writer guy who does all the writing the problems are all yours

Yes, that is correct, as the only reader writer they are your problems. but the wider problem is why are you the only one?

<comment><USER6> True, but software is only one such department that this reasoning works for. Legal, Public Relations, Accounting, HR, facilities, etc, are examples of other departments that need specialists for fields that everyone really ought to get some literacy in.

If you're head of human resources at your company, any human resource problem the company has, is your problem, because you're the human resources guy.

To be fair, most of those departments demand certification to participate in, but if everyone was able to make spot fixes to the companies software, then I'd start demanding that only certified software people be allowed to touch our git repo.

</comment></comment></comment></comment></comment><comment><USER7> If you're on Windows, Auto HotKey is the ultimate tool for automating day to day little things that are hyper specific for your daily work flow. For everything else there's Bash / some scripting language.

You can end up with really big quality of life improvements from having a bunch of little things whipped up to solve your problems.

<comment><USER8> Can Auto HotKey recognize images and click on them? For example, a specific button in an app or a web page?

This is one of the features that keeps me with Keyboards maestro, which keeps me from switching away from macOS.

<comment><USER7> I'm not an AHK wizard but to my understanding, the answer is "yes" to almost every "but can it do...?" questions.

In your case, from my limited understanding it would be no problem to identify a specific button in an app and then interact with it because you would be hooking into the app's low level window title / class / handles.

AHK comes with a "spy" tool where you can just move your mouse around and it gives you low level details about every window, and then you can write AHK scripts that interact with those things.

The script would look something like:

        ControlClick, OK, "My Cool App"

That would click the OK button in a window that has a title of "My Cool App". If you Google around for "auto hotkey, click button in app" you'll find a ton of examples.

<comment><USER9> I have limited experience with Keyboard Maestro but I do have some with AppleScript. It lets you do as you described, get windows, titles, UI elements. However this only works on native apps, you cant, for example, click a button on a webpage with a CSS selector or by scanning pixels of the window, ad far as I know. Can AHK do that? That would be super useful

<comment><USER7> While I've never done it, AHK seems to have an API for being able to interact with DOM elements.

Check the marked answer here: [https://stackoverflow.com/questions/49516638/ahk-web- element...](https://stackoverflow.com/questions/49516638/ahk-web-element- button-press)

The above answer shows both navigating to a new page that isn't open yet or interacting with an already loaded page based on the title of the tab.

<comment><USER10> You can use Selenium with AHK. [https://www.autohotkey.com/boards/viewtopic.php?t=32323](https://www.autohotkey.com/boards/viewtopic.php?t=32323)

</comment></comment></comment></comment></comment></comment><comment><USER10> I totally agree that learning "just coding" per se should not be a goal. It should also help to solve some of your real problems and automation is one of the topic that is very likely you need to solve. When you do something that you like and at the same time need it pays off twice. In fact I got most of my programming skills by implementing simple automation task that I needed. I highly recommend AutoHotkey ( [https://www.autohotkey.com/](https://www.autohotkey.com/) ) if you are interested in automation. It is programming language with great automation capabilities and wonderful helpful community (last one is very important if you are new to programming).

<comment><USER11> I just changed jobs from developing on Windows to developing on a Linux virtual machine in Windows. I miss AutoHotkey so much. There are so many things that the command line can't do -- GUI commands, window switchers, and so on.

It's a great example of how "learn to automate" can beat "learn to code". When you know how to do something by hand, learning enough about a program's API to do the same thing is a separate learning curve and may not be possible. Telling AutoHotkey "Do it like I do by hand, just faster" always works.

<comment> yjftsjthsd-h I thought there was an AHK clone for Linux? Also, I've had good luck with xdotool.

<comment><USER12> Autokey.

</comment></comment></comment></comment><comment><USER13> Just brought print version of [https://automatetheboringstuff.com/](https://automatetheboringstuff.com/) (2nd edition just released) - thought it would be a good way to learn some code in a practical interesting setting of automation

<comment><USER14> This is a really good book.

Aside from being a good tutorial for beginners, what makes it unique is the scope of what the reader is expected to learn to produce: small scripts that will greatly benefit them in their daily life. It demonstrated the power of computing, gives the reader agency and it is entirely possible to cover enough to be actually useful within one book.

I've believed for a while that scripting should be the emphasis for most primary and secondary education computing courses, and companies should even invest in training witha wider remit than they currently do. There's been many times when knowing some VBA or a small amount of Python would have saved hours or even days worth of effort in repetitive tasks.

</comment></comment><comment><USER15> When I was younger I dreamed up an idea of a shock suit, basically it would have been a set of long underwear top and bottom with electrodes that would act like a TENS machine to gently(or not so gently) nudge the wearers into performing a repetitive task with machine accuracy. I figured this would be great for an assembly line and could provide a cheaper alternative to a very costly robot while still providing employment. I never pursued the idea after telling my Dad about it who told me it was an immoral idea.

Personally I would still be willing to wear a suit like that if the pay was good enough. Put on the suit, turn off my mind and put in a days work.

<comment><USER16> I wonder why is it immoral. I understand that mind control would be, but voluntary external muscle control?

<comment><USER17> It's not external muscle control, that's not what a TENS unit does. OP is describing using painful electric shocks to punish a worker for mistakes or for going off-task, i.e. brutalize workers into performing with machine like efficiency.

<comment><USER18> I think he was proposing using the TENS for muscle control similarly to [https://m.youtube.com/watch?v=5QYpD428hAQ](https://m.youtube.com/watch?v=5QYpD428hAQ)

<comment><USER19> Oh, OK. I also thought it was electroshock motivation.

You still can't just "turn off" your mind, most likely. You'll just be trapped there thinking

<comment><USER20> I have actually met people who vehemently insist that when they "space out" they aren't deep in thought, they are literally off -- not thinking at all.

It's pretty astonishing how much variation there is in people's inner minds. Some can imagine spatial relationships in great detail. Some can't even imagine a simple stick figure, but can instead remember long lists of information.

</comment></comment></comment></comment></comment></comment><comment><USER11> > Throughout human history, there's been a sort of "pain is gain" approach to > the repetitive. There was value in putting your head down, getting into a > rhythm, and working hard at menial tasks.

I was surprised when my sister told me, "I don't think everyone has that instinct to make things better all the time". That's like my fundamental drive! But she doesn't, and I guess I see why. Things didn't get better for hundreds of generations at a time while we were evolving, so inventing is not an instinct.

<comment><USER21> Are you a perfectionist?

<comment><USER11> Sure, but I'm not surprised when people don't want to polish things the way I do. I'm surprised when they let things go to waste or spend their time doing boring and pointless things. Like, even Genghis Khan probably spent some time thinking about ways to take cities without having to fight so much, right?

</comment></comment></comment><comment><USER22> I have automated some things both at work and at home. Sometimes the "time saved doing the thing vs time spent setting it up" calculation looks very shaky, but I persist because when I'm puzzling out how to automate something I'm learning and adding to my skillset that may be useful for the next thing (and is therefore inherently interesting, may lead to greater efficiencies, etc). If I'm just spinning my wheels clicking arbitrary buttons I'm not really learning anything (and I guess in stark economic terms, not adding value to myself as an employee).

DISCLAIMER: I'm not in such a high-paid position that spending an hour or two down a rabbit hole feels like I'm wasting serious time/money.

<comment><USER23> As a field service engineer, I would spend 2-4 hours on a new problem and the next time I'll encounter it I will solve it instantly.

I identified several common errors made by other people. They were very confusing the first time, but now I can solve them at a glance.

</comment></comment><comment><USER24> Any recommendations on a good MacOS GUI automation tool that isnt Automator? Seems like the windows automation ecosystem has several options, but I'm struggling to find a good Mac solution that's capable of automating desktop apps with fine-grained workflows

<comment><USER25> Keyboard Maestro is my go-to tool. It's incredibly powerful and I've automated so many things in so many applications that I really don't even know if I could use a computer without it anymore. [https://www.keyboardmaestro.com/main/](https://www.keyboardmaestro.com/main/)

<comment><USER26> Another vote for KBM

</comment></comment></comment><comment><USER27> The whole nature of coding is that is essentially motivationally self-taught. As for automation- that's what better coders do. Perhaps this is being confused with "Find a good problem that motivates you, and fight a knock-down, drag-out battle to solve it."

<comment><USER28> Programmers drastically underestimate the amount of poor abstractions we've created.

There's no reason someone should have to learn object oriented programming in order to be able to do 4 actions across 2 apps.

Fundamentally, that's what this article was getting at for me.

Should we (a) encourage more people to learn to code (in existing languages / frameworks), so that they might use coding to automate their own work, _or_ (b) identify simplified systems that require less knowledge, but are sufficient for the automation tasks being asked of them.

I love learning about multi-level cache heirarchies and performance effects thereof.

But I would rather my company's accountants instead know the accounting- equivalent of that bit of trivia, and yet gain the benefit of being able to write simple automation on their computers.

<comment><USER29> To put what you've said more succinctly, even though reductionism is valid for a computer, there is no reason for us to reduce everyone to transistors.

My mother is an accountant for example, and she could easily pick up SQL or a programming language, but the issue with teaching her one is that it doesn't solve any of her immediate problems. Excel already automates most of that work away, so for her that's all she needs.

Your company's accountants can probably write excel statements that are equivalent to complex SQL statements, so I wouldn't underestimate them :)

<comment><USER30> Excel is the world's most popular IDE ;)

<comment><USER28> One of my weed out questions in programming interviews is to ask their opinion on Excel. Specifically, strengths and weaknesses.

If they don't come up with at least one strength or spend the whole answer bashing it, that's an instant reject for any position touching UX.

<comment><USER31> I could bash it in ways you probably haven't heard before...

The clashing paradigms of the Data Model and "vanilla" Excel have really been aggravating me recently.

I feel like Excel is underutilized for cultural reasons and it seems like it can do anything I was previously asked to use Qlikview for.

But the fundamental reason I am using Excel these days is because I don't _want_ to be subjected to a programming interview, ever again.

I got my current job without any particular technical requirements, and the interview was entirely about how I manage my time and multitask.

</comment></comment></comment></comment></comment></comment><comment><USER32> Somewhat related, tools like Quickbase, Google Appmaker, Knack, Zoho Creator all work pretty well with non tech folks. Especially in areas like Finance, where they are already familiar with pushing Excel pretty hard. Gets rid of a lot of manual emailing spreadsheets around and tedious data collection.

</comment><comment><USER33> I really like the breakdown sequence of "Automation in real life" because it nearly perfectly describes the process I go through to evaluate if something is worth trying to build.

Introducing the "would someone pay for this" is a key step because it tells me if it's worth pursuing even if I didn't need it myself. The answer is almost always no.

Further, the majority of these small automations increasingly look like they are feature improvements on existing products. This example is also perfect because it was a feature within Powerpoint that would probably take the Microsoft Office team a day to prototype [1] and a few months to build into the next update with backward compatibility etc...

So to me the value at the outset isn't in the code, which is fairly trivial, but the value is in knowing what to code and how to integrate the new automation.

Here's where this breaks down though...you can't evaluate what you should be building and how it would be built, if you have no idea how to build something. So it is important to learn to code, if only to understand how hard it is to do different things. That holds true for everything though, from making a meal to fixing a carburetor or doing braids. You need experience doing things before you can know how to estimate whether they are worth doing in a new context.

[1]Something like...

#Compute centroid of rectangle:

>self = (coord[0]+(coord[2]/2), coord[1]+(coord[3]/2))

#Compute centroid of background rectangle

>other = same formula

>#Align

>def add(self, other): self.x = self.x + other.x self.y = self.y + other.y

</comment><comment><USER34> [https://www.autoitscript.com/site/](https://www.autoitscript.com/site/)

<comment><USER28> That's still coding.

The intent here is to build on a better, Excel-user-accessible set of abstractions.

Which generally means:

1) Graphical IDE

2) Automation activities which map directly to their existing manual activities

3) High-level support for highly-used application-specific activities

</comment></comment><comment><USER28> Obligatory RPA: GUI-based automation to mimic user interactions, leveraging existing application and web GUIs as an API to automate against.

Not something I'd recommend to backend developers / data crews. But it's pretty awesome stuff for non-developer, front-line business users.

What is RPA? - [https://www.uipath.com/rpa/robotic-process- automation](https://www.uipath.com/rpa/robotic-process-automation)

UiPath free, "unlimited time for non commercial use" trial - [https://www.uipath.com/product/studio](https://www.uipath.com/product/studio) (you're looking for "Community Edition")

Disclaimer: I have no financial interest in UiPath as a product, past running a business user-focused automation enablement team that is currently using it. I've been in the space about a decade, and just happen to think they do it "better" than anyone else currently (YMMV. Pegasystems' RPA offering is also great, but they don't talk to non-Fortune 500s or advertise it)

<comment><USER35> So, this looks to me like a marketing layer ("Robots!") over a macro-recorder on steroids.

I'm not complaining, I bet you can make a lot of money doing this, and it's arguably helpful to the clients, but am I missing something?

Like, there are no actual robots involved, yeah?

<comment><USER28> "Macro-recorder on steroids" is a surprisingly tricky thing to do well.

Think supporting 30+ years of different UI frameworks, over process variants that may be dissimilar (e.g. when code = 5, the "OK" button is actually a different class).

All while hiding enough of the underlying complexity that a business user ignorant of all the above can write 95%+ of the automation.

So yes, I'd say it's one of those things that seems easy, but is difficult to actually get working for compatibility reasons.

There are no physical robots involved. ;)

</comment></comment></comment><comment><USER36> Automation is the how, but not the why. We automate things that have become trivial, so that we can do something more meaningful.

It's important to understand the functional value of programming (ie. automation), but what really inspires learning is the underlying purpose. What are we achieving through automation? What have we unlocked? That process of discovery is what's most exciting, to me at least, about coding. It's what I seek to learn.

</comment><comment><USER37> I fully agree, but I still think it's good that people learn how to code. Why? Because it's good to know a little bit -- just a wee little bit -- about how computers work. And while you could just get a good description from a book, nothing beats hands-on experience, which is easy (and mostly fun, initially) to get when it comes to coding.

I think of it as learning a little bit of math or science -- good for your general understanding of the world, and how the thing that is your interface to most of the world operates, it's basic functions and limitations. It's even a bit like learning civics or economics -- as code makes more important decisions every day, a naive yet fundamental understanding of omgow these things work among the general population helps a lot. Everyone should learn how to code a little bit as part of a general education. If you want to do it professionally, then yes, learning problem solving and automation is the way to go.

And it would be nice if people practiced a tiny bit of debugging, so we could see fewer horror tales from tech support.

</comment><comment><USER38> What's the modern-day equivalent of DeBabelizer?

[https://en.wikipedia.org/wiki/DeBabelizer](https://en.wikipedia.org/wiki/DeBabelizer)

[https://creativepro.com/debabelizer-pro-5-the-ultimate- image...](https://creativepro.com/debabelizer-pro-5-the-ultimate-image- translator/)

<comment><USER39> ImageMagick [1]. You can do all kinds of really cool tasks with it and a little shell script. It's a free software hidden gem, for sure.

[1] [https://imagemagick.org/script/index.php](https://imagemagick.org/script/index.php)

<comment><USER40> Not willing to start a flamewar, but there is also Graphics Magick [0], a fork that, for example, adds multi-threading.

[0] [http://www.graphicsmagick.org/](http://www.graphicsmagick.org/)

<comment><USER39> ImageMagick has multi-threading, OpenCL support, and even heterogeneous distributed computing support.

</comment></comment></comment></comment><comment><USER41> I haven't seen anyone else mention it, so FYI: Keynote on macOS defaults to exactly your preferred behavior: pasting images exactly in the middle of your slide.

I have to use both Keynote and PowerPoint for work and this is one of those small things I've come to appreciate.

</comment><comment><USER42> For me automation was learned behavior in lockstep with my ability to solve problems via programming. It eventually became automatic: to the point that my own patience with manual repetition and documentation of manual processes is minimal. This latter attitude does not do me any good in the enterprise infotech world. Especially in heterogeneous environments or where I don't have front to back visibility. I'd argue that while being able to automate is a great good understanding the business constraints and making good decisions about where you work becomes critical if you must trade toil for time.

</comment><comment><USER43> The skills are:

1) Problem identification. Get the target wrong and it doesn't matter how wonderful your code is. 2) Problem solving. 3) Creative thinking. Most code is science, but occasionally it takes art. You have to be willing and able to be an artist.

With these in hand, coding is a means not an ends. The obcession with code as an ends is fool's errand.

Automation? You're gonna need these base skills as well.

Certainly, these things can be taught. But some of us are wired better than others for this skills stack. We don't need more people who write code. We need more problem solvers with an occasional flare for rule breaking, creativity, etc.

</comment><comment><USER44> I agree. But I am still going to tell my kids to learn to code. Programming is more than automating stuff. It's even more than solving problems.

Programming is a process, a way of thinking about things, it is entertaining, it's creative, it's beautiful in many ways, in and of itself.

Learning to program sharpens so many parts of once mind, I want everyone to get a glimpse of that.

<comment><USER45> I'm reading Charles Petzold's book _Code_ right now and I would highly recommend it if your kids are interested in computers. I'm about 1/3 of the way through it and even though I'm not learning a lot, it's a great read.

Actually, I learned how Braille works and that's something I always wondered about.

</comment></comment><comment><USER46> Or maybe we should encourage users to be users and provide valuable feedback. As in, actually asking about the possibility of new features and reporting bugs.

It'd make engineering a bit easier without trying to encourage people who might not really be interested into wasting their time and everyone else's.

</comment><comment><USER47> > "avoid thinking of writing code as the goal and learn to solve problems."

Hasn't this been done to death now? Are there still developers out there whose primary focus is writing code rathet than solving problems?

<comment><USER48> Every programmer that isn't given the opportunity to refute design choices or question the domain knowledge handed down from above. There's still plenty of programming jobs intentionally structured to be like that.

Edit: Also, this article is from June 10th... 2015.

</comment></comment><comment><USER49> Select object, select format tab, select align, select align center/align middle?

</comment><comment><USER23> How to motivate someone to learn a programming language.

1\. Assign a repeatable task.

2\. Incentivize to complete higher number of tasks. This can be a flat rate per task or flat number of tasks per day or something similar.

3\. Let them work for a while to understand the process.

4\. Now the idea to automate gradually appears in their head.

5\. First automation appears. I usually start with command line loops and encoding strings into barcodes.

6\. GUI automation appears and the user starts running into limitations of easy tools.

7\. User makes the decision to invest time into learning a programming language.

8\. User automates their entire job.

Smarter companies would offer to assign her the role of an internal software tool maker to identify processes and automate them.

Some of these toolmakers might be like me and perfectly happy to simply do a lot less and get paid the same or more.

Other companies will make her realize she might be valued higher elsewhere.

Learning a programming language without a concrete goal to solve is not as being able to completely automate your job.

I once identified a great opportunity as a field service engineer. The company unknowingly offered me an incentive. After arriving on-site, I can identify additional broken equipment that's not in my original scope and add it to my scope. I negotiated flat rate compensation per unit fixed rather than per location or per hour. My marginal cost to fix additional equipment is a few extra minutes.

The company sending me that work creates additional scope on their end after I am finished and so we all get paid more money. The service call gets closed in a single visit. I call that a textbook example of all incentives aligned.

So, after identifying this opportunity, I explored all bottlenecks inhibiting me from working faster. A single additional service call per day results in significant extra money.

Bottlenecks:

1\. Talking to dispatch to verbally relay serial numbers, shipping numbers, and other phonetically spelled data. Solution: start transmitting data as structured text dispatch can copy/paste. Result: most loved vendor, no more waste of time. ;)

2\. Verify equipment is properly configured. Solution: if it can be pinged, it will work, else redo the previous task. Result: knowing the arp and ping commands lets me test equipment without walking to it.

3\. Verify output integrity. Solution: (currently implementing this) use a personal IP KVM with a WiFi AP to remotely operate the on-premises server while standing next to equipment. Motivation: running upstairs at least 30 times at one troublesome location not long ago.

4\. Repetitive entry of text strings into multiple contexts. Solution: encode those strings, like passwords, into barcodes on my iPad and scan them while also scanning serial numbers and such. Result: this saved a ton of time.

My first automation was to write a script to ping all devices as part of a health check.

Now that I reached the limit of easy automation, we enter software engineering. I am working on a tool to automatically generate my paperwork based on OCR-ed screenshots. I am also working on a tool for the dispatch to have better visibility into what their techs are doing.

At the same time, I have a huge incentive not to share my shortcuts with other techs.

By the way, the next generation of our control equipment runs Linux. I was constrained by archaic tools running on Windows, but we all know to which extent we can automate Linux. ;)

<comment><USER31> "Smarter companies would offer to assign her the role of an internal software tool maker to identify processes and automate them."

Ah, but should she take that? Isn't a job as a developer/programmer really just a subterfuge by management to extract all the value produced by automation and not pay for it?

</comment></comment><comment><USER50> Learning alphabets vs learning to speak

</comment><comment><USER51> To paraphrase a famous quote on regular expressions:

"Some people, when confronted with a problem, think 'I know, I'll automate.' Now they have two problems."

<comment> yjftsjthsd-h What would you prefer? Manual is hardly an option.

<comment><USER52> Forest, trees...

There are problems one should automate but there are many problems where automating is not worth the effort.

[https://xkcd.com/1319/](https://xkcd.com/1319/)

[https://xkcd.com/1205/](https://xkcd.com/1205/)

<comment> yjftsjthsd-h I'm willing to agree that some problems aren't worth automating, especially when they have nasty or absent API surface, or when the task changes too much. On the other hand, looking only at time spent is also a very incomplete picture; I've written scripts for tasks that I was fine doing manually just because it allowed me to add free sanity checks and cut down on human error. (Story time: We had a regular process to clean up dev environment data. Coworker ran rm on _prod_ data. We now have a script that sanity-checks the environment parameter and does the rm commands for you.) There's also value in speed beyond the pure time saved; as an extreme case, consider deploying a fix for a 0-day with ansible vs by hand to hundreds of hosts.

<comment><USER53> This a good companion to my sibling comment. Despite what I said about other departments, I do believe in automating all of our own (tech) stuff, basically for the reasons above: decreased error rate on sensitive tasks, ability to execute emergency tasks quickly, etc. But perhaps those are good targets for the type of task that should be automated generally.</comment></comment></comment></comment></comment>


Show HN: Followww. – Track HTTP redirects and cookies from short URLs - <AUTHOR> https://followww.co/?utm_source=hn <comment><AUTHOR> Hi HN, I built followww. to help my online marketeer colleagues get insights in what is hiding behind short URLs. Before building this tool, they routinely came to me with URLs asking me to trace them.

The back-end is a websocket API that returns each step as it discovers it and the front-end is an Angular (1.x) application. I also built a small Chrome extension[1] that adds a followww. context menu item to all links on the web.

[1]: [https://chrome.google.com/webstore/detail/followww/dmpapbgln...](https://chrome.google.com/webstore/detail/followww/dmpapbglnlfchgbbnalpcekkfdddagdm)</comment>


Company overseeing –$10T wants to ban external email to beef up security - <AUTHOR> https://www.businessinsider.com/northern-trust-is-exploring-shutting-off-external-email-2019-4 <comment><USER2> Will they also turn their office into large faraday cages so that they can block the obvious next step of employees using their smartphones to email to/from outside the company?

<comment><AUTHOR> I wouldn't be surprised if they did explore by asking legal but employee and cages were not recommended to be used in the same sentence. :)</comment></comment>


Brutal Dishonesty - <AUTHOR> http://uncrunched.com/2011/10/01/brutal-dishonesty/ <comment><USER2> [Arrington's title was changed to the more explicit "Facebook: Brutal Dishonesty"]

I did not expect better of that company. Crooked is as crooked does, and that sorry bag was born crooked.

What I'm really sad about is Google going down the drain chasing after them.</comment>


Grin – A private and lightweight mimblewimble blockchain - <AUTHOR> https://grin-tech.org/ <comment><USER3> Does Grin do something concrete and useful?

I ask this question because someone on HN reminded me of this great 2001 article from Joel "Nostramdamus" Spolsky on Blockchain Astronauts:

> Don't let Architecture Astronauts Scare You > [https://www.joelonsoftware.com/2001/04/21/dont-let- > architect...](https://www.joelonsoftware.com/2001/04/21/dont-let- > architecture-astronauts-scare-you/)

> When you go too far up, abstraction-wise, you run out of oxygen. Sometimes > smart thinkers just don't know when to stop, and they create these absurd, > all-encompassing, high-level pictures of the universe that are all good and > fine, but don't actually mean anything at all.

> These are the people I call Architecture Astronauts

> The Architecture Astronauts will say things like: "Can you imagine a program > like Napster where you can download anything, not just songs?" Then they'll > build applications like Groove that they think are more general than > Napster, but which seem to have neglected that wee little feature that lets > you type the name of a song and then listen to it — the feature we wanted in > the first place. Talk about missing the point. If Napster wasn't peer-to- > peer but it did let you type the name of a song and then listen to it, it > would have been just as popular.

What's the equivalent for Grin of "that wee little feature that lets you type the name of a song and then listen to it" ?

<comment><USER4> The product is anonymous/private payments at a distance, without a central trusted party — ie the holy grail of the cypherpunks, although grin only approaches this ideal.

The reason Napster made more sense than a single central server is that what it was doing was explicitly violating copyright law. At the time, there was no real possibility of licensing music for distribution online, even in a pay per song model. The only reason RIAA/etc caved and allowed both download services and streaming services was the success of early private services.

This is like questioning why Silk Road needed all the infrastructure when you could just list your illegal drugs for sale on eBay.

<comment><USER5> I think it's incredibly naive to believe that the main problem of cryptocurrency today is the lack of privacy. The ease of which you can launder crypto is the main obstacle against it's widespread integration into the financial system. Sure, a Bitcoin transaction might leak an address, an amount or an IP. So what? Coupling Tor with a trusted coin tumbler, any serious criminal can hide his tracks, so if cryptocurrency is to become just as good as "money in the bank", then he is home free. Grin proposes to optimize that further and provide similar levels of anonymity to average users who don't really ask for it - talk about missing the point.

The wholly grail of cryptocurrency today is not optimizing anonymity but gaining legitimacy and working as a payment system parallel to national currencies while complying with the complex regulations around KYC and criminal and terrorist financing. These are vigorously enforced in any first world nation, for sound, historic reasons.

The wholly grail is to opt out of government surveillance while maintaining social responsibility and capacity to root out bad actors. This will probably require a mixed, technological, institutional and regulatory response if it is ever to be realized.

Abstracting the real world away and hiding in your little cryptographic fantasy governed only by math and not people will leave you with speculative playmoney in the best case and a dangerous can of worms in the worst.

<comment><USER6> > gaining legitimacy and working as a payment system parallel to national > currencies while complying with the complex regulations

This is an _impossible_ requirement. Every country has different, subjective, fluctuating, and often vague regulatory requirements. Not decentralized platform could ever comply.

The reason crypto hasn't taken hold is simply that it doesn't scale. When enough people use it, the system grinds to a halt. Newer cryptos, like Monero have made some big steps recently, but there's still a long long long way to go for scalability.

<comment><USER5> > This is an impossible requirement. Every country has different, subjective, > fluctuating, and often vague regulatory requirements. Not decentralized > platform could ever comply.

We first need to acknowledge the need to comply with the spirit of these regulations and allow some features that national operators can build on to create legal solutions.

There is a commonality here and there is a international convergence towards similar regulations. Sure, some countries with particular draconian legislation could still reject crypto, but there could exist a workable compromise in most other countries.

I reject this idea that we need to go Full Monty: from one end of the spectrum (no privacy, complete state control over money and banks) to the other end, financial anarchy.

<comment><USER7> You may reject the idea, but I don't see how it can be anything _other_ than what you describe as "financial anarchy".

You either trust national governments and their KYC and AML laws, or you trust the crypto network and _its_ governance. That is the whole point, as stated by Satoshi.

If your crypto complies with some least- or greatest-common-denominator of government laws (as they apply to their national currencies), then what is the point?

<comment><USER5> The point was not that cryptocurrencies should be state run, rather that the social values embedded in their algorithmic regulation should respect a wider set of social values and accommodate applications that can comply with typical national legislation resulting from those values. See your brother comment for an alternate perspective, cryptocurrency already embed regulatory frameworks that reflect social values, for example, the need to control inflation or the need for financial privacy.

If the decentralized governance rejects on principle that money laundry is a social problem, then society through it's various forms of governance might reject the currency, just as it would reject say, a hyperinflationary currency.

This is what I mean to say by "going full-crypto-Monty": there is a strong tendency in the community to reject some important social values without debate and to try to enforce a political perspective on how society should work by circumventing the legitimate venue where these political debates are fought. The more the problem is asserted, the more crypto people double-down on their utopian narrative and invent new technical measures to circumvent any social control, such as this here.

<comment><USER7> I respect your position that "going full-crypto-Monty" may cause a crypto currency to be rejected by a society that values some rules, like anti-money- laundering.

But crypto currencies were borne out of a distrust for banks and government money policy, like inflation.

In my view, the fallacy was/is that by putting trust "in the network", these policies could be avoided, not duplicated. But that's impossible: crypto currencies merely shift trust to the network operators (who, for financial gain, become increasingly consolidated), and to the maintainers of the code, who ultimately determine the rules.

Maybe the point is that with a diversity of currencies, there is a diversity of policy choice. But that only increases the exchange problem, which defeats the purpose of a currency (that is, being widely accepted).

<comment><USER8> Aside from playing with consensus algorithms to get the hash from GPUs rather than FPGA/ASIC, can you point me to innovative thinking in this area?

Which projects (or, rather, their communities) are doing the most interesting stuff around achieving widespread distribution? I agree with you that this is essential for any crypto to truly become viable as money. If Bitcoin has won the store of value battle at least for now, then that leaves the medium of exchange game wide open and it won't be ABC/SV.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> Oh, this is fantastically cool. This is what cryptos should be. Real anonymity, no greed, no speculation, just good math. I love it.

That said, the "no amounts" thing is very confusing. Do they mean to say that the amounts aren't public? Because as far as I can tell, there definitely _are_ amounts. From the repo: "The block reward is currently set at 60 grin" \- that's an amount, right? Someone's account is credited with 60 grin. I can then send 20 of those 60 grin to someone else, who can send them on and so on.

Furthermore, the look-forward to quantum computing is great, and not common enough in new projects.

<comment><USER10> From their "Grin for Bitcoiners" article [0]:

        There are 3 main properties of Grin transactions that make them private:

            - There are no addresses.
            - There are no amounts.
            - 2 transactions, one spending the other, can be merged in a block to form
              only one, removing all intermediary information.

        The 2 first properties mean that all transactions are indistinguishable from
        one another. Unless you directly participated in the transaction, all inputs
        and outputs look like random pieces of data (in lingo, they're all random
        curve points).

        Moreover, there are no more transactions in a block. A Grin block looks just
        like one giant transaction and all original association between inputs and
        outputs is lost.

So I think "No more amounts" is simply trying to say that the concept of a globally-accessible transaction _on_ the blockchain with a verifiable transaction amount is now gone. Now it's just blocks, which can be many transactions coalesced together. From later on that page "It's as if when Alice gives money to Bob, and then Bob gives it all to Carol, Bob was never involved and his transaction is actually never even seen on the blockchain." It is not trying to say that this currency is not countable or something like that (how would that even work?)

[0] [https://github.com/mimblewimble/grin/blob/master/doc/grin4bi...](https://github.com/mimblewimble/grin/blob/master/doc/grin4bitcoiners.md)

<comment><USER11> So s/There are no amounts/Transaction amounts aren't public

?

</comment></comment></comment><comment><USER12> They say that it scales mainly with number of users, and per-transaction data is minor. But they also say it's 100 bytes per transaction, so with 10 tx/sec you get 31 gigabytes per year, just for the transaction data.

That's not as much of a storage improvement as I expected from mimblewimble. By comparison, a simple ETH transfer on Ethereum takes 109 bytes: [https://ethereum.stackexchange.com/questions/30175/what- is-t...](https://ethereum.stackexchange.com/questions/30175/what-is-the-size- bytes-of-a-simple-ethereum-transaction-versus-a-bitcoin-trans)

They do say they could optimize Grin's transaction storage further but don't quantify that. Does anyone here know what the potential is?

<comment><USER13> Talking about per-transaction data in mimblewimble is tricky because as different points in a transactions lifecycle it can change in size.

1\. Each transaction comes with a value called a kernel, this kernel is constant size in the size of the transaction. It does not change with the number of inputs and outputs of a transaction.

2\. Mimblewimble lets parties non-interactively merge transactions. So if you have 100 transactions you can merge them together and have only 1 really big transaction and 1 kernel.

3\. In mimblewimble you only need to keep kernels and unspent outputs to prove to someone just joining the network that all the rules have been followed (fixed coin supply, all transactions where correctly authorized). Over time you can throw away most of that big merged transaction, as it's outputs get spend and just keep the kernel.

In theory each block should be one big transaction. Thus the size of blockchain grows with the number of unspent outputs and the number of blocks, but not the size of those blocks. This also makes validating the blockchain much faster and under certain circumstances may have privacy benefits.

Mimblewimble it is an important step on the path to scalable blockchains.

<comment><USER12> Aha, so even though there are 100 bytes per transaction, you can merge all the transactions in the block so it's actually just 100 bytes per block (plus unspent outputs). Nice.

<comment><USER14> No, it's still 100 bytes per tx. See reply to parent.

</comment></comment></comment></comment><comment><USER15> I read the tech spec and it amazes me that there are people who can come up with this stuff. Completely obvious in hindsight. From the crib notes[1]:

> Grin's emission rate is linear, meaning it never drops.

This sounds more like a real currency, although, without limited supply this thing won't be going to the moon. The deflationary nature of cryptocurrencies thus far has been my main criticism as their viability of currencies (inflation encourages spending, which increases liquidity).

[1]: [https://github.com/mimblewimble/grin/blob/master/doc/grin4bi...](https://github.com/mimblewimble/grin/blob/master/doc/grin4bitcoiners.md#emission- rate)

<comment><USER16> Pretty much everyone with knowledge of mainstream (non-Austrian) economics came up with the idea of non-deflationary cryptocurrency (keynescoins) around 10 years ago. That's how you can tell that everyone who says "it's about payments/adoption/etc not speculation" is lying because why would they make it deflationary.

Also, fixed linear emission is pretty much the second worst possible monetary policy and I think it's basically a way to have plausibly deniable deflation. If Grin adoption follows an S-curve then 50%/year emission won't be noticeably different from 0%. (And if it doesn't follow an S-curve then it has failed anyway.)

<comment><USER17> A 50% emission rate is incredibly high. Any linear emission rate will tend towards 0% as the number of coins in circulation gets larger and larger (assuming none are accidentally lost).

Deflationary money can theoretically work, its just that instead of having the vendor adjust menu prices every year for inflation, consumers would have to discount their purchases. For instance, during the 2017 boom, I noticed friends often paid each other for dinner with Ethereum at large discounts.

Obviously this isn't price efficient, and the mental calculus isn't a great user experience, but it can work. We would just live in a much more frugal society which saved a little more. We could have lower defaults as we underconsume. A credit system probably wouldn't work however as we're destroyed the concept of time value of money.

Imagine a thirsty tourist in a desert might be unwilling to part with his Bitcoin for a meal, but willing to do so for a bottle of water as his instantaneous discount rate for water is far higher at that point in time and state.

Whether a coin is inflationary or deflationary is a little more nuanced than simple changes in money supply, and has to do with whether these changes are unanticipated and how users form inflation expectations. Imagine if Satoshi's account suddenly awoke and moved, only to burn those coins in another address. There would be momentary hysteria and selloffs, before inflation expectations readjusted back to before.

You'll see that price levels are relatively indeterminate without strong commitments to target inflation rates. In that sense a bank may be better than a non-sovereign currency at maintaining price stability.

<comment><USER6> > A credit system probably wouldn't work however as we're destroyed the > concept of time value of money.

This is spot on and is the main problem. This destroys all lending, which prevents various forms of capital investment - the cornerstone of economic growth.

Like it or not, inflation is a key component to any currency. ...and as you said, increasing the money supply doesn't even guarentee inflation - <USER2> contracting it absolutely spells deflation - which is death.

 _Ideally_ a "better" cryptocurrency would detect the velocity of money within its own blockchain, and calculate the _appropriate_ amount of inflation (or even deflation) to keep the scarcity of currency stable.

If you imagine that a currency is like blood in a body, then as the body grows (or shrinks), the blood volume must adjust accordingly. Fundamentally, the function of currency is not to save - it is to spend.

</comment></comment></comment></comment><comment><USER4> I'm totally sold on privacy as a critical feature of currency long-term, and that mixes in bitcoin alone are insufficient. Pretty cool to see two mimblewimble projects launching (beam + grin) which seem to have made some different tradeoffs.

Dandelion seems like the weak link from a privacy perspective under a reasonable attacker scenario, though, although it could easily be replaced.

<comment><USER18> What are the main differences between beam and grin?

<comment><USER19> Grin, academics and early bitcoiners second attempt at digital cash.

Community funded. Pure mine. Rust, inflationary economics, cuckoo cycles. No governance, but that is debatable. Small team making decisions. What is that?

Beam, entrepreneur team. Had a presalethat allowed them to put devs on the project full time and blow past Grin in material output. It's not a "pre-sale" but it is. They pay back the investors through splitting the block reward (founder's reward) over the first five years. Then spin that into a foundation, C++, cuckoo cycles.

Give Beam a chance before you say it's a scam. They are good people. I don't agree with what people are saying about them, despite disagreeing with their approach. Talk to them before making up your mind. They have sound arguments that founder's will understand, and ideologues like me disagree with.

<comment><USER20> > Community funded. Pure mine. Rust, inflationary economics, cuckoo cycles. No > governance, but that is debatable. Small team making decisions. What is > that?

Somebody has to do the work to bootstrap and develop the network. Whom do you expect to govern the project? Governance meetings are public, bi-weekly, in the Gitter Lobby chat, you are free to join.

Also since I am into nitpicking, economics are inflationary for the first couple of decades gradually switching to deflationary (1 grin per second forever).

</comment></comment></comment></comment><comment><USER21> When thinking about a cryptocurrency, there are a bunch of different attack surfaces (to name a few):

* client (wallet)

* network from client to node (network)

* node

* network node to node (consensus)

* ledger

Each one has a different attack surface and threat model. Mimblewimble is a neat solution to the ledger, at rest, threat model. I still think zcash is the king right now when it comes to privacy, but obviously mimblewimble is a cool approach to scaling. It's a really fascinating space.

<comment><USER22> When you compared ZCash and MimbleWimble, you forgot to mention that the latter doesn't need a trusted setup like the former needed.

<comment><USER21> The trusted setup is the major problem with Zcash, but it's much more private than MW (assuming you believe the setup).

I'm not gonna spend a lot of time arguing on here, but I think it's worth closely studying these systems as they're fascinating. All anonymity focused systems have tradeoffs, just like more commonly understood distributed systems.

<comment><USER4> The big privacy concern I see with MW is the exchange of blinding factor, and there are some arbitrarily good solutions to that if you make other tradeoffs.

With ZCash I'm willing to trust the trusted setup (even if it was imperfect); the issue is that people don't actually use shielded addresses/privacy protecting transactions much.

<comment><USER23> The biggest privacy issue with grin is it doesn't hide the transaction graph. See their own write up[0] which offers a very good and nuanced privacy discussion. This means, for example, you can be tracked by colluding vendors. Or can be identified when trying to accept payments anonymously.

I don't think blinding factors are as much of an issue.

Zcash setup doesn't matter for privacy. The larger issue is as you said, adoption of private transactions.

[0][https://github.com/mimblewimble/docs/wiki/Grin-Privacy- Prime...](https://github.com/mimblewimble/docs/wiki/Grin-Privacy-Primer)

<comment><USER20> RSA accumulators is an active area of research that will help with unlinking inputs and outputs, see the grin forum thread for more discussion:

[https://www.grin-forum.org/t/benedikt-bunzs-utxo- commitments...](https://www.grin-forum.org/t/benedikt-bunzs-utxo-commitments- rsa-accumulators/1045)

<comment><USER23> It really doesn't help with that unless you use a completely different protocol and assume trusted setup. At which point, just use zcash, it will have smaller and faster to verify transactions. Trust me, I've been working with RSA accumulators for privacy in Bitcoin since 2011.

<comment><USER4> Ah, I didn't see how the blinding factor was being used (the code is actually easier to understand than the paper). This has approximately the same linkability as monero, inferior to zcash (complex) or chaumian tokens (hyper- efficient, but centralized per-currency, although currencies can be permissionless).

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER24> This is a very well-known blockchain project that people in the industry have been watching, so I'm happy it has surfaced here without the usual "blockchain is 110% useless" commentary HN is known for. It is a very interesting experiment.

<comment><USER25> > the usual "blockchain is 110% useless"

Are there any projects that you consider to be a success that currently use a distributed blockchain?

I suspect like most people my skepticism comes not from the inherent technology but in all actual deployments so far.

A system that solves scaling, doesn't appear to be a questionable pyramid scheme, and had even a few of the advantages of the existing financial system would be welcomed.

<comment><USER26> > Are there any projects that you consider to be a success that currently use > a distributed blockchain?

Would you object to me saying "bitcoin" (edit: I should be clear that I'm primarily referring to market value and making money for those involved with this one)?

It's morally ambiguous at best, but what about "dark net markets"?

Or if we just don't worry about morality, "cryptolockers"?

Of course the latter two are really just consequences of us having a reasonable secure and (seemingly) anonymous currency. The fact that bitcoin enabled them perhaps says more about the state of the rest of the world than bitcoin itself.

<comment><USER27> I would probably object to Bitcoin counting.

Its original notion was "peer-to-peer electronic cash". As best I can tell, there's almost no significant legal use beyond speculation. [1] Even prominent Bitcoin advocates have admitted it isn't a good currency. [2] Illegal use is self-limiting; if Bitcoin becomes mainly known as the crime currency, it'll be truly screwed, as governments everywhere will further crack down on conversion and use, driving off investors, developers, business partners, etc.

I think it's especially obvious how much it's failed as e-cash when you compare it with M-Pesa, an African e-money system. [3] It started just a year before Bitcoin, but does something like 100x the transaction volume and is wildly popular in a number of countries.

[1] E.g., [https://www.nytimes.com/2018/04/16/nyregion/new-york- today-l...](https://www.nytimes.com/2018/04/16/nyregion/new-york-today-living- on-bitcoin.html)

[2] E.g., [https://avc.com/2017/08/store-of-value-vs-payment- system/](https://avc.com/2017/08/store-of-value-vs-payment-system/)

[3] [https://en.wikipedia.org/wiki/M-Pesa](https://en.wikipedia.org/wiki/M-Pesa)

<comment><USER28> Bitcoin is the most transparent form of money invented and in circulation. That's why a number of studies you can find online place criminal activity quite low. Who wants a trackable currency vs dollars?

<comment><USER29> It's a very interesting thing to call it "money". It's ... not. Not unless you want to call every scarce good money. This has bene rehearsed many a time over the years. It's too volatile but be usable as a unit of account, it's not backed by a nation state and it can't be used to create credit. These are all important functions of money and Bitcoin has none of it.

And no, it's not a Ponzi scheme either, it's a new kind of scam: [https://prestonbyrne.com/2017/12/08/bitcoin_ponzi/](https://prestonbyrne.com/2017/12/08/bitcoin_ponzi/)

<comment><USER28> not being controlled by any government and not being able to create it out of thin air for credit is a feature not a bug. but if you are calling bitcoin scam in 2019 I don't think we can have a rational argument.

<comment><USER27> It's a feature for a very small number of people with a quasi-religious aversion to government-backed money. It's also a feature for criminals. But both historically and currently, the great majority of people seem to quite like currencies backed by well-run governments.

<comment><USER28> for criminals see the root of the comment you are commenting on. fact: it's not popular among them.

<comment><USER27> Not being controlled by a government is a feature for all criminals. Bitcoin has other issues that make it less popular for criminals, though.

<comment><USER28> I don't get the sequence of your thought. Not being controlled by a government is a feature of a global currency such as the IMF currency. Or Gold. Do you think a global currency not controlled by one entity is good for criminals? Why? How?

<comment><USER29> [https://www.imf.org/en/About/Factsheets/Sheets/2016/08/01/14...](https://www.imf.org/en/About/Factsheets/Sheets/2016/08/01/14/51/Special- Drawing-Right-SDR)

> The SDR serves as the unit of account of the IMF and some other > international organizations.

> The SDR is neither a currency

And gold is not a currency either. It's a scarce good, nothing less nothing more.

<comment><USER28> It was an example.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER30> How does Grin compare to using Blackbytes on the Byteball directed acyclic graph (DAG)? [https://medium.com/byteball/private- textcoins-6a2288d80757](https://medium.com/byteball/private- textcoins-6a2288d80757)

</comment><comment><USER31> It's not just privacy that appealing about Grin, it's designed to scale based on usage. Grin is designed so that its network doesn't get dragged to a standstill when transaction volume increases. This was the core issue in the Bitcoin block-size debate: there were more transactions than could fit into a 1Mb block. As long as there's a restrictive block size limit, there will be a capacity issue. A dirty little secret is that to get around scalability issues, almost all payment processors and exchanges do off-chain transactions. Which begs the question: why bother using a cryptocurrency with blockchain? It's a slippery slope. Increasing usage will of course increase transaction volume. To ensure that a block size can continue to accommodate volume increases, you have to streamlining each block by trimming transactions. MimbleWimble/Grin maintains that if an output spends an input, you no longer have to keep them because they cancel each other out. This greatly cuts down the amount of data you have to store and process. The only data that nodes keep is unspent outputs and block headers. Instead of thinking of blockchain capacity in terms of number of transactions, MimbleWimble/Grin is designed to grow with the number of users using cut-through. The streamlined blocks make growth sustainable over time as the transaction data set does not continue to get bigger. This increases privacy since transaction data gets removed and it also enables fungibility. That's the scalability answer Grin brings, in addition to privacy by default.

<comment><USER32> You're very much wrong, Grins innovation is not removing the hard block size limit, that many other coins don't have.

There's nothing stopping Bitcoin scaling to 100MB blocks with today's hardware, the problem is long term blockchain growth, and validation times, that sort of thing.

Grins innovation is the entire blockchain is can be shrunk using algebraic reduction, unlike other cryptocurrencies that scale linearly with total transaction amount, Grin only saves unspent transactions and a small proof of the total history of the coin since it's mining date.

This means that a 100GB ledger could be reduced down to 100s of MB of its size, and be a just as provably secure as the original unreduced ledger.

</comment></comment><comment><USER33> This was released recently [https://medium.com/@CryptoProfG/grin-money- explained-4-explo...](https://medium.com/@CryptoProfG/grin-money- explained-4-exploring-grins-monetary-model-e48b1761653 )

— Exploring Grin's Monetary Model: Grin's monetary model gives it medium of exchange and store of value features; community, demand and usage have to do the rest

Check out the charts at the bottom BTC USD gold & Grin vairous comparisons

</comment><comment><USER34> If it doesn't allow people to speculate (no ICO, no mining), how would people be interested to use it? (bootstraping)

Note: I don't know anything about blockchain.

<comment><USER35> It isn't that there is no mining, they stated that there is not pre-mining, so no mining before the tech is released. This is a regular hype technique used by shit coins in the past (ditto to the ico method).

They have a mining tool that runs on OSX and Linux 64 on their GitHub.

The premise is that they want it to be an actual currency as opposed to a glorified stock option.

<comment><USER36> Yeah, it is a pipe-dream. To be useful you need to be able to buy/sell it - which means going to exchanges. Once you are on exchanges you are a volatile asset or a "glorified stock option" and a part of unregulated gambling platform.

<comment><USER22> Exchanges are not just to gamble. Imagine you start using MimbleWimble in your daily life: e.g. you're a freelancer and you decide you want to get paid in Grin. At some point you will need to convert your Grin to fiat currency just to do some typical purchases that are usually not possible to pay with crypto (e.g. rent? groceries?). For this, you need an exchange. It's not gambling, it's a temporary necessity.

<comment><USER37> > Imagine you start using MimbleWimble

With that name, nope, never.

<comment><USER38> MimbleWimble is a protocol, not a coin. Grin, though I'd still say it's a bit funny sounding, is acceptable. The backstory of how it was released and why it's called MimbleWimble is pretty cool.

</comment></comment></comment></comment></comment></comment><comment><USER39> > Grin has no amounts and no addresses.

So how do I pay somebody?

<comment><USER13> Payments are interactive like credit cards. They require that either both parties are online or that there is some hosted bulletin board that will hold transactions data until you come online.

<comment><USER40> Credit cards have addresses and they aren't online. Simply knowing the number on a card is sufficient to withdraw from it.

<comment><USER13> My understanding of how Credit cards work:

1\. Alice has a secret called a credit card number.

2\. To pay Bob she shares this secret with Bob.

3\. Bob then contacts the credit card company and asks to transfer funds from Alice's account to Bob's account. This is authorized using the secret that Alice gave to Bob.

If Bob or some party acting on his behalf Alice can not receive this secret from Alice Bob can't get paid by Alice. As you point out if Alice gives the credit card secret to Bob, Bob can withdraw funds from Alice's account while she is offline. This is exactly the same in Mimblewibble. If you give a third party your Mimblewibble secret that third party would be granted the ability withdraw your funds while you are offline.

<comment><USER37> Internet transactions, right now, yup.

'normal', customer-present transactions are more involved. They involve Bob sending a set of transaction data to Alice's card, which the card then signs with an embedded private key, so that Bob can't just keep asking for more.

Unless you still use magnetic stripes. I'm looking at you USA...

</comment></comment></comment></comment></comment><comment><USER41> Out of interest I built the client, and ran `grin` and it says "mainnet not ready yet - use floonet". Does that mean it's in some kind of "test mode" where the "grins" are not real? How do things change over to mainnet?

<comment><USER24> Mainnet launch is Jan 15. Testnet mode until the genesis block is mined.

<comment><USER42> Is floopnet testnet?

<comment><USER43> Yes, floonet is the testnet.

<comment><USER14> As many other things in Grin (the name itself derives from [http://harrypotter.wikia.com/wiki/Gringotts_Wizarding_Bank](http://harrypotter.wikia.com/wiki/Gringotts_Wizarding_Bank)), the testnet name is Harry Potter inspired: [http://harrypotter.wikia.com/wiki/Floo_Network](http://harrypotter.wikia.com/wiki/Floo_Network)

</comment></comment></comment></comment></comment><comment><USER44> As far as I understood, the transactions must be build interactively between sender and receiver. This would mean that you could only send grin to people how are online. Is this correct? And if so, is this going to change?

<comment><USER45> That isn't correct, but it's an easy conclusion to draw.

What this means is that both parties must participate in a transaction. With Bitcoin, and hence with most blockchains, you can send to an address; that address can be a cold wallet, or could not exist at all, in which case your cybercoins are gone.

With MimbleWimble both parties must participate (interact) to form a transaction, but this can happen asynchronously.

In other words, both parties must be online, but not necessarily at the same time.

<comment><USER6> Without having a semantic debate, I think the point is that since there are no static addresses, parties cannot _send_ money in a one-way transaction. Every transaction must have a handshake. Those two people could be in person, or online, but they don't need to be connected to the grin network until either wants to post the transaction.

> you can send to an address; that address can be a cold wallet, or could not > exist at all

I don't think this is accurate since the other party must participate.

<comment><USER45> I think you probably missed the beginning of that sentence, which was contrasting e.g. Bitcoin with the MimbleWimble approach.

The difference between 'both parties must be online at the same time' (true of, say, a phone call) and 'both parties must participate, even if it's during different weeks' is a substantive difference, I only wished to indicate that MW requires the latter, not the former.

</comment></comment></comment></comment><comment><USER46> I can't really see how it's better than Monero. From their website:

Monero uses ring signatures, ring confidential transactions, and stealth addresses to obfuscate the origins, amounts, and destinations of all transactions.

<comment><USER4> My understanding, which may be incorrect:

The "anonymity set" of a monero transaction is just the number of fake values created in it. This is a fairly small number. If you're willing to put the effort in, you can trace all of them.

For MW, the the anonymity set is either "all users of system" (if you don't believe in a global network observer) or "all users of system who exchanged parameters in a given set".

<comment><USER47> In addition to this, Monero has the same "linearly growing blockchain history" scaling problem that bitcoin does. fluffypony has floated the idea of a mimblewimble sidechain for Monero.

</comment></comment></comment><comment><USER48> (Shameless plug:) Those of you who care to follow the project can subscribe to [https://grinnews.substack.com](https://grinnews.substack.com) for weekly updates.

</comment><comment><USER8> The two main reasons imo why Grin is important are not only the privacy, which is well covered here, but also the on-chain scaling implications.

We won't know till it's actually used, but there could be orders of magnitude greater on chain scalability for this BTC while retaining proof of work...

This is a major accomplishment and both Grin and Beam are major steps forward for crypto.

<comment><USER36> "We won't know till it's actually used" \- haha, which in crypto world means NEVER

</comment></comment><comment><USER49> There is some discussion on their forum on how to set the appropriate difficulty for the genesis block, and how to estimate the number of miners that will be around at the beginning. Good reading: [https://www.grin- forum.org/t/genesis-block-message/250](https://www.grin-forum.org/t/genesis- block-message/250)

<comment><USER14> More up-to-date discussion at [https://github.com/mimblewimble/grin/issues/2121](https://github.com/mimblewimble/grin/issues/2121)

</comment></comment><comment><USER50> One thing I don't see from the mainpage, who is the actual intended audience that will facilitate adoption?

All I see is 'everyone' and well that's rather vague.

What's the actual value statement other than anonymity? Because being more efficient at the same thing seems of marginal value if the same thing does not have significant demand otherwise...

<comment><USER13> Because it is cool cryptography! Grin isn't a company. In this case it seems better to build something like this and see who uses it rather than attempting to convince strangers on the internet that they need it for X, Y, and Z reasons.

<comment><USER50> Thanks for the clarification, it does seem to have some interesting potential if a good use cases arises

<comment><USER36> It was sarcasm

</comment></comment></comment></comment><comment><USER51> I really don't understand many people's view on cryptocurrency. It looks they think anonymity is most important feature of cryptocurrency. This is ridiculous. There are already too much anonymity in fiats. The principle of cryptocurrency should be the contrary: transparency.

<comment><USER52> People have different needs for privacy.

For example, you don't want your colleagues learning how much you earn, nor does your employer. In a centralized banking system there is a level of privacy because the employer trusts the bank won't divulge the information because they have legal requirements and a reputation. When you take away the central party, now everyone can learn what everyone else gets paid. Without an equivalent level of privacy, very few people will ever consider using Bitcoin for payroll.

People also do not want their lives monitored so they can be sold advertisements or be forced to behave in certain ways by their peers. It's none of an employer's business what their employees spend their money on after they have been paid for work. Increasingly, we are seeing some employers make judgements about the people they pay because they do not share the "correct" political thinking of the employer. The whole thing is becoming absurd.

Transparency of the ledger is what is important. You need to know that somebody didn't make money out of thin air, or double-spend. If you can do this while keeping the actual transaction data private, most people would rather have private transactions if given the choice.

Fiat doesn't have a great deal of anonymity from law enforcement. For most people, nearly everything but small transactions can be known. Even cash can be traced from ATM->Person->Shop->Bank. The notes have unique ID codes, and the biggest denomination of note (say, a $100 bill) usually goes straight from bank to bank with only the 2 people between the transaction, because these are not issued directly as change. You can be sure the bank makes a record of every note and who withdrew/deposited it. Moving large amounts of money through the fiat system is extremely difficult, _unless you 're a bank_. The banks have a monopoly on the ability to launder large amounts of money, and they certainly make use of it!

<comment><USER53> > you don't want your colleagues learning how much you earn

Public servants have their salaries public in many parts of the world. There is something to be said for transparency.

Some places even have all tax information public so this information is accessible on literally everyone.

</comment></comment></comment><comment><USER54> Having never heard of "mimblewimble" before, I though I was going to see a parody cryptocoin riffing on how oversaturated the market is combined with how ridiculous some buzzwords are.

</comment><comment><USER55> How does Grin protect against double spend? What keeps two valid transactions spending the same coins from both being accepted?

<comment><USER14> Like Bitcoin, Grin checks that inputs are in the UTXO set, and removes them from this set. Beyond that, a double spend would also invalidate the check that sum of coinbases equals sum of UTXO.

</comment></comment><comment><USER56> Ok, it's a first inplementation of mimblewimble, but we're still talking about MINING/PoW.. That's a pity

</comment><comment><USER57> Looks like uses some same techs as Monero. (Confidential Transactions, no amount, no address)

<comment><USER58> It's mathematically different from Monero, and is thought to be significantly more secure. It also has some very interesting properties like allowing the blockchain to be represented in a totally different way, using only a tiny amount of data.

<comment><USER59> It is not thought to be significantly more secure. It runs on the same cryptographic assumptions as monero, but with a de novo implementation that hasn't received very much review.

<comment><USER58> It's thought to be less susceptible to tracability analysis than Monero.

[1] [https://arxiv.org/pdf/1704.04299/](https://arxiv.org/pdf/1704.04299/)

[2] [https://eprint.iacr.org/2017/338.pdf](https://eprint.iacr.org/2017/338.pdf)

</comment></comment></comment></comment><comment><USER60> Fundamentally incompatible with anything resembling AML, no? North Koreans rejoice!

<comment><USER6> Kind of like physical cash - which is what crypto is. It's odd that people think any form of cash would "conform to AML" \- an impossible requirement for anything decentralized.

It's like saying tires don't conform to speed limits.

<comment><USER60> You have to move physical cash. And they have dogs at airports just for finding it.

</comment></comment></comment><comment><USER61> amazing how you keep avoiding to talk about the other mw implementations. simply amazing.

</comment><comment><USER62> How does one get mainnet grin?

<comment><USER35> You can't until the release on Jan 15th

</comment></comment><comment><USER63> Mainnet launch is Jan 15.

</comment><comment><USER64> Can anyone please tl;dr what's so special about Grin and how it achieves that?

<comment><USER65> It may scale really, really well "The state a given node in a MimbleWimble blockchain needs to maintain is very small (on the order of a few gigabytes for a bitcoin-sized blockchain, and potentially optimizable to a few hundreds of megabytes)."

[https://github.com/mimblewimble/grin/blob/master/doc/intro.m...](https://github.com/mimblewimble/grin/blob/master/doc/intro.md)

Also, anonymous transactions.

Downside: you cannot "send coins to an address" as in bitcoin, you must have interaction with the other party to create a transaction.

<comment><USER62> Doesn't this just mean adoption is easily farmed out to various communication protocols that do it better? (Signal, Whatsapp, Telegram, Threema). Basically handing them a ready-made drop-in cryptocurrency system ?

<comment><USER4> Hurts anonymity if you have to do peer to peer transfers of the file, plus you have issues around resending/etc. (payments are somewhat different from other messages). Even with IM-based exchange, I'd probably use something else and then pass a message instead.

</comment></comment></comment></comment><comment><USER66> "Without censorship or restrictions."

Great so fraud is a built in feature.

<comment><USER67> I call censorship and unrestricted control over my funds a form a fraud :)</comment></comment>


Show HN: Pipe To Me – Stream data over HTTP using curl - <AUTHOR> https://github.com/jpschroeder/pipe-to-me <comment><USER2> Awesome. I would use this as shared clipboard. Immediately made bash functions for myself :)

 _pipefrom() { local key=${1:? "Error: Missing pipe key"}; curl -s [https://pipeto.me/$key;](https://pipeto.me/$key;) }_

 _pipeto() { local key=${1:? "Error: Missing pipe key"}; curl -T- -s [https://pipeto.me/$key;](https://pipeto.me/$key;) }_

</comment><comment><USER3> Would there be no way for the server to indicate over HTTP to curl that it is not ready to receive until the receiver has connected? Then curl might be able to wait until it reads from the pipe.

<comment><AUTHOR> Hello, Author here. I toyed around with the idea of not allowing the sender to connect until a receiver was connected, but I could see the use case where you wrote a stream to nowhere and then had receivers jump in and out.

I also toyed around with using the "-T." curl argument instead of "-T-" to allow some response in this case, but I came up against a known issue in curl ([https://github.com/curl/curl/issues/932](https://github.com/curl/curl/issues/932)). I'm sure this wasn't the intended use case though.

It is definitely worth exploring further.

<comment><USER3> That is interesting. What made you stay away from returning an error if someone tries to post without a receiver?

<comment><AUTHOR> I may end up re-thinking this, but one idea was that you could temporarily `tail -f` a log file into a pipe and then check up on it later via a mobile browser. It could be writing the whole time, but just dropping everything when you weren't watching it.

It would probably also make more sense if I were to add some kind of buffering or storage in the future.

<comment><USER3> I don't know your needs and goals, and maybe it has to be HTTP, but what about handling the sockets yourself?

People could then use netcat to send and receive, and the server could block either end until someone connects on the other end. Personally I would really appreciate a tool I could connect to with netcat or anything else that speaks TCP. I don't know how someone would use the service from javascript though.

No buffering needed by the server. If either end has to be asynchronous, just run in background + nohup if you're calling this from a shell.

Maybe some inspiration from how blocking FIFOs work on Linux: [http://man7.org/linux/man-pages/man7/fifo.7.html](http://man7.org/linux/man- pages/man7/fifo.7.html)

You could even do a non-blocking version which just refuses connection. netcat can be set to retry: [https://unix.stackexchange.com/questions/432249/nc-to- retry-...](https://unix.stackexchange.com/questions/432249/nc-to-retry-on- connection-refuse)

I realise that this doesn't make it easy to indicate which pipe one wants to connect to.

<comment><AUTHOR> I think you are right actually. I will experiment with some ways to make blocking vs non-blocking operations. I need to try out @paulddraper's suggestion below to see if I can do that over http. I'd like to make a raw socket version regardless. Like you said, I just need to figure out the best way to pass the key.

Edit: One nice thing about the https interface is that you get an encrypted channel. Maybe SSH would be another option for transport. That would also make passing keys easier.

<comment><USER3> How would the SSH work?

</comment></comment></comment></comment></comment></comment></comment><comment><USER4> What are some practical applications for Pipe to Me? (should be in README.md)

<comment><AUTHOR> There are a couple (admittedly simplistic) examples in the readme like transferring or remotely watching files. The basic idea though is to take data from a unix/linux pipeline from one machine to another with the benefit of also being able to watch it in real time in a browser.

</comment></comment><comment><USER5> how does it update without javascript?

<comment><USER6> The browser will start displaying the contents of a response before it has entirely downloaded. So in this case the browser sees it as a really slow server (you can see the loading icon is still there in the demo) that sends a bit of content every so often</comment></comment>


3,500-tonne goldmine found in Uttar Pradesh's Sonbhadra district - <AUTHOR> https://in.finance.yahoo.com/news/yogi-adityanath-strikes-gold-3-084528731.html <comment><USER2> some context: [https://twitter.com/VirenMohindra/status/1231021674482544640](https://twitter.com/VirenMohindra/status/1231021674482544640)

<comment><USER2> tl;dr: no reputable sources to back this up, elections, gross quantity in USD$ is greater than the GDP of the state it was discovered in ~$224b. will theoretically not affect gold prices</comment></comment>


107 year old vs SWAT - <AUTHOR> http://rt.com/usa/107-suspect-killed-swat-568/

<comment><USER2> Are we not at a stage where we can disable/disarm a 107 year old man without killing him? Why can't SWAT teams tranquilize a risk, like we do an animal?

I completely understand the risks involved for the police, and am thankful that none of them were physically injured in doing their duty of protecting the public, but along with one dead old man, I'm sure their is a psychological cost to the SWAT team in, after the dust settles, recognizing that they have killed a man who was in need of help.</comment>


Police Are Trying to Undermine Waze with a Deluge of Phony Cop Sightings - <AUTHOR> http://gizmodo.com/police-are-trying-to-undermine-waze-with-a-deluge-of-ph-1685391655

<comment><USER2> It always seemed obvious to me that police would do this, and not necessarily to "undermine" Waze — I look at it as police leveraging Waze to promote safe driving. Simply by posting a thousand fake cop locations to Waze they make Waze users slow down without needing to deploy real (and in short supply) cops.

I don't know how many people actually use Waze, but if it's a significant number then every police department should have someone on staff whose full- time job is to post fake cop locations.</comment>


Video Game Retail Sales Weak - <AUTHOR> http://thesurge.net/2014/02/26/ps4-video-game-retail-sales-weak-in-japan/

<comment><AUTHOR> I don't necessarily mind them, but I find local stores to be much better than the chains.

</comment><comment><USER2> I'm sick and tired of retail outlets anyway, especially video game outlets. They were the only game in town for distribution until digital made every one of them obsolete. I would not shed any tear if all of these places were to die out.</comment>


EuroPython 2013, early registration closes today (April 16th) - <AUTHOR> https://ep2013.europython.eu/registration/

<comment><USER2> Hopefully it won't be as hot as last year - felt like going home after the first day in Florence.</comment>


SEC Charges Failed Fyre Festival Founder and Others with $27.4M Offering Fraud - <AUTHOR> https://www.sec.gov/news/press-release/2018-141 <comment><USER3> This reminded me of Anna Delvey, the fake socialite who scammed a bunch of people in NYC: [https://www.vanityfair.com/news/2018/04/my-misadventure- with...](https://www.vanityfair.com/news/2018/04/my-misadventure-with-the- magician-of-manhattan)

It turns out she may have squatted in Billy McFarland's company's office for months, refusing to leave: [https://www.thecut.com/2018/07/anna-delvey-scams- fyre-festiv...](https://www.thecut.com/2018/07/anna-delvey-scams-fyre- festival-billy-mcfarland.html)

I wonder if these people initially set out to straight up scam people, or if they got caught up in the "fake it till you make it" / Instagram culture, and just kept digging themselves deeper.

<comment><USER4> What's the difference? When the mob converts to a legit garbage haulit company, we're they just "faing it till they made it"? Obviously even an amoral criminal would prefer to make money legally, _all else being equal_

<comment><USER5> The latter scenario is actionable. We can't do much about people who are just inherently dishonest, but we can do something about a culture that teaches people that dishonesty is a normal and healthy part of growing a business.

</comment></comment></comment><comment><USER6> McFarland is in prison. The "related criminal charges" put him in the Federal pen.[1]

        Federal Bureau of Prisons Inmate Locator
        WILLIAM Z MCFARLAND
        Register Number: 91186-054
        Age:  	26
        Race: 	White
        Sex: 	Male
        Located at: Brooklyn MDC
        Release Date: UNKNOWN

While out on bail awaiting sentencing, he tried another fraud last month, selling fake tickets to real festivals.[2] That got his bail revoked and a quick trip to the Brooklyn Metropolitan Detention Center.

[1] [https://www.bop.gov/inmateloc/](https://www.bop.gov/inmateloc/) [2] [https://variety.com/2018/biz/news/fyre-festival-founder- bill...](https://variety.com/2018/biz/news/fyre-festival-founder-billy- mcfarland-arrested-for-new-ticket-selling-scam-1202844282/)

<comment><USER7> I don't understand why you would keep doing the very thing people are investigating you for.

<comment><USER4> Do what you know.

<comment><USER8> He was just following his passion :)

</comment></comment></comment></comment><comment><USER9> > McFarland induced investors to entrust him with tens of millions of dollars > by fraudulently inflating key operational, financial metrics and successes > of his companies, as well as his own personal success – including by giving > investors a doctored brokerage account statement purporting to show personal > stock holdings of over $2.5 million when, in reality, the account held > shares worth under $1,500

Man. This whole event sounds like the perfect setup for a comedy. I really hope it's in the works.

[https://www.eonline.com/news/847110/fyre-festival-the- movie-...](https://www.eonline.com/news/847110/fyre-festival-the-movie-seth- rogen-and-the-lonely-island-say-they-planned-film-about-music-festival-gone- wrong)

<comment><USER10> That's my favorite bit. I guess a passing knowledge of Chrome developer tools is all you need to fraudulently raise $27m.

<comment><USER11> I'm actually surprised there haven't been more cases of VC folks being defrauded (Theranos aside). The way those people like to just throw hundreds of thousands of dollars or more at newly formed, wholly unproven, companies is astounding.

<comment><USER12> How do you know this doesn't happen all the time? Athletes and celebs get fleeced every single day but no one ever hears about it. No one in that position wants anyone to know they got taken. I can't imagine a VC would be any different. If you were a VC would you want anyone to know that the $X00,000 you put into an "early stage company" was actually spent on hookers and blow? Everyone knows there are shitty people out there but _you_ were the one who gave them money. There is certainly a threshold where this turns into fraud and the authorities are called, but if you've lost a rounding error amount of money why would you risk the reputation hit over punishing a con artist? You blacklist the fraudster, sweep it under the rug, then hope your next investment covers the loss. What is surprising to me is that this is happening right out in the open all the time and no one is noticing, mainly because the fraudsters have CS degrees and know not to get too greedy or seem too incompetent. Everyone here knows you can get industry cred and a very nice salary for a couple years with nothing more than a clever slide deck.

<comment><USER7> What's the reputation hit?

<comment><USER4> If you are supposedly a brilliant investor and some idiot kid stole $200K from you, you wouldn't tell anyone because it would ruin your reputation as a genius.

</comment></comment></comment></comment></comment></comment><comment><USER13> Billy McFarland's Wikipedia page [1] is an entertaining read.

My favorite part of his story: "federal prosecutors in Manhattan said that from late 2017 to about March — months after Mr. McFarland had been charged ["with wire fraud in relation to Fyre and Fyre Festival"] — he ran a company that sold fraudulent tickets to exclusive events like the Met Gala, Burning Man and Coachella. In one case, the authorities said, two customers flew from Florida to New York for the Grammy Awards, only to be turned away at the door" [2].

Not sure how someone becomes this irredeemable at just twenty-seven year old.

[1] [https://en.wikipedia.org/wiki/Billy_McFarland_(entrepreneur)...](https://en.wikipedia.org/wiki/Billy_McFarland_\(entrepreneur\)#cite_note-27)

[2][https://www.nytimes.com/2018/06/12/arts/fyre-festival- organi...](https://www.nytimes.com/2018/06/12/arts/fyre-festival-organizer- fraud.html)

<comment><USER14> Another point of view: at no time is any human being irredeemable.

<comment><USER15> As soon as you discard someone as such, you're just basically just consigning them to do even more of the same. Why even bother trying change if you are actively expected to not do any better?

It's refreshing to see a viewpoint that doesn't jump straight to throwing bad guys to the wolves.

<comment><USER16> Auto-monkeysphering - involuntarily deciding you won't need to think about that person again in the future, reducing the cognitive load of humans to need to care about by one, forever.

</comment></comment></comment></comment><comment><USER17> "Let's just do it and be legends, man." This sentence has made it into the vernacular of my group of friends, whenever we start considering something that isn't at all thought out yet.

<comment><USER18> Definitely a go-to phrase for me when tackling a hard challenge. Followed up with "except let's actually do it, not like that dumpster fire of a festival."

</comment></comment><comment><USER19> What about the people who promoted it without disclosing that they were paid to promote it? Certein Instagram celebrities come to mind.

<comment><USER20> If they weren't in on the fraud, I'm not sure they should be held responsible.

<comment><USER13> > _If they weren 't in on the fraud, I'm not sure they should be held > responsible_

They shouldn't be held _criminally_ responsible. Civilly, however? Fair game. If you make money selling a product, you have a duty to check it isn't a scam.

<comment><USER20> Isn't this a big issue with Amazon right now? What does the law say about it in that case?

</comment></comment></comment></comment><comment><USER21> > The Securities and Exchange Commission today announced that New York > entrepreneur William Z. (Billy) McFarland, two companies he founded, a > former senior executive, and a former contractor agreed to settle charges > arising out of an extensive, multi-year offering fraud that raised at least > $27.4 million from over 100 investors.

So the issue is already settled, and the 24.7M is just the fraud, not the penalty.

> McFarland has admitted the SEC's allegations against him, agreed to a > permanent officer-and-director bar, and agreed to disgorgement of $27.4 > million, to be deemed satisfied by the forfeiture order entered in > McFarland's sentencing in a related criminal case. Margolin, Simon, Fyre > Media, and Magnises agreed to the settlement without admitting or denying > the charges. Margolin has agreed to a 7-year director-and-officer bar and > must pay a $35,000 penalty, and Simon has agreed to a 3-year director-and- > officer bar and must pay over $15,000 in disgorgement and penalty. The > settlements are subject to court approval.

I don't know what the forfeiture case involved, but this looks like a slap on the wrist given the numbers involved.

EDIT: > McFARLAND, 26, of New York, New York, pled guilty to two counts of wire fraud, each of which carries a maximum sentence of 20 years in prison, and consented to a forfeiture order in the amount of $26,040,099.48.

from: [https://www.justice.gov/usao-sdny/pr/william-mcfarland- plead...](https://www.justice.gov/usao-sdny/pr/william-mcfarland-pleads- guilty-manhattan-federal-court-defrauding-investors-and-ticket)

That forfeiture does NOT look like a slap on the wrist

<comment><USER22> I mean, that forfeiture looks like "return most of the money you stole from the bank" with no punitive damages other than an officer-and-director bar, so does appear to be a slap on the wrist, unless he also serves time for the wire fraud.

<comment><USER21> You are correct - I was focused on the "did he get to profit from this despite getting caught" because I was worried about the positive incentive to be a fraud. However, lack of a positive when caught is NOT the same as a negative, so yeah, still a slap on the wrist, relatively speaking.

<comment><USER23> This is just the SEC charges. They mention a concurrent criminal case - <USER2> is where the actual penalties are going to be.

</comment></comment></comment></comment><comment><USER24> Seems like a pretty generous settlement, doesn't it? He just had to give back the money. The "permanent officer-and-director bar" is there to prevent him from continuing to defraud people, but he really didn't have to pay an actual fine at all.

<comment><USER25> It's the difference between restorative justice and retributive justice. This is the former, and seems better for the public good.

I want them to know they'll lose everything they gained if they're caught. I don't want them coming up with ever more clever and socially destructive ways to avoid being caught because of harsh penalties.

<comment><USER24> Seems like the opposite to me. If there's no penalty to getting caught, why not keep trying? I'm not sure what "ever more clever and socially destructive ways to avoid being caught" you could be referring to

</comment></comment></comment><comment><USER26> This makes me think of the Chinese social credit score system. What if it actually works and detects these kinds of people and locks them out of the system before they can cause a lot of damage?

<comment><USER27> Probably depends on the things that get measured, how easy it is to fake/rort those metrics, and how resistent to corruption the system is.

To me it sounds like a case of "interesting in theory, but probably difficult to make work in practise" things. Corruption would undermine the whole thing, if that's not the actual behind-the-scenes intent from the start.

</comment></comment><comment><USER28> failed fyre festival founder, that's quite a tongue twister.</comment>


Ask HN: Question about Sparknotes and book royalties - <AUTHOR>

I have a question about the website sparknotes.com. For anyone that isn't familiar it is a website that summarizes and analyzes popular books. It is usually used by high school and college students to avoid reading assignments. Does a website like that have to pay royalties to the publishing companies of those books? If so, how much money are we talking about? <comment><USER2> While this is not the case with all the books they summarize, most of them are out of copyright. As for the new(er) books on the site, I don't know.

Out of interest, what prompts the question?

<comment><AUTHOR> I have 4 chapters of physics to read tonight.</comment></comment>