skysight-inc/HackerNews huggingface dataset:
Are we reading the same article, though?

It's certainly up for debate whether named tuples and enums, various kinds of metaprogramming and decorators might be making the language more complex for fairly little gain... but this article talks about the `enumerate` function, about string formatting and dictionary comprehensions. Simple, straightforward stuff with no downsides.
Truth be told, the code quality of electronic banking is often rather questionable. Probably they developed a prototype without any bells and whistles (and without proper guards against code injection, without support for distributed operation) and then were forced to use it as the base of the real product.
but $10k/engineer is ridiculous

This is net, not gross burn. Assuming you have a viable product you should be earning (some) income.
i don't think the point of the article is to introduce JEE , its rather in the very first line :

>>"This tutorial is intended to help you get started with developing applications for Java Platform, Enterprise Edition (Java EE) in IntelliJ IDEA. "

They intend to show all JEE bells and whistles in one tutorial so that , people can look at this and know what they need to do to work on IntelliJ developing JEE application.

Not starting out on JEE itself.Which to be honest might require more of a different learning curve ,
The problem with Grails is, like you said, it focuses on getting started quickly, rather then producing a maintainable and performant codebase. I mean, Hibernate is very complex in itself, and adding another layer (GORM) on top of it won't make things better.
If I were to start a new java project, I would probably choose Dropwizard (http://dropwizard.io/), which is more a collection of libraries then a framework.
FiraReus acull la primera fira d'ecologia de la demarcació de Tarragona
In the UK, there isn't a day that goes by without me muttering something about killing one of my colleagues.

Thankfully in the UK, I do not really have the means to do this so it is obviously interpreted as an exagerated expression of annoyance.

In the US, the possibility of every exagerated threat being an actual, actionable threat is much higher.

Censorship is not the answer.
Vi Hart: How I Feel About Logarithms [video]
It also makes security of the supply chain extremely difficult. So many components, so many microprocessors and microcontrollers. You'll have a hard time proving that nothing has been tampered with from factory to integration...
The same is true for any AST. The datastructures get marginally more complicated, but that's rarely the limiting factor.

Strictly speaking, AST data structures are often full of junk, but that's not mostly a matter of the complexity of the syntax itself but of the variety of things being done with that AST - you can't report error locations if all you have is the nested lists representing your Lisp program.

The focus on making macros work well is absolutely a strength of Lisps. The syntax is a much smaller part of that than the lore would suggest.
They transitioned through many variations of the "lots of inventory of small things" markets: Batteries, media, cables, connectors, converters, etc.

Ebay and Amazon, both launched in 1995, spelled doom for a store that relied on selling you the overpriced battery, CD-R, or $90 HDMI cable.
>>You could just have the servlet write "Hello World" directly.

It's been years since I've had to write a Java webapp, but from what I remember using the servlet code to directly write the webpage output was considered bad. That was the job of the jsp file. e.g., "views" in bottlepy and Rails: http://guides.rubyonrails.org/layouts_and_rendering.html
The problem is investors don't care about burn until they all decide at the same time that it is the only thing they care about.
> they are building pyramids while other languages are building stuff out of bricks

Pyramids are engineering feats, Java EE people are building stuff which look like works from M. C. Escher, it bends your mind when you try to understand the code :)

Also a little anecdote to the complexity of enterprise stuff: at the company I worked before, they were writing an entire persistence framework from scratch (with annotations instead of xml) so they could get away from hibernate.
The current de facto standard is a GoPro on some sort of DJI or DJI-clone quadcopter. That's a monopoly the brand would be foolish not to try to exploit - and rebadging a clone quad with some GoPro-ness (physical robustness, integrated photography and control app, some follow-me features maybe) is a fair bet.
I like how you upped snark at one language with snark at another ;)
> We have tools now such that if they had been around in the 60's/70's we wouldn't have these problems

Not for kernel development we don't.

The only modern, memory-safe language that gets close(-ish) to the performance of C for kernel development is Rust and it's a long way from being stable enough for mainstream kernel development.

