skysight-inc/HackerNews huggingface dataset:
This is a fascinating quote. It seems to be a combination of either:

* Greenspun's 10th rule of programming: "Any sufficiently complicated C or Fortran program contains an ad-hoc, informally-specified, bug-ridden, slow implementation of half of CommonLisp."
http://c2.com/cgi/wiki?GreenspunsTenthRuleOfProgramming

* James Gosling quoting Guy Steele: "Lisp is a Black Hole: if you try to design something that's not Lisp, but like Lisp, you'll find that the gravitational forces on the design will suck it into the Black Hole, and it will become Lisp".
http://web.archive.org/web/20091201072950/http://blogs.sun.c...
I agree with you. It is really interesting to see that in the scripting/programming language domain there is really an ongoing movement whereas on the shell side nothing big happened and POSIX only is just incrementally changing or there are alternatives with mostly cosmetic/ergonomic changes only (e.g. fish).

I guess it has to do with the fact that the set of nix commands is the library, every shell has to support the process calling mechanism and conventions like environment variables and every shell must really provide concise syntax for files, streams, IPC, environment variables and jobs - which in "normal" programming languages is less of use.

This bugged me so much that I tried to find if there have been any alternatives for nix shells that are completely different from the POSIX shells - and the only ones that I found interesting are ES and SCSH: https://news.ycombinator.com/item?id=6979170

My preference is for ES. However there seems to not be much of community around. I would really love to see a bit of love for these projects.
If hardcore pornography and animal abuse are the targets, then how the hell are educational sites getting dragged into the fray?
Though it's mostly a matter of taste, I find pipelines simpler and more natural than method calls. Compare:

xs.filter(p).map(f)

with

filter p xs | map f

(Suppose filter and map are implemented such that they accept input either on the command line or from pipeline.)
And psh: http://gnp.github.io/psh/
Compilers have gotten better, but in comparison to a human, they are still not particularly good at the edge cases. Things like instruction selection and register allocation in particular, sometimes I wish I had the time to write my own more intelligent algorithms for them.
>So gold was used extensively 2000-3000 years ago. Exactly what was its intrinsic utility then?

Well, usually, the intrinsic utility of gold and silver was that they could be used as jewelry and/or used as instruments of worship. Most bullion money has evolved from substances considered divine.

Remember the Golden Calf?
I'm addicted to http://www.noisli.com/
If the goal is interesting conversation, I completely agree.

That said, I've actually learned to 'stick' with friends that weren't similar enough to me in interests, beliefs or conversational styles, and I believe my life is better off as a result.

There was a period in my life where I mostly had 'engaging' friendships, but I noticed that it resulted in a certain disconnectedness from the rest of the world. I would often find myself unable to engage with the 'small talk people' or those that didn't seem to have anything in common with me for other reasons. And I didn't like that.

So I started learning to engage with exactly those people, practicing ways to still have engaging conversation, but also enjoy 'inane smalltalk'. And I noticed that sometimes it was precisely these types of people that would give me 'aha' moments, often right in the middle of some inane conversation. Or perspectives I would've never considered.
> because you are making the assumption that people want strangers executing code on their machines

Except that's pretty much what happens every time you visit a website with JS enabled...
Egg Story 1
Join the Animated Eggs in their hilarious adventures. In this episode the eggs are rolling around and having some great times. Stay tuned for more videos in the egg series!
That is just insane. I still don't understand why some Japanese leaders can't seem to accept all the atrocities of the Japanese army during that period, and just, you know, move on!

Germany and its leaders have been able to do so and I would believe the majority of Japanese are pacifists but they seem worried about China's rise thanks to hyper-coverage of frictions with China in the media. All this greatly plays in favour of Abe's revisionist ambitions.

That is an appalling move from Abe's cabinet and I hope they will be stopped.
Slackware for personal use. CentOS for work.
"...the learning curve for modeling is so steep"

I agree Blender has an intimidating UI (most 3D apps do). There's been a recent campaign to improve the Blender UI that has (not surprisingly) met with mixed views from the Blender community.

In my view, Blender has the same problems with UX as many open source projects: you can't design by committee, but everyone feels they should have a say in the UX. As soon as you create a dedicated team to shape the UX, it creates so much resentment. (Ubuntu is another example of this).

Here is a Youtube video of a presentation at this years Blender Conference (Oct 2013) on improving the Blender UI. The Q&A at the end of the session is a bit depressing: the audience seem resistant to change and feel that making Blender easier to use would mean "dumbing down" the app.

https://www.youtube.com/watch?v=6aIA2LaB2Iw
Chrome DevTools Tips & Tricks by Google
Mom thought her teaching job was going away, learned programming, ended up teaching it. Sibling studied CS in college. I took a class in BASIC and was hooked. That was the early 80s.
> Even if you use nothing but white-hat and above-board SEO strategies, you're at risk of your page getting penalized or delisted

