skysight-inc/HackerNews huggingface dataset:
Not really -- pigs are really useful for cultivating land. You pen them in an area and they turn over the soil when they go "rooting" (foraging for roots and bugs).

Historically, pigs are a recycling engine as well. You set them loose on garbage pile and they eat all sorts of stuff, producing rich fertilizer in return.

This stuff all originates from the ancient Egyptian practices, and the reasoning for the taboos aren't precisely known. I always thought they had more to do with the people who kept the pigs -- who were (and still are today in Egypt) non-Muslim/Jews who are associated with garbage.
‘It’s not beginning to look a lot like Christmas.
What the hell? You can't encrypt filenames. I don't know where the hell you got the idea that you can.
While we are on the subject, I find that this answer provides with much better arguments - http://stackoverflow.com/a/431341

It's an interesting read - he begins with "The problem is that it is not as good as it is made out to be, in other words it suffers from a degree of hype. I'll try to argue this point."
CRIME : New SSL/TLS attack for Hijacking HTTPS Sessions
Not the one you replied to, but one thing that hits me as awkward is the default static behavior of variables.

something like

class Foo:
bar = 1

means that bar is now a static class member (static in Java's sense). It needs to be assigned to "1" explicitly in __init__ as far as I understand. That's just unintuitive and leads to lots of boilerplate, just so that you don't need specifiers like 'static'. Sometimes the fear of verbosity gets in the way of intuitiveness.
The Red language[1] was created exactly for the reason that REBOL was never open-source.

Red looks like it's still in active development, and "heavily inspired by REBOL."

[1]http://www.red-lang.org/
"Well, even ugliness can be corrected with plastic surgery, so there's no excuse for that."
I really like it's OO, it's regular and explicit. _ conventions are flexible for rapid development yet interfaces can still be hardened if required. You can do all sorts of stuff with decorators and Meta classes that you might do in macros in other languages but these are much more readable and predictable. The package system is simple and effective.
Have you seen encFS?

Filenames readable in cleartext is a security issue. This means whoever has access to your files knows you have accounts on certain websites they are looking for.
For what python has been created for, there are really few if any drawbacks. This is still my go to language.

Something I wish python had a better support would be truly anonymous function I.e. you can't do:

lambda x: raise "foo"

It's also very hard to write nested callback (Some pythonists like to argue that is actually a good thing).

Lastly, I wish the functional paradigm part of python was more consistent.

But all in all, I love python and I find it very hard to switch to something new without missing it.
Actually, as a student in Germany, most of people I know don't have or want a credit card (which is a major annoyance with Google Checkout, since they accept _only_ credit card payment). That's - depending on your product of course - not that small a market. I would argue that this is the case in other countries, too.
Yes, did this already :) thanks for making these articles!
If Carl had the presence of mind back in 1998 and open sourced enough of the Rebol eco system to be useful for web platform development, then /index.r rather than /index.php might have been one of the most popular default documents in the world.

As an aside, you can tell how interested (or not) Carl is in the future of Rebol by the fact that he's clearly not reading and responding to comments in that blog post. Otherwise he'd have cleaned up the spam comments that have been posted there days ago.
Interview With Billionaire Frank Giustra
The Siege of Academia
4 geeky laws that rule our world
Adds to the list of things I won't miss about California.
Inside MIT
I know it is educational and it does not matter in presence of dissipation, but it would be nice to mention that Euler method is not only an approximation but also terribly inaccurate one. It won't produce any stable oscillations or orbits for instance.
If the hyperloop has some flight capabilities it could lift off from the tube(at supersonic speeds it would be easy), then deploy parachutes at a safe altitude, or ignite some rockets (like the scape system of the dragon capsule), or use some kind of electromagnetic braking (maybe the most probable).
I am really looking forward for the day he makes it public!.
Sci-fi has trained us to expect all the things you mention so when they arrive we probably won't feel that anything much has changed.
It shows the capabilities of creating resolution-independent imagery using CSS. In other words, you can generate non-photographic imagery using CSS that will display with clarity regardless of the DPI of the device it's being viewed on. Got a Retina MBP? It'll look good. Got a non-retina iPad? It'll look good.

