skysight-inc/HackerNews huggingface dataset:
Ask HN: What Code That We Write Today Will Still Be Used in Ten Thousand Years?
I own excellent English translations of Homer's Illiad and Odyssey. The poems were composed roughly three thousand years ago, then passed down orally through the generations before they were written down at all.

While attributed to Homer, it's unclear that there ever was such a person; quite likely, whoever passed on a poem, added his or her own material.

There are many translations available; I selected the one that makes the most sense to modern Americans. The cover of Illiad depicts the Normandy Invasion from inside a troop carrier; Oddyssey's has the Earthrise as seen from Apollo XIII.

These two poems are the very foundations of Western Civilation.

We all hope that there will be some kind of civilization ten thousand years from now. What are we doing, to contribute to its foundation?
JSF ? Oh those gullible youngsters !

JSF is the slowest way to do web development for rich client UI: starting stopping J2EE servers is time consuming. HTML templating is difficult; you can't see what you screen looks like until you serve the page from your J2EE server .Also JSF is an unnecessary abstraction over HTML : it is much easier to maintain state on client itself using any of Javascript libraries like React or Backbone or others. You are much better off using REST servlets or REST Spring MVC with your javascript. JSF impedes the growth of features or functionality on a page: as you add more widgets to you page like JQuery plugins , you will be suprised by the amount of backend code you will have to write. Ultimately ,you will eventually resort to hacks and you page state and you JSF state for the page will deverge. Sadly you wont discover this mess until you are waist deep in this pile of muck.

JPA is pretty awesome ; however I have learnt over the years that you need to fine tune your queries using explainplan rather that relying on generated queries; define the views on the db itself and load them with JPA; this way the others frameworks or related application ,like a ASP application or a python web application or reportng application, can also leverage the same data and view.
In some countries (not sure about the US) you also tend to have different rates for Night/Day usage. Night usage can be as much as 70% than your day usage depending on the location and season.

Now take London for example, I pay about 1200 GBP a year in electricity, the day vs night rate difference for me is 63%ish. My day time consumption is about 20 KW/H, my night time is about 5, if i can move that around and cut my day time consumption by half which means that night will be 15 KWh and my day time will be 10KWh that will save me quite a buck if the battery can operate at an acceptable efficiency and output over 10 years, it will more or less pay for it self since yearly, at least if you don't count in the installation and maintenance costs.

That said it's probably still won't be a money saver, the installation costs i would assume would be near the costs of the battery it self. I also have some worries about long term maintenance and the effects that i would have on the complexity of your internal power grid (e.g. will your run of the mill electrician will be able to still fix your fuse box if need be). And trough what kinds of hoops and regulatory nightmares will you have to jump to inter connect that to your grid.

There are also some safety concerns in having both a battery pack and an inverter (altough a low voltage one) sitting in your house now. But the biggest issue for me is that any potential saving costs are dependent on a bet that your power consumption will remain equal, and that the per KW/h power costs wont go down (which in many countries they have been going down for couple of years now).

Might be a neat thing to have, if the batter + installation costs for a 10 KW/H battery wont be higher than 3000 or so GBP in the UK (London) and if the average price per KW/h will remain the same or higher over a 10 year period today you might break even. So within 5 or so years with batter technology and service improvements this might actually be a really viable solution (not that you can install it in a 2/3 bed flat in London) for both improving the reliability of the grid and reducing costs for consumers.
HN has very many dupes. It's pretty rude to suggest people are submitting while drunk. (I didn't downvote you, but I understand the downvote. (Assuming that was the reason - who knows? Maybe it was accidental.))
> it is the same crappy mess of piles of unnecessary layes of ugly, redundant abstractions.

This is straw-man stuff based on an old view of who uses Java and when.

I've programmed in a lot of languages - C++, Java, Objective-C (with a NeXT, of course) and the trendier functional, meta-programming languages.

