A Battery Breakthrough that Proved Too Good to Be True - <AUTHOR> http://www.technologyreview.com/view/522361/the-sad-story-of-the-battery-breakthrough-that-proved-too-good-to-be-true/

<comment><USER2> Technology Review among all publications is the most guilty of hyping vaporware battery technology, especially, it must be said, if it is being developed by MIT people (not that Envia was). Here's the press release TR breathlessly and noncritically paraphrased in 2011. [http://www.technologyreview.com/news/422627/startup- boasts-b...](http://www.technologyreview.com/news/422627/startup-boasts- better-lithium-batteries/)

<comment><USER3> So, then journalists should be mercilessly and ruthlessly critical of all they are covering? ARPA-E judges are pretty smart folks, if they were fooled by this thing what makes you think a journalist on some tech news site is going to be able to vet this technology and determine if it's the going to be the next big thing or not?

The point I really want to discuss is the negativity of your comment. We like to come down hard on people dismissing new projects for being incomplete, unpromising, and so on when it comes to social sharing apps. Why not also be kind to failures in the cleantech area? The area where it's actually really tough to innovate, the area where improvements would definitively make this earth better than how it's currently heading.

ARPA-E's own stated mission is to fund ideas that are so far out that most institutions wouldn't fund them, "too early for private-sector investment" (their words). ARPA-E itself only expects 10% of the projects it funds to be successful. So then _what_ good reason is there to cry about some specific project failing? It doesn't spell the end of ARPA-E, this is just the nature of the game. This is not some tragedy of news journals failing, nothing is wrong here, just move on. More will fail yet still, but one just might be that breakthrough that we're looking forward to.

<comment><USER2> I mention it because the author of this article tried to point out how he was a skeptic in 2012. But the same publication was not exercising skepticism in 2011.

<comment><USER4> After reading your comment, I went back to read the authors 2012 article and even that doesn't demonstrate _that_ much scepticism. The title and sub heading reads as follows:

 _" A Big Jump in Battery Capacity

If Envia can overcome some key problems, its technology could cut the cost of electric-car batteries in half."_

Which, to me, is just as hyped up as the other articles he's criticizing. In fact the most sceptical parts of that article were just him saying "it's not ready yet", which isn't so much scepticism but more anticipation.

I'm a little disappointed with the author for this. I don't like the way how the press always have to sensationalise everything, but I accept that it happens. However to post the kind of snide remark as he did regarding others hyping technology, yet to do the exact same thing yourself in the very article you're citing as evidence of your own scepticism, well it's just pathetic in my opinion.

