Show HN: I spent 6 years making a cool free game - <AUTHOR> Hey everyone!
Long time lurker, first time poster. I've just reached beta in my game BoxByte Lyte.
-What is it-
It's a free 3d arcade game for hardcore players that uses color matching in interesting ways. Also it's a one button game, well movement and one button. Cool huh? The final release will be free too.
-What I need-
This is a very challenging game, so I really need to balance the difficulty so that it's still hard but not impossible. It would be great just to hear your experiences of the game and how far in it you got.
-Where can I report bugs?-
https://bitbucket.org/ZayWolfe/boxbyte-lyte/issues
-So where's the game?-
Windows: https://www.dropbox.com/s/3143ynz2hlqhg58/BoxByteLyte%2012.17.15-win.zip?dl=0
Mac: https://www.dropbox.com/s/welj1gswunfm4tq/BoxByteLyte%2012.17.15-mac.zip?dl=0
Linux: https://www.dropbox.com/s/ypvtnndmzklj17e/BoxByteLyte%2012.17.15-linux.zip?dl=0
Win VR: https://www.dropbox.com/s/bm0ydtzra4sjml0/BoxByteLyte%2012.17.15-winVR.zip?dl=0 (Warning VR isn't going to be an official feature. It's just a cool experiment for kicks. Might be nausea inducing. I just think it's cool :3)
For the most accurate movement, I recommend playing with a gamepad of some kind.
So if hard challenging gameplay is your thing, why don't you see if you have what it takes to beat my game... Mwahahaha!
13 gates, can you reach the end?
Cheers! <comment><USER3> Friendly advice: Getting a simple site up and running describing your game with a few screenshots or a gameplay vid and providing download links takes no more than 2 hours. Personally I hesitate to download anything from another person's dropbox.

Since you've worked a lot on your project don't let it fail due to poor promotion :)

<comment><AUTHOR> Yeah I definitely agree. I actually had a website up once but I had to let it go because I couldn't afford the domain and server costs. Currently living off of government assistance so it's rare to have more than a few dollars extra.

I also tried to contact some publishers for a bigger version but I've never received a reply. It is how it is. I'm hoping the game is good enough to travel through word of mouth :)

<comment><USER4> It's that time of the year where I'm feeling altruistic, so I just registered boxbytelyte.com for one year. Just let me know where you want it to point, and then I'll transfer the ownership to you in a year's time (or sooner if you like).

Also, have you thought about open-sourcing the game? That would definitely relieve people's qualms about downloading an anonymous binary blob.

Edit: Forgot that there are no direct messages on HN. You can reach me at firstname.lastname@example.com

<comment><AUTHOR> I'm sorry that it took me a while to reply. The response has been so overwhelming that I honestly don't know how to react.

I wish I could show gratitude better through text. Thank you so much for that. I'm fixing up some important bugs at the moment but I'll send you an email as soon as I can.

</comment></comment></comment></comment><comment><USER5> While I'm pretty sure you don't have any bad intentions, you may want to consider how this looks like to someone [paranoid] like me:

\- New HN member makes his first post claiming he made a game. He shares only a binary blob, no code. Also he doesn't have a website, or even a gameplay video. On top of that, he shares the game via dropbox.

Would that make you suspicious?

We live in a scary world, not everyone trusts 'by default'. But if you are willing to open source it, feel free to contact me (email is in my profile). I can provide hosting for the website/game.

<comment> zupa-hu Set up a VM.

Why not keep throw-away VM to play with stuff like this? You can make a snapshot to always start from your chosen state.

<comment><USER5> I could, but honestly, I dont want to go thru the effort just to try out the game. I think this is a big part of the learning process as well - <USER2> how to make your game easily accessible to potential users. Making a game open source is more about the 'statement' in this case. It says: "I dont have anything to hide". That's enough for most people.

<comment> zupa-hu Open Source gives you a false sense of protection. A VM gives you a real one. But I get the point.

I guess you are the customer, you gave feedback, he can make up his mind. Fair enough. Though I doubt you are his target customer for now as you don't want it badly.

</comment></comment></comment></comment><comment><USER6> I think this thread is a bit of a showcase of the best things about HN.

It's a place where someone without existing distribution can get what they've made in front of people.

The members decide whether it's interesting or not so it can avoid getting buried.

The OP gets lots of cynicism free advice and even offers of hosting and domain names.

Everyone can have a bit of a chat about the tech used to build it.

We all can learn things from the comments and advice given.

Well done HN! :)

</comment><comment><AUTHOR> I come bearing mirrors:

-Google Drive-