One of the cliches (and truisms) of C++ is that you only use a subset. This is what people are doing with Java these days. You can bring up high-performance web services using only a thin layer of J2EE and throw away all that cruft you mention. In my company we do it all with a third-party web layer and just SE (is it just J2EE you're agin - are you fine with SE?).

What Java brings to the table is a well-sorted high performance JVM, copious free and high-quality third-party libraries and a clear and easy to use syntax. Yea, it's quite verbose, but, as you know, you spend more time reading code than writing it...
> .. buying part of Richard's company for 1 million bucks. He's valuing it at 5 million, so that's 20% of the company.

No. The purpose of convertible note is avoid that kind of valuation in % of the company. It is very difficult to arrive at a share % valuation of early stage startups and convertible note solves this problem. Its like a loan given to the company which is converted to equity during Series A round when the company is more mature and its easy to arrive at a valuation

> (Peter)... who agrees to put in $1 million as a note with a $5 million cap and a 20% discount.

In the original article BTV does a 40 Million pre money valuation. Lets assume the share price is 10$.

- Peter gets 20% discount : so for him the shares at at 8$ per share

- his valuation cap is $5 million: so for him the share price is ( $8 per share / ( 40M/5M ) ) = $1 per share

- He gets (1M / 1) = 1M shares for company
(In comparison, the series A round investor (BTV) invested $10 Million. So they also get 1 Million shares.)

- Since the current valuation is $10 per share, his shares are worth (1M * 10) 10Million

A 10x return for original investment of 1 Million. Looks extremely well !

> .. Plus, they want a senior liquidity preference of 1x to protect their downside

Though on paper peter has 10x profit. But if the company gets into trouble and sells out for 10 million or below, peter get nothing since BTV takes off the first 10M
Paging mods to strike "Top Ten" from the title...
Until "Let's Encrypt" becomes a thing certificates are still "expensive". It's a shame that you will have to pay for a certificate on top of a domain name for hobby projects like this.
Thank you!!! I was coming here to post exactly this. They say 'The “92% efficiency” figure quoted by Tesla isn’t as good as it sounds'... Then they just grab numbers from other technology on the market and jam out some made up numbers.

If Musk says 92% round trip, then I don't assume he really means 87%.

I'm excited about it because I would like to build a tiny house off the grid in Colorado and this makes solar into a realistic option out there.
I still use Backblaze to backup my media server (several TBs of data), but I recently switched to Arq on my laptop. It is fast, reliable, and at least if your data requirements aren't too vast, very cheap.
Paging mods to strike "Facts" from the title...
A small aside to your comment: GDP can be measured accurately, but sometimes it isn't. Some recent prominent examples are from Africa:

http://www.theguardian.com/business/2012/nov/20/economics-gh...
Title says "Facts", article calls them "Conclusions" and in reality they are Educated Guesses.
Yeap, celery is really when i started to feel the pain of using python rather than a more enterprise-ready language&framework. Although in my case it wasn't using it with django but with flask ( but i don't think it makes a big difference).

The main issues when you start to have a stack built of big independant systems ( such as a db, a message queue, worker processes, and web server) are more related to deployment, monitoring and failover management. But they are really the big issues that justify the choice of a technology instead of another.
For rich web applications, GWT is a great option. It is a blessing to write the frontend with the same language and toolchain as the backend, re-using domain classes and constants across the projects.

Our current project uses Spring MVC for the backend, exposing REST services, and GWT for the frontend, with Resty for marshalling data structures back and forth. It works really well.
JSF isn't the greatest, but it's improved a lot starting with version 2.0. I can indeed see a preview of what my page will look like (with templates applied) right in my IDE. The fact that you called it J2EE makes me think you're talking about the "old" Enterprise Java. I abandoned it for a while back then too - it was no fun to use!
This is an awesome project! Don't let this network issue hold you back. What do you think about joining the network and displaying the IP in a dirt cheap LED screen? You can even use this screen to add additional value, like for example alarms, status, etc.
The first time joe consumer will need to write 192.168.1.149, but then his browser will autocomplete the address.

Go ahead, and go big! :-)
Microsoft nixes ActiveX add-on technology in new Edge browser
The 92% doesn't include the inverters, which aren't included in powerwall. 87% includes typical inverter losses.
"Punishment by death is not a option in many countries of the world"

It's a videogame. Geez!
And there's Errai to extend server side CDI (injection, events and context) to the GWT client side application. Substitute REST (using JAX-RS) for the server-side calls and you can provide the same API for external programs and your GWT client.
back in the day (what is now my) ex redesigned my site, but only the homepage and one interior page. It was up to me to update the rest of my site.

We needed some quick cash so I bid seven dollars per click for google adwords select on "custom software development". All of the other advertisers were my direct competitors. Were I to receive a click, the visitor would see my old site design, which was quite funky.

I did not sleep until I had rolled out Bonita's design to my entire site.

It is quite common for me to work for days to reach a contract milestone so I can get the check that I need to pay some expense.

I would not wish software consulting upon my very worst enemy.
I wish you wouldn't have deleted your comment. It had lots of good information in it. It's just that it was supplementary to the original article, not contradictory.
I usually use completely free certificates. There is at least one vendor for those.
Floating city project
> So how do software engineers manage all that? They use better languages than assembly.

Well, better languages than assembly, yes, but the situation is not so simple. In the past 40 years or so in the software industry, there were two, and exactly two, language-related major productivity leaps in the production of "serious" software: C and Java. Java didn't add too much in expressivity over C (in fact, it added less than C++ had), and neither did C add a lot of expressivity over assembly (more convenient syntax but not too many new abstractions) -- but both added a lot in terms of safety, modularity, portability and the like.