</comment></comment></comment></comment><comment><USER5> [http://gigaom.com/2013/12/03/court-documents-reveal-doe- back...](http://gigaom.com/2013/12/03/court-documents-reveal-doe-backed-envia- isnt-the-breakthrough-battery-startup-it-appeared/) <\-- original link

<comment><USER6> Yes, this is a substantially more detailed article than the original tech review link - it actually details what the claimed deception is.

</comment></comment><comment><USER7> As far as I remember all battery breakthroughs in last 20 years were sad stories.

<comment><USER8> That's maybe a bit pessimistic. We have come a long way (NiCd 40-60 Wh/kg, NiMH 30-80 Wh/kg, LiIon 150-250 Wh/kg), we're just still a long way from fossil fuels (~12,000 Wh/kg for gasoline). I think the biggest trick is to set expectations properly and wait it out as battery technology continues to evolve.

[http://en.wikipedia.org/wiki/Energy_density](http://en.wikipedia.org/wiki/Energy_density) [http://en.wikipedia.org/wiki/Rechargeable_battery](http://en.wikipedia.org/wiki/Rechargeable_battery)

<comment><USER9> Poking around, on the Lithium-air battery wiki page, they have this quote:

> The energy density of gasoline is approximately 13 kW·h/kg, which > corresponds to 1.7 kW·h/kg of energy provided to the wheels after losses.

Any clue what the energy provided to the wheels is for electric cars like a Tesla? I'm wonder what the energy loss is for electric cars from stored form to actual power at the wheel.

<comment><USER10> The Tesla Roadster was 88% efficient. I don't remember the exact value for the Model S, but it's in the same general range. This huge difference is the main thing that makes electric cars viable.

<comment><USER11> Also, electric cars can be powered by coal, nuclear, hydroelectric, etc... or whatever the grid is powered by.

</comment></comment></comment></comment></comment><comment><USER12> If reporters understood the law of conservation of energy they'll be more skeptical of energy solution claims, regardless of which form it takes.

</comment><comment><USER13> I honestly think the best advancements aren't going to be battery technologies for mass transit(at least for the next hundred years or so). Which lead me to read about a group working on creating Biodiesel from algae[1]. Turns out they can have our waste (sewage) fed into vats with algae and providing the algae with nutrients to grow. They then dry/squeeze out the algae and due to the high amount of lipids produce oil and in turn it into oil (although low quality).

The amazing part about this process is algae converts carbon to oxygen more efficiently than plants, and can only introduce as much carbon as it removes from the atmosphere. Therefore process would actually produce the same amount of carbon emissions as it reduces.

Battery power is slow growing and will take many years (perhaps hundreds) based on the current rate to reach the efficiency of oil... So this seems like a better alternative to me.

[1] [http://algae.illinois.edu/Projects/BiodieselProduction.html](http://algae.illinois.edu/Projects/BiodieselProduction.html)

</comment><comment><USER14> One of the original press coverage: (~2 years ago) "GM Bets On Cheaper Electric-Car Batteries With Envia, Invests $17 Million" [http://www.greencarreports.com/news/1054345_gm-bets-on- cheap...](http://www.greencarreports.com/news/1054345_gm-bets-on-cheaper- electric-car-batteries-with-envia-invests-17-million)

</comment><comment><USER15> Another shill company designed fail.

Meanwhile the real breakthroughs wither on the vine (e.g. [http://gizmodo.com/this-graphene-coated-silicon-power- cell-s...](http://gizmodo.com/this-graphene-coated-silicon-power-cell-signals- a-batte-1452245250))

<comment><USER16> Are you saying this isn't an investment opportunity, or that structural problems with the capital markets will mean that this investment opportunity will be ignored?

</comment></comment><comment><USER17> Batteriy and solar panel breakthroughs: stories of the week.

</comment><comment><USER18> Imagine that it had worked. And imagine that the allegations were true: they had stolen the cathode from one company and purchased a sample of an anode from another, and that, together, they consistently stored 400 Wh/kg. Would all the intellectual property rights have stopped production anyway? Or are there circumstances when one or more governments would waive the IP rights and say "the world needs this technology to save itself from air pollution -- just make it and we'll sort out payments later"?

<comment><USER19> Why would intellectual property rights prevent anyone from buying parts from different suppliers and putting them together?

<comment><USER20> You are correct, patent exhaustion allows you to use any patented product as you wish, subject only to separate explicit contracts the customer has agreed to.

<comment><USER21> So if I buy a laser pointer with a patented on/off switch, I can use it to exercise my cat without fear of infringement of 5,443,036? [https://en.wikipedia.org/wiki/Method_of_exercising_a_cat](https://en.wikipedia.org/wiki/Method_of_exercising_a_cat)

<comment><USER20> Perhaps I should have been more clear, and stated that the use of a patented product is not restricted by said patent; it is however subject to any separate contracts or obligations which the customer would be required to abide, had they not purchased the good.

I must say that it depresses me to see frivolous patents like the one mentioned above, though it no longer surprises me.

</comment></comment></comment></comment></comment><comment><USER22> I Want to Believe!</comment>


HootSuite Discontinuing Ping.fm Integration - <AUTHOR>

link:
Hootsuite sidesteps the real reason why they decided to discontinue Ping.fm.<p>Is it because ping.fm is a major competitor? Or that if you schedule for ping.fm that message can be broadcasted even further with accounts connected to ping.fm that Hootsuite doesn't connect to? <comment><AUTHOR> link: [http://help.hootsuite.com/entries/21472723-hootsuite- discont...](http://help.hootsuite.com/entries/21472723-hootsuite- discontinuing-ping-fm-integration)</comment>


How can I help nonprofits with my data skills? - <AUTHOR> Hey HN! I am COO at startup that builds data products for commercial banks (btw we are profitable). I wish I could help some meaningful nonprofit but my skills are quite limited (apart from 15 years in banking IT depts): python+pandas+numpy+sql+dask+scikit. Maybe some ideas or links to organizations that may need my help or advice? <comment><USER2> A lot of them need help with their website and data collection.</comment>


React Game Kit - <AUTHOR> https://github.com/FormidableLabs/react-game-kit <comment><USER2> I've been making games for ~30 years, and I'm always curious about how people like to apply functional concepts to game development...and yet, when I look at this, I think "Why?"

As far as I can tell, it just starts out with a React tree and then says "put the game in the middle part." Meaning that how you write the game is almost orthogonal to any of React's key concepts like one directional data flow. Except that things like collisions seem to be handled at the global level, meaning that you have to filter them back down to the individual objects involved -- which is strictly worse than letting objects respond to their own collisions, and encourages the creation of "god objects" at the top level that are completely opaque.

There are far more capable game engines out there, ones that give you sprites, canvas or WebGL rendering, and far more sophisticated control of game objects.

Basically all game engines work in a "display the current state" manner (except for old school "put your draw function here" engines like Love2d), and many have built in physics abstractions as well. Can't see any reason to use React for something it's clearly not well matched to.

<comment><USER3> I understand you. But you're taking this way too seriously. People don't do things hoping it becomes the next Unity. Sometimes they do it because they can. To have fun. To experiment. And Ken Wheeler is definitely that kind of person.

In any case, these explorations are important. They are small experiments showing us new ideas.

Look at this: [http://reactnext.surge.sh/](http://reactnext.surge.sh/)

That _is_ React. _mind blown_

I won't be making a game with it anytime soon. But maybe I'll borrow concepts and ideas from it, and make something else.

So don't worry. Don't let it puzzle you. Just sit back, relax, and stay tuned for what's next.

<comment><USER4> Mind not blown. It looks to me like an old PC-XT CGA game. If you want to experiment with making games on the web, you're much better off, I think, using something like [http://www.pixijs.com/](http://www.pixijs.com/) Just the landing page is way more mind blowing than that React "game" demo.

<comment><USER5> Holy wow. Thank you for the link!

</comment></comment></comment></comment><comment><USER6> This is mind-twisting in it's own way.

The core idea of react is (simplified) that "time is eliminated"* as mental concept to keep track of.

So in a way this is game programming without the concept of time.

( * Essentially you focus on state and could thus create/display any component in any state )

<comment><USER2> > So in a way this is game programming without the concept of time.

A. You can't have a real time game without the concept of time. If you're making a turn based game, time is ignored equally in a traditional game engine.

B. _Most_ game engines that have a built-in physics engine abstract away time to the exact same degree that React Game Kit does. Everything is about responding to collision events, applying forces, spawning animations, etc.

<comment><USER6> I am not saying it's not possible. I meant it's interesting to think about it as concept.

<comment><USER2> OK, but my point is that it's also a concept in _most_ game engines.

</comment></comment></comment></comment><comment><USER7> For more 2d/3d stuff using JSX, you can also take a look at react-pixi and react-three. Not up to date with their parent lib tho :/

\- [https://github.com/Izzimach/react-pixi](https://github.com/Izzimach/react- pixi) \- [https://github.com/Izzimach/react- three](https://github.com/Izzimach/react-three)

<comment><USER8> Pixi is a very efficient, effective framework. I've used other controller patterns with it so I imagine React is not a bad fit.

</comment></comment><comment><USER9> I have a game development background. Did 8 years of C/C++ games for PCs/Consoles. I then switched to web/server development. I've thought of doing something similar as I'm super into React/Redux, but....

Redux can be used without react, just rendering your game graphics all the time is fine, a moving game basically causes that to happen anyway. I think taking something like Pixi.js and using redux for your app state container would give you all the hot code reloading you need.

I'd maybe vote for using React for your settings/menus and such, but then again Pixi.js is going to give you much richer, and faster rendering APIs.

</comment><comment><USER10> I've often thought React would be perfect for creating games with. Even attempted my own framework similar to this using the canvas but it fell down when it came to rendering. I felt like React really didn't suit the update/render loop approach. It doesn't seem to talk about it on the project page so I wonder how this works. Using the DOM?

<comment><USER11> I had a quick look into the code base, and it is indeed targeting the DOM, rather than canvas or webgl. It has a sprite component which is just an absolutely position img element wrapped in a div.

</comment></comment><comment><USER12> This is cool. I feel like it's more interesting and practical to apply Redux to game development instead of React though. Redux's "Time Travel" idea is really neat - I want to see something _like_ React that acts as a view layer and uses Redux to model game state.

<comment><USER11> I've been playing around with some ideas like this. It's hard, as most graphics APIs usually have their own concept of bindings and state to maintain. As an example you create a binding to a vertex buffer, and then you need to maintain that over multiple draw calls. It's maybe similar to React maintaining DOM nodes, but the data involved is a lot more complex. I feel like a lot of the work is building abstractions (or the right models) to be able to handle those aspects of graphics programming in a functional and reactive way.

</comment></comment><comment><USER13> Anyone know if there is a live demo anywhere already? I guess I'll have to clone/host it myself?

<comment><USER14> [http://reactnext.surge.sh](http://reactnext.surge.sh)

<comment><USER2> Does anything happen _other_ than a black screen when you walk into a building? I get some music if I wait long enough, but otherwise nothing.

<comment><USER15> I had a black screen when I first walked into a building. After refreshing, they all started working after I entered the Physics building. They just show a slideshow, then send you back out into the street.

</comment></comment></comment></comment><comment><USER16> This would be OK for "Powerpoint" games. If it is real time, forget about it. Even real time WebGL kind of sucks on most devices, triggering DOM manipations and repaints isn't going to help.

<comment><USER17> What are you calling a "'Powerpoint' game"? To me that implies some level of simplicity, but I play plenty of complex games that could be implemented with this. Not that they _should_ be, mind you...

</comment></comment><comment><USER18> React is the really the ideal rendering engine (though much less optimized than something like Unity). An immediate mode API abstracting over a retained mode renderer lets you think about a program as a state machine, while not sacrificing performance.

It's also a powerful metaphor for charting - [https://github.com/recharts/recharts](https://github.com/recharts/recharts).

<comment><USER19> > React is the really the ideal rendering engine

Compared to what?

<comment><USER20> He's comparing it to Unity, which makes no sense to me at all. If there was a statement more like comparing apples to oranges, I haven't heard of it yet.</comment></comment></comment>


New Lua(JIT) front end for bcc merged - <AUTHOR> https://github.com/iovisor/bcc/pull/457 <comment><AUTHOR> Sorry to comment on my own submission, but: I was always hoping shark ([https://github.com/sharklinux/shark](https://github.com/sharklinux/shark)) was going to be actively maintained (it's a LuaJIT frontend for Linux perf_events and eBPF), but sadly it appears dead. The Python frontend of BCC never really appealed to me for some reason.

It seems this new LuaJIT frontend for BCC has at least some of the advantages that shark had, plus the really strong examples and backend of BCC. Can't wait 'till I get my hands on a newer kernel to try this out.

BCC is an actively maintained project, and the LuaJIT frontend is contributed by Github who are supposedly using it internally. Exciting!

To everyone responsible for making this: thanks!</comment>


MacBook Pro Lineup Set for 'Most Significant Overhaul in Over 4 Years' - <AUTHOR> http://www.macrumors.com/2016/08/10/macbook-pro-lineup-overhaul-4-years/ <comment><USER2> Finally.</comment>


Management is the Disease - <AUTHOR> http://www.jacksonfish.com/blog/2011/02/11/management-is-the-disease/

<comment><USER2> some interesting points raised in the post, but perhaps one should first distinguish between the different types of management:

1\. project management 2\. people management 3\. executive management

i think your argument is mostly towards project and people managers. project managers own the mechanical tasks of scheduling, resource allocation, aligning priorities, assessing status, assessing risk, updating stakeholders, etc. these are important things that perhaps would be wasteful if assigned to a developer. but let's say for the sake of argument that the developers are quite capable of taking on these activities along with development, design, and architecture tasks, which i've experienced, there are a larger set of tasks that typically need to be dealt with that may have nothing to do with the current project whatsoever such as hiring, developing talent, retention, attrition, motivating, refining and building good processes, balancing budget, developing company culture, setting, aligning, and influencing direction, etc. attrition is particularly an example that should most definitely be put into the hands of a manager, i.e. you wouldn't want a fellow employee to decide that you're fired, this is not the easiest conversation, i assure you. and when it comes to raises, how would a team of engineers decide who gets what piece of the pie?

to your point or some commenter's point about managers costing more than developers, i've managed lots of people that have made way more than me. and i've been very fortunate to see both sides of the spectrum in terms of great managers versus dead wood, you can learn a lot from both types. but management, at the core, is dealing with people, and personalities are never easy to deal with, developers/engineers being no exception.

ultimately i'd love to see a flat hierarchy where everyone could self manage and the science of management could be absorbed into everyone.</comment>


Show HN: 5% off when you order pizza with Lightning - <AUTHOR> https://ln.pizza <comment><USER2> I worked on this as well - here to answer any questions!

</comment><comment><USER3> I'm new to all of this computer jargon. What does pizza mean?</comment>


MongoDB Apocalypse Is Here as Ransom Attacks Hit 10,000 Servers - <AUTHOR> https://www.bleepingcomputer.com/news/security/mongodb-apocalypse-is-here-as-ransom-attacks-hit-10-000-servers/ <comment><USER2> [http://regenbox.org/en/forums/topic/playoffafc-texans-v-s- ra...](http://regenbox.org/en/forums/topic/playoffafc-texans-v-s-raiders-live- s-tream-free-game-2017-online-telecast/)</comment>


John Resig: Redefining the Introduction to Computer Science at Khan Academy - <AUTHOR> http://ejohn.org/blog/introducing-khan-cs/ <comment><USER2> It's hard for me to imagine learning Javascript as your first programming language. It's always felt kind of crazy and bizarre to me (especially when you try to do anything requiring more than 20 lines of code), but I think a lot of that is just failure on my part to shake off the paradigms I'm used to. A generation of coders who are actually trained from the start to _think in Javascript_... almost scary honestly, but in a good way. We need more John Resigs pushing the web forward :-)

<comment><USER3> If you ask me this has more to do with JS becoming the _lingua franca_ of web development and less to do with making programming as easy as possible.

Case in point, recently some chick from highschool asked me where she could learn to code, so I pointed her to some Scheme tuts, nothing too complex since she requested something as easy as possible.

....then she writes back asking if "this is what jquery uses". I say "no", she gets upset and ask me "what the hell is this for then?"

Long story short: for a lot of people out there is not about learning how to code but _learn-X-to-do-Y_ no more no less...

<comment><USER4> If you're not learning how to code to do something useful with it, why learn to code?

<comment><USER5> There's some of us out there who enjoy coding for its own sake. Coding is a pure form of problem-solving. It doesn't necessarily matter what the problem is you're solving, just that you get a certain intellectual satisfaction out of the process. I must be one of the few that coded linked-lists and string containers in high school instead of silly text games :)

<comment><USER6> Fuck you.

</comment></comment></comment></comment></comment><comment><USER7> Learning tools like this would have saved my teachers a lot of headaches if they were available 10 years ago.

As opposed to the classroom model of: [lecture -> assign work -> grade & return with static feedback], students can actually play with the subject matter _during_ the lesson, instead of turning pens into projectiles or doodling in their books because they're bored to death (not that I know anything about that). Then they get immediate feedback, whether right or wrong, by seeing how the instructor would have solved the problem. That kind of hands on learning, where the student learns through their own trials and errors is much more fun than sitting through a lecture that has to accomodate the varied learning paces of a classroom of 20+ students.

The video posted here unfortunately focuses on the live editing aspect of the app, but you can see the interactive lesson function more clearly in this early prototype video[1].

This kind of interactive learning is the same thing that Sebastian Thrun is working on at Udacity[2]. For all the promise of making university courses available for free online, I think this is the truly disruptive stuff going on in online education, because it's way beyond just filming lectures and throwing them online, it's a fundamental leap forward for education.

[1] <http://www.youtube.com/watch?v=nvaaude_1hk> [2] <http://www.youtube.com/watch?v=75TP3hoPA8U>

<comment><USER8> _play with the subject matter during the lesson_

Kind of removes the need for a "lesson" and teacher, in favor of a facilitator that can go around and help those learning to discover things they hadn't considered.

<comment><USER9> Sounds like what is happening in the lower year levels these days.

</comment></comment></comment><comment><USER10> Some similarities with Felleisen's work teaching programming to early high schoolers,

\- <http://www.programbydesign.org/>

Those folks have tons of data on what works, what doesn't.

I get a bit of a NIH feeling from this effort, that I hope is unfounded.

<comment><USER11> Having everything run in the browser is a _huge_ win, because it allows students to share what they've made with their friends. Post to facebook "Look what I made", which includes the source and makes it easy for others to modify it and share that themselves. Viral loop!

<comment><USER12> It is possible to use Scheme in the browser too:

        http://www.wescheme.org/

<comment><USER11> Yes, but it's not possible to run Dr. Scheme in the browser. So there would still have to be a fair amount (ie almost all) of reinvention.

</comment></comment></comment></comment><comment><USER13> I think a small, beautiful detail lost here is John Resig's career path. As the creator of jQuery, he probably had his choice of which sexy SV start-up to go work at. He chose a non-profit that's aiming to fundamentally improve his country's education. Pretty admirable if you ask me, and perhaps more importantly, a slice of hope, that if one desires to, he or she can use his or her time to change the world for the better.

</comment><comment><USER14> Interesting. I have shown my son the Logo turtle, but hopefully this will make even more sense to him. I was looking for a way to expose him to Processing but unsure where to begin. It's obvious now.

We are home schooling and always looking for new and interesting stuff to do with him.

Thank you, John.

<comment><USER15> Thank you for being willing to teach your son programming. I was homeschooled with a programmer for a dad and I guess it just never occurred to him to teach me himself. I discovered programming on my own in late high school, but I would have loved it when I was younger.

<comment><USER16> We homeschool, and I've always tried to present my kids with programming concepts. Scratch, JavaScript, Python, Ruby, Squeak, and a few others. My oldest has shown intermittent interest, but he's had plenty of exposure. He will definitely be able to say "I started programming when I was 8" - and I assume that when/if he catches the bug, he will know where to look and what/who to ask.

</comment></comment></comment><comment><USER17> Don't miss the link to Bret Victor's lecture on responsive programming: <http://vimeo.com/36579366> . I found it to be very enjoyable and it further shows what is possible with this paradigm. [minutes 2-23 are most interesting and relevant]

<comment><USER18> While I enjoyed that video, it came to me as a bit of surprise that this style of programming is being "rediscovered."

Anyone remember Morphic, Squeak, Lisp, etc? Emacs?

Lively Kernel is pretty darn cool too.

I'm not saying it's bad, I think it's cool that this style of programming is making a come back (and about bloody time I suppose).

The only thing I'm not certain of with this course is actually calling it, "Computer Science." Perhaps that's because I tend to agree with those who question whether it is indeed a science at all. However after watching a few videos and trying some of the exercises it seems to me to be a great way to learn how to program.

</comment></comment><comment><USER19> We are working on a similar project (programming education), but in a persistent and multiplayer environment. It's more like a live game framework which allows to learn JavaScript, or just to have fun!

Everything is programmable: the display of a bot (Canvas 2D Context API), the buttons used to to control it, the interactions between the bots, etc.

<https://github.com/bpierre/modul.io>

</comment><comment><USER20> This is massively badass. I think this may be the best tool out there for learning programming.

One issue I am having here in Chrome in Ubuntu on my computer is that some of the videos are giving me minor playback problems where some visual features are not visible. For example, in the intro to drawing tutorial the rectangle seems to turn into a line because three of the sides are not visible. This is probably just what I get for using Linux though.

Anyway, I was wondering: have Mr. Khan and the rest of them put any thought into how the new interactive programming environment might be applied to learning math or other concepts taught by Khan Academy besides Computer Science? Like specifically taking some of the math or other lessons and presenting applications to tweak that would demonstrate those concepts. Maybe lessons in those other areas could sometimes include a link to a programming experiment.

Also, other question: are there any plans to try to cover a broader range of computer science or maybe even software engineering topics, for example things like Objects/Classes, components, unit testing, QA, feedback loops in general or for example between the developers/analysts and the users or between the developer and his test suite?

</comment><comment><USER21> This is very exciting. I was just looking around this past weekend for a way to introduce my 10 and 13 year-olds to programming concepts. I want them to understand more about the computer than how to play warcraft, watch youtube videos of pandas, or even make slide presentations.

My one daughter is going into 8th grade and has had a total of two half- semesters of "business and computer science" where the most they do is to play around with PowerPoint and Excel. Computers are so integral to every-day life now. It's positively disgraceful that every child shouldn't be educated on what they are, how they're built, how they work, how to program them, etc.

</comment><comment><USER22> Probably like many others, I learned to program first by developing web applications. The mass of information and multiple moving pieces frustrated me almost to the point of quitting. There are probably many people who did quit when introduced to programming this way.

This CS learning platform brings programming education back to its simple roots, back when your first program was as simple as drawing a circle in BASIC. It also leaps it forward, borrowing ideas from Bret Victors responsiveness talk was brilliant and I hope sets a precedent for programming education moving forward.

I really admire what you've done, Mr. Resig and the Khan Academy team!

</comment><comment><USER23> I wonder if they've added any help for transitioning out of their sandbox. I know when I first learned programming, one problem I had was taking what I learned in the classroom on Apple IIs and transitioning to using GW-Basic or QBasic at home. Transitioning from a browser-based sandbox to editing HTML and real files would probably be even worse. It might be nice if there was an easy framework they would let people download to help them create things in a more normal environment, so they don't get stuck and give up at that point.

<comment><USER24> I very much agree… In fact a large part of learning to code is not much grab abstract principles as it is getting accustomed to the eco system: how code relies on other code, how it is organised on files, and how it gets uploaded to the internet. It would be great if this site provided the opportunity to download a set of html and js files that re-implement the result of the students… a great starting point also for a teacher to talk about these issues… and a way for students to walk outside the garden when they feel like it…

</comment></comment><comment><USER25> These are good entrepreneurs and programmers, and they are using great tools, but I don't think they are qualified to say they are redefining teaching basic Computer Science.

Interactive platforms and approaches have been constantly introduced by CS educators to teach introductory programming. Educators are very aware of the value of interactivity and reactivity in teaching and learning. The only new thing here is the utility of cool new tools equipped with latest web-based technologies. Further, their approach is limited to programming, which is a large part but not the only approach to Introductory Computer Science. For example, they can't touch approaches such at MIT or Rice (I think), among others, which employ cool physical robots to teach coding, thinking, programming and robotics.

So this is not so much redefining, but rather a little enhancing CS education with cool tools.

</comment><comment><USER26> Awesome stuff. John Resig, if you're in here, can you give any details on the challenges of instantly updating the Processing sketch? I can just wait for the blog post, but I'm really curious.

Also, what components exactly are you planning to release open source? The other work in this area that I've been able to find is very tightly coupled to the rendering library (d3 or PJS). Is the Khan Academy system open to alternate rendering libraries?

<comment><USER27> Yeah, real awesome stuff, John Resig! Your follow through on Bret Victor's 'Inventing on principle' is mind blowing. I'm getting my kids on it right away. Thank you.

</comment></comment><comment><USER28> This is cool and I think Javascript is a perfectly suitable first time language, but I don't think it's ideal. Too many ways of doing things, too many code organization and programming styles... it's going to be confusing for people moving beyond the courses.

Still it's better than c++ or java.

<comment><USER29> Hey - I'm one of the interns that worked on this.

I have my own reservations about JavaScript the language, but after seeing what John had built when I started, I believe that this is undoubtedly the right way to go.

If we wanted to use another language to accomplish similar goals, the options would be:

1\. Run the code on the server. This dramatically increases latency, introduces more security concerns and would dramatically increase our costs as this would inflate our server load dramatically. Really, its the latency here that makes this a no-go. As you use the number scrubber, it's re-executing several times a second, and that's just not going to work out with client- server communication (even with websockets).

2\. Run a different language that compiles to JS and runs in the browser. As it stands, the overhead of doing this is also too much. It would be shipping a compiler or parser down to every client. CoffeeScript may be the most reasonable option there, but it has many of the same warts as JavaScript anyway. Any parser/compiler needed introduces an extra step in the pipeline and would inevitably reduce responsiveness.

While JavaScript the language certainly has its problems, it's what it lets you do that counts here.

<comment><USER30> _Run a different language that compiles to JS and runs in the browser. As it stands, the overhead of doing this is also too much._

Not at all--it takes some work, but especially if most programs are less than a few hundred lines long, the overhead is far less than you think!

</comment></comment></comment><comment><USER31> He mentions the responsive design being really hard, and that was something I couldn't quite articulate to myself when I saw that talk a while ago... the ideas Bret Victor presented, only a handful of them are general purpose. I don't see how one could develop the timing examples he had, for instance, in a way that makes sense outside of his specific work on his 2D platform game.

</comment><comment><USER11> Little nitpick: Why make the draw event handler a magic variable instead of a function which takes a function?

Ie:

        var draw = function() { point(random(0, 400), random(0, 400)); };

as opposed to

        onDraw(function() { point(random(0, 400), random(0, 400)); });

AFAICT there aren't any other variables that side-effect based on what you've assigned to them.

<comment><USER29> Granted this is certainly not JS best practices, but following best practices was not our goal here.

Explaining variable assignment is much simple than explaining callbacks and/or higher order functions.

On a more practical note, this is the convention that processing.js uses, and thats what we're using to render the canvas.

</comment></comment><comment><USER32> Best part of the intro video:

"Welcome. I'm super excited about computer science. it's my favoriate thing in the world... except for pot".

QFT.

<comment><USER33> I believe she says "pie", and not "pot".

<comment><USER32> You sure about that? I heard pot. Maybe I just "wanted" to hear pot. I'll listen again.

<comment> UK-AL I don't think it would be wise for a kids education site to reference pot.

<comment><USER32> Ok ok.. I still hear "pot".. but that's probably my "New Yorker ears" tuning.

You are right though; since it's aimed at high school, I doubt it's pot. ;(

<comment><USER34> If it sounds like "pot", doesn't matter if he really said "pie"; chances are many kids are going to hear "pot" too unfortunately.

</comment></comment></comment></comment></comment></comment><comment><USER35> This is not unlike Bret Victor's work - <http://vimeo.com/36579366> . Do watch the video, if you have an hour to spare, it's a beautiful demonstration of "programming by tinkering."

</comment><comment><USER36> This is great. I volunteered at Maker's Faire earlier this year at the Scratch booth and a lot of parents were wondering what some possible next steps could be for their kids who were interested in learning more about programming. It felt a little weird suggesting Khan Academy videos, but with this project I think the transition to deeper CS concepts is a lot more seamless for those who are curious

</comment><comment><USER37> I sat my 5-year-old daughter down in front of the first drawing tutorial today (Introduction to Drawing). I let her watch the video, then asked her some questions to test her comprehension. Before I could too many questions out she blurted "I want to build a house," and off we went.

I learned a few things:

1\. We seriously need to work on her typing skills. We practice typing once a week but I think I need to increase that.

2\. I need to go out and buy a smaller mouse to fit her hand.

3\. She immediately understood functions and parameters, which, honestly, was all I really wanted her to get out of this.

4\. The sliders are _critical_. She has never seen a coordinate system, but the sliders allow her to play around with location without completely understanding what the numbers represent.

5\. At this age, she was engaged because she could draw things (she had a house worked out in about 15 minutes, which was also the limit of her attention span). I'm not always a fan of gaming things up to make them more palatable, but it definitely worked here.

</comment><comment><USER38> I am done with all of you so-called "hands-on people" who don't give people real tools to use.

The XO (One Laptop Per Child) and now this.

Please stop giving people tinker-toy environments with tinker-toy problems that have nothing to do with the real world.

If someone's not motivated to learn, yes, they may need this kind of hand- holding. But if someone genuinely wants to learn to program computers for a living, this is - in my opinion - not what they need at all.

Drivers Education is taught in a real car, not in Mario Kart on a Wii. I'm sick of the Mario Kart version of computers being spoon-fed to otherwise intelligent people as though it has anything to do with reality.

I learned to program using Turbo Pascal. I was not so far removed from reality that everything I learned was almost completely useless. I have not given this much attention yet, but so far, it feels completely useless.

PLEASE correct me if I'm wrong.

<comment><USER38> "Reducing the complexity of getting started down to zero will result in more people learning."

Yes, but you're removing NECESSARY complexity, in order for them to learn something barely worth learning.

"I feel that purely textual coding environments (or coding environments that favor textual output over visual output) serve as a highly uninteresting introduction to programming."

There are people who get to use non-textual coding environments, and there are people who get to work with very visual outputs. I feel that by giving them these tools, you've castrated their ability to understand anything meaningful.

"Obviously, right now we're not teaching very much in the way of traditional Computer Science content,"

Yeah, approximately none of it.

"We decided that it was much more fruitful for us to tackle the most challenging problem that exists with Computer Science education first: Getting people excited about programming."

Of the people who are AT ALL interested in learning about programming, I have encountered exactly zero of them who aren't already excited about it. Why do you think that GETTING them excited is the "most challenging problem"?

I absolutely applaud the effort, and I sincerely wish you success.

I just personally think you're doing it all wrong.

<comment><USER39> > Of the people who are AT ALL interested in learning about programming, I > have encountered exactly zero of them who aren't already excited about it.

How is this tautology at all helpful? Of course the people who are excited about programming are excited about it. For every one of those, how many view computers as entertaining magic boxes? Most non-programmers I know regard programming as a kind of impenetrable dark art. There is such a monumental disconnect between "Hello World" and "I can do whatever I want!" that most people just assume that they'll never be able to achieve any meaningful result. Being able to create something visually interesting that you can share with your friends is a big motivator, and I think you're too quick to deride it.

Also, I don't get why you view this as something "barely worth learning." The "real world" doesn't run on Turbo Pascal anymore, and Javascript, like it or not, is a big part of modern programming. Do you really think it will be so difficult to translate skills acquired generating interesting games into skills that can be used in a modern web shop?

Anyway, you're welcome to your opinion, I just personally don't understand it. Luckily for people that share your opinion, there are plenty of traditional CS resources all over the web and elsewhere to learn programming in the "real world." For those whose "real world" consists of playing games and wondering how they work, this might just be the thing that motivates them to look under the hood.

<comment><USER38> You call it a tautology, but my point is that Resig claims that "the most challenging problem that exists with Computer Science education" is "Getting people excited about programming." I do not think that is the most challenging problem that exists with Computer Science education.

He doesn't just claim that it's a problem with Computer Science education. I agree that it's a problem, and I value tools that try to help.

No, he's claiming it's "the most challenging problem." I strenuously disagree.

I think the most challenging problem with Computer Science education is retention. I know a bunch of people, personally, who for whatever reasons, got excited about programming - they wanted to learn. They had their own intrinsic excitement for programming, and wanted to move forward.

A few things hindered them, in my opinion: they had no idea how to get started, and even if they did get started, they soon lost interest because it wasn't obvious to them how the tools they had access to were ever going to get them anywhere they wanted to go. Given a goal - say, how do I make a game? - they did not believe there was a finish line they could cross.

I can accept the criticism that I'm too quick to deride it. I'm sure this is a valuable tool for some people. Given the people that I know, who already were motivated, I do not believe this tool will help them at all, and that disappoints me because I had hoped for more.

I think it's barely worth learning because I know hundreds of professional software developers, and I know approximately two of them who got to play with HTML5 Canvas at work - myself and a friend at another company. Both of us did it in our spare time, for fun, because our bosses would never have asked us to do it. If you know more people who are professional HTML5 Canvas developers, then your anecdote trumps mine.

</comment></comment></comment></comment><comment><USER40> It is disappointing that KA launched their Computer Science program not long after making their website closed source[0]. Doubly disappointing because of open-education projects that were using the software platform to do free education projects in Brazil[1] and Portugal[2].

[0]: [https://khanacademy.kilnhg.com/Auth/LogOn?ReturnUrl=/&nr...](https://khanacademy.kilnhg.com/Auth/LogOn?ReturnUrl=/&nr=) [1]: <https://calenglishbr.appspot.com/> [2]: [https://uc3m-ka.appspot.com/login?continue=http%3A%2F%2Fuc3m...](https://uc3m-ka.appspot.com/login?continue=http%3A%2F%2Fuc3m-ka.appspot.com%2F)

<comment><USER41> It's really sad. They were never really concerned with being truly free & open. They just were "open" in the wishy-washy way that when you do anything online for free, you can call it open and get lots of support.

<comment><USER24> So why are these remarks getting downvoted? BTW, could someone provide links with more details, i.e. what was closed, this still appears pretty open: <https://github.com/khan/khan-exercises>

<comment><USER42> I think they're getting downvoted for being incorrect.

I can't find any info about KA moving to closed source.

</comment></comment></comment></comment><comment><USER43> I "watched" the first lesson or two. I think they've missed an opportunity to tighten the watch-try-watch loop with the student. This tachnology seems like it would support a mode like "here is how you draw a box" then "you try drawing a box that overlaps with the box on the screen". Maybe they do that later. I hope so, otherwise I think they're missing a great opportunity for engagement. Even without that level of interaction, I still plan to try this out with my children. Really impressive.

</comment><comment><USER44> This looks really great. One criticism is that this style of graphical programming is overwhelmingly of a mathematical bent. Granted it's quite basic arithmetic but still, you open a code sample and you're confronted with a bunch of numbers and mathematical expressions.

My worry with this is that there are many, many youngsters out there who are intimidated by math but who would absolutely love to write code. This is especially worrisome since such a huge amount of coding involves no math at all.

<comment><USER45> In our experience thus far we've found that students are far less intimidated by the numbers/math when they're able to directly manipulate the results. When they can tweak the numbers with minimal ramifications and instantaneous feedback they can easily intuit what the numbers are attempting to do. Working with young kids we definitely found that they were comfortable in this environment even after minimal introduction.

</comment></comment><comment><USER46> Seems clear they are teaching Programming and not Computer Science. There's nothing wrong with that, but they should be upfront about it.

<comment><USER47> Quite far down the long post they say:

 _"One question is obviously: How much "Computer Science" do we actually teach? Obviously, right now we're not teaching very much in the way of traditional Computer Science content, we've placed far more focus onto the platform and feel that a lot can be gained from just what we've already built. We're still very early on in the production of content and will be producing much more, of increasing complexity, over the upcoming weeks and months.

We decided that it was much more fruitful for us to tackle the most challenging problem that exists with Computer Science education first: Getting people excited about programming. If we can get people excited about programming, and build (or point them to) the resources they need to learn more then we will have been successful.

Eventually I think we'll work to effectively replicate the materials one typically finds in a "Computer Science 101″ but in a way that is far more engaging and self-paced than what you would find at a traditional university."_

</comment></comment><comment><USER48> I feel this approach is more confusing than clearer specially for beginners. Without giving a primer to the proposed languages (seems like they are using javascript and css), I feel a newbie would get more confused and leave the site after a few minutes.

</comment><comment><USER49> Anyone have a cached copy? ejohn.org is returning a 500 error.

<comment><USER50> [http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://ejohn.org/blog/introducing- khan-cs/)

</comment></comment><comment><USER51> I understand why they only want the latest browsers, but it sucks that I can't look at it in my spare time at my locked down corporate (IE8) environment.

</comment><comment><USER52> Love it, Who is the presenter in the videos? the voice sound really similar to Vi Hart or is it just me?

<comment><USER53> Sal Khan and John Resig are narrating the video.

<comment><USER52> I know, I talk about the actual videos, e.g. this one <http://www.khanacademy.org/cs/intro-to-drawing/848372201>

<comment><USER45> They are narrated by Jessica Liu (as mentioned in the blog post).

<comment><USER52> Thanks, she is doing an amazing job

</comment></comment></comment></comment></comment><comment><USER54> Programming is not computer science.

</comment><comment><USER55> tried it. The greatest takeaway for me is being able to edit the code and see changes live.

</comment><comment><USER56> Was there something wrong with the old definition?</comment>


Guy Steele on Programming Languages - <AUTHOR> http://www.infoq.com/interviews/Programming-Languages-Guy-Steele <comment><USER2> "Snowball" - I guess they mean Snobol. Perhaps a non programmer did the transcription.

</comment><comment><USER3> _Bill Gasper... said: "Don't forget a data structure is merely a stupid programming language, and its point is that a data structure in effect, when given to the program that processes it, is guiding a computation and in effect constitutes a dumb little language that turns a specific application into a more specific one"._

<comment><USER4> I think they mean Bill Gosper [<http://en.wikipedia.org/wiki/Bill_Gosper>]...

</comment></comment><comment><AUTHOR> His choice of 'recommended languages' is interesting... and not quite what I would have expected.

<comment><USER5> Note there is an error in the transcription of that section. He said, "Haskell, to pick a functional language" and not "Pascal" as the transcript reads.

</comment></comment><comment><USER6> Is the link to the transcript inside the flash, and if so, could somebody please post it?

<comment><USER2> Sorry the best I could work out was to copy and paste: <http://rafb.net/p/5zhzvQ16.html>

Not great... will have to guess what is Q and what is A :(

<comment><USER6> Thanks!</comment></comment></comment>


DoorDash to pay $5m to settle class-action lawsuit over independent contractors - <AUTHOR> https://techcrunch.com/2017/04/10/doordash-will-pay-5-million-to-settle-class-action-lawsuit-over-independent-contractors/?ncid=rss&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Techcrunch+%28TechCrunch%29 <comment><USER2> > The named plaintiffs, Marciano and Kissner, will receive $7,500 each and > Liss-Riordan will get up to $1.25 million. The approximately 33,744 class > members will receive payment as part of the settlement.

The lawyer gets $1.25 million and the people supposedly impacted get $125 each. I don't what erudite Hacker News-worthy comment to make except... SMH.

<comment><USER3> Now, some amounts are egregious, but remember the lawyers are fronting _literally_ all of the cost here. They don't get it back if they lose, either. It's kind of like complaining a vc made 500x what you did on an IPO.

I also think hacker news has no concept of what a large lawsuit like this costs.

if they spend 20 bucks a class member on everything from locating them to location to answering questions to handling claims, that's 50% of that 1.25 million right there. That doesn't include the _actual_ billable hour cost of the lawsuit, which for large and complex lawsuits, is ridiculous.

At the same time, hilariously, people here are against class arbitration (which would pay lawyers dramatically less and claimants more), and pretty much every other solution. It appears they just think "lawyers should be paid less, but work harder to get others money". IE they want a system where there are class actions, and the companies are made to hurt, but nobody else other than the people in the class make money.

The truth is most of these claims are _worthless entirely_ , and people don't deserve squat. So $125 is infinitely more than they should have gotten. (i'm sure someone will come along with no understanding of contract damages and claim the class members deserve billions)

Are some valuable? Sure. Do some serve a valuable purpose of deterrent? Again, sure.

But that's like 1 in 50 or 1 in 100 of all class action lawsuits right now.

Check out most class action lawfirm case lists, for example, and see how many you think are really deserving of more than nominal damages or "please fix this issue for us". Think about how many of them are the moral equivalent of bugs you've made in software before that is sold or used by other people. Do you think you should be paying millions?

Personally, I can't wait for the day when liability for software bugs comes and everyone here immediately changes their mind and decides most of these kinds of lawsuits are probably not worth as much as they thought :)

In the meantime, people starting worse-than-useless startups appear to be deserving of untold billions, and startups doing the same type of thing (eg making infinite multiples of their workers, who basically make squat) are a-okay.

BTW, fun fact: Class action lawyers, on average, work much worse hours than startup engineers.

<comment><USER4> > remember the lawyers are fronting literally all of the cost here.

What does that tell us about the way our legal system works?

<comment><USER5> that it does work? how else would this work? someone claims a grievance and needs assistance to settling the dispute. by having this option of a lawyer(group/individual) front the cost it lets anyone bring a viable dispute to the table. It shakes out the frivolous from taking up the time of the courts. It also insures those suing have standing which can be difficult except when facing corporate entity. Against government a common ploy is to claim the plaintiffs don't have standing and without a private agency to go to bat for a group it can be real difficult to move forward?

Government intervention? How would that work? Worse I can imagine all sorts of ways that it would be abused. Look at how much frivolous suits are in the system filed by those who don't to put any skin into the game

</comment></comment></comment></comment><comment><USER6> > DoorDash has also updated its deactivation policy to ensure that all its > delivery people retain access to the platform unless they violate the rules > of engagement. Before, there was no single source of truth when it came to > deactivating people from the platform. Another change is that DoorDash > delivery workers will be able to appeal a deactivation if they feel they > should not have been deactivated from the platform.

> ... the resolution they agreed on was not to change independent contractors > to employee status, but rather change some policies to improve clarity and > ensure more rights for the workers.

The article doesn't really give me a good idea of what the original lawsuit was about. It states that DoorDash was misclassifying "Dashers" as contractors, but other than the cash, the only thing they mention wrt the settlement is that DoorDash will change some of its deactivation policies, presumably because Dashers were being removed from the platform without clear reason.

So, is this a case where the class action accused DoorDash of misclassifying employees and then settled for a pile of cash, some minor policy tweaks, and no fundamental change in the company's contractor practices?

<comment><USER7> Seems like it. Basically money grab by lawyers.

</comment></comment><comment><USER8> DoorDash customer support is _atrocious_ and their own CS representatives know & acknowledge this. This is also what lead me to deleting DoorDash and sticking with UberEATS.

If I were upper management at DoorDash, I would be talking to the person that runs Customer Support to see if they (a) even recognize their CS setup is terrible (b) are doing something to fix the problem.

Context: [https://twitter.com/zaatar/status/849968887491776513](https://twitter.com/zaatar/status/849968887491776513)

<comment><USER9> Interesting. I've used several food delivery services (Caviar, GrubHub, DoorDash, Delivery.com, UberEATS, and a few local ones in my college town), and DoorDash has been the best customer experience for me.

</comment></comment><comment><USER10> What if the on-demand platform was decentralized and had no corporate owner?</comment>


Ask HN: Django hosting recommendations? - <AUTHOR> Hey everyone. I've been looking for a webhost that allows me to run a Django app but ALSO has an email server that allows for my employees to have their  work email on. The django app will also need the ability to connect to the email server to send account registration emails.
I really like heroku, but they don't have email hosting as an option. Hostgator has email hosting, but doesn't allow django apps.
any recommendations?
thank you <comment><USER2> > The django app will also need the ability to connect to the email server to > send account registration emails

Beyond the technical/architectural issues others have brought up, you should not be mixing transactional email with work email for a business. Use a transactional provider like Sendgrid/Mailgun/Mailchimp to manage your registration messages, and run the employee email through something entirely different (a separate server or GApps). It's only a matter of time before someone marks someone's sales email as spam and you end up not being able to send registration emails because Spamhaus has blacklisted your IP.

This might make your solution easier, as you can use an email addon with Heroku for transactional, and then get to choose whatever host you want for employee mail without having to be constrained by needing Django hosting as well.

<comment><USER3> > you should not be mixing transactional email with work email

Can't emphasize that enough.

Django makes it easy to substitute email backends [1], and there are backends available for most transactional ESPs. I maintain one that covers several popular, full-featured ESPs [2]; a quick search of PyPI will also turn up backends for AWS-SES and others.

[1]: [https://docs.djangoproject.com/en/1.11/topics/email/#email-b...](https://docs.djangoproject.com/en/1.11/topics/email/#email- backends) [2]: [https://github.com/anymail/django- anymail](https://github.com/anymail/django-anymail)

</comment></comment><comment><USER4> You're limiting your options by insisting to have both app and email hosting with the same company. My suggestion is to investigate them separately.

For app hosting, fire and forget (Heroku, Amazon Elastic Beanstalk), shared hosting (like Webfaction and many others), VPS/dedicated server (like AWS EC2, Digital Ocean and many others).

Managed options will take a lot less effort and knowhow to keep a production app running, but cost more. Your own server (VPS) will get you more resources for the same price, but you'll have to configure and maintain everything yourself (app server, static files, database, load balancing, backups and recovery, monitoring, upgrades, security, performance, scaling, etc).

For company email, Office 365, Google G Suite, Rackspace Mail. Maybe Amazon WorkMail (I only know it exists).

Edit: I misunderstood that you're looking for email _service_. If you want to run your mail server yourself, you need 1) a computer you control (VPS/dedicated) and 2) to know what you're doing. Unless you have a good reason to do that, I suggest you outsource it and get on with your business.

<comment><USER5> >You're limiting your options by insisting to have both app and email hosting with the same company. My suggestion is to investigate them separately.

Even if you do have them with the same company you should have them installed on separate VPS. Sounds like OP wants it all on one server, which I would advise against.

</comment></comment><comment><USER6> I've always been happy with [https://www.webfaction.com](https://www.webfaction.com). Includes one-click installer for Django. Webmail options are basic. But they are an option, or users could receive mail through an email client. But I would also recommend forwarding mail services to [https://www.fastmail.com](https://www.fastmail.com).

<comment><USER7> webfaction is good, but no matter how much money you pay them they don't offer a phone or chat support. That's why we moved away from them. Otherwise, I think they are very good.

<comment><USER6> That's a fair knock. Email support system has been pretty good, though. At least very knowledgable support staff. But I can see where more would nice, particularly if paying at a certain level.

</comment></comment></comment><comment><USER8> Don't combine the two; outsource your email hosting (Google, etc) to save a lot of pain, and select your Django hosting from a large range of options, from Digital Ocean to Heroku to AWS.

No technical reason these two need to be hosted together, and the market has definitely not favored putting all these eggs in one provider.

<comment><USER5> >Don't combine the two

>No technical reason these two need to be hosted together

Sound advice. To me it sounds like maybe the OP wants both on the same VPS, which is a horrible idea. Even if you found one provider, still you should have separate VPS's for the email and Django app.

</comment></comment><comment><USER9> Gandi Simple Hosting for python plus DB starts at 4 bucks a month and comes together with Mail and a Varnish cache: [https://www.gandi.net/hosting/simple?language=python&db=mysq...](https://www.gandi.net/hosting/simple?language=python&db=mysql) 8 €/$ if you need https.

<comment><USER10> Did not know these guys did Python hosting. Thanks for posting!

</comment></comment><comment><USER11> I used Zappa[0] and AWS Lambda to host a Flask application recently. After years of deploying Flask applications to VPSs behind Apache, I was pretty impressed by how simple it was to deploy a serverless app. Nice that there's no need to worry about security patches, OS updates, HTTPS cert renewals, etc. And so far it's waay cheaper for my usage too. If your Django app doesn't have too many dependencies, it might be worth considering. Then you can use AWS Simple Email Service (or any of the many third-party services already recommended) for the email needs.

[0] [https://github.com/Miserlou/Zappa](https://github.com/Miserlou/Zappa)

</comment><comment><USER12> I've used a couple sources in the past including Heroku.

I found Heroku at the time (this was more than two years ago) to be an adequate solution, but it was a little tedious and a little pricey. Nonetheless it had all sorts of easy integrations like Mailchimp and such that my Django application could easily use.

Today, with things like Digital Ocean, I wouldn't re-use Heroku for Django hosting. You also wrote that you'd like to roll your own email server, so I think that would cut out Heroku completely.

I think you'd be most interested in trying out Digital Ocean for a bit. Start with a $5 server and [https://www.digitalocean.com/community/tutorials/how-to- use-...](https://www.digitalocean.com/community/tutorials/how-to-use-the- django-one-click-install-image) see if it works for you or not. $5 isn't much to lose on an experiment and if it works for you, you can spin up one of their other issues

</comment><comment><USER13> I'd recommend you keep using Heroku, and use a service such as Mailgun for emails. The only change you'd need is to add SMTP parameters for mailgun/whatever in heroku and django config.

If you still want to host your own email server, perhaps setup a Digital Ocean instance and have the smtp credentials on heroku.

</comment><comment><USER14> I have been very, very happy with Webfaction for about 7 years now. Great support for Django. Basically everything you could ask for in a shared hosting solution. $10/m. They also offer non-shared plans from $20/m.

SSH access (even on the shared plan) is the killer feature for me. I also really appreciate the simplicity of their approach (domains + applications = websites).

Non-affiliate link: [https://www.webfaction.com/](https://www.webfaction.com/)

Affiliate link: [https://www.webfaction.com/?aid=34899](https://www.webfaction.com/?aid=34899)

<comment><USER15> I will second this! I have used them for quite some time and their customer support is extremely responsive! I also like having ssh access.

</comment></comment><comment><USER16> Amazon Lightsail [1] for Hosting, SES [2] for transactional emails, Workmail [3] for corporate email (though I'm not sure why your company email has to be in any way related to your app server.)

[1] [https://amazonlightsail.com/](https://amazonlightsail.com/) [2] [https://aws.amazon.com/ses/](https://aws.amazon.com/ses/) [3] [https://aws.amazon.com/workmail/](https://aws.amazon.com/workmail/)

<comment><USER17> But Lightsail is not Django hosting...

<comment><USER16> I would not used shared hosting for Django...it's not Wordpress...

<comment><USER17> I'm not sure I follow... Op is looking for some Django hosting, doesn't necessarily have to be shared. It could be containerized or maybe it could be PaaS (Heroku style).

<comment><USER16> OK, use [https://aws.amazon.com/blogs/aws/new-aws- codestar/](https://aws.amazon.com/blogs/aws/new-aws-codestar/) and its Django template.

<comment><USER17> Looks very cool, thanks!

</comment></comment></comment></comment></comment></comment><comment><USER18> I like the guys at Divio[1] (of Django CMS fame). They have a partner program if you are hosting for your clients.

[1] [https://www.divio.com/en/](https://www.divio.com/en/)

</comment><comment><USER19> Many in the thread have said what I would say: Don't mix your email with the sending of transactional emails. If you're comfortable with Heroku I recommend staying there and using something like SES, SendGrid, or Mail Gun to send the account registration emails.

But, also remember, for most transactional email providers you could allow it to send as your employees if that is an important part of your needs. That way you can keep them separate and keep the ability to send email as your employees.

</comment><comment><USER20> What about [https://www.openshift.com/](https://www.openshift.com/) – good for Django, but mail might be a new ground for it?

</comment><comment><USER21> I've been really happy with Pythonanywhere, a PAAS (basically Heroku, but exclusively for Python). Pretty cheap, really easy to set up Django right out of the box, and great customer service (fast responses to emails and forum posts, even when they're less about the hosting and more about how to do something in Python or Bash).

My co-founder and I ran our startup on Pythonanywhere and used transactional email (although we used Mandrill) with no issues.

</comment><comment><USER22> don't use hostgator. discount hosting solutions, in general, are bad fits for django which kind of takes for granted that you have shell access to the server and know a little bout of unix sysadmin.

AWS EC2 is a great host but requires you to know how to admin the server a bit. Heroku is good for small deployments but the budget options don't scale very well. An AWS competitor like Rackspace or similar might be good too, especially if you're looking for lower prices.

as for email, get a business account (with custom domain) from gmail or something similar. you really don't want to be hosting your own email, not even for a small company. seriously that's a headache you just don't want to deal with if you don't strictly have to (legal compliance requirements, for example). it's not like it costs much to use a hosed solution for email.

the django app needs to connect to the email server? why? isn't the whole point of email that you send messages via SMTP and don't have to have a server-to-server connection? I think you may have some technical requirements you need to pin down with more rigor.

</comment><comment><USER23> I host my Django app on Heroku and use Amazon SES to send email. On Amazon, I use WorkMail, which is built on top of SES and works seamlessly with it.

</comment><comment><USER24> Call up your ISP and ask for a business account with static-IP address. I use a server on a static IP address from my Verizon FIOS ISP.

I get to run any size Django web server I want, and built a custom server for around $2000, and I get to host my own email server as well. I use a Mac Mini server to get the mail server running. Quite easy.

</comment><comment><USER25> I use webfaction to host multiple wordpress sites and so far the performance and support is good. it support python / Django hosting

For email I think it's better to use email service like google apps, office 365, zoho mail or fastmail.

For account registration emails, it's better to use transactional email service like sendgrid, mandrill, mailgun, mailjet, or postmark.

</comment><comment><USER26> Another voice for separating the two to separate servers -- separate hosting providers, even, if that ends up making sense.

</comment><comment><USER27> $5/month droplets with Digital Ocean would be my vote. You have the freedom to use whatever email server you want.

</comment><comment><USER28> We've used Digital Ocean to host Django projects for years, with no issue!

</comment><comment><USER29> I am happy with cheap VPS from ovh</comment>


Show HN: CoFoundersLab Discuss- the Wikipedia for entrepreneurs - <AUTHOR> https://cofounderslab.com/discuss <comment><USER2> Did you actually get 300,294+ entrepreneurs to sign up on the website?</comment>


GeeksPhone plans high end Revolution - <AUTHOR> http://asia.cnet.com/firefox-os-fan-geeksphone-plans-high-end-revolution-62223044.htm

<comment><AUTHOR> Interestingly this article is NOT saying that GeeksPhone gave up the production of the Peak+

This has been reported yesterday by heise.de, a German news company (in German): [http://www.heise.de/newsticker/meldung/Geeksphone-Firefox- Ha...](http://www.heise.de/newsticker/meldung/Geeksphone-Firefox-Handy-Peak- erscheint-nicht-2057290.html)</comment>


PAO: Personal Application Omnipresence - <AUTHOR> http://tiamat.tsotech.com/pao

<comment><USER2> (2012)

Any examples of applications/services that get this right?</comment>


Mojolicious 8.0 released: Perl real-time web framework - <AUTHOR> http://blog.kraih.com/post/178173935636/mojolicious-80-released-perl-real-time-web <comment><USER2> I absolutely love how Mojolicious::Lite let me develop in an afternoon a simple website for a little idea of mine in a single file.

And the "deployment" was suprisingly painles. Thanks for that and congratulations for the new release!

</comment><comment><USER3> What does "real-time" mean in terms of a web framework? As a web developer for over a decade, I don't recall seeing a web framework described with that before and have no idea how to interpret it.

<comment><AUTHOR> It's "real-time web", which mostly means WebSockets these days. ([https://en.wikipedia.org/wiki/Real- time_web](https://en.wikipedia.org/wiki/Real-time_web)) But in the case of Mojolicious it is also used to highlight certain optimizations that make it very easy to use WebSockets and HTTP side by side in the same web application. [https://mojolicious.org/perldoc/Mojolicious/Guides/Cookbook#...](https://mojolicious.org/perldoc/Mojolicious/Guides/Cookbook#REAL- TIME-WEB)

<comment><USER4> Congrats on the release.

> mostly means WebSockets these days

And some WebRTC. Sub-100 ms latencies. 200? Voice and video chat, and gaming. npm's Primus. PubNub.

>> As a web developer for over a decade, I don't recall seeing a web framework described with that before and have no idea how to interpret it.

'Realtime web' has been a phrase for a decade-ish - used to be server push. Google is fruitful; the Wikipedia article... needs help.

</comment></comment></comment><comment><USER5> It's fine for this project, like others, to have a turn on HN every now and then, but could you drop the promotional voting and commenting? It's happened several times and we usually ban accounts that do this.

</comment><comment><USER6> Congrats on the release! I've used mojolicious for several of my personal projects and it's been wonderful.

@kraih I applaud your work ethic as the frequency of your commits and releases show you are dedicated to the project and keeping it moving forward. Thank you!

<comment><AUTHOR> Thank you. I've been very fortunate to have found an employer that enables me to keep contributing to open source projects this actively. So SUSE also deserves a big thank you for making Mojolicious 8.0 possible! :)

</comment></comment><comment><USER7> Just recently trying to get into Perl (trying to bone up for a specific position that requires it) and Mojolicious has been an incredible discovery: the "lightweight" Rails/Django replacement (somewhere between Rails and Sinatra in terms of ceremony and structure) I've always wanted.

<comment><USER8> Mojolicious is a mind-blowing framework, doubly so with Mojolicious::Plugin::OpenAPI. Unlike Catalyst, there's very few dependencies.

For a beginner, I'd recommend reading "Learning Perl" by Randal Schwartz first, then read a couple of the online Mojolicious tutorials/blogs.

Also, beginners should note that there's 2 framework approaches, Mojolicious::Lite (a wrapper) and the full Mojolicious, and mixing up the examples or documentation will confuse you.

<comment><USER7> Yep I'm tearing through "Learning Perl" and "Intermediate Perl" (aka the "llama book" and "alpaca book") while also trying to do some "practical" projects in Mojolicious ([https://github.com/ctindall/hotseat](https://github.com/ctindall/hotseat) is the closest to an actual releasable project, which also has a client in Racket (which I'm just trying to get into, though just for fun)) to apply what I'm learning.

<comment><USER9> I'd recommend "Modern Perl" as well. It's online as HTML or a free PDF, start here: [http://modernperlbooks.com/books/modern_perl_2016/](http://modernperlbooks.com/books/modern_perl_2016/)

<comment><USER7> This looks great. Thank you.

</comment></comment></comment></comment></comment><comment><USER10> We are also heavily using it since 3.x. Thank you!

Any reasons for picking Cpanel::JSON::XS over JSON::XS? The latter has marginally better performance.

<comment><AUTHOR> Yes, Cpanel::JSON::XS can be configured to be closer to the original Mojo::JSON behaviour. And the maintainer has historically been more cooperative with efforts to make Perl JSON modules compatible with each other.

<comment><USER11> >And the maintainer has historically been more cooperative with efforts to make Perl JSON modules compatible with each other.

Indeed, MLEHMANN's (JSON::XS maintainer) difficult personality was one of the main reasons why Cpanel::JSON::XS was created and why it has gained so much popularity despite being almost identical functionally.

<comment><USER12> I would rather point out that JSON::XS simply refused to fix its most important bugs, and rather blamed upstream. I simply fixed those bugs and kept maintaining it. I also added many new features, just streaming support not yet.

The name is a bit unfortunate though as Cpanel itself still refuses to use it for political reasons. There is a high-profile jerk there running an agenda for his own personal profit. So I rather want to persuade Lehmann to give me his namespace and continue with it under the original name.

</comment></comment></comment></comment><comment><USER13> Brilliant news! Mojolicious is the best. And the new logo is fantastic.

</comment><comment><USER14> Congrats! Where i work Mojolicious is what keeps us using Perl.

<comment><USER13> My company uses Mojolicious for all our webdev and Perl for all our in-house stack. Full disclosure, it was my decision ;) but the work is so fast and smooth, I can't imagine switching to anything else.

<comment><USER15> I've been using Dancer/Plack for a number of years now, are there any particular features of Mojolicious which make it preferable to your mind?

<comment><USER16> Since it is built from the ground up around an event loop, asynchronous requests and responses as well as websockets work much more naturally. With Plack-based frameworks the PSGI spec is not built for asynchronous behavior, so you have to rely on hacks and use specific PSGI servers like Twiggy.

</comment></comment></comment></comment><comment><USER17> Woho 8.0! I enjoy quickly writing simple web apps with Mojolicious::Lite in particular.

</comment><comment><USER18> And they said naming shit is hard.

</comment><comment><USER19> Love Mojo. Easy to use and fun!

</comment><comment><USER20> shagadelic!</comment>


Crossfont: Easy-to-use font editor for Mac - <AUTHOR> http://www.pixelegg.me/crossfont <comment><USER2> Note that there is a powerful and stable font editor called FontForge, widely used by professional type designers, which happens to be GPL-licensed:

[https://fontforge.github.io/en-US/](https://fontforge.github.io/en-US/)

<comment><USER3> True; but it's perhaps worth noting that FontForge can have a fairly steep learning curve. There may be a place for a significantly easier tool for casual users, if it finds a different balance between power/flexibility and simplicity.

I don't know whether Crossfont gets that right - I haven't tried it - but I can imagine the market niche may well exist.

<comment><USER2> I'm sceptical but more than happy to be wrong. Fonts are surprisingly complicated software and my suspicion is that the market of people who casually want to make them is small.

If someone interested in learning how to make fonts asked me for advice, I'd recommend he invest his time in FOSS software rather than proprietary tools which can (and do) fold and disappear. I've worked through FontForge's Beginners' guide and I'd recommend it to people with even a minor interest in type. You'll learn a lot beyond how to use the software itself:

[http://designwithfontforge.com/en- US/index.html](http://designwithfontforge.com/en-US/index.html)

<comment><USER4> Personally, I would be interested in _editing_ fonts, though I have little interest in making one from scratch; eg I like the idea of firacode ligatures, but I don't care for the entire font (and not all of the ligature designs).

I imagine its too little to bother with picking up font forge, but an MS paint of fonts would be justifiable.

More specifically, I probably have a number of _one-off_ usecases where a simple, shitty editor would be ideal; another example is that I like ascii diagram characters but I have yet to find a font that does _all_ of them well. When using something like latex or monodraw, where I'll eventually render an image of the text, a half-implented font of 12 characters that can only be built as postscript type 1 with an potentially infinitely recursive ligature definition _would be exactly what I'm looking for_ , and a simple font designer probably gets me 90% of the way there

But I'm probably not a big market either

</comment></comment></comment></comment><comment><USER5> I noticed this in the FAQ:

"Why I get[sic] "Crossfont.app can't be opened because it is from an unidentified developer." while open Crossfont?"

Maybe it's just me, but commercial macOS software really seems like it should be signed... especially if it isn't installed via the App Store.app (I can understand not wanting to give Apple the cut of the proceeds, but not expecting your customers to jump through those hoops...).

</comment><comment><USER6> What distinguishes this from the many other font editors out there?

The main differences I can see are that this one does not have many features, and is much cheaper.

<comment><USER7> So... that seems like a useful distinction. I would consider dabbling in font design, but there's no way I would but an expensive application for it, and I'd want it to be fairly simple.

<comment><USER8> Back when I was on Mac, I used Glyphs Mini[1] - it wasn't the cheapest, but it had a nice UI, did what I needed as a non-expert, and was much cheaper than the "full" version.

[1] [https://glyphsapp.com/glyphs-mini](https://glyphsapp.com/glyphs-mini)

</comment></comment></comment><comment><USER9> This website's presentation leaves a bit to be desired. It's very awkward on mobile.</comment>


Scaling ElasticSearch at Synthesio - <AUTHOR> http://www.slideshare.net/Synthesio/scaling-elasticsearch-at-synthesio <comment><AUTHOR> Hello all, our director of infrastructure gave a really interesting talk on running elasticsearch at high scale, particularly some of the challenges we ran into, and I thought the slides might be of interest for the community.</comment>


Tillerson said to shut cyber office in State's reorganization - <AUTHOR> https://www.stripes.com/news/tillerson-said-to-shut-cyber-office-in-state-s-reorganization-1.478757#.WW9z9CdLdCV <comment><USER2> There's just no end in sight for this administration.</comment>


Ask HN: Do you use social logins? if so, which one(s)? - <AUTHOR> <comment><USER2> I have an empty pseudonymous facebook account that I use for that. THat account has no friend connections, no posts, and is connected to a gmail account I never look at.</comment>


Two ICO Issuers Settle SEC Charges, Agree to Register Tokens as Securities - <AUTHOR> https://www.sec.gov/news/press-release/2018-264 <comment><AUTHOR> > Both companies have agreed to return funds to harmed investors, register the > tokens as securities, file periodic reports with the Commission, and pay > penalties.

Paragon Coin: [https://www.sec.gov/litigation/admin/2018/33-10574.pdf](https://www.sec.gov/litigation/admin/2018/33-10574.pdf)

CarrierEQ: [https://www.sec.gov/litigation/admin/2018/33-10575.pdf](https://www.sec.gov/litigation/admin/2018/33-10575.pdf)

The refund clause:

> Respondent will … distribute by electronic means reasonably designed to > notify each potential claimant ("Distribute"), a notice and a claim form > (the "Claim Form"), both of which shall be in a form not objected to by > Commission staff, informing all persons and entities that purchased > AirTokens from Respondent before and including October 5, 2017 of their > potential claims under Section 12(a) of the Securities Act, including the > right to sue "to recover the consideration paid for such security with > interest thereon, less the amount of any income received thereon, upon the > tender of such security, or for damages if [the purchaser] no longer owns > the security" and informing purchasers that they may submit a written claim > on the Claim Form directly to Respondent</comment>


DataSoft is hiring software engineers from Sarajevo, Bosnia and Herzegovina - <AUTHOR> https://twitter.com/pasicemir/status/677854293676974080 <comment><USER2> As a based in Poland software engineer I'm keen to know what's the salary in these countries? I have been influenced by the Balkans, would love to see it once again. However, most probably as a tourist =)</comment>


Harvard cracks DNA storage, crams 700 terabytes of data into a single gram - <AUTHOR> http://www.extremetech.com/extreme/134672-harvard-cracks-dna-storage-crams-700-terabytes-of-data-into-a-single-gram

<comment><USER2> I have a feeling this will be like when we had 16 MB of ram and thought 64 MB was a lot, now it's not uncommon to have 16 GB. Or how we had 32 MB hard drives, thinking we'd never need more space, and now we can get a 3,145,728 MB hard drive for next to nothing.

What if we go from thinking 10 TB is a nice handy amount of space, to having 10,000 TB and still running out?</comment>


A weekly changelog makes us go fast - <AUTHOR> https://jay.patel.org.in/posts/2020-04-09-on-changelogs <comment><AUTHOR> Thought I'd write up a technique that's helping iterate a lot faster on our startup. Would be happy to answer any questions or entertain thoughts I may have missed.</comment>