And even a safe language like Rust won't prevent escalation problems like this if you're placing too much trust in incoming data. That's a design problem that has nothing to do with languages or memory safety.
Molten Aluminum Lakes Offer Power Storage for German Wind Farms
let's go simpler (and imagine logic coded in vanilla js if this project ever goes bigger :) :

apt-get install apache
echo "<html><body>Hello World</body></html>" > /var/www/index.html
Yes, true. It's not an absolute. Sometimes it could be the case that something huge and entirely unexpected comes along. But that's quite rare - it's more likely to be the founders lack of strategic thinking than an unforeseeable catastrophic event.
this feature [label address-of operator] is implemented as a nonstandard extension by most production grade C and C++ compilers

This feature is entirely a GCC extension, and is only implemented by "production grade" compilers to the extent that they try to be compatible with source that compiles with GCC.

Many - I'd guess, probably a majority of - C compilers that people consider "production grade" do not in fact understand this construct.
Crawling the top 15,000 Drupal websites
ICYMI, there was an article that was popular on here a week or two ago about using afl to 'generate' JPEGs out of thin air: http://lcamtuf.blogspot.co.uk/2014/11/pulling-jpegs-out-of-t...
You're right. It's still funny though.
I'm convinced the push for greater recyclability of vehicle parts is having a worse effect. A new VW is full of plastic parts which seem to have a ten year lifespan at best. Too many of these breaking render the vehicle uneconomic to repair. The result is that eh vehicle is scrapped and parts recycled. Great- except that recycling takes an enormous amount of energy, and building a new car and getting it to the consumer takes another enormous amount of energy (and materials). It would have been better if the original vehicle had a longer economic life.
Why Reputation Management Can Be Valuable Element of Your Online Campaigns
> Article suggests that a high performance framework is implemented
> where notification of a unavailability will be propagated "before
> real user tried to execute a request" (which would have 50% probability
> of happening if number of heartbeats per second would be equal to number
> of requests per second the service serves, ha ha).

Yes and no. Sometimes there is a dependency that is used only on 1% of requests, or even 0.1% of requests. And that's thing thats hard to track by 50x error codes, because they are really rare.

But anyway it's not "fully designed feature", just a vision of what potentially can be done. So it's not going to be a stumbling-block for implementation.

> Also from the Article we can learn that sending a 304 with content does not work as expected (!?)

Sending 304 works as expected. Passing arbitrary status code with arbitrary headers with arbitrary body from the application to a framework doesn't work as expected.

> Not only that, but there should be only one connection to database,
> through all traffic will go. Pulling that up through a network switch
> connected to a server with multiple cables, or pushing all that through
> a single TCP connection, with a foot note that advises against rewriting
> it after a few years?

Not sure I understand your question well. But note that I'm speaking about Python. We have many python processes on the box anyway. Each of them has it's own connections to the downstreams (i.e. a database).

Then if we start writing asynchronous Python code, we need to send requests from multiple asynchronous tasks from each of the python process. I argue that it's more efficient to send requests from all tasks of a single process through a single downstream connection.

> Also, everything explained there should run in a single thread,
> because surely it will be fast enough.

Sure, single I/O thread in C will outperform any python processing of that data. That's true for 99.9% use cases.
It seemed fitting :))
This does almost everything (and sending it to another class is pretty trivial): http://flask.pocoo.org/docs/0.10/quickstart/
The main problem with JavaEE is hardly the development part. It's the maintenance and support part. When relatively inexperienced programmers write complex applications (because it makes this easy) and then something goes "wrong" in this pyramid of abstractions and layers and layers of libraries / frameworks interacting with one another and the application servers. That is when it gets interesting. Yeah there are great production performance monitoring tools like Dynatrace but it's not a silver bullet.
Remote Debugging – Firefox Developer Tools
As much as I agree that J2EE is bloated, the fact that you can migrate a project to a less bloated stack and still run it proves nothing. The whole point of the whole "bloatiness" is so that supporting/changing the system in the the long run will be faster, easier, and cheaper.
How to build a multi tenant SaaS app with Rails and PostgreSQL
Dedent is nice, but then you still have to deal with removing single newlines (e.g. for error messages) and removing leading and trailing spaces. Ultimately nothing more than `re.sub(r'[^\n]\n[^\n]', '', textwrap.dedent(s).strip())` but kind of annoying to have to throw this in your code all over the place.
> Maven is a nightmare to use, it's so complicated I would generally not use it. I would just like a package manager which is only doing packages like any other language.