The problem is that we haven't been able to make yet another significant jump. Much of current PL research focuses on expressivity and proof of correctness -- two things that aren't the really painful problems for the software industry these days, and aren't what made C and Java such productivity boosters, either. In both cases, productivity was enhanced not through some clever language syntax design, but through the ecosystem the language supported (i.e. extra-linguistic features).

Yes, some other languages like Ruby added some productivity benefits, but mostly in the "toy" application department -- the same kind of applications people used to use MS Access or VB for, or other "application generators" prior to those -- and you see Ruby shops transitioning to Java as they become "serious". The thing is that with modern hardware, even toy software projects are quite usable, but this isn't the case with hardware design.
I hear you. I personally stand by the title choice because IMHO there are two facets to Java EE. I'm not saying that it's a fact (I simply don't have the data to back it up), but those 2 facets I see are:

* huge installed enterprise base

* modernisation of the platform aiming it a both small and big users

I've been active in Java/Java EE for some time, and I know that these facets can be at odds with each other.

For instance Java EE people wanting to support enterprises exclusively still think in needs of enterprises, which means there's always a dedicated ops team, an installed server that nobody but ops can touch and developers that communicate with ops via tickets.

This warrants having data sources and security modules configured outside the application and maintained by ops.

For small users this is silly overhead. When you're the only one developing an app the security module can be right inside the app.

Some Java EE people have introduced mechanisms to do so, but the enterprise people who are still there hate it, saying a server should always be maintained by an ops team. The very idea that a small shop doesn't have an ops team just doesn't occur to them.

Long story, but the simplifications that are making Java EE incresingly suitable for small shops and startups, while maintaining access to the power of the full platform to me doesn't seem well known yet.
'Photof*cket' men cuffed over Photobucket password-protected pic plunder
Here's Venezuela's great GDP/capita: http://www.google.it/publicdata/explore?ds=d5bncppjof8f9_&me...

And the terrible living conditions for the general population: http://www.bbc.com/news/world-latin-america-19649648

Correct me if I'm wrong, but GDP includes government spending so if the government increases the public debt in order to spend more, the GDP increases without any relation to the value of goods and services.

And then there's the downright manipulation done in the European Union by introducing estimates for prostitution and drug trade to cater for differences between countries where those are part of the official economy and those where they are completely in the black market.
Alexander Rich, 90; MIT biophysics professor
After a quick skim this seems great, but just one piece of a much bigger puzzle. Android activities, regardless of whether the view is constructed declaratively or in code, seem to always become an untestable mess that does way too much. At least, that's what happens if activities are used as intended. IMO, the bare minimum necessary to fix this is some more elegant alternative to AXML that, crucially, has some kind of declarative databinding support. Roll that into Anko and we're on our way to taming the activity.
Python 2.7 is an extremely productive language, for a lot of us. I want to move to 3.x at some point, but there's very little I can't do with 2.7, and it is the default on OSX, and many linux platforms.

The one killer feature that would make me move almost straight away would be making it a lot faster.

But since I have pypy, I'm much more interested in installing that as my 'extra python version' than I am in going to 3.x straight away.
It's not the CPU anymore, it's the I/O and the assembly that costs money.

More or less you'd be paying a dollar for the microprocessor, but eight dollars for the I/O connectors and the board.
How do we solve the knowledge sharing problem?
Ask HN: App for workouts by body part?
Hello,

I want to learn ios programming and I'm inspired by this article (http://www.bodybuilding.com/fun/posture-power-how-to-correct-your-body-alignment.html) to build an app that does exactly what the article describes - suggest exercises based on your body posture/problem. I figured posture issues are universal that it might be useful not just to me but others too! And, the problem is well defined and the solution structured, that it seems straight forward to build a MVP app without giving too much thought to it.

My main goal: learn ios programming while building a MVP.

Here's my question: Is there an api of a workout database by body part, similar to this site - http://exrx.net/Lists/WtMale.html ?

Thanks for your help! And any other tips/recommendations to help with my programming journey is welcome! :)

G
You might like Anvil: it's a declarative react-like UI library for Android. I personally use it a lot, and I normally write single-activity applications (e.g. I have my own backstack of views inside a single activity):

https://github.com/zserge/anvil

http://zserge.com/blog/anvil-2.html