This rather suggests that what you're calling "white hat" is a slightly less white shade than you may think. After all, who exactly is defining what "above board" is here?

You're talking as though Google has some kind of responsibility to you. They don't. You are not their customer. Their customer is the searcher, and they have every right to do whatever they like with their results to give what they think is the best result for the searcher.

I'm getting pretty tired of this attitude (generally among "SEO" people) that Google is some sort of public property.
The anti-virus industry is not about viruses nor anti-viruses: it has become an industry that survives on instilling fear in normal, unknowing users.

Enough fear to buy a yearly subscription to a program that slows down your computer and causes random crashes and connectivity problems (yes, Norton, I'm looking at you).

Not being allowed to work in the fear industry should be a blessing, rather than a curse (assuming that the money isn't needed).
> Among other things, the C parser will look for curly braces, and the VB.NET parser will look for the eye soring Then keyword.

Here I would pick up the article and write this:

No matter which language I start with, the end result is always the same. So maybe I could simply write out what is important for me:

if price > 100
10
else
5

And then I realized I was coding in CoffeeScript.
My parents still do not use computers (including tablets and smartphones).
Welcome to HN.

I was referring to OPs algorithm which was bogo-bogosort.

At first I though my change would not increase the complexity, but I think it is dependent on size of input since for every recursion there is a chance to fail and start completely over, where the number of recursion is dependent on input size. Therefore it adds to complexity.
I struggled through the same thing for couple of months. Few things that helped me get back on track

1. Define your working hours and stick to it. Setup alarms and go to work at same time of the day every day.

2. Designated working place - If you are working from your home, try to setup a place in your house that you will use only for work. Don't use it for anything else. The way it worked for me was when I got to that place, I used to switch into work time mode and when I got out of it, I will switch back personal time mode.

3. Log your hours - Use something like toggl to log your hours for yourself. Track your working hours and if you are falling on the short end, you will make up for it by working on weekends. But eventually you will try logging consistently your work hours.

In the end, its matter of creating a habit.
Still it's misleading when you present it as something not important "because it's not used"! It is used. You don't give any arguments against that fact. Especially if we're serious about the crypto we shouldn't hand-wave but analyze the existing uses and take the steps to fix the issues.

Your insistence to the approach "nothing to see here move along" even after everything discovered up to now makes me wonder about your motives. Care to explain them? Almost as if there is even more that can be seen if we try to and you want to prevent that.
Finding Friends with Phone Numbers
I didn't turn off critical reasoning for this. It's still racism, by definition. Now, if we want to discuss if this racism is good or bad, then it's another subject. The definition of racism is not "bad racism", it's racism.
With C it can be more like what you want. Stop using ?: if you don't like it.

if (price > 100)
return 10;
else
return 5;

Replace with more named variables if you want.
Scala's features don't really overlap. Defining extension methods (with the new implicit class construct) is just syntactic sugar over implicit conversions.

Also, I find implicit parameters in general to be awesome. Because of implicit parameters, Scala achieves the best marriage available between OOP and FP. Scala doesn't just pretend to be FP. Scala is FP. Think of languages like Ocaml or F#, which have 2 type-systems in the same language.

Scala also doesn't side-step covariance/contravariance problems when dealing with generics, like other OOP languages do, providing the tools to deal with both. And we could agree that covariance/contravariance is a problem created by OOP subtyping, but if you've got OOP in the language, then you can't really pretend that all generic types are covariant or invariant and it's just awful to have two type systems in the same language.

> but ugly stuff that is there only for compatibility reasons can always be put into the standard library rather than the core language

That's what they are trying to do with SIP-18. Scala 2.10 emits warnings if you use implicit conversions without importing language.implicitConversions and they plan to transform those warnings into errors in future versions. Scala 2.11 went through a compiler refactoring phase, badly needed as the compiler's internals are messy, the plan being to make it more modular. Things are progressing in the right direction ... if only they got rid of the implicit conversions defined in Predef (and thus imported implicitly everywhere).
Wow, I'm glad I didn't ask for non-practical reasons. IHMO none of these make any sense whatsoever for anyone other than a minority of a minority of people. Those 20 people should go ahead and learn Sanskrit - for the rest of the world its pointless.
>When people of other demographics feel uncomfortable being there because the audience is predominantly white and predominantly male, it is effectively exclusionary even if there isn't a single word to the contrary.

Do black people feel uncomfortable being with white people? That sounds racist and segregatory. We shouldn't turn all events into equal distributions, we should instead make people feel comfortable with being with all kinds of other people.
I've been working remotely for the past 2 weeks :)

Have a separate place in your house where you work. No browsing cats there. You may try coworking space or rent an office with a friend.

There are 3 main drawback while working remotely:
- Communication (we are wired up that face to face communication is the most efficient)
- Interruptions (e.g. screaming nephew)
- Human interactions (going to lunch with someone, discussions about tech)
I'm saying I haven't heard about them. (Note, I'm talking about events where people are taught to code). I've seen some "make a game over the weekend", but they're for experienced developers. There was also an event for young children (but that's not an event where adults can learn as far as I know).
Stambovsky v. Ackley: sellers must disclose hauntedness of house to buyer
The ability to toggle quickly between modes can be useful.

I've been doing more writing of late, and find I'm switching terminal clients (from rxvt to either the GNOME or XFCE terminals) for longer edit sessions -- the ability to scale up font sizes is helpful, as is the full-screen zoom of the more recent terminals. Centering text would be icing on the cake.

Switching back to windowed mode is just an F11 key away for when I need to reference notes or style/syntax guides (mostly coding in LaTeX).
yes, the article is confused about opt-in censorship as a service (for parents, demo tablets at supermarkets etc;) vs opt-out censorship.

I gave a scathing comment last time about the ramifications of opt-out censorship, but in my examples of it working properly opt-in was singled out as being ideal.

FYI, this opt-in filter has been around a few years, I dislike that it also filters explicitly pornographic sites unless you call in (yes, I had o2, yes, I tried) but that seems to have been the norm with a few cellular phone providers (such as T-Mobile).

the thinking is probably along the lines of: "We give sim cards away for free, we don't know who will use them, internet costs very little, we should probably stop the worst stuff just in case of complaints"; contracts are instantly unblocked and the same goes for broadband (because getting a contract means you must be over 18 anyway), at that point it's the responsibility of the contract holder to filter internet for any under-age people on the line.

well, that's how it was, the way it's going is... slightly different.
I am programming Objective-C for over 10 years now. Alone and together with other people.

My co-founder is also a long-term Objective-C developer and we have different "styles" of programming. When I write code I care about style but only to a certain extend. When I edit my co-founder's source code I simply adopt to his style and that's it. No need to "formalize" anything as long as no really dumb code formatting rule is used that has real technical drawbacks like:

if(expr)
doThisOneLinerWithoutCurlyBraces();

I worry much more about the architecture, correctness and good names for things these days...

A tool like this certainly has its benefits though. Depending on how experienced your team is you want to give junior developers automated guidance.

What would be really cool though is if the formatting rules were applied by Xcode itself. Then each team member could have individual coding style settings. Before pushing to git a "company wide" rule would be applied. This has drawbacks as well: gif giff becomes less useful for sharing between co workers, debugging information is out of sync...
Samuel Hulick on User Onboarding
> 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.

I think it's the opposite, it may be differnt, but imo Unity is far ahead of OS X.
if (price == 100){ ...
it makes a large amount of difference.

see my rant here: https://news.ycombinator.com/item?id=6940833
I started working for myself from home earlier this year. Although it's great in many ways, there are several challenges.

As you have noted, the lack of an external structure is a big one. Here's what I do...

First, I map out a long-term timeline, which is generally a season (spring, summer, autumn, winter). I identify goals, objectives, events, etc., and map them out in a simple open source PM software package.

Second, each week -- usually late Friday afternoon or Saturday -- I take the broad project plan stuff and create a more detailed plan for the next week.

Finally, at the end of each day I write a very detailed list of things I am going to do the next day. This includes work stuff, but also anything else: chores, exercise, etc.

When I get up in the morning, I look at my list for that day, and tackle it. Round about 5:00 pm I review the list and make the next day's list, and at 5:30 I treat myself to a Manhattan and some good music. Then it's dinner and whatever.

I also journal my work-related stuff in iPython notebook, and I keep an accounting of my hours in an Excel spreadsheet.

All that keeps me focused.

It's also important to provide yourself some relief. When you first start working like this, you realize how much time is spent at a normal work place not really working. In a normal work place there are meetings, water cooler chats, and so on. So it's important not to think that you must be productive for eight solid hours a day, because in most work environments you aren't. I plan on some reduced amount of productive time, and factor in what I call buffer time. After, say, 90 straight minutes of work, I might take a 10 - 15 minute walk around the neighborhood just to clear my mind and get my blood flowing.

That's what works for me.

TL;DR: Make a detailed daily list of things to do, and do them. Balance the list, and reward yourself at the end of each successful day.
I made it up - in this case it doesn't matter whether the correct figure is 3% or 0.3% or 30%.
Pardon the honesty, but this too academic, and not tasked based, for a 'rest of us' style.

Further reading: OK, this is an X developer's guide. You should call it that. It will help developers find it and stop the average Joe who wants to run a remote app on his local display from trying to use the wrong guide.
Show HN: Twebble, a full-featured Twitter client for Pebble [SDK2]
Valve: handbook for new employees
We're obviously coming from different backgrounds here - do you work at Google or similar ?

'Downright cheap' is a Heroku instance or two. 'Affordable' is 20 or so servers with a few TB of drive space each in a cluster with a few backups. Petabytes of data needs a huge number of servers and dedicated personal to look after - I don't know how that can be regarded as 'downright cheap'.

If you're in a position to handle petabytes of data you're probably going to roll your own data center with custom software ala Google's bigtable. This definitely isn't the market that these little startups are targeting as far as I can see. The OPs critique is very well founded.
My both mother and father developed software running on IBM mainframes for large USSR enterprises. It's interesting that USSR could not purchase mainframes legally so USSR worked around this restriction and finally was able to buy software with the help of KGB agents in Romania who introduced themselves to IBM sales as Romanian citizens. You can read more about it here [1]
After crash of soviet economy my parents became unemployed and never worked as programmers again. My father teached me some C in TurboC IDE. Currently I am full stack web dev.
[1] http://www.csd.uwo.ca/~magi/personal/humour/Computer_Folklor...
Just love what you do, then you could experience what they call "flow" and, indeed, will need some self-discipline to remember to eat and sleep and exercise.) Self-control is mostly for struggling with boredom or fatigue.
"Hooked: How to Build Habit-Forming Products" is free for the next 3 days
I'll have to give this a look sometime (though I'll likely hold out until they have it stable on Nexus 7).

Adding a 540MB swap file is pretty crazy though. I'd rather not have stuff swapping to the (relatively slow and serialized) eMMC flash.

They could probably look into having the recovery partition kexec their kernel to chain-load it, rather than replace it entirely. The kernel source is readily available, as are init and the recovery/updater userspace tools.

I still think the holy grail here is to just run a stock "classic" Linux userland under Android -- park it in a container, do an X11/Mir/Wayland/whatever port against the SurfaceFlinger, and make Linux native apps first class citizens running alongside everything else. No need for dual-booting or other awkward shuffling about. It'd take some work, but it's entirely doable.
"...so unless an application requires the performance benefits provided, it is probably still a better bet to use standard locking mechanisms."

Or simply use battle-hardened APIs which are known to be fast and correct and which, themselves, have been implemented by using lock-free algorithms?

For example if I'm not mistaken throughout time the Java concurrency APIs did evolve to use more and more facilities using lock-free CAS operations under the hood.

You can also use 3rd party APIs, like the incredibly fast LMAX disruptor pattern (which also makes great use of CAS operations IIRC).

All this without being forced to come up yourself with the low-level stuff.

Then you can also use a recent language where concurrency has been built in from day 1: like Clojure which is pretty much deadlock free because it doesn't even give you access to locks.

I guess my point is: you don't have to implement yourself these advanced techniques to greatly benefit from them.
Rust is pre-alpha; it's as green as it can be, and it is first and foremost (for the moment) a PL research project. You should not be using it in production, or expecting things to not break between releases.

That said, breaking changes are becoming less and less common. The language syntax has been mostly stabilized and most changes are going into corner cases and managing modularity, and much of the possible experimentation has been fenced to the post-1.0 release.
http://www.youtube.com/watch?v=_ahvzDzKdB0

This video is relevant. Amazing talk.
Call the police and probably record the call :-)
1) Hmm. Do you claim that old books can teach you nothing unique? It would be sad. Of course, you can read some modern books about Plato, not read Plato at all and learn the same, but... These books were created in different times, I don't believe that any moral treatise could replace it. They're much more unique than any modern book.

2) What is the source of atheist ethics? Humean "Is–ought problem" AFAIK has not been plausibly resolved. I believe that Christians would agree with all the rules, maybe with some restrictions like: Think for yourself but don't think than you're smarter than other (especially God ;); Understand anything if it doesn't violate other laws.
Possibly doesn't want to
I agree.

The point of a programming language is making complex stuff readable. One can certainly hand-assemble and write software as a series of byte values and I have done so in the past because of necessity. It's very boring and difficult.

In this respect, I don't find Lisp readable or intuitive at all, but that's just me, I'm probably not smart enough:-)
Yes, "this opt-in filter has been around a few years" -- since 2008 -- and it's not even specifically British. It was announced by TELEFÓNICA and covers "O2 businesses in the United Kingdom, Ireland, Germany and the Czech Republic".

http://pressoffice.telefonica.com/documentos/nprensa/PR0808_...
But it is so annoying to filter out all that branding, marketing slogans and self praise.)
I switched to Xubuntu from Ubuntu, as well. Although it being catered to lower-end systems than Ubuntu is what drew me in, I've been most happy with its customisability, the highlight of which is panel (i.e. taskbar) control. Its depth goes so far for something I installed just because I wanted something light.