Before Maven, generally I remember there being Ant. And I remember that if an application needed dependencies, unless one explicitly used a dependency manager like ivy, one had to go find the jars and download them, and ensure they were on the class path. Ant was simpler, in the sense that if you wanted something to happen, you would create an ant target and instruct ant on what was going to happen.

Maven isn't simple in the same way, so it does require one to learn more about how it works in order for things to fit together, but I find it drastically simplifies working with java projects. The location of all dependencies are defined, they are downloaded, and there is default behaviour to be expected with each of the maven goals. Overridable properties enable one to have a build which works first time directly after checkout. I much prefer it to what was there before.

If we look at what has come since - sbt, gradle, and leiningen all seem to use a similar mechanism to Maven for dependencies.
Your link doesn't work for me. Here's the Google cache

https://webcache.googleusercontent.com/search?q=cache:V9xiN-...
The business problem with this is that the vendor will no longer be able to provide any guarantee on the product since it will strongly depend on the user handling. It will also lose most if not all traceability to be able to say that the user did something wrong or didn't do something that was ought to be done to maintain reliability.

If some enterprising hardware folks wanted to create a PCIe or SATA attached flash with minimal interference for external control it would be very interesting to me too. I wanted to buy OpenSSD device for experimenting but at a price tag of $3000 it is well beyond reach for me for pure experimentation.

I wonder if crowd-funding can help bring such a thing to life.
You're right, and as the importance of the area of study and the research $ at stake, the worse the likely effect.

The urge to censor not by written rule or by conspiracy, but just to protect self interest, is very strong. A system must take that into account.

They say science advances by funeral - and that is a sad thing.
Probably yes, it's a problem of a baggage. If you would start clean, you need two things:

