skysight-inc/HackerNews huggingface dataset:
See my link down thread. I think this really comes down to the murkiness in definitions of declarative and imperative. I did find a later definition that points out that these are no longer duals of each other.

I was actively avoiding the obviously imperative functions, though. Not sure why. That is, I could have simply said that the existence of all of the functions that end in exclamation points shows the language is imperative.
No offense, but

- you haven't answered my question. Like, at all.

- I don't quite like the 'would be better off in an IDE' part.

That said, at this point I'll better see what I can find about these oh-so-essential features and I might even add them to my routine/workflow (so far, I still don't know why though...).

Edit: As expected, the help page doesn't explain why I should care about those. q: and q/ are nothing I ever missed, :normal is weird and I cannot imagine what it is used for. Basically my whole reason to jump on this thread "Okay, now I don't know these. Why are they useful?" is absolutely still relevant. Reading the documentation isn't enough. I .. won't buy a book at this point.
Unless I missed something there is no mention of why you want to rewrite/alter your system?

- Is it for cost?

- Reliability?

- Scratch a tech itch?

- Not flexible enough for future needs?

As obviously that will affect a lot of decisions
You forgot endless coffees, ceaseless yabbering on mobile phones, thousands of telephone meetings and still pointless face to face meetings with external companies so the sales people can pretend to be busy and get out of the office awhile.
This has been done by FinFisher:

https://www.youtube.com/watch?v=sW-N7qQU-tA#t=14m04s
Thanks for the feedback.

Bulk import would be a pretty fast and simple add; I'll make a GitHub issue for it.
Your definition is quite different than the usual definition of promiscuous. For example, it means that everyone who has had sex for the first time, and who hasn't yet decided if this partner is permanent, is promiscuous.

Thus, your definition concerns intent, when viruses don't care one whit about intent.

You see this in the sex research literature - for example, "men who have sex with men" is a category which is irrespective of self-identification, as MSM is the action, while "gay", "queer", "homosexual", "bisexual", "polysexual", "bi-curious", etc. have cultural and motivational meaning beyond the mechanics.

Again, your use of moralistic terms like "promiscuous", "experimenting", and "settle down" suggest to me that you have a sex-negative viewpoint.

People like sex. Most people have sex with multiple partners over their lives. Advice like "don't ever have sex except in a committed marriage to a monogamous spouse" isn't effective, and has never been effective. It does it make people hide their sexuality ... but they'll still have sex. It instead means they won't get the information they need for safe sex.

We see this in the US where abstinence only sex education has been shown to be ineffective at changing behavior, while real sex education, including how to use a condom, leads to better outcomes. See http://www.siecus.org/_data/global/images/research_says.pdf as one of many such summaries.

If you're going to suggest unreasonable solutions, you might as well suggest people live in their own isolated bubble suits - it will certainly prevent STD transmission, where your suggestion doesn't.
Very cool!

I made something similar that runs in your terminal:
https://github.com/dhotson/txtcam
Why not:

return o2.compareTo(o1);
My understanding is your medical insurance won't cover this over a certain age though (27-28 if I recall correctly, I'm a 32 year old male).
The common approach I have seen/used is to encode big ints as a string instead. The lack of support for NaN and +/-Infininty means that doubles won't encode in JSON either.

On other trick is that because comments aren't supported is to make a keys named "//SomeComment":"", this will still be syntactically correct json and you can simply ignore them inside your program.

JSON is missing a lot of little things, but once you add them in you end up with something that is a lot harder to parse, which ultimately hurts the ubiquitous appeal of json.
How do we always end up back where we started? It's been shown over and over that the majority of office jobs are not productive beyond 6 hours/day. Hiring more people to "fill in the gaps" is a misunderstanding.
Anonymous 'Requester' Turns Police Body Camera Programs Upside Down
You forget just how much difference there is between languages. Comparing Python and Java for example, it's easy to find things that take 1-2 cpu cycles in Java (or even 0), that take thousands of cpu cycles in Python (e.g. function calls).

