skysight-inc/HackerNews huggingface dataset:
In 2014, I want to setup an experimental Openstack based cloud, blog about my experiences with it, and possibly setup a training, consulting and development services around Openstack.
The only thing that gives bitcoin value is the proof of work. It is what solves the distributed, trust-free consensus problem. It is a solution that should not exist to a problem that just a few years ago smart people assumed to be unsolvable. Asking "why is mining useless?" betrays a certain ignorance in the utility of proof of work. I suggest doing some more research into it.

In particular a proof-of-work function needs to be self-validating, it needs to be universally available, it needs to be progress-free, it needs to represent economic cost, and surprisingly it needs to be intrinsically worthless. If these conditions are violated, it fails to be useful as a consensus mechanism.

Hash-based proof-of-work is extremely useful. It gives economic assurance about the cost of disrupting consensus.
The key here is in my opinion "proof of work", cryptohashes can be verified easily by anybody reading the blockchain as proofs of work. Find any task that has this feature and you'll be on your way of creating a new mining strategy.
Back in HS, we did stupid shit like write joke DOS TSR virii that had easter eggs like calculators, ASCII tables and random text "screen savers" that didn't respect what you happened to be doing.
So? That's not solved by a bitcoin voting system either.
For computer architecture readings, I'd start here:
http://www.amazon.com/Readings-Computer-Architecture-Morgan-...

Then follow up with the excellent series here:
http://www.morganclaypool.com/toc/cac/1/1
Based on that, he's not exactly an unbiased source...
UC Davis is pro portable *nix (usually C code) instead of any particular bias(es). I wished the ugrad OS course used plan 9 instead of minix though.
> Oracle's documentation is excellent and is WAY more comprehensive than PostgreSQL.

I'd generally agree that Oracle's documentation is more extensive than PostgreSQL's in many respects, but Oracle's is also substantially less well organized than PostgreSQL's.
Role of a Product Manager
pg wrote about this years ago.

>If you understand how compilers work, what's really going on is not so much that Lisp has a strange syntax as that Lisp has no syntax. You write programs in the parse trees that get generated within the compiler when other languages are parsed.

source: http://www.paulgraham.com/avg.html
As a 7 years Ubuntu user, recent releases has been a turn down for me (Desktop releases are letting me down, servers are keeping their quality so far).

The decisions, choices and the fact I need to work hard to tweak the system to get it into a sane level of satisfaction is disappointing.

Hence, when Canonical announces devices releases, I wonder if it is not more of the same?

I still don't have a desktop replacement, but would be happy to find one and try it on.

What happened to do one thing well principle?

Linux deserves an UI shell that will be head to head with OSx. And it seems lie since the unity fork, we are just going far off-the-track - and OSx wins.
So that all those assholes born on third base who think they hit triples will stop looking down on and discriminating against those who weren't.
It is also mistyped in the quoted link on the github's readme page at https://github.com/amix/vim-zenroom, which has another letter inversion:

Pelase read more here zenroom for Vim: Focsuing only on the essential.

I suspect dyslexia is at work here, not simply a typo... :)
Actually, TempleOS has a really neat command-line / shell.

The command line feeds directly into the C compiler. The C compiler can JIT, and the "HolyC"[1] language has modifications which make it much nicer for command-line use.

The author added default args to C, and parentheses are optional on functions with no arguments (or all default) so:

Dir; is shorthand for Dir("*.*", FALSE);

Even cooler, it's possible to go in and edit the Dir command on the fly; since it's JITed, your changes will be there the next time you run it.

[1] OK, the name is quirky but most of the changes from C have sound reasons.
Disagree. I prefer Unity to both OSX's DE and any other Linux DE (though Gnome shell is up there too). Also, seems Linux is more mainstream than ever - I see it popping up everywhere...
Now show the same tree for a ruby block, a Java inner class, a C# lambda and how they're all the same.

Except they're not.

Only the simplest ASTs are directly translatable. Language semantics differ wildly when you get into higher level constructs. Not even Lisp is able to help you, as that just changes the problem from one of syntactic representation into one of library implementation.
More reading: https://www.fas.org/sgp/othergov/invention/program.html
Slackware on my laptop.