It's really powerful stuff, and the trend of user-interfaces is rapidly shifting away from image-heavy UI's to CSS-based UIs which typically download faster, and can be updated in-code without needing to re-slice up a PSD file to accomodate the desired changes.
Good article. It has been previously submitted a few times before.

http://news.ycombinator.com/item?id=4441921

http://news.ycombinator.com/item?id=4444390

http://news.ycombinator.com/item?id=4444812

(there are comments on the last one)

The other three submissions had the word "Academe" from the original article title.
Ask HN: What are your best 'cooking for hackers' links, books and tips?
My friend who is a hacker of sorts pinged me for help and all my resources list is gone or I can't find it right now (I'm in a hurry to go out). Can HNers help? :)
I actually mentioned that in a comment lower on this page. I will be talking about ODE solvers a couple of articles from now. The Euler method isn't acceptable for actual simulation but it's the easiest to understand and it gets the job done for now!
Daily trends for social coding
I always found it weird that they use len([1,2,3]) rather than [1,2,3].len

(no, I don't want to call [0,1,3].__len__() . Why would I want to add all of those underscores.)
Weixin (aka WeChat): Tencent QQ's voice messaging network with 10e7+ users
Pretty sure you could pull it off using a blended set of CSS linear gradients. Some of the organic swirls you see in wood might be considerably more-difficult to replicate, but you could simulate those to a degree by using sequences of small straight shapes ordered to form a shape that's curved in appearance.
You could store the password files in an encFS mount
Great comment.

And now the only rational question is, "how do you reverse it?"
The Last of Us - 15 min of gameplay footage
How Restaurants Are Changing the Dining Experience Using Technology
Hunie: connects designers with startups
I have seen two predominant forms of risks factored in by the larger incumbents waiting to be disrupted. One is, like the author puts it, the risk due to breakage. Be very mindful of this risk and insure against it if possible or change something to avoid/lower the risk (sorry, we don't wash Luxury cars).

The other risk factor is pure CYA. Nobody wants to prepare a costing worksheet for a customer quote where your cost is too low because you didn't factor in the various overheads. Only after the annual financial statements are made will you find out if you lost money on the product or not. Do you want to be the guy who buys at $10 and sells for $20 only to find out before bonus-time that overhead was $90 per unit? So you factor in the cost of capital, inventory hold charges, shipping delays, warehouse pallet transfer cost, foreign exchange currency buffer, and tons of other charges. This makes it appear that your cost is high and so it is only natural to charge more for the product. Boeing isn't going to sell an Arduino + LED light for $100. It will be $500 because of risk of breakage and be $5000 by the time all the CYA risks have been tacked on by six levels of middle-managers.

The wonderful thing about CYA risk factors is that they help justify your high prices and if you are able to be lean, they give you a terrific margin. THIS is what you want to disrupt. You can charge less than the incumbents because they are playing it way too safe as nobody wants to lose their neck for selling a product at a loss. But don't charge so low that risk of breakage ends your business. The good thing is that the risk of breakage is not as large as the CYA risks in most every costing sheet that I have seen. YMMV depending on the industry/product.
What's even worse IMO is the lack of a proper built-in 'super'. The self parameters at least serve the purpose of deciding whether a function is a class function or object function.

So yeah, I agree, python's OOP is kind of awkward. I love the ease of composition though, something I use extensively even in other languages since I know python.
All the password management is handled by gpg-agent, which can be set to time-out your credentials after X seconds, on screen lock, when a bluetooth device moves out of proximity, or when it senses a disturbance in the force, as if millions of Macintosh users suddenly cried out in terror, and were suddenly silenced.

Gpg-agent is super awesome and flexible. Google it -- you'll dig it.
Misses the point.
Cool. You can put pass's password-store in Dropbox too!
True. Autosyncers work with pass just as well. DropBox to your heart's content!
^ this ^
never understood why certain methods (or are they functions?) are not called on the objects. This is one of the reasons I love Ruby, everything is clearly an object.
The scripting languages are all really more alike than different.

The main downside of Python compared to, Ruby, for example, is that Guido made some serious mistakes in the initial design and in the process of fixing them added a lot of extra complexity to the language. Python doesn't cleanly "fit in the head" the way Ruby or JavaScript do, at least for me.

But instead of wasting time micro-optimizing in such a narrow language space, pick Python or Ruby or whatever and spend your extra cycles on something different enough to be worthwhile like Go or Haskell.
Yea so... I could make a nice fancy app, which I could do super quick because the design of pass is so simple. But instead I just use the terminal. Full clipboard support and everything with it. By the way, I'm using an N950.
> But if you work for Tesla, the minimum is really a 50-hour week and there are times when it'll be 60- to 80-hour weeks.

And we recently saw statistics here on HN proving that working more than 40 hours/week for long durations is counter-productive. Alas, I'm sorry to see Elon Musk falling for this "tough men work hard" nonsense.
My pleasure! Glad you dig.
The GIL does not make threads less evil than you apparently already find them, it just makes them a lot less useful.

Threads in Python still have all the pitfalls and complications they have in other languages, it's just that they cannot use multiple cores or hardware threads. So you get all the evil bits (race conditions, deadlocks, having to protect access to shared state, etc), but you miss out on all the performance benefits threads can have on parallel hardware.

In Python, threads are only useful as an abstraction of things that have to run concurrently, even though they never do.
Need come feedback. guys. Thanks!
If someone had a contact, I don't think could give it to you based on what you've said. If you want to be secretive, you'll have a hard time getting what you want (an intro). The idea may be great, but if I had a contact, I would be able to risk giving it to you without some more info.
That thread is depressing - most of the things people are complaining about are conscious design decisions made by the python team. EG Complaining about self - explicit is better than implicit is a core property of python. I feel like `import this` would answer a lot of these.
Fuduntu: Volunteers Needed
Usernames are not secrets. If you're taking tons of considerations for encrypting your usernames, your security model is just plain wrong, and you will be strongly disappointed when you survey the rest of the landscape (web browsers, email clients, web sites, keychains...). There's another HN post about this on a different thread. Alternatively, don't put sensitive data in the file name component.
> It needs to be assigned to "1" explicitly in __init__ as far as I understand.

I don't think so. You do have to assign anything to it if you want to use it as a 'static' (actually 'class' attribute). You can access bar from Foo, as in Foo.bar or from an instance of Foo as in foo=Foo(); foo.bar.

What probably is confusing to you is if you assign a value bar in an instance then that gets assigned to the instance not the class. That is if you do foo.bar=100 then now foo instance has an object attribute called bar=100 that overrides Foo.bar=1. But Foo.bar still stays at 1.
I'm writing an ML in JS series and I was excited to see another person talking about neural networks in Javascript (an upcoming post of mine). I was a little disappointed to see that the article doesn't talk about the actual neural net!

But still the message is clear: Javascript can do some damned cool things.
> - Debugging is a little behind other languages (pdb works)

So do the numerous extensions/replacements for pdb, or the multiple graphical debuggers (e.g. PyCharm's, PyDev's, PuDB, WinPDB, Kodomo IDE's, Wing's, ...). Python doesn't have a time-traveling debugger à la OCaml, but that's about it as far as I can tell.

> removal of map/filter in place of list comprehensions (they are certainly better but not faster)

What are you talking about exactly? Because I find two possible interpretations of that phrase, and neither comes close to being correct.
If anyone has the motivation to port this to Windows-anything, I will laugh, cringe, and then give you a nice pat on the back.

That said, the design is pretty simple. There are gpg text files in folders. Decrypt them to reveal passwords, encrypt them to add passwords.
I also think the python 3 transition came at a bad time. There are a lot more strong alternatives to python now than there were when the transition was planned so putting up with the hassles of migration is enough for some people to consider how green the grass might be in another field.

Guido always said he could only afford to break python once but it's not clear to me he'll even get away with once.
I'd still recommend using gpg so you get the nice time-out features of gpg-agent, but otherwise, if you still don't want to use it, sure, it's trivial.

Change calls to "gpg" to "cat" in the source code. It's less than 300 lines of simple shell script. Poke around and it shouldn't take more than 2 minutes to alter.
Another response from a different source. Having to include self as a method argument means that those are not methods, but static functions. This really means there isn't precisely methods at all and the whole OOP part of python appears hacked together. That part seriously turned me off when I encountered it.

If there is a valid reason for this, it would go a long way in explaining away one of the major reasons I dislike python.

Edit:
Appears to be a bug and I cannot respond to your post 'masklinn'. Can you rework the example to include the result as 42 being an instance variable instead? Thanks.
> ^ this ^ never understood why certain methods (or are they functions?) are not called on the objects.

Because they don't depend on a given class, they're protocols. There's no "master class" in which to put them, so they go in some sort of bastardized CLOS-like generic method instead.
Speed, definitely. Although in defence Ive always found python very easy to "hack".

Writing a C extension to do computationally intensive work is fairly simple.

With its versatility and extensability I once threw together a proof of concept password cracking cluster in a week. Redis for queues/data, MySQL for data, hashing code in a C extension, flask for the web interface. Cross platform and lovely :-)

Threading is the only real let down for me.
Nice to see programmers.stackexchange.com being used for things like this. Hopefully it will put a rest to the same top comment on HN Stackoverflow stories complaining about how such questions are booted off Stackoverflow.com
It is rather arbitrary yeah, but I don't mind it. Len kind of makes sense as a function.
Should be pretty easy to write such an app, considering the design of pass is so simple.
> Not the one you replied to, but one thing that hits me as awkward is the default static behavior of variables.

There's no default anything, what you wrote sets "bar = 1" on the class itself, nothing more an nothing less, just as if you'd written:

Foo = type("Foo", (object,), {'bar': 1})

(in fact that's pretty much what the class statement is sugar for)

If you want to set it on the instance, set it on the instance.

Python's class context is a namespace like every other, you can do any computation you wish in there, and at the end the ``class`` statements collects all bindings of the namespace and sets them on the class.
Throwing everything in a single database file with a designated schema, YAML or whatever else, is exactly what I was trying to avoid.

Keep it simple. Single files are the way to go.
It's a camera for movie purposes, and for motion picture quality equipment, this is real cheap. As in, a typical 90 minute to 120 minute film will normally budget $20000+ just for the film stock [1], not even counting the costs of the camera equipment ( Panavision rents their gear for a grand a day, and the other film camera makers tend to cost at least 70 grand). Add in the changes for a low-quantity product, like black and white cinematography, and you start seeing this as an absolute bargain.

[1] http://www.matthewwagenknecht.com/the-actual-costs-of-film/
Bailing out the PBGC would have been far cheaper than bailing out the UAW.

Among other things, the PBGC only guarantees pensions to the tune of $45k/year with no benefits (unlike the UAW pensions).

http://www.pbgc.gov/wr/benefits/guaranteed-benefits.html
This name-dropping, panting puppy of an essay is pure garbage.

Did anyone else notice how many times the author mentioned free printing? Is it really that big a deal?

Perhaps MIT should adopt a new motto: "We offer free printing!!!"

And who cares who she dated or who she married? What self-indulgent tripe!

So MIT is more open than Harvard. Whoopdie fucking doo.

At lots of less "exclusive" universities access is really not an issue. They have open doors to their libraries, their buildings, and their classrooms to anyone who wants to drop by. There's no ID check except to check out library books or register for courses.

Is this really the best that can be said about MIT?
> Another response from a different source. Having to include self as a method argument means that those are not methods, but static functions.

This declaration makes no sense.

> This really means there isn't precisely methods at all

Of course there is:

>>> class Foo(object):
... def bar(self): return 42
...
>>> type(Foo().bar)
<type 'instancemethod'>
>>> m = Foo().bar
>>> m()
42

> If there is a valid reason for this, it would go a long way in explaining away one of the major reasons I dislike python.

I don't know (and don't really care) if you'll consider it "a valid reason", but here's GvR's reasoning: http://neopythonic.blogspot.be/2008/10/why-explicit-self-has...
Mostly it is the age old complaint, can't build something big in a dynamic language. The evidence is that I don't know of anything big in a dynamic language. Not exactly great points against python when the argument boils down to, "all dynamic languages are bad."
Functions don't magically become methods just because the language hid the "self" or "this" parameter. You're focusing on irrelevant details.
> The self parameters at least serve the purpose of deciding whether a function is a class function or object function.

No, it does not.
If you learn to like Python, you will learn to hate other languages. :)