http://benchmarksgame.alioth.debian.org/u32/python.php

I mean, I would agree that 1s versus 1.3 seconds doesn't really matter. But look at those numbers we're talking 40-50 TIMES faster in half the cases. The number I tend to use is that one programmer is worth 10 servers. But this has diminishing returns : the larger the site gets, the more you'll focus on servers.

But even for small sites. Python is about double java's productivity, no more. That only helps you for very small programs.

So for large sites, python would have to be 40-50 times more productive than java. This is exactly python's weak point, and java's strong point ...

And from experience I know. Large python programs are horrendously difficult to change. They're like how large perl programs used to be. Changing a tiny thing in one far removed part of the program affects 10 other places in the program, with absolutely no warning, until the site crashes. And then you put a try-catch in your main loop and AAARGH.
I'd recommend Google Gson; it works either with model classes, or with a generic JsonObject.

Jackson is good, and more powerful in terms of model mapping, but I find it much more complicated to work with.
Coda -- purely, because of the ease of remote-ssh. Otherwise I'd be ST2 most likely.

Visual Studio for Winblows work
I do more or less agree with you, but:

> what's the point of building something badly that you can buy COTS from any hardware store for only slightly more than what she spend on this thing?

Tinkering. Hacking. Learning.

> turn AC on and off through cutting off power) will wreak havoc on her AC

I don't know alot about AC's (I generally eschew them), but there is one line in the article:

Make sure that your AC is always set to be ‘on’, we’re bypassing the air conditioner’s normal on/off control system.

I can't image they've got a complicated startup sequence if they've got an "always-on" setting? Or am I wrong?
I found this earlier poll interesting, and since it is nearly 1,000 days old I thought it would be interesting to run it again:

https://news.ycombinator.com/item?id=3786674
Do you have the references for that? It's I topic I'm quite interested in.
Idea: Online book discussions
Often times I read a book and really want a friend to read it so we can talk about it. But I realized this is the point of a book club.

I looked around online for book discussion but I mostly just found a bunch of garbage.

Do you ever find yourself wanting to discuss a book after reading it? Would an online dialogue with strangers be just as appealing?

Curious to hear what people think!
Ya, I was looking for that also.
http://hnlike.com/hncharts/chart/?id=8678339

Courtesy of @sbashyal.
Lighttable. Good for anything I do.
> I'm sorry to hear that. But you understand that this had nothing to do with Java, right? Java didn't make those people do that. That was just good old fashioned human stupidity. It's entirely possible to write simple things in Java, without ESBs and a person-century of effort.

It's an extreme example of the same mistake this blog post is making. I mean, from a certain point of view they were right - if the site had reached twitter scale, it would have needed those things. The market genuinely is growing, and the problems the system solves exist in almost every industry. I expect those four guys won't keep their system in Rails forever.

Maybe using PHP really will make your system slower by a factor of 15. So what? A trivial saving in development time - say a week over your first year, a 2% factor - is well worth that 15x performance penalty for most businesses.

