Ask HN: Why is tax filing in the US so complicated? - <AUTHOR> <comment><USER2> There are strong political incentives, when a party wants to run on a platform of reducing taxes, to create as strong of a negative association with taxes as possible.

Here are some ways you might seek to achieve this, which you may have seen before:

> Taxes would be as manual of a process as possible, even for simple cases > where the government already possesses the information needed to file from > your employer, your bank, and from stock exchanges. You'd do everything in > your power to ensure automatic filing, where no human even actually needs to > be in the loop to run the manual computations, doesn't exist, is > structurally hard, and if possible, is never allowed.

> Allow and support predatory ecosystems of tax-preparation software or force > people to hire accountants in order to navigate the complexity on their > behalf - the more odious, expensive, and memorably bad these measures and > systems are, the better.

> You'd exploit your lack of need for simplicity in the tax system to provide > kickbacks to special interest groups in the form of targeted reduced taxes > for those who supported your election, as well as creating myriad carve-outs > and deductions for key voting blocs, perhaps manual laborers and farmers in > swing states. This incidentally also makes taxes more complicated - a bonus.

The last issue of rewarding constituents is bipartisan, which is part of the reason why this is treated as a low priority issue for one party despite the status quo the other party enables being pretty obviously bad.

</comment><comment><USER3> [https://qz.com/1590961/taxpayers-are-paying-turbotax-to- keep...](https://qz.com/1590961/taxpayers-are-paying-turbotax-to-keep-taxes- complicated/)

</comment><comment><USER4> Because large companies like Intuit lobby to make the process complicated so they can sell expensive software for taxpayers to navigate it.

</comment><comment><USER5> For 90% of people they're not really that complex. The 1040-EZ, which is all most people ever need to fill out every year, is ultimately just a few numbers that you add and subtract. Then you look at a big table so that you don't have to do any multiplication or rounding. Then you wait for a refund if you overpaid your taxes through the year, or write a check if you underpaid, and you're done.

<comment><USER6> Per [https://smartasset.com/taxes/all-about-irs- form-1040ez](https://smartasset.com/taxes/all-about-irs-form-1040ez), Form 1040EZ is discontinued; there is only a single redesigned Form 1040 for all filers to use.

<comment><USER5> I'd forgotten about that. The same applies to the new 1040 though, and the older 1040 wasn't that much more complex. If you qualified for the 1040EZ, there would simply be some sections that didn't apply to you.

</comment></comment></comment><comment><USER7> Oh how you have opened a can of 'My pet peeves'

So the tax laws are enormous. And ignorance of the law is no excuse.

Then I contend the US tax laws are un constitutional.

They are a cruel and unusual punishment for a citizenry that has not been convicted of a crime.

<comment><USER8> Given the existence of the 16th Amendment, on what basis do you claim that the US tax laws are unconstitutional?

<comment><USER7> They are a cruel and unusual punishment for a citizenry that has not been convicted of a crime.

<comment><USER8> Cruel, perhaps. You're going to have a hard time arguing "unusual", though...

</comment></comment></comment></comment><comment><USER9> $$$</comment>


Ask HN: Any electrical engineers? - <AUTHOR>

Hello guys!
I'm an electrical engineering student with a focus on control and automation. My dream is to build my own plant, to better society using technology.
Do you know any electrical engineers starting businesses?
Can you recommend any good stories or internet communities for this? <comment><USER2> I've been looking as well. I'm an electrical engineer with focus on HV electrical power systems and been working with the power utility for a decade. Development in this area are mostly on renewable energy. The only experience I have in coding is creating Python scripts to automate Siemens (PTI) PSS/E software for load flow, fault, dynamics simulations, etc. Since you are interested in control you may want to look at SCADA systems and perhaps develop a cheaper system or a better implemented one than what the major players like Siemens, Alstom, Schneider, Areva and ABB offer.

<comment><USER3> Agreed. I'm aware of a few small businesses that seem to be doing well at undercutting the big players with SCADA.

</comment></comment><comment><USER3> I'm also an electrical engineer, planning to start working this summer. I took a little detour to study for a M.Sc in mathematical ecology after finishing my B.Eng. I did some fairly heavy programming, algorithms and data visualization in MATLAB to support my thesis on scallop population dynamics. I'd love to get into doing control and/or sensing for ocean applications.

Ideally, I'd like to start a business in this field eventually. But don't feel that I have the connections or expertise yet. This type of engineering is not hacking, so the "ramen profitable, learn as you go" paradigm seems to be less applicable. My plan is to learn some more in industry over the course of however many years. As it stands I can build things, but I don't understand enough about the market to make sure I build the right things.

PS: Is anyone looking for recently graduated EEs with a little more math and programming than typical? You don't have to be in the ocean, though that could be a bonus.

</comment><comment><USER4> I never went to college for engineering but I've worked in the electrical engineering field for the past 11 years doing controls and automation. I have programmed A-B, Modicon, GE and Siemens PLC and HMI/SCADA systems.

The only businesses I really hear about anyone starting is an integrator shop. Not much smaller time software stuff other than OPC servers and active-x or .NET controls for SCADA work.

</comment><comment><USER5> Check out <http://electronics.stackexchange.com/> – formerly called ChipHacker.

</comment><comment><USER6> I did EE in school but never practiced as a professional.

I am hang my head in shame.</comment>


Todolist: The perfect command-line task management app. Fast, simple, GTD - <AUTHOR> http://todolist.site/ <comment><USER2> Why did you not go with argument conventions? [http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_...](http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html) Would be nice if it adhered to standards.</comment>


PyCharm 4 is out - <AUTHOR> https://www.jetbrains.com/pycharm/whatsnew/index.html

<comment><USER2> Anybody know when I can expect the upgrade to be rolled out?

</comment><comment><USER3> This is awesome. So glad I started using PyCharm recently.</comment>


How a Diode Changed My Life - <AUTHOR> http://onurcelebi.com/blog/how-a-diode-changed-my-life/ <comment><USER2> How many of us got one of those Radio Shack 150-in-1 electronics kits as a kid? ([https://www.google.com/search?q=radio+shack+electronics+kits...](https://www.google.com/search?q=radio+shack+electronics+kits&tbm=isch))

It came with a book of projects (e.g. 150 projects and hence the toy's name) and each page had a listing showing the wires you attach from one coiled spring to another. Hook up different components of the board to make an AM radio receiver, or a "lie detector", or tone generator.

Here's the crazy thing. I ran across an old one 20 years later as an adult and the toy's brilliant idea finally dawned on me: it allows small children to play with electronics without getting burned by a hot 700 degree soldering iron! Instead, the child's fingers push the springs apart and he inserts the pre-stripped wires to connect it to another spring. It was even genius that _all_ the wires it came with were pre-stripped so that even wire cutters weren't necessary. Everything was also low voltage (9v & 1.5v batteries) so you didn't have to worry about a naked power supply plugged into the wall electrocuting the kid. (E.g. [https://youtu.be/9RMKrpzoMkE?t=2m52s](https://youtu.be/9RMKrpzoMkE?t=2m52s))

My kit had diodes on it but unlike the author, the toy didn't teach me about them. Perhaps for others, the Radio Shack kit was a gateway drug to an electronics career.

<comment><USER3> For me it was a similar no-solder-required project book called "Dick Smith's Fun Way Intro Electronics" (the cover project being a "beer powered radio"!), I think at about age 6.

There was a volume 2 which introduced more advanced projects and soldering, and a volume 3 which introduced integrated circuits.

<comment><USER4> I wandered over to find Dick Smith's somewhere in silicon valley (first US store?) at some point. Other than that, it was an Aussie thing, right?

<comment><USER5> It was an Australian thing, although it's (sadly) gone now.

<comment><USER3> Jaycar took up the mantle of the hobbyist electronics store years ago anyway.

<comment><USER5> Does anyone know how Jaycar are doing these days?

<comment><USER3> Apparently OK:

[http://www.afr.com/real-estate/jaycar-founder-offers-way- out...](http://www.afr.com/real-estate/jaycar-founder-offers-way-out-for- jittery-dick-smith-landlords-20160112-gm46ak)

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> The part I love the most is that his father let him find his own answers instead of telling him the answer. I am on the board of a small science education non-profit. We do hands on science with kids under age 12. The hardest part about hiring teachers is that most teachers love sharing what they know - and thus give kids the answers. We want kids to explore for thier own answers. We have better luck hiring story tellers and teaching them enough science to deliver the lesson.

<comment><USER7> When I took Calc I in school, I was hanging out with another student from Hungary who had done the course already in the old country but somehow needed the credit here (in Canada), so he decided to read the "additional reading" that the professor recommended. He discovered that one of the books suggested to instructors to make errors on purpose when demonstrating a calculation on the blackboard. The idea is that once you reach the part where the equation doesn't resolve, you have to go line by line and examine everything carefully to see where the error is, and that's how as a student you better remember the calculus strategy used.

The professor who I thought was a distracted older lady was actually a wily teacher :)

<comment><USER8> It's my impression that Calculus is one of the courses most commonly taught using this method. I'm not sure that's always on purpose, however...

</comment></comment></comment><comment><USER9> It's also worth mentioning that transistors are basically back-to-back diodes, and that understanding a diode, _really_ understanding a diode, is the first step towards understanding semi-conductor physics, and electronics in general.

I remember well making crystal radios, firstly with store-bought diodes and capacitors, subsequently making my own capacitors, and then diodes. Taught me so much.

The diode - gateway drug to semi-conductor physics and electronics.

<comment><USER10> This is somewhat offtopic, but I've tried building crystal radios over and over again in my life, and have never gotten them to work. I've built them from kits. I've studied them online and built them from scratch, in various designs. I'm in a city so the signal should be strong enough. I wish I could figure out what went wrong. I am able to build any other type of circuit that I've attempted.

<comment><USER11> Did you connect the ground to an actual earth-connected cold water pipe? I made that mistake when I was a kid, thinking I could ground it to any old metal pipe.

<comment><USER12> Either not getting a good ground, or not having a long enough antenna are two issues I have commonly seen with some of the more basic kits.

</comment></comment></comment></comment><comment><USER4> Not the diode here; in the 1960s electronics became interesting and available as there was so much junk. I mean, people used to litter everywhere and there was random junk piles (and landfills) within minutes in any direction filled with TV and radio chassis, waiting to be hauled home with my minibike, spending hours retrieving valuable components as there were no retail electronics supply houses within a hundred miles and no one taught me mail order (RS Electronics - you suck, charging a 13 yo who walked miles and his whole weeks earnings the commercial MSRP for a single bridge rectifier). Each component was carefully removed, curated, and possibly fitted into some circuit from the few electronics books available to me. I cannot imagine how much lead exposure I had. My 15th birthday was a trip to a distant town and $100 to spend at this place called Radio Shack (and a bike), where I discovered all this other stuff and Forrest Mims. Theory had to wait until I went to HS and College in a larger city, but my seventh grade spanish teacher gave me his GI bill oscilloscope because I could identify transistors and current flow through them (Thank You prof Ludwig) and that kept me busy until then. Looking back, where there was a will there was a way.

</comment><comment><USER13> Diodes are cool. One changed my life too! But I built a crystal radio set with mine. Many nights of listening to AM stations across the eastern part of the US. (WGN, WOR, KYW, KDKA, WABC, WSM and WBAL)

That took me to ham radio and electrical engineering. All because of a 4 cent part.

<comment><AUTHOR> Nice! Looks like there's always a point of no-return experience for geeks like us.

<comment><USER14> An Arduino Uno changed mine :( I feel uncool.

<comment><USER13> Don't, the Arduino is the 60's crystal set diode!! Also they are about 75 cents in 1960's dollars!!! So it's all good.

</comment></comment></comment></comment><comment><USER15> I had a teacher in high school who liked to mention that "any diode can be light-emitting, once."

Still makes me chuckle :)

</comment><comment><USER16> I, too, have a special place in my heart for diodes.

When I was a kid, I had one of those 200-in-1 electronics kits. It had a germanium diode on it. The diode was clear. I connected a 9V battery directly to it, no resistor or anything else. It glowed super bright bluish white for a second or two and then burned out.

Now my EE friends tell me that no one uses germanium diodes anymore, and it makes me sad.

<comment><USER4> haha. I still keep a vintage pack of 50 around for the rare instance I have to throw down a crystal radio set for the kids...

<comment><USER13> Save them, real 1n34 diodes are hard to find. Most of the ones from HK or China are fakes and lack the sensitivity for crystal sets.

</comment></comment></comment><comment><USER17> Lovely story. Don't forgot that diodes also have a voltage drop across them which means that they can be used to change voltages from batteries or other sources if needed.

</comment><comment><USER18> This story is short, sweet and presented very nicely with the picture and diagrams. Thanks for posting it for us.

> We should first awake the curiosity and teach just enough to help them solve > a simple problem.

You should consider submitting it elsewhere online, as I'm sure teachers will find it of pedagogical interest, and worth a look, whether or not they are surprised by the conclusions/points you raised.

</comment><comment><USER19> > Even nowadays, my dad and I occupy the balcony table in sunny spring days > with electronic stuff to remember those days. Somehow, there is less magic > in playing with Arduino and Raspberry pi than simple diodes.

It's too bad the old Radio Shack Science Fair kits are no longer available. Here's a page from the 1975 Radio Shack catalog listing them: [http://www.radioshackcatalogs.com/html/1975/h100.html](http://www.radioshackcatalogs.com/html/1975/h100.html)

Go on to the next page, where there is more information and some pictures.

Here's a site that has scans of the documentation for several of them: [http://my.core.com/~sparktron/pbox.html](http://my.core.com/~sparktron/pbox.html)

<comment><USER20> Hah. I actually had the 10-in-1 Junior Electronic Lab Kit here:

[http://www.radioshackcatalogs.com/html/1975/h104.html](http://www.radioshackcatalogs.com/html/1975/h104.html)

I had an recurring fascination with electronics, but didn't really grok analog stuff until much later. Digital stuff and programming really caught my fancy, and has never let go.

</comment></comment><comment><USER21> Great article but this statement struck me as blind nostalgia.

> Somehow, there is less magic in playing with Arduino and Raspberry pi than > simple diodes.

The lack of magic is likely due to being an adult. I'm sure certain kids still find this stuff just as magical.

<comment><USER22> To a degree, yes, but in my capacity as a moderator in /r/electroncis on Reddit, my heart sinks a little when a person asks what's the best way to get into electronics and someone replies that they should get an Arduino and a few interface shields or a bunch of LEDs and start turning things on and off. Programming I/O or PWM signals is considered by many to be 'electronics'.

<comment><USER21> It's certainly much more likely to lead to a more profitable career. Do you wind your own transformers and use vacuum tubes? The really old guys would look down on cheating by using transistors and store bought coils. It's all just nostalgia. People can and should find the magic in different places than the previous generations did.

<comment><USER22> > Do you wind your own transformers and use vacuum tubes?

Have done in the past.

The trouble is, starting with an Arduino is a bit like wanting to be an engine specialist so buying an engine and fitting it to a chassic and wheels, but never digging in the opposite direction.

</comment></comment></comment></comment><comment><USER23> Loved the story and brought back many happy memories of hacking simple circuits with diodes and lights in almost exactly the same way.

</comment><comment><USER24> Ohh man .. this guy made me remember my all time love of hacking wth all sorts of electronic circuits .. those NPN transistors .. those FM transmitters .. those AM transmitters using 555 timer chip .. gang condensors .. and then on Digital side .. my favourite Op Amp , decade counters ... ohh my ohh myy .. i just miss those days .. :(

</comment><comment><USER25> Fantastic story! Electronics work is amazingly rewarding; beats most hobbies out there.

</comment><comment><USER26> Is this guy sure he's not me?

The only difference seems to be that my dad introduced me to electronics after he got sick of me taking apart various household devices to see how they worked, with mixed success at getting them back together in working shape.

</comment><comment><USER27> You're such a lucky boy. My biggest challenge is making buildings from tape and VHS cassettes in my childhood.

\-- Adam muzik seti hastasiydi, sanssizlik aq.

</comment><comment><USER28> Quote: "Of course, as you can imagine, as a little boy, that peaked my interest."

No, it _piqued_ your interest. Should I read on and find more of the same?

<comment><USER29> The writer is Turkish, and apparently speaks Turkish, French, and English. The article was interesting enough for me that I didn't feel a need to pick grammar or spelling nits.

<comment><USER30> I think there's a need for a format of soliciting editorial corrections that allows people to provide errata without feeling like they're being too picky?

<comment><USER31> I think this need extends to other areas of potential improvement, too. We could all be much better at many things if there were widely used, polite ways to give and receive unsolicited feedback.

<comment><USER29> Most of the time, just couching the comment with a little kindness works fine...

"Great article, enjoyed it. I noticed a couple of minor typos you might want to fix..." or "I see you speak several languages. English is a little tricky with homonyms, "peeked" in this context would be "piqued".

<comment><USER30> Even that seems a bit like it gets in the way. Also, if you didn't like the article does that mean you shouldn't offer a correction?

Perhaps what I'm after is a meta-thread content-thread separation in some way.

<comment><USER32> Just email the author using a toastmasters style feedback that is hearty and respectful. No need to pollute the thread or have a meta-thread.</comment></comment></comment></comment></comment></comment></comment>


Show HN: A Markdown Notepad App - <AUTHOR> https://github.com/kenforthewin/noted <comment><USER2> I've recently switched to using VSCode with these[0] two[1] extensions for all my markdown notes (I completely live off extensive note-taking and have gone through every single possible Markdown editor), and I couldn't be happier.

For the few devices where I don't have it installed, I use Mark Text[2] which is free, open source, cross platform, and lets me edit the same notes (stored locally, and synced to my NAS and OneDrive).

I truly don't understand why so many people are using centralised cloud sync notes, giving up file system access to your files and any reliability that you'll still have access to your notes in the future. People who are serious enough about note taking to require a markdown editor in the first place should be the same people who'd like to make sure their notes will still be available a few years from now. Not to mention the handiness of having your local filesystem when handling notes, eg being able to create a shortcut file in a project directory to link to relevant notes in your notes folder, and do that from multiple different project folders. Or being able to reorganise in bulk, rename in bulk, search/replace, all that stuff OSes have been working on for decades that <Insert Note App Startup> has listed in the TODO section of their readme.

[0] [https://github.com/yzhang-gh/vscode-markdown](https://github.com/yzhang- gh/vscode-markdown) [1] [https://github.com/mushanshitiancai/vscode-paste- image](https://github.com/mushanshitiancai/vscode-paste-image) [2] [https://github.com/marktext/marktext](https://github.com/marktext/marktext)

<comment><USER3> I used centralized cloud sync notes (Notion) because it works well across all my devices and I have to spend zero time maintaining it or otherwise managing it, it just works (and improves over time without me doing anything!). I am not worried about if the service ever shuts down, because I always have exports/backups of my notes and can always roll my own service if needed. There's really no downside to it.

<comment><USER4> I've been trying to get into Notion, but the biggest downside is that I can't edit the markdown source of my documents nor can I use my own editor to edit their documents. I'm not happy with Notion's editor -- for instance, unindenting item 2 out of 5 of a bulleted list will move it down to item 5 for some reason. I guess I could export documents to markdown, edit, and reupload, but at that point I'm just using Notion as cloud data storage.

edit: Didn't mean to criticize so much! I've found Notion is great for taking nice plain text notes on the go that I can instantly access on my other devices. In the past I achieved this with Syncthing, but Notion's syncing is much less finicky, and fast -- it takes less than a second to sync! Plus there's a share menu.

</comment></comment></comment><comment><USER5> There seem to be about a million markdown writing apps, but I don't really understand why they're useful. Granted, I'm someone who writes Java in Vim, but Markdown seems like the one language that's most suited to a simple text editor. It's is already so ergonomic and transparent that I can't really think of anything that would make it easier to write barring an AGI that could decide the words to put down for me. I don't often find myself needing to preview markdown while I'm writing it. I don't think I even really get much out of syntax highlighting. Are there actually a lot of people who get value out of this sort of app?

<comment><USER6> > There seem to be about a million markdown writing apps

And every single one is built on Electron, takes hundreds of megabytes to install, some gigabytes to build while claiming to be "minimal".

> I don't really understand why they're useful

The rendered view usually looks eye-candy which is a factor of inspiration. E.g. I experience immediate emotional reward as soon as I write something in Typora, it feels like calligraphy while is effortless. It's a dopamine trigger which can encourage you to structure and write the stuff down which is good for productivity.

This also means you can produce pretty-looking structured documents while storing them in a concise format which is trivial to both read and to process on almost every machine. You can also use a script to turn an markdown it into a beautiful print-ready PDF by means of LaTeX.

I've even switched to Typora from MS Word.

Needless to say it is particularly convenient to publish Markdown on GitHub pages.

> Markdown seems like the one language that's most suited to a simple text > editor

It is, by design, yet rendered view is more pleasure to write and to read.

<comment><USER7> [https://typora.io/](https://typora.io/)

</comment></comment></comment><comment><USER8> These apps all seem really similar, but the app that has finally solved all of my needs is inkdrop[0]. It supports all the major desktop platforms, and has iOS and Android apps as well (although fairly basic and not as slick as more established mobile note taking apps). Automatic note syncing (self hosted or as a paid subscription), great notebook and tagging support, in-editor type styling based on markdown tokens (I love that changing a headline level changes the font size, which you don't get in an IDE), and plugin support which includes a pretty decent vim emulation. It has worked flawlessly from the start for me and I always have it open on all of my machines. It's an electron app, so it's not as snappy as a native editor, but I think it's a good trade for the speed of development and cross platform feature set. I'm not affiliated with the project, just a very happy customer.

[0] [https://inkdrop.app/](https://inkdrop.app/)

<comment><USER9> Costs more than Notion - is there something that justifies that price? This is getting to be a competitive space (Evernote, Workflowy, and Dynalist are some of the others).

</comment></comment><comment><USER10> If you're looking for something like this with vim bindings and functionality, I really like VimR

[https://github.com/qvacua/vimr](https://github.com/qvacua/vimr)

<comment><USER11> There's a couple of md syntax highlighters for vim, that show rendered version (e.g. this _) and hide the markdown syntax, unless your cursor 's on it (e.g. _ this *). Esp neat for links, showing text without url.

TBH I haven't used it as an editor, just to read md offline (e.g. curl a github readme.md).

</comment></comment><comment><USER12> For those who avoid Electron, there's MacDown:

[https://github.com/MacDownApp/macdown](https://github.com/MacDownApp/macdown)

<comment><USER13> I really like MacDown except that, every so often, it freezes and shows the spinning beach ball for ten seconds to a minute, and then proceeds.

I primarily use it for MathJax for math.stackexchange.com.

An alternative is moeditor.

</comment></comment><comment><USER14> Not to forget VsCode, which has markdown support and preview.

<comment><USER15> More info, if you're curious, like I was:

[https://code.visualstudio.com/Docs/languages/markdown](https://code.visualstudio.com/Docs/languages/markdown)

Neat.

</comment></comment><comment> maksim-m I can recommend Joplin app. [https://joplinapp.org/](https://joplinapp.org/)

It's:

\- Free and open-source

\- Cross-platform

\- Support end-to-end encryption

\- Synchronization via NextCloud or Dropbox

\- Allows you to import notes from EverNote

\- Has a web clipper

<comment><USER16> You can also sync to the filesystem. I do this so I can use syncthing to synchronize my notes w/o the cloud and duplicati to back them up :)

</comment></comment><comment><USER17> How does this compare to Joplin?

[https://joplinapp.org/](https://joplinapp.org/)

</comment><comment><USER18> I've tried a bunch of markdown editors and writing tools (Ulysses, Ia Writer, Byword, etc.). I keep coming back to Vim for writing and Marked 2 for previewing and converting to PDFs, HTML, Word, etc. Is Noted just another markdown editor written in Electron or does it bring something truly unique to an already crowded field?

</comment><comment><USER19> Right now I use Ulysses on my work Mac, JotterPad on Android and Typora/Caret on Linux. All sync'd on Google Drive. Ulysses is far and away better. I wish there was some equivalent on Android or Linux. I.e., native, fast, pretty, let's you just use a regular folder enabling syncing with any service/app.

</comment><comment><USER20> I appreciate apps like this, but each time I've tried a simple editor like this, especially for the markdown support, I end up not using it more than a few times because organization becomes messy.

<comment><USER21> I had the same problem but started using [https://bear.app/](https://bear.app/) because the search is so good. I add new notes multiple times per day (mostly meeting notes) and don't worry about organization since the search is so great. I love it and even pay a few bucks per month for it. It's kinda like my digital brain.

<comment><USER20> This app seems really nice, but I certainly can't use it for work (at least without written approval).

I'd love something of this caliber that is open source. Maybe I should write one myself :)

</comment></comment></comment><comment><USER22> If you're searching for functionality like this, I recommend you also check out Boostnote. ([https://boostnote.io/](https://boostnote.io/))

<comment><USER23> Seems lame that to download an open source app, I need to provide them my email address?

<comment><USER24> It is a bit irksome but you can just type a nonsense email address to get the download link right away.

[https://boostnote.io/?email_registered=true#download](https://boostnote.io/?email_registered=true#download)

</comment></comment></comment><comment><USER25> So many markdown apps but the basic Apple Notes has been doing the trick.

I recently discovered Bear App, which was a nice alternative to Apple Notes, but just wish it was offered on Linux :(

</comment><comment><USER26> Have been using fsnotes for a while (MacOS / iOS) for this, syncing it with iCloud

[https://fsnot.es](https://fsnot.es)

</comment><comment><USER27> if you guys want a MD editor that's not a bloated electron mess as most are try out ghostwriter ( [https://github.com/wereturtle/ghostwriter](https://github.com/wereturtle/ghostwriter) ) i've tried pretty much every single choice and this is what i'm using now

</comment><comment><USER28> A free online editor [https://markdown.site/](https://markdown.site/)

</comment><comment><USER29> Great work. I use a few paid for IDE's. But I think I just found my new Markdown editor. Thank you!

edit: I love electron btw

</comment><comment><USER30> Nice idea, using the vim-like "i" and Esc to switch between modes.</comment>


Python's sad, unimaginative Enum - <AUTHOR> http://www.acooke.org/cute/Pythonssad0.html <comment><USER2> I think the author is sad for the wrong reason.

Syntactic nitpicking is bikeshedding. Remember, Guido makes choices that may not be obvious unless you're Dutch, but he has a pretty good track record overall.

A better critique would focus on whether the language actually needed an Enum construct. Most people get by most of the time without it. Python already provides many ways to do it (module variables, class variables, etc).

The main problem with Enum is that you won't be able to ignore it. Enums will start popping-up in many modules and packages, so it will have to become part of your core Python knowledge (things you have to teach to beginners so they can work with existing code).

Contrast that with named tuples. They can be ignored (i.e. you can treat them like regular tuples and you'll get by just fine). Also, named tuples are profoundly more useful (i.e. using them is one of the easiest ways to improve the clarity of your code).

<comment><USER3> And yet most large Python projects reinvent the concept of enums in one way or another. This includes Python itself, where enums could be used in many places in the stdlib. Actually, one of the main reasons IntEnum is part of the implementation is that it will be possible to replace stdlib constants with it (for example some socket.* and io.* constants).

This was discussed in the mailing list in the past, and I even had a prototype of CPython with constants replaced by IntEnum. Due to its being _an actual int_ it retains backwards compatibility while providing very nice printable representation for the constants.

<comment><USER2> Clearly, you're a big proponent of Enums needing to be in Python (I would estimate that you've made several hundred emails, comments, and posts on the subject).

You and a couple other vociferous proponents completely drown-out the early commenters who valued language compactness and learnability over a pervasive new construct that solves a somewhat unimportant problem.

The fact that some large projects may have a use for Enums wasn't balanced against an impending avalanche of Enums being sprinkled in beginner code, small projects, recipes, etc. I expect the use of Enums will become pervasive simply because they're there, not because a given snippet of code actually needs it.

As a person who teaches Python to engineers, I dread adding yet another have- to-know construct to the cirriculum. Python is no longer a small language.

Also, there is a lot of machinery behind Enums (killing a mosquito with a cannon). So, we should expect that people will hack it, abuse it, twist it into knots, subclass it, invent tricks will it, develop funky idioms, etc. IMO, none of this is worth it. The "problem" wasn't that important to begin with.

That said, the discussion is moot. There is no need to defend the proposal any more. Guido has accepted the PEP and it will enter the language, for better or for worse.

If we had to have a Enum, the one that was accepted was a reasonable choice. For the most part, the discussion did a nice job of considering existing recipes, possible use cases, and being as Pythonic as possible.

My only criticism of the process is that handful of enthusiasts (Eli, Ethan, Barry, etc) launched an avalanche of implementation and api-choice emails that buried and ignored the posts suggesting the language would be better-off without Enum. AFAICT, there was no honest discussion of simply establishing best practices using existing tools.

<comment><USER3> That's not an entirely fair way to put it, Raymond. Yes, some folks said that maybe Python doesn't need enums at all. But many more said Enums _should_ get into Python, including Guido. The issue was sealed in a face-to-face discussion during the recent PyCon language summit in which many core devs participated. So presenting this as some evil ploy to "drown the opposition" in a flood of email is... unfair.

Naturally I participated in the discussion, but the vast majority of emails I sent was to steer it long after the decision to add some kind of enumeration was made.

</comment></comment></comment></comment><comment><USER4> Cooke's suggestion is pure special-case magic:

      class Colour(Enum):
          red
          green

If Enum is a class, making a subclass should make a subclass like normal. Not change how code is parsed within the body of the class definition!

And the same applies to subsequent imaginary suggestions.

If you want a syntax change then introduce a new 'enum' keyword to signal that we are dealing with a new syntax.

Similarly, if you want the statement 'red = 1' to result in Color.red == 'red', that is magic. It doesn't make sense. It should give you 1. The value you just assigned it.

I agree that passing a string to make a class (in the way of namedtuple) is ugly and undesirable and I would never use it.

But I don't think Mr. Cooke has made any suggestion that is better than "design by committee". Code which looks like Python, in a Python file, should behave like Python rather than throwing bizarre curveballs like implicitly turning 1 into "red" or a bitfield.

<comment><USER5> I don't agree with his suggestion, but it wouldn't require a change to the parser. You can already pull that off using metaclasses. Something like this (untested):

        class EnumBodyDict(dict):
            def __init__(self, *a, **kw):
                self._keys_accessed = []
                dict.__init__(self, *a, **kw)

            def __getitem__(self, key):
                self._keys_accessed.push(key)
                return dict.__getitem__(self, *a, **kw)

        class EnumMeta(type):
            @classmethod
            def __prepare__(metacls, name, bases):
                return EnumBodyDict()

            def __new__(cls, name, bases, classdict):
                next_enum_value = max(classdict.values()) + 1

                for name in classdict._keys_accessed:
                    if name not in classdict:
                        classdict[name] = next_enum_value
                        next_enum_value += 1

                return type.__new__(cls, name, bases, classdict)

        class Enum(object, metaclass=EnumMeta):
            # proposed enum implementation here

<comment><USER3> You're right, this can be done without changing the Python syntax and in fact there was a proposal (with implementation) on the table for a long time. But eventually it was deemed to be too error prone and the more explicit approach was chosen. Python often resolved a tradeoff in favor of explicitness, and IMHO this ended up being a good decision.

</comment></comment></comment><comment><USER3> Every point raised by this post was discussed and rehashed multiple times, debated, argued over, complete with emotions. The end result was something that feels right to the vast majority of the discussion participants (give or take a few minor details.) Anyone has the right to criticize, and anyone also has the right to participate in the design and decisions - this is open source. Sadly way more people choose to take advantage of the former freedom than of the the latter. But that's old news, just the way things are.

Every language/framework/system has features some people won't like. Python has many too. But Python did a great job at striking a careful balance between expressibility and syntax, and most programmers who have to deal with it love it. Enum's design was guided by the same principles. Given that we didn't want to add new syntax to the language just for this feature (Python's minimal syntax is one of its greatest strengths), we had a few challenges to face. We tried to follow Python's overall guide of explicitness, while allowing numerous features.

The end goal? To replace the plethora of hand-cooked enums almost every large Python project has (including examples within Python itself).

Finally, remember that many issues here are issues of style and personal preference. It's not far from a brace style war really.

</comment><comment><USER2> One minor correction about named tuples. The syntax for field names can be an iterable or a string. The preferred way to do it is:

        > Person = namedtuple('Person', ['name', 'age', 'gender'])

The string form is there to accomodate use cases where the field names are being cut-and-pasted from SQL or CSV headers or somesuch. Also, some people find it easier to type:

        > Person = namedtuple('Person', 'name, age, gender')

<comment><USER3> All the same ways were chosen for the Enum functional API, by the way (list, dict, string separated with either spaces or commas). In general, the functional API was inspired mostly by namedtuple. It's not that the namedtuple syntax is pretty. It's not, we all know that, but that's what Python can offer at this point. But it's good enough so people learn to live with it, get used to it and intuitively understand what it means, and that's good enough.

That said, the preferred and recommended approach to define enums is with the class syntax.

</comment></comment><comment><USER6> "only real achievement is not doing anything new". That sounds like an excellent endorsement for a new Python language feature. Leave the crazy syntax innovation for hipster languages with unreadable, poorly thought out features. I've got work to do in Python.

</comment><comment><USER7> All enum types look a bit sad when you're used to the full algebraic sum types + pattern matching provided by a functional language

<comment><USER8> But sometimes you only need enums (which are, arguably, a subcategory of ADTs). E.g. playing card suits, true/false, ...

<comment><USER9> True and false work fine as singleton subclasses of the abstract class Boolean; see Smalltalk.

<comment><USER8> What prevents me from making a third subclass, Undetermined?

ADTs and enums are meant to prevent this.

<comment><USER9> > What prevents me from making a third subclass, Undetermined?

Smalltalk isn't about preventing things, it's about enabling them.

</comment></comment></comment></comment></comment><comment><USER10> A shallow nitpicking of language syntax. I would rather read about how a programming language fares at solving difficult problems. Not a minor quibble that has no impact on anything other than this programmer's sensibilities. It's the kind of thing that makes me think people like this are a type, a type that want to abandon semicolons and jump on languages that look better but perform worse.

<comment><USER11> Semicolons are a triple cognitive overhead (errors from omitting them, irritation that they add no value in well-formatted code, and ability to write very poorly formatted code), where their absence has the only overhead of unnatural ways of breaking long lines, so typical programmer performance should be better.

</comment></comment><comment><USER12> I actually disagree with basically all of the points raised in this article. Sure, apparently Enum doesn't fit your particular desires for it - but there's good reasons why those choices were made.

        Colour = Enum('Colour', 'red, green')

There's a difference here between 'name' as in where in the namespace a value is listed, and 'name' as in what descriptive name something has. For instance, if you were to do this...

        Colour = Enum('Colour', 'red, green')
        Tint = Colour

Would you want the values from Tint to suddenly say that they're different values from the values in Colour, even though it's the same underlying object? I doubt it.

Similarly, regarding having to assign numbers: this makes a hell of a lot of sense any time you're trying to serialize things for interoperation between multiple services. There's a reason why protobufs do it this way as well: you get really powerful backwards-compatibility options, which you might not realize you need at first but become extremely handy down the line.

<comment><USER13> I think the argument about specifying values is that it should be optional, not that it shouldn't exist.

<comment><USER14> Well, it is optional, in the sense that there's a provided syntax which doesn't require it. (The namedtuple-esque one.)

</comment></comment></comment><comment><USER15> OP: if you want bitmask-style enums, that's easy to code up with a derived class. The reference implementation shows how: [https://bitbucket.org/stoneleaf/aenum/src/0c66e1a5ec7b76388a...](https://bitbucket.org/stoneleaf/aenum/src/0c66e1a5ec7b76388a3bab5403fdcf4729b9802c/aenum.py?at=default#cl-420)

<comment><USER16> Below is the excerpt from the module's docstring:

      On Wed, Feb 27, 2013 at 2:03 AM, Ethan Furman <email@example.com> wrote:
      > I'm beginning to see why enums as a class has not yet been added to Python.
      > We don't want to complicate the language with too many choices, yet there is
      > no One Obvious Enum to fit the wide variety of use-cases:
      >
      >   - named int enums  (http status codes)
      >   - named str enums  (tkinter options)
      >   - named bitmask enums  (file-type options)
      >   - named valueless enums  (any random set of names)
      >   - named valueless-yet-orderable enums  (any not-so-random set of names

      That's probably the best succinct description of the core problem I've
      seen, and I've been following the various enum-related dicussions for
      years

      Cheers,
      Nick.

      -- Nick Coghlan | email@example.com | Brisbane, Australia

</comment></comment><comment><USER17> Mildly unrelated, but when I think of the opposite ("imaginative" enums), the first thing that comes to mind is this amusing vignette on the design process of Java's enums: <http://blog.des.no/2009/01/no-silly-its-enum/>

<comment><USER18> How embarrassingly narrow-minded. Yeah, Java's enums are fully fledged classes. Which actually makes them extremely powerful and useful, more useful than enums in any other language. I've seen more than one C programmer unable to cope with such an extreme deviation from their bunch-of-integer-constants expectation.

<comment><USER17> Yeah, Java's enums are very powerful and useful.

But in the context of a C-style language, I can understand the "what? these are enums. why do they have methods? and _subclassing_?"

It might be good if they had a different name.

<comment><USER18> The essential property (a type having a fixed number of named instances) is still there, so the name is fine.

I can fully understand that someone used to C enums would go WTF at seeing Java enums for the first time. What makes it narrow-minded is when this leads you to rejecting them outright and writing blog posts to ridicule them.

</comment></comment></comment></comment><comment><USER19>
      > What would you expect a Pythonic enum to look like?
      >
      > class Colour(Enum):
      >     red
      >     green

Hell no. I mean, even Go isn't that implicit, you still have to use the iota there. Anyway, this was considered, and you can see the reasons against it (standard explicit is better than implicit) here: <http://www.python.org/dev/peps/pep-0435/#id38>

      >  class Colour(Enum):
      >      red = 1
      >      green = 1
      >
      > Still, at least the mistake above would raise an error.  Wouldn't it?  Nope.
      > That's a feature.  If you mess up on the non-optional values then you get
      > "aliases".

Aliases are a feature, like it or not. Having 100% unique enums would not actually be a good thing, seeing as how sometimes libraries support multiple names for the same enum value for backwards compatibility reasons.

And if you do actually want to prevent the duplication problem, you can do this

        class Color(Enum):
            red, green, blue = range(3)

            red_alias = red

Or alternatively, if having to specify how many values is too unimaginative for you, something like

        class Color(Enum):
            red, green, blue, *_ = range(2**128)

            red_alias = red

will also work.

      > So, you go hunting around in the docs to see if there's any way at all of
      > avoiding the need to assign values manually.  And there is:
      >
      >   Colour = Enum('Colour', 'red, green')
      >
      > which suffers from the same problems as namedtuples:
      > - you need to repeat the class name (in a string, which your IDE is
      >   unlikely to check)
      > - the parameters are themselves in a string, which your IDE is
      >   unlikely to parse and provide in auto-complete (they can be separate
      >   strings, in a sequence, but that doesn't really help).
      >
      > Now if two potentially useful library classes are suffering from the same
      > problems than isn't that a BIT OF A HINT to try make things better?  Nope.  It
      > just shows how important it is to not be imaginative.  Or something (crack).

It's true! IDEs don't deal well with meta-programming, and Python isn't Lisp! I don't love the namedtuple syntax particularly either, but what solution would you propose? There doesn't seem to be an easy way around it, afaict.

      > And it gets worse.  What values do you think the above provides?
      >
      > Strings?  That would makes sense (red = 'red'), in that it would display
      > nicely and is going to provide easy to debug values.  So nope.

Well, if we read the PEP (<http://www.python.org/dev/peps/pep-0435/#id26>):

        >>> class Shake(Enum):
        ...   vanilla = 7
        ...   chocolate = 4
        ...   cookies = 9
        ...   mint = 3
        ...
        >>> for shake in Shake:
        ...   print(shake)
        ...
        Shake.vanilla
        Shake.chocolate
        Shake.cookies
        Shake.mint

We see that printing an enum value gives the string representation, so I don't really think that it not defaulting to strings is that much of a problem.

      > Integers from zero?  I mean that's how Python counts indices and there's "only
      > one way to do it" so that's how Python counts enums, right?  Nope.

I think I almost agree with you here. That said, zero does have a specific meaning in a boolean context, so I can see why they didn't go for it.

      > OK, so bit fields?  That way we can do cool Colour.red | Colour.green and
      > make the C programmers feel at home?  Nope.

Aside from the whole never going to happen argument, I think this kind of shows the problem with doing this implicitly; whatever you do, it's not going to work for some people.

      > Give up?  I'll tell you.  It counts from 1.  Presumably because it's really
      > common to use the "if not enum" idiom.  In someone's crack-addled dreams.

Hey, don't despair so much. You can always read the PEP and realise you can actually provide a dictionary as the second argument. So maybe you'd prefer

        def MyEnum(name, vals):
            return Enum(name, {val: i for i, val in enumerate(vals)})

to have your enums start from 0. I should mention, this information is in the PEP: <http://www.python.org/dev/peps/pep-0435/#id35>

<comment><USER20>
        class Color(Enum):
            red, green, blue, *_ = range(2**128)

            red_alias = red

Does that create a list of size 2^128-3 = 340282366920938463463374607431768211453 and assign it to Color._?

<comment><USER19> Ha! Too much Go for me. It does actually, my bad, I expected the variable to be ignored (and the range creation isn't a big deal usually as it's just a generator).

<comment><USER21> Using range would create the whole list. xrange is the one that acts like a generator :)

<comment><USER22> This Enum is slated to be introduced in Python 3.4, where range is (not acts like) a generator.

<comment><USER21> Ah. I stand corrected :)

</comment></comment></comment></comment></comment></comment><comment><USER23> As much as I have qualms about Java, if there is one thing that it perfectly nailed, it's enums.

The Java enums can be as concise as the C/C++ one but since it's also a class, you can add all kinds of interesting stuff to decorate it such as constructors, getters, type converters, etc... Really a pleasure to work with.

<comment><USER24> I have a single gripe with how Java handles enums.

They would be safer to work with if it was invalid to write a switch statement with a missing case and no default. I see a lot of code like:

switch (foo) { case Bar: ... case Baz: ... default: throw new IllegalArgumentException(); }

<comment><USER25> I don't know the state of lint-tools for java but for C and C# most lint-tools do this check.

</comment></comment></comment><comment><USER26> I personally _use_ enums more than I declare them, so I don't mind a little bit of namedtuple-like repetitive syntax. I'm already used to namedtuple, so I don't see anything wrong with reusing that syntax for enum. It's Python, not a brand-new programming language.

I will admit I kind of like Java's syntax for enums because it makes it very clear what exactly an enum is: a class with a bounded set of instances:

      enum Month {
        JANUARY(31, "Jan"),
        FEBRUARY(28, "Feb"),
        MARCH(31, "Mar"),
        ...;

        Month(int days, String abbreviation) { ... }
      }

(But honestly, Java enums have a number of annoyances and feel very "tacked on" like generics do.)

</comment><comment><USER27> I never got python's lack of built in enum syntax. I get not wanting to add unnecessary keywords, but unless you're doing something like Scheme or Smalltalk where you're going for almost no syntax at all, you would think it would pay off to put in keywords for things that literally occur in every program. I feel like I should just be able to write this:

       enum Color: red, green, blue

Right now enumerations are a mess. It seems like every project does them slightly differently, and the new enum library just adds a new way to do them slightly differently. That's like the opposite of PEP 8.

<comment><USER14> Well, any new enum syntax would be "a new way to do them slightly differently". This one just has the advantage of being in the standard library, and thus is presumably what new usage will gravitate towards.

</comment></comment><comment><USER28> Presumably, you should also be able to do something like this:

        class Colour(Enum):
            red, green, blue = range(3)

<comment><USER29> range(1,4)* because it counts from 1 (range counts from 0).

<comment><USER30> Starting from zero solves the "one right way to do it" problem which is mentioned in the blog post.

<comment><USER31> Yes, but recreates the "a value must be true in a boolean context" problem discussed in the PIP.

</comment></comment></comment></comment><comment><USER32>
        Colour = Enum('Colour', 'red, green')

That is beyond sad.

<comment><USER33> Yep, never understood it. I don't see the use case of pasting from csv or whatever.

</comment></comment><comment><USER34> Best first two comments ever, though.

</comment><comment><USER35> Someone on stackoverflow posted a nice hacky way:

<http://stackoverflow.com/a/1695250>

Even with reverse mapping.

</comment><comment><USER36> Now I appreciate Ruby symbols 10x more.

</comment><comment><USER37> Yes, it's an emotional Enum according to emotional programmers who have strong feelings about the matter!

</comment><comment><USER38> What's up with Peter Norvig's comment at the bottom? Did he not RTFA? He suggests a solution that the article criticizes heavily halfway through.

<comment><USER39> Why is it OK to be rude through abbreviations?

You'd get heavily downvoted for asking "Did Peter Norvig not read the fucking article?", yet that's exactly what you've put into everyone's mind with your comment.

<comment><USER40> Initialisms like "RTFA" lose their literal intensity through overuse.

</comment></comment></comment><comment><USER41> A stdlib implementation is a whole lot easier and less disruptive than new syntax in core. This counts for a lot. But of course you're vastly more limited in what you can do. The main benefit of this proposal that i can see is not the specific functionality it provides, but simply the fact that it makes it clear and explicit that this is a set of constants that have some meaning to the module - putting such constants in ordinary classes/namespaces (along with everything else) can obscure the fact they are not variables/attributes.

</comment><comment><USER42> I've still yet to find a good use case for Enum. It's (lousy, inconsistent) syntactic sugar that none of my code will use.</comment>


Tesla disallows self-driving Model X to drive for Uber/Lyft - <AUTHOR> http://www.theverge.com/2016/10/20/13346396/tesla-self-driving-ride-sharing-uber-lyft <comment><USER2> Dupe: [https://news.ycombinator.com/item?id=12751829](https://news.ycombinator.com/item?id=12751829)

</comment><comment><USER3> I remember years ago the bearded guys at FSF, GNU etc making software analogies to cars, which felt a little bit awkward. But now we're at the point where the car companies are effectively licensing out vehicles with the same onerous restrictions you see in software. I can no longer do whatever I want to do with my "hardware" anymore.</comment>


We waste, so we should give - <AUTHOR> http://www.rayhano.com/post/6453785114/we-waste-so-we-should-give

<comment><USER2> The article doesn't mention how throwing money at the problem will help.</comment>


Mitt Romney Calls Tesla a 'Loser' - <AUTHOR> http://www.wired.com/threatlevel/2012/10/romney-tesla-loser/ <comment><USER3> For Context, from [http://abcnews.go.com/Politics/OTUS/presidential-debate- tran...](http://abcnews.go.com/Politics/OTUS/presidential-debate-transcript- denver-colo-oct/story?id=17390260&singlePage=true#.UG0JJ03oR3A) :

(CROSSTALK)

ROMNEY: ... to oil, to tax breaks, then companies going overseas. So let's go through them one by one.

First of all, the Department of Energy has said the tax break for oil companies is $2.8 billion a year. And it's actually an accounting treatment, as you know, that's been in place for a hundred years. Now...

OBAMA: It's time to end it.

ROMNEY: And in one year, you provided $90 billion in breaks to the green energy world.

Now, I like green energy as well, but that's about 50 years' worth of what oil and gas receives. And you say Exxon and Mobil. Actually, this $2.8 billion goes largely to small companies, to drilling operators and so forth.

ROMNEY: But, you know, if we get that tax rate from 35 percent down to 25 percent, why that $2.8 billion is on the table. Of course it's on the table. That's probably not going to survive you get that rate down to 25 percent.

But don't forget, you put $90 billion, like 50 years' worth of breaks, into -- into solar and wind, to _Solyndra and Fisker and Tester and Ener1. I mean, I had a friend who said you don't just pick the winners and losers, you pick the losers, all right?_ So this -- this is not -- this is not the kind of policy you want to have if you want to get America energy secure.

The second topic, which is you said you get a deduction for taking a plant overseas. Look, I've been in business for 25 years. I have no idea what you're talking about. I maybe need to get a new accountant.

LEHRER: Let's...

ROMNEY: But -- but the idea that you get a break for shipping jobs overseas is simply not the case.

(CROSSTALK)

Regardless, I won't comment on this myself since I can't imagine any thread on this article staying clean...

<comment><USER4> I figure given the speed of writing, it was a poorly written article to take a soundbite and put it to a pre-existing opinion. It gets clicks and maybe a quick scan without providing the actual context. This is just one example of the next 24 hour news cycle from both side's news outlets. Job numbers hit Friday, so I only expect a day of it.

<comment><USER5> Very much so -- watching it live, it really did not come across that harsh (this coming from someone who will 99% certainly be voting for Obama).

<comment><USER6> Yes, the title: _Mitt Romney Calls Tesla a 'Loser'_ is just Factually wrong.[1]

He may (or may not) have _implied_ it. But then again, this is in they eye of the beholder.

Excluding the _may_ , _not_ , and _implied_ are material defects, for example.

_____

</comment></comment></comment></comment><comment><USER7> This article is wrong. He wasn't calling them losers he was saying that politicians in general don't have the ability to pick the winners, they can only pick the losers through their policies. He was basically saying that Obama was trying to pick the winners in green but that it wasn't working because the market isn't ready (basically claiming he is failing because government can't make an industry a winner through policy). He was also probably implying that Obama was purposely choosing Oil as the loser.

<comment><USER8> Not even close!

Romney's statement was in the context of his reference to someone's joke making fun of Obama for picking losing companies. He was clearly calling Tesla a loser.

<comment><USER9> That's certainly consistent with conservative tech skeptics. I think the grandparent post offers a worthwhile alternative interpretation, but I think the majority of people would go with yours.

That said, the majority of people probably found both candidates too wonkish and abstract in this debate for many minds to be changed. As a policy guy, I enjoyed it, and I thought Romney did well for himself although I prefer Obama. But the candidates talked past each other to a large extent, and both were pulling their punches a little.

</comment></comment></comment><comment><USER10> Not to pick one side or the other, but Tesla was made possible by artificial means, not market demand. The time will come when batteries are cheap and powerful enough that you could buy an electric car for $10k, but that time is not now and the government should not be an investor - historically it has both a bad record of managing budgets and delivering innovation per the dollar...And don't start with arguments about the internet - it was actually Xerox that largely made the internet possible: [http://online.wsj.com/article/SB1000087239639044446430457753...](http://online.wsj.com/article/SB10000872396390444464304577539063008406518.html)

 __Edit: overall, I have to concede, it is kind of dumb to attribute the internet to a single entity or person - it was a pretty natural progression of technology - basically the digital evolution of phone lines. Could you imagine trying to patent the internet?

If the government really wants to help out with energy, it should loosen environmental restrictions. I am as much a supporter of green tech and protecting the environment as the next guy, but there is something like 1000x the volume of natural gas under our soil as all the oil in the world combined. The sheer amount of wealth generated from tapping that resource could fund all kinds of green tech, and lessening foreign dependence creates jobs here and makes us stronger politically.

<comment><USER8> > If the government really wants to help out with energy, it should loosen > environmental restrictions. I am as much a supporter of green tech and > protecting the environment...

It's not about protecting the environment in the abstract. It's about who bears the costs of industrial activity. Loosening environmental reactions doesn't reduce costs, it shifts costs from polluters to the general public, particularly to the poorest people.

Polluting the air you breathe is no different than any other injury--if the government has any function it is to protect your bodily integrity. It is a failure of organized society when a company can profit by physically hurting you, and it's economically inefficient to allow polluting industries to shift the inherent costs of their activity onto other people. It causes companies to pick the technologies that have the most costs that can be passed to other people, not the technologies that are the most absolutely efficient.

The oil, coal, etc, industries were made possible by the intervention of government. Did you know that in the 1600s in American law pollution was basically illegal? E.g. if water ran through your property, it had to leave as clean as it went in. Allowing people to pollute during the industrial revolution was actually a tremendous government subsidy of industry.

<comment><USER10> It is actually not the government's job to decide this - it is the voters. People vote with their mouths and dollars, and right now everyone just does not care enough to boycott coal power or stop driving SUVs. I'd like solar panels to become cheaper and electric vehicles to become more common, but the government cannot realistically control free markets like energy generation.

That said our perception of air pollution may be a bit exaggerated. Atmospheric aeroforming is a very difficult task -- even if we tried actively for 500 years, I think we might have difficulty changing the composition of the earth's atmosphere significantly. Before air pollution is even a _real_ threat, our technology will have probably progressed far enough naturally (i.e. sans government investment) to handle any problems. Keep in mind there are over 5,000,000,000,000,000,000 (5 Dectillion!) kilograms of atmosphere. Humans produce 2,500,000,000,000 kilograms of CO2 year roughly (2.5 trillion). _However_ , each tree (on average consumes 33 kilos of CO2, and (by NASA estimate) there are roughly 400,000,000,000 trees on earth -- thus trees could consume up to 13,200,000,000,000 (13.2 trillion kilos of CO2), and CO2 is heavier than air so probably a fair amount of it reaches the ground. Even if only 1/5 of the trees processed CO2, we would still be not generating any significant amount of it. Anthropogenic global warming is mostly alarmist theory until we prove humans have a significant effect on the atmosphere (as one scientist pointed out, the earth has warmed and cooled dramatically before human existence, and it will continue to during it, despite our actions).

<comment><USER8> It is the governments job to protect you from other people physically injuring you. That's the whole point--you don't get a choice. I can protect my daughter from inhaling particulate matter from coal energy just by not using coal power. It's literally the economic definition of negative externality--where the costs of activity are borne by people not parties to any transaction.

Also your analysis of air pollution is shockingly bad and you should feel bad. What on earth makes you think pollution mixes perfectly with the whole atmosphere before anyone breathes it in? It's like saying 2+2=cat.

<comment><USER10> I do feel bad ;) - yes, I am aware that the thermodynamics of our atmosphere are extremely complex, so complex that we can barely model them. This is exactly why I advocate people to be wary of when any scientist claims "x is going to happen in y years" -- we simply do not know how our atmosphere will behave, no more than we know what the exact weather will be like in two months. Right now, everything is basically a theory - we know that CO2 warms the atmosphere, but we do not know how much CO2 will be in the atmosphere in 2 years (we do not even presently have an exact amount).

<comment><USER8> We don't need to know exactly how much CO2 will warm the atmosphere. We have a probability distribution. We can't quantify the economic damage of climate change precisely, but we know enough to know it won't be $0, which is what the "wait and see" point of view prices the cost as.

Also, climate change isn't even the big issue here. I'm talking about much more mundane and also much more damaging air and water pollution from factories, cars, etc. We have very solid empirical evidence about that. Did you know that after the EPA's ban on leaded gasoline, blood lead levels in children dropped by a factor of 3-5x in just one decade? See: <http://www.epa.gov/ace/body_burdens/b1-graph.html>. This corresponds to a multiple IQ-point impact from lead. What's the dollar value of a multiple IQ- point impact on the nation's children (and future workforce)? It's a huge number.

Did you know that a recent Harvard Medical School study concluded that the true price of coal power factoring in the externalized environmental costs is 2-3x as much as the market price? [http://www.boston.com/lifestyle/green/greenblog/2011/02/new_...](http://www.boston.com/lifestyle/green/greenblog/2011/02/new_harvard_study_looks_at_ful.html). The same study found the total externalized costs of coal power to be $200-$500 billion/year: [http://onlinelibrary.wiley.com/doi/10.1111/j.1749-6632.2010....](http://onlinelibrary.wiley.com/doi/10.1111/j.1749-6632.2010.05890.x/full). Here in Chicago we recently shut down two coal-fired power plants that were causing $100 million in health damage per year and only creating 50-60 jobs each.

The total cost of environmental damage being down every year, in terms of quantifiable impact to people is probably into the trillion dollar per year range. People tend to think of environmentalism as being about "soft values" but that couldn't be further from the truth. Even if we assign zero value to the environment itself, we can't avoid putting a dollar figure on the value of the services the environment provides us. When New York manages to avoid building a $6-$8 billion filtration facility by properly managing the Catskills watershed, we can't avoid the inescapable economic conclusion that damage to the Catskills and similar watersheds needs to be valued in the billions of dollars range. We can't avoid the conclusion that when a company dumps waste into those watersheds, it's an economic injury no different than if tore up city streets or caused a bridge to collapse.

It's the government's job to protect us from all this, the same as it's the government's job to protect us from people who steal your car or break into our houses. It goes to the heart of why government exists.

</comment></comment></comment></comment></comment></comment><comment><USER8> The larger "government shouldn't pick winners and losers" meme is idiotic in the context of alternative energy and green tech. It's basic economics that the market fails to pick efficient winners and losers in industries that involve large negative externalities.

<comment><USER11> Most economists do not accept that direct government subsidy to businesses leads to an economically efficient outcome, even in cases of negative externalities. Many economists would say that Pigovian taxes or creation of markets in the externality are likely to be more efficient. Bottom line: market failure does not mean that government solutions are automatically better. Government failure exists too!

<comment><USER8> I think in the political discourse, pigovian taxes would be considered "government picking winners and losers" (specifically losers).

Also, the question isn't whether direct subsidies are more efficient than taxing externalities. The question is whether direct subsidies are more efficient than doing nothing (which is the only politically feasible alternative).

<comment><USER11> 1) I read a lot of economics blogs and I see many economists who are against "government picking winners and losers" in the form of subsidies; but favor, e.g. revenue-neutral carbon taxes. There are strong economic reasons why the two are not at all the same.

2) Direct government subsidies for favored corporations is likely less economically efficient than doing nothing in cases. Subsidy decisions are not guided at all by the info encoded in the price system, and are instead likely to be based on rent-seeking by favored interests groups. See <[http://en.wikipedia.org/wiki/Economic_calculation_problem...](http://en.wikipedia.org/wiki/Economic_calculation_problem>);

Your original comment cited "basic economics" and implied that the government would be better than the market at "picking winners and losers" in the face of negative externalities. But that is not a consensus view among economists.

<comment><USER8> > Direct government subsidies for favored corporations is likely less > economically efficient than doing nothing in cases.

In cases, yes. Given the sheer magnitude of thee externalities in environmental situations, not likely. We're talking trillions of dollars of implicit subsidies here.

<comment><USER11> I believe you are committing the "Yes Minister" fallacy:

"Politician's logic: We must do something. This is something. Therefore we must do it."

Direct government subsidies create deadweight loss, and by hurting the competitive position of companies and technologies that don't get the subsidy, they can actually make the negative externality worse. You can't justify a bad intervention just by pointing to the magnitude of the externality.

</comment></comment></comment></comment></comment></comment><comment><USER12> Meh. Tesla is still in debt (and had to renegotiate their loan at that), so Romney's technically correct about that. The major benefit I see from the Tesla project is it puts pressure on other companies to make better electric cars.

I really hope they go mainstream, but it seems they're not targeting the average Joe. If it's going to be an "energy" project, it needs to go mainstream, like the Nissan Leaf or the Chevy Volt. I just don't see why the government should be sponsoring a company that will probably only ever sell to upper and upper-middle class customers.

Don't get me wrong, I love the Tesla company, but I think there were more interesting points of the debate than this. To be fair, Romney didn't single out Tesla; it was lumped in with other projects that haven't proven successful yet.

<comment><USER13> > Tesla is still in debt

Yes, they have debts, about $505M.[1] They also have $700M in assets.[2] Calling them a "loser" implies bankruptcy or insolvency.

[1] <http://www.crunchbase.com/company/tesla-motors>

[2] <http://en.wikipedia.org/wiki/Tesla_Motors>

</comment></comment><comment><USER14> Interesting. Musks' political contributions are widespread, not to one single party, but apparently none for Romney, allowing him to make such a comment:

[http://www.opensecrets.org/usearch/index.php?q=elon+musk&...](http://www.opensecrets.org/usearch/index.php?q=elon+musk&searchButt_clean.x=0&searchButt_clean.y=0&searchButt_clean=Submit&cx=010677907462955562473%3Anlldkv0jvam&cof=FORID%3A11)

</comment><comment><USER15> Politics aside, Tesla is not the future either. At least not with their current models or anything derivable. Sure, they're doing a great job building battery powered electric cars but personally I don't see how they can work for everyone in the same way that fossil fuel powered cars do today.

I'm driving a diesel (being european this isn't too odd) and I'm driving a lot of long distances. The beauty about the fossil fuel powered car is, that I can drive some 800km on a tank, stop for fuel which takes me about 5 minutes and then carry on. Tesla claims a 3-3.5h charge time. Even if the range was the same, which it isn't, this just isn't gonna work for anyone who drives across a country rather than through cities. To this day I haven't heard of any battery powered car that is charging in acceptable time compared to filling up a fuel tank.

Don't get me wrong, in a way I like electric motors. The torque they produce is amazing! What bothers me is the use of batteries. The technology I personally saw most potential in was the use of hydrogen fuel cells. The tank is filled with hydrogen, the fuel cell powers the electric motor. I'm not for a second suggesting hydrogen is a good "fuel" in the sense that we can just dig it up somewhere and get additional energy. What hydrogen is good at though, is storing energy and because filling a tank with it happens in a matter of minutes it's a whole lot better than carrying thousands of laptop batteries in your car.

<comment><USER16> I'd wager that most automobile use day-to-day doesn't come close to 800km stretches. Would it not be interesting enough if electric cars managed to replace all the fossil-fueled, city-driving cars? Even with that point aside, I don't think one can write off Tesla based on a snapshot of charging infrastructure at this instant. There are already concepts like Better Place that involve swapping out batteries instead of waiting to charge the one in your vehicle. A little less ambitiously, DC Fast charging stations (already installed in places like Los Angeles, Wash. state and Oregon) charge EVs up to roughly 80% of capacity in around 30 minutes. My point isn't that the system is perfect, or that these concepts completely solve the range issue with EVs. Comparing charging options now to even one or two years ago shows a substantial difference in potential (heh), so it seems a little myopic to say "I can't do this right now perfectly so it will never happen".

<comment><USER15> Good point on the city cars and yes you're right, predicting the future has never gone well and I can't predict how the infrastructure is going to look like in a decade or so. However, the hydrogen fuel cell technology is here _now_ and it works well yet there's very little hype around it. Hybrids and EVs on the other hand are hyped to hell and back while (for the time being) they are just not good enough. Hybrids, yes, obviously. But they don't solve the problem. Additionally those batteries weigh quite a bit. Unnecessary weight == wasted energy.

<comment><USER16> Thanks for the insight; I had heard about hydrogen fuel cells as far back as 2002, but only in a very theoretical sense (plus I was in middle school back then...). They definitely do look promising; my guess regarding why there hasn't been much hype around them is that (per Wikipedia) they've been prohibitively expensive until rather recently (in 2002, hydrogen fuel cell cars were estimated to cost $1mn, $300k in 2009, etc)[1]. That being said, it does like it's approaching cost-effectiveness in the near future.

[1] <http://en.wikipedia.org/wiki/Hydrogen_vehicle#Fuel_cell_cost>

</comment></comment></comment></comment><comment><USER17> Headlines like this always remind me of the term wikipedia taught me: "Disambiguation". A simple Mitt Romney Calls Tesla Motors a 'Loser' would have clarified in the headline whether the author meant Tesla (the person), or Tesla (the car company). Leaving it vague probably gets more clicks.

<comment><USER18> Why would Romney have anything at all to say about Nikola Tesla?

<comment><USER19> I have no idea but it was my first assumption. But then I also assumed it was taken out of context.

</comment></comment></comment><comment><USER20> Thank goodness he wasn't talking about Nikola. I was about to have a fit.

</comment><comment><USER21> Flagged; flamebait.

</comment><comment><USER22> When the government set up and fostered the development of the Internet, was it picking winners and losers then, too?

<comment><USER23> > When the government set up and fostered the development of the Internet, was > it picking winners and losers then, too?

The total expenditures then were a small fraction of what we're spending now.

Do you really think that the ROI today is as high as it was then?

Do you really think "govt spent money well once" implies "govt money spent now is well spent"? (It's also false that "govt money was spent badly in the past" implies "govt money spent now is badly spent".)

</comment></comment><comment><USER24> The constant dissonance between "don't you dare touch all the subsidies we give the petro" industries and the "dont you dare waste money on any alternatives" is just dumbfounding. I mean, the stuff is orthogonal to politics (or at least it should be).

</comment><comment><USER25> i think, all this interest around for Tesla, grants and Obama associated with election president program. I like Teslo but it is too early say about loosers or winners Teslo.

</comment><comment><USER26> Is GM also a loser?

<comment><USER4> From an American taxpayer point of view, yes they are. We aren't going to get our money back anytime soon if at all.

<comment><USER27> GM has paid back its loans and for the taxpayer to break even on the stock the government owns (~30%) it currently needs to about double.

[http://www.forbes.com/sites/joannmuller/2012/08/29/automaker...](http://www.forbes.com/sites/joannmuller/2012/08/29/automakers- report-card-who-still-owes-taxpayers-money-the-answer-might-surprise-you/2/)

<comment><USER23> You're "forgetting" the $15-20B in tax carry-forwards that are typically lost in bankruptcy. And, by stiffing some public pension plans who owned GM bonds, that bankruptcy increased the taxes that those jurisdictions will have to pay. (That money went to the ordinarily unsecured pensions, Fiat, and a couple of other places.)

GM and Chrysler's assets would have been bought and put to use.

<comment><USER27> If you really think liquidating GM and Chrysler's assets would have resulted in anything other than a net destruction of wealth for the U.S. I don't know what to tell you. What good is a car factory if the entire supply chain has broken down?

You can argue that the loans should not have been made on principle, and you can argue that they were a poor investment vis a vis net return to taxpayer dollars, but it's very hard to argue that they were a net loss on U.S. GDP unless you assume a "controlled bankrupcy" for GM and Chrysler would not have destroyed the U.S. (or global) auto industry. That's a big leap.

<comment><USER23> > If you really think liquidating GM and Chrysler's assets would have resulted > in anything other than a net destruction of wealth for the U.S. I don't know > what to tell you. What good is a car factory if the entire supply chain has > broken down?

Why do you assume that the supply chain would have broken down?

> it's very hard to argue that they were a net loss on U.S. GDP unless you > assume a "controlled bankrupcy" for GM and Chrysler would not have destroyed > the U.S. (or global) auto industry. That's a big leap.

It's easy to assume that standard bankruptcy would not have destroyed the US auto industry because there's no reason why it would have destroyed the US auto industry.

Bankruptcy is basically about separating assets from liabilities.

If GM's assets are well-suited to profitably making cars, that's what they'd have been used for post-bankruptcy. Why do you assume otherwise?

US airlines go bankrupt every so often. Their creditors take a loss but the effect on the rest of us is that a few flights get cancelled and that's about it.

<comment><USER27> Comparing GM, Ford, and Chrysler all going bankrupt simultaneously in the middle of credit crisis is not comparable to when individual airlines go bankrupt due to poor management. The auto industry is highly concentrated in a single geographic area and are all economically dependent upon one another due to shared suppliers. It's very likely that if GM or Chrysler went bankrupt Ford would too. Who would be left then to use these assets? Some unnamed US automotive company? A Japanese automotive company? (imagine how that would go over.) Just how long do you think it would have taken for Detroit to get back to work? A month? 6 months? A year? A decade? Don't forget that if Detroit went bankrupt and turned into a dust bowl, aside from the untold amounts of human suffering it would drag down GDP and have wide-ranging effects on the rest of the country.

<comment><USER23> > Comparing GM, Ford, and Chrysler all going bankrupt simultaneously

GM was the only problem because Ford wasn't in trouble and Chrysler was (and still is) negligible.

> auto industry is highly concentrated in a single geographic area

Most "US made cars" are not made in Michigan.... "In 2011 , the Detroit Region produced 1.56 million vehicles, accounting for nearly 82% of Michigan's motor vehicle production, over 18% of the United State's motor vehicle production, and nearly 12% of North America's motor vehicle production. Currently more than 151,000 metro Detroiters work in the automotive and auto-related industries." [http://www.detroitchamber.com/component/content/article/14-a...](http://www.detroitchamber.com/component/content/article/14-about- detroit/924-auto-industry)

US auto suppliers sell to all companies that make cars in the US.

> Who would be left then to use these assets? Some unnamed US automotive > company?

Not necessarily - there are folks who could have afforded the assets. (Penske is a minor player and they made a serious bid for Saturn.)

Note that GM was selling cars for more money than it cost to make them - <USER2> problem was the legacy liabilities, liabilities which they'd have shed in ordinary bankruptcy.

The "bailout" money was a political payoff. It mainly went to keep the UAW pensions solvent and GM shut down Saturn as a sweetener. (The UAW always hated Saturn, even after organizing it.)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER28> Wired Panders To Reddit, HN, Etc

Fixed the title.</comment>


We Need Central Bank Digital Currency - <AUTHOR> https://medium.com/@treeder/why-we-need-central-bank-digital-currencies-cbdc-60c8660dae05 <comment><USER2> Instead of the central bank issuing new digital token(the ones you can't touch), they can print a physical dollar bills(one you can touch) in markets. These bill will live on credit card payment networks and you are semi free to do with them as you wish.

Fiat currency as it is is already virtual enough. There's no need to have blockchain involved.

What Bitcoin provided solution for is initial coin distribution problem, which its answer was mining rewards, and very little else.

<comment><AUTHOR> I think you missed most of the points in the post. To address your points which are well covered in the post (I'm guessing you didn't read it):

1) Printing bills is very expensive 2) Credit card payment networks are also very, very expensive (2.5-3.5% or more of every transaction) 3) Billions of people can't get credit cards. 4) How do you send printed bills around the world?</comment></comment>