win: [https://drive.google.com/open?id=0Bwh3wi9gnmg4bnNLTjlCZ0hodE...](https://drive.google.com/open?id=0Bwh3wi9gnmg4bnNLTjlCZ0hodE0)

mac: [https://drive.google.com/open?id=0Bwh3wi9gnmg4Mmp4cWYtRXpfd0...](https://drive.google.com/open?id=0Bwh3wi9gnmg4Mmp4cWYtRXpfd0E)

linux: [https://drive.google.com/open?id=0Bwh3wi9gnmg4Mmp4cWYtRXpfd0...](https://drive.google.com/open?id=0Bwh3wi9gnmg4Mmp4cWYtRXpfd0E)

VR: [https://drive.google.com/open?id=0Bwh3wi9gnmg4XzhMU2xVMGJCUn...](https://drive.google.com/open?id=0Bwh3wi9gnmg4XzhMU2xVMGJCUnM)

-OneDrive-

win: [https://onedrive.live.com/redir?resid=9CE2F3A7162E1D05!1068&...](https://onedrive.live.com/redir?resid=9CE2F3A7162E1D05!1068&authkey=!AAFS3r6vWweJMJE&ithint=file%2czip)

mac: [https://onedrive.live.com/redir?resid=9CE2F3A7162E1D05!1069&...](https://onedrive.live.com/redir?resid=9CE2F3A7162E1D05!1069&authkey=!ANNxoQLOLBgjmTY&ithint=file%2czip)

linux: [https://onedrive.live.com/redir?resid=9CE2F3A7162E1D05!1070&...](https://onedrive.live.com/redir?resid=9CE2F3A7162E1D05!1070&authkey=!AAd0qz4Ou5kOP8k&ithint=file%2czip)

VR: [https://onedrive.live.com/redir?resid=9CE2F3A7162E1D05!1067&...](https://onedrive.live.com/redir?resid=9CE2F3A7162E1D05!1067&authkey=!AOY9pu8kri45kCE&ithint=file%2czip)

<comment><USER7> The Google Drive link to linux seems to be the same as the one for the mac version. The OneDrive link works, though :)

</comment></comment><comment><USER8> Great game! Like others, having a simple webpage with a YouTube video is not just a must, but it's also quite easy! Give [http://itch.io](http://itch.io) a try.

</comment><comment><USER9> Ignore all the people here telling you to open-source this (for now). You have a product and a compelling story. This could be one of the rare games that actually makes money.

Once you have a playable game that looks good and is fun, your main problem is getting noticed and making it easy for people to get your game and pay you for it.

You've got a good story, which is key to marketing and getting noticed. You worked on a game for 6 years -- that sounds crazy. The media likes crazy. You're on social assistance -- people love feel-good rags-to-riches stories. So those boxes are checked.

Look at all the help that random people on HN have already offered!

I'd say run with this ... and ignore the open-sourcing advice. Only open- source it if either you've given up on profiting from it (as a product rather than a portfolio piece).

There've already been a lot of good suggestions about hosting and putting up a website, so I wont' repeat those.

<comment><USER10> Absolutely agree with this. I haven't even played the game yet, but what I find compelling is the "worked on making this for 6 years" / "I'm a self- taught programmer" / "I can't afford a domain" story. If there was a website with a Buy Now button I'd already be clicking it.

</comment></comment><comment><USER11> Very interesting! I have a few questions:

1) Is this your first time releasing your game to the public? 2) How were you able to focus on such a project for so long? 3) I've never made a game before, do you have any tips for me? (Comfortable with code + design)

<comment><AUTHOR> 1) Yes actually. And it's my second game XD

2) It was very painful. I actually lost the whole game once from a hard drive failure and had to remake it whole. I guess I had to learn to use version control sometime lol

3)

A: Focus on the fun.

B: Just start working, even if you're not in the mood. Sometimes you're not in the mood until you're actually doing it.

C: Accept that restarting from scratch is actually awesome because you can make it even better using everything new you learned. I actually have it part of my process now.

D: Learn some back stretches lol. Those long nights coding tear up your lower back D:

<comment><USER11> Awesome! Thanks for sharing.

</comment></comment></comment><comment><AUTHOR> Hey everyone! I just updated the game.

There was a vsync problem causing speed issues on some computers. Also fixed some boss bugs and increased the character limit on the score submit to 20.

I just updated the files in the original links, so you can grab the update there.

</comment><comment><USER12> Hey Isaihg,

I would be happy to pay for your Server and Domain Costs and help you set up the Site. Shoot me an email: firstname.lastname@example.com

</comment><comment><USER13> Screenshots? Not sure I want to download this without some idea what it is.

<comment><USER14> Agreed. Also maybe the fact that it's a Unity game.

<comment><USER15> How is that relevant? If it's fun, it's fun.

<comment><USER16> It's analogous to downloading the Flash player to see some of the websites around. Once downloaded and used, it makes my system rather bloated and unstable. I rather avoid this if possible.

<comment><USER17> You won't need the Unity WebPlayer to run this, they look like standalone builds.

</comment></comment></comment></comment></comment><comment><USER18> Congratulations on the release! Any tips for how you managed to spend 6 years on the same project without getting board?

<comment><AUTHOR> Hard to say really because I did get bored a lot. I just kept it in my mind and always came back to it. I'd really like a career doing this so I guess having a wager on it is good too.

</comment></comment><comment><USER19> Great. Dropbox has disabled your download links because people like your game.

<comment><AUTHOR> I'm pretty shocked actually. I stepped away to watch youtube with the wife and came back to this exploding.

I'm uploading to google drive right now.

</comment></comment><comment><USER20> Congrats isaiahg on your project and public release!

Shared your story on my website: [https://rootgamer.com/download/12170/download-boxbyte- lyte](https://rootgamer.com/download/12170/download-boxbyte-lyte) \- hope it helps getting word out.

On behalf of Linux gamers; "Thank you for Linux support!!"

cheers,

<comment><AUTHOR> Oh man that's awesome!

Don't mention it. I got into Linux when I was 13 and it's been in my heart and soul since. I'd actually be using it full time if the Unity3d editor worked with it. But I made a vow to always support Linux with everything I make because I love the community and I love giving back to it.

I'd really appreciate it if you linked to the twitter or facebook btw. Not for promotional reasons but so people can keep up to date on it. Also I don't have much else right now.

[https://www.facebook.com/IrisStudioGames](https://www.facebook.com/IrisStudioGames) [https://twitter.com/irisstud](https://twitter.com/irisstud)

</comment></comment><comment><USER21> It's actually quite good. Give it a try!

<comment><AUTHOR> Happy you like it!

I just updated the build btw. You can get it from the original links above. ^-^

</comment></comment><comment><USER22> Hey :) Well done on reaching beta!

First bit of feedback - I'm running through the tutorial, and text boxes animate on to the screen, slowly, every single time. It's really annoying. Can they just appear there with the text? I just want to read them and find out how to play.

<comment><USER22> Second bit of feedback, same as the first, but this time on the options screen. I want to play! Don't make me wait to watch everything fade in :)

<comment><USER22> And last bit of feedback - the keyboard controls don't work. Spacebar doesn't change the color, and the arrow keys don't make me move around. This is on the Linux build.

<comment><AUTHOR> That's really bizarre. I'll have to test it again on my ubuntu box.

Thank you so much for the feedback!

<comment><USER22> No problem :) I was running in windowed mode, if that makes a difference.

</comment></comment></comment></comment></comment><comment><USER23> Is it this?

[https://www.youtube.com/watch?v=fhZ- SM104wk](https://www.youtube.com/watch?v=fhZ-SM104wk)

Matches the name and description, for those hoping for a video.

<comment><AUTHOR> Wow. I can't believe you found that. That video is from the version I lost from a hard drive failure. This version I completely rebuilt from scratch (with version control). This one is much better actually.

For a look at the improved visuals check out these screenshots. [http://imgur.com/a/Tyw5z](http://imgur.com/a/Tyw5z)

</comment></comment><comment><USER24> It would be nice if you put the open source the game as well (seeing as it's free atm, so no profit loss from it). I'd like to see how you wrote it, and learn from it!

<comment><AUTHOR> I might do that. I'm a little shy about it since I'm self taught. No one's actually looked at my code before haha

<comment><USER10> Don't be shy about that. The code in some successful commercial products is terrible. People who play a game care less about how elegant the code is and what language it's in, they just want to play something fun they enjoy.

Please take advantage of the offers here to help bootstrap your own permanent website, and please consider making a paid version. Even if it's just an "I donated!" edition that does nothing but show their name on the title screen. Let people compensate you for your 6 years (!) of work, and help you bootstrap to bigger things (and at the very least cover your costs).

<comment><AUTHOR> Thank you so much for your kind words. It really means a lot to me more than you know.

You can bet I definitely would like something to come from this. I'm working on it full time without being paid. Even just a job would be life changing right now.

I'd love to hear your take on what I'm thinking of doing with it and get any advice anyone has. I thought about making it a commercial game, but I'm very strong on the coding/design part of it and not so good at the marketing and promotion side.

My current plan is to open source it actually and maybe set up a patreon account to help fund the development with donations. There are features I'd like but can't afford to do like online multiplayer. I haven't yet because I'm not sure how it conflicts with unity generated project files. I also made use of a few creative commons sound effects and I want to attribute and mark them right. So I'm not quite sure what I'll have to do to set it all up. I want to do it right.

I'm thinking about doing the open source + donation route because I figured it would take the same amount of marketing effort as a commercial game and I'd much rather give it away than charge for it. Games are best when they're shared with each other.

<comment><USER10> One tip: try adding an email address to your Hacker News profile, so that people are able to get in touch.

You mentioned that a job would be life changing. Not sure if you're interested in freelancing, but if you're able to put together some kind of website about yourself & your skills and link it in your HN profile, it might help you catch more opportunities out there. People need a way to get in touch if they want to offer you an opportunity!

</comment></comment></comment></comment></comment><comment><USER25> Is there another place we can download the builds since your dropbox account is blocked because of the traffic HN generated?

<comment><AUTHOR> I'm uploading to google drive right now but it's moving slow. If anyone who's downloaded it already would like to upload somewhere themselves I'd really appreciate it.

</comment></comment><comment><USER26> Congratulations on shipping. Most people who want to get into independent development never even make it past alpha, if that.

Really, I think the basic idea is alright, but the actual gameplay and design need a bit of polish.

However, as soon as I opened it up I got a warning from Windows. If I have to choose to let your app through the firewall that's a bad sign. I feel like a beta shouldn't be making network requests and posting my score to a remote server (which is what appears to be happening here.)

The text seems too difficult to see in some cases. For instance - the red text on the grey dialog box background in the tutorial. Some of the UI elements are difficult to read as well, and seem superfluous. I kind of feel like the only thing I _need_ to have is an immediate idea of my health and maybe the score.

I thought the tutorial was a bit condescending. The mechanics of the game aren't that complicated, I just want to know what the controls do, what the basic premise is, etc.

I feel like one or more of the following are probably true: the enemies are too small, the field is too large, or the controls are not responsive enough. Maneuvering to catch the enemies seemed to take far more effort than needed. Perhaps if the movement were restricted to a grid or some kind of graph the actual puzzle aspect of the game could become more prominent. I understand it's supposed to be difficult, but the difficulty in this case seems a bit artificial.

The klaxon sound effect was annoying, and to me sort of detracted from the general sci-fi action feel of the game.

The background isn't doing much to enhance the experience to me - this game would be just as enjoyable (and be a smaller download) if you just had a simple background. It would also make everything else a bit easier to see. Then again, it isn't _hurting_ anything either.. it's just uninteresting.

Being told that my scores were too low for the leaderboard was a bit aggravating. It's never a good thing to be told the game you were playing is a test and you failed it, since I wasn't actually intending to play for a global leaderboard to begin with. Maybe allow my scores to sit on a local scoreboard, then give the option to send the highest score?

Overall though, if this were on Greenlight, I might consider it. It's not yet at a state that I would be willing to pay money for, but it's got potential. It might work well as a mobile game.

<comment><AUTHOR> Thanks, and yeah I've been stuck on alpha for a long time now. Since your comment is so detailed let me go into a bit of the thinking behind it.

One of the leading goals I've been following is design by subtraction. The idea that you should take away everything but the core gameplay and let that drive the game. So the format settled on focusing just on the color matching gameplay and each gate that comes adds its own mixup of the core. There were times when I tried messing with the core gameplay and tried some more complexity, but it just didn't feel like BoxByte anymore.

It could always use some more polish, I'm really a one man team though so it's been a struggle to get even what I have lol.

I'm not sure what's up with the warning. I think that's just a Unity thing because there's no actual networking code in the game itself.

I agree about the text. I find ui design to be some of the most boring work involved with a game so there are some instances where the ui could definitely be better.

The tutorial seems to be something that people are the most divided on. Some people really like it and some really hate it. I just think that's how it goes with tutorials. No one wants to be stuck reading when they want to be playing. But I found it was really important for people to understand the game. I tried to make it as short as I could if that helps :)

It's funny that you mention those three, because every one of those had significant changes in the past three months. Ultimately the game is one big challenge though, so what I did was try to focus on what the hardcore BoxByte player would want. The downside of course is that there are a lot of cool things later on in the game that some players will never see. In the end I just didn't want to make it easier at a detriment to those core players who will play it most.

I really would have liked to have had more puzzles, but it's mostly a game about skill and tactics. However I don't agree about there being artificial difficulty. But I definitely think it could be too hard and that's part of the reason I'm posting this to hear experiences.

What makes you think it's a general sci-fi world? It's actually a very dark oppressive world. Is there a game world? ;)

I can't comment much on the background, I've already said too much on the world... But all is not as it seems...

About the score, I guess it could be handled better. But it's really meant to be a kind of goal. I don't really want to gravitate towards a kind of participation award though. Of course that leaves it with some sharp edges but that's part of what makes it BoxByte. It's unforgiving but always fair.

With a game like BoxByte I don't think it's something that can cater well to every demographic. I definitely made efforts to try to smooth it out, but in some cases I decided to leave it as is and hopefully the demographic that likes it will like it more for that.

Having said that, I might be completely off. This isn't an exact science after all. In that case I'm definitely willing accept that and take input :)

<comment><USER26> >I find ui design to be some of the most boring work involved with a game so there are some instances where the ui could definitely be better.

I kind of feel the same way. Unfortunately, if you're going to do this all on your own, you're going to have to find a way to get interested in everything. I've only finished one game myself (a very poor Space Invaders clone, without Unity) and getting text to work was definitely one of the most boring and tedious parts of it.

>The tutorial seems to be something that people are the most divided on. (...)

My issue with the tutorial wasn't the length per se, but the presentation, which seemed a bit to be talking down to the player. Honestly, I figured out the gimmick as soon as I saw the button changed the color of the player sprite and that the other sprites had similar colors, it's not that complicated. I think maybe just tone down the anthropomorphism and it will be better.

>It's funny that you mention those three (...)

I just found the balance to be off somewhere I couldn't quite pin down. It might just be a matter of taste though - I'm more used to shooters and bullet hell games. If other people complain about it then it might be a problem worth looking into, but you're right that you can't please everybody.

>What makes you think it's a general sci-fi world?

The general visual and graphic theme seems to be technological and futuristic.

Good luck with it.

Since you are using Unity, have you considered putting a build for the web up somewhere? I don't even know if it would work, but it might be worth it to put a browser-capable demo somewhere.

<comment><AUTHOR> >I kind of feel the same way. Unfortunately, if you're going to do this all on your own, you're going to have to find a way to get interested in everything.

Oh yes I definitely agree. I don't want the game to be worse because I couldn't bring myself to do something boring XD

> I think maybe just tone down the anthropomorphism and it will be better.

That actually bugs me a bit too. But I had chance to gauge the response at a convention and I found that female gamers actually like the game a lot and they react positively to the tutorial. But I'll have to see the general reaction and I may end up throwing it out.

>The general visual and graphic theme seems to be technological and futuristic.

Sounds like a good facade.

>Since you are using Unity, have you considered putting a build for the web up somewhere?

I tried an online build but it seems like unity webplayer is being phased out for the html5 backend. I tried it out in that but the performance was horrible so I'm not sure if there's an easy path on that.

Thanks for the encouragement! Do you have a website yourself or something I can follow you on?

<comment><USER26> > Do you have a website yourself or something I can follow you on.

I have an empty Wordpress that i'm being lazy about updating with a child theme and actual content (I kind of fell out of blogging a few years ago.) I am planning on doing (and maybe blogging about) the one game a month challenge[0] starting next year, so maybe I can post it to HN then. I'm not good at selling myself and I really need to work on my online presence again.

I'm on twitter at @kennethrapp but there's nothing interesting there either.

If you want to see me suck at some Japanese shooters, My youtube channel is [https://www.youtube.com/channel/UCUALtf6GWYntaliNPUjWVUQ](https://www.youtube.com/channel/UCUALtf6GWYntaliNPUjWVUQ)

[0][http://www.onegameamonth.com/](http://www.onegameamonth.com/)

</comment></comment></comment></comment></comment><comment><USER27> Is it just me, or would it make much more sense if it switched in order of red > green > blue? Most people already know that sequence, so there'd be much less of a learning curve.

Also, KB+M doesn't work on the Linux build. Gamepad does, though.

<comment><AUTHOR> That's the second time that's been reported on linux. I'll have to look into that.

I made the order based on blue. The first artwork I made used blue and it just kinda settled that blue would be Box's default state. RGB does make more sense now that I think about it though. I'll have to think about it and gauge whether it's worth changing since I'd have to go back and tear into code in many files.

</comment></comment><comment><USER28> So can you give us some description of the technologies used in order to build that game ?

<comment><AUTHOR> It's mostly just Unity3d and lots of elbow grease.

I used blender for the 3d objects and animations.

I used inkscape and the gimp for a lot of the texture work.

I used audacity for a lot of the audio work.

I also made my own library for data serialization with generics. It's pretty cool because you can have multiple tables with any data type and it'll just take care of it for you. I'd like to make it able to update to and from a server someday. C# really makes it easy though.

None of the tech is crazy, but you can make the Sistine chapel with mud and a stick if you poke it long enough.

</comment></comment><comment><USER29> You should maybe look into distributing this on itch.io ([http://itch.io](http://itch.io)), which handles hosting, promotion, and pricing for you.

</comment><comment><USER30> > It would be great just to hear your experiences of the game and how far in > it you got.

Post this on the TIGSource forums and ask for feedback. That is where most of the indie game developers congregate.

<comment><AUTHOR> Wow, I've never been there before. No wonder I've been so lonely.

I have to take my son to school really quick so I'll have to do it when I get back. Btw, if anyone wants to go ahead and share this anywhere, feel free! I just want to make fun things and if you share that fun I'd be grateful.

</comment></comment><comment><USER31> Along with all the other suggestions fir hosting, Red Hat Openshift has free tier that you can pretty easily set up a website with as well.

</comment><comment><USER32> You'll want to turn off f.lux to play this game. Or leave it on, if you want this game to be much harder. :)

</comment><comment><USER33> Made an account to give thanks for day-one Linux support. We're a small fan- base but very vocal. :)

</comment><comment><USER34> Currently getting:

Error (429) This account's links are generating too much traffic and have been temporarily disabled!

<comment><AUTHOR> I just posted some mirrors on the main thread.

</comment></comment><comment><USER35> Dropbox have blocked the links due to high traffic. :( anywhere else we can take a butchers?

</comment><comment><USER36> Make a 3 minute video of the gameplay and upload it to youtube

</comment><comment><USER37> Dropbox says no.

</comment><comment><USER38> Self-reported "Long time lurker" to HN: "run my binary, look it's ported to all platforms!" Excuse me if I don't.

<comment><USER39> That was my first thought. My second thought was that it's not much different from what we do all the time anyway, including when we download source tarballs and then run './configure'.</comment></comment>


How to build a custom laptop computer with original chassis, keyboard, etc? - <AUTHOR> http://electronics.stackexchange.com/questions/13372/how-to-build-a-custom-laptop-computer-with-original-chassis-keyboard-etc/13374

<comment><AUTHOR> Notice the reason why. In fact, the idea of a startup producing laptops targeted at developers has been mentioned before.</comment>


Engineering is about tradeoffs: How hard will you work to save 68KB of disk space? - <AUTHOR> http://blogs.msdn.com/oldnewthing/archive/2009/03/12/9471146.aspx <comment><USER2> Yeah, yeah. I hear ya.

Talked to a friend of mine who worked for Microsoft few years back and the "4 testers per 1 developer" was all the rage. Code now, ship tomorrow, design next month. Obviously one of the tradeoffs. It worked wonders for the business, but engineering-wise the output is an utter crap. I spent few years writing kernel-level stuff for Windows _and_ Linux, and the difference in quality is absolutely staggering.

</comment><comment><USER3> I have to take umbrage at this style of engineering. Yes having the extra copy of notepad is easy and practical, but it ignores the fundamental principle that doing it the right way is going to have a return down the road. An opportunity cost in having the capacity for hard links in all of those software components is taken, the utility of hard links to users in other domains not related to the single scenario can never be realized, and you've established momentum for taking the easy way out the next time the problem comes up ("Ehhh, well, we just added another copy of notepad, let's just add another copy of this dll, and this config file, and this, and that, and the other thing").

<comment><USER4> I guess it depends on your objective. If you want to create a lean, well- engineered architecture where things are always done the correct way, you take your approach. If you want to build a multi-national company worth $170 billion, you go their route.

Yes, that's a fallacy, because it's not an either/or decision, but my point is that engineering supports the business objectives, not the other way around (assuming we're talking about a business).

<comment><USER5> There was a discussion here last week about technical debt, and I think this is a great example of it.

You incur debt when you make a decision like this one. When you make thousands of decisions like it, they add up to a whole lot of debt.

The problem is that this debt is nearly impossible to quantify, so it's often invisible to the business team. A decision like keeping two copies of Notebook around thus _seems_ like the correct decision to the business team at the time, but later proves to cost a lot more down the road.

So while it's true that engineering supports business objectives at the macro level, a pure "business" mindset at the micro level can lead to short-sighted and ultimately costly decisions like this one.</comment></comment></comment>


Erlang: The Written History - <AUTHOR> http://www.josetteorama.com/erlang-the-written-history/

<comment><USER2> Interesting to observe that on the subject of Erlang, a very mature and powerful language, along with its incredible OTP framework, there are maybe ten books published (Armstrong lists six; I'm seeing a few others on Amazon).

Compare that to the entire bookcases that have been written about Java, .NET, Visual Basic, etc.

<comment><USER3> A see a couple of reasons, some positive and some negative:

* Erlang is not as popular.

* It is rather a niche language suited for some domains but it is not for others (compute oriented languages). So not many "How to write games in Erlang" or "Statistics in Erlang"

* Erlang documentation is pretty good. It is not pretty (look like it its style got stuck in late 90s), but it is comprehensive

* Erlang programmers I find are good self-starters and of higher quality than other programmers. It is just what I observed I maybe wrong. This is the same as Haskell or Rust perhaps. That means they learn and find out stuff on their own.

* Erlang is self-consistent. There are not that many ways to do one thing. Not like Scala, C++ or Java. That means there is usually a canonical good way. That also means less "Erlang patterns". Usually large number of "patterns in X" means there is some deficiency in the language or library. That means a small cottage industry of writing "patterns in X" books.

</comment></comment><comment><USER3> Ordered it!

Erlang is rather fascinating. It is a relatively old language and for being such an old language it managed to keep consistency and didn't explode into an all singing all dancing pony with 100 ways of doing everything. It syntax is strange compared to run of the mill curly bracket languages, but it is self- consistent.

It is also interested because it is adding rather fundamental features to it like maps. Yes, yes, all the modern languages have them and Erlang is about to them too! despite being a rather ancient language.

[http://erlang.org/pipermail/erlang- questions/2013-May/073656...](http://erlang.org/pipermail/erlang- questions/2013-May/073656.html)

<comment><USER4> > It is also interested because it is adding rather fundamental features to it > like maps. Yes, yes, all the modern languages have them and Erlang is about > to them too!

I don't know whether I'd say Erlang didn't have (hash-)maps before.

Each Erlang process has always had a "process dictionary." If you think of these as equivalent to another language's thread-local variables, this seems like a wrong comparison--and people tend to avoid using the process dictionary for this reason.

But if you think of processes as Erlang's _objects_ , in the OOP sense[1], then the an object's process dictionary is equivalent to that object's "slots", in the Python/Javascript/Lua sense. And so, if you want a (automatically concurrency-safe!) map, you just make a new "map server" object that responds to get and set messages by manipulating its process dictionary. Which is exactly how you'd expect a mutable hashmap object to work in any other language.

Or, you can avoid this low-level stuff by using ETS tables instead, if the difference between O(log N) and O(1) performance doesn't much matter to you... but if you think about it, ETS tables are basically just doing this same thing: creating a separate object/process that responds to messages to hold your mutable state, rather than representing it as an on-stack data structure.

\---

[1] Alan Kay was probably describing something closer to Erlang (or Simula) processes, than Java "objects", with OOP. Here's the unabridged quote: [http://userpage.fu- berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay...](http://userpage.fu- berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay_oop_en) . Note especially this part: "I thought of objects being like biological cells and/or individual computers on a network." Both of those conceptions necessarily involve concurrent computation on the part of each "object."

<comment><USER3> None of those offer "dynamic" records type feature. So you deserialize a json block (and for better or for worse json is here to stay). What should the output of that be? A new process with a process dictionary? A new ETS table? A proplist of sorts. Well it could be all of those the best answer is a map. Which is what we are about to get.

</comment></comment></comment><comment><USER5> I am actually reading through the book right now I have to say Joe did a great job with the book. Explaining concepts I thought was difficult in a clear manner. It's fun going through the examples as well. A real page turner for me.

</comment><comment><USER6> Just ordered it on amazon! Ready to be enlightened.

</comment><comment><USER7> Can someone give me some real world examples of where Erlang really out does Java/C#/C++/etc?

<comment><USER8> It is built with concurrency in mind, from the ground up, making it much easier to write concurrent programs than when using the traditional languages that you've listed.

1) Every process in Erlang manages its own memory and has its own GC. This means that GC'ing one process will not stop the world.

2) Erlang has multicore compatibility baked in, through its process-based model.

3) Erlang enforces pure message-passing at a language level, so there is no shared state. This allows concurrent programs to be written much more easily than in languages where one has to manage shared state.

4) Referential transparency - to the programmer, one can use virtually the same code to pass a message on a remote Erlang process and an Erlang process on the same machine.

5) Fault-tolerant and self-healing mechanisms built in.

This is not an exhaustive list -- it just gives you an idea.

<comment><USER9> > 1) Every process in Erlang manages its own memory and has its own GC. This > means that GC'ing one process will not stop the world.

Most processes are so short lived, and with message passing, that the GC often might not have to do anything. You just free all memory allocated by processes.

> It is built with concurrency in mind

Like Go on crack. Processes are cheap and are used the same wether they exist on the same machine or a different one. And it has pattern matching.</comment></comment></comment>


We Could Have Had Electric Cars from the Beginning - <AUTHOR> https://longreads.com/2019/06/13/we-could-have-had-electric-cars-from-the-very-beginning/ <comment><USER3> Some of the reasons why petrol won:

There was no electric grid to speak of - even now there is concern the grid can't support all EV's, once you were outside the cities (and there weren't many back then) the grid was spotty. The miracle of being able to pour some cheap liquid in an engine and drive for miles is a considerable achievement.

Lead acid batteries weren't very good and were expensive (and still are) and don't last long compared to petrol engines.

Electric motors were big then - it was only rare earth magnets that made them small enough to consider using in cars at high speed/ranges.

Its always been possible to make a small electric commuter car to drive round at 30mph for short distances but even today there are none like this, because people want to take their cars on the road on the weekend without having to worry. In the 1900's it was the call of the open road and cheap travel (petrol was very cheap then) that made petrol win.

<comment><USER4> Another reason: Even today the energy density of batteries is SUBSTANTIALLY smaller than that of fossil fuels. [0] We frequently see this graph [1] showing how far batteries have come (they have! and we need to keep going) but not understanding this is part of the issue too. [0] is why we need to keep researching, but [0] is why electric was never going to win in the beginning. It is taking very advanced materials to get to pretty decent energy densities and also advanced materials to use electricity more efficiently. Advanced materials that would likely^ not have been invented that far back even if there was a demand.

[0] [https://static.financialsense.com/historical/users/u242/imag...](https://static.financialsense.com/historical/users/u242/images/2013/Energy- Density.jpg)

[1] [https://www.researchgate.net/profile/Gp_Pandey/publication/2...](https://www.researchgate.net/profile/Gp_Pandey/publication/231064871/figure/fig1/AS:300535103148037@1448664560867/Comparison- of-energy-densities-of-different-battery-systems.png)

^ For you hopefuls, I say _likely_ not impossible. The machining to create these state of the art batteries requires a lot of other technologies.

<comment><USER5> This is an incredibly myopic take masquerading as "first principles". First, you're flat wrong on the differences between gas and batteries, _especially_ for cars. Second, you need an actual _reason_ energy density is the fundamental metric- cars aren't rockets and weight isn't the end-all.

It's impossible to neglect the efficiency here. Car-scale combustion engines have a real world efficiency of around _ten percent_ compared to electric. A gallon of E10 contains 34.9 kWh and randomly picking a Toyota Avalon you'll get a real world 17 mpg with that[1], which works out to 16.4 mpge.

Compare that to real world measurements of a Tesla Model 3, a car that is MUCH more powerful and heavier, but gets 147.4 mpge[2]. The Avalon gets 11% as many miles per unit of energy stored. E10 is equivalent to 1.32 kWh/kg (4.8 MJ/kg).

Not to mention that graph of battery energy density is significantly out of date. Normal li-ion, is at 300 Wh/kg (1.1 MJ/kg) and li-sulfur is commercially available at 500 Wh/kg[3] (1.8 MJ/kg). Even Tesla's batteries are above 250 Wh/kg.

So the bottom line is the difference is ~5x right now. Is that enough to matter? 15.5 gallons of gas (standard fuel tank) weighs 44 kg, or 2.7% the total weight of the Avalon. The full capacity in batteries at 250 Wh/kg would weigh 232.32 kg, or 11.4% more. As much as 2 people + luggage. That's a totally irrelevant increase in weight; luxury or performance cars in a given class can weigh DOUBLE the lightest cars in the same class.

The energy density of batteries is a red herring for all vehicles except cargo/tanker ships and long-distance airplanes. It's _completely_ irrelevant for vehicles. The charging speed is arguably minorly important but by FAR the most important things are the upfront and lifetime cost. That is related to energy density... the energy density of the power plant's fuel, not the battery. And again, it's incredibly naive to assume the weight is the major factor in cost.

[1]: [https://www.fueleconomy.gov/mpg/MPG.do?action=mpgData&vehicl...](https://www.fueleconomy.gov/mpg/MPG.do?action=mpgData&vehicleID=37105&browser=true&details=on)

[2]: [https://www.fueleconomy.gov/mpg/MPG.do?action=mpgData&vehicl...](https://www.fueleconomy.gov/mpg/MPG.do?action=mpgData&vehicleID=39836&browser=true&details=on)

[3]: [https://sionpower.com/](https://sionpower.com/)

<comment><USER6> Will charging speed really only be of minor importance? How do you charge your vehicle if you live in an apartment building? And if you can't do that and charging at a station takes more than 3-5 minutes then you cut out a _huge_ part of the populace.

<comment><USER5> > Will charging speed really only be of minor importance? How do you charge > your vehicle if you live in an apartment building? And if you can't do that > and charging at a station takes more than 3-5 minutes then you cut out a > huge part of the populace.

Yeah, that's what I'm saying. If you have to leave your home to charge, the time is relatively unimportant. Sub 3-5 minutes is a big deal because you can do it on the way home from work, but you could also accomplish that with a battery swap or even a small top-off block you keep indoors. I could have phrased it better by saying that charge speed is arguably a major issue, but only if there is no way to solve the distribution problem.

Until then it's pretty low value- 10 minutes doesn't have much benefit over 30 minutes since you have to plan around it. If you're stopping for ten minutes, you may as well eat or run errands, and then it might as well be 30 minutes.

If it's 30+ minutes you need to do it while you run errands or something, so it may as well be an hour. You'll only ever notice on the few days you drive for hundreds of miles at once. If it's over an hour, it might as well be 6+ hours, because you'll only ever do it overnight.

</comment></comment></comment></comment></comment><comment><USER7> * But no sudden technological breakthrough explains the automobile's arrival in the 1890s either.*

Er, steel? Steel was about as exotic as titanium is now until the 1860s when the Bessemer process went into volume production.

<comment><USER8> I think steam engines prototyped a lot of the needed technology like lubrication, manufacturing of precision shafts and heat resistance which then could be applied to the gas engine.

<comment><USER9> There's an interesting example of technological synergy at the dawn of the steam engine industry.

To build an effective steam engine, you need a precisely ground piston and a precisely bored cylinder, otherwise you can't get useful working pressures. Grinding the piston is laborious but straightforward - you just need two centers and a cutting tool to achieve a rotationally symmetrical part. Boring the cylinder is much more challenging, because you need to cut a very wide, very deep, very straight hole into a huge lump of iron. Cutting that hole requires a very rigid, very powerful machine.

John Wilkinson developed an effective boring machine in 1774 for making cannons, but it was limited in speed and capacity by the water wheel that powered it. The next year, the Boulton & Watt company was founded, building stationary steam engines with cylinders made by Wilkinson. Wilkinson received the second steam engine built by Boulton & Watt, which he used to power a bigger and faster cylinder boring machine, which he used to build more and bigger steam engine cylinders for Boulton & Watt.

<comment><USER10> This also shows the curious paradox (if it's a paradox) that we can't easily re-create many of the industries from scratch. We've had many intermediate steps that we discarded along the way.

In other words, modern industry is the product of modern industry.

<comment><USER7> There are points in mechanical history where you have a real problem taking the next step. The classic is "who made the first tongs?" You need a handling tool that will survive fire to do blacksmithing. How was the first one made? It's ascribed to God in some Jewish text and to Thor in some Viking legend. Probably someone used chipped rocks as handling tools.

Another bootstrapping problem is making a precise screw thread without another screw, as in a lathe, to use as a reference. This was solved by Maudsley, who invented the "screw originating machine".[1]

The sequence for bootstrapping machine tools from a very low level is well known, because hobbyists sometimes build their own machine tools and need to take upward steps. Hammer, anvil, forge, lathe, better lathe, better lathe, good lathe, planer, bigger planer, drill press, better drill press, milling machine, better milling machine, good milling machine. There's a set of books on this intended for a post nuclear disaster. (It assumes you have aluminum scrap around.) Electronics is tougher to cold start.

[1] [http://collection.sciencemuseum.org.uk/objects/co46546/tool-...](http://collection.sciencemuseum.org.uk/objects/co46546/tool- for-originating-screw-threads-made-by-henry-screw-cutting)

</comment></comment></comment></comment></comment><comment><USER11> Related article (by Alexis Madrigal), "The Electric Taxi Company You Could Have Called in 1900" about an attempt to roll out an electric cab company in NYC and the rest of New England.

[https://www.theatlantic.com/technology/archive/2011/03/the-e...](https://www.theatlantic.com/technology/archive/2011/03/the- electric-taxi-company-you-could-have-called-in-1900/72481/)

Another article which touches on the subject: [https://grist.org/article/2011-03-28-alexis-madrigal- crazy-g...](https://grist.org/article/2011-03-28-alexis-madrigal-crazy- greentech-history-powering-the-dream/)

"At a time when many people were stuck inside new urban confines, unable to get outside to private spaces, having a car that could tour, a car with a lot of range, was quite appealing.... And it was just sexy to go fast. People like to go fast."

</comment><comment><USER12> You can visit Thomas Edison's house with his lab near Newark NJ. There are two electric cars on display. Interestingly here it says in 1914 38% of all the cars on the road were electric; 22% gasoline, 40% steam powered.

[http://www.edisonmuckers.org/edisons- cars/](http://www.edisonmuckers.org/edisons-cars/)

<comment> m-i-l "In 1914: 38% of all the cars on the road were electric; 22% gasoline, 40% steam powered."[0] "by 1917, only 50,000 electrics were registered compared to 3.5 million IC cars. Steamers were all but gone"[1]

Assuming both sets of stats are correct, it sounds like something happened between 1914 and 1917 that led to the switch from electric (or steam) cars to ones powered by internal combustion engines. Perhaps the First World War?

[0] Parent comment reference, i.e. [http://www.edisonmuckers.org/edisons- cars/](http://www.edisonmuckers.org/edisons-cars/)

[1] Main story link, i.e. [https://longreads.com/2019/06/13/we-could-have-had- electric-...](https://longreads.com/2019/06/13/we-could-have-had-electric- cars-from-the-very-beginning/)

<comment><USER12> Looks like 1.7m model Ts were built around that time [https://en.wikipedia.org/wiki/Ford_Model_T#Price_and_product...](https://en.wikipedia.org/wiki/Ford_Model_T#Price_and_production)

</comment></comment></comment><comment><USER13> We also could have had steam powered cars. Jay Leno once said that he got pulled over on the freeway for breaking the speed limit in his Stanley Steamer from 1906-ish. Darn thing has a top speed of 127mph.

My 2018 motorcycle tops out at 110mph, to give you a comparison.

Why don't we have steam cars?

Because in the early 1900's steam cars they couldn't compete with the elegance of ICE vehicles. The engines were big and heavy, the fuel was hard to manage, they took a long time to warm up, etc etc. The internal combustion engine was just a way better tool for the job.

Same reason electric cars didn't win: The ICE was just a way better tool for the job at the time. This is now changing, but very slowly.

Tesla, for example, still doesn't have an official Nurburgring lap time because it simply isn't able to drive at racing speeds for long enough without the battery overheating and reducing power output to avoid damage. Yes racing electric cars exist and they're awesome, but even Formula E swaps cars in the middle of the race because a single car can't last long enough.[1]

It does look like VW's electric supercar currently attacking the Nurburgring lap record. Already holds the absolute record for Pikes Peak. Exciting times we live in :)[2]

[1] [https://www.quora.com/What-is-the-time-clocked-in-by- Tesla-M...](https://www.quora.com/What-is-the-time-clocked-in-by-Tesla-Model- S-in-N%C3%BCrburgring)

[2][https://arstechnica.com/cars/2019/05/vws-record-breaking- ele...](https://arstechnica.com/cars/2019/05/vws-record-breaking-electric-car- takes-on-worlds-scariest-racetrack-nurburgring/)

<comment><USER14> > Tesla, for example, still doesn't have an official Nurburgring lap time > because it simply isn't able to drive at racing speeds for long enough > without the battery overheating and reducing power output to avoid damage

Now I'm really curious: with a limit on the Tesla's performance to keep the battery from overheating, what's the fastest time it could do?

That they don't have an official lap time for this reason strikes me as almost dishonest, since they marketed the Roadster entirely and the Model S significantly on performance. But you can't actually drive either to its limit for more than a couple minutes? Lame.

<comment><USER13> > But you can't actually drive either to its limit for more than a couple > minutes? Lame.

Notice all of Tesla's marketing is about acceleration, not lap times. They beat any other car hands down on the drag strip. But cornering is just not their forte (too heavy) and driving fast for a long time is hard (too much power draw).

<comment><USER15> Too heavy? But the skateboard puts all of the weight as low as possible

<comment><USER13> Weight, even if it's low, still increases stopping distance and requires more grip to get around corners. You can't escape kinetic energy.

</comment></comment></comment></comment></comment><comment><USER16> I don't think you can discount the military applications as a factor. It is not as extreme as in aviation in terms of raw innovation, but without the demand for millions of engines for trucks, tanks, jeeps, and all the other machinery of war sparked by the warfare of the first part of the 20th century, the internal combustion engine would not be as ubiquitous as it is today. In thirty years armies went from marching on oats and horseshoes to petrol and Goodyears.

Maneuver warfare would have been impossible on electric. And then when the war was over, all that surplus machinery was around, and so were the factories that built it.

<comment> m-i-l This aligns to the timings of the switch to ICE, which appears to be between 1914 and 1917 - <USER2> [https://news.ycombinator.com/item?id=20181692](https://news.ycombinator.com/item?id=20181692) .

</comment></comment><comment><USER17> _We Could Have Had Electric Cars from the Beginning_

All true. If we ignore the massive increase in infrastructure needed to make them viable outside of cities. And also ignore, as the article does, the time it would take to charge along with the short lifetime of batteries in that era. It doesn't matter if their range equaled that of an IC, the IC could be ready for the next leg of a trip almost instantly compared to an EV. Effectively this halved the range of an EV. If you could only drive 60 miles and there was no guaranteed prospect of charging at the end, you had to be able to return home to charge, meaning 30 miles out and 30 miles back.

All issues that still represent bottlenecks to EV adoption today, albeit much less so, and which are gradually being overcome.

<comment><USER18> The range isn't really a problem: all you have to do is have "battery stations" where you swap out the batteries in a few minutes. This has its issues (related to ownership of the batteries, and also standardization), but technically it's completely doable. They've had lead-acid batteries for over a century now, so if society had wanted to make EVs the norm, this could have been done.

<comment><USER17> It's still an issue, requiring large infrastructure investments to build battery stations and the charging equipment. Compare this to gasoline and it's precursor mixtures which could be derived from coal, for which there already existed massive distribution infrastructure.

I think the author reads entirely too much into the supposed psychology of an IC powered vehicle instead of the much more simple explanation: path dependency.

</comment></comment></comment><comment><USER19> When I visited the Porsche Museum in Stuttgart, I was surprised to find out, that Porsche's first car was an Electric one :-)

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

<comment><USER20> See also [https://en.wikipedia.org/wiki/Lohner- Porsche](https://en.wikipedia.org/wiki/Lohner-Porsche) from 1900:

"The Lohner-Porsche's design was studied by Boeing and NASA to create the Apollo program's Lunar Roving Vehicle."

</comment></comment><comment><USER21> Battery technology has been, and to a certain degree still is the limiting factor for electric cars...and the fact is that gasoline is still a denser form of energy storage than batteries by volume, weight etc..

I'm saying this as a someone who prefers electrics over ICE...

<comment><USER22> Nuclear is denser than gasoline but we don't run cars on it. There's a lot more to the discussion than the best technology.

<comment><USER23> You meant 'there is a lot more to the discussion than the density of the energy carrier'.

A nuclear vehicle would be impractical due to waste and risk.

<comment><USER24> It turns out the same was true for internal combustion engines all along.

<comment><USER25> People usually think cars are the biggest sources of emissions but it's not even close. All transportation (car, planes, trains, etc) represent 14% of global emissions.

Globally the biggest source of emissions is energy production which represents about 35% (25% of direct emissions and 10% of processes like refining fuel).

[https://www.epa.gov/ghgemissions/global-greenhouse-gas- emiss...](https://www.epa.gov/ghgemissions/global-greenhouse-gas-emissions- data#Sector)

So, I doubt emissions from ICE cars would be as bad as widespread nuclear residues from nuclear cars.

<comment><USER26> I think this was posted/referenced recently: [https://www.youtube.com/watch?v=d1EB1zsxW0k](https://www.youtube.com/watch?v=d1EB1zsxW0k)

Gates interview on energy

<comment><USER25> Nice video.

Yeah, energy production, storage, and consumption is really the fundamental problem to solve.

For example Vlacav Smil has said many times that the US should invest heavily in home insulation to reduce heating and AC energy.

</comment></comment></comment></comment></comment></comment></comment><comment><USER27> _Early electric cars performed better in cities than internal combustion vehicles, but didn't give riders the same illusion of freedom and masculine derring-do_

Isn't that the same reason we still don't all drive electric cars?

I was always disappointed that NEV's didn't take off, seems like a perfect solution for cities and even suburbs -- lanes could be striped much narrower and parking could be much more dense.

But few people want to drive a glorified golf cart to the office, even if they only drive 10 miles and are stuck in stop and go traffic anyway, so the 25mph NEV cap wouldn't really change their commute time.

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

</comment><comment><USER28> > _Early electric cars performed better in cities than internal combustion > vehicles_

This article talks a lot about cars around 1900.

In the US in 1900, 60% of the population lived in rural areas and only 40% lived in cities. (See [https://en.wikipedia.org/wiki/Urbanization_in_the_United_Sta...](https://en.wikipedia.org/wiki/Urbanization_in_the_United_States#Historical_statistics))

So working well in rural areas was probably a more important concern. A product that works OK for all your potential customers is better (from a business's point of view) than one that works a bit better for some customers and not at all for others.

<comment><USER29> 85% of all the income was probably made in cities.

<comment><USER28> Valid point. I couldn't easily find data on that, though I do think that at a certain point cars became one of those things you find a way to afford (even if you don't have a lot of money) because of how useful they are if you live in a rural area.

</comment></comment></comment><comment><USER30> If we replaced all cars with EV's how much greenhouse gas would we actually curb? I know we're shifting the strain of the car producing greenhouse gases tp the power plant. Anybody know the numbers?

Intuitively I always thought the only way of actually making a dent in emissions is to change the way we live by shifting to public transportation. Suburbia is what makes the US the leading greenhouse gas producers and only changing the way we live to be more like cities such as NYC or Tokyo do we actually stand to make a change. We need to reduce the usage of cars to make a meaningful dent in greenhouse gas emissions.

</comment><comment><USER31> They could've worked in cities. Lead-acid batteries, though, have never had the energy/weight ratio necessary for the type of long-range driving necessary outside of highly urbanized areas.

<comment><USER32> I think people tend to forget that before 1900-1940 if you were outside of the city; no electricity.

<comment> munk-a Not everyone has always had access to everything... internet in rural districts used to be rare as well.

I don't think you can really make any sort of meaningful conclusion from this - rural areas tend to lag in this sort of innovation.

<comment><USER32> Two of my great grandfathers bought cars around 1915. One owned a plantation outside of Memphis. And the other a ranch in California. They didn't have electricity.

Not developed by my comment is in 1920 you didn't 'need' a car in cities. Since you had street cars. In rural/small town America cars were really useful but electric cars were a non starter.

</comment></comment></comment></comment><comment><USER33> Unpopular opinion, but I truly feel battery powered cars are a dead end. Gas won out over earlier models because of its unique properties, most of which is its easy availability and high energy density. Batteries are heavy, and range limited. A true successor to the ICE must offer the same freedoms afforded. Whether it's super fast charging, nuclear, or a greener fuel, though, I'm not sure.

<comment><USER34> The 2019 Tesla model S has a range of 370 miles, and I assume that as time passes, more EVs will have a range approaching that figure.

That range is considerably longer than the range of my bladder, so once charging increases in speed, this "problem" simply vanishes. We're already on our way there, the first 250kW charger opened this week, and will add 180 miles of range in 15 minutes.

In fact, it's better than an ICE car, because I can charge at home, and start every single journey with 100% charge.

<comment><USER35> How long does it take to charge? Granted 350 miles is a long trip, but some 9f us drive from Seattle to San Francisco and we can't do that in 350 burst waiting overnight for the car to charge.

Personally I think a hybrid that plugs into 120, with a commuting range 50 miles and a back up gas engine will be the sweet spot

<comment><USER36> Lithium-ion batteries can be fully charged safely in about an hour, give or take, regardless of their capacity. 80% charge is about half that, IIRC.

The reason it takes a while to recharge EVs is because of the enormous size of their batteries. Tesla Superchargers inject more power into the car than what comes into a regular home.

Quick math: A 100KWh is going to take a bit more than 100KW of power to charge in an hour. For comparison, an oven uses about 3KW...

</comment></comment></comment></comment><comment><USER37> It's amusing to see people "Monday morning quarterbacking" on one of the greatest achievements of the 20th century. "We could have done it ANOTHER way!" ignores the fact that it might not have happened at all.

</comment><comment><USER38> So I started reading popular mechanics 1905-2005 last weekend, in the first issue of 1905 they actually show a little blurb about electric mail trucks, I knew EVs went way back but found it pretty neat.

</comment><comment><USER39> Early models of Ford's Model T had adjustable carburetors to run on ethanol with gasoline as an option.

Not electric, but renewable, sustainable, and I'd assume (maybe wrongly) mostly carbon neutral.

<comment><USER40> The problem with ethanol is that the most efficient plants for making it also happen to be food crops.

<comment><USER41> No, that's not the problem. The problem is that driving tractors and producing fertilizer requires a lot of fossil fuels.

<comment><USER42> You can run the tractors on ethanol also, though?

</comment></comment></comment></comment><comment><USER43> Hindsight is 20/20.

</comment><comment><USER44> Perhaps we could have had electric vehicles sooner, but we would have needed clean sources of electricity, not coal powered generation, to make a difference.

<comment><USER45> Many of the largest early sources of electricity were, in fact, hydro power. We could've just kept building more of those until the mid 20th century when we would've pretty much maxed out the rivers (in the US).

And don't forget wind power. Could do that, too. The intermittentness handled in areas by hydro as well. Then nuclear in the mid 20th century.

<comment><USER46> If we talk about world, not just USA, then many places just don't have the luxury of hydro, or even wind. And often gas needs to be imported making it expensive. Coal was just cheap and effective to begin with.

</comment></comment></comment><comment><USER47> Why would we have had electric car from the beginning? Producing an E-car consumes more energy than a car with an internal combustion engine, the milage is a joke. And if electricity is coming from coal power plants it is all but green.

<comment><USER34> > Producing an E-car consumes more energy than a car with an internal > combustion engine,

That's true! These differences change as soon as the cars are driven. EVs are powered by electricity, which is generally a cleaner energy source than gasoline. Battery electric cars make up for their higher manufacturing emissions within eighteen months of driving — shorter range models can offset the extra emissions within 6 months. Source: [https://youtu.be/K9m9WDxmSN8](https://youtu.be/K9m9WDxmSN8)

> the milage is a joke.

The 2019 Tesla model S has a range of 370 miles, and on new superchargers will add 180 miles of range in 15 minutes. Source: [https://cleantechnica.com/2019/04/24/new-tesla- model-s-370-m...](https://cleantechnica.com/2019/04/24/new-tesla- model-s-370-miles-of-range-epa-goes-from-bay-area-to-la-on-one-charge-tesla- killer-comparisons/)

Of course, most EV owners rarely use any charger other than their home one, since you can start every journey with 100% charge.

This might be "a joke" to you, I cannot say.

> And if electricity is coming from coal power plants it is all but green.

That's also true! Lucky then that all electricity does not come from coal power plants. In the US, that's only 17.8%. Source: [https://www.eia.gov/energyexplained/](https://www.eia.gov/energyexplained/)

Those with solar panels on their homes don't get their power from any kind of power plant at all, just the sun.</comment></comment>


Ask HN: How do you read books like 'Clean Architecture' or 'Clean Code'? - <AUTHOR>
 I have poor memory retention so unless I'm working through exercises in a book it's difficult for me to commit to memory good practices. How do you read books like Clean Architecture and apply those practices in your daily life? Are there just a few major points that are hammered home a bunch of times making it easier to remember, or do you find yourself referencing the books often? Or do you just have an excellent memory and recall information as it becomes relevant in your development? <comment><USER2> Do you take notes as you read? Not necessarily during the action of reading, but after each chapter or each new idea. Then there's the Anki cards. Like, is your learning active?

<comment><AUTHOR> Sometimes I'll highlight things but I'm a terrible note taker I think. Do you know of any good resources for taking notes while reading?

<comment><USER2> It's a pretty climaxed ecosystem of strategies and a well lubricated rabbit hole. There's no one size fits all so you'll need to do a little research and run a few trials on your self until you find a good fit.</comment></comment></comment>


Solving a math problem to create art [pdf] - <AUTHOR> http://www.pnas.org/content/113/52/14873.full.pdf <comment><USER2> Here's my take on the same problem (+ animations)

[https://jasmcole.com/2017/01/02/the-travelling-artist- proble...](https://jasmcole.com/2017/01/02/the-travelling-artist-problem/)

There are also more details+references on the algorithm which spreads the points evenly and aesthetically (Voronoi stippling).

<comment><USER3> Cool! I really like the animations!

</comment></comment><comment><USER4> > _To create his pictures, Bosch uses a computer program toconvert a drawing > (or painting or photograph) into a scattering of dots_

I think Bosch is using AJ Secord's work here:

[https://cs.nyu.edu/~ajsecord/stipples.html](https://cs.nyu.edu/~ajsecord/stipples.html)

I'm also wondering if EMSLabs got the idea from him, or the other way around:

[http://www.evilmadscientist.com/2012/stipplegen-weighted- vor...](http://www.evilmadscientist.com/2012/stipplegen-weighted-voronoi- stippling-and-tsp-paths-in-processing/)

EDIT: Also, plenty of other people have tinkered with this since, for example:

[https://www.mattkeeter.com/projects/swingline/](https://www.mattkeeter.com/projects/swingline/)

[https://github.com/repwolfe/stippling](https://github.com/repwolfe/stippling)

</comment><comment><USER5> Awesome – always interested in programming-related art. I was struck by the result in the article not for its novelty but for how similar it looks to a space-filling Hilbert curve [https://en.wikipedia.org/wiki/Hilbert_curve](https://en.wikipedia.org/wiki/Hilbert_curve).

If you're interested in generative art you might like [http://inconvergent.net/](http://inconvergent.net/).

If you're interested in experimenting web-as-medium you might like reading/contribituing to my digital "zine": [http://freezine.xyz](http://freezine.xyz).

<comment><USER6> I remember spending hours on Jared Tarbell's website when I had slow Internet and Java applets were hot :

[http://www.complexification.net/gallery/](http://www.complexification.net/gallery/)

</comment></comment><comment><USER7> Beautiful</comment>


Stop Twittering and Go Solve a Problem - <AUTHOR> http://www.scottburkett.com/index.php/misc/2007-05-08/stop-twittering-and-go-solve-a-problem.html <comment><USER2> I've noticed the same thing, but fortunately for the twitter folks, someone (teenagers?) seems to think their app is useful.

It seems impossible to judge the success of an app like that before it's launched. Fortunately, I guess when you are a VC throwing around 10s of thousands of dollars at something as unproven as that doesn't seem too risky (a huge upside potential, with little downside).

</comment><comment><USER3> Twitter is interesting because it makes SMS a "scale free network". See: <http://www.thefeaturearchives.com/topic/Networks/Email__Scale- Free_Networks__and_the_Mobile_Internet.html>

</comment><comment><USER4> a-freakin'-men. twitter doesn't cure any of the pain i've got. or maybe i'm just old.</comment>


What Does Your Email Provider Say About You? [infographic] - <AUTHOR> http://www.coolinfographics.com/blog/2010/3/25/what-does-your-email-provider-say-about-you-infographic.html

<comment><USER2> Original source: [http://flowingdata.com/2010/03/25/what-your-email-says- about...](http://flowingdata.com/2010/03/25/what-your-email-says-about-your- finances/)</comment>


The climate of a retrograde rotating Earth (2018) - <AUTHOR> https://www.earth-syst-dynam.net/9/1191/2018/ <comment><USER2> This is a very surprising topic. Why should anything be different?

But it's not about rotation not matching direction of motion around the sun. It's more about how climates on the continents, as they lie, would be affected by jet streams and ocean currents which are driven by earth's rotation. They would encounter the coastlines and mountain ranges from different directions. On the real earth, for example, we see England and Norway oddly warm, equatorial Africa oddly dry, the Amazon uniquely wet. This being about fluid dynamics, every detail is unpredictable, from an armchair perspective. Some alterations seem sensible, but that sense is too frequently illusory.

<comment><USER3> The direction of the Trade Winds [1] is determined by the rotation of the Earth due to the Coriolis effect. They would reverse, and I guess it would cause more humidity in West Africa and less humidity in East Africa.

The effect of the big mountain range is more difficult to estimate (without a good simulation). In South America the Andes cover all the West Cost. In the South part the winds go mostly to the East, so it rains a lot in the small west past of the Andes, and there is a semi desert part in the big part to the ease of the Andes. In the North part of South America, the winds go mostly to the West, so you get a big humid part in the Amazon. If the winds are reversed, the semi desert part and the rainforest part somewhat exchange positions.

I don't understand the sea currents enough for handwaving, but a big change in the Gulf Stream [2] would make the United Kingdom much cooler.

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

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

</comment></comment><comment><USER3> In a previous post of a map of a retrograde Earth(based on this?) I notice the change of climate in Central America, and I thought it was weird.

In the real Earth there is a lot of wind from the Caribean to the Pacific that caries a lot of humidity and rain.

In a retrograde Earth, the winds in that area go from north to south, and don't have so much humidity. (I expected winds going from the Pacific to the Caribean, without a big change in humidity.) (It is still weird.)

</comment><comment><USER4> The abstract confused me.

Near the beginning, it refers to "the switch in the character of the European–African climate with that of the Americas, with a drying of the former and a greening of the latter"

Later on, it says "the temperature gradient between Europe and eastern Siberia is reversed, and the Sahara greens, while large parts of the Americas become deserts"

These seem somewhat contradictory, and I'm wondering if something was inadvertently reversed.

</comment><comment><USER5> Does anyone know if Earth's rotation is influenced by it's electromagnetic polarity and if shifts in rotation are possible during magnetic pole shifts?

<comment><USER6> Earth's rotation is almost certainly affected by the magnetic field, and I suspect a complete reverse of the field would flip the sign contribution.

But recall that there is conservation of angular momentum, and there is an awful lot of mass spinning at high speed and large radius to Earth's center of inertia. The contribution of the magnetic field to the rotation time of Earth's surface is on the order of ms, or parts per million, as the total term itself is 86.4 ks.

In comparison to the effects of things such as the orbit of the Moon, the magnetic field doesn't have enough energy to meaningfully affect the Earth's rotation.

<comment><USER7> This doesn't seem right to me, If earth were a rotating magnet in free space, it would have to interact with another magnet to experience any net force.

Also Earth magnetic field is very weak, think of how much force a compass needle has, and that's while you are standing right on the surface - it falls off with distance.

<comment><USER6> There are lots of magnets in the solar system, chief of all this giant ball of hydrogen fusion.

Even ignoring the effects of the interplanetary medium, Earth isn't a homogeneous object. There's a solid core, a liquid sheath around that, a plastic sheath around that, and then the lithosphere we are intimately familiar with, followed by a few levels of gaseous atmosphere. These layers are not fixed to rotate at the same speed. If you speed up the lower mantle, then the lithosphere needs to slow down to conserve angular momentum, lengthening the day. The effect is undoubtedly small, though: as I said, this is on the order of parts per million.

</comment></comment></comment></comment><comment><USER8> Yeah sure fancy plans but how do you implement them? Just grabbing the earth to stop it is hard, and thats just half the acceleration. It turns out the planet is distressingly blobby for such geoengineering projects.

<comment><USER9> Just strap a bunch of rockets and point them to the horizon... until you realize that the earths crust isn't that deep and your rockets just end up ripping a scab of earth off and flying off into space. I guess that would be one way to make a local volcano.

<comment><USER10> [Mom pops down to the basement to say Hi and see what you're up to] ;-)

</comment></comment></comment><comment><USER4> aka "Velikovskian climate change"...</comment>


Preorder Your Leap Motion Controller - $79 (ships July 22nd) - <AUTHOR> https://central.leapmotion.com/preorder/new

<comment><AUTHOR> Very affordable awesome toy, frameworks out there already for flash and unity.

</comment><comment><USER2> Other payment methods would be nice.

</comment><comment><USER3> * * Minimum system requirements: Windows 7 or 8 or Mac OS X 10.6 Snow Leopard, AMD Phenom II or Intel i3 / i5 / i7 Processor, 2GB RAM, USB 2.0 port, Internet connection, Leap Motion ID.

There is also some linux API, Ubuntu bundle specific?.</comment>


The Muse's Kathryn Minshew Speaks at the Female Founders Conference 2016 [video] - <AUTHOR> https://www.youtube.com/watch?v=Cmd5yOjnOqo <comment><USER2> Good talk! Here is the article for it [http://themacro.com/articles/2016/05/kathryn-minshew-muse- fe...](http://themacro.com/articles/2016/05/kathryn-minshew-muse-female- founders/)</comment>


PS1 generator - <AUTHOR> http://xta.github.io/HalloweenBash/ Not really mine but i liked it <comment><USER3> Pretty awesome, just a couple of suggestions:

1\. Items shouldn't disappear from the selection (I can only add one (space) for some reason).

2\. Allow grouping of items. For example, if you want to have [time] you should be able to drag the "[", "time", and "]" as a group instead of individually.

</comment><comment><USER4> Very cool!

Feature suggestion: It would be great to be able to change the colors of the individual components a la [https://github.com/twolfson/sexy-bash- prompt](https://github.com/twolfson/sexy-bash-prompt)

<comment><USER5> Seconded. The basic layout of $PS1 is straightforward enough, but it's the ugly colour escapes that always hurt maintainability of mine at least. :)

</comment></comment><comment><USER6> Nice!

I'd love to see support for the terminal window title here, too. Add an additional container for the titlebar contents, and prefix \\[\e]0;$titlebar_contents\a\\] to the prompt when TERM is xterm _, rxvt_ , or screen*.

Also, colors should be draggable into the prompt, since they can change between different parts of the prompt.

"Last command error when not successful" is nice as well; just add this to your prompt (includes color and whitespace):

        $(e="$?";[ "$e" -ne 0 ] && echo -n "\[\e[01;31m\]($e) ")

On my system, I also have some extra logic to only show the username and hostname if either $SSH_CONNECTION is set or the username is not my usual username (usually because it's either root, some user I've sudoed to, or an unusual username because I'm on a system with mandated username conventions). Thus, on my personal system, my initial prompt is "~$ ", taking up very little room. Unfortunately "not my usual username" isn't portable to different users (though you could check for the presence of SUDO_USER), but checking SSH_CONNECTION is.

<comment><USER7> I have this bit of magic in mine to map return codes to some semblance of a string version of them:

        LED=$(perl -le "\$!+=${LE};print \$!" 2>/dev/null || echo "unknown error")

It's not perfect but I haven't found a more reliable way to map exit status' to something like the right meaning.

</comment></comment><comment><USER8> Please add "cursor: default;" or "cursor: move;" to the draggable items. Draggable things should not use the text selection cursor. :)

<comment><USER9> Just a pull request away: [https://github.com/xta/HalloweenBash/blob/master/assets/prof...](https://github.com/xta/HalloweenBash/blob/master/assets/profile.css)

<comment><USER10> Done: [https://github.com/xta/HalloweenBash/pull/12](https://github.com/xta/HalloweenBash/pull/12)

</comment></comment></comment><comment><USER11> It should probably emit the example PS1 with single quotes instead of double quotes.

This:

      export PS1="\h:\W\$(parse_git_branch) \u$ "

will execute parse_git_branch only once (at the time PS1 is set) but this:

      export PS1='\h:\W\$(parse_git_branch) \u$ '

will execute it every time the prompt every time.

<comment><USER11> Also, I'd like to offer some words of caution to those who want lots of "external" (i.e. not bash-native) data in their PS1 string. Running outside programs can be expensive. For personal workstation use, things like the above are great. However, if you administer a remote (perhaps resource-constrained) server and you find yourself trying to rescue it from swap-death (or a partially busted HDD), you may not want to be 1) forking subprocesses, 2) allocating file descriptors, and 3) doing disk IO _every time_ you hit the enter key. Build responsible prompt strings everyone.

<comment><USER12> If you're actually trying to rescue a server, you can just do "export PS1='#'" once to disable it for the current session.

</comment></comment></comment><comment><USER13> You might also be interested in this PS1 generator. Seems to have a few more options.

[http://omar.io/ps1gen/](http://omar.io/ps1gen/)

</comment><comment><USER14> I kept dragging the elements into the terminal window thinking that was how I construct it.

<comment><USER15> Me, too. When I figured it out I felt silly. Maybe emphasize the construction area and deemphasize the preview? Could the preview be static, and to the right of the construction area and palettes?

</comment></comment><comment><USER16> 1\. Better know what you are doing when you fiddle with your shellprompt. Nothing is more agitating than having an unresponsive prompt because you entered a larger git repository. ( _cough_ linux kernel _cough_ )

2\. Here is a color map which escape will make your prompt look which way. [https://github.com/andreas-marschke/misc- tools/blob/master/s...](https://github.com/andreas-marschke/misc- tools/blob/master/sh/color_shell/colorPrompt.sh)

3\. You can find my prompt setup here: [https://github.com/andreas- marschke/dotfiles](https://github.com/andreas-marschke/dotfiles)

It's split up across profile,bashrc,bash_alias,bash_export

4\. As was requested in the comments here you can use $TERM variable to determine your terminal name. Since most popular terminal emulators try to be what they are supposed to be "dumb vt100s" you'll get xterm or (if you use a multiplexer like tmux,screen) "screen" as $TERM. IMHO its not of much use therefore.

5.[https://github.com/Lokaltog/powerline](https://github.com/Lokaltog/powerline) << Mean to test this out. Its more for vim users.

</comment><comment><USER17> [https://news.ycombinator.com/item?id=6155556](https://news.ycombinator.com/item?id=6155556)

[http://blog.twistedcode.org/2008/03/customizing-your-bash- pr...](http://blog.twistedcode.org/2008/03/customizing-your-bash-prompt.html)

[http://www.bbs-software.com/blog/2013/08/03/%EF%A3%BF-in- you...](http://www.bbs-software.com/blog/2013/08/03/%EF%A3%BF-in-your-system- prompt/)

</comment><comment><USER18> This is pretty neat. One issue: I put a lot of info in my ps1, so I need more than two space tokens. They should regenerate as you pull them up. Also, I want different colors on different tokens. I also like my git branch to be a different color between master, staging, integration (or other feature branches). I use the ps1_set from RVM, but take out the ruby version.

</comment><comment> robinson-wall This just uses a literal dollar sign to mark the end of the prompt by default. That means if, like me, you don't put the username in your PS1 - <USER2> relying on $ changing to a # when you run `sudo -s' nothing will happen.

I would suggest adding a "$/#" bubble which adds "\$" to the PS1 string.

</comment><comment><USER19> If you're not opposed to using JS in your prompt (it runs fast, promise!) check out impromptu [0]. I've been using it for a few months now and it's amazing.

[0]: [https://github.com/impromptu/impromptu](https://github.com/impromptu/impromptu)

<comment><USER20> You're probably not the maintainer, but Impromptu's README _really_ should do a better job of explaining what it does and why I'd want to use it.

It sounds interesting, or at least I can imagine something interesting based on that description, but the only concrete information readily available seems to be that Impromptu requires Node.js and Redis. Those are fairly onerous requirements for a shell prompt, so some description of the actual features is probably warranted.

</comment></comment><comment><USER21> If anyone wanted a full list of available options, you can look at the man page for your shell, under PROMPTING (you can type /PROMPTING to search for it). Any other bash variable, or user defined variable will also work.

</comment><comment><USER22> There's a bug where if you drag everything out of your configuration, you can't drag anything back in again.

Neat though.

I'm on Firefox v22.

<comment><USER23> Same happened to me with chromium.

</comment></comment><comment><USER24> Wow this is great, props for making the first drag-n-drop $PS1 generator

<comment><USER25> Not the first: [http://omar.io/ps1gen/](http://omar.io/ps1gen/)

</comment></comment><comment><USER26> just confusing enough to thwart those pesky North Korean hackers:

export PS1="\\[\e[30;0m\\]\w^$ \v\h\u\W\u:\\[\e[0m\\]"</comment>