((Don't use PHP, kids. But not because of the performance))

> The normal approach to writing scalable apps these days is the twelve factor approach

Hmm, I wonder how many people have heard of this, and you say it's "the normal approach".

Debugging distributed systems is and always will be harder than debugging monolithic systems. Even the simple engineering good practices from that page, like explicitly declaring dependencies, have a cost. My Google friends tell me their explicit policy is to design a service for one order of magnitude more than the current traffic, and expect to rewrite it after that.

And once you're doing the things you need to scale - explicitly defined interfaces, all calls going via the network or something equivalent to it, service discovery - then changing the language used in parts of the system really isn't that big a deal. You can do it incrementally. (I have experience of doing just that, at last.fm)
And I disagree with this assertion. Heavily. Simply look at the state of most bridges in the US (and elsewhere?) to see that they are not holding up nearly as well as is implied by this assertion.

I don't know what to say regarding your examples. Don't put too much credit in JIT and whole-program optimizations. One could just as easily point to the fact that what used to be too slow of a program is now fast enough with the advance of computing speed. And memory. Do not overlook the importance of memory.

More, I doubt most programs of yesteryear failed due to lack of optimization. Seems likely to me, that the main cause of software failure has not changed that heavily in the years.
New Sony films leak online as hunt for hackers turns to North Korea
What languaes do you touch in Webstorm?

I often edit PHP AND Ruby templates that have HTML, CSS, and JavaScript embdeed within them and I struggle to find an editor that can apply syntax highlighting to that mix-mash of languages in one file correctly. Do you ever edit jumbled multilingual files in Webstorm?
You can add Windows and OS X to that list.

(Although the Google Inbox team didn't produce a Windows or OS X native client, there's no doubt that such a client could have run the java code shared between Android, iOS and Web)
> cat

Really?
Ahh, grasshopper. Truth is, there is more than one "truth".
What is the equivalent in other fields that build things? I mean, project management must be studied in other disciplines, and what have they come up with?
Emacs, but at this point I've got it to a point where I'm mostly comfortable with it, there's still a bunch of annoyances, but I haven't hacked the configuration substantially in years. I keep meaning to get to it, but other things keep getting in the way.
Sorry for the late reply, but if you see this, yes. The VC/Angel culture just isn't here, and the money that is available is handled very conservatively.
Did anyone ever spend much time with Light Table? I gave it a chance when the Ruby plugin was new but missed my Sublime plugins and shortcuts too much.
A fish with arms and legs
I use Sublime, but mainly because its search features are the best I've seen in any text editor. I can grep the entire codebase I'm working with for a specific string or pattern, or limit the search to specific kinds of files or files in specific directories, and see the results listed one after another in the find tab. Click on the result I want and I'm editing that file in that spot.

I've considered trying out other editors (Emacs, Vim, etc) but I haven't seen much in the way of first-party multi-file grep like I have with Sublime.
I enjoy these http://panthema.net/2013/sound-of-sorting/
"Not flexible enough for future needs" is a large part of it. There are some slow-moving parts that need to be better executed, and some migration to better data stores for certain types of data, so touching a lot of the code is going to be happening anyway.

Concurrency as a first-class feature would allow me to actually simplify things, which is a bonus, as I am loathe to use the threading or multi-processing libraries in Python. I could rewrite parts in say, Twisted, but that's still rewriting.

This is not scratch-a-tech-itch, I assure you. I have plenty of new work to be done that will give me that. It's about taking an academic exercise and battle-hardening it and making appropriate design decisions for scale even above where we currently are.

(Squeezing more req/s out of each AWS instance isn't going to hurt our bottom line either, but that's secondary.)
So are instantaneous cycles good or bad ?

Three pounds of flax.
IntelliJ for Java-related projects.
http://vim.wikia.com/wiki/Find_in_files_within_Vim

http://seesparkbox.com/foundry/demystifying_multi_file_searc...
I'm a bit ambivalent about that feature. I do think many folks will want/expect it, and it would be useful at times. At the same time, the primary use of the app I personally wanted is to add things I wanted to remember permanently, and let the algorithms handle all of the work of scheduling optimal practice. Gonna think about this.
Well, you are discounting CUDA, which has been seen as suited for many tasks when compared to MPI. Of course, you can use MPI and CUDA together (people are working on that), which you then have messaging between nodes and shared memory (via GPU-style SIMD) within.

Of course, you are probably referring to NUMA, but people still actually use that.

Pure OO isn't very much desired in the HPC world, but then neither is pure FP.
Borg: DevOps with CoffeeScript and Node.js
Real programmers use cat: http://xkcd.com/378/.
To my fellow Vim users out there, I would like to ask why you use Vim?

For me, Vim is what my mentor was using so it's what I picked up. It's command-line oriented which is a huge win for me, and it's available everywhere (Mac includes it by default), and I haven't hit a roadblock that's been painful enough to get me to sincerely investigate other editors.

What has led you to continue using your editor of choice?
Seems like: Sublime vs Vim vs Others.

Personally I switched from Sublime3 to TextMate2, though. Never looked back.
Zapata: An Automated RSpec Test Writer
I'm a big fan of Geany, it's a polished lightweight editor with good defaults and all the settings I need to keep my code formatted how I like it. I use the Solarized Dark theme (https://github.com/codebrainz/geany-themes), works well for all languages I tried and is easy on the eyes.
In order to run multiple games, you need quite a bit of memory, either, say, a bare minimum of 32KiB to load into, or several times that in flash for them. RAM requirements aren't tiny, e.g. I'd guess more 1KiB, although I don't know this architecture (my "Infocom" experience is mostly with original Zork running on MIT-DM, a KA10 PDP-10, using a general purpose MDL language, although I only looked at code, didn't try to write any).

Does that bump the price of the required micro-controller up beyond $2?

It that a silly question in almost 2014 with Moore's Law still in effect ^_^?
Visual Studio for C#/.NET work (usually webapis)

Sublime Text for Javascript and other general text editing

Our whole team generally uses these editors, though they have to use VS, they are free to use anything other than Sublime for JS stuff - they still prefer it though

I still have Notepad++ hanging around from before I started using Sublime but will no longer feature on my next workstation builds.
And a lot are likely even less than that, from my experience.
Software is more a design activity than an engineering activity. In the construction world it would be more like architecture than civil engineering. Architecture in the sense that you do need technical knowledge but it's much more about thinking about how do we design a building for people who are engaged in certain activities. What are their needs. How does it fit in with its environment etc. Soft things. Burt difficult things nonetheless. In a way the work of the civil engineer is done for software by the language, library, OS and browser developers (and the hardware people obviously)
> Verbosity matters for reading and maintenance far more than it does for writing.

I would argue that on average verbosity improves readability. Yes it may take you slightly longer to read the code, but verbosity often results in the code conveying more information or expressing it clearer (or both).
Ant has a bad reputation? I clearly didn't get the memo - I find Ant to be a great little tool.
It's an IDE and this was about editors (or so I thought). Some the editors in the poll such as emacs can support basic IDE development (at least a debugger with watches and stepping), but I'm assuming those of us who develop in an IDE should vote for what editor we use for text editing and other general work.
The article points out in the beginning that borrowing project management practices from other disciplines is what we tried to do (which gave us The Waterfall method) and it doesn't work.

That said, I agree with the GP in that I was expecting more focus on actual software matters, like how to test the reliability of a system before it's built etc.
C# has replaced scripting languages for me. It might be faster to write a python program to do something simple, but the amount of time saved on such small things is minimal.

As soon as a project gets large, it outgrows the scripting language anyway.
I'm not trying to be rude, but I'm not going to transcribe a book or help files here. The answer is read Practical Vim. It should be required reading for any Vim user.
Maybe, but what are the examples? "Foo f = new Foo()" takes longer to read than "f = new Foo()". An anonymous class is longer than a lambda and also less readable, as Java folk have thankfully finally realized. "public static void main" does not clarify anything. Getters and setters are the bane of my Java-reading life, because 99.9% of them are the exact same autogenerated four lines, but you still have to read them all in case one of them is different.

Also, there's a huge jump in readability at the point where a method or class fits on a single screen. So if 4 lines of Java = 1 line of Brand X, but it takes me the same amount of time to read 4 lines of Java or 1 line of Brand X - that's still a win for Brand X, because it's much easier to write classes that fit on a single screen.
Many Infocom employees are present in the documentary Get Lamp:

http://youtu.be/LRhbcDzbGSU

Recommended if text games are of interest to you.
Mark Strand, 1934-2014
Another silver bullet in the making.

I don't mean to be rude but to me it's pure BS. A grand plan, a conclusion talking about paradigm shifts, and no substance at all. Seeing the method co-signed by Robert Martin even made me chuckle a little. I guess we're on for a second round.

This is clearly meant for management (again) and doesn't give a hint of a clue to what is the practice of software engineering.

Won't they ever understand (I use they on purpose as they're clearly not us) that software engineering is the process of discovering and documenting in a formal language the methods to be applied to solve a problem defined in an ambiguous natural language with the use of imprecise concepts. What we really do is assess the validity and feasibility of what an user wants, and along the way refit concepts, articulate them in a way that can actually work or formally make sense. Building software is the act of understanding how the implicit things we take for granted are actually not. This is a discovery process. This precludes precise estimates or estimates at all, which is very difficult to finally accept and live with, I concur. It has to be dealt with in most cases or in a large part like a research endeavour.

We'll have some day to take things at face value and learn to live with them.
Why Alan Kay came up with object-oriented:

I wanted to get rid of data.

I didn't understand the monster LISP idea of tangible metalanguage then
Coda.
> Disclaimer: This is my first Verilog project so might not be written all that well

Impressive.
Ubiquity, elegance and efficiency. I've been writing a series of blog posts on Vim that you may find interesting. http://danthedev.com/vim-part-1-why/
She dropped out after had enough experience and data to do the math. It seems like there are a number of people not realistically adding up their true costs.
Today, it's probably somewhat of a stretch. Twenty years ago, no, I don't think so.
Eclipse for java

Lighttable foe clojure

kate for other code and text files

mcedit in console
sam is here, but no acme?
Thanks so much for the info Eli. For those that want to attend the service, do you have a time and location available? Or should they contact you to get that? I'd like to pass it along to people who have asked on twitter.
Uh, just the other day I did a change to my init.el, which is apparently similar to what I'd have done with req-package

https://github.com/berdario/dotfiles/compare/8e98d5569a4caaf...

req-compare is cleaner, but otoh I have a different use case: the rationale for my change was to avoid errors when package installation fails (due to lack of network, for example... it might happen if I synced the init.el changes earlier without opening Emacs), while still executing all the other packages configuration/initialization steps
They might be good bridges, but they wouldn't necessarily be up to modern safety spec or tolerances, and may not take advantage of new materials.

It might actually be a good allegory after all...
I wonder, why don't they use dithering - http://www.ivank.net/blogspot/dithering/dithering.html
If you just founded the company, you probably shouldn't even think about things like accounting because at that stage only making product and selling product matter.
He said he did understand before he created Smalltalk.
> A significant amount of the article is arguing that Java for everything is better because the author and his coworkers already knows it.

Far more of the article is spent on arguments that are valid for any compiled statically-typed language. So much so that he feels the need to point out why Java [as opposed to C#, C++, D, Go] in the penultimate paragraph.
‘Star Wars’ Actor Responds to ‘Black Stormtrooper’ Comments: ‘Get Used to It’
You'd be very unlikely to with modern CPUs. They generally just throttle back to a tiny fraction of normal performance, unless the heatsink literally falls off (and maybe even then).
I used to use Vim as just another editor until I understood the importance of modes (through Drew Neil's Practical Vim[1]). He explained how the various modes allowed the programmer to, while at work, go through the same motions a master painter (a profession I deeply respect). I was sold, and now I see myself as a painter more than a programmer. Sometimes you need these stories, not extra features, to prefer a tool over several others.

[1]: https://pragprog.com/book/dnvim/practical-vim
I agree, that should be sed.
Actually, what gave us the waterfall method was an attempt to self reflect on how we built software. I can't help but see irony there.
Well, Eclipse, Netbeans, and XCode are all IDEs... soo...