Kotlin is supported as well (http://zserge.com/blog/anvil-kotlin.html)
I'm not sure. If your goal of carrying your data with you is that you don't trust it to stay secure on a system, then plugging in your USB stick to the computer seems like a security risk right there. Once you decrypt it, another person could have some kernel stuff running that grabs all your home data at that time. If you trust the box, you may as well leave your data there with regular encrypted home folders.

For the general idea of you having multiple computers and wanting to use the same home folder on each of them, then the encrypted USB stick would be a nice safeguard against accidentally losing said stick (prevents the finder from reading it. As if even 1:1,000 random people would even be able to read a UFS or ZFS stick :P - of course, you should still encrypt anyway for that case.)

Still a cool feature though.
It is probably carriage returns
> high amount of energy required to 3D print a metal object

I'm very curious how the energy efficiency compares to other methods of production. After reading this[0] article I've become highly suspicious of how easily the energy footprint seems to be overlooked in maker cultures.

[0] http://www.lowtechmagazine.com/2014/03/how-sustainable-is-di...
I just send ours the technical summary that the ITA Matrix spits outs.
This article seems more reflective of a generational technology gap than an actual loss of student interest in building relationships with professors. The author doesn't seem to want to bother leveraging all the wonderful tools currently available to interact digitally with students beyond the walls of a classroom or office.

I give my students my phone number and encourage texting. I find that sending Facebook messages usually gets a quicker response than emails. And, in lieu of office hours, I prefer Google Hangouts so we can be more flexible with meeting times. (Yes... I've had many "office hour" sessions at 11:00 at night!)

Contrary to what this article asserts, I've found that digital technologies bring me closer to my students. Using tools like Facebook Groups, Google Docs, and whatever course forum software the school is operating on at the time, I get to expand the classroom well beyond our 2.5 hours per week and create a sort of 24/7 learning environment.

I wish I could have had those kinds of opportunities as an undergrad.
> In modern Java EE there's no reason whatsoever to avoid EJB.

I don't see much reason to use it, either. The only exception is for distributed transactions, where session beans serve as nice abstractions as entry points and managers for the transactions.
How is the RMB tightly controlled? They print it like mad and buy US treasury notes with it (mostly debt bonds) which both keeps the RMB low for cheap local production costs and allows the US to keep the dollar at relatively high value compared to its circulation.
Japan is also a huge US debt holder (it also has a similar scheme to China, but managed quite differently) both it and China own 1.2-1.3 trillion dollars of debt atm.
No country not even China would be mad enough to try and write off holdings which are worth over 10% of their GDP, especially when their public debt is almost 300% of their GDP.
If you do add those references the people will love you!
> In contrast to traditional machining methods that typically cut parts out of larger pieces to get to a finished shape, additive manufacturing uses lasers to fuse thin layers of metal on top of each other to build parts from the ground up. This advanced technique means less material waste and more complex parts that can be built precisely to optimize how they work inside a machine.

Doesn't this usually come at a higher energy cost, even if you include the energy required to provide the wasted resources?
I think it's a good thing. If the batteries are really good, future cars by other manufacturers will boast having a 'tesla battery'.
My shop is looking at getting one of these 3D printers. The output quality is similar to a nice casting, and like a good casting, you can machine the relatively-rough surface and expose nice solid metal underneath. With technology like that, I'd be able to make so many things much more easily.. Just make the model, print it out, and machine only the important surfaces. Cool stuff!
My problem with outlook is that many of the advanced features are only on their windows client. The OS X client is missing so many nice bits, it can almost be better to use the web client.
Wow, not even legacy support? Not sure if that's going to fly the amount of both extremely old and even brand new enterprise crap systems that still use ActiveX is quite staggering for everything from banking applications to VPN and such ActiveX is still used quite a bit.

Edit: nvm didn't load half the page, enterprise version will have ActiveX & BHO support :D
I don't understand how "sucking less" makes JSF a secret weapon. What advantages does it provide over other, simpler ways of managing templates and views?
Official App for Smartphones
Hi, do you have an estimate when the SFTP option will be available in the Windows version? I have heard it exists in the OSX version.
That was a good interview. A few years ago, I took almost a year out to help a friend (from since we were little kids) and his company and they were a J2EE shop for the server side. One of the first things I did was to buy one of Adam Bien's J2EE books because I had not touched J2EE for years. My friend is a true Java Ninja and his architecture and code were elegant. That said, for my own stuff I like the simplicity of Clojure and Compojure :-)

I looked at zeef.com and it is an interesting idea, but I tried searching for a few broad topics that I am an expert in and found the results so-so. zeef.com needs a larger number of human experts contributing.
When HN comment mention how bad is "J2EE", I start to know the it refer to old J2EE (J2EE 1.4 (November 11, 2003)). Now is JEE 7, no more J2EE!

Yes, JEE/Java is bad but please, there is no perfect framework/language. Ruby/Python/NodeJS whatever is awesome, but it does not mean that it is perfect langauge either.

Now JEE 7 is awesome enough that you should stop mention J2EE.

Also, Java maintenance best backward comparability that I ever know. Anyone want to discuss Python 2 vs Python 3 and Ruby 1.8 vs Ruby 2?
This depends on the language capabilities. In the C/Lisp/ML families of languages at least you can create isolated scopes. It's unfortunately not true of Javascript (and Ruby?).