The stdlib. It has some great parts and overall is just good enough (and desire to not break everyone's code) to not cause revolt and wholesale replacement.

FTPlib is atrocious.

httplib/urlib mess -> requests

os os.path, shutil subprocess is a ridiculous mish-mash of legacy, obscurity and surprising behavior. One example. os.mkdir (but only the leaf, and exception if it exists), want mkdir -p behavior. Is that an option to os.mkdir, fuck no! We need a whole new function for such dramatically different feature. Must be called mkdirs, fuck no! That would be too easy to remember and no one every look at our beautiful docs. os.makedirs is the obvious choice.
RailsBridge started its open workshop project in mid-2009 with curriculum and processes that are open source and can be used by anyone to teach any group.

Sarah Mei and I felt that we could change the ratio simply by teaching more women Ruby on Rails, we would have more women in our community, and we were right.

We agreed to make our first workshop open to people with any level of programming experience. (Men could come if they participated in the outreach and found a woman to sign up.)

We thought it would be hard to find women to attend our first workshop. We brainstormed for weeks about how to connect to various women's groups and corporate organizations. Then after two tweets and and one email, we had a waiting list in less than 24 hours. Over the last 3 years the pattern repeats itself, no matter where we have workshops, we consistently have waiting lists of women who want to attend. In SF, we have workshops every month, and routinely have 60 people (mostly women) on the waitlist.

Women do want to write code. We usually have 20% who have never coded before, but typically 50-70% self-identify as non-programmers. Are you a programmer if you just write SQL? does bash count as programming for a sys admin? does it could if you did COBOL 20 years ago, but you can't do any of the modern stuff? maybe you got a CS degree, but have never done more than a toy app? From a teaching perspective, if you answered yes to any of those questions, you are way ahead of the total beginners -- you understand variables and expressing logic in words and symbols.

We have diversity issues in tech, and it isn't just about gender and race. I believe those are just the most visible outward symptom of a problem where we have fairly homogeneous work and communication styles, as well as background and patterns of thinking. If we are going to solve the very real problems we have in this world (and many of those solutions will be facilitated with tech), we need all kinds of people. We need diversity of thought.

If you only have one kind of people on your team by a visible metric, you are likely to have much deeper diversity issues. Just because you have a woman or a person of color on the team doesn't necessarily mean you've solved your diversity problems.

I applaud the Boston folks for their success in their recent workshop. If you think that the language you develop in would be great for anyone/everyone to learn, you should do the same.
> "... python appears hacked together ..."

I had to extract that as a concise summation of my subjective view of the language as a whole. (Note: hacked != bad.)
My favourite critique of Python: http://www.quora.com/What-are-the-main-weaknesses-of-Python-...
Unfortunately, until there are mobile clients (using either Dropbox or git, I suppose), it's kind of a non-starter. I spend too much time on mobile devices now to not have that be a primary consideration. After using Keepass+Dropbox, I won't go to anything less convenient (and the problem-space doesn't intestate me to build a solution).