1. Support full threading and one of the memory models that allows it. To have an inspiration look at Clojure, Rust, Go, Erlang (probably I don't mean any particular order).

2. Have a standard communication way between processes, like Erlang has. My favourite would be to implement SP protocol family developed as a part of nanomsg library (https://github.com/nanomsg/nanomsg/tree/master/rfc).
Most people would regard a hard drive that they have received from somewhere and formatted themselves as safe. This hack shows that this is not necessarily the case.
أجمل لغة في العالم
apt-get install php5
echo "<html><body>Hello World</body></html>" > /var/www/index.php
php -S 127.0.0.1:8080 /var/www/
Also well known as the Enterprise Software Engineer Employment Guarantee Scheme
My experience says otherwise, SVG SMIL tends to be 10-20% faster with lower CPU load in recent browsers (Chrome/FF/Safari) than a JS-driven animation. YMMV though.
There's nothing wrong with the SSD storing information on the handling of the device, even when it is in raw mode.
Sorry, English is not my native language. You can use "notes" in medium, to point me to the mistakes.
RNA can autonomously assemble with the right mix of raw materials and minerals.
But that's quite rare - it's more likely to be the founders lack of strategic thinking than an unforeseeable catastrophic event.

I am not sure how rare these are - I have lived (and survived) through two in the last 15 years. I guess the other factor is how long your runway needs to be - I come from the biotech side of tech where you need a runway longer than what a full loaded A380 needs.

I actually think more of a risk is how tightly the money flows are within tech. This really helps to drive growth when the investors are keen, but the same tight linkages are a killer if anything disruptive happens. A small shock can be quickly amplified to something pretty serious.

Of course I agree with you that the most likely cause of start up death is internal.
While amusing, I don't think that's a fair comparison as it's not using any framework or persistence features.

A Java app can be written similarly:

apt-get install tomcat7
echo "<html><body>Hello World</body></html>" > /var/lib/tomcat7/webapps/ROOT/index.jsp

(This is untested as I don't have an Ubuntu box at hand – the locations depend on your distro, as with Apache installs.)

There actually are sane people in the Java community – underneath the "Java EE" overcomplexity there are some regular old Java web frameworks that are pretty simple and robust. Unfortunately they can be easily overlooked, as the EE community is loud.
And Satan stood up against them in the global environment.
An electron is just a miniature plaque with Carl Sagan's signature on it.
Yes, the social solution that Facebook presents is ideal for keeping in touch with a loose or geographically diverse set of real life friends. It is a technical solution to an admittedly simple social problem but a solution it is. Prior to Facebook I used to send graph emails, people would leave jobs, change email, etc etc. then came the cc replies, all out of order. A mess, solved well with Facebook, ad still really the only useful feature.
I wonder what some of the design guys would say about the information contained here and its readability:

https://github.com/stuarthalloway/programming-clojure/blob/m...

https://github.com/tcltk/tcl/blob/master/generic/tclCompile....

Grabbed at random. I think the larger indentation and fewer parens do make a difference when you squint at things.

Of course, I also think as a professional programmer, if something does the job, get over it and get on with it. I use Erlang myself, which also gets lots of syntax complaints.
It can't be the crucial step since one could open javascript console and type

foo=true;$("#question-answer").bind('keydown', function(){if(foo)$("#question-answer").val(eval($("#question").html()));$("#question-answer").keyup();foo=!foo;});
What about us, simple mortals who want to learn this exciting language, which changes a lot even now? I spent some time writing stuff on Rust. But it is moving target without no documentation for advanced parts. How do I figure out advanced stuff on my own? Is there parts of compiler I can use for reference?

What can I do while they "rush" language to the 1.0 stable release?

I mean how to get the best from this situation if I want to be programming in Rust in future?
In fact, HTML already has a solution for that in the form of multipart/form-data.

Instead of encoding the files directly inside JSON, you could add them as extra parts of the MIME message, and just have a reference in the JSON value (as in email, which uses a "cid:<part-identifier>" URI to inline images as such, as described in RFC2392).

You'd still need special support on the server, though.
Well, here is a good article:

https://plus.google.com/+RipRowan/posts/eVeouesvaVX

It seems that Amazon started using microservices in 2002. Do you think 12 years is not enough to learn on mistakes?
Getting to know JavaScript events Pt4
Ken Thompson has contributed an amazing amount. Just because it's not yet visible on Github doesn't mean the world doesn't want to pay attention to whatever he might do there - or that it is not entirely deserved.
One another reason for loads of standardization in JEE is with performance and scalability guarantees which are not provided by developers but by application container vendors.

Writing an E-Banking application on JDBC is certainly possible , but do we write code to make performance guarantees,for transactional isolation,maintainability or do we only write code for the business we need to attend, this is the question that leads to JPA [or JEE] .

JEE stack does involve a steeper learning curve but is a different one indeed!
Yup. And by the time you've done all of that, it's not vastly smaller than the code in the original example.

(Also, your setup is spread across every class registering itself, rather than in one central XML file that tells you all of your routing.)
I didn't realise that these were the same place! My 50-in-1 Electronic Project Kit manual often referenced "Radio Shack" and visiting a Radio Shack was my number one reason for wanting to go to the US.
Do you have a link for description of how it works in QNX?
>Having to know what is a macro and what is not affects understanding how arguments are evaluated, and basically everything is an argument differentiated only by position.

The whole point of macros is that they are written in the same syntax as everything else (because of homoiconicity you can operate on your code as native data), you don't need to know what is a macro and what is not for 90% of the code you write. There are very little cases in Lisp languages in general where the difference between a macro and a function are evident, and in Clojure even less (compared to another dialect like, let's say, Common Lisp).

There are some times where that might be useful, but that's why we have a repl and macroexpand.
It took about half a year, mostly slaving away in the evenings and my day off. That was mostly because the WD firmware is pretty complex: you gotta remember almost 20 years of ATA/SATA/... cruft is stored away in the firmware, and the firmware doesn't help you by having any strings embedded in it.
SHAREit for PC
It's not really aimed at security; that's not a priority for consumer hard disks where cost/GB is the main criterion. It's more a question of three factors:

- laziness: publishing quality documentation costs money
- fear of competition: publishing info also helps your competitors
- latency: given that far more computing power can be fitted on a chip, and the relative cost of sending some data versus processing it locally has changed dramatically, a modern computer is a distributed system cooperating over network-like links.
Sidestrappers: Don't forget to be thankful for these 5 things
You can still abstract lots of it. For example chisel[1] does so through high level abstractions and parametrized generators - while still offering results equal to verilog.It's also also used for the open source risc-V architecture[4], the recent highly-efficient parallel cpu[2] done by a small start-up(2 guys),and a floating-point alu generator[3] that explores the design space of fpu's and finds optimal designs.

And reading about these projects, one gets the impression chisel was critical for them.

[1]https://chisel.eecs.berkeley.edu/chisel-dac2012.pdf

[2]http://www.eetimes.com/document.asp?doc_id=1324759

[3]http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=654588...

[4]http://www.eetimes.com/author.asp?doc_id=1323406
Hum, are you sure you can't do without ? If not, it's quite a mistake of Google's part.
3 startups from Bangalore to follow
Minor bug I noticed: When the timer hit zero it went back up to 1 second and then down to 0.

FF 33.1 on Mac if that matters.
Hi, my name is Craig. I'm a real engineer. The reason I answer things this way is because I haven't actually been given explicit permission to respond to these kinds of things on behalf of the company, and I never want to open a can of worms by saying more than I should or than is necessary. So, you are wrong. This is definitely the real me here.

You are also wrong about the issue. What you are referencing is a specific time about a year ago. Note that all the posts you reference are exactly 343 days ago. Those issues have long been resolved on both individual and general scales. To bring them up now as if they are current issues is dishonest. We had one support person and a ticket queue of 8,000 items in the middle of a massive bubble and pop. That is why support "went dark". It took weeks to respond because it was not humanly possible to respond faster. We were working night and day. Now we have a team of 40 support with live chat, so it won't happen again.

The more common criticism we receive, and the one I was responding to, is the notion that we cancel orders due to "high risk" as an excuse when the price goes up (not down), because the coin is now more valuable and we'd profit by keeping it ourselves. That's just not how we work, and we have never done that. (It is never noted that we cancel as many transactions due to high risk when the price goes down, with the effect of actually saving false-positive users money they otherwise would have lost.) If you do not think this is our biggest criticism, or if you think the ones you referenced are still relevant, then you do not know enough about Coinbase to be making the claims that you are.
There's a lot to be said for reading Kernighan & Pike, to get a feel for the original design of the system.
Java is the king of boilerplate, but this PHP snippet (in fact, not even PHP, just HTML) is not equivalent to the tutorial in question. The IntelliJ post covers things like, say, HTML templating or built-in debugger for your web app, which is a bit more than a bash two-liner in the PHP stack as well.
This page sets up an entire framework / java stack containing JEE, with some exampleclasses for stuff that will be needed later. So it's much more than a simple Hello World. Compare it to setting up any other framework: A lot of files and boilerplate configuration.
Is the Wormhole in ‘Interstellar’ Possible?
Interesting, how recent are those HTC Sense phones? Any pointers to such bugs? I agree it's a shame that it isn't implemented properly. It should be part of CTS.
Fascinating read. It never fails to amaze me how far compilers have come over the past two decades.