Slackware on my desktop.

Slackware on my servers.

(Mint on GF's lappy).
Agreed I'd normally be excited for this to see Linux directly on another platform but Canonical hasn't been doing great work recently.

I'm much more excited to see Valve's contribution via steambox which is based off of Debian. Debian looks a lot more attractive these days as a desktop OS than Ubuntu.
Well, you could edit machine code directly, or do the next best thing and write in assembler:

cmp eax, 100
jle LESSTHAN
mv 10, edx
ret
LESSTHAN:
mv 5, edx
ret

I doubt that's what the author had in mind, though.
Posting unconventional views is ok in HN, in fact it is the only place I know where it is possible. My unconventional view is that sport is bad for health. If you count all the injuries, the health issues, etc that can be attributed to sport... The problem is that most people mistake sport for exercise， which is good. E.g. walking or cycling at normal speed for the commute is good, lifting weight or running like crazy is bad.

As so many people suggested books related to fitness, I suppose this unconventional view has its place here.
I'm surprised the author didn't write a shorter C example:

return price > 100 ? 10 : 5;
Definitely! (Unfortunately, that goes for everything you mentioned, including the long-winded parts.)
This article is an equivalent of a Cosmo article for developers.
The real question here is "do I need syntax?", or, more precisely, "do I really need a [complex] grammar?" Any given Lisp is still a programming language--it has some syntax and it has semantics. But it does have a much simpler grammar than any language (save Forth).

The grammars exist because programs are made to be read by people, not just computers. A more heterogeneous notation can make for more concise code that's easier to scan and easier to read.

Of course, this is not to say that Lisp is unreadable. I actually rather like reading and writing (paredit is awesome) Lisp code. But, after quite a bit of Racket, I've found that I still heavily prefer having infix operators and a bit more syntax. At the same time, I also often want less noise--ie no parentheses. I want all this so that I can quickly scan and comfortably read my code. That's why we need grammars.
I think it's awesome that Google busts as many blackhats as they can. I don't want blackhat seo to be what I need to engage in in order to be successful. I'm reckon I'm better at creating value than I am at link building, so it suits me.

That said, Google are not doing a very comprehensive job of busting blackhats. Even some of the cases that an algorithm should be able to easily detect are not being punished in the same way that RapGenius was. This essentially leaves everyone in an awkward situation. You can't compete using whitehat methods because your competitors are using blackhat methods and Google is turning a blind eye. You end up with two options; (a) lower your standards and start using blackhat methods, or (b) hope that Google will eventually punish your dodgy competitors and buy traffic from Google in the interim.
Actually LLVM assembly might be a better choice these days.
Anyone knows if something similar exists for Java/Eclipse?
I laughed at that last bit, too. "All the people at the car dealership just keep talking about cars. Same thing in the nursery—it's all 'flower' this and 'planter' that. And don't even get me started on that sex shop!"
The year ahead: ten amazing science and technology innovations coming up in 2014
pfsense is as close as it gets
[Riddle] Which is more probable?
I didn't realize that Haskell supported M:N threading in IO contexts. In that case, I don't have an answer to the original question.
For the uninitiated: https://www.youtube.com/watch?v=8gpjk_MaCGM
My uncle was one of the programmers on the Cat project, he still has a working production unit. The Cat is a handsome little machine. There's something elegant about its lack of silos: all of your (textual) data is in one space that you leap around with the aid of dedicated search forwards/backwards keys, reprogramming or extending the system itself is likewise a keystroke away. It obviously wasn't a commercial success, but the user was indisputably the boss of the thing.
For simple business rules and logic, I found it useful to just use a table or mini-spreadsheet to represent them. It has strict structure and it's simple to understand and fill in. Business users love them.
This is why everyone should study compilers and machine architecture in college.

Anyway, it's interesting that he chose to label what he ended up with as "Lisp". I would've stopped at assembly, eg. in LLVM IR:

%result = icmp gt i8 %price, 100
br i1 %result, label %Discount1, label %Discount2
Discount1:
ret i8 10
Discount2:
ret i8 5

The key idea here is that underneath everything you tell the computer to do is boolean logic and transistor circuits. Yes, even Lisp S-exprs; it's not really correct to say "Lisp has no syntax", it has a very simple syntax that is trivially parseable. Even LLVM assembly is a translation layer, as is LLVM itself; underneath it on my computer is an i86 processor, and underneath it in my phone is an ARM-architecture Snapdragon.

Once you understand that, you realize that all of these languages and frameworks and libraries and databases are just tools, and they exist for your convenience. They're there to let computers handle things that humans are really bad at. For example, memorizing memory layouts really sucks; let a computer map out your structs onto memory. Managing heap memory really sucks; let a garbage collector do it. Managing register allocation really sucks; let a compiler do it. Managing syntax kind of sucks; let a parser slap something more friendly on top of it, or don't and use Lisp. Managing vtables kind of sucks; let C++ or Java hide it behind a class, or don't and continue to use C.

Once you've gotten into this mindset, you're free from the religious wars that surround technologies, because you realize it's all just tools that compile down to machine code at the end. And you understand when a tool might be useful, and when you could just as easily implement it yourself, and when it once was useful but has since ceased to be.
fourofour is not as semantic as notFound, or not_found xD ..

idk. this mixes up routing and api building, right? What people currently use most to build their api (mostly afterwards) is: http://docs.guzzlephp.org/en/latest/

btw. here's a nice and new php framework I've just recently found:
http://www.cygniteframework.com/2013/07/quickstart.html
What advantages does this have (other than the changing keyboard button icons) over running haskell in MobileTerminal with an actual vim/emacs/nano/whatever I want to use? Why should I pay $3 for this if I can do it for free already?
Can we just decide not to feed these guys any more attention?

Rap Genius has always hung a lot of attitude on a really thin thread. Their product is not special or defensible. Their main claim to fame has to do with their winning a sizable investment and acting like jackasses in public.

Are they delivering anything of value that couldn't be better done on a wiki? No.

As near as I can tell, their main talent is hype; but hype without a product is like discount fireworks; a lot of noise and banging on, but all you're left with is a mess that someone has to clean up.
Is there a way to pre-download everything downloaded by the Dual boot installer app? My connection is too unreliable for a large direct-app download like this to ever work.
I'm working on a toy programming language at the moment, and I was considering using a LISP dialect of some sort as the IR to be compiled down to. Is this a dumb idea? I had the same sort of epiphany that the OP had, but then I think LLVM IR is a better choice. The only reason I like the LISP-as-IR idea, is that if a programmer wants to get deep and optimise, the tooling can work with lisp instead, which allows for some neat tricks I have in mind.
Are you arguing for mass appeal or out of your own interest? If the latter, you can opt out of unity and just use something like i3 which I find I am very productive with.
Unity's dock is one of the most pathetic UI failures I've seen recently, and they don't seem to be wanting to fix that, because they're intent on having a desktop experience that is inferior to Windows 8, much less OS X. Desktops are not tablets are not phones. They each deserve to have GUIs that fit their strengths.
Well, Eclipse has some quite elaborate Java formatting options built in.
We've been working on a programming language that is based on composition. This basically leads to a hybrid data structure (not necessarily tree-structured).

Here is an example (write out 1 2 4 8 16 32 on different lines):

Application (
using Library ( name "Vision.Console" )
action ForEach (
items 1 2 4 8 16 32
action WriteLine ( text CurrentItem () )
)
)

Parts are upper case and properties are lower case.
Each Part is a class 1 contained within a given framework.
I favor Arch on the desktop/laptop and Debian on the servers.
I can see what you mean and I think you have a couple of valid points there. Developers tend to think that anything aged more than 5 years is automatically "legacy", and thus very bad. They rewrite things from scratch with the next fancy-tech-du-jour, just to make the exact same mistakes again.

I've worked on a medium-sized 12-year-old "legacy" E-Banking system and it was just awesome to learn how the "old masters" had been coding so many years ago.

Nonetheless, JDBC is a low-level standard, JPA a high-level one. Both with their merits. However, there is room for a solution in between

> When I read the title, I thought maybe someone had nailed it.

If that's what you're after, then do have a look at jOOQ: http://www.jooq.org
The point is that when your attacker has the skill to overwrite your web server's memory to carry out an attack. You never had a chance.
I once used http://fatfreeframework.com/home in a mozilla hackathon; was quite easy to get going.
Why do I like people like me?
Shells are what people use every day, so it's tempting to make more out of it. grep, sed and awk are clumsy tools, but they are more "within the reach" than python or ruby.

Also, you miss one particularly elegant aspect of shell programming: the pipeline. It's a powerful facility of concatenative programming, but most people haven't realize it. Try to write "find . -name '*.py' | xargs cat | wc -l" in other languages. You end up either with some parentheses or intermediate variables or a loop, and in any case, much longer code.
Once you've gotten into this mindset, you're free from the religious wars that surround technologies

That seems all fine and well, but you're ignoring the elephant in the room: compatibility. You aren't free to choose your tools as you please if compatibility is one of your requirements. This little bit of impurity combines with network effects to create big problems. Compatibility along with all its attendant problems is the single most valid reason for engaging in a religious war over technology.
Thanks. And it will stay that way. Unlike many competitor products, there are no plans to support / unify any NoSQL, LDAP, or other data stores. If they don't implement the SQL language first, they won't be integrated.
I must be wired differently. I can get a for loop right the first time I write it in C, JavaScript, php, specially python, even if I do not use them daily. I think I never got a for loop right in bash. And ifs are always weird too. And letting a bracket be any thing is horrific, like if we were to use p as the full stop sign in English, and ( would be the name of a country: no thanks, remember brainfuck is a joke.
KORN
Nice way to discover the if special form. Now its time for short-circuiting.)
an even better solution is http://cumulusnetworks.com/ but it's not in php. wouldn't make sense in php anyway.
Ionic HTML5 Mobile Framework Alpha Preview
Poll: Was one of your parents a programmer?
I first learned to program from my father when I was about 5 years old, so it's hard for me to imagine learning to program without someone nearby to answer all the incidental questions we have when we are first learning.

I am wondering if most people here had a parent or another immediate family member who introduced them to programming. If not, how did you get started?
One of my parents was a programmer.
Another close family member was a programmer.
Someone else, not a family member, became a mentor at an early age.
No one person mentored me as I learned to program.
> I was watching some anime last night where the characters were trying to make a computer game for some contest. They finished it, but it was too buggy to play through to the end without crashing (or causing the computer to restart, not sure how they managed that one), and they decided it would be impossible to fix them all because the game takes five hours to play through all the way.

I don't disagree that tests (especially fuzz tests) are essential, but this is a problem with dynamic and unsafe (unrestricted side-effects) languages, not languages in general. You're very unlikely to write a program in a language like Haskell, have the program compile, and then not work as expected.
It's as if lisp was originally designed to be an intermediate language for computer generated parse trees....and not a language for people to read.
It's usually known as ksh, isn't it?
Yes, I agree, that is one way to solve this problem. Another would be to check if the column name matches

[A-Za-z_][A-Za-z_0-9]*

If not, then quote. Another reason to quote things is the madness around various SQL dialect's understanding of case-insensitivity. When quoted, case-sensitivity is enforced.
"Textbooks would also be required to state that there is still a dispute about whether the Japanese Army played a direct role in forcing so-called comfort women from Korea and elsewhere to provide sex to its soldiers."

This is insane.
The Big Word Project - Viral marketing campaign to redefine the dictionary
At least it's not suggesting you poke your pair programming partner with a fork to increase... productivity.
Fascinating. To play the devil's advocate, would you agree that sometimes a new mode's optimization for the task can outweigh its cognitive overload? If you try to shoehorn too many disparate tasks into the same interface, usability can suffer.
Are they delivering anything of value that couldn't be better done on a wiki? No.

It seems many start-up ideas have defaulted to this. Take something people would do for free and try to exploit this behaviour. It's an unfortunate trend. Although, if you believe that premise...sunlight is the best dis-infectant. Worth considering, at least.
Yeah UNIX philosophy rocks! It's weird that they want a system shell and it not be POSIX. I don't need support for index arrays in a system shell interpreter.

Even erlang can be a shell and wrap around the system toolset making your basic shell scripts work concurrently.

For everyday usage the core ash shell is perfect for scripting and zsh csh or korn for interactive usage.
I answered around 30 of the questions along with the majority. I only disagree with around 2 conventions. When the concensus was split 45 / 55, I tended to be on the 45% side.

I use 2 Xcode Plugins right now: XcodeColors and XAlign.

This could be my third. However, it goes against some XAlign features.

Free app code / $.99 cent sale?
That's one philosophy. Your code exists to be run by your computer.

Personally, I take a different one: the computer exists to run my code. LLVM, x86, ARM... all just implementation details. Sometimes they're unavoidable, but c'est la vie.

Ultimately, what I care about is semantics. I care about what my program means--the logic it represents. After all, that's the whole point, the end goal. The fact that it's running on a physical computer is just a detail, albeit an important one.

A programming language is more about shaping my thoughts and forming my logic than actually running. Choosing a programming language is incredibly important--it affects what I can say, how I can say it and even how I think. And that's the most important part.
What do you mean by getting it to a sane level of satisfaction?
This is so, but why are our language A <-> language B translation tools so bad, that people end up having to manually convert code from one language to another (e.g. if some code exists in language A, but you need its functionality in language B)?
It means you need a $300/hr consultant :)
Bottle and Flask are python microframework, I just wonder if Klein's name is a reference to them.
i3 is truly incredible; wrap the Gnome monstrosity under the covers and have nothing but tiling WM goodness left over.

i3 = huge win
Jitsi - Open Source Secure Video Calls and Chat
It makes torrent seeders go all-in, perhaps?
It is sadly true. There is cruft accumulating on the OS. Of course with Sandboxie and the likes it is becoming easier to keep your windows install in mint fresh condition.

The problem with Windows is usually third party crapware that people always install. Or comes preinstalled by the vendor. If you keep that in check you could last a long time before doing a re install. But most non tech savy users ... have trouble with that. Malware is getting more and more sophisticated in its ability to trick person to install it.
“Don’t Move to Vancouver”: Why I Changed My Mind After 6 Months
> Desktops are not tablets are not phones. They each deserve to have GUIs that fit their strengths.

So what tablet features are there? A plethora of keyboard shortcuts? How about the search-able Dash and HUD, both accessed with a few key strokes?

Dunno about you, but these are huge wins on the desktop for me.
I lived here for 19 years and she hits every point perfectly. What the fuck am I still doing here?
Mac:

Minecraft - Been playing for years now, haven't played too much recently.

Starbound - Stopped playing Minecraft to play this and Terraria (practically a side-scrolling form of Minecraft)

League of Legends - Just started playing this a few days ago, it's addicting and the games take a lot longer than I'm used to.

Monaco - Lots of fun.

Castle Crashers - Great game I used to play in my Xbox 360 days.

PC:

Terraria - Stopped playing Minecraft for this. Probably prefer this one in fact.

3DS:

Pokemon X/Y - First time playing since Crystal version (second generation). Great return to the series, but everything is so much more advanced and complicated now.
Given how often Bitcoin is advertised, by its genuine proponents, specifically as a currency, this feels like an attempt to move the goalposts when someone points out that it doesn't do so hot at being a currency.
This is very interesting, someone should create an IDE that automatically does this.
Well, that's the price to be paid for security. Without key sharing and verification, you can't be sure who you're connected to.
You're wrong on ideology. Ideology may function through you despite what label you may attach yourself, or what beliefs you may hold of your beliefs.

(had to sign in just for this comment. damn)
how about caching as a separate composer requirement, or do you think caching should be in a higher level in the stack?